:root{color-scheme:light;--ink:#192a3b;--muted:#6b7c8e;--border:#dbe4ec;--bg:#f4f7fa;--surface:#fff;--teal:#0a665c;--soft:#e7f3f0;--danger:#a5293e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial}.topbar{height:70px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1160px)/2));gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white;width:38px;height:38px;border-radius:12px;font-size:20px;font-weight:800}.brand b{display:block;font-size:17px;line-height:1.3}.brand small{color:var(--muted);display:block}.layout{max-width:1160px;margin:0 auto;display:flex;gap:20px;padding:30px 20px}.sidebar{width:220px;flex-shrink:0;padding:20px 10px;background:white;border:1px solid var(--border);border-radius:15px;align-self:flex-start}.sidebar-label{color:var(--muted);letter-spacing:.07em;margin:0 12px 12px;display:block}.nav-button{width:100%;display:block;padding:11px 13px;text-align:left;border:0;border-radius:9px;background:none;color:var(--ink);cursor:pointer;margin:2px 0}.nav-button.active{background:var(--soft);color:var(--teal);font-weight:700}.page{flex:1;min-width:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:26px;margin-bottom:18px;box-shadow:0 4px 22px rgba(20,43,60,.025)}.narrow{max-width:500px;margin:38px auto}.panel h1{font-size:23px;letter-spacing:-.04em;line-height:1.3;margin:0 0 8px}.panel h2{font-size:18px;letter-spacing:-.02em;margin:0 0 8px}.panel p{color:var(--muted);margin:0 0 22px}.subtitle{color:var(--muted);margin:0 0 22px}.field{display:block;margin-bottom:15px}.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input,select{width:100%;border:1px solid #cbd8e3;border-radius:9px;background:white;color:var(--ink);font:inherit;padding:11px 12px;outline:none}input:focus,select:focus{border-color:#2d978c;box-shadow:0 0 0 3px #d8efea}.pw-wrap{display:flex;gap:7px}.pw-wrap input{min-width:0}.pw-toggle{border:1px solid var(--border);border-radius:9px;background:#f6f9fb;padding:0 12px;white-space:nowrap;cursor:pointer;color:#3b566b}.primary,.secondary,.danger,.text-button{font:inherit;cursor:pointer;border-radius:9px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary{background:var(--teal);color:white;border:1px solid var(--teal);font-weight:600}.secondary{background:white;color:var(--ink);border:1px solid var(--border)}.danger{background:#fff3f4;color:var(--danger);border:1px solid #f1cbd0}.text-button{background:transparent;border:0;color:var(--teal)}button:disabled{opacity:.5;cursor:wait}.full{width:100%}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice{padding:13px;border-radius:10px;background:#eef5ff;color:#27527c;border:1px solid #d4e6fc;margin:13px 0}.warning{padding:13px;border-radius:10px;background:#fff7e7;color:#805f16;border:1px solid #f4dfae;margin:13px 0}.ok{padding:13px;border-radius:10px;background:#e9f6f0;color:#196447;border:1px solid #cae9d8;margin:13px 0}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.muted{color:var(--muted)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;background:#f5f8fa}th,td{padding:11px;border-bottom:1px solid var(--border);vertical-align:middle}td button{font-size:12px;padding:6px 8px;margin-right:4px}.pill{display:inline-flex;font-size:12px;border-radius:999px;padding:3px 9px;background:#eef3f6;color:#456}.pill.yes{background:#e5f5ec;color:#286747}.pill.wait{background:#fff3db;color:#865c14}.toast{position:fixed;right:22px;bottom:22px;background:#203a4b;color:white;padding:14px 18px;border-radius:11px;max-width:min(380px,90vw);box-shadow:0 7px 26px #0003;z-index:10}#user-buttons{display:flex;gap:9px;align-items:center}#user-label{font-size:12px;color:var(--muted)}@media(max-width:760px){.layout{padding:16px;display:block}.sidebar{width:auto;margin-bottom:16px;display:flex;flex-wrap:wrap;padding:10px}.sidebar-label{display:none}.nav-button{width:auto}.panel{padding:18px}.narrow{margin:20px auto}.two{grid-template-columns:1fr}#user-label{display:none}th,td{font-size:12px}}

[hidden]{display:none!important}

/* v1.4 Master Data Akademik */
.space-between{justify-content:space-between}.master-toolbar{margin-top:20px}.search{width:100%;max-width:410px}.search span{display:block;font-weight:600;font-size:13px;margin-bottom:6px}.editpanel{border:1px solid var(--border);background:#f8fbfc;border-radius:12px;padding:20px;margin-top:16px}.master-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px}.master-form-actions{grid-column:1/-1}textarea{width:100%;border:1px solid #cbd8e3;border-radius:9px;color:var(--ink);padding:10px 12px;min-height:83px;font:inherit;resize:vertical}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:15px;flex-wrap:wrap}.pager span{margin-right:auto;color:var(--muted)}.empty{padding:18px;color:var(--muted);text-align:center}.file-pick{display:inline-flex;border:1px solid var(--border);border-radius:9px;background:white;color:var(--ink);cursor:pointer;padding:10px 15px;align-items:center}#import-preview{margin-top:15px}#import-preview .tablewrap{margin:10px 0}.master-form-grid .field{min-width:0}@media(max-width:760px){.master-form-grid{grid-template-columns:1fr}.pager{justify-content:flex-start}}
