:root{color-scheme:light;font-family:SF Pro Display,Segoe UI,Arial,sans-serif;--bg: #f4f7fb;--panel: #ffffff;--border: #dbe5f2;--text: #1b2740;--muted: #5c6b86;--brand: #0f62fe;--ok: #0f9960}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#e9f0ff 0%,var(--bg) 45%,#f9fbff 100%);color:var(--text)}a{color:var(--brand);text-decoration:none}.Layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.Layout_main{padding:18px}.Layout_content{margin-top:14px}.Sidebar{background:linear-gradient(180deg,#fff,#eef4ff);border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:14px}.Sidebar_brand{font-weight:800;font-size:20px;letter-spacing:.2px}.Sidebar_menu{display:flex;flex-direction:column;gap:6px}.Sidebar_link{padding:10px 12px;border-radius:10px;color:var(--muted);transition:.2s}.Sidebar_link:hover{background:#e4eeff;color:var(--text)}.Sidebar_link_active{background:#d8e8ff;color:#053a9f;font-weight:700}.Sidebar_logout{margin-top:auto;border:0;background:#ffe6e6;color:#922;padding:10px 12px;border-radius:10px;cursor:pointer}.FilterBar{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.FilterBar label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}.FilterBar input,.FilterBar select{border:1px solid var(--border);border-radius:8px;padding:8px;font-size:13px;color:var(--text);background:#fff}.FilterBar select:disabled{background:#f3f6fc;color:#8a97ad;cursor:not-allowed}.FilterBar_shiftButtons{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px}.FilterBar_shiftGroup{display:flex;align-items:center;gap:4px;background:#f6f9ff;border:1px solid #d8e5fb;border-radius:8px;padding:4px}.FilterBar_shiftGroup span{font-size:11px;color:#4b628d;font-weight:700;min-width:34px;text-align:center}.FilterBar_shiftButtons button{border:1px solid #bdd1f5;background:#eef4ff;color:#1c4f9c;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700;cursor:pointer}.FilterBar_shiftButtons button:hover{background:#e2ecff}.DataModeBar{margin-top:10px;background:#fffdf4;border:1px solid #f2df97;border-radius:12px;padding:10px 12px;display:flex;gap:12px;align-items:center;justify-content:space-between}.DataModeBar_on{border-color:#e7c451;box-shadow:0 0 0 1px #f4e2a2 inset}.DataModeBar_text{display:flex;flex-direction:column;gap:3px}.DataModeBar_text strong{font-size:13px;color:#6b5200}.DataModeBar_text span{font-size:12px;color:#90702a;max-width:820px}.DataModeBar_switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#6b5200;font-weight:700;white-space:nowrap}.Page{display:flex;flex-direction:column;gap:14px}.CardsGrid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.StatCard{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;min-height:74px}.StatCard_label{font-size:12px;color:var(--muted);margin-bottom:8px}.StatCard_value{font-size:22px;font-weight:700}.SeriesGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.MiniSeries{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.MiniSeries_title{font-weight:700;margin-bottom:12px}.MiniSeries_body{min-height:170px;display:flex;align-items:flex-end;gap:4px;overflow-x:auto}.MiniSeries_col{width:32px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}.MiniSeries_day{font-size:10px;color:var(--muted);white-space:nowrap}.MiniSeries_barWrap{width:100%;height:110px;display:flex;align-items:flex-end;justify-content:center}.MiniSeries_bar{width:14px;max-width:100%;background:linear-gradient(180deg,#0f62fe,#5c93ff);border-radius:4px 4px 0 0;position:relative;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.MiniSeries_barValue{font-size:8px;line-height:1;font-weight:700;color:#fff;margin-top:2px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}.MiniSeries_empty{min-height:140px;display:grid;place-items:center;color:#5d708f;font-size:12px;border:1px dashed #d8e4f7;border-radius:10px;background:#f9fbff}.SplitGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.DataTable_wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.DataTable{width:100%;border-collapse:collapse;min-width:760px}.DataTable th,.DataTable td{padding:10px 12px;border-bottom:1px solid #ecf1f8;font-size:13px;text-align:left;vertical-align:top}.DataTable th{background:#f2f7ff;color:#2d4f84;position:sticky;top:0;z-index:1}.DataTable tr:hover td{background:#fafcff}.InfoCard{background:#fffced;border:1px solid #f8eeb6;border-radius:10px;padding:12px;color:#7a5f00}.InlineFilters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:10px}.InlineFilters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4d638c}.InlineFilters input,.InlineFilters select{min-width:150px;border:1px solid #d7e3f9;border-radius:8px;padding:6px 8px;font-size:12px;background:#fff}.InlineFilters button{border:1px solid #bcd1f5;background:#eef4ff;color:#1e4f9a;border-radius:8px;padding:6px 10px;cursor:pointer}.InlineFilters button:disabled{cursor:not-allowed;opacity:.5}.JourneyChartFilters{border:1px solid #dce8fb;border-radius:10px;padding:10px;background:#f8fbff;margin-bottom:0}.JourneyChartFilters label{min-width:170px}.JourneyChartFilters .InlineCheckbox{flex-direction:row;align-items:center;gap:8px;min-height:36px}.JourneyChartFilters .InlineCheckbox input{min-width:auto}.ErrorBox{background:#ffe7e7;color:#8a1f1f;border:1px solid #f0b3b3;padding:10px;border-radius:10px}.SmallPre{white-space:pre-wrap;margin:0;font-size:11px;color:#344f7b}.LinksBuilder{background:linear-gradient(180deg,#f9fbff,#eef4ff);border:1px solid #cfdcf2;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}.LinksBuilder_header{display:flex;align-items:center;justify-content:space-between;gap:12px}.LinksBuilder_title{font-size:16px;font-weight:800;color:#17356a}.LinksBuilder_subtitle{font-size:12px;color:#4e6692;margin-top:2px}.LinksBuilder_typePills{display:flex;gap:6px}.LinksBuilder_pill{border:1px solid #bfd0ef;background:#fff;color:#3d5681;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.LinksBuilder_pill_active{background:#d9e8ff;border-color:#8fb0e8;color:#0f3d8c;font-weight:700}.LinksBuilder_grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.LinksField{display:flex;flex-direction:column;gap:6px}.LinksField span{font-size:12px;color:#4f648b;font-weight:600}.LinksField input,.LinksField select{border:1px solid #c5d6f2;background:#fff;border-radius:10px;padding:9px 10px;font-size:13px;color:#1b2740}.LinksField input:focus,.LinksField select:focus{outline:2px solid #d7e6ff;border-color:#89abeb}.LinksBuilder_hint{font-size:12px;color:#4d648f;background:#f7fbff;border:1px solid #d6e4fb;border-radius:10px;padding:9px 10px}.LinksBuilder_actions{display:flex;gap:8px}.LinksBuilder_btn{border:1px solid #c5d6f2;background:#fff;color:#345380;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}.LinksBuilder_btn:disabled{opacity:.6;cursor:default}.LinksBuilder_btn_primary{border-color:#0f62fe;background:#0f62fe;color:#fff}.LoginPage{min-height:100vh;display:grid;place-items:center}.LoginCard{width:min(460px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}.LoginCard h1{margin:0 0 6px;font-size:28px}.LoginCard label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.LoginCard input{border:1px solid var(--border);border-radius:10px;padding:10px}.LoginCard button{border:0;border-radius:10px;background:var(--brand);color:#fff;padding:11px;font-weight:700;cursor:pointer}@media(max-width:1100px){.Layout{grid-template-columns:1fr}.Sidebar{position:sticky;top:0;z-index:10;border-right:0;border-bottom:1px solid var(--border)}.Sidebar_menu{flex-direction:row;flex-wrap:wrap}.CardsGrid,.FilterBar{grid-template-columns:repeat(2,minmax(120px,1fr))}.SeriesGrid,.SplitGrid{grid-template-columns:1fr}.DataModeBar,.LinksBuilder_header{flex-direction:column;align-items:flex-start}.LinksBuilder_grid{grid-template-columns:1fr}}
