:root{--background:#fff;--sidebar:#f9fafb;--sidebar-hover:#e8eaed;--sidebar-selection:#dfe2e6;--foreground:#1a1b1e;--muted-foreground:#5f6470;--faint:#969ca6;--border:#e6e8eb;--border-strong:#d9dce1;--input-border:#dcdfe3;--muted:#f3f4f6;--hover:#f1f2f4;--primary:#5d8def;--primary-hover:#4a7cd9;--primary-weak:#edf3fe;--success:#298e5c;--success-weak:#e8f5ee;--warning:#c96f06;--warning-weak:#fdf3e6;--danger:#d42b2b;--danger-weak:#fdeceb;--radius-sm:4px;--radius:6px;--radius-lg:10px;--shadow-hairline:0 0 0 .5px #191b1f1a, 0 1px 1.5px #191b1f0a, 0 2px 6px -2px #191b1f0a;--shadow-button:0 0 0 .5px #191b1f29, 0 1px 1px #191b1f0f, 0 2px 4px -1px #191b1f12;--shadow-primary:inset 0 1px 0 #ffffff2e, 0 1px 1.5px #191b1f2e;--shadow-popover:0 0 0 .5px #191b1f14, 0 2px 6px -2px #191b1f14, 0 24px 56px -12px #191b1f47;--focus:0 0 0 3px #5d8def33;--font:"Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gap:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:13px/1.55 var(--font);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:17px;line-height:1.4}h2{font-size:14px}h3{font-size:13px}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}code,.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted-foreground)}.center{text-align:center;padding:48px}.error{color:var(--danger)}::selection{background:#5d8def33}.shell{height:100%;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:2px;width:232px;padding:10px 8px;display:flex}.sidebar .logo{align-items:center;gap:8px;height:36px;margin-bottom:6px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.logo-mark{background:var(--primary);color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.sidebar nav{flex-direction:column;gap:1px;display:flex}.side-item,.sub-item{border-radius:var(--radius);height:30px;color:var(--foreground);align-items:center;gap:8px;padding:0 8px;font-size:13px;display:flex}.side-item svg{width:16px;height:16px;color:var(--muted-foreground);flex:none}.side-item:hover,.sub-item:hover{background:var(--sidebar-hover);color:var(--foreground)}.side-item.active,.sub-item.active{background:var(--sidebar-selection);color:var(--foreground);font-weight:500}.side-item.active svg{color:var(--foreground)}.subnav{margin-top:14px}.subnav h2{height:26px;color:var(--faint);align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:flex}.sub-item{color:var(--muted-foreground)}.sidebar-spacer{flex:1}.side-user{border-top:1px solid var(--border);align-items:center;gap:8px;margin:0 -8px -10px;padding:10px 16px 12px;display:flex}.avatar{background:var(--muted);width:26px;height:26px;color:var(--muted-foreground);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.side-user .who{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.side-user .who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-user .who .muted{font-size:11px}.content{flex:1;min-width:0;padding:28px 36px 24px;overflow:auto}.geo-credit{margin-top:40px;font-size:11px}.geo-credit a{color:var(--faint)}.card{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-hairline);padding:20px}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.btn{border-radius:var(--radius);background:var(--background);height:30px;box-shadow:var(--shadow-button);color:var(--foreground);font:inherit;white-space:nowrap;cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;transition:background .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--hover);color:var(--foreground)}.btn.primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-primary)}.btn.primary:hover{background:var(--primary-hover);color:#fff}.btn:disabled,.btn:disabled:hover{opacity:.5;cursor:default;background:var(--background)}.btn.primary:disabled{background:var(--primary)}.btn:focus-visible{box-shadow:var(--shadow-button), var(--focus);outline:none}button.link{color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}button.link:hover{color:var(--foreground)}button.link:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:var(--foreground);background:var(--background);border:1px solid var(--input-border);border-radius:var(--radius);height:32px;padding:0 10px;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;height:auto;padding:8px 10px}select{padding-right:6px}input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);padding:0}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--focus);outline:none}input:disabled,select:disabled{background:var(--muted);color:var(--faint)}label{color:var(--muted-foreground);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}label.row{color:var(--foreground);flex-direction:row;font-size:13px;font-weight:400}.field{flex-direction:column;gap:6px;display:flex}.field-head{justify-content:space-between;align-items:center;display:flex}.help-toggle{border:1px solid var(--border-strong);background:var(--background);width:18px;height:18px;color:var(--muted-foreground);font:600 11px/1 var(--font);cursor:pointer;border-radius:50%;padding:0}.help-toggle:hover,.help-toggle[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}.help{border-radius:var(--radius);background:var(--muted);flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;line-height:1.6;display:flex}.hint{color:var(--muted-foreground);margin-top:-8px;font-size:12px}.hint.ok{color:var(--success)}button.link.alternative{color:var(--primary);align-self:flex-start;margin-top:-6px;font-size:12px}table.table{border-collapse:collapse;background:var(--background);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 12px}.table th{color:var(--muted-foreground);white-space:nowrap;font-size:12px;font-weight:500}.table tbody tr:hover{background:#fafbfc}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.tag{border-radius:var(--radius-sm);background:var(--muted);height:20px;color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.tag.blue{background:var(--primary-weak);color:#3a6bd1}.tag.green{background:var(--success-weak);color:var(--success)}.tag.orange{background:var(--warning-weak);color:var(--warning)}.tag.red{background:var(--danger-weak);color:var(--danger)}.tag button.link{color:inherit}.login{background:var(--sidebar);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{flex-direction:column;gap:14px;width:360px;padding:28px;display:flex}.login-card h1{align-items:center;gap:8px;margin-bottom:4px;display:flex}.login-card .btn{height:34px}.brand{color:var(--foreground)}
