:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2f7;--card:#fff;--white:#fff;--ink:#0f1b2d;--muted:#5b6b82;--muted-2:#7e8ea6;--line:#dbe3ee;--brand:#0b3d7a;--brand-dark:#0a336a;--brand-2:#1466b8;--accent:#0e7490;--s-completed:#067647;--s-departed:#1466b8;--s-dayof:#b54708;--s-confirmed:#0e7490;--s-planning:#475467;--s-cancelled:#b42318;--greenbg:#e7f6ee;--amberbg:#fdf3e7;--graybg:#eef1f6;--redbg:#fdecea;--shadow:0 1px 2px #0b3d7a0f,0 8px 24px #0b3d7a0d;--shadow-modal:0 18px 50px #08142847}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:1180px;margin:0 auto;padding:20px 18px 48px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}header.top{border-bottom:2px solid var(--brand);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.brandrow{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--brand);width:38px;height:38px;color:var(--white);border-radius:9px;justify-content:center;align-items:center;font-size:20px;display:inline-flex;transform:rotate(-8deg)}h1{letter-spacing:.02em;color:var(--brand);margin:0;font-size:19px;font-weight:800}h1 .thin{color:var(--muted);letter-spacing:0;font-weight:600}.sub{color:var(--muted);margin-top:3px;font-size:12.5px}.progmeta{color:var(--muted-2)}.topright{align-items:center;gap:10px;display:flex}.refreshed{color:var(--muted);font-size:12px}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--brand);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:650}.btn:hover{background:var(--graybg)}.btn:disabled{opacity:.55;cursor:default}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0 4px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-top:3px solid var(--brand-2);border-radius:12px;padding:14px 15px}.kpi .n{color:var(--brand);font-size:27px;font-weight:800;line-height:1}.kpi .l{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:7px;font-size:12px;font-weight:700}.kpi .sub2{color:var(--muted-2);margin-top:3px;font-size:12px}.charts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:14px 0;display:grid}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:14px;padding:16px 18px}.panel h2{color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:750}.panel-note{color:var(--muted);margin-bottom:12px;font-size:12px}.charts .panel{margin-top:0}.empty{color:var(--muted);padding:10px 2px;font-size:12.5px;font-style:italic}.hbars{flex-direction:column;gap:9px;margin-top:8px;display:flex}.hrow{grid-template-columns:104px 1fr 46px;align-items:center;gap:10px;display:grid}.hlab{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.htrack{background:var(--graybg);border-radius:6px;height:16px;overflow:hidden}.hfill{background:var(--brand-2);border-radius:6px;min-width:3px;height:100%}.hval{color:var(--ink);text-align:right;font-size:12.5px;font-weight:700}.hfill.s-completed{background:var(--s-completed)}.hfill.s-departed{background:var(--s-departed)}.hfill.s-dayof{background:var(--s-dayof)}.hfill.s-confirmed{background:var(--s-confirmed)}.hfill.s-planning{background:var(--s-planning)}.hfill.s-cancelled{background:var(--s-cancelled)}.hfill.c-delay{background:var(--s-dayof)}.cols{align-items:flex-end;gap:14px;min-height:150px;margin-top:10px;display:flex}.col{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.colval{color:var(--ink);font-size:12px;font-weight:700}.colbarwrap{align-items:flex-end;width:100%;max-width:46px;height:110px;display:flex}.colbar{background:var(--brand-2);border-radius:6px 6px 0 0;width:100%;min-height:4px}.colbar.s-completed{background:var(--s-completed)}.colbar.s-departed{background:var(--s-departed)}.colbar.s-dayof{background:var(--s-dayof)}.colbar.s-confirmed{background:var(--s-confirmed)}.colbar.s-planning{background:var(--s-planning)}.colbar.s-cancelled{background:var(--s-cancelled)}.collab{color:var(--ink);font-size:12px;font-weight:650}.collab2{color:var(--muted);margin-top:-1px;font-size:12px}.bar{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 12px;display:flex}.bar .label{color:var(--muted);font-size:12px;font-weight:600}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:600}.chip.on{background:var(--brand);color:var(--white);border-color:var(--brand)}.tablewrap{overflow-x:auto}.ftable{border-collapse:collapse;width:100%;font-size:12.5px}.ftable th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:700}.ftable td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.ftable tr:last-child td{border-bottom:0}.ftable .rt{text-align:right;font-variant-numeric:tabular-nums}.ftable .mono a{color:var(--brand-2);font-weight:700;text-decoration:none}.ftable .mono a:hover{text-decoration:underline}.tag{color:var(--white);white-space:nowrap;border-radius:6px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.tag.s-completed{background:var(--s-completed)}.tag.s-departed{background:var(--s-departed)}.tag.s-dayof{background:var(--s-dayof)}.tag.s-confirmed{background:var(--s-confirmed)}.tag.s-planning{background:var(--s-planning)}.tag.s-cancelled{background:var(--s-cancelled)}.pill{border-radius:6px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.pill-green{background:var(--greenbg);color:var(--s-completed)}.pill-amber{background:var(--amberbg);color:var(--s-dayof)}.pill-gray{background:var(--graybg);color:var(--muted)}.loading{text-align:center;color:var(--muted);padding:56px}.err-box{background:var(--redbg);border:1px solid var(--s-cancelled);color:var(--s-cancelled);white-space:pre-wrap;border-radius:10px;margin-top:16px;padding:14px;font-size:13px}.hidden{display:none!important}.foot{color:var(--muted-2);text-align:center;margin-top:26px;font-size:12px}.login-wrap{background:linear-gradient(160deg,var(--brand) 0%,var(--accent) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--card);width:100%;max-width:360px;box-shadow:var(--shadow-modal);border-radius:16px;padding:30px 28px}.login-card .brand{align-items:center;gap:10px;margin-bottom:2px;display:flex}.login-card .brand-mark{width:34px;height:34px;font-size:18px}.brand-name{letter-spacing:.03em;color:var(--brand);font-size:19px;font-weight:800}.brand-tag{color:var(--muted);margin:0 0 18px;font-size:12.5px}.login-card input{border:1px solid var(--line);border-radius:9px;width:100%;margin-bottom:10px;padding:11px 12px;font-size:14px}.login-card input:focus{outline:2px solid var(--brand-2);outline-offset:1px;border-color:var(--brand-2)}.login-card button{background:var(--brand);width:100%;color:var(--white);cursor:pointer;border:0;border-radius:9px;padding:11px;font-size:14px;font-weight:700}.login-card button:hover{background:var(--brand-dark)}.login-card button:disabled{opacity:.6}.login-err{color:var(--s-cancelled);min-height:16px;margin-top:8px;font-size:12.5px}
