:root {
    --ms-primary: #633FDA;
    --ms-primary-dark: #241B52;
    --ms-accent: #7C5CE8;

    --ms-bg: #f4f5f5;
    --ms-surface: #ffffff;
    --ms-border: #e1e1e0;

    --ms-text: #2f2f33;
    --ms-muted: #76727c;

    --ms-success: #24875d;
    --ms-warning: #c58a17;
    --ms-danger: #b63b4d;
    --ms-info: #4776a6;

    --ms-sidebar-width: 260px;
    --ms-sidebar-collapsed-width: 78px;

    --ms-radius: 14px;
    --ms-shadow: 0 8px 24px rgba(50, 35, 70, 0.07);
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family: Arial, Tahoma, sans-serif;
    background: var(--ms-bg);
    color: var(--ms-text);
}

html[lang="ar"] body {
    font-family: "Cairo", Arial, Tahoma, sans-serif;
}

.ms-app {
    display: flex;
    min-height: 100vh;
}


/* =========================================================
   Sidebar
   ========================================================= */

.ms-sidebar {
    width: var(--ms-sidebar-width);
    background: var(--ms-surface);
    border-inline-end: 1px solid var(--ms-border);

    display: flex;
    flex-direction: column;

    position: fixed;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;

    z-index: 1000;

    transition: width 0.25s ease;
}

.ms-sidebar-header {
    height: 92px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-bottom: 1px solid var(--ms-border);

    padding: 14px;
}

.ms-logo {
    max-width: 155px;
    max-height: 60px;
    object-fit: contain;
}

.ms-sidebar-menu {
    flex: 1;
    padding: 18px 12px;
    overflow-y: auto;
}

.ms-menu-section {
    font-size: 11px;
    color: var(--ms-muted);
    text-transform: uppercase;

    padding: 16px 14px 8px;

    letter-spacing: 0.7px;
}

html[lang="ar"] .ms-menu-section {
    text-transform: none;
    letter-spacing: 0;
}

.ms-menu-item {
    display: flex;
    align-items: center;

    gap: 12px;

    min-height: 46px;

    padding: 0 14px;
    margin-bottom: 5px;

    border-radius: 10px;

    text-decoration: none;

    color: var(--ms-text);

    font-size: 14px;

    transition: 0.2s ease;
}

.ms-menu-item:hover {
    background: #f7eff6;
    color: var(--ms-primary);
}

.ms-menu-item.active {
    background: var(--ms-primary);
    color: white;

    box-shadow:
        0 5px 15px rgba(110, 13, 94, 0.18);
}

.ms-menu-icon {
    width: 24px;

    text-align: center;

    font-size: 18px;

    flex-shrink: 0;
}

.ms-sidebar-footer {
    border-top: 1px solid var(--ms-border);
    padding: 14px;
}


/* =========================================================
   Main
   ========================================================= */

.ms-main {
    flex: 1;

    margin-inline-start: var(--ms-sidebar-width);

    min-width: 0;

    transition: margin 0.25s ease;
}


/* =========================================================
   Topbar
   ========================================================= */

.ms-topbar {
    height: 72px;

    background: var(--ms-surface);

    border-bottom: 1px solid var(--ms-border);

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 24px;

    position: sticky;
    top: 0;

    z-index: 900;
}

.ms-topbar-start,
.ms-topbar-end {
    display: flex;
    align-items: center;

    gap: 12px;
}

.ms-toggle-btn,
.ms-language-btn {
    height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--ms-border);

    background: white;

    border-radius: 9px;

    padding: 0 14px;

    cursor: pointer;

    color: var(--ms-text);

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    line-height: 1;

    transition: 0.2s ease;
}

.ms-toggle-btn:hover,
.ms-language-btn:hover {
    color: var(--ms-primary);

    border-color: var(--ms-primary);

    background: #fcf8fb;
}

.ms-language-btn {
    min-width: 82px;
}

html[lang="ar"] .ms-language-btn {
    font-family: Arial, Tahoma, sans-serif;
}

html[lang="en"] .ms-language-btn {
    font-family: "Cairo", Arial, Tahoma, sans-serif;
}

.ms-page-title {
    font-size: 18px;
    font-weight: 700;

    color: var(--ms-primary-dark);
}

.ms-user {
    display: flex;
    align-items: center;

    gap: 10px;

    padding-inline-start: 12px;
}

.ms-user-avatar {
    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--ms-primary);
    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: 700;
}

.ms-user-name {
    font-size: 14px;
    font-weight: 600;
}


/* =========================================================
   Content
   ========================================================= */

.ms-content {
    padding: 24px;
}

.ms-card {
    background: var(--ms-surface);

    border: 1px solid var(--ms-border);

    border-radius: var(--ms-radius);

    box-shadow: var(--ms-shadow);

    padding: 22px;
}

.ms-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 20px;
}

.ms-card-title {
    margin: 0;

    font-size: 20px;

    color: var(--ms-primary-dark);
}


/* =========================================================
   Buttons
   ========================================================= */

.ms-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 40px;

    padding: 0 16px;

    border-radius: 9px;

    border: 1px solid transparent;

    cursor: pointer;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
}

.ms-btn-primary {
    background: var(--ms-primary);
    color: white;
}

.ms-btn-primary:hover {
    background: var(--ms-accent);
}

.ms-btn-light {
    background: white;

    border-color: var(--ms-border);

    color: var(--ms-text);
}


/* =========================================================
   Tables
   ========================================================= */

.ms-table-wrapper {
    overflow-x: auto;
}

.ms-table {
    width: 100%;

    border-collapse: collapse;
}

.ms-table th {
    background: #f7f5f7;

    color: var(--ms-primary-dark);

    font-size: 13px;
    font-weight: 700;

    padding: 13px 14px;

    text-align: start;

    border-bottom: 1px solid var(--ms-border);
}

.ms-table td {
    padding: 13px 14px;

    border-bottom: 1px solid var(--ms-border);

    font-size: 14px;
}

.ms-table tbody tr:hover {
    background: #fcfafc;
}


/* =========================================================
   Empty State
   ========================================================= */

.ms-empty-state {
    padding: 60px 20px;

    text-align: center;

    color: var(--ms-muted);
}

.ms-empty-icon {
    font-size: 42px;

    color: var(--ms-primary);

    margin-bottom: 12px;
}


/* =========================================================
   Collapsed Sidebar
   ========================================================= */

body.ms-sidebar-collapsed .ms-sidebar {
    width: var(--ms-sidebar-collapsed-width);
}

body.ms-sidebar-collapsed .ms-main {
    margin-inline-start:
        var(--ms-sidebar-collapsed-width);
}

body.ms-sidebar-collapsed .ms-menu-text,
body.ms-sidebar-collapsed .ms-menu-section {
    display: none;
}

body.ms-sidebar-collapsed .ms-menu-item {
    justify-content: center;
    padding: 0;
}

body.ms-sidebar-collapsed .ms-logo {
    max-width: 52px;
}


/* =========================================================
   Arabic
   ========================================================= */

html[lang="ar"] .ms-menu-item,
html[lang="ar"] .ms-btn,
html[lang="ar"] .ms-table,
html[lang="ar"] .ms-page-title,
html[lang="ar"] .ms-card-title {
    font-family: "Cairo", Arial, Tahoma, sans-serif;
}

html[lang="ar"] .ms-menu-item {
    font-weight: 500;
}

html[lang="ar"] .ms-page-title,
html[lang="ar"] .ms-card-title {
    font-weight: 700;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 900px) {

    .ms-sidebar {
        transform: translateX(-100%);
        width: var(--ms-sidebar-width);
    }

    [dir="rtl"] .ms-sidebar {
        transform: translateX(100%);
    }

    body.ms-mobile-sidebar-open .ms-sidebar {
        transform: translateX(0);
    }

    .ms-main {
        margin-inline-start: 0;
    }

    .ms-content {
        padding: 16px;
    }

    .ms-user-name {
        display: none;
    }
}


/* =========================================================
   Executive Dashboard
   ========================================================= */

.ms-dashboard {
    display: flex;
    flex-direction: column;
    gap: 18px;
}


/* Hero */

.ms-dashboard-hero {
    min-height: 175px;

    position: relative;

    overflow: hidden;

    border-radius: 20px;

    padding: 30px 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: white;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255, 255, 255, 0.22),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            #241B52 0%,
            #633FDA 52%,
            #9a327f 100%
        );

    box-shadow:
        0 18px 45px rgba(80, 22, 73, 0.20);
}

.ms-dashboard-hero::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.06);

    inset-inline-end: -90px;
    top: -120px;
}

.ms-dashboard-hero-content {
    position: relative;
    z-index: 2;
}

.ms-dashboard-hero-content h1 {
    margin: 7px 0 8px;

    font-size: 31px;

    line-height: 1.25;
}

.ms-dashboard-hero-content p {
    margin: 0;

    opacity: 0.87;

    font-size: 14px;
}

.ms-hero-eyebrow {
    display: inline-flex;

    padding: 6px 11px;

    border-radius: 20px;

    background:
        rgba(255, 255, 255, 0.15);

    font-size: 12px;

    font-weight: 600;
}

.ms-hero-badge {
    position: relative;
    z-index: 2;

    min-width: 145px;

    text-align: center;

    padding: 20px;

    border:
        1px solid rgba(255, 255, 255, 0.24);

    background:
        rgba(255, 255, 255, 0.12);

    backdrop-filter: blur(10px);

    border-radius: 18px;
}

.ms-hero-badge-number {
    font-size: 39px;

    font-weight: 800;

    line-height: 1;
}


/* KPI */

.ms-kpi-grid {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 14px;
}

.ms-kpi-card {
    background: white;

    border: 1px solid var(--ms-border);

    border-radius: 16px;

    padding: 17px;

    display: flex;
    align-items: center;

    gap: 13px;

    min-height: 116px;

    box-shadow:
        0 7px 24px rgba(50, 35, 70, 0.055);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.ms-kpi-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 32px rgba(50, 35, 70, 0.10);
}

.ms-kpi-featured {
    background:
        linear-gradient(
            135deg,
            white,
            #f7fff9
        );
}

.ms-kpi-icon {
    width: 46px;
    height: 46px;

    border-radius: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 21px;

    flex-shrink: 0;
}

.ms-kpi-purple {
    background: #f1ddf7;
    color: #8d28ad;
}

.ms-kpi-pink {
    background: #ffe1f0;
    color: #da3686;
}

.ms-kpi-green {
    background: #dcf7ee;
    color: #19936c;
}

.ms-kpi-orange {
    background: #fff0d9;
    color: #d77d0d;
}

.ms-kpi-violet {
    background: #eee2ff;
    color: #7a35df;
}

.ms-kpi-blue {
    background: #e4edff;
    color: #396ed8;
}

.ms-kpi-teal {
    background: #daf6f2;
    color: #168b82;
}

.ms-kpi-content {
    min-width: 0;
}

.ms-kpi-content > span {
    display: block;

    color: var(--ms-muted);

    font-size: 12px;

    margin-bottom: 4px;
}

.ms-kpi-content > strong {
    display: block;

    color: var(--ms-primary-dark);

    font-size: 24px;

    line-height: 1.1;
}

.ms-kpi-content > strong small {
    font-size: 11px;
    font-weight: 600;
}

.ms-kpi-content > small {
    display: block;

    margin-top: 5px;

    color: var(--ms-muted);

    font-size: 10px;
}

.ms-positive {
    color: #16955e !important;

    font-weight: 700;
}


/* Grid */

.ms-dashboard-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.ms-dashboard-grid-two {
    grid-template-columns:
        0.95fr 1.55fr;
}

.ms-dashboard-grid-bottom {
    grid-template-columns:
        1fr 0.9fr 1fr;
}

.ms-dashboard-panel {
    background: white;

    border: 1px solid var(--ms-border);

    border-radius: 18px;

    padding: 18px;

    box-shadow:
        0 7px 25px rgba(50, 35, 70, 0.055);

    min-width: 0;
}

.ms-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 12px;

    margin-bottom: 15px;
}

.ms-panel-header h3 {
    margin: 0 0 3px;

    color: var(--ms-primary-dark);

    font-size: 16px;
}

.ms-panel-header p {
    margin: 0;

    font-size: 11px;

    color: var(--ms-muted);
}

.ms-panel-highlight {
    color: var(--ms-primary);

    font-size: 24px;
}


/* Charts */

.ms-chart-box {
    height: 220px;

    position: relative;
}

.ms-donut-layout {
    display: flex;

    align-items: center;

    gap: 25px;
}

.ms-donut-container {
    width: 190px;
    height: 190px;

    position: relative;

    flex-shrink: 0;
}

.ms-donut-center {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    pointer-events: none;
}

.ms-donut-center strong {
    font-size: 25px;

    color: var(--ms-primary-dark);
}

.ms-donut-center span {
    font-size: 11px;

    color: var(--ms-muted);
}

.ms-chart-legend {
    flex: 1;

    display: flex;
    flex-direction: column;

    gap: 14px;
}

.ms-chart-legend > div {
    display: grid;

    grid-template-columns:
        auto 1fr auto auto;

    gap: 8px;

    align-items: center;

    font-size: 12px;
}

.ms-chart-legend small {
    color: var(--ms-muted);
}

.ms-dot {
    width: 10px;
    height: 10px;

    border-radius: 50%;
}

.ms-dot-purple {
    background: var(--ms-primary);
}

.ms-dot-pink {
    background: #d9469a;
}


/* Sessions */

.ms-session-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    padding-top: 14px;
}

.ms-session-item {
    text-align: center;

    padding: 13px 8px;

    border-radius: 14px;

    background: #faf9fb;
}

.ms-session-icon {
    width: 42px;
    height: 42px;

    margin: 0 auto 10px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ms-session-item strong {
    display: block;

    font-size: 21px;

    color: var(--ms-primary-dark);
}

.ms-session-item span {
    display: block;

    margin-top: 2px;

    font-size: 11px;
}

.ms-session-item small {
    color: var(--ms-muted);

    font-size: 10px;
}


/* Finance */

.ms-finance-summary {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 8px;

    margin-bottom: 12px;
}

.ms-finance-summary > div {
    padding: 10px;

    border-radius: 12px;

    background: #faf8fa;

    border: 1px solid #f0ebef;
}

.ms-finance-summary span {
    display: block;

    font-size: 10px;

    color: var(--ms-muted);

    margin-bottom: 4px;
}

.ms-finance-summary strong {
    font-size: 16px;

    color: var(--ms-primary-dark);
}

.ms-finance-summary small {
    margin-inline-start: 3px;

    color: var(--ms-muted);

    font-size: 9px;
}

.ms-finance-net {
    background:
        linear-gradient(
            135deg,
            #f4e8f2,
            #fff
        ) !important;

    border-color: #ead4e5 !important;
}

.ms-finance-net strong {
    color: var(--ms-primary);
}

.ms-finance-chart {
    height: 205px;
}


/* Specialists */

.ms-specialists-list {
    display: flex;

    flex-direction: column;

    gap: 8px;
}

.ms-specialist-row {
    display: grid;

    grid-template-columns:
        38px 1fr auto;

    gap: 10px;

    align-items: center;

    padding: 8px;

    border-radius: 12px;

    transition: background 0.2s ease;
}

.ms-specialist-row:hover {
    background: #fbf8fb;
}

.ms-specialist-avatar {
    width: 38px;
    height: 38px;

    border-radius: 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eee1f2;

    color: var(--ms-primary);

    font-weight: 700;
}

.ms-specialist-info strong {
    display: block;

    font-size: 12px;

    color: var(--ms-primary-dark);
}

.ms-specialist-info span {
    display: block;

    font-size: 10px;

    color: var(--ms-muted);

    margin-top: 2px;
}

.ms-specialist-score {
    text-align: center;
}

.ms-specialist-score strong {
    display: block;

    color: var(--ms-primary-dark);
}

.ms-specialist-score span {
    font-size: 9px;

    color: var(--ms-muted);
}

.ms-progress {
    height: 4px;

    border-radius: 10px;

    overflow: hidden;

    background: #eee;

    margin-top: 6px;
}

.ms-progress-value {
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            var(--ms-primary),
            #c3459c
        );
}


/* Satisfaction */

.ms-satisfaction {
    display: grid;

    grid-template-columns:
        145px 1fr;

    gap: 18px;

    align-items: center;

    padding-top: 10px;
}

.ms-satisfaction-score {
    width: 140px;
    height: 140px;

    border-radius: 50%;

    border: 15px solid #daf5e8;

    box-shadow:
        inset 0 0 0 6px #28a66d;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;
}

.ms-satisfaction-score strong {
    font-size: 29px;

    color: var(--ms-primary-dark);
}

.ms-satisfaction-score span {
    font-size: 10px;

    color: var(--ms-muted);
}

.ms-stars {
    color: #f2ad19;

    font-size: 12px;

    margin-top: 4px;
}

.ms-rating-bars {
    display: flex;

    flex-direction: column;

    gap: 8px;
}

.ms-rating-bars > div {
    display: grid;

    grid-template-columns:
        30px 1fr 35px;

    gap: 7px;

    align-items: center;

    font-size: 10px;
}

.ms-rating-track {
    height: 7px;

    background: #edf0f2;

    border-radius: 20px;

    overflow: hidden;
}

.ms-rating-track i {
    display: block;

    height: 100%;

    background: #24a76c;

    border-radius: inherit;
}


/* Activity */

.ms-activity-list {
    display: flex;

    flex-direction: column;

    gap: 4px;
}

.ms-activity-row {
    display: grid;

    grid-template-columns:
        11px 1fr auto;

    gap: 9px;

    align-items: center;

    padding: 7px 0;

    border-bottom: 1px solid #f1eeee;
}

.ms-activity-row:last-child {
    border-bottom: 0;
}

.ms-activity-dot {
    width: 9px;
    height: 9px;

    border-radius: 50%;
}

.ms-activity-admission {
    background: #8b41bb;
}

.ms-activity-session {
    background: #1b9b91;
}

.ms-activity-parent {
    background: #e87f24;
}

.ms-activity-payment {
    background: #249f67;
}

.ms-activity-alert {
    background: #de4d64;
}

.ms-activity-info strong {
    display: block;

    font-size: 11px;

    color: var(--ms-primary-dark);
}

.ms-activity-info span {
    display: block;

    font-size: 9px;

    color: var(--ms-muted);

    margin-top: 2px;
}

.ms-activity-row > small {
    font-size: 9px;

    white-space: nowrap;

    color: var(--ms-muted);
}


/* Quote */

.ms-dashboard-quote {
    min-height: 75px;

    border-radius: 18px;

    padding: 16px 28px;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: 15px;

    background:
        linear-gradient(
            90deg,
            #fdeaf3,
            #fbf1fa,
            #f0e8f6
        );

    color: var(--ms-primary);
}

.ms-dashboard-quote > span {
    font-size: 42px;

    opacity: 0.45;
}

.ms-dashboard-quote strong {
    font-style: italic;
}

.ms-dashboard-quote > div {
    font-weight: 800;

    font-size: 17px;
}


/* Responsive Dashboard */

@media (max-width: 1400px) {

    .ms-kpi-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .ms-dashboard-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .ms-dashboard-grid-bottom {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 1000px) {

    .ms-kpi-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .ms-dashboard-grid,
    .ms-dashboard-grid-two,
    .ms-dashboard-grid-bottom {
        grid-template-columns: 1fr;
    }

    .ms-finance-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 650px) {

    .ms-dashboard-hero {
        padding: 24px;

        flex-direction: column;

        align-items: flex-start;

        gap: 20px;
    }

    .ms-dashboard-hero-content h1 {
        font-size: 24px;
    }

    .ms-hero-badge {
        width: 100%;
    }

    .ms-kpi-grid {
        grid-template-columns: 1fr;
    }

    .ms-session-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .ms-satisfaction {
        grid-template-columns: 1fr;

        justify-items: center;
    }

    .ms-donut-layout {
        flex-direction: column;

        height: auto;
    }

    .ms-chart-box {
        height: 250px;
    }

    .ms-finance-summary {
        grid-template-columns: 1fr 1fr;
    }

    .ms-dashboard-quote {
        grid-template-columns:
            auto 1fr;
    }

    .ms-dashboard-quote > div {
        grid-column: 2;
    }
}

/* =========================================================
   Unified Lists / Filters
   ========================================================= */

.ms-list-subtitle {
    margin-top: 5px;
    font-size: 12px;
    color: var(--ms-muted);
}


/* Filter Bar */

.ms-filter-bar {
    display: grid;

    grid-template-columns:
        minmax(250px, 1.5fr)
        minmax(180px, 0.8fr)
        minmax(160px, 0.7fr)
        auto;

    gap: 12px;

    align-items: end;

    padding: 16px;

    margin-bottom: 15px;

    border: 1px solid #eee7ed;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #fcfafc,
            #fafafa
        );
}

.ms-filter-field,
.ms-filter-search {
    min-width: 0;
}

.ms-filter-field label,
.ms-filter-search label {
    display: block;

    margin-bottom: 7px;

    font-size: 11px;

    font-weight: 700;

    color: var(--ms-primary-dark);
}


.ms-filter-field select,
.ms-search-input-wrap {
    width: 100%;

    height: 42px;

    border: 1px solid var(--ms-border);

    border-radius: 10px;

    background: white;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.ms-filter-field select {
    padding: 0 11px;

    color: var(--ms-text);

    outline: none;

    font-family: inherit;
}


.ms-search-input-wrap {
    display: flex;

    align-items: center;

    gap: 8px;

    padding: 0 11px;
}

.ms-search-input-wrap span {
    color: var(--ms-muted);

    font-size: 18px;
}

.ms-search-input-wrap input {
    flex: 1;

    min-width: 0;

    border: 0;

    outline: 0;

    background: transparent;

    color: var(--ms-text);

    font-family: inherit;

    font-size: 13px;
}


.ms-filter-field select:focus,
.ms-search-input-wrap:focus-within {
    border-color: var(--ms-primary);

    box-shadow:
        0 0 0 3px rgba(110, 13, 94, 0.08);
}


.ms-filter-actions {
    display: flex;

    gap: 7px;
}


/* List Summary */

.ms-list-summary {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 12px;

    margin-bottom: 12px;

    color: var(--ms-muted);

    font-size: 12px;
}

.ms-list-summary strong {
    color: var(--ms-primary-dark);
}


.ms-unified-badge {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 6px 10px;

    border-radius: 20px;

    background: #f4e8f2;

    color: var(--ms-primary);

    font-size: 10px;

    font-weight: 700;
}


/* Admission Table */

.ms-table-code {
    color: var(--ms-primary);

    white-space: nowrap;
}


.ms-student-cell {
    display: flex;

    align-items: center;

    gap: 9px;
}

.ms-student-mini-avatar {
    width: 32px;
    height: 32px;

    border-radius: 9px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background:
        linear-gradient(
            135deg,
            #eee1f2,
            #f9e8f3
        );

    color: var(--ms-primary);

    font-weight: 800;
}


.ms-branch-pill {
    display: inline-flex;

    align-items: center;

    min-height: 27px;

    padding: 0 9px;

    border-radius: 20px;

    background: #f2f3f4;

    color: #55515b;

    font-size: 11px;

    white-space: nowrap;
}


/* Status */

.ms-status-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 27px;

    padding: 0 10px;

    border-radius: 20px;

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;
}


.ms-status-new {
    background: #eee5fa;
    color: #7441a0;
}

.ms-status-under_review {
    background: #e6f0ff;
    color: #3569a8;
}

.ms-status-waitlisted {
    background: #fff0d9;
    color: #a66a11;
}

.ms-status-accepted {
    background: #dcf5e9;
    color: #21835d;
}

.ms-status-rejected {
    background: #fde4e8;
    color: #ac4050;
}

.ms-status-cancelled {
    background: #eeeeef;
    color: #66636a;
}

.ms-status-enrolled {
    background: #e1f5f2;
    color: #197d75;
}


/* Arabic */

html[lang="ar"] .ms-filter-bar,
html[lang="ar"] .ms-filter-bar input,
html[lang="ar"] .ms-filter-bar select,
html[lang="ar"] .ms-status-badge,
html[lang="ar"] .ms-branch-pill {
    font-family: "Cairo", Arial, Tahoma, sans-serif;
}


/* Responsive */

@media (max-width: 1100px) {

    .ms-filter-bar {
        grid-template-columns:
            1fr 1fr;
    }

}


@media (max-width: 650px) {

    .ms-filter-bar {
        grid-template-columns: 1fr;
    }

    .ms-filter-actions {
        width: 100%;
    }

    .ms-filter-actions .ms-btn {
        flex: 1;
    }

    .ms-list-summary {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* ================================================================
   NEW ADMISSION
   ================================================================ */

.ms-admission-create-page {
    max-width: 1280px;
    margin: 0 auto;
    padding-bottom: 42px;
}

.ms-admission-create-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.ms-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: #633FDA;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.ms-back-link:hover {
    text-decoration: underline;
}

.ms-page-eyebrow {
    margin-bottom: 6px;
    color: #7C5CE8;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ms-admission-create-header h1 {
    margin: 0 0 7px;
    color: #241B52;
    font-size: 31px;
    line-height: 1.2;
}

.ms-admission-create-header p {
    margin: 0;
    color: #737078;
    font-size: 14px;
}

.ms-create-header-badge {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 245px;
    padding: 16px 18px;
    border: 1px solid #eadfea;
    border-radius: 16px;
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #faf6fa 100%
    );
}

.ms-create-header-badge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #633FDA;
    color: #ffffff;
    font-size: 20px;
}

.ms-create-header-badge strong,
.ms-create-header-badge small {
    display: block;
}

.ms-create-header-badge strong {
    color: #241B52;
    font-size: 13px;
}

.ms-create-header-badge small {
    margin-top: 2px;
    color: #807b82;
    font-size: 11px;
}


/* Alert */

.ms-form-alert {
    display: flex;
    gap: 13px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 14px;
}

.ms-form-alert-error {
    border: 1px solid #efc9cf;
    background: #fff5f6;
    color: #852c3d;
}

.ms-form-alert-icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #a64254;
    color: #ffffff;
    font-weight: 800;
}

.ms-form-alert strong {
    font-size: 13px;
}

.ms-form-alert ul {
    margin: 7px 0 0;
    padding-inline-start: 19px;
    font-size: 12px;
}


/* Form sections */

.ms-admission-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ms-form-section {
    padding: 26px;
    border: 1px solid #e7e5e7;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 5px 22px rgba(50, 35, 70, 0.035);
}

.ms-form-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 25px;
    padding-bottom: 18px;
    border-bottom: 1px solid #efedef;
}

.ms-form-section-number {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: #f2e8f0;
    color: #633FDA;
    font-size: 12px;
    font-weight: 800;
}

.ms-form-section-heading h2 {
    margin: 1px 0 4px;
    color: #241B52;
    font-size: 17px;
}

.ms-form-section-heading p {
    margin: 0;
    color: #858087;
    font-size: 12px;
}


/* Grid */

.ms-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ms-field-span-2 {
    grid-column: span 2;
}

.ms-field-span-4 {
    grid-column: span 4;
}


/* Fields */

.ms-form-field {
    min-width: 0;
}

.ms-form-field label {
    display: block;
    margin-bottom: 7px;
    color: #4f4854;
    font-size: 12px;
    font-weight: 700;
}

.ms-required {
    color: #a32945;
}

.ms-form-field input,
.ms-form-field select,
.ms-form-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dcd8dd;
    border-radius: 10px;
    outline: none;
    background: #ffffff;
    color: #322f34;
    font: inherit;
    font-size: 13px;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease;
}

.ms-form-field input,
.ms-form-field select {
    height: 44px;
    padding: 0 12px;
}

.ms-form-field textarea {
    min-height: 88px;
    padding: 11px 12px;
    resize: vertical;
}

.ms-form-field input:focus,
.ms-form-field select:focus,
.ms-form-field textarea:focus {
    border-color: #7C5CE8;
    box-shadow: 0 0 0 3px rgba(127, 42, 110, 0.09);
}

.ms-form-field input:hover,
.ms-form-field select:hover,
.ms-form-field textarea:hover {
    border-color: #c7bec8;
}

.ms-field-warning {
    display: block;
    margin-top: 7px;
    color: #a16b1a;
    font-size: 11px;
    font-weight: 600;
}


/* Guardian options */

.ms-guardian-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 23px;
    padding-top: 21px;
    border-top: 1px solid #efedef;
}

.ms-option-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 70px;
    padding: 13px 14px;
    border: 1px solid #dfd9df;
    border-radius: 13px;
    background: #fbfbfb;
    cursor: pointer;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.15s ease;
}

.ms-option-card:hover {
    border-color: #c9b2c5;
    background: #fdfafd;
    transform: translateY(-1px);
}

.ms-option-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ms-option-check {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 1.5px solid #bcb4bd;
    border-radius: 6px;
    background: #ffffff;
}

.ms-option-card input:checked + .ms-option-check {
    border-color: #633FDA;
    background: #633FDA;
}

.ms-option-card input:checked + .ms-option-check::after {
    content: "✓";
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.ms-option-card:has(input:checked) {
    border-color: #d1bad0;
    background: #faf5fa;
}

.ms-option-content strong,
.ms-option-content small {
    display: block;
}

.ms-option-content strong {
    color: #433a46;
    font-size: 12px;
}

.ms-option-content small {
    margin-top: 3px;
    color: #8b858d;
    font-size: 10px;
}


/* Actions */

.ms-form-actions {
    position: sticky;
    bottom: 12px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e5e2e5;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 30px rgba(50, 35, 70, 0.08);
    backdrop-filter: blur(10px);
}

.ms-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    text-decoration: none;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.ms-btn-secondary {
    border: 1px solid #ddd8de;
    background: #ffffff;
    color: #554d58;
}

.ms-btn-primary {
    background: #633FDA;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(110, 13, 94, 0.18);
}

.ms-btn-primary:hover {
    background: #5f0b51;
}

.ms-btn-secondary:hover {
    background: #f6f5f6;
}


/* RTL */

html[dir="rtl"] .ms-back-link span {
    transform: rotate(180deg);
}


/* Responsive */

@media (max-width: 1050px) {

    .ms-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ms-field-span-4 {
        grid-column: span 2;
    }

}

@media (max-width: 760px) {

    .ms-admission-create-header {
        align-items: stretch;
        flex-direction: column;
    }

    .ms-create-header-badge {
        min-width: 0;
    }

    .ms-form-section {
        padding: 19px;
    }

    .ms-form-grid {
        grid-template-columns: 1fr;
    }

    .ms-field-span-2,
    .ms-field-span-4 {
        grid-column: span 1;
    }

    .ms-guardian-options {
        grid-template-columns: 1fr;
    }

    .ms-form-actions {
        justify-content: stretch;
    }

    .ms-form-actions .ms-btn {
        flex: 1;
    }

}

/* =========================================================
   Admission Path Selector
   ========================================================= */

.admission-path-section {
    margin-bottom: 24px;
}

.admission-path-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.admission-path-heading h2 {
    margin: 0 0 5px;
    color: #241B52;
    font-size: 1.1rem;
    font-weight: 700;
}

.admission-path-heading p {
    margin: 0;
    color: #737078;
    font-size: 0.9rem;
}

.admission-path-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admission-path-card {
    position: relative;
    display: block;
    cursor: pointer;
}

.admission-path-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.admission-path-card-content {
    display: flex;
    min-height: 185px;
    flex-direction: column;
    padding: 22px;
    border: 2px solid #e7e3e8;
    border-radius: 18px;
    background: #fff;
    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.admission-path-card:hover .admission-path-card-content {
    transform: translateY(-2px);
    border-color: #cdbdca;
    box-shadow: 0 10px 28px rgba(50, 35, 70, 0.08);
}

.admission-path-card input:checked
+ .admission-path-card-content {
    border-color: #633FDA;
    box-shadow: 0 0 0 3px rgba(110, 13, 94, 0.08);
}

.admission-path-card input:checked
+ .admission-path-card-content::after {
    content: "✓";
    position: absolute;
    top: 16px;
    inset-inline-end: 16px;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #633FDA;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}

.admission-path-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 13px;
    background: #f3edf2;
    color: #633FDA;
    font-size: 1.35rem;
    font-weight: 700;
}

.admission-path-title {
    margin-bottom: 6px;
    color: #241B52;
    font-size: 1.05rem;
    font-weight: 700;
}

.admission-path-subtitle {
    color: #747078;
    font-size: 0.88rem;
    line-height: 1.7;
}

.admission-path-flow {
    margin-top: auto;
    padding-top: 16px;
    color: #7C5CE8;
    font-size: 0.78rem;
    font-weight: 600;
}

.authority-path-notice {
    margin-top: 16px;
    padding: 14px 17px;
    border-inline-start: 4px solid #633FDA;
    border-radius: 10px;
    background: #f8f2f7;
    color: #4e3b4b;
    font-size: 0.87rem;
    line-height: 1.8;
}

.authority-path-notice[hidden] {
    display: none;
}

@media (max-width: 760px) {
    .admission-path-grid {
        grid-template-columns: 1fr;
    }

    .admission-path-card-content {
        min-height: 165px;
    }
}

/* =========================================================
   Admission Path
   ========================================================= */

.ms-admission-path-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ms-admission-path-card {
    display: block;
    position: relative;
    cursor: pointer;
}

.ms-admission-path-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ms-admission-path-card-body {
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 22px;
    border: 2px solid #e7e1e7;
    border-radius: 18px;
    background: #ffffff;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.ms-admission-path-card:hover
.ms-admission-path-card-body {
    transform: translateY(-2px);
    border-color: #cdbdca;
    box-shadow: 0 12px 28px rgba(50, 35, 70, .08);
}

.ms-admission-path-card input:checked
+ .ms-admission-path-card-body {
    border-color: #633FDA;
    background: #fdfafd;
    box-shadow: 0 0 0 4px rgba(110, 13, 94, .07);
}

.ms-admission-path-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.ms-admission-path-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #f4edf3;
    color: #633FDA;
    font-weight: 800;
}

.ms-admission-path-check {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e7e1e7;
    color: transparent;
    font-size: 13px;
    font-weight: 800;
}

.ms-admission-path-card input:checked
+ .ms-admission-path-card-body
.ms-admission-path-check {
    background: #633FDA;
    color: #ffffff;
}

.ms-admission-path-card-body > strong {
    color: #241B52;
    font-size: 17px;
    margin-bottom: 7px;
}

.ms-admission-path-description {
    color: #747078;
    font-size: 13px;
    line-height: 1.8;
}

.ms-admission-path-flow {
    margin-top: auto;
    padding-top: 18px;
    color: #7C5CE8;
    font-size: 12px;
    font-weight: 700;
}

.ms-authority-path-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 18px;
    padding: 16px 18px;
    border-inline-start: 4px solid #633FDA;
    border-radius: 12px;
    background: #f8f2f7;
    color: #493b48;
    line-height: 1.8;
}

.ms-authority-path-notice[hidden] {
    display: none;
}

.ms-authority-notice-icon {
    flex: 0 0 auto;
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #633FDA;
    color: #ffffff;
    font-weight: 800;
}

.ms-authority-path-notice p {
    margin: 5px 0;
    font-size: 13px;
}

.ms-authority-path-notice small {
    display: block;
    color: #633FDA;
    font-weight: 700;
}

@media (max-width: 760px) {
    .ms-admission-path-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Admission / Authority File
   ========================================================= */

.ms-admission-file-page {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ms-admission-file-header {
    padding: 8px 4px;
}

.ms-admission-file-back {
    display: inline-block;
    margin-bottom: 18px;
    color: #7C5CE8;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.ms-admission-file-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.ms-admission-file-eyebrow,
.ms-authority-section-kicker {
    display: block;
    margin-bottom: 5px;
    color: #7C5CE8;
    font-size: 12px;
    font-weight: 800;
}

.ms-admission-file-title-row h1 {
    margin: 0;
    color: #241B52;
    font-size: 32px;
}

.ms-admission-file-title-row p {
    margin: 7px 0 0;
    color: #89828b;
}

.ms-file-path-badge,
.ms-current-stage-badge {
    padding: 9px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.ms-file-path-badge.authority,
.ms-current-stage-badge {
    background: #f4e9f2;
    color: #633FDA;
}

.ms-file-path-badge.private {
    background: #f0f2f1;
    color: #241B52;
}

.ms-file-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ms-file-summary-card {
    padding: 18px;
    border: 1px solid #ebe7eb;
    border-radius: 16px;
    background: #fff;
}

.ms-file-summary-card span {
    display: block;
    margin-bottom: 7px;
    color: #8b858d;
    font-size: 12px;
}

.ms-file-summary-card strong {
    color: #241B52;
    font-size: 14px;
}

.ms-authority-file-section {
    padding: 26px;
    border: 1px solid #e8e4e8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(50, 35, 70, .04);
}

.ms-authority-file-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom: 1px solid #eee9ee;
}

.ms-authority-file-section-heading h2 {
    margin: 0;
    color: #241B52;
    font-size: 20px;
}

.ms-authority-file-section-heading p {
    margin: 7px 0 0;
    color: #858087;
    font-size: 13px;
}

.ms-workflow-timeline {
    display: grid;
    grid-template-columns: repeat(7, minmax(100px, 1fr));
    margin-top: 28px;
    overflow-x: auto;
}

.ms-workflow-stage {
    position: relative;
    min-width: 110px;
    text-align: center;
}

.ms-workflow-stage:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 17px;
    inset-inline-start: 50%;
    width: 100%;
    height: 2px;
    background: #e7e2e7;
}

.ms-workflow-stage-completed:not(:last-child)::before {
    background: #7C5CE8;
}

.ms-workflow-stage-marker {
    position: relative;
    z-index: 2;
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    margin: 0 auto 11px;
    border-radius: 50%;
    background: #eee9ee;
    color: #8c858d;
    font-size: 11px;
    font-weight: 800;
}

.ms-workflow-stage-completed .ms-workflow-stage-marker,
.ms-workflow-stage-current .ms-workflow-stage-marker {
    background: #633FDA;
    color: #fff;
}

.ms-workflow-stage-current .ms-workflow-stage-marker {
    box-shadow: 0 0 0 6px rgba(110, 13, 94, .10);
}

.ms-workflow-stage-content strong {
    display: block;
    color: #403442;
    font-size: 11px;
    line-height: 1.6;
}

.ms-workflow-stage-content span {
    display: block;
    margin-top: 3px;
    color: #7C5CE8;
    font-size: 9px;
    font-weight: 700;
}

.ms-documents-coming-next {
    display: flex;
    min-height: 190px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px;
    border: 1px dashed #d8cad5;
    border-radius: 16px;
    background: #fdfafd;
    text-align: center;
}

.ms-documents-coming-next > div {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f2e8f0;
    color: #633FDA;
    font-size: 22px;
}

.ms-documents-coming-next strong {
    color: #241B52;
}

.ms-documents-coming-next span {
    max-width: 520px;
    color: #89828b;
    font-size: 12px;
    line-height: 1.8;
}

@media (max-width: 900px) {
    .ms-file-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ms-admission-file-title-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .ms-file-summary-grid {
        grid-template-columns: 1fr;
    }

    .ms-authority-file-section {
        padding: 18px;
    }
}


.ms-admission-code-link {
    color: #7f005f;
    font-weight: 800;
    text-decoration: none;
}

.ms-admission-code-link:hover {
    text-decoration: underline;
}
/* =========================================================
   Release 030 - enterprise polish
   ========================================================= */
:root{
    --ms-sidebar-width: 246px;
    --ms-radius: 12px;
    --ms-shadow: 0 5px 18px rgba(50,35,70,.045);
}
body{font-size:13px;-webkit-font-smoothing:antialiased}
.ms-sidebar{box-shadow:2px 0 14px rgba(50,35,70,.025)}
.ms-sidebar-header{height:82px;padding:12px}
.ms-logo{max-width:145px;max-height:52px}
.ms-sidebar-menu{padding:12px 10px}
.ms-menu-section{padding:14px 12px 6px;font-size:10px;font-weight:700}
.ms-menu-item{min-height:40px;padding:0 12px;margin-bottom:3px;border-radius:9px;font-size:12.5px;gap:10px}
.ms-menu-icon{width:20px;font-size:15px}
.ms-menu-item.active{box-shadow:0 4px 12px rgba(110,13,94,.14)}
.ms-topbar{height:64px;padding:0 20px;box-shadow:0 1px 0 rgba(50,35,70,.02)}
.ms-page-title{font-size:15px;font-weight:800}
.ms-toggle-btn,.ms-language-btn,.ms-icon-action,.ms-topbar-logout{height:34px;min-height:34px;border:1px solid #e4dfe3;background:#fff;border-radius:9px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#403743;font-family:inherit;font-size:12px;font-weight:700;transition:.18s ease}
.ms-toggle-btn:hover,.ms-language-btn:hover,.ms-icon-action:hover,.ms-topbar-logout:hover{border-color:#c8b2c3;background:#fbf7fa;color:#633FDA}
.ms-icon-action{width:34px;padding:0;font-size:15px}
.ms-topbar-logout{min-width:58px}
.ms-user{gap:8px;padding-inline-start:8px}.ms-user-avatar{width:34px;height:34px;font-size:12px}.ms-user-name{font-size:12px}
.ms-content{padding:18px 20px 28px;background:#f6f7f7;min-height:calc(100vh - 64px)}
.ms-card{padding:16px;border-color:#e7e2e5;box-shadow:var(--ms-shadow)}
.ms-card-header{margin-bottom:14px}.ms-card-title{font-size:16px}
.ms-btn{min-height:34px;padding:0 12px;border-radius:8px;font-size:12px}
.ms-table th{padding:10px 11px;font-size:10.5px;background:#faf9fa;color:#716773}
.ms-table td{padding:10px 11px;font-size:12px}
.ms-global-messages{max-width:1500px;margin:0 auto 12px}.ms-global-message{border-radius:10px;padding:10px 13px;font-size:12px;border:1px solid #e5dfe3;background:#fff;box-shadow:0 3px 12px rgba(50,35,70,.035)}
.ms-global-message-success{border-color:#d6ebdf;background:#f4fbf7;color:#256a4d}.ms-global-message-error{border-color:#f0d7dc;background:#fff7f8;color:#a13548}.ms-global-message-warning{border-color:#eee0bd;background:#fffaf0;color:#8c6412}

/* Consistent compact form controls in admin/workflow screens */
.ms-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.ms-content select,
.ms-content textarea{border:1px solid #ddd7dc;border-radius:8px;background:#fff;font-family:inherit;font-size:12px;color:#342d36;outline:none;transition:.16s ease}
.ms-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ms-content select{min-height:34px;height:34px;padding:0 9px}
.ms-content textarea{min-height:72px;padding:8px 9px;line-height:1.65}
.ms-content input:focus,.ms-content select:focus,.ms-content textarea:focus{border-color:#a8649d;box-shadow:0 0 0 3px rgba(110,13,94,.06)}

@media(max-width:900px){
    .ms-topbar{height:58px;padding:0 10px}.ms-content{padding:12px!important;min-height:calc(100vh - 58px)}
    .ms-sidebar{width:min(84vw,260px)}.ms-page-title{font-size:13px}.ms-topbar-end{gap:6px}.ms-language-btn{min-width:auto;padding:0 8px}
}
@media(max-width:560px){.ms-user{display:none}.ms-topbar-logout{width:34px;min-width:34px;overflow:hidden;padding:0;font-size:0}.ms-topbar-logout:before{content:'⇥';font-size:16px}.ms-page-title{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
