:root {
    --ms-ink:#0b172a;
    --ms-ink2:#1b2a41;
    --ms-muted:#66758d;
    --ms-muted2:#8794a6;
    --ms-line:#e5eaf1;
    --ms-bg:#f4f7fb;
    --ms-card:#fff;
    --ms-navy:#071a35;
    --ms-navy2:#0b2d56;
    --ms-blue:#246bdf;
    --ms-blue2:#3b7ff0;
    --ms-teal:#0f9488;
    --ms-amber:#e79a28;
    --ms-red:#e3555f;
    --ms-purple:#7657d8;
    --ms-shadow:0 12px 32px rgba(15,34,61,.075);
    --ms-sidebar:258px;
    --ms-topbar:76px;
}

body.ms-enterprise-ui {
    --app-sidebar-width:var(--ms-sidebar)!important;
    --app-topbar-height:var(--ms-topbar)!important;
    --app-accent:var(--ms-blue)!important;
    --app-accent-rgb:36,107,223!important;
    --app-bg:var(--ms-bg)!important;
    --app-surface:#fff!important;
    --app-text:var(--ms-ink)!important;
    --app-muted:var(--ms-muted)!important;
    --app-border:var(--ms-line)!important;

    color:var(--ms-ink)!important;
    background:
        radial-gradient(circle at 94% -10%,rgba(36,107,223,.075),transparent 31rem),
        linear-gradient(180deg,#f9fbfe 0,var(--ms-bg) 22rem)!important;
    font-family:
        Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,
        "Segoe UI",sans-serif!important;
    font-size:14px;
    letter-spacing:-.004em;
}

.ms-enterprise-ui h1,
.ms-enterprise-ui h2,
.ms-enterprise-ui h3,
.ms-enterprise-ui h4,
.ms-enterprise-ui h5,
.ms-enterprise-ui h6 {
    color:var(--ms-ink)!important;
    font-weight:760!important;
    letter-spacing:-.03em!important;
}

.ms-enterprise-ui h2 {
    font-size:clamp(1.45rem,2vw,1.9rem)!important;
}

.ms-enterprise-ui .text-muted {
    color:var(--ms-muted)!important;
}


/* Sidebar */
.ms-enterprise-ui .app-sidebar {
    width:var(--ms-sidebar)!important;
    min-width:var(--ms-sidebar)!important;
    color:#d8e5f8!important;
    background:
        radial-gradient(circle at 0 0,rgba(49,124,238,.22),transparent 20rem),
        linear-gradient(180deg,#071a35 0%,#071c39 52%,#06172f 100%)!important;
    border-right:1px solid rgba(255,255,255,.06)!important;
    box-shadow:16px 0 45px rgba(4,22,47,.13)!important;
}

.ms-enterprise-ui .app-sidebar-head {
    padding:10px 8px 15px!important;
    border-bottom:0!important;
}

.ms-enterprise-ui .app-brand {
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    color:#fff!important;
    text-decoration:none!important;
}

.ms-brand-logo {
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    flex:0 0 44px;
    color:#fff;
    background:linear-gradient(145deg,#3a83f4,#1d5ec7);
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    box-shadow:
        0 10px 25px rgba(12,82,184,.30),
        inset 0 1px 0 rgba(255,255,255,.16);
    font-size:15px;
    font-weight:850;
    letter-spacing:-.05em;
}

.ms-brand-copy {
    min-width:0;
    display:grid;
    gap:2px;
}

.ms-brand-copy strong {
    color:#fff;
    font-size:17px;
    line-height:1.15;
    font-weight:800;
}

.ms-brand-copy small {
    color:#8fa9ca;
    font-size:9px;
    font-weight:650;
    letter-spacing:.035em;
}

.ms-sidebar-search {
    position:relative;
    margin:3px 12px 5px;
}

.ms-sidebar-search > i {
    position:absolute;
    left:12px;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    color:#7390b7;
    font-size:12px;
}

.ms-sidebar-search input {
    width:100%;
    height:38px;
    padding:0 43px 0 34px;
    color:#d9e6f5;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    border-radius:10px;
    outline:none;
    font-size:10px;
}

.ms-sidebar-search input::placeholder {
    color:#728bac;
}

.ms-sidebar-search input:focus {
    background:rgba(255,255,255,.08);
    border-color:rgba(102,160,249,.42);
    box-shadow:0 0 0 3px rgba(55,126,233,.11);
}

.ms-sidebar-search kbd {
    position:absolute;
    right:8px;
    top:50%;
    padding:2px 5px;
    transform:translateY(-50%);
    color:#6887ac;
    background:rgba(0,0,0,.15);
    border:1px solid rgba(255,255,255,.06);
    border-radius:5px;
    box-shadow:none;
    font-size:8px;
}

.ms-enterprise-ui .app-nav-scroll {
    padding:3px 11px 18px!important;
}

.ms-enterprise-ui .app-nav-group {
    margin-top:15px!important;
}

.ms-enterprise-ui .app-nav-group-title {
    padding:0 11px 6px!important;
    color:#6885aa!important;
    font-size:8.5px!important;
    font-weight:800!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}

.ms-enterprise-ui .app-nav-item {
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:3px 0!important;
    padding:7px 10px!important;
    color:#bfd0e5!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    font-size:11px!important;
    font-weight:630!important;
    text-decoration:none!important;
    transition:.16s ease!important;
}

.ms-enterprise-ui .app-nav-icon {
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    flex:0 0 27px;
    color:#8fa9ca;
    border-radius:8px;
}

.ms-enterprise-ui .app-nav-icon i {
    font-size:13px!important;
}

.ms-enterprise-ui .app-nav-item:hover {
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.04)!important;
    transform:translateX(2px);
}

.ms-enterprise-ui .app-nav-item.active {
    color:#fff!important;
    background:linear-gradient(90deg,#2b72df,#2366ce)!important;
    border-color:rgba(255,255,255,.08)!important;
    box-shadow:
        0 8px 21px rgba(17,83,181,.28),
        inset 0 1px 0 rgba(255,255,255,.11)!important;
}

.ms-enterprise-ui .app-nav-item.active .app-nav-icon {
    color:#fff;
    background:rgba(255,255,255,.10);
}

.ms-enterprise-ui .app-sidebar-foot {
    padding:11px 12px 13px!important;
    background:rgba(0,7,20,.17)!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
}

.ms-sidebar-user {
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:9px;
    margin-bottom:6px;
    color:#fff!important;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.075);
    border-radius:11px;
    text-decoration:none!important;
}

.ms-sidebar-user-copy {
    min-width:0;
    flex:1;
    display:grid;
    gap:2px;
}

.ms-sidebar-user-copy strong {
    overflow:hidden;
    color:#fff;
    font-size:10.5px;
    font-weight:720;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-sidebar-user-copy small {
    color:#819bbc;
    font-size:8.5px;
}

.ms-sidebar-user > i {
    color:#6f8bad;
    font-size:9px;
}

.ms-enterprise-ui .app-logout-button {
    min-height:38px!important;
    color:#aebfd5!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
}

.ms-enterprise-ui .app-logout-button:hover {
    color:#fff!important;
    background:rgba(227,85,95,.12)!important;
}


/* Avatars */
.ms-person-avatar {
    position:relative;
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    overflow:hidden;
    background:linear-gradient(145deg,#dce9fb,#f4f8fd);
    border:2px solid #fff;
    border-radius:999px;
    box-shadow:
        0 0 0 1px #dce4ef,
        0 4px 12px rgba(17,49,84,.08);
}

.ms-person-avatar img,
.ms-person-avatar-fallback {
    width:100%;
    height:100%;
}

.ms-person-avatar img {
    display:block;
    object-fit:cover;
}

.ms-person-avatar-fallback {
    display:grid;
    place-items:center;
    color:#255ca7;
    background:linear-gradient(145deg,#eaf2ff,#dbe9fb);
    font-weight:820;
}

.ms-person-avatar-xs { width:28px; height:28px; font-size:8px; }
.ms-person-avatar-sm { width:34px; height:34px; font-size:9px; }
.ms-person-avatar-md { width:42px; height:42px; font-size:10px; }
.ms-person-avatar-lg { width:54px; height:54px; font-size:12px; }
.ms-person-avatar-xl { width:76px; height:76px; font-size:18px; }

.ms-person {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.ms-person-copy {
    min-width:0;
}

.ms-person-name {
    overflow:hidden;
    max-width:220px;
    color:var(--ms-ink);
    font-size:11px;
    line-height:1.25;
    font-weight:720;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-person-meta {
    overflow:hidden;
    max-width:240px;
    margin-top:3px;
    color:var(--ms-muted);
    font-size:9px;
    white-space:nowrap;
    text-overflow:ellipsis;
}


/* Topbar */
.ms-enterprise-ui .app-topbar {
    height:var(--ms-topbar)!important;
    padding:0 24px!important;
    gap:20px!important;
    background:rgba(255,255,255,.95)!important;
    border-bottom:1px solid var(--ms-line)!important;
    box-shadow:0 2px 10px rgba(15,34,61,.025)!important;
    backdrop-filter:blur(18px)!important;
}

.ms-enterprise-ui .app-topbar-left {
    min-width:250px;
    display:flex;
    align-items:center;
    gap:12px;
}

.ms-enterprise-ui .app-menu-toggle {
    width:38px!important;
    height:38px!important;
    border:1px solid var(--ms-line)!important;
    border-radius:10px!important;
    color:var(--ms-ink2)!important;
    background:#fff!important;
}

.ms-enterprise-ui .app-page-kicker {
    margin-bottom:3px;
    color:var(--ms-muted)!important;
    font-size:9px!important;
    font-weight:620!important;
    text-transform:none!important;
}

.ms-enterprise-ui .app-page-title {
    margin:0!important;
    overflow:hidden;
    color:var(--ms-ink)!important;
    font-size:17px!important;
    font-weight:780!important;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-global-search {
    position:relative;
    width:min(440px,38vw);
    margin-left:auto;
}

.ms-global-search > i {
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    color:#8593a6;
    font-size:13px;
}

.ms-global-search input {
    width:100%;
    height:42px;
    padding:0 64px 0 38px;
    color:var(--ms-ink2);
    background:#fbfcfe;
    border:1px solid #dae2ed;
    border-radius:11px;
    outline:none;
    font-size:10.5px;
}

.ms-global-search input:focus {
    background:#fff;
    border-color:rgba(36,107,223,.48);
    box-shadow:0 0 0 4px rgba(36,107,223,.07);
}

.ms-global-search > span {
    position:absolute;
    right:9px;
    top:50%;
    padding:3px 6px;
    transform:translateY(-50%);
    color:#7e8a9b;
    background:#f0f3f7;
    border:1px solid #e0e5ec;
    border-radius:6px;
    font-size:7.5px;
    font-weight:750;
}

.ms-enterprise-ui .app-topbar-right {
    display:flex;
    align-items:center;
    gap:8px!important;
}

.ms-topbar-action {
    position:relative;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    color:#43536a!important;
    background:#fff;
    border:1px solid #dfe6ef;
    border-radius:10px;
    box-shadow:0 1px 8px rgba(15,34,61,.04);
    text-decoration:none!important;
}

.ms-topbar-action:hover {
    color:var(--ms-blue)!important;
    border-color:#bfd2ee;
    transform:translateY(-1px);
}

.ms-notification-dot {
    position:absolute;
    top:-5px;
    right:-6px;
    min-width:18px;
    height:18px;
    display:grid;
    place-items:center;
    padding:0 4px;
    color:#fff;
    background:var(--ms-red);
    border:2px solid #fff;
    border-radius:999px;
    font-size:7px;
    font-weight:800;
}

.ms-profile-trigger {
    display:flex;
    align-items:center;
    gap:9px;
    padding:4px 7px 4px 4px;
    color:var(--ms-ink);
    background:#fff;
    border:1px solid #dfe6ef;
    border-radius:11px;
}

.ms-profile-trigger-copy {
    min-width:90px;
    display:grid;
    text-align:left;
}

.ms-profile-trigger-copy strong {
    overflow:hidden;
    max-width:150px;
    color:var(--ms-ink);
    font-size:10px;
    font-weight:720;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-profile-trigger-copy small {
    margin-top:2px;
    color:var(--ms-muted);
    font-size:8px;
}

.ms-profile-trigger > i {
    color:#8490a1;
    font-size:8px;
}

.ms-profile-menu {
    min-width:235px!important;
    padding:8px!important;
    border:1px solid var(--ms-line)!important;
    border-radius:13px!important;
    box-shadow:0 24px 64px rgba(15,34,61,.13)!important;
}

.ms-profile-menu-head {
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 7px 12px;
    margin-bottom:5px;
    border-bottom:1px solid #edf1f5;
}

.ms-profile-menu-head > div {
    display:grid;
    gap:2px;
}

.ms-profile-menu-head strong {
    font-size:10.5px;
}

.ms-profile-menu-head span {
    color:var(--ms-muted);
    font-size:8.5px;
}

.ms-enterprise-ui .dropdown-item {
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 9px!important;
    color:#42516a;
    border-radius:8px;
    font-size:10px;
    font-weight:620;
}

.ms-enterprise-ui .dropdown-item:hover {
    color:#1959c9;
    background:#eef5ff;
}


/* Workspace */
.ms-enterprise-ui .app-main {
    min-height:calc(100vh - var(--ms-topbar) - 58px)!important;
    padding:22px 24px 30px!important;
}

.ms-enterprise-ui .app-main > .container,
.ms-enterprise-ui .app-main > .container-fluid,
.ms-enterprise-ui .app-main > [class*="-page"],
.ms-enterprise-ui .app-main > [class*="-dashboard"] {
    width:100%!important;
    max-width:1600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.ms-enterprise-ui .app-main > .container-fluid {
    padding-left:0!important;
    padding-right:0!important;
}


/* Dashboard */
.ms-dashboard {
    max-width:1600px;
    margin:0 auto;
}

.ms-dashboard-hero {
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    min-height:136px;
    padding:23px 25px;
    margin-bottom:16px;
    color:#fff;
    background:
        radial-gradient(circle at 82% 10%,rgba(76,145,247,.34),transparent 18rem),
        radial-gradient(circle at 92% 100%,rgba(22,148,136,.17),transparent 19rem),
        linear-gradient(125deg,#071a35 0%,#0a2b55 56%,#164d91 100%);
    border:1px solid rgba(255,255,255,.08);
    border-radius:19px;
    box-shadow:0 18px 40px rgba(10,36,70,.14);
}

.ms-dashboard-hero-copy {
    position:relative;
    z-index:2;
    max-width:760px;
}

.ms-dashboard-hero-kicker {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:7px;
    color:#a9c7ee;
    font-size:9px;
    font-weight:720;
}

.ms-dashboard-hero h2 {
    margin:0 0 7px;
    color:#fff!important;
    font-size:clamp(1.7rem,2.5vw,2.35rem)!important;
}

.ms-dashboard-hero p {
    max-width:700px;
    margin:0;
    color:#b9cae0;
    font-size:10.5px;
    line-height:1.55;
}

.ms-dashboard-hero-actions {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.ms-dashboard-hero .btn-light {
    color:#11315b!important;
    background:#fff!important;
    border-color:#fff!important;
}

.ms-dashboard-hero .btn-outline-light {
    color:#fff!important;
    background:rgba(255,255,255,.06)!important;
    border-color:rgba(255,255,255,.22)!important;
}

.ms-kpi-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:11px;
    margin-bottom:14px;
}

.ms-kpi-card {
    position:relative;
    overflow:hidden;
    min-height:112px;
    padding:15px;
    background:#fff;
    border:1px solid var(--ms-line);
    border-radius:14px;
    box-shadow:0 2px 8px rgba(15,34,61,.04);
    transition:.18s ease;
}

.ms-kpi-card:hover {
    transform:translateY(-3px);
    border-color:#d3dfed;
    box-shadow:var(--ms-shadow);
}

.ms-kpi-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.ms-kpi-icon {
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    flex:0 0 36px;
    border-radius:10px;
    font-size:15px;
}

.ms-kpi-icon.blue { color:#225fc2; background:#eaf2ff; }
.ms-kpi-icon.teal { color:#087d75; background:#e5f8f4; }
.ms-kpi-icon.amber { color:#ad670d; background:#fff4e4; }
.ms-kpi-icon.red { color:#bd3e47; background:#ffedef; }
.ms-kpi-icon.purple { color:#7657d8; background:#f0ecff; }
.ms-kpi-icon.slate { color:#52627a; background:#edf1f6; }

.ms-kpi-label {
    margin-top:10px;
    color:var(--ms-muted);
    font-size:9px;
    font-weight:690;
}

.ms-kpi-value {
    margin-top:3px;
    color:var(--ms-ink);
    font-size:1.6rem;
    line-height:1.12;
    font-weight:820;
    letter-spacing:-.045em;
}

.ms-kpi-foot {
    margin-top:5px;
    color:var(--ms-muted2);
    font-size:8.5px;
    line-height:1.35;
}

.ms-dashboard-grid {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);
    gap:13px;
    margin-bottom:13px;
}

.ms-dashboard-grid.equal {
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ms-dashboard-grid.three {
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.ms-panel {
    min-width:0;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--ms-line);
    border-radius:15px;
    box-shadow:0 2px 8px rgba(15,34,61,.04);
}

.ms-panel-head {
    min-height:53px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 15px;
    border-bottom:1px solid #edf1f5;
}

.ms-panel-title strong {
    display:block;
    color:var(--ms-ink);
    font-size:11px;
    font-weight:750;
}

.ms-panel-title span {
    display:block;
    margin-top:3px;
    color:var(--ms-muted);
    font-size:8.5px;
}

.ms-panel-head a {
    font-size:9px;
    font-weight:700;
    text-decoration:none;
}

.ms-panel-body {
    padding:15px;
}

.ms-chart-shell {
    position:relative;
    height:285px;
}

.ms-chart-shell.compact {
    height:230px;
}

.ms-mini-chart-row {
    display:grid;
    grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
    gap:12px;
}

.ms-chart-summary {
    display:grid;
    align-content:center;
    gap:10px;
}

.ms-chart-summary-item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 10px;
    background:#f8fafd;
    border:1px solid #edf1f5;
    border-radius:9px;
}

.ms-chart-summary-item span {
    color:var(--ms-muted);
    font-size:8.5px;
}

.ms-chart-summary-item strong {
    font-size:11px;
}

.ms-activity-list {
    display:grid;
}

.ms-activity-item {
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 0;
    border-bottom:1px solid #edf1f5;
}

.ms-activity-item:last-child {
    padding-bottom:0;
    border-bottom:0;
}

.ms-activity-item:first-child {
    padding-top:0;
}

.ms-activity-copy {
    min-width:0;
    flex:1;
}

.ms-activity-title {
    overflow:hidden;
    color:var(--ms-ink);
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-activity-meta {
    overflow:hidden;
    margin-top:3px;
    color:var(--ms-muted);
    font-size:8.5px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.ms-activity-side {
    flex:0 0 auto;
    color:var(--ms-muted);
    font-size:8.5px;
    text-align:right;
}

.ms-date-tile {
    width:42px;
    height:45px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    color:#235dad;
    background:#edf4ff;
    border:1px solid #dbe9fb;
    border-radius:9px;
    line-height:1;
}

.ms-date-tile strong {
    font-size:13px;
}

.ms-date-tile small {
    margin-top:-7px;
    font-size:7px;
    font-weight:760;
    text-transform:uppercase;
}


/* Status */
.ms-status {
    display:inline-flex;
    align-items:center;
    padding:4px 7px;
    border:1px solid transparent;
    border-radius:999px;
    font-size:8px;
    line-height:1;
    font-weight:760;
    white-space:nowrap;
}

.ms-status-success {
    color:#0b725f;
    background:#e6f7f1;
    border-color:#d3eee5;
}

.ms-status-warning {
    color:#9a6014;
    background:#fff4e3;
    border-color:#f9e8ca;
}

.ms-status-danger {
    color:#b33b45;
    background:#ffedef;
    border-color:#f8dadd;
}

.ms-status-neutral {
    color:#53627a;
    background:#eff3f7;
    border-color:#e2e7ee;
}


/* Legacy page normalization */
.ms-enterprise-ui .card,
.ms-enterprise-ui .dashboard-card,
.ms-enterprise-ui .summary-card,
.ms-enterprise-ui .stat-card,
.ms-enterprise-ui .module-card,
.ms-enterprise-ui .attendance-stat,
.ms-enterprise-ui .ticket-stat-card,
.ms-enterprise-ui .detail-card,
.ms-enterprise-ui .profile-section,
.ms-enterprise-ui .balance-card,
.ms-enterprise-ui .audit-card,
.ms-enterprise-ui .leave-balance-mini,
.ms-enterprise-ui .people-card,
.ms-enterprise-ui .document-card {
    background:#fff!important;
    border:1px solid var(--ms-line)!important;
    border-radius:14px!important;
    box-shadow:0 2px 8px rgba(15,34,61,.04)!important;
}

.ms-enterprise-ui .card:hover,
.ms-enterprise-ui .dashboard-card:hover,
.ms-enterprise-ui .summary-card:hover,
.ms-enterprise-ui .stat-card:hover,
.ms-enterprise-ui .module-card:hover {
    border-color:#d5dfeb!important;
    box-shadow:0 8px 20px rgba(15,34,61,.065)!important;
}

.ms-enterprise-ui .card-header,
.ms-enterprise-ui .dashboard-card-header,
.ms-enterprise-ui .detail-card-header,
.ms-enterprise-ui .people-card-header {
    min-height:52px;
    display:flex;
    align-items:center;
    color:var(--ms-ink)!important;
    background:#fff!important;
    border-bottom:1px solid #edf1f5!important;
    font-size:10.5px!important;
    font-weight:740!important;
}

.ms-enterprise-ui .card-header {
    padding:13px 15px!important;
}

.ms-enterprise-ui .card-body,
.ms-enterprise-ui .dashboard-card-body,
.ms-enterprise-ui .people-card-body {
    padding:15px!important;
}

.ms-enterprise-ui .summary-grid,
.ms-enterprise-ui .stat-grid {
    gap:11px!important;
}

.ms-enterprise-ui .summary-card,
.ms-enterprise-ui .stat-card {
    min-height:104px!important;
    padding:14px!important;
}

.ms-enterprise-ui .summary-title,
.ms-enterprise-ui .stat-label,
.ms-enterprise-ui .attendance-stat-label,
.ms-enterprise-ui .ticket-stat-label {
    color:var(--ms-muted)!important;
    font-size:9px!important;
    font-weight:680!important;
}

.ms-enterprise-ui .summary-value,
.ms-enterprise-ui .stat-value,
.ms-enterprise-ui .attendance-stat-value,
.ms-enterprise-ui .ticket-stat-value {
    margin-top:5px!important;
    color:var(--ms-ink)!important;
    font-size:clamp(1.35rem,1.8vw,1.75rem)!important;
    font-weight:820!important;
    letter-spacing:-.04em!important;
}

.ms-enterprise-ui .summary-subtitle,
.ms-enterprise-ui .stat-subtitle {
    margin-top:5px!important;
    color:var(--ms-muted)!important;
    font-size:8.5px!important;
}


/* Forms */
.ms-enterprise-ui .form-label {
    margin-bottom:5px!important;
    color:#3f4e65!important;
    font-size:9px!important;
    font-weight:720!important;
}

.ms-enterprise-ui .form-control,
.ms-enterprise-ui .form-select,
.ms-enterprise-ui .input-group-text,
.ms-enterprise-ui textarea.form-control {
    color:var(--ms-ink2)!important;
    background:#fff!important;
    border:1px solid #d6dfe9!important;
    border-radius:9px!important;
    box-shadow:none!important;
}

.ms-enterprise-ui .form-control,
.ms-enterprise-ui .form-select {
    min-height:41px!important;
    padding:.52rem .72rem!important;
    font-size:10.5px!important;
}

.ms-enterprise-ui textarea.form-control {
    min-height:105px!important;
}

.ms-enterprise-ui .form-control:focus,
.ms-enterprise-ui .form-select:focus {
    border-color:rgba(36,107,223,.52)!important;
    box-shadow:0 0 0 4px rgba(36,107,223,.075)!important;
}

.ms-enterprise-ui .form-text {
    font-size:8.5px!important;
    color:var(--ms-muted)!important;
}


/* Buttons */
.ms-enterprise-ui .btn {
    min-height:37px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:.5rem .78rem!important;
    border-radius:8px!important;
    font-size:9.5px!important;
    font-weight:720!important;
    box-shadow:none!important;
}

.ms-enterprise-ui .btn-sm {
    min-height:31px;
    padding:.38rem .61rem!important;
    font-size:8.5px!important;
}

.ms-enterprise-ui .btn-primary {
    color:#fff!important;
    background:linear-gradient(135deg,#2d75e4,#1d5ec7)!important;
    border-color:#1d5ec7!important;
}

.ms-enterprise-ui .btn-primary:hover {
    background:linear-gradient(135deg,#2369d4,#174fae)!important;
    border-color:#174fae!important;
    transform:translateY(-1px);
}

.ms-enterprise-ui .btn-secondary {
    color:#45556d!important;
    background:#f1f4f8!important;
    border-color:#dce3ec!important;
}

.ms-enterprise-ui .btn-outline-primary {
    color:#235eb9!important;
    background:#fff!important;
    border-color:#bcd0ec!important;
}

.ms-enterprise-ui .btn-success {
    background:var(--ms-teal)!important;
    border-color:var(--ms-teal)!important;
}

.ms-enterprise-ui .btn-danger {
    background:var(--ms-red)!important;
    border-color:var(--ms-red)!important;
}


/* Tables */
.ms-enterprise-ui .table {
    --bs-table-bg:transparent!important;
    --bs-table-hover-bg:#f7faff!important;
    color:#405069!important;
    font-size:9.5px!important;
}

.ms-enterprise-ui .table > :not(caption) > * > * {
    padding:.68rem .72rem!important;
    border-color:#edf1f5!important;
    vertical-align:middle!important;
}

.ms-enterprise-ui .table thead th,
.ms-enterprise-ui .table-light > * > * {
    color:#6a788e!important;
    background:#f8fafd!important;
    border-bottom:1px solid #e3e9f1!important;
    font-size:7.5px!important;
    font-weight:820!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
    white-space:nowrap;
}

.ms-enterprise-ui .table-hover > tbody > tr:hover > * {
    background:#f7faff!important;
}

.ms-enterprise-ui .table-bordered > :not(caption) > * {
    border-width:0!important;
}

.ms-enterprise-ui .table-bordered > :not(caption) > * > * {
    border-width:0 0 1px 0!important;
}

.ms-table-employee {
    min-width:205px;
}


/* Alerts / badges */
.ms-enterprise-ui .badge {
    padding:.48em .68em!important;
    border-radius:999px!important;
    font-size:7.5px!important;
    font-weight:760!important;
}

.ms-enterprise-ui .bg-success {
    color:#0b725f!important;
    background:#e6f7f1!important;
}

.ms-enterprise-ui .bg-danger {
    color:#b33b45!important;
    background:#ffedef!important;
}

.ms-enterprise-ui .bg-warning {
    color:#996014!important;
    background:#fff4e3!important;
}

.ms-enterprise-ui .bg-primary {
    color:#235eb9!important;
    background:#eaf2ff!important;
}

.ms-enterprise-ui .text-primary { color:var(--ms-blue)!important; }
.ms-enterprise-ui .text-success { color:#0b7a74!important; }
.ms-enterprise-ui .text-danger { color:#b93742!important; }
.ms-enterprise-ui .text-warning { color:#a9630b!important; }

.ms-enterprise-ui .alert {
    padding:11px 13px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    font-size:9.5px!important;
}

.ms-enterprise-ui .alert-success {
    color:#0a705d!important;
    background:#eaf8f3!important;
    border-color:#d2eee4!important;
}

.ms-enterprise-ui .alert-danger {
    color:#ad3942!important;
    background:#fff0f1!important;
    border-color:#f7dce0!important;
}

.ms-enterprise-ui .alert-warning {
    color:#925913!important;
    background:#fff6e8!important;
    border-color:#f7e3c2!important;
}

.ms-enterprise-ui .alert-info {
    color:#285d9b!important;
    background:#eef5ff!important;
    border-color:#d9e7f9!important;
}


/* Footer */
.ms-app-footer {
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 24px;
    color:#c7d6e8;
    background:linear-gradient(90deg,#07182f,#0a2445 52%,#0c2e58);
    border-top:1px solid rgba(255,255,255,.05);
    font-size:8.5px;
}

.ms-footer-left,
.ms-footer-right {
    display:flex;
    align-items:center;
    gap:10px;
}

.ms-footer-logo {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:#fff;
    background:#245fbd;
    border-radius:8px;
    font-size:8px;
    font-weight:850;
}

.ms-footer-left > span:last-child {
    display:grid;
    color:#fff;
    font-weight:700;
}

.ms-footer-left small {
    color:#8299b8;
    font-size:7px;
}

.ms-footer-right span,
.ms-footer-right a {
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.ms-footer-right a {
    color:#fff;
    text-decoration:none;
    font-weight:650;
}


/* Login */
body .app-login-page {
    background:
        radial-gradient(circle at 8% 10%,rgba(36,107,223,.13),transparent 26rem),
        radial-gradient(circle at 92% 92%,rgba(15,148,136,.07),transparent 28rem),
        #f4f7fb!important;
}

body .app-login-shell {
    width:min(980px,100%)!important;
    min-height:590px!important;
    border:1px solid #dee6f0!important;
    border-radius:23px!important;
    box-shadow:0 34px 90px rgba(7,26,53,.15)!important;
}

body .app-login-visual {
    background:
        radial-gradient(circle at 88% 8%,rgba(255,255,255,.12),transparent 14rem),
        radial-gradient(circle at 8% 94%,rgba(39,119,236,.27),transparent 18rem),
        linear-gradient(145deg,#06152a 0%,#09274f 58%,#1b5caf 100%)!important;
}

body .app-login-brand-mark {
    width:46px!important;
    height:46px!important;
    color:#fff;
    background:linear-gradient(145deg,#3a83f4,#1d5ec7)!important;
    border:1px solid rgba(255,255,255,.15)!important;
    font-size:13px;
    font-weight:850;
}

body .app-login-submit {
    background:linear-gradient(135deg,#2d75e4,#1d5ec7)!important;
}


/* Responsive */
@media(max-width:1399.98px) {
    .ms-kpi-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ms-dashboard-grid.three {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:1199.98px) {
    .ms-global-search {
        width:min(350px,34vw);
    }

    .ms-profile-trigger-copy {
        display:none;
    }

    .ms-dashboard-grid,
    .ms-dashboard-grid.equal {
        grid-template-columns:1fr;
    }
}

@media(max-width:991.98px) {
    .ms-enterprise-ui .app-topbar {
        padding:0 15px!important;
    }

    .ms-enterprise-ui .app-topbar-left {
        min-width:0;
    }

    .ms-global-search {
        width:min(320px,42vw);
    }

    .ms-enterprise-ui .app-main {
        padding:18px 15px 26px!important;
    }

    .ms-kpi-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ms-dashboard-grid.three {
        grid-template-columns:1fr;
    }
}

@media(max-width:767.98px) {
    .ms-enterprise-ui .app-topbar {
        height:68px!important;
        gap:9px!important;
    }

    .ms-global-search {
        display:none;
    }

    .ms-enterprise-ui .app-page-kicker {
        display:none!important;
    }

    .ms-enterprise-ui .app-main {
        padding:13px 9px 22px!important;
    }

    .ms-dashboard-hero {
        min-height:0;
        padding:19px;
        flex-direction:column;
        align-items:flex-start;
    }

    .ms-kpi-grid {
        grid-template-columns:1fr 1fr;
    }

    .ms-mini-chart-row {
        grid-template-columns:1fr;
    }

    .ms-chart-shell {
        height:250px;
    }

    .ms-app-footer {
        padding:12px 14px;
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:575.98px) {
    .ms-kpi-grid {
        grid-template-columns:1fr;
    }

    .ms-profile-trigger {
        padding-right:4px;
    }

    .ms-profile-trigger > i {
        display:none;
    }

    .ms-enterprise-ui .table > :not(caption) > * > * {
        padding:.6rem!important;
    }
}

/* ==========================================================================
   READABILITY PASS — larger professional typography
   ========================================================================== */

body.ms-enterprise-ui {
    font-size: 15px;
}

.ms-brand-copy strong {
    font-size: 18px;
}

.ms-brand-copy small {
    font-size: 10.5px;
}

.ms-sidebar-search input {
    font-size: 11.5px;
}

.ms-sidebar-search kbd {
    font-size: 9px;
}

.ms-enterprise-ui .app-nav-group-title {
    font-size: 10px !important;
}

.ms-enterprise-ui .app-nav-item {
    min-height: 44px !important;
    font-size: 12.5px !important;
}

.ms-enterprise-ui .app-nav-icon i {
    font-size: 14px !important;
}

.ms-sidebar-user-copy strong {
    font-size: 12px;
}

.ms-sidebar-user-copy small {
    font-size: 10px;
}

.ms-enterprise-ui .app-logout-button {
    font-size: 12px !important;
}

.ms-enterprise-ui .app-page-kicker {
    font-size: 10.5px !important;
}

.ms-enterprise-ui .app-page-title {
    font-size: 19px !important;
}

.ms-global-search input {
    font-size: 12px;
}

.ms-global-search > span {
    font-size: 9px;
}

.ms-profile-trigger-copy strong {
    font-size: 11.5px;
}

.ms-profile-trigger-copy small {
    font-size: 9.5px;
}

.ms-enterprise-ui .dropdown-item {
    font-size: 11.5px;
}

.ms-profile-menu-head strong {
    font-size: 12px;
}

.ms-profile-menu-head span {
    font-size: 10px;
}

.ms-person-name {
    font-size: 12.5px;
}

.ms-person-meta {
    font-size: 10.5px;
}

.ms-dashboard-hero-kicker {
    font-size: 10.5px;
}

.ms-dashboard-hero p {
    font-size: 12px;
}

.ms-kpi-label {
    font-size: 10.5px;
}

.ms-kpi-value {
    font-size: 1.72rem;
}

.ms-kpi-foot {
    font-size: 10px;
}

.ms-panel-title strong {
    font-size: 12.5px;
}

.ms-panel-title span {
    font-size: 10px;
}

.ms-panel-head a {
    font-size: 10.5px;
}

.ms-chart-summary-item span {
    font-size: 10px;
}

.ms-chart-summary-item strong {
    font-size: 12.5px;
}

.ms-activity-title {
    font-size: 11.5px;
}

.ms-activity-meta,
.ms-activity-side {
    font-size: 10px;
}

.ms-status {
    font-size: 9.5px;
    padding: 5px 8px;
}

.ms-enterprise-ui .card-header,
.ms-enterprise-ui .dashboard-card-header,
.ms-enterprise-ui .detail-card-header,
.ms-enterprise-ui .people-card-header {
    font-size: 12px !important;
}

.ms-enterprise-ui .summary-title,
.ms-enterprise-ui .stat-label,
.ms-enterprise-ui .attendance-stat-label,
.ms-enterprise-ui .ticket-stat-label {
    font-size: 10.5px !important;
}

.ms-enterprise-ui .summary-subtitle,
.ms-enterprise-ui .stat-subtitle {
    font-size: 10px !important;
}

.ms-enterprise-ui .form-label {
    font-size: 11px !important;
}

.ms-enterprise-ui .form-control,
.ms-enterprise-ui .form-select {
    font-size: 12px !important;
}

.ms-enterprise-ui .form-text {
    font-size: 10px !important;
}

.ms-enterprise-ui .btn {
    font-size: 11px !important;
}

.ms-enterprise-ui .btn-sm {
    font-size: 10px !important;
}

.ms-enterprise-ui .table {
    font-size: 11px !important;
}

.ms-enterprise-ui .table thead th,
.ms-enterprise-ui .table-light > * > * {
    font-size: 9.5px !important;
}

.ms-enterprise-ui .badge {
    font-size: 9px !important;
}

.ms-enterprise-ui .alert {
    font-size: 11px !important;
}

.ms-enterprise-ui .detail-label,
.ms-enterprise-ui .profile-label,
.ms-enterprise-ui .info-label,
.ms-enterprise-ui .attendance-label {
    font-size: 10px !important;
}

.ms-enterprise-ui .detail-value,
.ms-enterprise-ui .profile-value,
.ms-enterprise-ui .info-value,
.ms-enterprise-ui .attendance-value {
    font-size: 12px !important;
}

.ms-app-footer {
    font-size: 10px;
}

.ms-footer-left small {
    font-size: 8.5px;
}

@media (max-width: 767.98px) {
    body.ms-enterprise-ui {
        font-size: 14px;
    }

    .ms-enterprise-ui .app-page-title {
        font-size: 17px !important;
    }

    .ms-enterprise-ui .app-nav-item {
        font-size: 12px !important;
    }
}

