@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap");:root{--ink:#17212b;--muted:#637384;--paper:#f4f7f8;--card:#ffffff;--line:#dce5e8;--teal:#087f8c;--teal-dark:#075966;--mint:#dff4ee;--amber:#f4b942;--danger:#b83b45;--shadow:0 12px 32px rgba(25,57,68,.08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,sans-serif}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f4b942;outline-offset:3px}.sub-shell{max-width:780px;min-height:100dvh;margin:0 auto;background:var(--paper)}.sub-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;color:white;background:var(--teal-dark);padding:14px 18px;box-shadow:0 2px 12px #163e4655}.sub-header-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-weight:800;letter-spacing:-.03em}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--muted)}.mono{font-family:Space Mono,monospace}.sub-main{padding:18px}.document-panel,.notice,.stop-card,.tour-summary{border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}.tour-summary{padding:18px;margin-bottom:16px}.summary-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:16px}.stat{background:var(--paper);border-radius:12px;padding:10px 5px;text-align:center}.stat strong{display:block;font-size:20px}.stat span{color:var(--muted);font-size:11px}.progress{height:7px;border-radius:9px;background:#dce8e9;margin-top:12px;overflow:hidden}.progress>div{height:100%;background:var(--teal);transition:width .3s ease}.vehicle{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#e6f2f1;border-radius:13px;margin-bottom:16px}.document-panel{padding:18px;margin:0 0 22px}.document-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.document-heading h2{margin:3px 0 5px;font-size:21px;letter-spacing:-.03em}.document-heading p{margin:0;color:var(--muted);line-height:1.45;font-size:13px}.status-pill{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;background:var(--mint);color:var(--teal-dark)}.status-pill.rejected{background:#fde5e4;color:var(--danger)}.status-pill.submitted{background:#e3edf8;color:#28567b}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;margin:18px 0 12px}.category{border:1px solid var(--line);padding:12px;border-radius:13px;background:#fbfdfd}.category.selected{border-color:var(--teal);background:var(--mint);box-shadow:inset 0 0 0 1px var(--teal)}.category strong{display:block;font-size:13px;margin-bottom:4px}.category span{display:block;color:var(--muted);font-size:11px;line-height:1.35}.upload-zone{border:1.5px dashed #8bb8b9;background:#f1faf8;border-radius:14px;padding:18px;text-align:center;transition:background .2s,border-color .2s}.upload-zone.dragging{background:#dff4ee;border-color:var(--teal)}.upload-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.button{min-height:44px;border:0;border-radius:11px;padding:11px 15px;cursor:pointer;font-weight:800;color:white;background:var(--teal)}.button.secondary{color:var(--teal-dark);background:#dcefeb}.button.ghost{color:var(--ink);background:transparent;border:1px solid var(--line)}.button.danger{color:var(--danger);background:#fff0ef}.button:disabled{opacity:.5;cursor:not-allowed}.file-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.file-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.file-preview{width:42px;height:42px;border-radius:8px;object-fit:cover;background:#e7eff0;display:grid;place-items:center;color:var(--teal-dark);font-size:11px;font-weight:800}.file-meta{min-width:0;flex:1 1;font-size:13px}.file-meta strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-meta small{color:var(--muted)}.error-text{color:var(--danger);font-size:12px;margin:4px 0 0}.deadline{padding:12px;margin:14px 0;background:#fff4d7;color:#6d5010;border-radius:12px;font-size:13px;line-height:1.45}.document-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}.section-title{margin:0 0 11px;font-size:16px}.stops{display:grid;grid-gap:10px;gap:10px}.stop-card{display:block;color:inherit;text-decoration:none;padding:14px;transition:transform .15s ease,box-shadow .15s ease}.stop-card:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(25,57,68,.12)}.stop-top{justify-content:space-between;gap:10px}.stop-name,.stop-top{display:flex;align-items:center}.stop-name{gap:9px;font-weight:700;font-size:14px}.stop-number{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dfe9eb;color:var(--teal-dark);font-size:12px}.stop-number.done{background:var(--teal);color:#fff}.stop-detail{margin:9px 0 0 38px;padding:8px 10px;border-radius:9px;background:var(--paper);font-size:12px}.stop-detail small{display:block;color:var(--muted);margin-top:3px}.notice{padding:12px 14px;background:#fff4d7;color:#6d5014;margin-bottom:16px;font-size:13px}@media (max-width:560px){.sub-main{padding:14px}.category-grid{grid-template-columns:1fr}.document-heading{display:block}.status-pill{display:inline-block;margin-top:12px}.summary-top{gap:8px}}