:root{--ink:#17211b;--muted:#66736a;--green:#17382c;--green2:#245440;--lime:#cfff04;--cream:#f7f7f2;--line:#dce3dc;--line2:#edf0ec;--sage:#e7eee5;--bad:#ad4138;--badbg:#f9ebe9;--badline:#e6bbb6;--warn:#8a651e;--warnbg:#faf2dc;--warnline:#ead7a8;--ok:#28704c;--okbg:#e8f3ec;color:var(--ink);background:var(--cream);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--cream);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.eyebrow{color:#748078;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.hint{color:var(--muted);font-size:12px}.auth-screen{background:var(--cream);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,420px);padding:32px;box-shadow:0 18px 50px #17382c14}.auth-brand{background:var(--green);width:44px;height:44px;color:var(--lime);border-radius:13px;place-items:center;margin-bottom:28px;font-size:22px;font-weight:900;display:grid}.auth-card h1{letter-spacing:-.045em;margin:8px 0 6px;font-size:32px}.description{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.auth-form{gap:8px;margin-top:22px;display:grid}.auth-form label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:10px;font-weight:900}.auth-form input{border:1px solid var(--line);background:#fff;border-radius:10px;height:46px;padding:0 12px;font-size:16px}.auth-button{background:var(--green);color:#fff;border:0;border-radius:12px;min-height:48px;margin-top:12px;font-size:15px;font-weight:850}.auth-button:hover{background:var(--green2)}.auth-button:disabled{opacity:.55;cursor:wait}.auth-text-button{color:var(--muted);background:0 0;border:0;margin-top:14px;font-size:13px;font-weight:750;text-decoration:underline}.auth-error{border:1px solid var(--badline);background:var(--badbg);color:var(--bad);border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:13px;font-weight:700}.field{max-width:520px;min-height:100vh;margin:0 auto;padding:10px 14px 40px}.ftop{justify-content:space-between;align-items:center;gap:10px;padding:8px 2px 12px;display:flex}.ftop .wm{letter-spacing:.12em;font-size:12px;font-weight:900}.ftop .wm span{letter-spacing:0;color:var(--muted);margin-top:2px;font-size:11px;font-weight:700;display:block}.ftop button{color:var(--muted);background:0 0;border:0;font-size:12px;font-weight:800;text-decoration:underline}.fh1{letter-spacing:-.045em;margin:4px 2px 12px;font-size:28px}.ferror{border:1px solid var(--badline);background:var(--badbg);color:var(--bad);border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:13px;font-weight:700}.health{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);margin-bottom:10px;display:grid;overflow:hidden}.health div{letter-spacing:.07em;border-left:1px solid var(--line2);align-items:center;gap:7px;min-width:0;padding:8px;font-size:9px;font-weight:900;display:flex}.health div:first-child{border-left:0}.health i{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.health small{color:var(--muted);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;font-weight:700;display:block;overflow:hidden}.health .bad{color:var(--bad);background:var(--badbg)}.health .bad i{background:var(--bad)}.health .warn{color:var(--warn);background:var(--warnbg)}.health .warn i{background:#bf8d2c}.fproblem{border:1px solid var(--warnline);background:var(--warnbg);color:var(--warn);border-radius:12px;gap:8px;margin-bottom:10px;padding:12px;display:grid}.fproblem p{margin:0;font-size:13px;font-weight:750;line-height:1.4}.fproblem button{background:var(--green);color:#fff;border:0;border-radius:10px;min-height:44px;font-weight:850}.hero{background:var(--green);color:#fff;border-radius:16px;margin-bottom:10px;padding:16px}.hero .ov{letter-spacing:.16em;color:#a9c7b4;font-size:9px;font-weight:900}.hero h2{letter-spacing:-.03em;margin:6px 0 2px;font-size:28px;line-height:1.05}.hero p{color:#cfe0d5;margin:6px 0 0;font-size:13px;line-height:1.4}.hero .big{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:42px;font-weight:900}.hero .big small{color:#a9c7b4;letter-spacing:0;margin-left:6px;font-size:14px;font-weight:700}.hero .prog{background:#ffffff2e;border-radius:9px;height:8px;margin:12px 0 6px;overflow:hidden}.hero .prog b{background:var(--lime);border-radius:9px;height:100%;transition:width .4s;display:block}.hero .pl{color:#cfe0d5;justify-content:space-between;gap:8px;font-size:11px;display:flex}.hero.bad{background:#5b2621}.hero.idle{color:var(--ink);border:1px solid var(--line);background:#fff}.hero.idle .ov,.hero.idle p{color:var(--muted)}.hero.idle .big{color:var(--green)}.hero.idle .big small{color:var(--muted)}.bigbtn{background:var(--lime);width:100%;min-height:56px;color:var(--green);border:0;border-radius:14px;justify-content:center;align-items:center;margin:0 0 8px;font-size:16px;font-weight:900;display:flex}.bigbtn.out{border:1px solid var(--green);background:#fff;min-height:50px;font-size:15px}.bigbtn.dark{background:var(--green);color:#fff}.bigbtn:disabled{opacity:.5;cursor:wait}.textbtn{width:100%;color:var(--muted);background:0 0;border:0;padding:8px 0 4px;font-size:13px;font-weight:750;text-decoration:underline;display:block}.pconfirm{border:1px solid var(--warnline);background:var(--warnbg);color:var(--warn);border-radius:12px;margin:0 0 8px;padding:12px;font-size:13px;font-weight:750}.pconfirm div{gap:8px;margin-top:10px;display:flex}.pconfirm button{border:1px solid var(--green);min-height:44px;color:var(--green);background:#fff;border-radius:10px;flex:1;font-weight:900}.pconfirm button.pri{background:var(--green);color:#fff}.pnote{background:var(--okbg);color:var(--ok);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.pnote button{border:1px solid var(--ok);color:var(--ok);background:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:800}.psec{justify-content:space-between;align-items:baseline;margin:14px 2px 6px;display:flex}.psec h3{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10px}.psec span{color:var(--muted);font-size:11px}.pstops{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.pstops li{border-top:1px solid var(--line2);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:grid}.pstops li:first-child{border-top:0}.pstops .n{border:2px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.pstops li.done{color:var(--muted)}.pstops li.done .n{background:var(--green);border-color:var(--green);color:#fff}.pstops li.cur{background:#f3f8e0;font-weight:850}.pstops li.cur .n{border-color:var(--green);color:var(--green)}.pstops em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}details.pd{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:10px}details.pd summary{color:var(--muted);cursor:pointer;padding:10px 12px;font-size:12px;font-weight:800}details.pd div{color:var(--muted);padding:0 12px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.7}.fcard{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:12px;overflow:hidden}.fcard .inner{padding:12px 14px}.leave{background:var(--lime);color:var(--green);padding:16px}.leave .ov{letter-spacing:.16em;font-size:9px;font-weight:900}.leave .cd{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:8px 0 6px;font-size:50px;font-weight:900;line-height:1}.leave .cd.small{font-size:30px}.leave p{margin:0;font-size:13px;font-weight:750}.leave.now{background:var(--bad);color:#fff}.leave.aboard{background:var(--okbg);color:var(--ok)}.leave.idle{color:var(--ink);border-bottom:1px solid var(--line);background:#fff}.leave.idle .ov,.leave.idle p{color:var(--muted)}.kids{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.kid{border:1px solid var(--line);border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 4px;font-size:12px;font-weight:800;display:inline-flex}.kid span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;display:grid}.fline{margin:0 0 2px;font-size:15px;font-weight:850}.fsub{color:var(--muted);margin:0;font-size:12px}.fmap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eef1ea;height:160px}.fmap svg{width:100%;height:100%;display:block}.away{gap:4px;margin:10px 0 2px;display:flex}.away i{background:var(--line);border-radius:9px;flex:1;height:6px}.away i.on{background:var(--ok)}.away i.me{background:var(--green);outline:2px solid var(--lime);outline-offset:1px}.ffacts{border-top:1px solid var(--line2);grid-template-columns:1fr 1fr;margin:0;display:grid}.ffacts div{padding:9px 14px}.ffacts dt{letter-spacing:.09em;color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:850}.ffacts dd{margin:3px 0 0;font-size:13px;font-weight:800}.buf{border-top:1px solid var(--line2);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.buf b{font-size:13px;display:block}.buf small{color:var(--muted);font-size:11px}.step{border:1px solid var(--green);border-radius:10px;flex:none;display:flex;overflow:hidden}.step button{width:40px;height:38px;color:var(--green);background:#fff;border:0;font-size:18px;font-weight:900}.step span{border-left:1px solid var(--green);border-right:1px solid var(--green);place-items:center;width:58px;font-size:13px;font-weight:900;display:grid}:root{--ink:#17211b;--muted:#66736a;--soft:#89948c;--green:#17382c;--green2:#245440;--lime:#cfff04;--cream:#f7f7f2;--paper:#fff;--line:#dce3dc;--line2:#edf0ec;--sage:#e7eee5;--side:#f2f4ef;--bad:#ad4138;--badbg:#f9ebe9;--badline:#e6bbb6;--warn:#8a651e;--warnbg:#faf2dc;--warnline:#ead7a8;--ok:#28704c;--okbg:#e8f3ec;--okline:#bfdcc9;--idle:#56655b;--idlebg:#f0f2ef;--off:#6c746e;--offbg:#f0f1ef;--r:14px;--r2:10px;--shadow:0 18px 50px #17382c14;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.ops *{box-sizing:border-box}.ops{font-family:var(--font);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:14px}.ops button,.ops input,.ops select{font:inherit;color:inherit}.ops button{cursor:pointer}.ops a{color:inherit;text-decoration:none}.ops h1,.ops h2,.ops h3{font-weight:850}.ops .eyebrow{color:#748078;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.ops .muted{color:var(--muted);font-size:12px}.ops .dim{color:#98a39b}.ops .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.ops .sw{border-radius:4px;flex:none;width:12px;height:12px;display:inline-block}.ops :focus-visible{outline:2px solid var(--green);outline-offset:2px}.ops .kbd{border:1px solid var(--line);color:var(--muted);background:#fff;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:850;display:inline-block}.ops .app.d{background:linear-gradient(to right,var(--side) 223px,var(--line) 223px,var(--line) 224px,var(--cream) 224px);grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.ops .sidebar{z-index:30;border-right:1px solid var(--line);background:var(--side);flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:auto}.ops .brand{align-items:center;gap:11px;padding:3px 6px 12px;display:flex}.ops .brandmark{background:var(--green);width:38px;height:38px;color:var(--lime);border-radius:12px;flex:none;place-items:center;font-size:20px;font-weight:900;display:grid}.ops .brand b{letter-spacing:.08em;font-size:15px;display:block}.ops .brand small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.ops .nav-label{letter-spacing:.15em;color:#88938b;text-transform:uppercase;padding:14px 10px 6px;font-size:9px;font-weight:900}.ops .nav{gap:3px;display:grid}.ops .nav a{color:#536058;border-radius:10px;align-items:center;gap:10px;padding:9px 11px;font-size:13px;font-weight:750;display:flex}.ops .nav a:hover{background:#e9ede6}.ops .nav a.on{color:var(--green);box-shadow:0 0 0 1px var(--line);background:#fff}.ops .ico{background:#dde5dc;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:9px;font-weight:900;display:grid}.ops .nav a.on .ico{background:var(--sage)}.ops .side-foot{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:14px 4px 2px;display:grid}.ops .who-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.ops .who-row b{color:var(--ink);font-size:12px;display:block}.ops .who-row button{color:var(--green);background:0 0;border:0;padding:4px;font-size:11px;font-weight:850}.ops .ws{min-width:0}.ops .topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#f7f7f2ed;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 28px;display:flex;position:sticky;top:0}.ops .crumb{letter-spacing:.12em;color:#6b776f;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:900;overflow:hidden}.ops .top-actions{align-items:center;gap:12px;display:flex}.ops .top-actions .hint{align-items:center;gap:4px;display:flex}.ops .avatar{background:#e0e7dd;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:11px;font-weight:900;display:grid}.ops .content{max-width:1560px;margin:0 auto;padding:26px 28px 70px}.ops .app.m{flex-direction:column;min-height:100vh;display:flex}.ops .mtop{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f7f7f2f5;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;display:flex;position:sticky;top:0}.ops .mtop .brand{gap:8px;padding:0}.ops .mtop .brandmark{border-radius:9px;width:30px;height:30px;font-size:16px}.ops .mtop .brand b{font-size:12px}.ops .mc{flex:1;width:100%;max-width:760px;margin:0 auto;padding:18px 14px 96px}.ops .tabs{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(7px + env(safe-area-inset-bottom));background:#f7f7f2f7;display:grid;position:fixed;bottom:0;left:0;right:0}.ops .tabs a{color:#6e7971;justify-items:center;gap:3px;padding:2px 0;font-size:9px;font-weight:800;display:grid}.ops .tabs a span{border-radius:8px;place-items:center;width:32px;height:26px;font-size:10px;font-weight:900;display:grid}.ops .tabs a.on{color:var(--green)}.ops .tabs a.on span{background:var(--sage)}.ops .mfoot{text-align:center;padding:14px 0 0;font-size:12px}.ops .mfoot button{color:var(--muted);background:0 0;border:0;font-size:12px;text-decoration:underline}.ops .head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.ops .head h1{letter-spacing:-.05em;margin:6px 0 0;font-size:40px;line-height:1}.ops .desc{color:var(--muted);margin:8px 0 0;font-size:13px}.ops .hact{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ops .m .head{flex-wrap:nowrap;align-items:flex-start;gap:12px;margin-bottom:12px}.ops .m .head h1{font-size:30px}.ops .m .hact{flex-direction:column;align-items:flex-end}.ops .st{letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:9px;font-weight:900;display:inline-flex}.ops .st-in-service,.ops .st-t-active,.ops .st-m-active,.ops .st-r-active{background:var(--okbg);color:var(--ok)}.ops .st-planned,.ops .st-t-planned,.ops .st-m-setup-required,.ops .st-r-pending{background:var(--warnbg);color:var(--warn)}.ops .st-available,.ops .st-t-completed,.ops .st-r-none{background:var(--idlebg);color:var(--idle)}.ops .st-gps-stale,.ops .st-t-cancelled,.ops .st-m-suspended{background:var(--badbg);color:var(--bad)}.ops .st-inactive{background:var(--offbg);color:var(--off)}.ops .pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-block}.ops .pill.bad{background:var(--badbg);color:var(--bad)}.ops .pill.warn{background:var(--warnbg);color:var(--warn)}.ops .pill.ok{background:var(--okbg);color:var(--ok)}.ops .pill.neutral{background:var(--idlebg);color:var(--idle)}.ops .rs{letter-spacing:.05em;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;display:inline-block}.ops .rs-expected{background:var(--idlebg);color:var(--idle)}.ops .rs-aboard{background:var(--okbg);color:var(--ok)}.ops .rs-dropped{color:#5d6b62;background:#eef1ee}.ops .rs-noshow{background:var(--badbg);color:var(--bad)}.ops .rs-absent{color:#7a6a3a;background:#f3f0e6}.ops .od,.ops .fc{background:var(--badbg);color:var(--bad);letter-spacing:.05em;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-block}.ops .od.med,.ops .fc.med{background:var(--warnbg);color:var(--warn)}.ops .fc{background:var(--idlebg);color:var(--idle)}.ops .fc.high{background:var(--badbg);color:var(--bad)}.ops .fcs{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.ops .per{letter-spacing:.08em;color:var(--muted);background:var(--idlebg);vertical-align:middle;border-radius:999px;margin-left:8px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-block}.ops .gps{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:7px;display:inline-flex}.ops .gps i{background:#b9c3bb;border-radius:50%;flex:none;width:8px;height:8px}.ops .gps.live{color:var(--ok);font-weight:750}.ops .gps.live i{background:var(--ok);animation:2s infinite pulse}.ops .gps.stale{color:var(--bad);font-weight:800}.ops .gps.stale i{background:var(--bad)}@keyframes pulse{0%{box-shadow:0 0 #28704c66}70%{box-shadow:0 0 0 7px #28704c00}to{box-shadow:0 0 #28704c00}}@media (prefers-reduced-motion:reduce){.ops .gps.live i,.ops .live-pill i{animation:none}}.ops .live-pill{background:var(--okbg);min-height:32px;color:var(--ok);letter-spacing:.04em;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:850;display:inline-flex}.ops .live-pill i{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.ops .live-pill.off{background:var(--warnbg);color:var(--warn)}.ops .live-pill.off i{background:#bf8d2c;animation:none}.ops .pres{margin:0;font-size:12px;font-weight:800}.ops .pres.ok{color:var(--ok)}.ops .pres.no{color:var(--bad)}.ops .tk{color:var(--muted);margin:0 0 4px;font-size:13px}.ops .tk b{color:var(--ink)}.ops .mt{letter-spacing:.08em;background:var(--idlebg);color:var(--muted);vertical-align:1px;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:8px;font-weight:900;display:inline-block}.ops .mt.automatic{background:var(--okbg);color:var(--ok)}.ops .mt.manual,.ops .mt.undone{background:var(--warnbg);color:var(--warn)}.ops .btn{border:1px solid var(--line);min-height:38px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:850;display:inline-flex}.ops .btn:hover{border-color:#c4cfc5}.ops .btn-primary,.ops .btn.pri{background:var(--green);border-color:var(--green);color:#fff}.ops .btn-primary:hover{background:var(--green2)}.ops .btn-danger,.ops .btn.danger{border-color:var(--badline);color:var(--bad);background:#fff}.ops .btn.sm{border-radius:8px;min-height:32px;padding:0 10px;font-size:11px}.ops .btn:disabled,.ops .bigbtn:disabled{opacity:.45;cursor:not-allowed}.ops .plus{background:var(--green);color:#fff;border:0;border-radius:10px;width:40px;height:40px;font-size:24px;line-height:1}.ops .acts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.ops .ctl-row{gap:6px;display:grid}.ops .ctl-row label,.ops .lt{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:900}.ops input[type=text],.ops input[type=search],.ops input[type=email],.ops input[type=tel],.ops input[type=time],.ops input[type=date],.ops input[type=password],.ops input:not([type]),.ops select{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;height:40px;padding:0 11px;font-size:13px}.ops .hint{color:var(--muted);font-size:12px}.ops .err,.ops .mf-err,.ops .rf-err{border-radius:var(--r2);border:1px solid var(--badline);background:var(--badbg);color:var(--bad);margin:10px 0;padding:10px 12px;font-size:13px;font-weight:700}.ops .err[hidden],.ops .mf-err:empty,.ops .rf-err:empty{display:none}.ops .confirm,.ops .ok-note{border-radius:var(--r2);border:1px solid var(--warnline);background:var(--warnbg);color:var(--warn);flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:11px 12px;font-size:12px;font-weight:800;display:flex}.ops .confirm span{flex:100%}.ops .ok-note{border-color:var(--okline);background:var(--okbg);color:var(--ok);display:block}.ops .ok-note b{display:block}.ops .ok-note code{background:#fff;border-radius:4px;padding:1px 4px;font-size:13px}.ops .confirm .btn{min-height:32px;font-size:11px}.ops .seg{border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px;display:inline-flex}.ops .seg button{color:#6b776f;background:0 0;border:0;border-radius:7px;padding:6px 11px;font-size:12px;font-weight:800}.ops .seg button.on{background:var(--green);color:#fff}.ops .m .seg{width:100%;margin:8px 0;display:flex}.ops .m .seg button{flex:1;min-height:38px}.ops .dt{letter-spacing:-.04em;align-items:center;gap:10px;margin:6px 0 10px;font-size:26px;display:flex}.ops .mf,.ops .rf,.ops .planf{gap:12px;margin-top:14px;display:grid}.ops .mf label,.ops .rf label{gap:6px;display:grid}.ops .mf small{color:var(--muted);font-size:12px}.ops .mf-hint,.ops .rf-hint{color:var(--muted);margin:0;font-size:12px}.ops .pw{gap:8px;display:flex}.ops .pw button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:9px;padding:0 12px;font-weight:800}.ops .rf2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ops .gch{border:1px solid var(--line);border-radius:var(--r2);background:#fff;gap:8px;max-height:220px;padding:10px 12px;display:grid;overflow:auto}.ops .gch legend{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:0 4px;font-size:10px;font-weight:900}.ops .gch label{align-items:center;gap:8px;display:flex}.ops .mf .btn,.ops .rf .btn,.ops .planf .btn{width:100%}.ops .search{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);gap:6px;font-size:10px;font-weight:900;display:grid}.ops .filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.ops .filters label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:10px;font-weight:900;display:grid}.ops .filters input,.ops .filters select{text-transform:none;letter-spacing:0;min-width:240px;font-weight:400}.ops .filters .cnt{color:var(--muted);margin-left:auto;font-size:11px}.ops .ck{flex-direction:row;align-items:center;gap:8px;min-height:40px;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;font-size:12px!important;font-weight:750!important;display:flex!important}.ops .filters input[type=checkbox],.ops .ck input{width:auto;min-width:0;height:auto}.ops input.daypick{width:auto;min-width:0;height:38px;padding:0 8px;font-size:12px}.ops .panel,.ops .surface{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}.ops .panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;display:flex}.ops .panel-head h3{margin:0;font-size:13px}.ops .panel-head span{color:var(--muted);font-size:10px}.ops .tiles,.ops .metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px;display:grid}.ops .tile{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;min-width:0;padding:14px 15px;display:block}.ops button.tile:hover{border-color:#c4cfc5}.ops .tile span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800;display:block}.ops .tile strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:27px;display:block}.ops .tile small{color:var(--soft);margin-top:4px;font-size:11px;display:block}.ops .tile.bad strong{color:var(--bad)}.ops .tile.good strong{color:var(--ok)}.ops .tile.on{background:var(--green);border-color:var(--green)}.ops .tile.on span,.ops .tile.on small{color:#c8d8cf}.ops .tile.on strong{color:#fff}.ops .m .tiles{grid-template-columns:1fr 1fr}.ops .sec-h{justify-content:space-between;align-items:baseline;gap:10px;margin:22px 0 9px;display:flex}.ops .sec-h h2{margin:0;font-size:14px}.ops .sec-h span{color:var(--muted);font-size:11px}.ops .nomatch{text-align:center;color:var(--muted);padding:30px 16px;font-size:13px}.ops .grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (width<=1300px){.ops .grid3{grid-template-columns:1fr 1fr}}.ops .cards{gap:10px;display:grid}.ops .attn-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.ops .acard{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.ops .acard.high{border-color:var(--badline);box-shadow:inset 3px 0 0 var(--bad)}.ops .acard.med{box-shadow:inset 3px 0 #bf8d2c}.ops .acard.clear{box-shadow:inset 3px 0 0 var(--ok)}.ops .acard-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.ops .acard-title{align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:850;display:flex}.ops .acard p{color:var(--muted);margin:8px 0 12px;font-size:12px;line-height:1.45}.ops .acard .acts{margin:0}.ops .dot{background:#96a198;border-radius:50%;flex:none;width:9px;height:9px}.ops .dot.bad{background:var(--bad)}.ops .dot.ok{background:var(--ok)}.ops .dot.warn{background:#bf8d2c}.ops .board{grid-template-columns:320px minmax(0,1fr) 370px;align-items:start;gap:12px;display:grid}@media (width<=1400px){.ops .board{grid-template-columns:300px minmax(0,1fr)}.ops .board .detailpanel{grid-column:1/-1}}.ops .board .listpanel{max-height:640px;overflow:auto}.ops .grp{letter-spacing:.13em;text-transform:uppercase;color:#88938b;border-bottom:1px solid var(--line2);z-index:1;background:#fafbf9;padding:9px 14px 5px;font-size:9px;font-weight:900;position:sticky;top:0}.ops .li2{text-align:left;border:0;border-bottom:1px solid var(--line2);width:100%;color:inherit;background:#fff;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:4px 11px;padding:11px 14px;display:grid}.ops .li2:hover{background:#fbfcfa}.ops .li2.sel{box-shadow:inset 0 0 0 1px var(--line);background:#f4f7f2}.ops .li2:disabled{cursor:default}.ops .li2 .bar{background:var(--c);border-radius:8px;grid-row:1/span 2;width:7px;height:40px}.ops .li2 strong{font-size:13px}.ops .li2 small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.ops .li2 .right{text-align:right}.ops .li2 .right b{font-size:11px;display:block}.ops .li2 .right small{font-size:10px}.ops .li2 .ch{flex-wrap:wrap;grid-column:2/span 2;gap:5px;display:flex}.ops .mappanel .mapwrap{background:#eef1ea;height:640px;position:relative}.ops .m .mapwrap,.ops .mapbox{border:1px solid var(--line);border-radius:var(--r);background:#eef1ea;height:320px;margin-bottom:10px;position:relative;overflow:hidden}.ops .mapfill{position:absolute;inset:0}.ops .map-svg{width:100%;height:100%;display:block}.ops .mapmsg{z-index:2;border:1px solid var(--line);border-radius:var(--r2);color:var(--muted);background:#fffffff0;padding:7px 10px;font-size:11px;position:absolute;bottom:12px;left:12px}.ops .map-live{position:absolute;inset:0}.ops .map-live .maplibregl-map{width:100%;height:100%}.ops .map-live .maplibregl-ctrl-attrib{font-size:10px}.ops .map-bus{background:var(--ink);color:#fff;cursor:pointer;min-width:46px;height:30px;box-shadow:0 0 0 7px color-mix(in srgb,var(--c) 28%,transparent);border:3px solid #fff;border-radius:9px;place-items:center;padding:0 8px;font-size:11px;font-weight:900;transition:opacity .2s;display:grid}.ops .map-bus.stale{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--bad)}.ops .map-bus.dim{opacity:.55}.ops .map-bus i{border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:10px solid var(--c);transform-origin:50% 0;width:0;height:0;position:absolute;top:50%;left:50%}.ops .detail{padding:16px}.ops .detailpanel .detail{max-height:640px;overflow:auto}.ops .m .detailpanel .detail{max-height:none}.ops .eta{margin:6px 0 10px;padding:0;list-style:none}.ops .eta li{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:12px;display:grid;position:relative}.ops .eta li:before{content:"";border-left:2px solid var(--line);position:absolute;top:0;bottom:0;left:8px}.ops .eta li:first-child:before{top:50%}.ops .eta li:last-child:before{bottom:50%}.ops .eta li:only-child:before{display:none}.ops .eta i{border:3px solid var(--c);z-index:1;background:#fff;border-radius:50%;width:14px;height:14px;margin-left:2px}.ops .eta li.done{color:var(--muted)}.ops .eta li.done i{background:var(--c)}.ops .eta li.cur{font-weight:850}.ops .eta li.cur i{box-shadow:0 0 0 4px var(--sage)}.ops .eta em{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-style:normal}.ops .eta li.cur em{color:var(--ink);font-weight:850}.ops .eta .btn{grid-column:2/span 2;justify-self:start;margin-top:4px}.ops .assign{gap:6px;margin:0 0 12px;display:flex}.ops .assign select{flex:1}.ops .alert{border-radius:var(--r2);border:1px solid var(--warnline);background:var(--warnbg);color:var(--warn);gap:3px;padding:10px 12px;font-size:12px;font-weight:700;display:grid}.ops .alert b{letter-spacing:.1em;font-size:10px}.ops .alert-high{border-color:var(--badline);background:var(--badbg);color:var(--bad)}.ops .d-title{letter-spacing:-.04em;align-items:center;gap:10px;margin:4px 0 8px;font-size:26px;display:flex}.ops .d-title .sw{width:13px;height:13px}.ops .d-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.ops .d-alerts{gap:8px;margin-top:12px;display:grid}.ops .d-grid{border:1px solid var(--line);border-radius:var(--r2);background:#fff;grid-template-columns:1fr 1fr;margin:14px 0;display:grid;overflow:hidden}.ops .d-grid>div{border-bottom:1px solid var(--line2);min-width:0;padding:10px 11px}.ops .d-grid>div:nth-child(odd){border-right:1px solid var(--line2)}.ops .d-grid>div:nth-last-child(-n+2){border-bottom:0}.ops .d-grid dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.ops .d-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;font-weight:800}.ops .d-grid dd.ok{color:var(--ok)}.ops .d-grid dd.bad{color:var(--bad)}.ops .d-grid dd small{color:var(--muted);font-weight:700}.ops .d-sec{justify-content:space-between;align-items:center;margin:18px 0 6px;display:flex}.ops .d-sec h3{margin:0;font-size:14px}.ops .d-sec>span{color:var(--muted);font-size:11px;font-weight:750}.ops .d-stops{margin:0;padding:0;list-style:none}.ops .d-stops li{align-items:center;gap:12px;min-height:36px;font-size:13px;display:flex;position:relative}.ops .d-stops li:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:26px;bottom:-12px;left:6px}.ops .d-stops i{z-index:1;border:3px solid var(--c);background:#fff;border-radius:50%;flex:none;width:14px;height:14px;position:relative}.ops .d-stops .done i{background:var(--c)}.ops .d-stops .done span{color:var(--muted)}.ops .d-stops .cur span{font-weight:800}.ops .d-stops em{color:var(--muted);margin-left:auto;font-size:11px;font-style:normal;font-weight:800}.ops .d-trip{border-top:1px solid var(--line2);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.ops .d-trip>div{gap:3px;display:grid}.ops .d-trip>div span{color:var(--muted);font-size:12px}.ops .ts{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;align-self:center;font-size:9px;font-weight:900}.ops .ts-active{color:var(--ok)}.ops .ts-planned{color:var(--warn)}.ops .dblock{margin:12px 0}.ops .dblock h3{margin:0 0 8px;font-size:14px}.ops .mini{align-items:center;gap:4px;display:flex}.ops .mini span{background:var(--line2);border-radius:9px;flex:1;min-width:0;height:6px}.ops .mini span.on{background:var(--c)}details.ops-log{border:1px solid var(--line);border-radius:var(--r2);margin-top:12px}details.ops-log summary{cursor:pointer;padding:10px 12px;font-size:12px;font-weight:850}details.ops-log .gl{border:0;border-top:1px solid var(--line2);border-radius:0}.ops .gl{border:1px solid var(--line);border-radius:var(--r2);background:#fff;max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.ops .gl li{border-bottom:1px solid var(--line2);grid-template-columns:78px 1fr;gap:2px 10px;padding:8px 12px;font-size:11px;display:grid}.ops .gl time{color:var(--muted);font-variant-numeric:tabular-nums}.ops .gl li strong{letter-spacing:.06em;font-size:10px}.ops .gl li span{color:var(--muted);grid-column:2}.ops .gl .j strong{color:var(--ok)}.ops .gl .g strong{color:var(--warn)}.ops .bd{z-index:100;background:#17211b47;justify-content:flex-end;display:flex;position:fixed;inset:0}.ops .drawer{width:min(520px,100%);height:100%;box-shadow:var(--shadow);background:#fff;padding:22px 24px;overflow-y:auto}.ops .close{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;margin-left:auto;padding:7px 10px;font-size:11px;font-weight:850;display:block}.ops .bd.sh{justify-content:center;align-items:flex-end}.ops .sheet{background:#fff;border-radius:18px 18px 0 0;width:100%;max-width:760px;max-height:92vh;padding:10px 16px 30px;overflow-y:auto;box-shadow:0 -12px 40px #0000002e}.ops .grab{background:var(--line);border-radius:2px;width:40px;height:4px;margin:4px auto}.ops .toast{z-index:300;background:var(--ink);color:#fff;opacity:0;pointer-events:none;text-align:center;border-radius:10px;max-width:90vw;padding:11px 16px;font-size:13px;font-weight:750;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px)}.ops .m~.toast,.ops .app.m+.toast{bottom:84px}.ops .toast.show{opacity:1;transform:translate(-50%)}.ops .bc{text-align:left;border:1px solid var(--line);width:100%;color:inherit;background:#fff;border-radius:12px;gap:7px;padding:14px 14px 13px 20px;display:grid;position:relative;overflow:hidden}.ops .bc:before{content:"";background:var(--c);width:5px;position:absolute;top:0;bottom:0;left:0}.ops .bc.attn{border-color:var(--badline)}.ops .bc .h{justify-content:space-between;align-items:center;gap:10px;display:flex}.ops .bc .h strong{letter-spacing:-.02em;font-size:17px}.ops .bc .rt2{font-size:13px;font-weight:750}.ops .bc .tm{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.ops .bc .ch{flex-wrap:wrap;gap:6px;display:flex}.ops .prog{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:11px;display:flex}.ops .prog .bar{background:var(--line2);border-radius:9px;flex:1;min-width:46px;height:6px;overflow:hidden}.ops .prog .bar b{background:var(--c,var(--green));height:100%;display:block}.ops .chips{gap:7px;margin:10px 0;padding-bottom:4px;display:flex;overflow-x:auto}.ops .chip{border:1px solid var(--line);color:#56655b;background:#fff;border-radius:999px;flex:none;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}.ops .chip b{background:var(--idlebg);border-radius:999px;padding:1px 7px;font-size:10px}.ops .chip.on{background:var(--green);border-color:var(--green);color:#fff}.ops .chip.on b{color:#fff;background:#2f5a49}.ops .alertbar{border:1px solid var(--badline);background:var(--badbg);color:var(--bad);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:11px 13px;display:flex}.ops .alertbar b{letter-spacing:.1em;font-size:10px;display:block}.ops .alertbar span{font-size:12px;font-weight:800}.ops .alertbar button{color:var(--bad);background:0 0;border:0;font-weight:850}.ops .darkcard{background:var(--green);color:#fff;border-radius:var(--r);justify-content:space-between;align-items:flex-end;margin:12px 0;padding:16px 18px;display:flex}.ops .darkcard strong{letter-spacing:-.04em;font-size:30px;display:block}.ops .darkcard small{color:#c8d8cf;font-size:12px}.ops .darkcard>div:last-child{text-align:right}.ops .tbl{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;width:100%;overflow:hidden}.ops .tbl th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbf9;padding:10px 12px;font-size:9px}.ops .tbl td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:11px 12px;font-size:12px}.ops .tbl tr:last-child td{border-bottom:0}.ops .tbl tbody tr[data-ov],.ops .tbl tbody tr[data-set]{cursor:pointer}.ops .tbl tbody tr[data-ov]:hover td,.ops .tbl tbody tr[data-set]:hover td{background:#fbfcfa}.ops .tbl tr.attn td{background:#fffaf8}.ops .tbl tr.sel td{background:#f4f7f2}.ops .tbl td small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.ops .busc{box-shadow:inset 4px 0 0 var(--c)}.ops .busc b{margin-bottom:4px;font-size:13px;display:block}.ops .attnstrip{border:1px solid var(--badline);background:var(--badbg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:11px 14px;display:flex}.ops .attnstrip>b{letter-spacing:.1em;color:var(--bad);font-size:10px}.ops .pillbtn{border:1px solid var(--badline);color:var(--bad);background:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.ops .who{align-items:center;gap:10px;display:flex}.ops .who strong{font-size:13px}.ops .av,.ops .ava{width:var(--s,36px);height:var(--s,36px);background:var(--c,#17382c);color:#fff;font-size:calc(var(--s,36px)*.36);border-radius:50%;flex:none;place-items:center;font-weight:850;display:inline-grid}.ops .ax{border-bottom:1px solid var(--line2);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.ops .ax:last-child{border-bottom:0}.ops .ax .sv{letter-spacing:.08em;background:var(--warnbg);color:var(--warn);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.ops .ax.sev-high .sv{background:var(--badbg);color:var(--bad)}.ops .ax .at b{font-size:13px;display:block}.ops .ax .at small{color:var(--muted);align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.ops .ax .ab2{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ops .m .ax{border:1px solid var(--line);border-radius:12px;grid-template-columns:auto 1fr;margin-bottom:10px}.ops .m .ax .ab2{grid-column:1/-1;justify-content:stretch}.ops .m .ax .ab2 .btn{flex:1;min-height:42px}.ops .drawer .ax,.ops .sheet .ax{grid-template-columns:auto 1fr}.ops .drawer .ax .ab2,.ops .sheet .ax .ab2{grid-column:1/-1;justify-content:flex-start}.ops .tripcard{text-align:left;border:1px solid var(--line);width:100%;color:inherit;background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:14px;display:grid;position:relative}.ops .tripcard:hover{border-color:#c4cfc5}.ops .tripcard strong{font-size:14px}.ops .tripcard .m2{gap:5px;min-width:0;display:grid}.ops .tripcard .m2 small{color:var(--muted);font-size:11px}.ops .tripcard .ch{flex-wrap:wrap;gap:5px;display:flex}.ops .hc{width:var(--s,84px);height:var(--s,84px);background:conic-gradient(var(--c) calc(var(--p)*1%),var(--line2) 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.ops .hc:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.ops .hc b{font-size:calc(var(--s,84px)*.27);letter-spacing:-.03em;text-align:center;line-height:1;position:relative}.ops .hc b small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:.45em;font-weight:700;display:block}.ops .nl{border:1px solid var(--line);border-radius:var(--r2);background:#fff;margin:0;padding:0;list-style:none;overflow:hidden}.ops .nl li{border-bottom:1px solid var(--line2);grid-template-columns:64px 1fr;gap:2px 10px;padding:9px 12px;font-size:12px;display:grid}.ops .nl li:last-child{border-bottom:0}.ops .nl time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ops .nl li span.n{color:var(--muted);grid-column:2;font-size:11px}.ops .nl li b{font-weight:750}.ops .stopg{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-bottom:8px;overflow:hidden}.ops .stopg .sgh{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ops .stopg .sgh b{align-items:center;gap:8px;font-size:13px;display:flex}.ops .stopg .sgh b i{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.ops .stopg .sgh span{letter-spacing:.09em;color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:900}.ops .stopg.cur{border-color:#c9d9a5}.ops .stopg.cur .sgh{background:#f3f8e0}.ops .stopg.cur .sgh span{color:var(--green)}.ops .stopg.flag .sgh span{color:var(--bad)}.ops .stopg .passedline{color:var(--muted);padding:0 12px 10px;font-size:12px}.ops .rider{border-top:1px solid var(--line2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;display:grid}.ops .rider b{font-size:14px}.ops .rider small{color:var(--muted);font-size:11px;display:block}.ops .rider.flag{background:var(--badbg)}.ops .rider.flag small{color:var(--bad)}.ops .rbt{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ops .rbt button{border:1px solid var(--green);min-width:62px;min-height:40px;color:var(--green);background:#fff;border-radius:10px;padding:0 10px;font-size:12px;font-weight:900}.ops .rbt button.on{background:var(--green);color:#fff}.ops .rbt button.ns{border-color:var(--badline);color:var(--bad)}.ops .rbt button.ns.on{background:var(--bad);color:#fff;border-color:var(--bad)}.ops .rbt button.q{border-color:var(--line);color:var(--muted)}.ops .rbt a{border:1px solid var(--line);border-radius:10px;align-items:center;min-height:40px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.ops .bulkb{border:0;border-top:1px solid var(--line2);width:100%;min-height:42px;color:var(--green);background:#fbfcf6;font-size:12px;font-weight:900}.ops .sweep{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;margin:12px 0;padding:12px 14px;font-size:12px;display:grid}.ops .sweep span{color:var(--muted)}.ops .sweep.ok{border-color:var(--okline);background:var(--okbg)}.ops .sweep.ok b{color:var(--ok)}.ops .sweep.bad{border-color:var(--badline);background:var(--badbg)}.ops .sweep.bad b{color:var(--bad)}.ops .sweep .btn{justify-self:start;margin-top:4px}.ops .cc{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.ops .cc b{color:var(--ink);font-size:14px}.ops .cc .bad,.ops .cc .bad b{color:var(--bad)}.ops .tabs2{border-bottom:1px solid var(--line);gap:4px;margin:14px 0 0;display:flex}.ops .tabs2 button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 10px;font-size:12px;font-weight:800}.ops .tabs2 button.on{color:var(--green);border-bottom-color:var(--green)}.ops .split{border:1px solid var(--line);border-radius:var(--r);background:#fff;grid-template-columns:minmax(0,1fr) 380px;display:grid;overflow:hidden}.ops .split>.scr{min-height:360px;max-height:calc(100vh - 330px);overflow:auto}.ops .split .tbl{border:0;border-radius:0}.ops .rdetail{border-left:1px solid var(--line);background:#fbfcfa;min-height:360px;max-height:calc(100vh - 330px);padding:18px;overflow:auto}.ops .ov{letter-spacing:.14em;color:#748078;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:900;display:block}.ops .asg{gap:6px;margin:6px 0 12px;font-size:12px;display:grid}.ops .asg b{width:28px;color:var(--muted);font-size:10px;display:inline-block}.ops .rdot{background:var(--c);border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.ops .dv{background:var(--line);height:1px;margin:12px 0}.ops .gcard{border:1px solid var(--line);background:#fff;border-radius:12px;margin:8px 0;padding:12px}.ops .gcard .t{justify-content:space-between;align-items:center;gap:10px;display:flex}.ops .gcard p{color:var(--muted);margin:6px 0 0;font-size:12px}.ops .st2{gap:3px;font-size:12px;display:grid}.ops .st2 b{width:26px;color:var(--muted);letter-spacing:.06em;font-size:10px;display:inline-block}.ops .tsplit{border:1px solid var(--line);border-radius:var(--r);background:#fff;grid-template-columns:380px minmax(0,1fr);height:calc(100vh - 220px);min-height:560px;display:grid;overflow:hidden}.ops .tlist{border-right:1px solid var(--line);background:#fcfdfa;overflow:auto}.ops .tctl{border-bottom:1px solid var(--line);background:#fff;gap:8px;padding:12px;display:grid}.ops .gh{letter-spacing:.13em;text-transform:uppercase;color:#88938b;border-bottom:1px solid var(--line2);background:#fafbf9;padding:8px 14px;font-size:9px;font-weight:900}.ops .it{text-align:left;border:0;border-bottom:1px solid var(--line2);width:100%;color:inherit;background:0 0;grid-template-columns:auto 1fr;gap:12px;padding:11px 14px;display:grid}.ops .it:hover{background:#f6f8f3}.ops .it.sel{box-shadow:inset 3px 0 0 var(--green);background:#f4f7f2}.ops .it .a strong{font-size:13px}.ops .it .b{color:var(--muted);margin-top:4px;font-size:11px}.ops .it .fcs{margin:6px 0 0}.ops .tpane{padding:20px 22px;overflow:auto}.ops .dh{align-items:center;gap:12px;display:flex}.ops .dh h2{letter-spacing:-.03em;margin:0;font-size:22px}.ops .dsub{color:var(--muted);margin:8px 0;font-size:12px}.ops .dnote{border-radius:var(--r2);background:var(--warnbg);border:1px solid var(--warnline);margin:8px 0;padding:8px 12px;font-size:12px}.ops dl.sm{border:1px solid var(--line);border-radius:var(--r2);grid-template-columns:repeat(3,1fr);margin:8px 0 0;display:grid;overflow:hidden}.ops dl.sm>div{border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);padding:10px 12px}.ops dl.sm>div:nth-child(3n){border-right:0}.ops dl.sm>div:nth-last-child(-n+3){border-bottom:0}.ops dl.sm dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:900}.ops dl.sm dd{margin:4px 0 0;font-size:14px;font-weight:800}.ops dl.sm dd small{color:var(--bad)}.ops .lg{margin:14px 0 0;padding:0;list-style:none}.ops .lg li{grid-template-columns:72px 20px 1fr;gap:0 8px;padding:8px 0;font-size:12px;display:grid;position:relative}.ops .lg time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ops .lg li i{border:3px solid var(--green);z-index:1;background:#fff;border-radius:50%;width:12px;height:12px;margin-top:2px;position:relative}.ops .lg li:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:22px;bottom:-8px;left:85px}.ops .lg li b{font-weight:750}.ops .lg li div>span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.ops .lg li.high i{border-color:var(--bad)}.ops .lg li.med i{border-color:#bf8d2c}.ops .lg li.lg-sample i{border-color:#b9c3bb;width:8px;height:8px;margin-top:4px;margin-left:2px}.ops .lg li.rep b{color:var(--muted);text-decoration:line-through}.ops .tt{margin-top:12px;overflow:auto}.ops .tt table{border-collapse:collapse;border:1px solid var(--line);width:100%}.ops .tt th,.ops .tt td{border-bottom:1px solid var(--line2);text-align:left;padding:8px 11px;font-size:12px}.ops .tt th{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#fafbf9;font-size:9px}.ops .dsec{margin:18px 0 4px}.ops .dsec h3{margin:0;font-size:14px}.ops .late{color:var(--bad);font-weight:800}.ops .routes-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:start;gap:12px;display:grid}.ops .rlist{margin:0;padding:0;list-style:none}.ops .rlist li{border-bottom:1px solid var(--line2);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:11px 14px;display:grid}.ops .rlist li:last-child{border-bottom:0}.ops .rlist li>i{background:var(--c);border-radius:8px;grid-row:1/span 2;width:7px;height:36px}.ops .rlist strong{font-size:13px}.ops .rlist small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.ops .rlist .acts{grid-column:2/span 2;margin:4px 0 0}.ops .rform{gap:10px;padding:16px;display:grid}.ops .rform h2{margin:0;font-size:17px}.ops .rform label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:900}.ops .addr-row{position:relative}.ops .addr-row .searching{color:var(--muted);font-size:11px;position:absolute;top:12px;right:12px}.ops .addr-results{border:1px solid var(--line);border-radius:var(--r2);margin:0;padding:0;list-style:none;overflow:hidden}.ops .addr-results button{text-align:left;border:0;border-bottom:1px solid var(--line2);background:#fff;width:100%;padding:9px 11px;font-size:12px}.ops .addr-results li:last-child button{border-bottom:0}.ops .addr-results button:hover,.ops .addr-results button:focus{background:#f4f7f2}.ops .addr-selected{border:1px solid var(--okline);background:var(--okbg);border-radius:var(--r2);gap:4px;padding:10px 12px;font-size:12px;display:grid}.ops .addr-selected p{margin:0}.ops .stop-picker-map{border:1px solid var(--line);border-radius:var(--r);height:340px;overflow:hidden}.ops .draft{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ops .draft li{border:1px solid var(--line);border-radius:var(--r2);background:#fff;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px 10px;padding:8px 10px;display:grid}.ops .draft li>b{background:var(--green);color:#fff;border-radius:50%;grid-row:1/span 2;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.ops .draft small{color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px}.ops .draft .acts{grid-column:2;margin:0}.ops .notice{border-radius:var(--r2);border:1px solid var(--okline);background:var(--okbg);color:var(--ok);margin:10px 0;padding:10px 12px;font-size:13px;font-weight:700}@media (width<=1100px){.ops .routes-grid{grid-template-columns:1fr}}.ops .rolectl{align-items:center;gap:6px;display:flex}.ops .lockbtn{width:34px;height:34px;color:var(--muted);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cbd5cc;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.ops .rolectl.open .lockbtn{border-color:var(--green);color:var(--green);background:var(--sage)}.ops .rseg{background:#fff;border:1px solid #cbd5cc;border-radius:10px;flex:1;grid-template-columns:1fr 1fr;padding:3px;display:grid}.ops .rseg button{color:#78847b;background:0 0;border:0;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:850}.ops .rseg button.on{background:var(--green);color:#fff}.ops .rolectl.locked .rseg button:not(.on){opacity:.55;cursor:not-allowed}.ops .rolectl.open{box-shadow:none}.ops .mtop .rolectl .lockbtn{width:32px;height:32px}.ops .mtop .rseg{flex:none}.ops .drv{max-width:640px}.ops .drow{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 12px;font-size:12px;display:flex}.ops .dcard{border:1px solid var(--line);background:#fff;border-radius:16px;margin:12px 0 14px;padding:16px}.ops .dcard .ov{margin-bottom:2px}.ops .dbig{letter-spacing:-.04em;margin:4px 0;font-size:30px;font-weight:850;line-height:1.1}.ops .dsub2{color:var(--muted);margin:0 0 8px;font-size:14px}.ops .sh1{letter-spacing:-.045em;margin:6px 0 0;font-size:30px;line-height:1.1}.ops .bigbtn{background:var(--green);color:#fff;text-align:center;border:0;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:54px;margin-top:10px;padding:0 12px;font-size:16px;font-weight:900;display:flex}.ops .bigbtn.out{color:var(--green);border:1px solid var(--green);background:#fff}.ops .bigbtn.red{color:var(--bad);border:1px solid var(--badline);background:#fff}.ops .bigbtn.slim{min-height:46px;font-size:14px}.ops .drv .bad{color:var(--bad);font-weight:750}.ops .srow{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;background:0 0;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 4px;font-size:15px;line-height:1.35;display:grid}.ops .srow small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.ops .srow small.bad{color:var(--bad);font-weight:700}.ops .srow .go{color:#9aa79f;align-self:center;font-size:20px}@media (width<=700px){.ops .acts .btn{flex:auto}.ops .rf2{grid-template-columns:1fr}.ops .filters input,.ops .filters select{min-width:0}}@media (width<=1100px){.ops .tsplit{grid-template-columns:320px minmax(0,1fr)}.ops .split{grid-template-columns:1fr}.ops .split .rdetail{border-left:0;border-top:1px solid var(--line)}}.ops .danger-zone{text-align:left;border:1px solid var(--badline);background:var(--badbg);width:100%;color:var(--bad);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.ops .danger-zone b{letter-spacing:.02em;font-size:12px}.ops .danger-zone small{opacity:.85;font-size:10px}.ops .danger-zone:hover{border-color:var(--bad)}.ops .mfoot .danger-link{color:var(--bad);background:0 0;border:0;font-size:12px;text-decoration:underline}.ops .reset-list{border:1px solid var(--line);border-radius:12px;margin-top:12px;overflow:hidden}.ops .reset-list div{border-top:1px solid var(--line2);justify-content:space-between;gap:12px;padding:9px 12px;font-size:13px;display:flex}.ops .reset-list div:first-child{border-top:0}.ops .reset-list b{font-variant-numeric:tabular-nums;color:var(--bad)}.ops .reset-list .keep{background:var(--okbg)}.ops .reset-list .keep b{color:var(--ok)}.ops .btn.reset-go{background:var(--bad);border-color:var(--bad);color:#fff}
