:root{--bg:#070a12;--panel:#0d1320;--panel-2:#111a2b;--border:#1c2740;--text:#e8edf7;--muted:#8b93a7;--accent:#2f6fed;--accent-2:#5b8cff;--danger:#e5534b;--ok:#3fb970;--warn:#d9a03f}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;font-size:14px}a{color:var(--accent-2);text-decoration:none}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:8px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:90px}label{color:var(--muted);margin:12px 0 4px;font-size:12px;display:block}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:220px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:10px;padding:4px 10px 20px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #1a3f96);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.brand-name{letter-spacing:.3px;font-size:15px;font-weight:700}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar nav a{color:var(--muted);border-radius:8px;padding:9px 12px;font-weight:500;display:block}.sidebar nav a:hover{color:var(--text);background:#ffffff0a}.sidebar nav a.active{color:#fff;background:#2f6fed2e}.sidebar .foot{color:var(--muted);padding:0 10px;font-size:12px}.sidebar .foot button{color:var(--muted);background:0 0;border:none;padding:6px 0}.sidebar .foot button:hover{color:var(--text)}.content{flex:1;max-width:1200px;padding:28px 32px 64px}.page-title{margin-bottom:4px;font-size:22px;font-weight:700}.page-sub{color:var(--muted);margin-bottom:24px}.card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-radius:14px;padding:18px 20px}.grid{gap:14px;display:grid}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (width<=1000px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:12px}.stat-value{margin-top:6px;font-size:26px;font-weight:700}.stat-note{color:var(--muted);margin-top:4px;font-size:12px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px}.table tr:hover td{background:#ffffff05}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent-2)}.btn.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.btn.secondary:hover{border-color:var(--accent)}.btn.danger{color:var(--danger);background:#e5534b24;border:1px solid #e5534b4d}.btn.danger:hover{background:#e5534b3d}.btn.sm{border-radius:6px;padding:5px 10px;font-size:12px}.badge{letter-spacing:.6px;text-transform:uppercase;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.badge.open{color:var(--warn);background:#d9a03f26}.badge.in_progress{color:var(--accent-2);background:#2f6fed26}.badge.resolved{color:var(--ok);background:#3fb97026}.badge.peak{color:var(--accent-2);background:#2f6fed29}.badge.free{color:var(--muted);background:#ffffff0f}.badge.published{color:var(--ok);background:#3fb97026}.badge.draft{color:var(--muted);background:#ffffff0f}.badge.live{color:#ff6b61;background:#e5534b29}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar input[type=search]{max-width:280px}.toolbar select{width:auto}.spacer{flex:1}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty{text-align:center;color:var(--muted);padding:48px 0}.error-box{color:var(--danger);background:#e5534b1a;border:1px solid #e5534b4d;border-radius:10px;margin-bottom:16px;padding:12px 16px}.login-wrap{background-image:radial-gradient(900px 460px at 50% -80px,#2f6fed29,#0000);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:100%;max-width:380px;padding:32px}.login-card h1{margin:14px 0 2px;font-size:20px}.login-card .sub{color:var(--muted);margin-bottom:20px}.login-card .btn{justify-content:center;width:100%;margin-top:20px;padding:11px}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:flex-start;padding:6vh 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:100%;max-width:640px;padding:24px 26px;box-shadow:0 30px 80px #0009}.modal h2{margin-bottom:6px;font-size:17px}.modal .actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.chart{align-items:flex-end;gap:4px;height:120px;margin-top:14px;display:flex}.chart .bar{background:linear-gradient(180deg, var(--accent-2), var(--accent));border-radius:4px 4px 0 0;flex:1;min-height:2px;position:relative}.chart .bar:hover:after{content:attr(data-tip);background:var(--panel-2);border:1px solid var(--border);white-space:nowrap;z-index:5;border-radius:6px;margin-bottom:6px;padding:3px 8px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:none;padding:6px 14px;font-weight:600}.seg button.active{color:#fff;background:#2f6fed2e}.row{align-items:center;gap:10px;display:flex}.avatar-sm{background:var(--panel-2);border:1px solid var(--border);object-fit:cover;width:28px;height:28px;color:var(--accent-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.section-title{margin:30px 0 12px;font-size:15px;font-weight:700}.loading{color:var(--muted);text-align:center;padding:40px 0}
