:root{--bg: #0b1220;--panel: #121b2e;--panel2: #0f172a;--text: #e6edf7;--muted: #9aa9c3;--border: rgba(255,255,255,.08);--blue: #2f6bff;--blue2: #1d4ed8;--red: #ef4444;--green: #22c55e;--amber: #f59e0b;--radius: 14px;--shadow: 0 20px 60px rgba(0,0,0,.4);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 20% 0%,rgba(47,107,255,.18),transparent 55%),radial-gradient(900px 400px at 90% 10%,rgba(34,197,94,.1),transparent 50%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.rootBlank{min-height:100vh;background:#fff}.appShell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{padding:18px;border-right:1px solid var(--border);background:#0f172a8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebarBrand{padding:14px 12px;border-radius:12px;border:1px solid var(--border);background:#121b2e73}.sidebarTitleRow{display:flex;align-items:center;justify-content:flex-start}.sidebarLogo{width:170px;height:64px;object-fit:contain}.sidebarTitle{font-weight:800;letter-spacing:.6px}.sidebarSub{color:var(--muted);font-size:12px;margin-top:6px;width:100%;text-align:center}.vDateWrap{position:relative;margin-top:12px}.vDateBtn{width:100%;display:flex;align-items:center;gap:10px;background:#2563ebd9;border:1px solid rgba(59,130,246,.85);border-radius:14px;padding:10px 12px;color:#fff;cursor:pointer}.vDateBtn:hover{background:#1d4ed8f2}.vDateIcon{width:18px;height:18px;color:#bfdbfee6;flex:0 0 auto}.vDateLabel{flex:1 1 auto;text-align:left;font-weight:800;letter-spacing:.2px}.vDateChevron{width:18px;height:18px;color:#bfdbfee6;flex:0 0 auto}.vDateBackdrop{position:fixed;inset:0;z-index:9998;background:#0003}.vDatePopover{position:fixed;z-index:9999;display:flex;max-height:80vh;overflow:auto;background:#1e293bfa;border:1px solid rgba(148,163,184,.35);border-radius:16px;box-shadow:0 22px 80px #0009}.vDatePresets{width:140px;border-right:1px solid rgba(51,65,85,.9);padding:10px}.vDatePreset{width:100%;padding:8px 10px;border-radius:10px;border:none;background:transparent;color:#e2e8f0eb;text-align:left;cursor:pointer;font-size:12px;margin-bottom:6px}.vDatePreset:hover{background:#334155e6}.vDatePresetActive{background:#2563ebf2;color:#fff}.vDateCal{padding:14px;min-width:260px}.vDateCalHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.vDateCalTitle{font-size:12px;font-weight:800;text-transform:capitalize;color:#fff}.vDateCalNav{display:flex;gap:6px}.vDateCalNavBtn{width:26px;height:26px;border-radius:8px;border:none;background:transparent;cursor:pointer}.vDateCalNavBtn:hover{background:#334155e6}.vDateCalNavIcon{width:14px;height:14px;color:#94a3b8e6}.vDateDow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.vDateDowCell{width:32px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#64748b}.vDateGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.vDateEmpty{width:32px;height:28px}.vDateDay{width:32px;height:28px;border-radius:10px;border:none;cursor:pointer;font-size:12px;color:#e2e8f0e6;background:transparent}.vDateDay:hover{background:#334155e6}.vDateDayEdge{background:#2563ebf2;color:#fff;font-weight:800}.vDateDayIn{background:#2563eb47;color:#93c5fd}.vDateDayToday{outline:1px solid rgba(59,130,246,.9);color:#fff}.vDateActions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid rgba(51,65,85,.9)}.vDateClear{border:none;background:transparent;cursor:pointer;font-size:12px;color:#60a5fa}.vDateClear:hover{color:#93c5fd}.vDateClose{width:28px;height:28px;border-radius:999px;border:none;cursor:pointer;background:#334155;display:flex;align-items:center;justify-content:center}.vDateClose:hover{background:#475569}.vDateCloseIcon{width:16px;height:16px;color:#e2e8f0e6}.nav{margin-top:14px;display:flex;flex-direction:column;gap:8px}.navItem{text-decoration:none;padding:10px 12px;border-radius:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.06);background:#121b2e59;color:var(--muted)}.navNum{font-size:18px;font-weight:800;line-height:1;width:22px;text-align:center;color:var(--text);opacity:.9}.navItemActive{color:var(--text);background:#2f6bff2e;border-color:#2f6bff59}.sidebarFooter{margin-top:16px}.main{min-width:0;padding:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#121b2eb8;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbarTitle{font-weight:800}.content{margin-top:16px}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.charts{padding:12px 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.chart{background:#0f172aa6;border:1px solid var(--border);border-radius:12px;padding:12px}.chartTitle{color:var(--muted);font-size:12px;margin-bottom:10px}.chartBars{height:120px;display:flex;align-items:flex-end;gap:4px}.chartBarWrap{flex:1;min-width:3px;display:flex;align-items:flex-end}.chartBar{width:100%;border-radius:6px;background:#2f6bffbf;border:1px solid rgba(47,107,255,.25)}.codeBlock{margin:0;padding:14px;overflow:auto;font-size:12px;line-height:1.4;border-top:1px solid var(--border);font-family:var(--mono)}@media(max-width:920px){.appShell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.charts{grid-template-columns:1fr}}@media(max-width:520px){.sidebar,.main{padding:12px}.sidebarBrand{padding:12px 10px}.sidebarLogo{width:140px;height:52px}.nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.navItem{white-space:nowrap}.topbar,.panelHeader,.pager{flex-wrap:wrap}.filtersTight{flex-wrap:wrap;overflow-x:visible}.filtersTight .input,.filtersTight .select{min-width:120px}.table th,.table td{padding:8px}.trunc{max-width:180px}}a{color:inherit}.container{max-width:1400px;margin:0 auto;padding:20px}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#121b2eb8;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.headerLeft{display:flex;align-items:center;gap:12px}.clock{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border-radius:12px;background:#0f172aa6;border:1px solid var(--border)}.clockTime{font-size:26px;font-weight:700;letter-spacing:.5px}.clockMeta{color:var(--muted);font-size:13px}.badge{padding:6px 10px;border-radius:999px;font-size:12px;color:var(--muted);background:#0f172aa6;border:1px solid var(--border)}.btn{border:1px solid var(--border);background:#0f172aa6;color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer}.btnPrimary{background:linear-gradient(180deg,#2f6bfff2,#1d4ed8f2);border-color:#2f6bff59}.btnDanger{background:#ef44442e;border-color:#ef444440}.grid{margin-top:16px;display:grid;grid-template-columns:1fr;gap:16px}.panel{background:#121b2eb8;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panelHeader{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panelTitle{font-weight:700}.tabs{display:flex;gap:10px}.tab{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0f172aa6;color:var(--muted);cursor:pointer}.tabActive{background:#2f6bff38;border-color:#2f6bff59;color:var(--text)}.filters{padding:12px 14px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filtersTight{padding:10px 14px;flex-wrap:nowrap;gap:10px;overflow-x:auto}.filtersTight .field{gap:5px}.filtersTight .label{font-size:11px}.filtersTight .input,.filtersTight .select{min-width:140px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12px;color:var(--muted)}.input,.select{min-width:180px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0f172aa6;color:var(--text);outline:none}.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:13px}.table th{color:var(--muted);font-weight:600;white-space:nowrap}.table td{color:var(--text)}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#ffffff0f}.trunc{display:inline-block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.mono{font-family:var(--mono)}.pager{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border)}.kpiRow{display:flex;gap:10px;flex-wrap:wrap}.kpi{padding:10px 12px;border-radius:12px;background:#0f172aa6;border:1px solid var(--border)}.kpiLabel{font-size:12px;color:var(--muted)}.kpiValue{font-size:18px;font-weight:700;margin-top:4px}.status{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px}.statusSent{background:#22c55e26;border-color:#22c55e40}.statusFailed{background:#ef444426;border-color:#ef444440}.statusPending{background:#f59e0b24;border-color:#f59e0b40}.statusProcessing{background:#2f6bff24;border-color:#2f6bff40}.centerEmpty{padding:26px;color:var(--muted);text-align:center}.loginWrap{min-height:calc(100vh - 40px);display:flex;align-items:center;justify-content:center}.loginCard{width:520px;max-width:92vw;padding:16px}.help{color:var(--muted);font-size:13px;line-height:1.35}.row{display:flex;gap:10px;flex-wrap:wrap}.modalBackdrop{position:fixed;inset:0;z-index:900;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:24px}.modalContent{background:var(--card);border:1px solid var(--border);border-radius:12px;width:520px;max-width:94vw;max-height:calc(100vh - 96px);display:flex;flex-direction:column;box-shadow:0 8px 32px #00000059;flex-shrink:0}.modalContent .panelHeader{padding:14px 16px;border-bottom:1px solid var(--border)}.modalBody{padding:14px 16px;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:10px}.modalField{display:flex;flex-direction:column;gap:3px}.modalField .label{font-size:12px;color:var(--muted)}.modalField .input{font-size:13px}.modalActions{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.btnEdit{background:none;border:none;cursor:pointer;padding:2px 6px;color:var(--muted);font-size:15px;border-radius:4px}.btnEdit:hover{color:var(--fg);background:var(--border)}.inlineEditable{cursor:pointer;border-bottom:1px dashed var(--muted);transition:color .15s,border-color .15s}.inlineEditable:hover{color:var(--fg);border-bottom-color:var(--fg)}.inlineInput{padding:2px 6px;font-size:13px;height:26px;width:160px;min-width:100px}
