:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #d8e0ea;flex-direction:column;gap:28px;padding:24px 18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:#17324d;border-radius:8px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{color:#66758a;margin-top:2px;font-size:12px}nav{gap:6px;display:grid}nav a{color:#34475d;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none}nav a:hover{color:#17324d;background:#eef4f7}.main-panel{min-width:0;padding:32px}.page{gap:24px;max-width:1120px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow{color:#0f766e;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:28px;line-height:1.2}h2{font-size:16px}.status-pill{color:#0f5f59;background:#e7f5f3;border:1px solid #9fcec7;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.status-pill.muted{color:#705a0f;background:#fbf2d7;border-color:#d7c58c}.table-wrap,.panel{background:#fff;border:1px solid #d8e0ea;border-radius:8px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid #e6ebf1;padding:14px 16px;font-size:14px}th{color:#66758a;text-transform:uppercase;font-size:12px}tbody tr:last-child td{border-bottom:0}.split-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;display:grid}.panel{gap:16px;padding:18px;display:grid}label{color:#34475d;gap:8px;font-size:13px;font-weight:700;display:grid}select{color:#17202a;background:#fff;border:1px solid #c8d3df;border-radius:8px;width:100%;min-height:40px;padding:0 10px}button{color:#fff;background:#17324d;border:0;border-radius:8px;min-height:40px;font-weight:700}button:disabled{cursor:not-allowed;background:#9aa8b8}.result-panel{min-height:280px}.empty-state{color:#66758a;text-align:center;border:1px dashed #b9c5d2;border-radius:8px;place-items:center;min-height:220px;font-size:14px;display:grid}.user-menu{margin-top:auto;position:relative}.user-menu-trigger{color:#17324d;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;min-height:0;padding:8px 10px;display:grid}.user-menu-trigger:hover,.user-menu-trigger.open{background:#eef4f7;border-color:#d8e0ea}.user-menu-trigger .avatar{color:#fff;letter-spacing:.4px;background:#17324d;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.user-menu-trigger .who{min-width:0;display:grid}.user-menu-trigger .who strong{color:#17324d;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.user-menu-trigger .who span{color:#66758a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.user-menu-trigger .chevron{color:#9aa8b8;font-size:12px;transition:transform .15s;transform:rotate(180deg)}.user-menu-trigger.open .chevron{transform:rotate(0)}.user-menu-dropdown{z-index:10;background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #0f23371f}.user-menu-dropdown button{color:#17324d;text-align:left;background:0 0;border-radius:6px;min-height:0;padding:8px 10px;font-size:13px;font-weight:600}.user-menu-dropdown button:hover{background:#eef4f7}.user-menu-dropdown button.danger{color:#b91c1c}.user-menu-dropdown button.danger:hover{background:#fdecec}.loading-shell{color:#66758a;place-items:center;min-height:100vh;font-size:14px;display:grid}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d8e0ea;border-radius:12px;gap:20px;width:100%;max-width:380px;padding:28px;display:grid}.login-card header h1{font-size:22px}.tab-row{background:#eef4f7;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.tab{color:#66758a;background:0 0;border-radius:6px;min-height:36px;font-weight:600}.tab.active{color:#17324d;background:#fff;box-shadow:0 1px 2px #17324d1f}.login-form{gap:12px;display:grid}.login-form input{color:#17202a;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #c8d3df;border-radius:8px;padding:0 10px}.muted-text{color:#66758a;margin:0;font-size:13px}.error-text{color:#b91c1c;margin:0;font-size:13px}.ok-text{color:#0f766e;margin:0;font-size:13px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.profile-panel{align-content:start}.profile-panel h2{margin-bottom:4px}input:disabled{color:#66758a;cursor:not-allowed;background:#f0f4f8}.page-actions{align-items:center;gap:8px;display:flex}.ghost-button{color:#17324d;background:#fff;border:1px solid #c8d3df;min-height:36px;padding:0 14px;font-size:13px;font-weight:600}.ghost-button:hover:not(:disabled){background:#eef4f7}.ghost-button:focus-visible,.primary-button:focus-visible,.danger-button:focus-visible,nav a:focus-visible,.user-menu-trigger:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.primary-button{color:#fff;background:#17324d;min-height:40px;padding:0 18px;font-weight:700}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.5}.danger-button{color:#b91c1c;background:#fff;border:1px solid #f1c2c2;min-height:36px;padding:0 14px;font-weight:600}.danger-button:hover:not(:disabled){background:#fdecec}.badge{letter-spacing:.2px;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.badge-ok{color:#0f5f59;background:#e7f5f3;border-color:#9fcec7}.badge-warn{color:#705a0f;background:#fbf2d7;border-color:#d7c58c}.badge-bad{color:#9b1c1c;background:#fde2e2;border-color:#f1a3a3}.badge-muted{color:#475569;background:#eef2f7;border-color:#cbd5e1}.callout{border:1px solid #0000;border-radius:8px;gap:4px;padding:14px 16px;font-size:13px;display:grid}.callout strong{color:inherit;font-size:13px}.callout-error{color:#9b1c1c;background:#fdecec;border-color:#f1a3a3}.callout-warn{color:#705a0f;background:#fbf2d7;border-color:#d7c58c}.callout-ok{color:#0f5f59;background:#e7f5f3;border-color:#9fcec7}.case-cell{align-content:start;gap:4px;display:grid}.case-cell strong{color:#17324d;font-size:14px}.case-cell .muted-text,.variant-cell .muted-text{color:#66758a;letter-spacing:.2px;margin:0;font-size:11px}.variant-cell{gap:2px;display:grid}.row-actions{flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.row-actions a{color:#17324d;border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.row-actions a:hover{border-bottom-color:#17324d}.row-actions a:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #0f766e}.empty-row{text-align:center;color:#66758a;padding:28px 16px;font-size:13px}.editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.editor-stack{gap:18px;min-width:0;display:grid}.field{color:#34475d;gap:8px;font-size:13px;font-weight:700;display:grid}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.field .hint{color:#66758a;font-size:11px;font-weight:500}textarea.code-area{color:#17202a;resize:vertical;background:#fbfcfe;border:1px solid #c8d3df;border-radius:8px;width:100%;min-height:200px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:400;line-height:1.55}textarea.code-area[readonly]{color:#475569;cursor:default;background:#f0f4f8}input[type=number],input[type=text],input[type=email],input[type=password]{color:#17202a;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #c8d3df;border-radius:8px;padding:0 10px}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.editor-header .meta{gap:6px;display:grid}.editor-header .actions{flex-wrap:wrap;gap:8px;display:flex}.editor-header h1{font-size:22px}.editor-summary{color:#475569;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.editor-summary>span{background:#eef2f7;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.validation-panel{gap:14px;display:grid}.validation-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.validation-panel li{background:#fbfcfe;border:1px solid #d8e0ea;border-radius:6px;grid-template-columns:60px minmax(0,1fr);gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:grid}.validation-panel li.severity-fail{background:#fdecec;border-color:#f1a3a3}.validation-panel li.severity-warn{background:#fbf2d7;border-color:#d7c58c}.validation-panel li code{color:#17324d;background:#17324d14;border-radius:4px;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.dialog-backdrop{z-index:100;background:#0f233766;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;gap:16px;width:100%;max-width:460px;padding:22px;display:grid;box-shadow:0 16px 40px #0f23372e}.dialog h2{margin:0;font-size:18px}.dialog .actions{justify-content:flex-end;gap:8px;display:flex}.dialog textarea,.dialog input[type=text]{width:100%;font:inherit;resize:vertical;border:1px solid #c8d3df;border-radius:8px;padding:10px 12px}@media (width<=960px){.editor-grid,.field-row{grid-template-columns:1fr}}@media (width<=760px){.app-shell,.split-grid{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d8e0ea;border-right:0}.main-panel{padding:20px}}
