:root{--ink:#162638;--muted:#738193;--line:#e4e9ef;--paper:#f3f5f8;--green:#bded72;--dark:#101f30;--blue:#305cdd;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}#nodo-app{min-height:100vh}h1,h2,h3,p{margin:0}button{border:0} .app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#aebac8;padding:32px 21px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:230px;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none}.brand svg{width:38px;height:38px}.wordmark{font-size:27px;font-weight:850;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:4px;color:#94a7bb;margin-top:3px}.navlabel{font-size:10px;letter-spacing:2px;margin:48px 14px 15px;color:#8191a3}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;gap:12px;border-radius:10px;padding:13px 14px;color:#aebac8;background:none;text-align:left;font-weight:600}.nav button.active{background:var(--green);color:var(--dark)}.nav svg,.icon{width:19px;height:19px}.sidebottom{margin-top:auto;padding-top:50px}.pilot{border:1px solid #334254;border-radius:12px;padding:15px;line-height:1.7;font-size:12px}.pilot b{color:#e8f1fa}.profile{display:flex;align-items:center;gap:10px;margin-top:24px}.avatar{width:35px;height:35px;background:#dfe5f0;color:#354761;border-radius:50%;display:grid;place-items:center;font-weight:700}.profile small{display:block;margin-top:4px;font-size:11px}.main{grid-column:2;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 36px;border-bottom:1px solid var(--line);background:#fff}.crumb{color:var(--muted);font-size:12px}.crumb b{color:var(--ink);font-weight:500}.toptools{display:flex;gap:12px;align-items:center}.toptools select{max-width:170px;border:1px solid var(--line);border-radius:8px;padding:7px;background:white;font-size:12px}.live{font-size:11px;display:flex;gap:7px;align-items:center;color:#51734b}.dot{width:7px;height:7px;background:#7aa956;border-radius:50%;display:inline-block}.content{padding:32px 36px;max-width:1600px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}.eyebrow{color:#687d91;font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:9px}h1{font-size:29px;letter-spacing:-1px;font-weight:700}.subtitle{color:var(--muted);font-size:13px;line-height:1.7;margin-top:7px}.btn{padding:11px 17px;border-radius:9px;background:var(--dark);color:white;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.4}.btn.primary{background:var(--green);color:var(--dark)}.btn.light{background:white;border:1px solid var(--line);color:var(--ink)}.btn.small{padding:7px 11px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stathead{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.stathead svg{color:#8091a4}.stat strong{display:block;font-size:32px;font-weight:650;margin:13px 0 7px;letter-spacing:-1px}.stat small{color:#8190a0;font-size:11px}.stat:first-child small{color:#578043}.grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panelhead{display:flex;justify-content:space-between;align-items:center;padding:21px 23px;gap:12px}.panelhead h2{font-size:15px}.panelhead small{font-size:10px;color:var(--muted)}.map{height:330px;background:#e9eeeb;position:relative;overflow:hidden}.map svg{width:100%;height:100%}.maplabel{position:absolute;left:18px;top:16px;border-radius:7px;background:white;padding:8px 10px;font-size:10px;box-shadow:0 3px 20px #213f3510}.maplegend{position:absolute;bottom:14px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#697b76}.maplegend span{background:#fffffff0;border-radius:6px;padding:7px 9px}.mapcaption{padding:13px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.tripcard{padding:0 22px 20px}.triptitle{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:20px}.triptitle strong{font-size:15px}.badge{display:inline-flex;border-radius:5px;padding:5px 8px;background:#edf3e7;color:#577a2c;font-size:10px;white-space:nowrap}.badge.blue{background:#edf0fc;color:#4e6cb3}.badge.amber{background:#fff2dc;color:#a37831}.route{position:relative;padding-left:25px;display:grid;gap:25px;margin-bottom:24px}.route:before{content:'';position:absolute;left:5px;top:7px;bottom:8px;border-left:1px dashed #b5c3d1}.route p{position:relative;font-weight:650;font-size:13px}.route p:before{content:'';position:absolute;width:9px;height:9px;background:white;border:2px solid #647da1;border-radius:50%;left:-24px;top:2px}.route p:last-child:before{border-radius:2px;background:var(--green);border-color:#709450}.route small{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:6px}.tripmeta{display:flex;justify-content:space-between;background:#f6f8fb;padding:12px;border-radius:9px;font-size:11px;margin-bottom:15px}.tripmeta b{display:block;margin-top:6px;font-size:12px}.tripcard .btn{width:100%}.sectiongap{margin-top:24px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;font-weight:500;color:#8793a1;background:#fafbfd;padding:12px 22px;border-block:1px solid var(--line)}td{padding:16px 22px;border-bottom:1px solid #edf0f4;font-size:12px}td small{display:block;margin-top:5px;color:var(--muted);font-size:10px}tr:last-child td{border-bottom:0}.linkbutton{background:none;color:#527047;font-size:12px;font-weight:600;padding:5px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 22px 18px}.filters input{max-width:330px}.field,input,select,textarea{width:100%;border:1px solid #dbe2eb;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink)}textarea{resize:vertical;min-height:85px}label{display:grid;gap:7px;font-size:12px;font-weight:600}form{display:grid;gap:17px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.notice{padding:13px 16px;border:1px solid #e1e7d2;border-radius:10px;background:#f6f9ee;color:#60704a;font-size:12px;line-height:1.7;margin-bottom:20px}.notice.warn{background:#fff8ea;border-color:#f2e4c7;color:#85662f}.empty{padding:36px 24px;text-align:center;color:var(--muted);line-height:1.8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vehicle{padding:24px}.vehicle h3{margin:16px 0 6px}.vehicle p{color:var(--muted);line-height:1.8}.vehicle .icon{width:32px;height:32px}.dialog{max-width:620px;width:calc(100% - 32px);border:0;border-radius:20px;padding:0;box-shadow:0 20px 100px #101f3040;color:var(--ink)}.dialog::backdrop{background:#0b17296b;backdrop-filter:blur(4px)}.dialoghead{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialoghead h2{font-size:20px}.dialogbody{padding:24px}.close{background:#f0f3f6;border-radius:50%;width:32px;height:32px;font-size:20px}.timeline{padding:0;list-style:none}.timeline li{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.timeline small{display:block;color:var(--muted);margin-top:5px}.toast{position:fixed;bottom:24px;right:24px;max-width:420px;background:var(--dark);color:#fff;padding:16px 22px;box-shadow:0 8px 30px #0002;border-radius:10px;z-index:100;font-size:13px}.bid{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line);padding:15px;border-radius:10px;margin:10px 0}.bid small{display:block;color:var(--muted);margin:7px 0}.login{max-width:1080px;margin:70px auto;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.login h1{font-size:52px;line-height:1.07;margin-top:50px}.login .brand{color:var(--ink)}.login .panel{padding:30px}.login p{line-height:1.9;margin:20px 0;color:var(--muted)}.check{display:flex;align-items:flex-start;font-weight:400;line-height:1.5}.check input{width:auto;margin-top:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mobilebrand{display:none}.progress{display:flex;gap:6px;margin:20px 0}.progress span{height:5px;background:#e5eaf0;flex:1;border-radius:5px}.progress .done{background:#b8e279}.detailcols{display:grid;gap:20px;grid-template-columns:1fr 1fr}.detailbox{padding:22px}.detailbox h3{font-size:14px;margin-bottom:16px}.gpsstatus{font-size:12px;line-height:1.7;margin:12px 0;color:#63798f}.demofoot{font-size:10px;color:#8b96a3;text-align:center;margin-top:25px;line-height:1.7}.error{color:#ad3b31}.checklist{padding:0;list-style:none;line-height:2.3;color:var(--muted);font-size:13px}
@media(min-width:1500px){.map{height:370px}}@media(max-width:1150px){.sidebar{width:190px;padding-inline:14px}.app{grid-template-columns:190px 1fr}.content{padding:25px}.topbar{padding:18px 25px}.grid{grid-template-columns:1.5fr 1fr}.stats{gap:10px}.stat{padding:16px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.grid{grid-template-columns:1fr}.sidebar{width:76px;padding:24px 12px}.wordmark,.sidebar .brand small,.navlabel,.nav span,.sidebottom{display:none}.nav{margin-top:35px}.nav button{justify-content:center;padding:15px 10px}.app{grid-template-columns:76px 1fr}.sidebar .brand{justify-content:center}.stats{grid-template-columns:repeat(2,1fr)}.login{gap:30px}.login h1{font-size:40px}}@media(max-width:600px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:68px;padding:7px 10px;background:#fff;border-top:1px solid var(--line)}.sidebar .brand{display:none}.nav{display:flex;margin:0;justify-content:space-around;gap:3px}.nav button{flex-direction:column;gap:4px;padding:7px 9px;font-size:9px;color:#657487}.nav span{display:block}.nav svg{width:17px;height:17px}.app{display:block;padding-bottom:70px}.topbar{padding:14px 18px}.crumb{display:none}.mobilebrand{display:block;font-weight:850;letter-spacing:3px;font-size:18px}.toptools{gap:7px}.toptools .live{display:none}.content{padding:23px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.pagehead .btn{font-size:11px;padding:10px}.subtitle{font-size:12px}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:28px}.stat small{font-size:10px}.grid{gap:16px}.map{height:280px}.cards,.detailcols,.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.login{display:block;margin:0;padding:24px}.login h1{font-size:43px;margin-top:30px}.login .panel{padding:22px;margin-top:30px}.dialogbody{padding:20px}.toast{left:16px;right:16px;bottom:84px}.toptools select{max-width:145px}.panelhead{padding:18px}.toptools .btn{padding:7px 9px;font-size:11px}td,th{padding:13px 17px}}




/* FLETNORA · orange / black / white · two explicit accessible modes */
:root{--ink:#181818;--muted:#696969;--line:#e6e3e0;--paper:#f6f4f2;--green:#ff6a1a;--dark:#151515;--blue:#bd4b00;--surface:#fff;--subtle:#faf7f4;--orange-soft:#fff0e5;--orange-ink:#9f3b00;--input:#fff;color-scheme:light}
html[data-theme=dark]{--ink:#f5f5f5;--muted:#aaa6a2;--line:#38332f;--paper:#111110;--surface:#1b1a19;--subtle:#24211f;--orange-soft:#3b2316;--orange-ink:#ffad75;--input:#22201e;color-scheme:dark}
body{background:var(--paper);color:var(--ink)}.sidebar{background:#111;color:#b9b5b1}.wordmark{font-size:19px;letter-spacing:1.8px}.brand small{letter-spacing:2.4px}.nav button.active{background:var(--green);color:#111}.btn{background:#222;color:#fff}.btn.primary{background:var(--green);color:#111}.btn.light{background:var(--surface);color:var(--ink);border-color:var(--line)}.topbar,.stat,.panel,.dialog{background:var(--surface);border-color:var(--line);color:var(--ink)}.field,input,select,textarea,.toptools select{background:var(--input);color:var(--ink);border-color:var(--line)}.toptools select{width:auto;max-width:180px}.toptools .live{white-space:nowrap}.toptools{flex-shrink:0}.live{color:var(--orange-ink)}.dot{background:var(--green)}.eyebrow,.crumb,.subtitle,.stathead,.stat small,.tripmeta,.mapcaption,.timeline small,.profile small,.gpsstatus,.demofoot,.vehicle p{color:var(--muted)}.stat:first-child small{color:var(--orange-ink)}.badge{background:var(--orange-soft);color:var(--orange-ink)}.badge.blue{background:var(--subtle);color:var(--ink)}.badge.amber{background:var(--orange-soft);color:var(--orange-ink)}.badge.danger{background:#5b2222;color:#ffdada}.tripmeta,th{background:var(--subtle)}td{border-color:var(--line)}.linkbutton{color:var(--orange-ink)}.notice{background:var(--orange-soft);color:var(--orange-ink);border-color:var(--line)}.notice.warn{background:var(--subtle);border-color:var(--line);color:var(--ink)}.avatar{background:var(--orange-soft);color:var(--orange-ink)}.pilot{border-color:#3b332f}.pilot span{color:#ff9f62!important}.close{background:var(--subtle);color:var(--ink)}.progress .done{background:var(--green)}.route p:before{border-color:var(--orange-ink);background:var(--surface)}.route p:last-child:before{border-color:var(--orange-ink);background:var(--green)}.map{background:#eee8e1}.map svg{filter:sepia(.2) saturate(.65)}html[data-theme=dark] .map svg{filter:invert(.85) hue-rotate(150deg) saturate(.45)}.maplabel,.maplegend span{background:var(--surface);color:var(--ink)}.mapcaption{background:var(--surface)}.theme-toggle{white-space:nowrap;min-width:75px}.login .brand{color:var(--ink)}.login p{color:var(--muted)}.error{color:#db492f}.dialog{max-height:90dvh}.protocol-status{display:flex;align-items:center;gap:17px;padding:22px;border-radius:15px;background:var(--surface);border:1px solid var(--line);margin-bottom:18px}.protocol-mark{display:grid;place-items:center;background:var(--green);color:#111;width:42px;height:42px;border-radius:12px;font-weight:800;font-size:24px}.protocol-status b{font-size:16px}.protocol-status p{font-size:12px;color:var(--muted);margin-top:5px}.protocol-status>.badge{margin-left:auto}.dossier-tabs{display:flex;gap:8px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:13px;margin-bottom:24px;overflow:auto}.dossier-tabs button{padding:12px 18px;border-radius:8px;background:transparent;color:var(--muted);white-space:nowrap}.dossier-tabs button.active{background:var(--green);color:#111;font-weight:700}.dossier-form fieldset{display:grid;gap:18px}.dossier-form fieldset,.protocol-checklist{border:0;margin:0;padding:0;min-width:0}.dossier-group{padding:22px}.dossier-group summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700}.dossier-group summary span{font-size:11px;color:var(--muted);font-weight:400}.dossier-group[open] summary{margin-bottom:24px}.required-dot{color:#ce4a00}.goods-row{background:var(--subtle);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.goods-row .linkbutton{margin-top:12px}.sticky-save{position:sticky;bottom:20px;justify-self:end;box-shadow:0 3px 20px #0002;z-index:4}.document-checks{list-style:none;padding:0}.document-checks li{padding:8px 0;font-size:12px;display:flex;gap:12px;border-bottom:1px solid var(--line)}.document-checks span{color:var(--orange-ink);font-weight:800}.document-item{padding:22px;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.document-item b{font-size:13px}.document-item p{font-size:12px;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}.document-item small{display:block;color:var(--muted);font-size:11px}.document-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.protocol-checklist{display:grid;gap:18px}.protocol-checklist .check{border-bottom:1px solid var(--line);padding-bottom:14px}.check input{accent-color:#ef641a;width:17px;height:17px;flex-shrink:0}.requirements-list{max-height:540px;overflow:auto;font-size:12px;color:var(--muted)}.requirements-list ul{padding-left:20px}.requirements-list li{padding-bottom:10px}.sources-list{font-size:13px;line-height:2.2}.sources-list a{color:var(--orange-ink)}.export-buttons{display:flex;gap:12px;flex-wrap:wrap}.protocol-status .badge{white-space:normal}.formgrid label{align-content:start}input[type=file]{font-size:12px}html[data-theme=dark] .stat strong{color:#fff}
.maplabel,.maplegend{z-index:2}.map{background:#e9eee9}.map svg{filter:none}html[data-theme=dark] .map{background:#252321}html[data-theme=dark] .map svg{filter:none}html[data-theme=dark] .map svg>rect:first-of-type{fill:#252321}html[data-theme=dark] .map svg>g[fill]{fill:#323029}html[data-theme=dark] .map svg>g[font-family]{fill:#c5bcb3}html[data-theme=dark] .map svg>g[stroke="#fff"]{stroke:#514b42}html[data-theme=dark] .map svg>g[stroke="#d4dcd4"]{stroke:#38332d}html[data-theme=dark] .map svg>path[stroke="#f3c5a4"]{stroke:#6e3a1e}
@media(max-width:1100px){.toptools .live{display:none}}@media(max-width:600px){.sidebar{background:var(--surface);border-color:var(--line)}.nav button{color:var(--muted)}.mobilebrand{font-size:13px;letter-spacing:1.3px}.toptools{gap:5px}.toptools select{max-width:130px;font-size:10px;padding:7px}.theme-toggle{min-width:30px}.theme-toggle span{display:none}.toptools .btn{padding:7px}.topbar{padding:12px}.protocol-status{padding:16px;gap:12px;flex-wrap:wrap}.protocol-status>.badge{margin-left:54px}.protocol-status b{font-size:14px}.protocol-status p{font-size:10px}.dossier-tabs button{padding:11px;font-size:12px}.dossier-group{padding:18px}.dossier-group summary{font-size:13px}.document-item{flex-direction:column}.document-actions{justify-content:flex-start}.sticky-save{bottom:83px}.pagehead{flex-wrap:wrap}.pagehead>.btn{margin-top:5px}}
