:root{--navy:#102c44;--aqua:#008c9a;--ink:#16344d;--line:#dce5ec;--muted:#637b8d;--bg:#f4f7fa}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;padding:11px 17px;background:var(--aqua);color:white;cursor:pointer;font-weight:650}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}textarea{min-height:100px;resize:vertical}label{display:block;font-size:13px;font-weight:650;margin-bottom:16px}label input,label select,label textarea{margin-top:5px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:23px}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--aqua)}.pill{background:#e0f3f2;color:#007a7f;padding:6px 12px;border-radius:50px;font-size:12px}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.danger{background:#fff1f1;color:#b12e36}.ghost{background:transparent;border:1px solid #406076}.muted,small{color:var(--muted)}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-brand{padding:12vh 9%;background:linear-gradient(140deg,#102c44,#006f7b);color:white}.login-brand h1{font-size:clamp(32px,4vw,54px);line-height:1.15;margin:30px 0}.login-brand .eyebrow{color:#8eeee2}.login-brand p{color:#cae4e6}.orbit{display:flex;gap:10px;flex-wrap:wrap;margin-top:50px}.orbit span{padding:12px 17px;border:1px solid #619b9e;border-radius:30px}.login-form{max-width:430px;width:85%;align-self:center;margin:60px auto}.login-form h2{margin-top:25px}.login-form button{width:100%;margin:8px 0 20px}#shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}aside{padding:28px 18px;background:var(--navy);color:white;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:27px;font-weight:800;padding:0 12px}.brand span{display:block;font-size:10px;letter-spacing:4px;color:#80d3d7}.contract-label{color:#98b9cb;font-size:10px;margin:28px 8px 18px}aside select{background:#183b55;border:1px solid #355870;color:white;font-size:12px}.aside-bottom{padding:20px 8px;color:#a8c0cc;font-size:12px}.aside-bottom button{display:block;margin-top:12px}nav button{background:transparent;color:#bcd0db;text-align:left;width:100%;font-size:12px;padding:9px 12px;margin:2px 0}nav button.active{background:#215266;color:#fff;border-left:3px solid #52d5c3}nav .group{padding:18px 12px 6px;font-size:9px;color:#6e9baa;text-transform:uppercase;letter-spacing:1.7px}main{padding:35px 38px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}header h1{margin:6px 0 0}#toolbar{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}#search{max-width:340px;margin-right:auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;margin:0 0 25px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 3px 12px #102c4405}.metric small{display:block;font-size:11px}.metric strong{font-size:33px;display:block;margin:8px 0}.panel{margin-bottom:18px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted);background:#f9fbfc;white-space:nowrap}th,td{padding:14px 18px;border-bottom:1px solid #eaf0f4;vertical-align:top}tr:hover td{background:#f5fbfc}td .row-button{background:#edf8f8;color:#007e87;padding:7px 11px;font-size:12px}.empty{padding:55px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:20px;max-width:900px;width:90vw;padding:28px;color:var(--ink);box-shadow:0 20px 90px #102c4445}dialog::backdrop{background:#102c4470;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.icon{background:#eff4f7;color:var(--ink);font-size:22px;padding:0 10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.fields .wide{grid-column:1/-1}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;flex-wrap:wrap}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.repeater{border:1px solid var(--line);padding:12px;border-radius:11px;margin-bottom:18px}.repeat-row{display:flex;gap:7px;flex-wrap:wrap;background:#f5f8fa;padding:9px;border-radius:8px;margin:8px 0}.repeat-row label{flex:1;min-width:90px;margin-bottom:0;font-size:11px}.repeat-row button{padding:5px 10px;background:#ffecec;color:#a94249}.signature{border:1px dashed #aec5d3;border-radius:10px;padding:12px;margin-top:10px}.signature canvas{width:100%;height:130px;background:white;border:1px solid var(--line);touch-action:none}.photo-grid{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0}.photo-grid img{width:180px;height:130px;object-fit:contain;background:#f2f5f7}#toast{position:fixed;top:20px;right:20px;max-width:450px;padding:15px 20px;background:#163b53;color:white;z-index:1000;border-radius:10px;display:none}.bar{height:8px;background:#e5eef3;border-radius:9px}.bar span{display:block;height:100%;background:var(--aqua);border-radius:9px}a{color:#007c86}.warning{background:#fff7df;padding:15px;border-radius:10px;font-size:13px}@media(max-width:900px){#shell{grid-template-columns:190px 1fr}main{padding:25px 18px}aside{padding:20px 8px}.columns{grid-template-columns:1fr}}@media(max-width:620px){.login{display:block}.login-brand{padding:35px}.login-brand h1{font-size:32px}.orbit{margin-top:20px}.login-form{margin:35px auto}#shell{display:block}aside{height:auto;position:static;padding:15px}nav{display:flex;overflow:auto;gap:5px}nav .group{display:none}nav button{width:auto;white-space:nowrap}.contract-label{margin:12px 0}.aside-bottom{display:flex;justify-content:space-between;padding:8px}.aside-bottom button{margin:0}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}header h1{font-size:23px}dialog{padding:20px}}

.field-link{display:block;color:#a9e4e7;padding:15px 12px;font-size:13px}.section-label{max-width:450px;margin:18px 0}#nav button{font-size:16px;padding:15px}

.fleet-route{width:100%;height:auto;max-height:260px;border-radius:12px;margin-top:16px}.panel small{color:#527080}
