:root{--navy:#071d49;--navy-900:#05153a;--navy-700:#16306b;--navy-500:#3a5491;--navy-200:#c9d3e6;--navy-100:#e3e8f2;--navy-50:#f1f4f9;--bg:#f4f6fa;--surface:#fff;--surface-2:#f9fafc;--text:#0b1630;--text-2:#4a5671;--muted:#8a94ab;--line:#071d4913;--line-strong:#071d4921;--ok:#12805c;--warn:#b7791f;--bad:#c0392b;--glass:#ffffffdb;--glass-border:#071d4912;--glass-blur:blur(20px) saturate(160%);--shadow:inset 0 1px 0 #fffc, 0 1px 2px #071d490a, 0 12px 32px -20px #071d4947;--shadow-lg:0 0 0 1px #071d490f, 0 2px 6px #071d490d, 0 32px 80px -24px #05153a73;--ring:0 0 0 3px #3a549138;--radius:12px;--radius-sm:8px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--gap:var(--space-3);--card-pad:var(--space-4);--page-pad:var(--space-5) var(--space-6);--control-h:34px;--row-h:36px;--sidebar-w:224px;--topbar-h:52px;--header-h:60px;--content-max:1920px;--font:"Inter", system-ui, -apple-system, sans-serif;--serif:"Playfair Display", Georgia, serif;--label:"Montserrat", "Inter", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--scrollbar:#071d4938}*,:after,:before{box-sizing:border-box}body,html{background:var(--bg);color:var(--text);font-family:var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:13.5px;line-height:1.5}a{text-decoration:none}a,button{color:inherit}button{font:inherit}.glass{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}:focus-visible{box-shadow:var(--ring);outline:none}.mono{font-family:var(--mono)}.num{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.title{font-family:var(--font);letter-spacing:-.02em;color:var(--navy);font-weight:650}h1.title{letter-spacing:-.025em;font-size:22px}.btn{height:var(--control-h);border-radius:var(--radius-sm);letter-spacing:-.005em;border:1px solid var(--line-strong);background:var(--surface);color:var(--navy);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 1px 1px #071d490a}.btn:hover{background:var(--surface-2);border-color:var(--navy-200)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{border-radius:7px;height:28px;padding:0 10px;font-size:12px}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 1px 2px #05153a40}.btn-primary:hover{background:#102a62;border-color:#102a62;box-shadow:0 2px 8px -2px #071d4973}.btn-primary:focus-visible{box-shadow:var(--ring)}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff;box-shadow:0 1px 2px #781e1440}.btn-danger:hover{background:#ad3427;border-color:#ad3427}.input{height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);font:inherit;color:var(--text);outline:none;padding:0 11px;font-size:13px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #071d4908}.input::placeholder{color:var(--muted)}.input:hover:not(:disabled):not(:focus){border-color:var(--navy-200)}textarea.input{height:auto;min-height:calc(var(--control-h) * 2);resize:vertical;padding:7px 10px;line-height:1.45}.input:disabled{background:var(--navy-50);color:var(--muted)}.field{flex-direction:column;gap:6px;display:flex}.field+.field{margin-top:var(--space-4)}.field-label{color:var(--navy);letter-spacing:-.005em;font-size:12.5px;font-weight:600}.field-hint{color:var(--muted);font-size:12px}.field .input{width:100%}.form-error{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--bad);background:#c0392b0f;border:1px solid #c0392b29;font-size:12.5px}.input:focus{border-color:var(--navy-500);box-shadow:var(--ring)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a94ab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}input[type=checkbox],input[type=radio]{accent-color:var(--navy)}.dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.ok{background:#2fbf8a;box-shadow:0 0 0 3px #2fbf8a33}.dot.warn{background:#e8a33a;box-shadow:0 0 0 3px #e8a33a33}.dot.bad{background:#e05a4b;box-shadow:0 0 0 3px #e05a4b33}::selection{background:#071d4924}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover,html{scrollbar-color:var(--scrollbar) transparent}.header{--scrollbar:#ffffff38}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background:padding-box padding-box;border:2px solid #0000;border-radius:999px}:hover::-webkit-scrollbar-thumb{background-color:var(--scrollbar)}.hub-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.hub-row{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}a.hub-row:hover{background:#071d490a}.hub-row .hr-ico{width:28px;height:28px;color:var(--navy-500);background:#071d490b;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.hub-row .hr-t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.hub-row .hr-m{color:var(--muted);flex-shrink:0;font-size:11.5px}.hub-row .hr-m.bad{color:var(--bad);font-weight:600}.hub-empty{color:var(--muted);margin:4px 8px 8px;font-size:12.5px}.hub-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 8px 4px;font-size:10.5px;font-weight:700}
