:root{font-family:Inter,system-ui,sans-serif;color:#17303b;background:#f4f6f3;line-height:1.55;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#123e42;color:#fff;padding:44px max(20px,calc((100vw - 1280px)/2));border-bottom:6px solid #cce68a}header h1{font-size:clamp(30px,5vw,52px);line-height:1.1;letter-spacing:-1.6px;margin:16px 0}header p{color:#d5e6e5}.eyebrow{letter-spacing:2px;font-size:12px;font-weight:700}.roles{font-size:14px;color:#e0ecc8}main{max-width:1320px;padding:24px 20px;margin:auto}a{color:#00665d;overflow-wrap:anywhere}a:hover{text-decoration-thickness:3px}.notice{background:#fff3d5;border:1px solid #dec78f;border-radius:12px;padding:18px;margin-bottom:18px;font-size:14px}.notice strong,.notice span{display:block;margin-bottom:6px}details{background:white;border:1px solid #d6e0da;border-radius:12px;padding:16px}summary{cursor:pointer;font-weight:700}form,.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px}label{display:flex;flex-direction:column;font-size:13px;font-weight:650;gap:5px}input,select,button,textarea{font:inherit;border-radius:8px;border:1px solid #aec3ba;min-height:44px;padding:10px;background:white;color:#18383b}input,select{max-width:100%}button{cursor:pointer;background:#15564f;color:white;border-color:#15564f;font-weight:650}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#f1f6f2;color:#184a43}button:hover:not(:disabled){filter:brightness(.92)}:focus-visible{outline:3px solid #b27b0c;outline-offset:2px}.toolbar{position:sticky;top:0;background:#f4f6f3ee;z-index:5;padding:12px 0;backdrop-filter:blur(12px)}.toolbar label{flex:1;min-width:145px}.statusbar{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:12px 0;color:#356259}#filter-help{font-size:13px;color:#546d69}section{background:white;border:1px solid #d3dfd6;border-radius:14px;padding:22px;margin:24px 0;overflow:hidden}section h1{font-size:25px;line-height:1.25;margin:0 0 14px}h2{font-size:20px}table{border-collapse:collapse;width:100%;font-size:14px;margin:20px 0}th{background:#194d4d;color:white;text-align:left}td,th{padding:12px;border:1px solid #d0dbd6;vertical-align:top}td:first-child{min-width:100px}small{font-size:12px;color:#526960}.note{background:#eef4e8;border-left:4px solid #98b86c;padding:14px;font-size:14px;margin:12px 0}.paper-control{margin:10px 0 18px;background:#f4f8f5;border:1px solid #d6e2d9;border-radius:9px;padding:10px}.paper-control label{display:block}.paper-control textarea{display:block;width:100%;min-height:90px;font-size:14px;margin:7px 0;resize:vertical}.paper-control input{min-height:auto;accent-color:#15564f;width:18px;height:18px;vertical-align:middle}.paper-control button{font-size:12px;min-height:38px;padding:6px 10px;margin:4px 5px 4px 0}.meta,.record-status{font-size:12px;color:#426259}.conflict{padding:10px;background:#fff0cc;font-size:13px;border-radius:6px}.conflict pre,.saved-note{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.route-grid,.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.route-card{background:white;border:1px solid #d3dfd6;padding:20px;border-radius:12px}.route-card h2{font-size:17px}.metric{font-size:36px;font-weight:750;line-height:1.2}.overview-card{background:#e9f0e4;padding:24px;border-radius:12px}.overview-card h2{margin:0}footer{font-size:13px;padding:30px 0;color:#546d69}.empty{padding:30px;background:white;border-radius:12px}.error{color:#923216}[hidden]{display:none!important}@media(max-width:680px){header{padding:30px 20px}main{padding:16px 12px}.toolbar{gap:8px;position:static}.toolbar label{min-width:calc(50% - 8px)}.toolbar button{width:100%}form label{width:100%}form button{width:100%}.statusbar{flex-direction:column;gap:2px}section{padding:16px 12px}section h1{font-size:23px}table,tbody,tr,td{display:block;width:100%}thead,th{display:none}tr{margin:16px 0;border:1px solid #c2d3c9;border-radius:8px;overflow:hidden}td{border:0;border-bottom:1px solid #e4ebe6;padding:11px}td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:750;color:#54746b;margin-bottom:5px}td:first-child{background:#edf3e9;font-weight:700}.route-grid,.overview-grid{grid-template-columns:1fr}.notice{padding:14px}.roles{font-size:12px}input{width:100%}.paper-control input{width:18px}.paper-control textarea{font-size:16px}}
