:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f8;--bg-elevated:#fff;--bg-muted:#eef2f6;--border:#d7dee7;--border-strong:#b7c2cf;--text:#15202b;--text-secondary:#5b6b7c;--text-inverse:#fff;--brand:#0f6cbd;--brand-hover:#0b57a4;--brand-soft:#e8f2fb;--success:#0f7b46;--success-soft:#e7f7ee;--danger:#b42318;--danger-soft:#fef3f2;--warning:#b54708;--warning-soft:#fffaeb;--shadow:0 10px 30px #15202b0f;--radius:14px;--radius-sm:10px;--font:"Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--max:1120px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);margin:0;padding:0;line-height:1.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}main{display:block}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#e8eef5;background:#0f1720;flex-direction:column;gap:24px;padding:24px 16px;display:flex}.brand{flex-direction:column;gap:4px;padding:0 8px;display:flex}.brand strong{letter-spacing:.02em;font-size:1.1rem}.brand span{color:#9db0c3;font-size:.85rem}.nav{flex-direction:column;gap:6px;display:flex}.nav a{color:#d7e3ef;border-radius:10px;padding:10px 12px;text-decoration:none;display:block}.nav a:hover,.nav a[aria-current=page]{background:#ffffff14;text-decoration:none}.nav a[aria-current=page]{background:#0f6cbd47}.sidebar-footer{color:#9db0c3;flex-direction:column;gap:10px;margin-top:auto;padding:0 8px;font-size:.85rem;display:flex}.content{min-width:0;padding:28px}.page{max-width:var(--max);flex-direction:column;gap:20px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header h1{margin:0 0 6px;font-size:1.6rem;line-height:1.25}.page-header p{color:var(--text-secondary);margin:0}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2,.card h3{margin:0 0 12px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.stat{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat .label{color:var(--text-secondary);font-size:.9rem}.stat .value{margin-top:8px;font-size:1.6rem;font-weight:700}.muted{color:var(--text-secondary)}.small{font-size:.9rem}.auth-layout{background:radial-gradient(circle at top right, #0f6cbd1f, transparent 30%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);width:min(100%,440px);box-shadow:var(--shadow);padding:28px}.auth-card h1{margin:0 0 8px;font-size:1.5rem}.auth-card .subtitle{color:var(--text-secondary);margin:0 0 24px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:.95rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:2px solid #0f6cbd40}.field .hint{color:var(--text-secondary);font-size:.85rem}.btn{appearance:none;background:var(--brand);color:var(--text-inverse);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}.btn:hover{background:var(--brand-hover);text-decoration:none}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:#fff}.btn-secondary:hover{background:var(--bg-muted)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#912018}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-muted)}.alert{border-radius:var(--radius-sm);border:1px solid #0000;padding:12px 14px}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}.alert-success{background:var(--success-soft);color:var(--success);border-color:#abefc6}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:#fedf89}.alert-info{background:var(--brand-soft);color:#175cd3;border-color:#b2ddff}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 10px}table.data th{color:var(--text-secondary);font-size:.85rem;font-weight:600}.badge{background:var(--bg-muted);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.empty{text-align:center;color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:var(--radius);background:#fafbfc;padding:28px 16px}.checklist{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.checklist li{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.checklist .mark{border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:inline-grid}.checklist .mark.done{background:var(--success-soft);color:var(--success)}.checklist .mark.todo{background:var(--bg-muted);color:var(--text-secondary)}.mono{font-family:var(--mono);font-size:.9rem}.code-block{color:#e8eef5;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;font-family:var(--mono);background:#0f1720;padding:14px;font-size:.85rem;line-height:1.55;overflow-x:auto}.modal-backdrop{z-index:50;background:#0f172073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);border:1px solid var(--border);width:min(100%,560px);box-shadow:var(--shadow);background:#fff;padding:20px}.modal header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal h2{margin:0;font-size:1.2rem}.topbar-mobile{display:none}.actions{flex-wrap:wrap;gap:8px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar-mobile{color:#fff;background:#0f1720;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.topbar-mobile nav{flex-wrap:wrap;gap:8px;display:flex}.topbar-mobile a{color:#d7e3ef;font-size:.9rem;text-decoration:none}.content{padding:18px 14px 28px}.grid-2,.grid-3{grid-template-columns:1fr}.page-header{flex-direction:column}}
