:root{
  --navy:#071a33;
  --navy-2:#0c3157;
  --blue:#0f5fa8;
  --blue-soft:#eaf3ff;
  --gold:#d4a63f;
  --gold-soft:#fff7df;
  --ink:#17243a;
  --muted:#64748b;
  --line:#dce5ef;
  --surface:#ffffff;
  --bg:#f3f7fb;
  --success:#087f5b;
  --warning:#b46900;
  --danger:#b42318;
  --shadow:0 20px 50px rgba(7,26,51,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.spb-body{margin:0;background:linear-gradient(180deg,#edf4fb 0,#f8fbfe 420px,#f3f7fb 100%);font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);min-height:100vh}
a{color:inherit}
.spb-shell{max-width:1480px;margin:0 auto;padding:24px}
.spb-topbar{position:sticky;top:0;z-index:40;background:rgba(7,26,51,.96);backdrop-filter:blur(16px);box-shadow:0 8px 25px rgba(7,26,51,.18)}
.spb-topbar-inner{max-width:1480px;margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.spb-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;min-width:0}
.spb-brand img{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:12px;padding:4px;box-shadow:0 6px 16px rgba(0,0,0,.22)}
.spb-brand strong{display:block;font-size:18px;letter-spacing:.02em}
.spb-brand small{display:block;color:#c8d7e8;font-size:12px;margin-top:2px}
.spb-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.spb-nav a,.spb-nav button{border:1px solid rgba(255,255,255,.14);color:#e8f0f9;background:rgba(255,255,255,.06);padding:9px 13px;border-radius:11px;text-decoration:none;font-weight:700;font-size:13px;cursor:pointer}
.spb-nav a:hover,.spb-nav a.active{background:#fff;color:var(--navy)}
.spb-nav .accent{background:var(--gold);border-color:var(--gold);color:#332400}
.spb-hero{margin-top:26px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(212,166,63,.26),transparent 28%),linear-gradient(125deg,var(--navy),#0d426f 58%,#0f68a8);color:#fff;padding:34px;box-shadow:var(--shadow);position:relative}
.spb-hero:after{content:"";position:absolute;right:-70px;bottom:-120px;width:330px;height:330px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}
.spb-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:28px;align-items:center;position:relative;z-index:2}
.spb-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.spb-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:17px 0 12px;max-width:850px}
.spb-hero p{max-width:820px;color:#dce9f6;line-height:1.7;font-size:15px;margin:0}
.spb-source-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:20px;backdrop-filter:blur(8px)}
.spb-source-card .source-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800;margin-bottom:12px}
.spb-source-card dl{margin:0;display:grid;grid-template-columns:115px 1fr;gap:9px 12px;font-size:13px}
.spb-source-card dt{color:#bdd1e6}.spb-source-card dd{margin:0;font-weight:700}
.spb-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2dd4a4;box-shadow:0 0 0 4px rgba(45,212,164,.18)}
.spb-status-dot.warn{background:#f5bd55;box-shadow:0 0 0 4px rgba(245,189,85,.18)}
.spb-alert{margin-top:18px;border-radius:15px;padding:14px 16px;border:1px solid #f3cf79;background:#fff7dc;color:#6a4a00;font-size:14px;font-weight:650}
.spb-alert.success{border-color:#a7ddca;background:#eafaf4;color:#075f47}
.spb-alert.danger{border-color:#f2b7b2;background:#fff0ef;color:#8f1d15}
.spb-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:22px 0}
.spb-metric{background:var(--surface);border:1px solid rgba(15,49,87,.08);border-radius:20px;padding:19px;box-shadow:0 10px 28px rgba(7,26,51,.06);position:relative;overflow:hidden}
.spb-metric:before{content:"";position:absolute;right:-23px;top:-26px;width:84px;height:84px;background:var(--blue-soft);border-radius:50%}
.spb-metric .label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;position:relative}
.spb-metric .value{font-size:31px;font-weight:900;margin-top:8px;position:relative;color:var(--navy)}
.spb-metric .hint{font-size:12px;color:#7b8ba0;margin-top:4px;position:relative}
.spb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:20px 0}
.spb-class-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:21px;box-shadow:0 10px 25px rgba(7,26,51,.055);text-decoration:none;transition:.2s ease;display:block}
.spb-class-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(7,26,51,.11);border-color:#adc9e4}
.spb-class-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.spb-class-title{font-size:21px;font-weight:900;color:var(--navy)}
.spb-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;background:var(--blue-soft);color:#0c5796;font-size:11px;font-weight:850}
.spb-class-count{font-size:42px;font-weight:950;line-height:1;margin:20px 0 3px;color:var(--navy)}
.spb-class-sub{color:var(--muted);font-size:13px}
.spb-progress{height:9px;border-radius:999px;background:#e9eff5;overflow:hidden;margin:18px 0 12px}
.spb-progress>span{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,#0f5fa8,#21a179)}
.spb-class-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.spb-mini{background:#f7f9fc;border-radius:12px;padding:9px;text-align:center}
.spb-mini strong{display:block;font-size:15px;color:var(--navy)}
.spb-mini span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}
.spb-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 13px 35px rgba(7,26,51,.065);overflow:hidden;margin-top:20px}
.spb-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 23px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdff)}
.spb-panel-head h2{margin:0;font-size:22px;color:var(--navy)}
.spb-panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.spb-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.spb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cdd9e5;background:#fff;color:var(--navy);padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:800;font-size:13px;cursor:pointer}
.spb-btn:hover{background:#f0f6fc;border-color:#98b9d8}
.spb-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.spb-btn.gold{background:var(--gold);color:#352500;border-color:var(--gold)}
.spb-btn.danger{background:#fff0ef;color:#9d2219;border-color:#efb8b3}
.spb-filter{display:grid;grid-template-columns:220px minmax(240px,1fr) auto;gap:10px;padding:17px 23px;border-bottom:1px solid var(--line);background:#f8fbfe}
.spb-field{width:100%;border:1px solid #cbd8e5;background:#fff;border-radius:12px;padding:11px 13px;font:inherit;color:var(--ink);outline:none}
.spb-field:focus{border-color:#6b9bc6;box-shadow:0 0 0 4px rgba(15,95,168,.10)}
.spb-table-wrap{overflow:auto}
.spb-table{width:100%;border-collapse:collapse;min-width:1050px}
.spb-table th{padding:13px 15px;background:#f2f6fa;color:#53657a;font-size:11px;letter-spacing:.05em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.spb-table td{padding:14px 15px;border-bottom:1px solid #edf1f5;vertical-align:middle;font-size:13px}
.spb-table tbody tr:hover{background:#f7fbff}
.spb-table .name{font-weight:850;color:var(--navy);font-size:14px}
.spb-table .nisn{font-family:Consolas,monospace;color:#49617c;font-size:12px}
.spb-progress-inline{display:flex;align-items:center;gap:8px;min-width:130px}
.spb-progress-inline .bar{height:7px;flex:1;border-radius:999px;background:#e5edf4;overflow:hidden}
.spb-progress-inline .bar span{display:block;height:100%;background:linear-gradient(90deg,#0f5fa8,#23a17b);border-radius:999px}
.spb-progress-inline b{font-size:12px;min-width:39px;text-align:right}
.spb-chip{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850;white-space:nowrap}
.spb-chip.green{background:#e5f7f0;color:#087456}.spb-chip.amber{background:#fff3d9;color:#986000}.spb-chip.red{background:#ffebe9;color:#a3281f}.spb-chip.blue{background:#e9f3ff;color:#0b5b9f}.spb-chip.gray{background:#edf1f5;color:#5a6879}
.spb-empty{padding:50px;text-align:center;color:var(--muted)}
.spb-footer{padding:28px 0 12px;text-align:center;color:#718096;font-size:12px}
.spb-audit-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px 23px;background:#fffdf5;border-bottom:1px solid #f2e2ad}
.spb-audit-item{font-size:12px;color:#6b5a25}.spb-audit-item strong{display:block;color:#332b13;margin-bottom:2px}
.spb-print-only{display:none}
.spb-print-kop{align-items:center;gap:18px;border-bottom:3px solid #111;padding:8px 10px 12px;margin-bottom:16px;text-align:center;font-family:Arial,sans-serif}.spb-print-kop img{width:75px;height:75px;object-fit:contain}.spb-print-kop>div{flex:1;font-size:14px;line-height:1.12}.spb-print-kop strong{display:block;font-size:21px;margin:4px 0}.spb-print-kop small{display:block;font-size:10px;line-height:1.35;font-weight:500}

.spb-security{border-left:4px solid var(--danger);background:#fff3f2;padding:14px 16px;border-radius:12px;margin-top:18px;color:#7f231c;font-size:13px}
.legacy-wrap{max-width:1480px;margin:auto}
@media(max-width:1100px){.spb-metrics{grid-template-columns:repeat(3,1fr)}.spb-hero-grid{grid-template-columns:1fr}.spb-grid{grid-template-columns:1fr}.spb-audit-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.spb-shell{padding:14px}.spb-topbar-inner{padding:10px 14px}.spb-brand small{display:none}.spb-nav a{padding:8px 9px}.spb-hero{padding:24px 20px;border-radius:21px}.spb-metrics{grid-template-columns:repeat(2,1fr)}.spb-filter{grid-template-columns:1fr}.spb-panel-head{align-items:flex-start;flex-direction:column}.spb-audit-strip{grid-template-columns:1fr}}
@media print{
  body.spb-body{background:#fff}.spb-topbar,.no-print,.spb-filter,.spb-actions{display:none!important}.spb-shell{max-width:none;padding:0}.spb-hero{box-shadow:none;border:1px solid #9aa7b5;background:#fff;color:#000;padding:18px;border-radius:0}.spb-hero p,.spb-source-card dt{color:#333}.spb-source-card{color:#000;border:1px solid #aaa;background:#fff}.spb-metrics,.spb-grid{break-inside:avoid}.spb-metric,.spb-class-card,.spb-panel{box-shadow:none;border:1px solid #bbb}.spb-print-only{display:flex}.spb-table{min-width:0;font-size:10px}.spb-table th,.spb-table td{padding:7px}.spb-footer{display:none}
}
