:root {
    --sm-purple: #5521c9;
    --sm-purple-2: #7a35e8;
    --sm-orange: #ff7a18;
    --sm-navy: #111936;
    --sm-text: #111a35;
    --sm-muted: #68718f;
    --sm-border: #e1e6f2;
    --sm-surface: #ffffff;
    --sm-surface-2: #fafbff;
    --sm-bg: #f4f6fb;
    --sm-shadow: 0 10px 28px rgba(41, 36, 89, .08);
    --sm-shadow-hover: 0 14px 35px rgba(70, 44, 150, .14);
    --sm-radius: 15px;
    --sm-sidebar-width: 232px;
}

html[data-sm-theme="dark"] {
    --sm-text: #f1f3ff;
    --sm-muted: #aab3d0;
    --sm-border: #293251;
    --sm-surface: #171e36;
    --sm-surface-2: #12182e;
    --sm-bg: #0c1225;
    --sm-shadow: 0 12px 32px rgba(0,0,0,.24);
    --sm-shadow-hover: 0 16px 38px rgba(0,0,0,.32);
}

* { box-sizing: border-box; }
html { min-height:100%; background:var(--sm-bg); scroll-behavior:smooth; }
body {
    margin:0;
    min-height:100%;
    font-family:"Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    background:var(--sm-bg);
    color:var(--sm-text);
    font-size:15px;
    line-height:1.45;
    letter-spacing:.001em;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
a { text-decoration:none; }
button, input, select { font:inherit; }
button { -webkit-tap-highlight-color:transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid rgba(105,61,226,.2); outline-offset:2px; }

::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:#b9c0d7; border:2px solid transparent; background-clip:padding-box; border-radius:999px; }
html[data-sm-theme="dark"] ::-webkit-scrollbar-thumb { background:#4b5679; border:2px solid transparent; background-clip:padding-box; }

.sm-app-shell { min-height:100vh; background:var(--sm-bg); }
.sm-sidebar {
    position:fixed; inset:0 auto 0 0; width:var(--sm-sidebar-width); z-index:1035;
    display:flex; flex-direction:column; overflow:hidden;
    background:
      radial-gradient(circle at 16% 4%, rgba(140,81,255,.24), transparent 25%),
      linear-gradient(180deg,#171f4b 0%,#34117b 52%,#24105f 100%);
    color:#fff; border-right:1px solid rgba(255,255,255,.08);
    transition:transform .25s ease, width .25s ease;
    box-shadow:8px 0 28px rgba(30,18,89,.14);
}
.sm-brand-wrap { min-height:132px; padding:10px 12px 8px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid rgba(255,255,255,.08); }
.sm-brand-link { width:100%; display:flex; justify-content:center; align-items:center; }
.sm-brand-logo { width:170px; height:116px; object-fit:contain; filter:drop-shadow(0 7px 14px rgba(0,0,0,.16)); image-rendering:auto; }
.sm-menu-label { color:#aab2d8; font-size:10px; letter-spacing:.13em; font-weight:800; padding:14px 17px 7px; }
.sm-nav { padding:0 8px; display:flex; flex-direction:column; gap:4px; }
.sm-nav-primary { flex:1; overflow-y:auto; overscroll-behavior:contain; padding-bottom:8px; }
.sm-nav-primary::-webkit-scrollbar { width:6px; }
.sm-nav-primary::-webkit-scrollbar-thumb { background:rgba(255,255,255,.2); border:1px solid transparent; background-clip:padding-box; }
.sm-nav-item {
    min-height:42px; border-radius:10px; padding:8px 10px; color:#eef0ff;
    display:flex; align-items:center; gap:10px; font-size:14px; font-weight:650;
    white-space:nowrap; overflow:hidden; transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.sm-nav-item:hover { color:#fff; background:rgba(255,255,255,.09); transform:translateX(2px); }
.sm-nav-item.active { color:#fff; background:linear-gradient(90deg,#5c24d2 0%,#7b31dd 67%,#ff7a1d 100%); box-shadow:0 7px 18px rgba(88,31,211,.34); }
.sm-nav-icon { width:28px; height:28px; min-width:28px; border-radius:8px; display:grid; place-items:center; text-align:center; color:#ffd22d; background:rgba(255,255,255,.045); font-size:16px; line-height:1; }
.sm-nav-item.active .sm-nav-icon { background:rgba(255,255,255,.14); }
.sm-nav-text { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.sm-sidebar-bottom { padding-bottom:12px; background:linear-gradient(180deg,transparent,rgba(0,0,0,.13)); border-top:1px solid rgba(255,255,255,.03); }
.sm-edition-card { margin:10px 12px 0; padding:10px 11px; border:1px solid rgba(255,181,42,.58); border-radius:11px; display:flex; align-items:center; justify-content:space-between; background:linear-gradient(135deg,rgba(255,132,27,.10),rgba(126,53,232,.10)); }
.sm-edition-card small { display:block; font-size:8px; letter-spacing:.14em; color:#d8c79c; font-weight:800; }
.sm-edition-card strong { display:block; color:#ffbd35; font-size:15px; line-height:1.15; }
.sm-edition-card div>span { display:block; margin-top:3px; color:#cdd3ee; font-size:9px; }
.sm-edition-dot { width:9px; height:9px; border-radius:50%; background:#ff9b22; box-shadow:0 0 0 4px rgba(255,155,34,.13); }

.sm-main-area { min-height:100vh; margin-left:var(--sm-sidebar-width); display:flex; flex-direction:column; transition:margin .25s ease; }
.sm-topbar {
    min-height:74px; padding:0 20px; position:sticky; top:0; z-index:1020;
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:color-mix(in srgb,var(--sm-surface) 96%,transparent); backdrop-filter:blur(18px);
    border-bottom:1px solid var(--sm-border); box-shadow:0 3px 14px rgba(36,41,78,.035);
}
.sm-topbar-left,.sm-topbar-right { display:flex; align-items:center; gap:9px; min-width:0; }
.sm-topbar-left { flex:1; }
.sm-topbar-right { justify-content:flex-end; }
.sm-search-wrap { width:min(510px,43vw); height:42px; display:flex; align-items:center; gap:9px; padding:0 11px; border:1px solid var(--sm-border); border-radius:11px; background:var(--sm-surface-2); color:var(--sm-muted); box-shadow:inset 0 1px 0 rgba(255,255,255,.35); }
.sm-search-svg { width:17px; height:17px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.sm-search-input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--sm-text); font-size:13px; }
.sm-search-input::placeholder { color:#8d96b2; opacity:1; }
.sm-search-wrap kbd { background:var(--sm-surface); color:var(--sm-muted); border:1px solid var(--sm-border); padding:3px 7px; border-radius:6px; font-size:10px; box-shadow:none; }
.sm-icon-btn { width:42px; height:42px; flex:0 0 42px; border-radius:11px; border:1px solid var(--sm-border); background:var(--sm-surface); color:var(--sm-text); display:grid; place-items:center; cursor:pointer; transition:.18s ease; }
.sm-icon-btn svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sm-icon-btn:hover { border-color:#b7a4ef; transform:translateY(-1px); box-shadow:0 6px 16px rgba(85,39,196,.12); }
.sm-notify { position:relative; }
.sm-notify>span { position:absolute; top:-5px; right:-4px; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; background:#ef3f45; color:#fff; border-radius:9px; font-size:10px; font-weight:800; border:2px solid var(--sm-surface); }
.sm-user-chip { height:44px; display:flex; align-items:center; gap:8px; padding:5px 12px; border-radius:12px; background:linear-gradient(135deg,#4c1bad,#7b2ee0); color:#fff; min-width:148px; box-shadow:0 7px 17px rgba(86,34,200,.18); }
.sm-user-chip span:last-child { display:flex; flex-direction:column; line-height:1.05; min-width:0; }
.sm-user-chip strong { font-size:13px; white-space:nowrap; }
.sm-user-chip small { opacity:.74; font-size:9px; margin-top:4px; }
.sm-crown { color:#ffd629; font-size:19px; }
.sm-year-btn { height:42px; border:1px solid var(--sm-border); border-radius:11px; background:var(--sm-surface); color:var(--sm-text); padding:0 12px; font-weight:750; font-size:13px; white-space:nowrap; }
.sm-year-btn span { color:var(--sm-muted); padding-left:4px; }
.sm-edition-badge { display:inline-flex; align-items:center; height:36px; padding:0 12px; background:linear-gradient(135deg,#ff7b13,#ff650f); color:#fff; font-size:10px; font-weight:850; letter-spacing:.02em; border-radius:9px; white-space:nowrap; box-shadow:0 6px 14px rgba(255,122,19,.18); }

.sm-content { flex:1; padding:20px; width:100%; max-width:1800px; margin:0 auto; }
.sm-footer { min-height:44px; padding:9px 20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; background:linear-gradient(90deg,#162057,#20296b); color:#e9ecff; font-size:11px; }
.sm-online { color:#38dd89; font-weight:750; }

.sm-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.sm-page-head>div:first-child { min-width:0; }
.sm-page-head h1 { margin:3px 0 4px; font-size:clamp(25px,2.2vw,31px); line-height:1.12; font-weight:820; letter-spacing:-.025em; color:var(--sm-text); }
.sm-page-head p { margin:0; color:var(--sm-muted); font-size:13px; }
.sm-eyebrow { font-size:9px; font-weight:850; letter-spacing:.13em; color:#6f3bd1; }
.sm-page-actions { display:flex; gap:9px; flex-wrap:wrap; }
.sm-gradient-btn { border:0!important; background:linear-gradient(135deg,#5420c9,#7e35e8)!important; color:#fff!important; border-radius:10px!important; min-height:42px; padding:.61rem .98rem!important; box-shadow:0 7px 17px rgba(84,32,201,.22); font-weight:750; font-size:13px; white-space:nowrap; }
.sm-gradient-btn:hover { transform:translateY(-1px); box-shadow:0 9px 21px rgba(84,32,201,.28); }
.sm-outline-btn { border:1px solid var(--sm-border)!important; background:var(--sm-surface)!important; color:var(--sm-text)!important; border-radius:10px!important; min-height:42px; padding:.61rem .92rem!important; font-weight:650; font-size:13px; white-space:nowrap; }
.sm-outline-btn:hover { border-color:#b7a4ef!important; color:#5b28c8!important; }

.sm-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:15px; }
.sm-kpi-card { min-height:116px; padding:17px 10px 12px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--sm-border)); border-radius:var(--sm-radius); background:linear-gradient(145deg,var(--sm-surface),color-mix(in srgb,var(--soft) 36%,var(--sm-surface))); box-shadow:var(--sm-shadow); display:flex; align-items:center; position:relative; overflow:hidden; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.sm-kpi-card:hover { transform:translateY(-2px); box-shadow:var(--sm-shadow-hover); border-color:color-mix(in srgb,var(--accent) 34%,var(--sm-border)); }
.sm-kpi-card::after { content:""; position:absolute; width:72px; height:72px; border-radius:50%; right:-31px; top:-33px; background:var(--soft); opacity:.7; }
.sm-kpi-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; flex:0 0 42px; background:var(--soft); color:var(--accent); font-size:22px; font-weight:850; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); }
.sm-kpi-info { min-width:0; flex:1; padding-left:8px; display:flex; flex-direction:column; justify-content:center; }
.sm-kpi-label { color:var(--accent); font-size:10px; line-height:1.13; font-weight:850; white-space:normal; overflow:visible; min-height:22px; display:flex; align-items:flex-end; }
.sm-kpi-info strong { color:var(--sm-text); font-size:clamp(19px,1.55vw,25px); line-height:1.08; margin:3px 0 4px; white-space:nowrap; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.sm-kpi-money .sm-kpi-info strong { font-size:clamp(17px,1.32vw,22px); }
.sm-kpi-info small { color:var(--sm-muted); font-size:10px; line-height:1.15; white-space:normal; overflow:visible; min-height:12px; }
.sm-kpi-trend { position:absolute; top:7px; right:8px; color:var(--accent); font-size:8px; line-height:1; font-weight:850; padding:3px 5px; border-radius:999px; background:color-mix(in srgb,var(--soft) 80%,transparent); }
html[data-sm-theme="dark"] .sm-kpi-card { background:linear-gradient(145deg,var(--sm-surface),color-mix(in srgb,var(--accent) 7%,var(--sm-surface))); }
html[data-sm-theme="dark"] .sm-kpi-icon { background:color-mix(in srgb,var(--accent) 18%,var(--sm-surface)); }
html[data-sm-theme="dark"] .sm-kpi-trend { background:color-mix(in srgb,var(--accent) 13%,var(--sm-surface)); }

.sm-dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,.82fr); gap:15px; }
.sm-panel { background:var(--sm-surface); border:1px solid var(--sm-border); border-radius:var(--sm-radius); box-shadow:var(--sm-shadow); padding:17px; min-width:0; transition:border-color .18s ease,box-shadow .18s ease; }
.sm-panel:hover { border-color:color-mix(in srgb,#7650d2 18%,var(--sm-border)); }
.sm-panel-large { min-height:355px; }
.sm-panel-wide { min-height:300px; }
.sm-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.sm-panel-head h2 { margin:0; color:var(--sm-text); font-size:16px; line-height:1.25; font-weight:820; letter-spacing:-.01em; }
.sm-panel-head p { margin:3px 0 0; color:var(--sm-muted); font-size:11px; }
.sm-compact-select { width:116px; min-height:36px; font-size:11px; color:var(--sm-text); background-color:var(--sm-surface); border-color:var(--sm-border); }
.sm-chart-area { height:272px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border-radius:12px; background:linear-gradient(180deg,color-mix(in srgb,var(--sm-bg) 58%,transparent),transparent); }
.sm-chart-area svg { width:100%; height:226px; position:relative; z-index:1; }
.sm-chart-lines { position:absolute; inset:15px 0 36px; background:repeating-linear-gradient(to bottom,var(--sm-border) 0 1px,transparent 1px 51px); opacity:.72; }
.sm-chart-months { display:flex; justify-content:space-between; padding:0 16px 4px; color:var(--sm-muted); font-size:10px; }
.sm-donut-wrap { padding-top:4px; display:flex; flex-direction:column; align-items:center; }
.sm-donut { width:178px; height:178px; border-radius:50%; background:conic-gradient(#36c982 0 92.35%,#ff9f3f 92.35% 98.3%,#8058e8 98.3%); display:grid; place-items:center; position:relative; box-shadow:0 10px 24px rgba(54,201,130,.12); }
.sm-donut::after { content:""; width:116px; height:116px; border-radius:50%; background:var(--sm-surface); position:absolute; }
.sm-donut>span { z-index:1; display:grid; place-items:center; }
.sm-donut strong { font-size:22px; color:var(--sm-text); }
.sm-donut small { color:var(--sm-muted); font-size:10px; }
.sm-stat-list { width:100%; margin-top:15px; display:grid; gap:9px; font-size:11px; }
.sm-stat-list>div { display:grid; grid-template-columns:12px 1fr auto; align-items:center; gap:7px; }
.dot { width:7px; height:7px; border-radius:50%; }.dot.green{background:#36c982}.dot.orange{background:#ff9f3f}.dot.purple{background:#8058e8}
.sm-stat-list strong { font-size:11px; font-variant-numeric:tabular-nums; }
.sm-activity-list { display:grid; gap:0; }
.sm-activity-row { min-height:58px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 2px; border-bottom:1px solid var(--sm-border); }
.sm-activity-row:last-child { border-bottom:0; }
.sm-activity-icon { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:color-mix(in srgb,#7040da 11%,var(--sm-surface)); color:#7040da; font-weight:850; }
.sm-activity-copy { min-width:0; display:flex; flex-direction:column; }
.sm-activity-copy strong { color:var(--sm-text); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-activity-copy span { color:var(--sm-muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-activity-row time { color:var(--sm-muted); font-size:9px; white-space:nowrap; }
.sm-quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sm-quick-grid a { min-height:102px; border:1px solid var(--sm-border); border-radius:12px; background:linear-gradient(145deg,var(--sm-surface),var(--sm-surface-2)); color:var(--sm-text); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:10px; text-align:center; transition:.18s ease; }
.sm-quick-grid a:hover { transform:translateY(-2px); border-color:#bca8f0; box-shadow:0 10px 22px rgba(74,45,150,.10); }
.sm-quick-grid a span { font-size:24px; line-height:1; color:#6730d6; }
.sm-quick-grid a strong { font-size:11px; font-weight:750; }

.sm-module-foundation { display:grid; gap:15px; }
.sm-module-card { padding:20px; display:flex; gap:18px; align-items:center; background:linear-gradient(135deg,var(--sm-surface),color-mix(in srgb,#6d39d0 4%,var(--sm-surface))); border:1px solid var(--sm-border); border-radius:var(--sm-radius); box-shadow:var(--sm-shadow); }
.sm-module-mark { width:82px; height:82px; flex:0 0 82px; border-radius:19px; display:grid; place-items:center; background:linear-gradient(135deg,#5b25cc,#843ae9); color:white; font-size:34px; box-shadow:0 12px 25px rgba(87,38,199,.23); }
.sm-module-copy { min-width:0; }
.sm-module-copy h2 { margin:7px 0 5px; font-size:21px; color:var(--sm-text); }
.sm-module-copy p { margin:0; max-width:860px; color:var(--sm-muted); }
.sm-ready-badge { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border-radius:999px; background:#eaf9f1; color:#087848; font-size:9px; font-weight:850; letter-spacing:.07em; }
html[data-sm-theme="dark"] .sm-ready-badge { background:#123526; color:#5ce2a6; }
.sm-foundation-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sm-foundation-grid>div { min-height:105px; padding:16px; border:1px solid var(--sm-border); border-radius:13px; background:var(--sm-surface); box-shadow:var(--sm-shadow); display:flex; flex-direction:column; justify-content:center; }
.sm-foundation-grid strong { color:var(--sm-text); font-size:13px; }
.sm-foundation-grid span { color:var(--sm-muted); font-size:11px; margin-top:5px; }

.sm-login-page { min-height:100vh; display:grid; place-items:center; padding:24px; position:relative; overflow:hidden; background:radial-gradient(circle at 20% 15%,rgba(108,53,221,.17),transparent 32%),radial-gradient(circle at 85% 80%,rgba(255,122,24,.14),transparent 28%),var(--sm-bg); }
.sm-login-glow { position:absolute; border-radius:50%; filter:blur(60px); opacity:.25; pointer-events:none; }.glow-one{width:300px;height:300px;background:#6a35db;left:-100px;top:-80px}.glow-two{width:280px;height:280px;background:#ff7a18;right:-90px;bottom:-80px}
.sm-login-card { width:min(430px,100%); padding:30px; background:color-mix(in srgb,var(--sm-surface) 94%,transparent); backdrop-filter:blur(20px); border:1px solid var(--sm-border); border-radius:22px; box-shadow:0 24px 60px rgba(39,23,95,.18); display:grid; gap:10px; }
.sm-login-card>img { width:190px; height:150px; object-fit:contain; margin:0 auto 2px; filter:drop-shadow(0 8px 14px rgba(0,0,0,.10)); }
.sm-login-heading{text-align:center;margin-bottom:8px}.sm-login-heading span{font-size:10px;color:#6d39d0;font-weight:850;letter-spacing:.1em}.sm-login-heading h1{font-size:24px;margin:5px 0;color:var(--sm-text)}.sm-login-heading p{color:var(--sm-muted);margin:0;font-size:12px}.sm-login-card label{font-size:11px;font-weight:750}.sm-login-card .form-control{min-height:44px;border-radius:10px;background:var(--sm-surface);color:var(--sm-text);border-color:var(--sm-border)}.sm-login-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0 6px;font-size:10px}.sm-login-card>small{text-align:center;color:var(--sm-muted);margin-top:5px;font-size:9px}

.sm-empty-state { min-height:55vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--sm-muted); }.sm-empty-icon{font-size:55px;font-weight:850;color:#7040da}.sm-empty-state h2{color:var(--sm-text);margin:10px 0 5px}
.sidebar-collapsed .sm-sidebar { transform:translateX(calc(-1 * var(--sm-sidebar-width))); }
.sidebar-collapsed .sm-main-area { margin-left:0; }

@media (max-width: 1240px) {
    .sm-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .sm-search-wrap { width:min(430px,38vw); }
    .sm-user-chip small { display:none; }
}
@media (max-width: 1040px) {
    :root { --sm-sidebar-width:238px; }
    .sm-sidebar { transform:translateX(-100%); }
    .sidebar-open .sm-sidebar { transform:translateX(0); }
    .sm-main-area,.sidebar-open .sm-main-area { margin-left:0; }
    .sm-topbar { padding:0 14px; }
    .sm-content { padding:16px; }
    .sm-search-wrap { display:none; }
    .sm-user-chip { min-width:44px; width:44px; padding:5px; justify-content:center; }
    .sm-user-chip span:last-child { display:none; }
    .sm-year-btn { display:none; }
    .sm-dashboard-grid { grid-template-columns:1fr; }
    .sm-foundation-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
    body { font-size:14px; }
    .sm-kpi-grid { grid-template-columns:1fr 1fr; }
    .sm-topbar-right { gap:6px; }.sm-edition-badge{display:none}.sm-topbar{min-height:66px}
    .sm-page-head { align-items:flex-start; flex-direction:column; }.sm-page-actions{width:100%}.sm-page-actions .btn{flex:1}
    .sm-footer { justify-content:center; text-align:center; }
    .sm-module-card { align-items:flex-start; flex-direction:column; }.sm-module-mark{width:68px;height:68px;flex-basis:68px;font-size:28px}
    .sm-foundation-grid { grid-template-columns:1fr; }
    .sm-activity-row { grid-template-columns:36px minmax(0,1fr); }.sm-activity-row time{display:none}
}
@media (max-width: 480px) {
    .sm-kpi-grid { grid-template-columns:1fr; }.sm-content{padding:12px}.sm-panel{padding:14px}.sm-kpi-card{min-height:102px}
    .sm-page-head h1{font-size:25px}.sm-icon-btn{width:40px;height:40px;flex-basis:40px}
}

/* ===== School Master Phase 1 Core functional UI ===== */
.sm-work-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:start}
.sm-mt{margin-top:16px}.sm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.sm-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm-form-grid label,.sm-panel>label,.sm-toolbar label{display:grid;gap:6px;color:var(--sm-text);font-size:11px;font-weight:750}.sm-span-2{grid-column:span 2}.sm-span-4{grid-column:span 4}.sm-template-area{min-height:150px}.sm-form-grid textarea{min-height:84px}
.sm-toolbar{display:flex;align-items:end;gap:10px}.sm-toolbar-wrap{flex-wrap:wrap}.sm-toolbar>label{min-width:130px}.sm-toolbar .sm-grow{flex:1;min-width:280px}.sm-toolbar .btn{min-height:42px}.sm-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sm-search-small{width:min(240px,100%)}
.sm-table-wrap{width:100%;overflow:auto;border:1px solid var(--sm-border);border-radius:12px}.sm-table{width:100%;border-collapse:collapse;min-width:760px;background:var(--sm-surface);color:var(--sm-text);font-size:11px}.sm-table th{background:var(--sm-surface-2);color:var(--sm-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.sm-table th,.sm-table td{padding:10px 11px;border-bottom:1px solid var(--sm-border);vertical-align:middle}.sm-table tbody tr:last-child td{border-bottom:0}.sm-table tbody tr:hover{background:color-mix(in srgb,#6d39d0 4%,var(--sm-surface))}.sm-table .form-control,.sm-table .form-select{min-height:34px;font-size:11px;background:var(--sm-surface);color:var(--sm-text);border-color:var(--sm-border)}
.sm-status-chip{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,#6d39d0 12%,var(--sm-surface));color:#6d39d0;font-size:9px;font-weight:850;white-space:nowrap}.sm-selected-box{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:var(--sm-surface-2);border:1px solid var(--sm-border);margin-bottom:12px}.sm-selected-box strong{font-size:16px}.sm-selected-box span:not(.sm-status-chip){color:var(--sm-muted)}.sm-empty-mini{padding:24px;text-align:center;color:var(--sm-muted);border:1px dashed var(--sm-border);border-radius:12px}
.sm-alert{padding:11px 13px;border-radius:10px;font-size:11px;font-weight:650;border:1px solid transparent}.sm-alert-error{background:#fff0f1;border-color:#ffc5ca;color:#a51d2b}.sm-alert-success{background:#ecfbf3;border-color:#bfead2;color:#087848}.sm-alert-warning{background:#fff8e7;border-color:#f3d593;color:#8b5b00}html[data-sm-theme="dark"] .sm-alert-error{background:#391c22;border-color:#6c2d39;color:#ff9aa6}html[data-sm-theme="dark"] .sm-alert-success{background:#123526;border-color:#24563e;color:#6de7ad}html[data-sm-theme="dark"] .sm-alert-warning{background:#3a3018;border-color:#69552a;color:#f8d47c}
.sm-summary-hero{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.sm-summary-hero strong{font-size:34px;color:var(--sm-text);letter-spacing:-.03em}.sm-summary-hero span{color:var(--sm-muted)}.sm-rule-list{display:grid;gap:10px}.sm-rule-list>div{padding:12px;border:1px solid var(--sm-border);border-radius:11px;background:var(--sm-surface-2);display:grid;gap:3px}.sm-rule-list span{color:var(--sm-muted);font-size:10px}.sm-permission-table{min-width:980px}.sm-permission-table input[type=checkbox]{width:17px;height:17px}
.sm-test-accounts{display:grid;gap:3px;margin-top:8px;padding:10px;border-radius:10px;background:var(--sm-surface-2);border:1px solid var(--sm-border);font-size:9px;color:var(--sm-muted)}.sm-test-accounts strong{color:var(--sm-text)}
.sm-premium-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:linear-gradient(135deg,#f4b942,#f57d20);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 18px rgba(245,125,32,.18)}.sm-premium-mini{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#f4b942;color:#3e2400;font-size:8px;font-weight:900}.sm-premium-lock{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;border:1px solid var(--sm-border);border-radius:var(--sm-radius);background:linear-gradient(135deg,var(--sm-surface),color-mix(in srgb,#f4b942 8%,var(--sm-surface)));box-shadow:var(--sm-shadow)}.sm-premium-lock strong{font-size:22px;color:var(--sm-text)}.sm-premium-lock span{max-width:600px;color:var(--sm-muted)}
.sm-mark-input{width:72px!important;text-align:center}.sm-marks-table{min-width:1050px}.sm-marksheet-card{max-width:900px;margin:16px auto;padding:28px;border:2px solid var(--sm-border);border-radius:14px;background:#fff;color:#17191f;page-break-after:always}.sm-doc-head{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;border-bottom:2px solid #ddd;padding-bottom:14px}.sm-doc-head img{width:82px;height:72px;object-fit:contain}.sm-doc-head h2{margin:0;font-size:24px}.sm-doc-student{display:flex;justify-content:space-between;gap:10px;padding:15px 0}.sm-doc-table{width:100%;border-collapse:collapse}.sm-doc-table th,.sm-doc-table td{border:1px solid #bbb;padding:8px}.sm-doc-result{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.sm-doc-result span{padding:10px;border:1px solid #ddd;border-radius:8px;text-align:center;display:grid;gap:4px}
.sm-upload-box{display:grid;gap:8px;padding:15px;border:1px dashed #8b6ed8;border-radius:12px;background:color-mix(in srgb,#7040da 5%,var(--sm-surface));margin-bottom:10px}.sm-upload-inline{display:grid;gap:4px;padding:7px 10px;border:1px dashed var(--sm-border);border-radius:10px}.sm-import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.sm-import-summary>div{padding:12px;border:1px solid var(--sm-border);border-radius:10px;background:var(--sm-surface-2);display:grid;gap:2px;text-align:center}.sm-import-summary strong{font-size:20px}.sm-import-summary span{font-size:9px;color:var(--sm-muted)}
.sm-id-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.sm-id-card{min-height:365px;border-radius:18px;overflow:hidden;background:#fff;color:#18191d;border:1px solid #ddd;box-shadow:0 12px 28px rgba(30,20,70,.11);page-break-inside:avoid}.sm-id-top{height:72px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#5124bd,#8a46ed);color:white}.sm-id-top img{width:58px;height:54px;object-fit:contain}.sm-id-top strong{font-size:16px}.sm-id-body{padding:15px;text-align:center}.sm-id-photo{width:86px;height:104px;margin:0 auto 8px;border:2px solid #ddd;border-radius:10px;display:grid;place-items:center;overflow:hidden;color:#999}.sm-id-photo img{width:100%;height:100%;object-fit:cover}.sm-id-body h3{font-size:17px;margin:7px 0 11px}.sm-id-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:left;font-size:10px}.sm-id-details span{padding:7px;border-radius:7px;background:#f5f6fa}.sm-id-address{grid-column:span 2}.sm-id-foot{text-align:center;padding:9px;background:#fff2e8;color:#8b4c1a;font-size:9px;font-weight:800}
.sm-certificate{max-width:1000px;margin:20px auto;background:#fff;color:#17191f;padding:14px;page-break-after:always}.sm-cert-border{min-height:610px;border:8px double #7a50cd;padding:42px;display:flex;flex-direction:column}.sm-cert-number{text-align:right;font-size:11px;color:#555;margin:14px 0}.sm-cert-body{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:21px;line-height:1.8;padding:30px}.sm-cert-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;font-size:11px;border-top:1px solid #ddd;padding-top:35px}
@media(max-width:1100px){.sm-work-grid{grid-template-columns:1fr}.sm-form-grid-4{grid-template-columns:1fr 1fr}.sm-span-4{grid-column:span 2}}@media(max-width:700px){.sm-form-grid,.sm-form-grid-4{grid-template-columns:1fr}.sm-span-2,.sm-span-4{grid-column:span 1}.sm-toolbar{align-items:stretch;flex-direction:column}.sm-toolbar>label,.sm-toolbar .sm-grow{width:100%;min-width:0}.sm-import-summary{grid-template-columns:1fr}.sm-doc-result{grid-template-columns:1fr 1fr}.sm-cert-border{padding:18px}.sm-cert-body{font-size:16px;padding:15px}}
@media print{
  .sm-sidebar,.sm-topbar,.sm-footer,.sm-page-head,.sm-panel:not(.sm-print-area) .sm-panel-head,.sm-action-row,.sm-alert,.sm-premium-badge{display:none!important}
  .sm-main-area{margin-left:0!important}.sm-content{padding:0!important}.sm-panel{box-shadow:none!important;border:0!important;padding:0!important}.sm-print-area{display:block!important}.sm-marksheet-card,.sm-certificate,.sm-id-card{box-shadow:none!important}.sm-id-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}body{background:#fff!important}
}

.sm-chip-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.sm-chip-remove{border:0;background:transparent;color:inherit;font-size:1.15rem;line-height:1;padding:0 0 0 .35rem;cursor:pointer}

/* ===== School Master Phase 1 Core additions ===== */
.sm-scope-chip{border:1px solid var(--sm-border);background:var(--sm-surface-2);color:var(--sm-text);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750;cursor:pointer}.sm-scope-chip:hover{border-color:#7a50cd;color:#6d39d0}
.sm-summary-line{display:flex;justify-content:space-between;align-items:center;margin:2px 0 14px;padding:12px 14px;border:1px solid var(--sm-border);border-radius:11px;background:var(--sm-surface-2)}.sm-summary-line span{color:var(--sm-muted);font-size:10px;font-weight:750}.sm-summary-line strong{font-size:18px;color:var(--sm-text)}
.sm-note{color:var(--sm-muted);font-size:10px;line-height:1.55;margin-bottom:0}

/* ===== Phase 1 R5 usability upgrades ===== */
.sm-kpi-clickable{cursor:pointer;outline:none}.sm-kpi-clickable:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent),var(--sm-shadow-hover)}

.sm-global-search{position:relative;z-index:80}.sm-search-wrap{position:relative}.sm-search-go{border:0;border-radius:7px;padding:6px 10px;background:linear-gradient(135deg,#5b25cc,#7d34e6);color:#fff;font-size:9px;font-weight:850;letter-spacing:.03em;cursor:pointer;box-shadow:0 5px 12px rgba(91,37,204,.18)}.sm-search-go:hover{filter:brightness(1.05)}
.sm-search-results{position:absolute;top:49px;left:0;width:min(560px,70vw);max-height:430px;overflow:auto;padding:7px;background:var(--sm-surface);border:1px solid var(--sm-border);border-radius:14px;box-shadow:0 20px 45px rgba(25,17,55,.18);z-index:100}.sm-search-state{padding:18px;text-align:center;color:var(--sm-muted);font-size:11px}.sm-search-hit{width:100%;border:0;background:transparent;color:var(--sm-text);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;padding:9px;border-radius:10px;cursor:pointer}.sm-search-hit:hover{background:var(--sm-surface-2)}.sm-search-hit-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,#6d39d0 10%,var(--sm-surface));color:#6d39d0;font-size:18px}.sm-search-hit>span:nth-child(2){display:grid;gap:2px;min-width:0}.sm-search-hit strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-search-hit small{font-size:9px;color:var(--sm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-search-hit em{font-style:normal;font-size:8px;font-weight:800;color:#6d39d0;background:color-mix(in srgb,#6d39d0 8%,var(--sm-surface));border-radius:999px;padding:5px 7px}

.sm-student-picker{position:relative;margin-bottom:14px}.sm-student-picker>label{display:block;margin-bottom:6px;color:var(--sm-text);font-size:11px;font-weight:750}.sm-picker-search{display:flex;align-items:center;gap:8px;border:1px solid var(--sm-border);border-radius:11px;background:var(--sm-surface-2);padding:0 10px}.sm-picker-search>span{color:#6d39d0;font-size:18px}.sm-picker-search .form-control{border:0;background:transparent;box-shadow:none;min-height:44px}.sm-picker-search>button{border:0;background:transparent;color:var(--sm-muted);font-size:20px;cursor:pointer}.sm-picker-results{position:absolute;left:0;right:0;top:72px;z-index:40;max-height:330px;overflow:auto;padding:6px;background:var(--sm-surface);border:1px solid var(--sm-border);border-radius:12px;box-shadow:0 18px 40px rgba(30,20,70,.15)}.sm-picker-result{width:100%;border:0;background:transparent;color:var(--sm-text);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px;border-radius:9px;text-align:left;cursor:pointer}.sm-picker-result:hover{background:var(--sm-surface-2)}.sm-picker-result>span:nth-child(2){display:grid;gap:2px}.sm-picker-result strong{font-size:11px}.sm-picker-result small{font-size:9px;color:var(--sm-muted)}.sm-picker-result em{font-size:9px;font-style:normal;font-weight:800;color:#6d39d0}.sm-avatar-mini,.sm-avatar-large{display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#5b25cc,#833de7);color:#fff;font-weight:900}.sm-avatar-mini{width:40px;height:40px;font-size:11px}.sm-avatar-large{width:52px;height:52px;font-size:14px}.sm-selected-student{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px;margin:0 0 14px;border:1px solid color-mix(in srgb,#6d39d0 25%,var(--sm-border));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,#6d39d0 5%,var(--sm-surface)),var(--sm-surface))}.sm-selected-student>div:nth-child(2){display:grid;gap:2px}.sm-selected-student span{font-size:8px;font-weight:850;letter-spacing:.07em;color:#6d39d0;text-transform:uppercase}.sm-selected-student strong{font-size:14px;color:var(--sm-text)}.sm-selected-student small{font-size:9px;color:var(--sm-muted)}

.sm-import-summary-5{grid-template-columns:repeat(5,minmax(0,1fr))}

.sm-login-page{padding:28px}.sm-login-shell{width:min(1060px,100%);min-height:650px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);border:1px solid var(--sm-border);border-radius:28px;overflow:hidden;background:var(--sm-surface);box-shadow:0 34px 80px rgba(35,20,88,.18);position:relative;z-index:2}.sm-login-showcase{padding:52px;display:flex;flex-direction:column;justify-content:space-between;min-width:0;color:#fff;background:radial-gradient(circle at 15% 10%,rgba(255,173,56,.28),transparent 24%),radial-gradient(circle at 85% 80%,rgba(190,101,255,.35),transparent 32%),linear-gradient(145deg,#24105e,#5420b8 58%,#7330d8);position:relative;overflow:hidden}.sm-login-showcase::after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-120px;top:80px;box-shadow:0 0 0 52px rgba(255,255,255,.035),0 0 0 105px rgba(255,255,255,.025)}.sm-login-brandline{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.sm-login-brandline img{width:112px;height:78px;object-fit:contain}.sm-login-brandline span{font-size:9px;font-weight:850;letter-spacing:.13em;color:#eadfff}.sm-login-hero{position:relative;z-index:1;max-width:540px}.sm-login-secure{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:900;letter-spacing:.09em}.sm-login-hero h1{font-size:46px;line-height:1.03;letter-spacing:-.045em;margin:17px 0 15px;color:#fff}.sm-login-hero p{font-size:13px;line-height:1.7;color:#dfd4f8;max-width:500px}.sm-login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}.sm-login-feature-grid>div{padding:13px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);display:grid;gap:3px}.sm-login-feature-grid strong{font-size:11px}.sm-login-feature-grid span{font-size:9px;color:#d9cdf5}.sm-login-showcase>small{font-size:9px;color:#cbbbea;position:relative;z-index:1}
.sm-login-card-pro{width:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:48px 42px!important;align-content:center;background:var(--sm-surface)!important}.sm-login-mini-brand{display:none;text-align:center}.sm-login-mini-brand img{width:150px;height:105px;object-fit:contain}.sm-login-card-pro .sm-login-heading{text-align:left;margin-bottom:14px}.sm-login-card-pro .sm-login-heading span{font-size:9px;letter-spacing:.13em}.sm-login-card-pro .sm-login-heading h2{font-size:27px;letter-spacing:-.03em;margin:5px 0;color:var(--sm-text)}.sm-login-card-pro .sm-login-heading p{font-size:11px}.sm-login-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--sm-border);border-radius:11px;background:var(--sm-surface-2);padding:0 10px;transition:.18s ease}.sm-login-input-wrap:focus-within{border-color:#8d6be5;box-shadow:0 0 0 3px rgba(109,57,208,.09)}.sm-login-input-wrap>span{color:#6d39d0}.sm-login-input-wrap .form-control{border:0!important;background:transparent!important;box-shadow:none!important;padding-left:2px}.sm-password-toggle{border:0;background:transparent;color:#6d39d0;font-size:9px;font-weight:850;cursor:pointer;padding:6px}.sm-login-submit{min-height:46px;margin-top:6px}.sm-login-divider{display:flex;align-items:center;gap:10px;color:var(--sm-muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin:8px 0}.sm-login-divider::before,.sm-login-divider::after{content:"";height:1px;background:var(--sm-border);flex:1}.sm-login-demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sm-login-demo-grid button{border:1px solid var(--sm-border);border-radius:10px;background:var(--sm-surface-2);color:var(--sm-text);padding:9px 6px;display:grid;gap:2px;text-align:left;cursor:pointer}.sm-login-demo-grid button:hover{border-color:#9d7ee8;transform:translateY(-1px)}.sm-login-demo-grid strong{font-size:9px}.sm-login-demo-grid small{font-size:8px;color:var(--sm-muted)}.sm-login-trust{text-align:center;color:var(--sm-muted);font-size:8px;margin-top:6px}

@media(max-width:900px){.sm-login-shell{grid-template-columns:1fr;max-width:500px}.sm-login-showcase{display:none}.sm-login-card-pro{padding:34px 28px!important}.sm-login-mini-brand{display:block}.sm-login-card-pro .sm-login-heading{text-align:center}.sm-import-summary-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.sm-search-results{width:calc(100vw - 28px);left:-48px}.sm-selected-student{grid-template-columns:45px 1fr}.sm-selected-student .btn{grid-column:1 / -1}.sm-login-demo-grid{grid-template-columns:1fr}}


/* ===== School Master Phase 2 Complete v0.1 ===== */
.sm-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sm-chip-active{border-color:#7241d4!important;background:linear-gradient(135deg,#5b25cc,#7d34e6)!important;color:#fff!important}
.sm-compact-select{width:auto;min-width:190px}
.sm-photo-thumb{width:40px;height:40px;border-radius:10px;object-fit:cover;border:1px solid var(--sm-border)}
.sm-toggle-row{display:flex!important;align-items:center;gap:9px;color:var(--sm-text);font-size:11px;font-weight:700}
.sm-page-break{page-break-after:always;break-after:page}
.sm-page-card{break-inside:avoid;page-break-inside:avoid}

.sm-marksheet-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:2px solid #ddd;padding-bottom:13px}
.sm-marksheet-card header>div{display:grid;gap:3px}.sm-marksheet-card header h2{font-size:18px;margin:0}
.sm-marksheet-card footer{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}
.sm-marksheet-card footer>div{border:1px solid #ddd;border-radius:8px;padding:9px;text-align:center;display:grid;gap:3px}
.sm-marksheet-card footer span{font-size:9px;color:#666}.sm-marksheet-card footer strong{font-size:13px}

.sm-id-head{padding:13px 14px;text-align:center;background:linear-gradient(135deg,#5124bd,#8a46ed);color:#fff;display:grid;gap:2px}
.sm-id-head strong{font-size:16px}.sm-id-head span{font-size:8px;letter-spacing:.08em}
.sm-id-card>h3{text-align:center;font-size:16px;margin:6px 10px 10px}
.sm-id-meta{padding:0 14px 14px;display:grid;grid-template-columns:80px 1fr;gap:5px 8px;font-size:9px}
.sm-id-meta span{color:#666}.sm-id-meta strong{font-size:10px}
.sm-id-card .sm-id-photo{margin-top:12px}
.sm-id-back{padding-bottom:14px}.sm-id-address{padding:18px;display:grid;gap:7px;font-size:10px}.sm-id-address span{color:#666}.sm-id-address p{min-height:80px;margin:0}
.sm-id-sign{margin:22px 18px 0;border-top:1px solid #bbb;padding-top:7px;text-align:center;font-size:9px}

.sm-certificate-stack{display:grid;gap:18px}.sm-cert-brand{text-align:center;font-size:26px;font-weight:900;color:#4820a8}.sm-cert-sub{text-align:center;font-size:11px;color:#555;margin-top:3px}
.sm-cert-border h1{text-align:center;margin:34px 0 8px;font-size:29px;letter-spacing:.03em}.sm-cert-rule{width:120px;height:3px;background:#f0a32a;margin:0 auto 18px}
.sm-cert-extra{margin:0 auto 18px;min-width:300px;padding:10px 18px;border:1px solid #ddd;border-radius:9px;text-align:center;display:grid;gap:3px}
.sm-cert-extra span{font-size:9px;color:#777}.sm-cert-extra strong{font-size:15px}.sm-cert-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;border-top:1px solid #eee;padding-top:12px}
.sm-cert-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px;text-align:center}.sm-cert-signatures>div{border-top:1px solid #555;padding-top:7px;font-size:10px}

@media(max-width:1100px){.sm-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sm-kpi-grid-4{grid-template-columns:1fr}.sm-marksheet-card footer{grid-template-columns:1fr 1fr}.sm-id-meta{grid-template-columns:70px 1fr}}
@media print{
 .sm-page-break:last-child{page-break-after:auto;break-after:auto}
 .sm-marksheet-card{max-width:none!important}
 .sm-certificate{max-width:none!important}
}

/* v0.4 local/offline base controls: removes runtime dependency on external CSS/CDN. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:10px;padding:.55rem .9rem;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none;transition:.18s ease;background:var(--sm-surface);color:var(--sm-text)}
.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.35rem .6rem;font-size:12px}.btn-primary{background:#6330d6;color:#fff;border-color:#6330d6}.btn-light{background:var(--sm-surface);color:var(--sm-text);border-color:var(--sm-border)}.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn-warning{background:#f59e0b;color:#171717;border-color:#f59e0b}.w-100{width:100%!important}
.form-control,.form-select{display:block;width:100%;min-height:40px;padding:.55rem .72rem;border:1px solid var(--sm-border);border-radius:9px;background:var(--sm-surface);color:var(--sm-text);outline:none}.form-control:focus,.form-select:focus{border-color:#8d6be5;box-shadow:0 0 0 3px rgba(109,57,208,.09)}textarea.form-control{resize:vertical}

/* Login polish requested after runtime review */
.sm-login-brandline{gap:18px}.sm-login-brandline img{width:164px;height:112px}.sm-login-brand-copy{display:flex;flex-direction:column;gap:2px}.sm-login-brand-copy strong{font-size:18px;line-height:1;color:#fff;letter-spacing:.02em}.sm-login-brand-copy span{font-size:13px!important;font-weight:900!important;letter-spacing:.10em!important;color:#f1eaff!important}.sm-login-brand-copy small{font-size:10px;color:#d7c8f5}.sm-login-showcase>small{font-size:10px}.sm-login-card-pro{padding:34px 42px!important}.sm-login-create{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--sm-muted);padding:3px 0}.sm-login-create a{font-weight:850;color:#6d39d0}.sm-login-create span{font-size:8px;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,#36c982 12%,var(--sm-surface));color:#198754;font-weight:750}

/* Header polish: shorter search + guaranteed user-chip space */
.sm-topbar-left{flex:0 1 390px}.sm-global-search{width:100%}.sm-search-wrap{width:100%;max-width:390px}.sm-topbar-right{flex:1 1 auto;min-width:0}.sm-user-chip{min-width:172px;max-width:220px}.sm-user-chip strong{overflow:hidden;text-overflow:ellipsis}.sm-sync-chip{width:42px;height:42px;flex:0 0 42px;border-radius:11px;border:1px solid var(--sm-border);background:var(--sm-surface);color:#6d39d0;display:grid;place-items:center;position:relative}.sm-sync-chip>span{font-size:18px;font-weight:900}.sm-sync-chip>strong{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;border-radius:9px;background:#f59e0b;color:#fff;border:2px solid var(--sm-surface);display:grid;place-items:center;font-size:9px;padding:0 3px}
@media(max-width:1280px){.sm-topbar-left{flex-basis:330px}.sm-user-chip{min-width:160px}.sm-year-btn{padding:0 9px}.sm-edition-badge{padding:0 9px}}
@media(max-width:1120px){.sm-topbar-left{flex:1}.sm-search-wrap{max-width:330px}.sm-sync-chip{display:none}.sm-user-chip{min-width:150px}}

/* Free signup */
.sm-signup-shell{width:min(1120px,100%);display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--sm-border);border-radius:28px;overflow:hidden;background:var(--sm-surface);box-shadow:0 34px 80px rgba(35,20,88,.18);position:relative;z-index:2}.sm-signup-intro{padding:48px;color:#fff;background:linear-gradient(150deg,#25105f,#5b21c8 62%,#7d36e5);display:flex;flex-direction:column;justify-content:center;gap:22px}.sm-signup-brand{display:flex;align-items:center;gap:14px}.sm-signup-brand img{width:128px;height:92px;object-fit:contain}.sm-signup-brand>div{display:grid}.sm-signup-brand strong{font-size:19px}.sm-signup-brand span{font-size:10px;letter-spacing:.12em;color:#dfd2fa;font-weight:800}.sm-signup-intro h1{font-size:40px;line-height:1.06;margin:0;letter-spacing:-.04em}.sm-signup-intro>p{color:#e3d9f9;line-height:1.7;margin:0}.sm-signup-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sm-signup-benefits>div{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.07)}.sm-signup-benefits b{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#ffd35a}.sm-signup-benefits span{display:grid}.sm-signup-benefits strong{font-size:11px}.sm-signup-benefits small{font-size:9px;color:#d9cdf5}.sm-signup-intro>small{color:#cbbbea}.sm-signup-card{padding:36px 42px;display:grid;gap:12px;align-content:center}.sm-signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.sm-signup-grid label{font-size:10px;font-weight:800;color:var(--sm-text);display:grid;gap:5px}.sm-field-wide{grid-column:1/-1}.sm-signup-submit{min-height:46px}.sm-signup-login{text-align:center;font-size:11px;color:var(--sm-muted)}.sm-signup-login a{color:#6d39d0;font-weight:850}.sm-alert-success{background:#eaf9f1;color:#087848;border:1px solid #bfead3}.sm-alert-warning{background:#fff8df;color:#7a5b00;border:1px solid #f6df9e}
@media(max-width:900px){.sm-signup-shell{grid-template-columns:1fr;max-width:620px}.sm-signup-intro{display:none}.sm-signup-card{padding:30px 26px}.sm-login-brandline img{width:150px;height:100px}}
@media(max-width:600px){.sm-signup-grid{grid-template-columns:1fr}.sm-field-wide{grid-column:auto}}

/* Setup wizard + offline/sync */
.sm-setup-grid,.sm-hybrid-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sm-setup-wide{grid-column:1/-1}.sm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.sm-form-grid label{display:grid;gap:5px;font-size:10px;font-weight:800}.sm-inline-add{display:grid;grid-template-columns:1.4fr .7fr auto;gap:8px}.sm-chip-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.sm-chip-list>span{display:inline-flex;align-items:center;gap:6px;background:var(--sm-surface-2);border:1px solid var(--sm-border);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750}.sm-chip-list button{border:0;background:transparent;color:#dc3545;font-size:16px;cursor:pointer}.sm-setup-next{display:flex;align-items:center;justify-content:space-between;gap:14px}.sm-setup-next>div{display:grid}.sm-setup-next span{font-size:11px;color:var(--sm-muted);margin-top:4px}.sm-hybrid-hero{grid-column:1/-1;display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,var(--sm-surface),color-mix(in srgb,#6d39d0 7%,var(--sm-surface)))}.sm-hybrid-icon{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#5521c9,#7a35e8);color:#fff;font-size:36px}.sm-hybrid-hero h2{margin:8px 0 4px}.sm-hybrid-hero p{margin:0;color:var(--sm-muted)}.sm-status-pill{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850}.sm-status-pill.ok{background:#eaf9f1;color:#087848}.sm-status-pill.warn{background:#fff4dc;color:#9a6500}.sm-sync-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.sm-sync-stats>div{padding:12px;border:1px solid var(--sm-border);border-radius:11px;background:var(--sm-surface-2);display:grid;gap:4px}.sm-sync-stats span{font-size:9px;color:var(--sm-muted)}.sm-sync-stats strong{font-size:13px}.sm-offline-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.sm-offline-flow span{padding:10px 12px;border-radius:10px;background:var(--sm-surface-2);border:1px solid var(--sm-border);font-size:10px;font-weight:800}.sm-offline-flow b{color:#6d39d0}
@media(max-width:850px){.sm-setup-grid,.sm-hybrid-grid{grid-template-columns:1fr}.sm-setup-wide,.sm-hybrid-hero{grid-column:auto}.sm-form-grid{grid-template-columns:1fr}.sm-field-wide{grid-column:auto}.sm-sync-stats{grid-template-columns:1fr}.sm-setup-next{align-items:flex-start;flex-direction:column}}


/* ===== v0.5 UI ALIGNMENT PASS =====
   Runtime-review fixes: onboarding alignment, compact dashboard header/search,
   readable Super Admin chip, and cleaner ERP sidebar. Functional behavior unchanged. */

:root{--sm-sidebar-width:216px}

/* Sidebar: compact, aligned and usable on common 1366px laptops. */
.sm-sidebar{box-shadow:7px 0 24px rgba(30,18,89,.12)}
.sm-brand-wrap{min-height:116px;padding:8px 10px 6px}
.sm-brand-logo{width:156px;height:100px}
.sm-menu-label{font-size:9px;padding:11px 15px 6px;letter-spacing:.14em}
.sm-nav{padding:0 7px;gap:3px}
.sm-nav-primary{padding-bottom:6px}
.sm-nav-item{min-height:39px;padding:6px 8px;gap:9px;border-radius:9px;font-size:13px}
.sm-nav-icon{width:27px;height:27px;min-width:27px;border-radius:8px;font-size:15px}
.sm-sidebar-bottom{padding-bottom:9px}
.sm-edition-card{margin:8px 10px 0;padding:9px 10px}
.sm-edition-card div>span{font-size:8px}

/* Dashboard header: shorter search, fixed Search button and guaranteed user space. */
.sm-topbar{min-height:68px;padding:0 14px;gap:10px}
.sm-topbar-left{flex:0 1 350px;min-width:245px;gap:8px}
.sm-global-search{width:100%;min-width:0}
.sm-search-wrap{width:100%;max-width:330px;height:40px;gap:7px;padding:0 6px 0 10px;border-radius:10px}
.sm-search-input{font-size:12px}
.sm-search-go{height:30px;min-width:66px;padding:0 12px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:10px;line-height:1}
.sm-topbar-right{flex:1 1 auto;min-width:0;gap:7px}
.sm-user-chip{height:42px;min-width:184px;max-width:220px;padding:5px 11px;gap:7px;flex:0 1 205px}
.sm-user-chip strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-user-chip small{display:block!important;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-crown{font-size:18px}
.sm-year-btn{height:40px;padding:0 10px;font-size:12px}
.sm-icon-btn,.sm-sync-chip{width:40px;height:40px;flex-basis:40px}
.sm-edition-badge{height:34px;padding:0 10px;font-size:9px}

@media(max-width:1320px){
  .sm-topbar-left{flex-basis:310px;min-width:225px}
  .sm-search-wrap{max-width:290px}
  .sm-user-chip{min-width:174px;flex-basis:184px}
  .sm-edition-badge{padding:0 8px}
}
@media(max-width:1180px){
  .sm-topbar-left{flex:1 1 300px}
  .sm-search-wrap{max-width:275px}
  .sm-sync-chip{display:none}
  .sm-edition-badge{display:none}
  .sm-user-chip{min-width:168px;flex-basis:178px}
}
@media(max-width:1040px){
  :root{--sm-sidebar-width:216px}
  .sm-topbar-left{min-width:0;flex:1}
  .sm-search-wrap{display:none}
  .sm-user-chip{min-width:44px;width:44px;flex:0 0 44px;padding:5px;justify-content:center}
  .sm-user-chip span:last-child{display:none}
}

/* Login: balanced 50/50 composition, stronger brand hierarchy and clean vertical alignment. */
.sm-login-page{min-height:100dvh;padding:clamp(14px,2.2vw,28px);overflow:auto}
.sm-login-shell{width:min(1080px,100%);min-height:610px;grid-template-columns:minmax(0,1.04fr) minmax(410px,.96fr);border-radius:24px}
.sm-login-showcase{padding:42px 46px;gap:24px;justify-content:space-between}
.sm-login-brandline{gap:20px;align-items:center}
.sm-login-brandline img{width:190px;height:122px;flex:0 0 190px}
.sm-login-brand-copy{gap:5px;min-width:0}
.sm-login-brand-copy strong{font-size:20px;line-height:1.05}
.sm-login-brand-copy span{font-size:14px!important;line-height:1.2;letter-spacing:.09em!important}
.sm-login-brand-copy small{font-size:10px}
.sm-login-hero h1{font-size:42px;line-height:1.02;margin:14px 0 13px}
.sm-login-hero p{font-size:12.5px;line-height:1.65}
.sm-login-feature-grid{gap:9px}
.sm-login-feature-grid>div{min-height:64px;padding:11px 12px}
.sm-login-card-pro{padding:38px 42px!important;align-content:center;gap:9px!important}
.sm-login-card-pro .sm-login-heading{margin-bottom:10px}
.sm-login-card-pro .sm-login-heading h2{font-size:28px}
.sm-login-input-wrap{min-height:45px}
.sm-login-submit{min-height:45px}

/* Free signup: equal fields, no stretched empty columns, more deliberate visual balance. */
.sm-signup-shell{width:min(1100px,100%);min-height:620px;grid-template-columns:minmax(360px,.84fr) minmax(0,1.16fr);border-radius:24px}
.sm-signup-intro{padding:40px 42px;gap:18px;justify-content:space-between}
.sm-signup-brand{gap:18px}
.sm-signup-brand img{width:170px;height:112px;flex:0 0 170px}
.sm-signup-brand strong{font-size:20px;line-height:1.05}
.sm-signup-brand span{font-size:12px;line-height:1.25;letter-spacing:.1em}
.sm-signup-intro h1{font-size:36px;line-height:1.05}
.sm-signup-intro>p{font-size:12px;line-height:1.65}
.sm-signup-benefits{gap:9px}
.sm-signup-benefits>div{min-height:66px;padding:10px}
.sm-signup-card{padding:32px 38px;gap:11px;align-content:center}
.sm-signup-card .sm-login-heading{text-align:left;margin-bottom:5px}
.sm-signup-card .sm-login-heading h2{font-size:27px;margin:5px 0 2px}
.sm-signup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;align-items:end}
.sm-signup-grid label{font-size:10.5px;gap:6px}
.sm-signup-grid .form-control{min-height:43px}
.sm-signup-submit{min-height:45px;margin-top:2px}

/* Setup wizard: centered working width, equal cards/fields and stable action alignment. */
.sm-content:has(.sm-setup-grid){max-width:1440px;padding-left:24px;padding-right:24px}
.sm-setup-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}
.sm-setup-grid>.sm-panel{height:100%}
.sm-setup-grid .sm-panel-head{min-height:48px;align-items:flex-start}
.sm-setup-grid .sm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-bottom:0}
.sm-setup-grid .sm-form-grid label{font-size:10.5px}
.sm-setup-grid .sm-form-grid .form-control{min-height:42px}
.sm-setup-grid textarea.form-control{min-height:86px}
.sm-inline-add{grid-template-columns:minmax(0,1.5fr) minmax(90px,.6fr) auto;align-items:end}
.sm-inline-add .btn{min-height:42px;min-width:78px}
.sm-setup-wide{grid-column:1/-1}
.sm-setup-next{min-height:64px;padding:2px 0}

@media(max-width:900px){
  .sm-login-shell,.sm-signup-shell{grid-template-columns:1fr;max-width:620px;min-height:auto}
  .sm-login-showcase,.sm-signup-intro{display:none}
  .sm-login-card-pro,.sm-signup-card{padding:30px 26px!important}
  .sm-login-mini-brand{display:block}
  .sm-login-mini-brand img{width:170px;height:112px}
  .sm-login-card-pro .sm-login-heading,.sm-signup-card .sm-login-heading{text-align:center}
}
@media(max-width:850px){
  .sm-setup-grid{grid-template-columns:1fr}
  .sm-setup-wide{grid-column:auto}
}
@media(max-width:600px){
  .sm-signup-grid,.sm-setup-grid .sm-form-grid{grid-template-columns:1fr}
  .sm-field-wide{grid-column:auto}
  .sm-inline-add{grid-template-columns:1fr 90px}
  .sm-inline-add .btn{grid-column:1/-1}
}


/* Settings > Plans & User Guide */
.sm-plans-guide{scroll-margin-top:92px}
.sm-plans-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--sm-border);border-radius:18px;background:linear-gradient(135deg,rgba(109,40,217,.09),rgba(124,58,237,.025));box-shadow:var(--sm-shadow)}
.sm-plans-hero h2{margin:3px 0 5px;font-size:24px}
.sm-plans-hero p{margin:0;max-width:760px;color:var(--sm-muted);font-size:12px;line-height:1.6}
.sm-current-plan{display:flex;flex-direction:column;gap:2px;min-width:138px;padding:10px 13px;border-radius:13px;background:var(--sm-panel);border:1px solid var(--sm-border);font-size:10px;color:var(--sm-muted);text-transform:uppercase;letter-spacing:.06em}
.sm-current-plan strong{font-size:16px;color:#6d28d9;letter-spacing:0}
.sm-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.sm-plan-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:20px;border:1px solid var(--sm-border);border-radius:18px;background:var(--sm-panel);box-shadow:var(--sm-shadow);overflow:hidden}
.sm-plan-card.is-current{outline:2px solid #7c3aed;outline-offset:1px}
.sm-plan-card.is-current:after{content:'CURRENT PLAN';position:absolute;top:12px;right:12px;padding:4px 7px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:8px;font-weight:900;letter-spacing:.07em}
.sm-plan-pro{background:linear-gradient(180deg,rgba(124,58,237,.055),var(--sm-panel) 36%)}
.sm-plan-premium{background:linear-gradient(180deg,rgba(249,115,22,.075),rgba(124,58,237,.045) 26%,var(--sm-panel) 52%);border-color:rgba(124,58,237,.35)}
.sm-plan-ribbon{position:absolute;top:15px;right:-36px;transform:rotate(36deg);width:142px;text-align:center;padding:4px 0;background:linear-gradient(90deg,#7c3aed,#f97316);color:#fff;font-size:7px;font-weight:900;letter-spacing:.08em}
.sm-plan-top{padding-right:42px}
.sm-plan-kicker{font-size:8px;font-weight:900;letter-spacing:.1em;color:#7c3aed}
.sm-plan-top h3{margin:5px 0 4px;font-size:25px}
.sm-plan-top p{margin:0 0 12px;color:var(--sm-muted);font-size:11px;line-height:1.5}
.sm-plan-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:10.5px;line-height:1.45}
.sm-plan-list li{position:relative;padding-left:20px}
.sm-plan-list li:before{content:'✓';position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:rgba(34,197,94,.12);color:#16a34a;font-size:9px;font-weight:900}
.sm-plan-foot{margin-top:auto;padding-top:15px;color:var(--sm-muted);font-size:9px;font-weight:700}
.sm-feature-compare{margin-top:14px;padding:16px 18px;border:1px solid var(--sm-border);border-radius:16px;background:var(--sm-panel);box-shadow:var(--sm-shadow)}
.sm-feature-compare summary{cursor:pointer;font-weight:900;font-size:13px;color:var(--sm-text)}
.sm-plan-table th:not(:first-child),.sm-plan-table td:not(:first-child){text-align:center;white-space:nowrap}
.sm-plan-table td:not(:first-child){font-weight:900;color:#6d28d9}
.sm-upgrade-note{margin-top:14px;padding:13px 15px;border:1px solid rgba(34,197,94,.28);border-radius:14px;background:rgba(34,197,94,.07);font-size:10.5px;line-height:1.55;color:var(--sm-text)}
@media(max-width:1050px){.sm-plan-grid{grid-template-columns:1fr}.sm-plan-card{min-height:auto}}
@media(max-width:650px){.sm-plans-hero{flex-direction:column}.sm-current-plan{width:100%}.sm-plan-card{padding:17px}.sm-feature-compare{padding:13px}}
