:root{--sentra-navy:#0b1f3b;--sentra-blue:#0a84ff;--sentra-teal:#00c896;--sentra-green:#28d18b;--sentra-light:#eaf0f5;--sentra-gray:#4b5563;--bg:#f6f9fc;--surface:#fff;--text:var(--sentra-navy);--text-muted:var(--sentra-gray);--border:#dbe4ee;--radius:10px;--shadow:0 1px 3px #0b1f3b14, 0 4px 16px #0b1f3b0f;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5}a{color:var(--sentra-blue);text-decoration:none}.btn{border-radius:var(--radius);cursor:pointer;font:600 15px var(--font);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;transition:filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--sentra-blue);color:#fff}.btn-teal{background:var(--sentra-teal);color:#fff}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-danger{color:#fff;background:#d92d20}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.input,select.input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font:400 15px var(--font);color:var(--text);background:#fff;outline:none;padding:10px 12px}.input:focus{border-color:var(--sentra-blue);box-shadow:0 0 0 3px #0a84ff26}.label{font:600 13px var(--font);color:var(--text-muted);margin:12px 0 4px;display:block}.badge{font:600 12px var(--font);border-radius:999px;padding:2px 10px;display:inline-block}.badge-teal{color:#00795b;background:#00c8961f}.badge-blue{color:#0059b3;background:#0a84ff1f}.badge-gray{background:var(--sentra-light);color:var(--sentra-gray)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;font:600 12px var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border);padding:10px 12px}.table td{border-bottom:1px solid var(--border);padding:10px 12px}.error-box{color:#b42318;border-radius:var(--radius);background:#fef3f2;border:1px solid #fda29b;margin-top:12px;padding:10px 14px;font-size:14px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--sentra-navy);color:#fff;flex-direction:column;flex-shrink:0;gap:4px;width:232px;padding:20px 14px;display:flex}.sidebar .brand{letter-spacing:.14em;align-items:center;gap:10px;padding:4px 10px 18px;font-size:17px;font-weight:800;display:flex}.sidebar .brand img{object-fit:contain;width:28px;height:28px}.navlink{color:#c6d3e2;cursor:pointer;text-align:left;font-size:14px;font-weight:600;font-family:var(--font);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.navlink:hover{color:#fff;background:#ffffff12}.navlink.active{background:var(--sentra-blue);color:#fff}.sidebar .spacer{flex:1}.main{flex:1;max-width:1080px;padding:28px 32px}.page-title{margin:0 0 4px;font-size:22px;font-weight:800}.page-sub{color:var(--text-muted);margin:0 0 24px;font-size:14px}.grid{gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat{font-size:28px;font-weight:800}.stat-label{font:600 12px var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.shell-dark{color:#e8f0f8;background:#071426;min-height:100vh}.shell-dark .card{color:#e8f0f8;box-shadow:none;background:#0d2138;border-color:#1d3a5c}.shell-dark .stat-label,.shell-dark .page-sub{color:#7f9cbd}.big-action{letter-spacing:.04em;border-radius:14px;width:100%;padding:22px;font-size:18px;font-weight:800}
