:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:#183b3b;background:#f4f8f6;line-height:1.5}*{box-sizing:border-box}body{margin:0}.topbar{height:78px;background:#fff;border-bottom:1px solid #dce9e5;display:flex;justify-content:space-between;align-items:center;padding:0 max(22px,calc((100% - 1180px)/2));}.topbar h1{font-size:18px;margin:1px 0 0;letter-spacing:.02em}.eyebrow{font-size:10px;letter-spacing:.14em;color:#0f766e;font-weight:800}.header-actions{font-size:12px;color:#426563;display:flex;gap:8px;align-items:center}.live-dot{width:8px;height:8px;background:#20a36a;border-radius:99px;box-shadow:0 0 0 4px #d9f5e6}.shell{max-width:1180px;margin:auto;padding:26px 22px 44px}.tabs{display:flex;gap:8px;margin-bottom:26px}.tab{border:0;background:#e4efec;border-radius:999px;padding:10px 18px;color:#426563;font-weight:700;cursor:pointer}.tab.active{background:#0f766e;color:white}.screen{display:none}.active-screen{display:block}.hero{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.hero h2{font-size:30px;margin:3px 0 5px;letter-spacing:-.04em}.hero p{color:#6b8581;margin:0;font-size:14px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.card{background:#fff;border:1px solid #e0ece8;border-radius:18px;padding:20px;box-shadow:0 5px 18px #173b3b08;margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:800;margin-bottom:18px}.badge{border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.badge.good{color:#087244;background:#dff7e9}.badge.neutral{color:#55706d;background:#edf2f1}.big-time{font-size:52px;letter-spacing:-.07em;font-weight:800;color:#0f766e;margin-top:5px}.muted{font-size:12px;color:#79908d}.progress{height:8px;background:#e5efeb;border-radius:10px;margin:22px 0 14px;overflow:hidden}.progress span{display:block;background:#1caa73;height:100%;width:64%;border-radius:10px;transition:width .4s}.meta-row{display:flex;justify-content:space-between;color:#708581;font-size:12px}.meta-row b{color:#204c49}.signal{color:#11815b;font-size:11px}.route{position:relative;padding:4px 0 2px 8px}.route-line{position:absolute;left:17px;top:18px;bottom:18px;border-left:2px dashed #b8d8cf}.stop{display:flex;gap:13px;position:relative;margin:13px 0;align-items:flex-start}.stop>span{width:20px;height:20px;border-radius:50%;background:#f1f6f4;color:#78a39b;text-align:center;line-height:20px;font-size:11px;z-index:1}.stop.current>span{background:#0f766e;color:#fff}.stop.passed>span{background:#dff7e9;color:#087244}.stop small{display:block;color:#869a96;font-weight:400;margin-top:2px}.map-card{padding-bottom:14px}.map{height:225px;border-radius:13px;background:#dfece8;position:relative;overflow:hidden;background-image:radial-gradient(#c6ddd6 1px,transparent 1px);background-size:18px 18px}.map-road{position:absolute;height:12px;background:#fff;border:2px solid #bdd8d0;transform:rotate(-20deg);width:110%;left:-5%}.map-road.r1{top:54px}.map-road.r2{top:130px;transform:rotate(18deg)}.map-road.r3{top:180px;transform:rotate(-5deg)}.map-label{position:absolute;background:#fff;padding:5px 8px;border-radius:7px;font-size:11px;box-shadow:0 2px 8px #123b3b18}.map-label.a{left:9%;top:20%}.map-label.b{left:45%;top:53%}.map-label.c{right:8%;bottom:12%}.bus-pin{position:absolute;left:58%;top:40%;font-size:28px;filter:drop-shadow(0 3px 3px #376c623d);transition:left .5s,top .5s}.notice{background:#eef8f4;border-radius:10px;padding:11px 13px;font-size:12px;color:#557872;margin-top:12px}.notice-list>div{display:flex;gap:14px;border-top:1px solid #edf2f1;padding:12px 0;font-size:13px}.notice-list>div:first-child{border-top:0;padding-top:0}.notice-date{color:#0f766e;font-weight:800}.link-btn{color:#0f766e;background:none;border:0;font-size:12px;font-weight:800;cursor:pointer}.outline,.secondary,.danger,.primary{border-radius:10px;padding:10px 15px;font-weight:800;border:1px solid #c9ded8;cursor:pointer}.outline,.secondary{background:#fff;color:#0f766e}.primary{background:#0f766e;color:#fff;border-color:#0f766e}.primary.small{padding:9px 13px}.danger{background:#fff0ef;color:#b34842;border-color:#f1c3bd}.driver-panel{max-width:760px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid label{font-size:12px;font-weight:800;color:#55716e}.field-grid select,.field-grid input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d5e5e1;border-radius:9px;background:#fff;color:#183b3b;font:inherit}.driver-status{display:flex;align-items:center;gap:15px;padding:26px 0}.driver-icon{font-size:40px;background:#eef8f4;border-radius:16px;padding:13px}.driver-status strong{font-size:21px}.driver-status p{color:#718884;font-size:13px;margin:4px 0}.driver-actions{display:flex;gap:9px}.driver-actions button:disabled{opacity:.45;cursor:not-allowed}.telemetry{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e4eeeb;margin-top:22px;padding-top:18px}.telemetry span,.telemetry b{display:block;font-size:11px}.telemetry span{color:#819793}.telemetry b{margin-top:4px}.log{background:#f5f9f7;border-radius:10px;padding:5px 13px;color:#55716e;font-size:12px;min-height:70px}.log p{margin:8px 0;border-bottom:1px solid #e2ece8;padding-bottom:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid #e0ece8;border-radius:15px;padding:16px}.stat span,.stat small{display:block;color:#718884;font-size:12px}.stat strong{font-size:29px;display:block;margin:6px 0}.warning-text{color:#0f766e}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#819793;font-weight:700;padding:8px 10px;border-bottom:1px solid #e4eeeb}td{padding:13px 10px;border-bottom:1px solid #eef3f1;white-space:nowrap}td small{display:block;color:#879b97;margin-top:2px}.setting,.health>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf2f1;padding:11px 0;font-size:13px}.setting:last-child,.health>div:last-child{border-bottom:0}.setting span,.health span{color:#78908c}.health b{color:#0f766e}footer{border-top:1px solid #dce9e5;max-width:1180px;margin:auto;padding:18px 22px 28px;color:#8aa09c;font-size:11px;display:flex;justify-content:space-between}@media(max-width:700px){.topbar{height:70px}.shell{padding:20px 14px}.hero h2{font-size:25px}.grid.two,.field-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.telemetry{grid-template-columns:1fr 1fr;gap:15px}.driver-actions{flex-wrap:wrap}.footer,footer{display:block}footer span{display:block;margin:4px 0}.card{padding:16px}.meta-row{gap:10px;flex-direction:column}.tabs{overflow:auto}.tab{white-space:nowrap}}
