
:root{--bg:#f4f7fb;--card:#ffffff;--text:#0f172a;--muted:#64748b;--border:#dbe2ea;--primary:#0b1736;--primaryText:#ffffff;--accent:#2563eb;--success:#dff4e7;--successText:#0f5e2f;--danger:#dc2626}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Tahoma,Arial,sans-serif}
#app{display:grid;grid-template-columns:255px 1fr;min-height:100vh}
.sidebar{background:#fff;border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;gap:14px;align-items:center}.brand h1{margin:0;font-size:20px}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}
.logo{width:42px;height:42px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}
.sidebar-section{display:flex;flex-direction:column;gap:8px}
.auth-status{padding:10px 12px;border-radius:14px;font-size:14px;font-weight:600}.logged-out{background:#fdeaea;color:#8b1d1d}.logged-in{background:var(--success);color:var(--successText)}
.menu{display:flex;flex-direction:column;gap:8px}
.menu-btn,.primary-btn,.secondary-btn,.danger-btn{border:1px solid var(--border);background:#fff;color:var(--text);padding:10px 14px;border-radius:16px;cursor:pointer;font-size:14px}
.menu-btn.active{background:var(--primary);color:var(--primaryText);border-color:var(--primary)}
.primary-btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.danger-btn{background:#fff1f2;color:var(--danger);border-color:#fecdd3}
.full{width:100%}.main{padding:28px 22px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.topbar-controls{display:flex;align-items:center;gap:12px}.period-picker{display:flex;gap:8px}
.card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:20px}.login-card{max-width:720px}.nested-card{margin-bottom:16px}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
input,select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:14px}
.actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.hidden{display:none !important}
.kpi{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:28px;font-weight:700;margin-top:8px}
.table-wrap{overflow:auto} table{width:100%;border-collapse:collapse;font-size:14px} th,td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left} th{color:var(--muted);font-weight:600}
.result-box{margin-top:12px;min-height:24px;color:var(--muted);white-space:pre-wrap}
.summary-list{display:grid;gap:12px}.summary-item{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid var(--border);border-radius:14px}.summary-item .label{color:var(--muted);font-size:14px}.summary-item .value{font-weight:700}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input,.filters select{min-width:180px}
.hint{color:var(--muted);font-size:12px;margin-top:10px}
@media (max-width:1200px){#app{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.grid.two,.grid.five{grid-template-columns:1fr}.section-head,.filters,.topbar,.topbar-controls,.period-picker{flex-direction:column;align-items:stretch}}
