:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#fafbfc;--sidebar:#0e1116;--sidebar-fg:#b3b9c4;--sidebar-hover:#ffffff0f;--sidebar-active:#ffffff1a;--border:#e7e9ee;--border-strong:#d6d9e0;--fg:#14171c;--muted:#697280;--subtle:#9aa1ad;--accent:#0068ff;--accent-hover:#0056d6;--accent-soft:#eaf1ff;--danger:#d64545;--danger-soft:#fdecec;--success:#157a43;--radius:8px;--radius-lg:10px;--shadow:0 1px 2px #1018280a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13.5px;line-height:1.5}h1,h2,h3{letter-spacing:-.02em}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.muted{color:var(--muted)}.error{color:var(--danger);font-size:13px}.success{color:var(--success);font-size:13px}.brand{letter-spacing:-.01em;font-size:16px;font-weight:700}.brand span{color:var(--accent)}.brand-lg{margin-bottom:22px;font-size:22px}.btn{border-radius:var(--radius);white-space:nowrap;cursor:pointer;height:34px;color:var(--fg);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong)}.btn.secondary:not(:disabled):hover{background:var(--surface-2)}.btn.danger{background:var(--surface);color:var(--danger);border-color:var(--border-strong)}.btn.danger:not(:disabled):hover{background:var(--danger-soft);border-color:#eab8b8}.btn.link{color:var(--accent);background:0 0;border:none;height:auto;padding:4px 0;font-weight:500}.btn.link:not(:disabled):hover{text-decoration:underline}.btn-block{width:100%}.auth{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:30px;box-shadow:0 10px 40px #10182814}.auth-card .btn-block{margin-top:18px}.auth-card .btn.link{margin:8px auto 0;display:block}.field-label{color:var(--muted);margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;height:36px;color:var(--fg);padding:0 11px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}select.input{padding-right:8px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;height:auto;min-height:76px;padding:9px 11px;line-height:1.5}.shell{grid-template-columns:232px 1fr;height:100%;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-fg);flex-direction:column;padding:18px 12px;display:flex}.sidebar .brand{color:#fff;padding:4px 10px 20px}.nav{flex-direction:column;flex:1;gap:1px;display:flex}.nav-link{color:var(--sidebar-fg);border-radius:7px;padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.nav-link:hover{background:var(--sidebar-hover);color:#fff}.nav-link.active{background:var(--sidebar-active);color:#fff;font-weight:600}.sidebar-foot{border-top:1px solid #ffffff14;margin-top:8px;padding-top:12px}.sidebar-foot .who{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;padding:0 10px 6px;font-size:12px;overflow:hidden}.sidebar-foot .btn.link{color:var(--sidebar-fg);text-align:left;justify-content:flex-start;width:100%;padding:6px 10px}.sidebar-foot .btn.link:hover{color:#fff;text-decoration:none}.content{padding:28px 36px;overflow-y:auto}.page{max-width:1040px;margin:0 auto}.page h1{margin:0 0 4px;font-size:22px}.dev-banner{color:#7a5b00;border-radius:var(--radius);background:#fff7e6;border:1px solid #f4dfa2;margin-bottom:22px;padding:9px 14px;font-size:12.5px}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head h1{margin:0}.btn-inline{flex:none}.cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:22px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px 20px}.card-value{letter-spacing:-.02em;font-size:28px;font-weight:700}.card-label{color:var(--muted);margin-top:2px;font-size:13px}.empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--muted);margin-top:20px;padding:44px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--subtle);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface-2);padding:10px 16px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13.5px}.table tr:last-child td{border-bottom:none}.table .row-click{cursor:pointer;transition:background .1s}.table .row-click:hover{background:#f8fafd}.table-msg{text-align:center;color:var(--muted);padding:36px 16px}.pill{border-radius:999px;align-items:center;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill-live{color:var(--success);background:#e6f6ec}.pill-draft{color:var(--muted);background:#eef0f3}.drawer-overlay{z-index:50;background:#10182859;justify-content:flex-end;animation:.12s fade;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);flex-direction:column;width:500px;max-width:92vw;height:100%;animation:.16s slide;display:flex;box-shadow:-10px 0 40px #10182829}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translate(24px)}to{transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.drawer-head h2{margin:0;font-size:16px}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.icon-btn:hover{color:var(--fg)}.drawer-body{flex-direction:column;flex:1;gap:15px;padding:22px 24px;display:flex;overflow-y:auto}.drawer-foot{border-top:1px solid var(--border);background:var(--surface-2);padding:14px 24px}.drawer-actions{justify-content:space-between;align-items:center;display:flex}.row-gap{gap:8px;display:flex}.form-field{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--muted);font-size:12px;font-weight:600}.form-hint{color:var(--subtle);font-size:11.5px}.req{color:var(--danger);margin-left:2px}.form-note{color:var(--muted);margin:0;font-size:12px}.form-section{text-transform:uppercase;letter-spacing:.05em;color:var(--subtle);border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-size:11px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.checkbox-row{cursor:pointer;align-items:center;gap:9px;font-size:13.5px;display:flex}.checkbox-row input{width:15px;height:15px;accent-color:var(--accent)}.subtabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:18px;display:flex}.subtab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:13.5px;font-weight:600}.subtab:hover{color:var(--fg)}.subtab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-actions{justify-content:flex-end;margin-bottom:14px;display:flex}.compose-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:620px;box-shadow:var(--shadow);flex-direction:column;gap:15px;padding:24px;display:flex}.image-upload{flex-direction:column;gap:6px;display:flex}.uploaded-row{align-items:center;gap:10px;display:flex}.uploaded-tag{color:var(--success);font-size:12.5px;font-weight:600}.image-upload input[type=file]{height:auto;padding:6px 8px;font-size:12.5px}.dev-skip{margin-top:8px;font-size:12px}
