:root{--green:#173f2a;--green2:#2f6840;--orange:#f08a19;--ink:#18231c;--muted:#67736b;--line:#dce4dd;--paper:#f4f6f2;--white:#fff;--danger:#bd4a3c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Segoe UI,Arial,sans-serif}
.topbar{min-height:72px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,var(--green),var(--green2));color:#fff}.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-weight:900}.brand .brand-product{margin:0;color:#fff;font-weight:600;opacity:.9;white-space:nowrap}.uniggel-logo{position:relative;display:block;overflow:hidden;flex:none;background:#fff}.uniggel-logo img{position:absolute;width:129%;max-width:none;height:auto;left:-14.4%;top:-49%}.uniggel-logo-header{width:150px;height:44px;margin:5px;border-radius:7px;box-shadow:0 0 0 5px #fff}.uniggel-logo-login{width:260px;height:75px;margin:0 auto}.login-identity{display:grid;justify-items:center;gap:12px;color:var(--green);font-weight:700}.topbar nav{display:flex;gap:22px}.topbar nav a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:650;opacity:.85}
.context-bar{padding:12px 3vw;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:#fff}.context-bar label{font-weight:800;color:var(--green)}.context-bar select{min-width:330px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.context-bar span{margin-left:auto;color:var(--muted);font-size:.82rem}
.date-filter{margin-left:auto;display:flex;align-items:center;gap:8px}.date-filter label{font-size:.78rem}.date-filter input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff}.date-filter button{padding:8px 12px;border:1px solid #b9c9bb;border-radius:9px;color:var(--green);font-weight:700;background:#edf4ee;cursor:pointer}
main{padding:28px 3vw 50px}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.hero small{color:var(--orange);font-weight:900;letter-spacing:.14em}.hero h1{margin:5px 0;font-size:clamp(2rem,4vw,3.5rem);color:var(--green);line-height:1}.hero p{margin:8px 0 0;color:var(--muted)}.live{padding:10px 15px;border-radius:99px;background:#e4f3e8;color:var(--green2);font-weight:700}
.facility-plan{position:relative;min-height:650px;overflow:hidden;border:1px solid #c7d7c8;border-radius:26px;background:linear-gradient(145deg,#d8e3d1,#edf1e8);box-shadow:inset 0 0 60px rgba(32,70,38,.08)}.facility{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border:3px solid var(--green2);border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 12px 30px rgba(23,63,42,.14);text-align:center}.facility span{font-weight:900;color:var(--green);text-transform:uppercase}.facility strong{font-size:3rem;color:var(--orange);line-height:1}.facility small{color:var(--muted)}.facility div{display:grid;grid-template-columns:auto auto;gap:5px 12px;margin-top:12px}.facility div b{color:var(--orange);font-size:1.3rem}.portaria{left:3%;top:41%;width:14%;height:22%;border-color:#8e3e9e}.patio-a{right:4%;top:5%;width:20%;height:25%;border-color:#e7ae16;background:#fff8dc}.balanca{right:30%;top:32%;width:20%;height:22%;border-color:#ee87b2}.docas{left:31%;bottom:8%;width:34%;height:25%;border-color:#345fc5}.patio-b{right:3%;top:63%;width:21%;height:27%;border-color:#d9cfa2}.saida{left:4%;bottom:5%;width:20%;height:20%;border-color:var(--green);background:var(--green);color:#fff}.saida span,.saida small{color:#fff}.road{position:absolute;z-index:1;height:34px;border:3px solid #fff;border-radius:99px;background:#87918a;box-shadow:0 0 0 2px #bcc8bc}.road-entry{left:13%;top:46%;width:60%;transform:rotate(-10deg)}.road-yard{right:14%;top:30%;width:30%;transform:rotate(66deg)}.road-docks{left:17%;bottom:34%;width:48%;transform:rotate(8deg)}
.kanban{display:grid;grid-template-columns:repeat(8,minmax(245px,1fr));gap:14px;overflow-x:auto;padding-bottom:20px}.lane{min-height:560px;padding:12px;border-radius:16px;background:#e8ede8}.lane>header{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px}.lane h2{margin:0;font-size:1rem;color:var(--green)}.lane>header>b{min-width:27px;padding:4px;border-radius:99px;background:#fff;text-align:center}.truck-card{margin-bottom:10px;padding:14px;border-left:4px solid var(--orange);border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(20,55,31,.06)}.truck-card.warning{border-left-color:var(--danger)}.truck-card>div,.truck-card footer{display:flex;justify-content:space-between;gap:10px}.truck-card span,.truck-card small{color:var(--muted);font-size:.78rem}.truck-card footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.truck-card footer b{color:var(--danger)}.empty{text-align:center;color:var(--muted)}.delivery{background:#dbeadb}.delivery-total{text-align:center;padding:28px}.delivery-total strong{display:block;font-size:3rem;color:var(--green)}
.operation-card{max-width:760px;padding:30px;border-radius:18px;background:#fff;box-shadow:0 12px 38px rgba(21,57,32,.08)}.operation-card label{display:block;margin-bottom:8px;color:var(--green);font-weight:800}.search-row{display:flex;gap:10px}.search-row input{flex:1;padding:14px;border:1px solid var(--line);border-radius:10px;font:inherit}.search-row button{padding:0 25px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:800}.empty-operation{margin-top:25px;padding:35px;border:1px dashed #bec9c0;border-radius:12px;color:var(--muted);text-align:center}.loading{padding:50px;color:var(--muted);text-align:center}
.operation-result{margin-top:25px}.operation-feedback{margin-top:16px;padding:13px 15px;border-radius:10px;font-weight:700}.operation-feedback.success{color:#1b6535;background:#e6f4e9}.operation-feedback.error{color:#9d3026;background:#fff0ee}.vehicle-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.vehicle-summary>div{padding:14px;border-radius:10px;background:#f0f4f0}.vehicle-summary small{display:block;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.vehicle-summary strong{display:block;margin-top:3px;color:var(--green);overflow-wrap:anywhere}.operation-form{display:grid;gap:16px;padding-top:20px;border-top:1px solid var(--line)}.operation-form label{display:grid;gap:7px}.operation-form input{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;font:inherit}.check-field{grid-template-columns:auto 1fr!important;align-items:center}.check-field input{width:18px;height:18px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.primary-action,.secondary-action{padding:12px 17px;border-radius:9px;font:inherit;font-weight:800}.primary-action{border:0;color:#fff;background:var(--orange)}.secondary-action{border:1px solid #b9c9bb;color:var(--green);background:#edf4ee}.weight-reference{padding:17px;border-radius:10px;background:#e8f1e9}.weight-reference span{display:block;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.weight-reference strong{color:var(--green);font-size:1.4rem}
.facility-plan{min-height:0;padding:46px 28px 25px;border-color:#cbd8cc;background:linear-gradient(180deg,#f9fbf8,#edf3ed)}.flow-road{display:grid;grid-template-columns:minmax(130px,1fr) 48px minmax(130px,1fr) 48px minmax(130px,1fr) 48px minmax(150px,1.15fr) 48px minmax(130px,1fr) 48px minmax(130px,1fr) 48px minmax(130px,1fr);align-items:center}.flow-step{position:relative;z-index:2;min-height:260px;padding:24px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #c5d5c7;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(23,63,42,.1);text-align:center}.flow-step::before{content:"";position:absolute;inset:8px;border:1px solid #e1e9e2;border-radius:16px;pointer-events:none}.flow-step span{position:relative;color:var(--green);font-weight:900;text-transform:uppercase}.flow-step strong{position:relative;margin:8px 0 3px;color:var(--orange);font-size:3.15rem;line-height:1}.flow-step small{position:relative;color:var(--muted)}.flow-icon{position:relative;width:58px;height:58px;margin-bottom:14px;display:grid;place-items:center;border-radius:17px;color:var(--green);background:#e6f0e7}.flow-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.balance-step{border-color:var(--orange)}.balance-step .flow-icon{color:#fff;background:var(--orange)}.exit-step{border-color:var(--green);color:#fff;background:var(--green)}.exit-step::before{border-color:rgba(255,255,255,.18)}.exit-step span,.exit-step small{color:#fff}.exit-step .flow-icon{color:var(--green);background:#fff}.flow-arrow{position:relative;z-index:1;height:18px;background:var(--green2)}.flow-arrow::after{content:"";position:absolute;right:-12px;top:-7px;border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:18px solid var(--green2)}.flow-arrow span{position:absolute;inset:6px 4px;background:var(--orange)}.flow-legend{margin-top:26px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d7e1d8;color:var(--muted);font-size:.85rem}.flow-legend span{white-space:nowrap}.flow-legend i{width:10px;height:10px;display:inline-block;border-radius:50%;background:var(--orange)}.flow-legend b{color:var(--green)}
@media(max-width:1150px){.facility-plan{overflow-x:auto}.flow-road{min-width:1280px}}
@media(max-width:800px){.topbar{align-items:flex-start;flex-direction:column;padding-block:14px}.topbar nav{gap:12px;overflow-x:auto;width:100%}.context-bar{align-items:stretch;flex-direction:column}.context-bar select{min-width:0;width:100%}.context-bar span{margin-left:0}.hero{align-items:flex-start;flex-direction:column}.facility-plan{padding:24px 18px}.flow-road{min-width:0;display:flex;flex-direction:column}.flow-step{width:100%;min-height:180px}.flow-arrow{width:18px;height:44px}.flow-arrow::after{right:-7px;top:auto;bottom:-12px;border-left:16px solid transparent;border-right:16px solid transparent;border-top:18px solid var(--green2);border-bottom:0}.flow-arrow span{inset:4px 6px}.flow-legend{align-items:flex-start;flex-direction:column}.search-row,.form-actions{flex-direction:column}.search-row button{padding:14px}.vehicle-summary{grid-template-columns:repeat(2,1fr)}}
.truck-card footer .phase-time{text-align:right;color:var(--green);font-weight:700}.card-flag{display:block;margin-top:8px;color:var(--green);font-size:.75rem;text-align:right}.card-flag.warning-flag{color:var(--danger)}
@media(max-width:800px){.date-filter{width:100%;margin-left:0;flex-wrap:wrap}.date-filter input{flex:1;min-width:135px}.date-filter button{width:100%}}
.driver-options{display:grid;gap:6px;margin-top:6px;padding:8px;border:1px solid #c9d6cc;border-radius:10px;background:#fff;box-shadow:0 10px 24px #123b2420;max-height:260px;overflow:auto}.driver-options[hidden]{display:none}.driver-options button{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;padding:10px 12px;border:0;border-radius:8px;background:#f3f7f3;color:#123b24;text-align:left;cursor:pointer}.driver-options button:hover{background:#e2efe5}.driver-options small{color:#607066;white-space:nowrap}.driver-options p{margin:8px;color:#607066}
.search-row button{padding-inline:18px;white-space:nowrap}.search-row .camera-action{background:var(--green2)}.qr-scanner{margin-top:14px;padding:16px;border-radius:12px;background:#e8f1e9;text-align:center}.qr-scanner[hidden]{display:none}.qr-scanner video{display:block;width:100%;max-height:380px;border-radius:10px;background:#111;object-fit:cover}.qr-scanner p{color:var(--green);font-weight:700}.invoice-list{display:grid;gap:8px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8faf8}.invoice-list h3,.invoice-list p{margin:0;color:var(--green)}.invoice-list article{padding:12px;border-radius:9px;background:#e8f1e9}.invoice-list article div{display:flex;justify-content:space-between;gap:12px}.invoice-list article span,.invoice-list article small{color:var(--muted);font-size:.8rem}.invoice-list article small{display:block;margin-top:6px;overflow-wrap:anywhere}@media(max-width:800px){.invoice-list article div{flex-direction:column}}
.session-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:6px 18px;background:#edf5ef;color:#174b32;font-size:.9rem}.session-bar form{margin:0}.session-bar button{padding:5px 12px;border:1px solid #174b32;background:transparent;color:#174b32;border-radius:6px;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef5ec,#dce9d7);padding:20px}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 18px 50px #173f2926}.login-card h1{color:#174b32;margin:28px 0 18px}.login-card form,.login-card label{display:grid;gap:8px}.login-card form{gap:18px}.login-card input{padding:12px;border:1px solid #b8c9bd;border-radius:8px;font:inherit}.login-card button{padding:12px;background:#174b32;color:#fff;border:0;border-radius:8px;font-weight:700}.feedback.erro{padding:12px;margin-bottom:16px;border-radius:8px;background:#fde8e8;color:#9b1c1c}.empty-state{max-width:680px;margin:80px auto;padding:32px;background:#fff;border-radius:16px;text-align:center;box-shadow:0 10px 30px #173f291a}
.session-bar a{color:#174b32;font-weight:700}.feedback.sucesso{padding:12px;margin-bottom:16px;border-radius:8px;background:#e6f4e9;color:#1b6535}.admin-grid{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:24px}.admin-grid fieldset{border:1px solid var(--line);border-radius:10px;padding:14px}.user-list{display:grid;align-content:start;gap:10px}.user-list article{padding:16px;border-radius:12px;background:#fff;box-shadow:0 5px 18px #173f2910}.user-list article div{display:flex;justify-content:space-between}.user-list article small{display:block;margin-top:6px;color:var(--muted)}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}
.audit-table{overflow:auto;border-radius:14px;background:#fff;box-shadow:0 8px 24px #173f2910}.audit-table table{width:100%;border-collapse:collapse;white-space:nowrap}.audit-table th,.audit-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:.85rem}.audit-table th{color:var(--green);background:#edf5ef}.audit-result{padding:3px 8px;border-radius:99px;font-weight:700}.audit-result.sucesso{color:#1b6535;background:#e6f4e9}.audit-result.falha{color:#9d3026;background:#fff0ee}
