/**
 * ==========================================================
 * ABSENSIKU v1.0
 * Master Form Engine
 * File : assets/css/master.css
 * ==========================================================
 */

.master-form-page {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-form-page__hero {
    padding: 26px 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fafc 100%
        );
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-form-page__hero-main {
    display: grid;
    gap: 22px;
}

.master-form-page__back {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    color: #475569;
    font-size: 0.84rem;
    font-weight: 750;
    text-decoration: none;
}

.master-form-page__back:hover {
    color: #2563eb;
}

.master-form-page__heading {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.master-form-page__icon {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    place-items: center;
    border-radius: 17px;
    background: #e8efff;
    color: #1d4ed8;
    font-size: 1.1rem;
    font-weight: 850;
}

.master-form-page__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-form-page__title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.master-form-page__description {
    max-width: 720px;
    margin: 10px 0 0;
    color: #64748b;
    font-size: 0.96rem;
    line-height: 1.65;
}

.master-form-engine {
    display: grid;
    gap: 18px;
}

.master-form-section {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-form-section__header {
    padding: 21px 24px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-form-section__header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.018em;
}

.master-form-section__header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.55;
}

.master-form-section__grid {
    display: grid;
    grid-template-columns:
        repeat(
            var(--master-form-columns, 2),
            minmax(0, 1fr)
        );
    gap: 20px 22px;
    padding: 24px;
}

.master-form-field {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 8px;
}

.master-form-field--wide {
    grid-column: 1 / -1;
}

.master-form-field label {
    color: #1e293b;
    font-size: 0.8rem;
    font-weight: 750;
}

.master-form-field label span {
    color: #dc2626;
}

.master-form-field input,
.master-form-field select,
.master-form-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 11px;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
    outline: none;
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background 160ms ease;
}

.master-form-field input,
.master-form-field select {
    min-height: 46px;
    padding: 0 13px;
}

.master-form-field textarea {
    min-height: 116px;
    padding: 12px 13px;
    resize: vertical;
}

.master-form-field input::placeholder,
.master-form-field textarea::placeholder {
    color: #94a3b8;
}

.master-form-field input:hover,
.master-form-field select:hover,
.master-form-field textarea:hover {
    border-color: #94a3b8;
}

.master-form-field input:focus,
.master-form-field select:focus,
.master-form-field textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.11);
}

.master-form-field small {
    color: #64748b;
    font-size: 0.73rem;
    line-height: 1.5;
}

.master-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #ffffff;
}

.master-form-actions p {
    margin: 0;
    color: #64748b;
    font-size: 0.76rem;
}

.master-form-actions > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.master-form-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-form-button--secondary {
    border-color: #cbd5e1;
    background: #ffffff;
    color: #334155;
}

.master-form-button--secondary:hover {
    background: #f8fafc;
}

.master-form-button--primary {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.2);
}

.master-form-button--primary:hover {
    background: #1d4ed8;
}

@media (max-width: 780px) {
    .master-form-section__grid {
        grid-template-columns: 1fr;
    }

    .master-form-field--wide {
        grid-column: auto;
    }

    .master-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .master-form-actions > div {
        justify-content: flex-end;
    }
}

@media (max-width: 520px) {
    .master-form-page {
        gap: 16px;
    }

    .master-form-page__hero,
    .master-form-section__header,
    .master-form-section__grid,
    .master-form-actions {
        padding: 18px;
    }

    .master-form-page__heading {
        gap: 13px;
    }

    .master-form-page__icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 14px;
    }

    .master-form-actions > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .master-form-button {
        width: 100%;
    }
}


/* === MASTER DETAIL HERO ENGINE START ===
   Detail pages reuse the exact visual grammar of Master Form/Edit.
   =============================================================== */
.master-detail-hero__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.master-detail-hero__row .master-form-page__heading {
    min-width: 0;
    flex: 1 1 auto;
}

.master-detail-hero__action {
    flex: 0 0 auto;
    align-self: center;
}

/* Master Siswa summary color accents */
.master-student-page .master-student-summary,
.master-student-detail .master-student-detail__stats {
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 20px !important;
    background: #fff !important;
}

.master-student-page .master-student-summary > article,
.master-student-detail .master-student-detail__stats > article {
    position: relative !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-right: 1px solid #dfe5ee !important;
    background: #fff !important;
}

.master-student-page .master-student-summary > article:last-child,
.master-student-detail .master-student-detail__stats > article:last-child {
    border-right: 0 !important;
}

.master-student-page .master-student-summary > article::before,
.master-student-detail .master-student-detail__stats > article::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
}

.master-student-page .master-student-summary > article:nth-child(1)::before { background:#2563eb !important; }
.master-student-page .master-student-summary > article:nth-child(2)::before { background:#16a36a !important; }
.master-student-page .master-student-summary > article:nth-child(3)::before { background:#64748b !important; }
.master-student-page .master-student-summary > article:nth-child(4)::before { background:#0891b2 !important; }

.master-student-detail .master-student-detail__stats > article:nth-child(1)::before { background:#16a36a !important; }
.master-student-detail .master-student-detail__stats > article:nth-child(2)::before { background:#2563eb !important; }
.master-student-detail .master-student-detail__stats > article:nth-child(3)::before { background:#0891b2 !important; }
.master-student-detail .master-student-detail__stats > article:nth-child(4)::before { background:#64748b !important; }

@media (max-width: 760px) {
    .master-detail-hero__row {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* === MASTER DETAIL HERO ENGINE END === */


/* === CONSOLIDATED LEGACY MASTER MODULES START === */

/* ---- migrated from master-student.css ---- */

/**
 * ABSENSIKU v1.0
 * Master Student Modern
 */

.master-student-page,
.master-student-detail {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-student-hero,
.master-student-detail__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fafc 100%
        );
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-student-eyebrow,
.master-student-detail__hero small {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-student-hero h1,
.master-student-detail__hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 820;
    letter-spacing: -0.05em;
}

.master-student-hero p,
.master-student-detail__hero p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.master-student-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-student-button--primary {
    background: #2563eb;
    color: #fff;
}

.master-student-button--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

.master-student-summary,
.master-student-detail__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.master-student-summary article,
.master-student-detail__stats article {
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #fff;
}

.master-student-summary span,
.master-student-detail__stats span {
    color: #64748b;
    font-size: 0.76rem;
}

.master-student-summary strong,
.master-student-detail__stats strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.1;
}

.master-student-summary small {
    display: block;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 0.72rem;
}

.master-student-panel,
.master-student-detail__card {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-student-filter {
    display: grid;
    grid-template-columns:
        minmax(260px, 1fr)
        160px
        190px
        150px
        auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
}

.master-student-filter > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.master-student-filter label,
.master-student-list-header label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 750;
}

.master-student-filter input,
.master-student-filter select,
.master-student-list-header select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.master-student-filter__actions {
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
}

.master-student-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-student-list-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.master-student-list-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.master-student-list-header form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.master-student-table-wrap {
    overflow-x: auto;
}

.master-student-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.master-student-table th,
.master-student-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.master-student-table th {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.master-student-table td {
    color: #334155;
    font-size: 0.8rem;
}

.master-student-table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.master-student-identity {
    display: flex;
    align-items: center;
    gap: 11px;
}

.master-student-identity > span,
.master-student-detail__heading > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 13px;
    background: #e8efff;
    color: #1d4ed8;
    font-weight: 850;
}

.master-student-cell-main {
    color: #0f172a;
}

.master-student-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.master-student-badge--success {
    background: #dcfce7;
    color: #166534;
}

.master-student-badge--info {
    background: #dbeafe;
    color: #1d4ed8;
}

.master-student-badge--secondary {
    background: #e2e8f0;
    color: #475569;
}

.master-student-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.master-student-actions a,
.master-student-actions button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.master-student-actions form {
    margin: 0;
}

.master-student-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
}

.master-student-pagination a {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.master-student-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.master-student-empty {
    display: grid;
    place-items: center;
    padding: 52px 24px;
    text-align: center;
}

.master-student-empty > span {
    font-size: 2rem;
}

.master-student-empty h3 {
    margin: 12px 0 0;
    color: #0f172a;
}

.master-student-empty p {
    max-width: 520px;
    margin: 7px 0 18px;
    color: #64748b;
}

.master-student-detail__hero {
    align-items: center;
}

.master-student-detail__hero > a {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.master-student-detail__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.master-student-detail__heading > span {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 18px;
    font-size: 1.15rem;
}

.master-student-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.master-student-detail__card--wide {
    grid-column: 1 / -1;
}

.master-student-detail__card header {
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-student-detail__card header small {
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.master-student-detail__card header h2 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.master-student-detail__card dl {
    display: grid;
    margin: 0;
}

.master-student-detail__card dl > div {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    padding: 15px 22px;
    border-bottom: 1px solid #edf0f4;
}

.master-student-detail__card dt {
    color: #64748b;
    font-size: 0.75rem;
}

.master-student-detail__card dd {
    margin: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .master-student-filter {
        grid-template-columns: 1fr 1fr;
    }

    .master-student-filter__search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 800px) {
    .master-student-hero,
    .master-student-detail__hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-student-summary,
    .master-student-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .master-student-filter,
    .master-student-detail__grid {
        grid-template-columns: 1fr;
    }

    .master-student-filter__search,
    .master-student-detail__card--wide {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .master-student-summary,
    .master-student-detail__stats {
        grid-template-columns: 1fr;
    }

    .master-student-filter__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .master-student-button {
        width: 100%;
    }

    .master-student-detail__card dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}


/* === MASTER SISWA DETAIL FINAL FIX START ===
   Ditempatkan di master-student.css karena file ini pasti dimuat
   pada halaman Master Siswa Detail.
   ========================================================== */

/* HERO: samakan alur visual dengan Edit Profil Siswa */
.master-student-detail .master-student-reference-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "back back"
        "identity action" !important;
    align-items: center !important;
    gap: 26px 24px !important;
    padding: 34px 40px !important;
}

.master-student-detail .master-student-reference-hero__back {
    grid-area: back !important;
    display: inline-flex !important;
    width: fit-content !important;
    align-items: center !important;
    color: #334155 !important;
    font-size: 0.84rem !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.master-student-detail .master-student-reference-hero__content {
    grid-area: identity !important;
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 22px !important;
}

.master-student-detail .master-student-reference-hero__icon {
    display: grid !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    flex: 0 0 64px !important;
    place-items: center !important;
    border-radius: 20px !important;
    background: #e8efff !important;
    color: #1d4ed8 !important;
    font-size: 1.15rem !important;
    font-weight: 850 !important;
}

.master-student-detail .master-student-reference-hero__copy {
    min-width: 0 !important;
}

.master-student-detail .master-student-reference-hero__copy small {
    display: block !important;
    margin: 0 0 7px !important;
    color: #2563eb !important;
    font-size: 0.70rem !important;
    font-weight: 850 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.master-student-detail .master-student-reference-hero__copy h1 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
}

.master-student-detail .master-student-reference-hero__copy p {
    margin: 10px 0 0 !important;
    color: #64748b !important;
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
}

.master-student-detail .master-student-reference-hero__action {
    grid-area: action !important;
    align-self: center !important;
    justify-self: end !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    white-space: nowrap !important;
}

/* STATISTIK DETAIL: satu strip putih dengan aksen warna */
.master-student-detail .master-student-detail__stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05) !important;
}

.master-student-detail .master-student-detail__stats > article {
    position: relative !important;
    min-height: 108px !important;
    padding: 20px 22px 18px !important;
    border: 0 !important;
    border-right: 1px solid #dfe5ee !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.master-student-detail .master-student-detail__stats > article:last-child {
    border-right: 0 !important;
}

.master-student-detail .master-student-detail__stats > article::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: #2563eb !important;
}

.master-student-detail .master-student-detail__stats > article:nth-child(1)::before {
    background: #16a36a !important;
}

.master-student-detail .master-student-detail__stats > article:nth-child(2)::before {
    background: #2563eb !important;
}

.master-student-detail .master-student-detail__stats > article:nth-child(3)::before {
    background: #0891b2 !important;
}

.master-student-detail .master-student-detail__stats > article:nth-child(4)::before {
    background: #64748b !important;
}

/* STATISTIK INDEX: warna yang sebelumnya belum tampak */
.master-student-page .master-student-summary {
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05) !important;
}

.master-student-page .master-student-summary > article {
    position: relative !important;
    min-height: 112px !important;
    padding: 20px 26px 18px !important;
    border: 0 !important;
    border-right: 1px solid #dfe5ee !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.master-student-page .master-student-summary > article:last-child {
    border-right: 0 !important;
}

.master-student-page .master-student-summary > article::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
}

.master-student-page .master-student-summary > article:nth-child(1)::before {
    background: #2563eb !important;
}

.master-student-page .master-student-summary > article:nth-child(2)::before {
    background: #16a36a !important;
}

.master-student-page .master-student-summary > article:nth-child(3)::before {
    background: #64748b !important;
}

.master-student-page .master-student-summary > article:nth-child(4)::before {
    background: #0891b2 !important;
}

@media (max-width: 900px) {
    .master-student-detail .master-student-reference-hero {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "back"
            "identity"
            "action" !important;
        padding: 28px !important;
    }

    .master-student-detail .master-student-reference-hero__action {
        justify-self: start !important;
    }

    .master-student-detail .master-student-detail__stats,
    .master-student-page .master-student-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .master-student-detail .master-student-reference-hero__content {
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .master-student-detail .master-student-reference-hero__icon {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        flex-basis: 54px !important;
        border-radius: 17px !important;
    }

    .master-student-detail .master-student-detail__stats,
    .master-student-page .master-student-summary {
        grid-template-columns: 1fr !important;
    }
}

/* === MASTER SISWA DETAIL FINAL FIX END === */



/* ---- migrated from master-teacher.css ---- */

/**
 * ABSENSIKU v1.0
 * Master Teacher Modern
 */

.master-teacher-page,
.master-teacher-detail {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-teacher-hero,
.master-teacher-detail__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-teacher-eyebrow,
.master-teacher-detail__hero small {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-teacher-hero h1,
.master-teacher-detail__hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 820;
    letter-spacing: -0.05em;
}

.master-teacher-hero p,
.master-teacher-detail__hero p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.master-teacher-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-teacher-button--primary {
    background: #2563eb;
    color: #fff;
}

.master-teacher-button--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

.master-teacher-summary,
.master-teacher-detail__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.master-teacher-summary article,
.master-teacher-detail__stats article {
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #fff;
}

.master-teacher-summary span,
.master-teacher-detail__stats span {
    color: #64748b;
    font-size: 0.76rem;
}

.master-teacher-summary strong,
.master-teacher-detail__stats strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.1;
}

.master-teacher-summary small {
    display: block;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 0.72rem;
}

.master-teacher-panel,
.master-teacher-detail__card {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-teacher-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 180px auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
}

.master-teacher-filter > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.master-teacher-filter label,
.master-teacher-list-header label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 750;
}

.master-teacher-filter input,
.master-teacher-filter select,
.master-teacher-list-header select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.master-teacher-filter__actions {
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
}

.master-teacher-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-teacher-list-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.master-teacher-list-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.master-teacher-list-header form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.master-teacher-table-wrap {
    overflow-x: auto;
}

.master-teacher-table {
    width: 100%;
    min-width: 1080px;
    border-collapse: collapse;
}

.master-teacher-table th,
.master-teacher-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.master-teacher-table th {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.master-teacher-table td {
    color: #334155;
    font-size: 0.8rem;
}

.master-teacher-table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.master-teacher-identity {
    display: flex;
    align-items: center;
    gap: 11px;
}

.master-teacher-identity > span,
.master-teacher-detail__heading > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 13px;
    background: #e8efff;
    color: #1d4ed8;
    font-weight: 850;
}

.master-teacher-cell-main {
    color: #0f172a;
}

.master-teacher-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.master-teacher-badge--success {
    background: #dcfce7;
    color: #166534;
}

.master-teacher-badge--secondary {
    background: #e2e8f0;
    color: #475569;
}

.master-teacher-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.master-teacher-actions a,
.master-teacher-actions button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.master-teacher-actions form {
    margin: 0;
}

.master-teacher-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
}

.master-teacher-pagination a {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.master-teacher-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.master-teacher-empty {
    display: grid;
    place-items: center;
    padding: 52px 24px;
    text-align: center;
}

.master-teacher-empty > span {
    font-size: 2rem;
}

.master-teacher-empty h3 {
    margin: 12px 0 0;
    color: #0f172a;
}

.master-teacher-empty p {
    max-width: 520px;
    margin: 7px 0 18px;
    color: #64748b;
}

.master-teacher-detail__hero {
    align-items: center;
}

.master-teacher-detail__hero > a {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.master-teacher-detail__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.master-teacher-detail__heading > span {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 18px;
    font-size: 1.15rem;
}

.master-teacher-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.master-teacher-detail__card header {
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-teacher-detail__card header small {
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.master-teacher-detail__card header h2 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.master-teacher-detail__card dl {
    display: grid;
    margin: 0;
}

.master-teacher-detail__card dl > div {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    padding: 15px 22px;
    border-bottom: 1px solid #edf0f4;
}

.master-teacher-detail__card dt {
    color: #64748b;
    font-size: 0.75rem;
}

.master-teacher-detail__card dd {
    margin: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .master-teacher-filter {
        grid-template-columns: 1fr;
    }

    .master-teacher-detail__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .master-teacher-hero,
    .master-teacher-detail__hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-teacher-summary,
    .master-teacher-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .master-teacher-summary,
    .master-teacher-detail__stats {
        grid-template-columns: 1fr;
    }

    .master-teacher-filter__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .master-teacher-button {
        width: 100%;
    }

    .master-teacher-detail__card dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}


/* ---- migrated from master-supervisor.css ---- */

/**
 * ABSENSIKU v1.0
 * Master Supervisor Modern
 */

.master-supervisor-page,
.master-supervisor-detail {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-supervisor-hero,
.master-supervisor-detail__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-supervisor-eyebrow,
.master-supervisor-detail__hero small {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-supervisor-hero h1,
.master-supervisor-detail__hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 820;
    letter-spacing: -0.05em;
}

.master-supervisor-hero p,
.master-supervisor-detail__hero p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.master-supervisor-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-supervisor-button--primary {
    background: #2563eb;
    color: #fff;
}

.master-supervisor-button--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

.master-supervisor-summary,
.master-supervisor-detail__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.master-supervisor-summary article,
.master-supervisor-detail__stats article {
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #fff;
}

.master-supervisor-summary span,
.master-supervisor-detail__stats span {
    color: #64748b;
    font-size: 0.76rem;
}

.master-supervisor-summary strong,
.master-supervisor-detail__stats strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.1;
}

.master-supervisor-summary small {
    display: block;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 0.72rem;
}

.master-supervisor-panel,
.master-supervisor-detail__card {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-supervisor-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px 170px auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
}

.master-supervisor-filter > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.master-supervisor-filter label,
.master-supervisor-list-header label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 750;
}

.master-supervisor-filter input,
.master-supervisor-filter select,
.master-supervisor-list-header select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.master-supervisor-filter__actions {
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
}

.master-supervisor-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-supervisor-list-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.master-supervisor-list-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.master-supervisor-list-header form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.master-supervisor-table-wrap {
    overflow-x: auto;
}

.master-supervisor-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.master-supervisor-table th,
.master-supervisor-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.master-supervisor-table th {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.master-supervisor-table td {
    color: #334155;
    font-size: 0.8rem;
}

.master-supervisor-table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.master-supervisor-identity {
    display: flex;
    align-items: center;
    gap: 11px;
}

.master-supervisor-identity > span,
.master-supervisor-detail__heading > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 13px;
    background: #e8efff;
    color: #1d4ed8;
    font-weight: 850;
}

.master-supervisor-cell-main {
    color: #0f172a;
}

.master-supervisor-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.master-supervisor-badge--success {
    background: #dcfce7;
    color: #166534;
}

.master-supervisor-badge--secondary {
    background: #e2e8f0;
    color: #475569;
}

.master-supervisor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.master-supervisor-actions a,
.master-supervisor-actions button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.master-supervisor-actions form {
    margin: 0;
}

.master-supervisor-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
}

.master-supervisor-pagination a {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.master-supervisor-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.master-supervisor-empty {
    display: grid;
    place-items: center;
    padding: 52px 24px;
    text-align: center;
}

.master-supervisor-empty > span {
    font-size: 2rem;
}

.master-supervisor-empty h3 {
    margin: 12px 0 0;
    color: #0f172a;
}

.master-supervisor-empty p {
    max-width: 520px;
    margin: 7px 0 18px;
    color: #64748b;
}

.master-supervisor-detail__hero {
    align-items: center;
}

.master-supervisor-detail__hero > a {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.master-supervisor-detail__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.master-supervisor-detail__heading > span {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 18px;
    font-size: 1.15rem;
}

.master-supervisor-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.master-supervisor-detail__card header {
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-supervisor-detail__card header small {
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.master-supervisor-detail__card header h2 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.master-supervisor-detail__card dl {
    display: grid;
    margin: 0;
}

.master-supervisor-detail__card dl > div {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    padding: 15px 22px;
    border-bottom: 1px solid #edf0f4;
}

.master-supervisor-detail__card dt {
    color: #64748b;
    font-size: 0.75rem;
}

.master-supervisor-detail__card dd {
    margin: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

@media (max-width: 1040px) {
    .master-supervisor-filter {
        grid-template-columns: 1fr 1fr;
    }

    .master-supervisor-filter__search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 800px) {
    .master-supervisor-hero,
    .master-supervisor-detail__hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-supervisor-summary,
    .master-supervisor-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .master-supervisor-filter,
    .master-supervisor-detail__grid {
        grid-template-columns: 1fr;
    }

    .master-supervisor-filter__search {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .master-supervisor-summary,
    .master-supervisor-detail__stats {
        grid-template-columns: 1fr;
    }

    .master-supervisor-filter__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .master-supervisor-button {
        width: 100%;
    }

    .master-supervisor-detail__card dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}


/* ---- migrated from master-company.css ---- */

/**
 * ABSENSIKU v1.0
 * Master Company Modern
 */

.master-company-page,
.master-company-detail {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-company-hero,
.master-company-detail__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fafc 100%
        );
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-company-eyebrow,
.master-company-detail__hero small {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-company-hero h1,
.master-company-detail__hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 820;
    letter-spacing: -0.05em;
}

.master-company-hero p,
.master-company-detail__hero p {
    max-width: 700px;
    margin: 10px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.master-company-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-company-button--primary {
    background: #2563eb;
    color: #fff;
}

.master-company-button--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

.master-company-button--location {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.master-company-summary,
.master-company-detail__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.master-company-summary article,
.master-company-detail__stats article {
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #fff;
}

.master-company-summary span,
.master-company-detail__stats span {
    color: #64748b;
    font-size: 0.76rem;
}

.master-company-summary strong,
.master-company-detail__stats strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.7rem;
    line-height: 1;
}

.master-company-summary small,
.master-company-detail__stats small {
    display: block;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 0.72rem;
}

.master-company-panel,
.master-company-detail__card {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-company-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 180px 190px auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
}

.master-company-filter > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.master-company-filter label,
.master-company-list-header label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 750;
}

.master-company-filter input,
.master-company-filter select,
.master-company-list-header select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.master-company-filter__actions {
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
}

.master-company-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-company-list-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.master-company-list-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.master-company-list-header form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.master-company-table-wrap {
    overflow-x: auto;
}

.master-company-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
}

.master-company-table th,
.master-company-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.master-company-table th {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.master-company-table td {
    color: #334155;
    font-size: 0.8rem;
}

.master-company-table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.master-company-identity {
    display: flex;
    align-items: center;
    gap: 11px;
}

.master-company-identity > span,
.master-company-detail__heading > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 13px;
    background: #e8efff;
    color: #1d4ed8;
    font-weight: 850;
}

.master-company-identity strong,
.master-company-cell-main {
    color: #0f172a;
}

.master-company-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.master-company-badge--success {
    background: #dcfce7;
    color: #166534;
}

.master-company-badge--warning {
    background: #fef3c7;
    color: #92400e;
}

.master-company-badge--secondary {
    background: #e2e8f0;
    color: #475569;
}

.master-company-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.master-company-actions a,
.master-company-actions button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.master-company-actions form {
    margin: 0;
}

.master-company-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
}

.master-company-pagination a {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.master-company-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.master-company-empty {
    display: grid;
    place-items: center;
    padding: 52px 24px;
    text-align: center;
}

.master-company-empty > span {
    font-size: 2rem;
}

.master-company-empty h3 {
    margin: 12px 0 0;
    color: #0f172a;
}

.master-company-empty p {
    margin: 7px 0 18px;
    color: #64748b;
}

.master-company-location-tools {
    align-content: start;
}

.master-company-location-tools small[data-state="success"] {
    color: #15803d;
}

.master-company-location-tools small[data-state="danger"] {
    color: #b91c1c;
}

.master-company-map {
    min-height: 280px;
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 14px;
    background: #f8fafc;
}

.master-company-map > div {
    display: grid;
    min-height: 280px;
    place-items: center;
    padding: 24px;
    color: #64748b;
    text-align: center;
}

.master-company-map iframe {
    display: block;
    width: 100%;
    height: 320px;
    border: 0;
}

.master-company-detail__hero {
    align-items: center;
}

.master-company-detail__hero > a {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.master-company-detail__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.master-company-detail__heading > span {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 18px;
    font-size: 1.15rem;
}

.master-company-detail__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
    gap: 18px;
}

.master-company-detail__card header {
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-company-detail__card header small {
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.master-company-detail__card header h2 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.master-company-detail__card dl {
    display: grid;
    margin: 0;
}

.master-company-detail__card dl > div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    padding: 15px 22px;
    border-bottom: 1px solid #edf0f4;
}

.master-company-detail__card dt {
    color: #64748b;
    font-size: 0.75rem;
}

.master-company-detail__card dd {
    margin: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.master-company-detail__map {
    display: block;
    width: calc(100% - 44px);
    height: 300px;
    margin: 20px 22px 22px;
    border: 0;
    border-radius: 14px;
}

.master-company-detail__empty {
    display: grid;
    place-items: center;
    min-height: 360px;
    padding: 30px;
    text-align: center;
}

.master-company-detail__empty > span {
    font-size: 2.2rem;
}

.master-company-detail__empty h3 {
    margin: 12px 0 0;
}

.master-company-detail__empty p {
    max-width: 390px;
    color: #64748b;
}

@media (max-width: 1100px) {
    .master-company-filter {
        grid-template-columns: 1fr 1fr;
    }

    .master-company-filter__search {
        grid-column: 1 / -1;
    }

    .master-company-detail__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .master-company-hero,
    .master-company-detail__hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-company-summary,
    .master-company-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .master-company-filter {
        grid-template-columns: 1fr;
    }

    .master-company-filter__search {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .master-company-summary,
    .master-company-detail__stats {
        grid-template-columns: 1fr;
    }

    .master-company-filter__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .master-company-button {
        width: 100%;
    }

    .master-company-detail__card dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}


/* ---- migrated from master-internship.css ---- */

/**
 * ABSENSIKU v1.0
 * Master Internship Modern
 */

.master-internship-page,
.master-internship-detail {
    display: grid;
    gap: 22px;
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 36px;
}

.master-internship-hero,
.master-internship-detail__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 28px;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.master-internship-eyebrow,
.master-internship-detail__hero small {
    display: block;
    margin-bottom: 7px;
    color: #2563eb;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.master-internship-hero h1,
.master-internship-detail__hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 820;
    letter-spacing: -0.05em;
}

.master-internship-hero p,
.master-internship-detail__hero p {
    max-width: 760px;
    margin: 10px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.master-internship-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}

.master-internship-button--primary {
    background: #2563eb;
    color: #fff;
}

.master-internship-button--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

.master-internship-summary,
.master-internship-detail__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.master-internship-summary article,
.master-internship-detail__stats article {
    padding: 18px;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    background: #fff;
}

.master-internship-summary span,
.master-internship-detail__stats span {
    color: #64748b;
    font-size: 0.76rem;
}

.master-internship-summary strong,
.master-internship-detail__stats strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.55rem;
    line-height: 1.1;
}

.master-internship-summary small {
    display: block;
    margin-top: 7px;
    color: #94a3b8;
    font-size: 0.72rem;
}

.master-internship-panel,
.master-internship-detail__card {
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.master-internship-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px 180px auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
}

.master-internship-filter > div {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.master-internship-filter label,
.master-internship-list-header label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 750;
}

.master-internship-filter input,
.master-internship-filter select,
.master-internship-list-header select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
}

.master-internship-filter__actions {
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
}

.master-internship-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-internship-list-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
}

.master-internship-list-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.8rem;
}

.master-internship-list-header form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.master-internship-table-wrap {
    overflow-x: auto;
}

.master-internship-table {
    width: 100%;
    min-width: 1080px;
    border-collapse: collapse;
}

.master-internship-table th,
.master-internship-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.master-internship-table th {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.master-internship-table td {
    color: #334155;
    font-size: 0.8rem;
}

.master-internship-table small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.master-internship-identity {
    display: flex;
    align-items: center;
    gap: 11px;
}

.master-internship-identity > span,
.master-internship-detail__heading > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 13px;
    background: #e8efff;
    color: #1d4ed8;
    font-weight: 850;
}

.master-internship-cell-main {
    color: #0f172a;
}

.master-internship-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.master-internship-badge--success {
    background: #dcfce7;
    color: #166534;
}

.master-internship-badge--info {
    background: #dbeafe;
    color: #1d4ed8;
}

.master-internship-badge--secondary {
    background: #e2e8f0;
    color: #475569;
}

.master-internship-badge--danger {
    background: #fee2e2;
    color: #b91c1c;
}

.master-internship-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.master-internship-actions a,
.master-internship-actions button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.master-internship-actions form {
    margin: 0;
}

.master-internship-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
}

.master-internship-pagination a {
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 750;
    text-decoration: none;
}

.master-internship-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.master-internship-empty {
    display: grid;
    place-items: center;
    padding: 52px 24px;
    text-align: center;
}

.master-internship-empty > span {
    font-size: 2rem;
}

.master-internship-empty h3 {
    margin: 12px 0 0;
    color: #0f172a;
}

.master-internship-empty p {
    max-width: 520px;
    margin: 7px 0 18px;
    color: #64748b;
}

.master-internship-detail__hero {
    align-items: center;
}

.master-internship-detail__hero > a {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.master-internship-detail__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.master-internship-detail__heading > span {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 18px;
    font-size: 1.15rem;
}

.master-internship-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.master-internship-detail__card--wide {
    grid-column: 1 / -1;
}

.master-internship-detail__card header {
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf1;
    background: #fbfcfe;
}

.master-internship-detail__card header small {
    color: #2563eb;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.master-internship-detail__card header h2 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 1.05rem;
}

.master-internship-detail__card dl {
    display: grid;
    margin: 0;
}

.master-internship-detail__card dl > div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    padding: 15px 22px;
    border-bottom: 1px solid #edf0f4;
}

.master-internship-detail__card dt {
    color: #64748b;
    font-size: 0.75rem;
}

.master-internship-detail__card dd {
    margin: 0;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.master-internship-location {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 22px;
}

.master-internship-location > div {
    padding: 16px;
    border: 1px solid #dfe5ee;
    border-radius: 14px;
    background: #f8fafc;
}

.master-internship-location span {
    color: #64748b;
    font-size: 0.72rem;
}

.master-internship-location strong {
    display: block;
    margin-top: 7px;
    color: #0f172a;
}

@media (max-width: 1100px) {
    .master-internship-filter {
        grid-template-columns: 1fr 1fr;
    }

    .master-internship-filter__search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 800px) {
    .master-internship-hero,
    .master-internship-detail__hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-internship-summary,
    .master-internship-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .master-internship-filter,
    .master-internship-detail__grid {
        grid-template-columns: 1fr;
    }

    .master-internship-filter__search,
    .master-internship-detail__card--wide {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .master-internship-summary,
    .master-internship-detail__stats,
    .master-internship-location {
        grid-template-columns: 1fr;
    }

    .master-internship-filter__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .master-internship-button {
        width: 100%;
    }

    .master-internship-detail__card dl > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
}


.master-internship-location-warning {
    display: block;
    margin-top: 7px;
    font-size: 0.72rem;
    line-height: 1.5;
}

.master-internship-location-warning[data-state="success"] {
    color: #15803d;
}

.master-internship-location-warning[data-state="warning"] {
    color: #b45309;
}


/* === CONSOLIDATED LEGACY MASTER MODULES END === */


/* === MASTER UI CONTRACT V2 START ===
   Single source of truth for every Master page.
   Loaded LAST after ui-engine.css so Master UI cannot be overridden
   by historical global patches.
   =============================================================== */

:root {
    --master-font: var(--ui-font-family, Inter, system-ui, sans-serif);
    --master-page-max: 1180px;
    --master-gap: 22px;
    --master-title: 30px;
    --master-title-weight: 800;
    --master-body: 14px;
    --master-small: 12px;
    --master-eyebrow: 11px;
    --master-control: 46px;
    --master-radius: 20px;
    --master-card-radius: 18px;
    --master-border: #dfe5ee;
    --master-text: #0f172a;
    --master-muted: #64748b;
    --master-primary: #2563eb;
    --master-success: #16a36a;
    --master-neutral: #64748b;
    --master-info: #0891b2;
    --master-danger: #dc2626;
    --master-surface: #ffffff;
    --master-soft: #f8fafc;
    --master-shadow: 0 14px 34px rgba(15,23,42,.05);
}

/* All master pages inherit one typography system. */
[class*="master-"] { font-family: var(--master-font); }

/* Shared page width/rhythm for current legacy class names. */
:is(.master-user-page,.master-student-page,.master-teacher-page,.master-supervisor-page,.master-company-page,.master-internship-page,
    .master-student-detail,.master-teacher-detail,.master-supervisor-detail,.master-company-detail,.master-internship-detail,
    .master-page,.master-form-page) {
    width:100%; max-width:var(--master-page-max); margin:0 auto; padding-bottom:36px;
}

/* INDEX HERO — one visual contract */
:is(.master-user-hero,.master-student-hero,.master-teacher-hero,.master-supervisor-hero,.master-company-hero,.master-internship-hero) {
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
    padding:26px 28px; border:1px solid var(--master-border); border-radius:var(--master-radius);
    background:linear-gradient(135deg,#fff 0%,var(--master-soft) 100%); box-shadow:var(--master-shadow);
}
:is(.master-user-eyebrow,.master-student-eyebrow,.master-teacher-eyebrow,.master-supervisor-eyebrow,.master-company-eyebrow,.master-internship-eyebrow,.master-eyebrow,.master-form-page__eyebrow) {
    display:block; margin-bottom:7px; color:var(--master-primary); font-size:var(--master-eyebrow); font-weight:850; letter-spacing:.14em; text-transform:uppercase;
}
:is(.master-user-hero,.master-student-hero,.master-teacher-hero,.master-supervisor-hero,.master-company-hero,.master-internship-hero) h1,
.master-form-page__title {
    margin:0; color:var(--master-text); font-size:var(--master-title); line-height:1.12; font-weight:var(--master-title-weight); letter-spacing:-.035em;
}
:is(.master-user-hero,.master-student-hero,.master-teacher-hero,.master-supervisor-hero,.master-company-hero,.master-internship-hero) p,
.master-form-page__description { color:var(--master-muted); font-size:var(--master-body); line-height:1.6; }

/* Shared buttons */
:is(.master-user-button,.master-student-button,.master-teacher-button,.master-supervisor-button,.master-company-button,.master-internship-button,.master-button,.master-form-button) {
    display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 16px; border-radius:11px; font-size:13px; font-weight:780; text-decoration:none; cursor:pointer;
}
:is(.master-user-button--primary,.master-student-button--primary,.master-teacher-button--primary,.master-supervisor-button--primary,.master-company-button--primary,.master-internship-button--primary,.master-button--primary,.master-form-button--primary) {
    border:1px solid var(--master-primary); background:var(--master-primary); color:#fff;
}
:is(.master-user-button--secondary,.master-student-button--secondary,.master-teacher-button--secondary,.master-supervisor-button--secondary,.master-company-button--secondary,.master-internship-button--secondary,.master-form-button--secondary) {
    border:1px solid #cbd5e1; background:#fff; color:#334155;
}

/* SUMMARY — same frame + color language everywhere. */
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden;
    border:1px solid var(--master-border); border-radius:var(--master-radius); background:#fff; box-shadow:var(--master-shadow);
}
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > * {
    position:relative; min-height:108px; padding:20px 24px 18px; border:0; border-right:1px solid var(--master-border); border-radius:0; background:#fff; box-shadow:none;
}
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *:last-child { border-right:0; }
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *::before {
    content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--master-primary);
}
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *:nth-child(1)::before { background:var(--master-primary); }
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *:nth-child(2)::before { background:var(--master-success); }
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *:nth-child(3)::before { background:var(--master-neutral); }
:is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
    .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) > *:nth-child(4)::before { background:var(--master-info); }

/* Form/Edit is the golden hero grammar. Detail Siswa already reuses it. */
.master-form-page__hero { padding:26px 28px; border:1px solid var(--master-border); border-radius:var(--master-radius); background:linear-gradient(135deg,#fff 0%,var(--master-soft) 100%); box-shadow:var(--master-shadow); }
.master-form-page__hero-main { display:grid; gap:22px; }
.master-form-page__back { display:inline-flex; width:fit-content; align-items:center; gap:8px; color:#475569; font-size:13px; font-weight:750; text-decoration:none; }
.master-form-page__heading { display:flex; align-items:center; gap:18px; }
.master-form-page__icon { display:grid; width:54px; height:54px; flex:0 0 54px; place-items:center; border-radius:17px; background:#e8efff; color:#1d4ed8; font-size:17px; font-weight:850; }
.master-detail-hero__row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.master-detail-hero__row .master-form-page__heading { min-width:0; flex:1 1 auto; }
.master-detail-hero__action { flex:0 0 auto; }

/* Cards/forms/tables use shared radii and typography. */
:is(.master-form-section,.master-student-detail__card,.master-teacher-detail__card,.master-supervisor-detail__card,.master-company-detail__card,.master-internship-detail__card,.master-panel) {
    border:1px solid var(--master-border); border-radius:var(--master-card-radius); background:#fff; box-shadow:0 10px 26px rgba(15,23,42,.035);
}
.master-form-field label { font-size:13px; font-weight:750; color:#1e293b; }
.master-form-field input,.master-form-field select,.master-form-field textarea { font-size:14px; border-radius:11px; }
.master-form-field input,.master-form-field select { min-height:var(--master-control); }

@media (max-width:900px) {
    :is(.master-user-hero,.master-student-hero,.master-teacher-hero,.master-supervisor-hero,.master-company-hero,.master-internship-hero) { align-items:flex-start; flex-direction:column; }
    :is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
        .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    :root { --master-title:26px; }
    :is(.master-user-summary,.master-student-summary,.master-teacher-summary,.master-supervisor-summary,.master-company-summary,.master-internship-summary,
        .master-student-detail__stats,.master-teacher-detail__stats,.master-supervisor-detail__stats,.master-company-detail__stats,.master-internship-detail__stats) { grid-template-columns:1fr; }
    .master-detail-hero__row { align-items:flex-start; flex-direction:column; }
}
/* === MASTER UI CONTRACT V2 END === */
