:root{--bs-primary:#237b68;--bs-primary-rgb:35,123,104;--bs-link-color:#237b68;--bs-link-color-rgb:35,123,104;--bs-link-hover-color:#185b4d;--bs-link-hover-color-rgb:24,91,77;--bs-focus-ring-color:rgba(35,123,104,.22);--bs-body-color:#263a35;--bs-body-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bs-border-color:#e0e7e3;--bs-border-radius:.65rem;--bs-form-valid-color:#237b68;--bs-form-valid-border-color:#237b68}
body{background:#f7f9f7;font-size:14px}a{text-decoration:none}h1{font-size:30px;font-weight:720;letter-spacing:-1.1px;margin-bottom:8px}h2{font-weight:650}button,a,input,select,textarea{touch-action:manipulation}.topbar{height:80px;background:#fff;border-bottom:1px solid #e4e9e5;display:flex;align-items:center}.brand{display:flex;gap:9px;align-items:center;color:#203b31;font-size:25px;font-weight:750;letter-spacing:-1.2px}.brand:hover{color:#237b68}.brand-icon{background:#237b68;color:#fff;display:grid;place-items:center;width:36px;height:36px;font-size:18px;border-radius:10px;letter-spacing:0}.brand-dot{color:#2f9278;margin-left:-8px}.workspace-label{border-left:1px solid #dce5df;padding-left:25px;font-size:10px;letter-spacing:1.7px;color:#8a9892;font-weight:650}.local-label{font-size:12px;color:#71847b;display:flex;gap:7px;align-items:center}.status-dot{background:#409b7a;width:6px;height:6px;border-radius:50%;display:inline-block}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:750;color:#7f9188;margin-bottom:9px}main{min-height:calc(100vh - 132px)}.btn{font-size:13px;font-weight:600;padding:.65rem 1rem;--bs-btn-focus-shadow-rgb:35,123,104}.btn-sm{font-size:12px;padding:.4rem .65rem}.btn-primary{--bs-btn-bg:#237b68;--bs-btn-border-color:#237b68;--bs-btn-hover-bg:#1b6656;--bs-btn-hover-border-color:#1b6656;--bs-btn-active-bg:#155545;--bs-btn-active-border-color:#155545;--bs-btn-disabled-bg:#76a99d;--bs-btn-disabled-border-color:#76a99d}.btn-outline-secondary{--bs-btn-color:#425a50;--bs-btn-border-color:#dbe4dd;--bs-btn-hover-bg:#e7efe9;--bs-btn-hover-color:#234436;--bs-btn-hover-border-color:#b8cec1;--bs-btn-active-bg:#dde9e1;--bs-btn-active-color:#234436;background:#fff}.btn-light{--bs-btn-bg:#eef3ef;--bs-btn-color:#486556;--bs-btn-hover-bg:#e2ede6;--bs-btn-active-bg:#d7e7de}.form-control,.form-select{font-size:14px;padding:.65rem .85rem}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:#72a996;box-shadow:0 0 0 .2rem rgba(35,123,104,.13)}.form-check-input:checked{background-color:#237b68;border-color:#237b68}.form-label{font-size:12px;font-weight:650}.metric{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e4eae5;border-radius:12px;padding:19px 20px}.metric-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;font-size:17px;flex-shrink:0}.mint{background:#eef6f1;color:#3e8a73}.violet{background:#f1eff8;color:#8674b5}.amber{background:#fcf5e6;color:#b58d35}.metric-label{display:block;color:#7b8981;font-size:12px;margin-bottom:3px}.metric strong{font-size:25px;line-height:1.2;font-weight:650}.board-toolbar{padding:18px 0;border-top:1px solid #e7ece8;border-bottom:1px solid #e7ece8}.board-date{width:132px;background:#fff;font-size:13px}.day-button{width:30px;height:34px;display:grid;place-items:center;color:#73847b}.day-button:hover{background:#e6eee8;border-radius:6px}.today-link{margin-left:8px;font-size:12px}.board-search{position:relative;max-width:300px;width:100%}.board-search>i{position:absolute;left:13px;top:14px;color:#9aa69f}.board-search input{padding-left:35px;font-size:12px;background:#fff}.board-caption{font-size:11px;color:#8b9991;padding:20px 1px 14px}.board-caption>span:first-child{font-weight:650;color:#637b6c}.kanban{display:flex;gap:20px;overflow-x:auto;min-height:450px;padding-bottom:18px;align-items:stretch}.kanban-column{width:306px;min-width:306px;border:1px solid #e1e8e2;border-radius:12px;background:#eef3ef;display:flex;flex-direction:column}.kanban-column.unplanned{background:#f1f3f2;border-color:#dfe5e1}.column-heading{padding:18px 16px 0}.column-heading h2{font-size:14px;line-height:1.2;margin:0;overflow-wrap:anywhere}.column-heading p{font-size:10px;color:#8c9a92;margin:8px 0 15px}.column-dot{width:7px;height:7px;background:#3b9278;border-radius:50%;flex-shrink:0}.muted-dot{background:#9aa7a0}.column-count{margin-left:auto;min-width:21px;border-radius:5px;background:#fff;color:#708379;font-size:10px;text-align:center;padding:3px 5px}.dropzone{padding:0 12px 16px;min-height:330px;flex:1;border-radius:0 0 12px 12px}.dropzone.drag-over{background:#dcebe1;outline:2px dashed #74a790;outline-offset:-4px}.bon-card{padding:16px;margin-bottom:10px;background:#fff;border:1px solid #e2e8e2;border-radius:9px;box-shadow:0 2px 3px #223f2d03}.bon-card[draggable=true]{cursor:grab}.bon-card.dragging{opacity:.4}.bon-card.drop-before{border-top:3px solid #237b68}.bon-type{font-size:9px;color:#428a72;background:#eef7f1;border-radius:4px;padding:4px 6px;font-weight:650}.return-type{color:#a07b36;background:#faf3e4}.card-number{font-size:10px;color:#98a29c}.card-title{display:block;color:#344f40;font-weight:650;font-size:14px;margin-bottom:10px;overflow-wrap:anywhere}.card-address{font-size:11px;line-height:1.8;color:#8b9990;display:flex;gap:8px;margin-bottom:14px}.card-address>i{margin-top:4px;font-size:10px}.card-bottom{border-top:1px solid #f0f3ef;padding-top:11px;display:flex;justify-content:space-between;font-size:9px;color:#95a298}.review-badge{display:inline-block;font-size:10px;background:#fff5dd;padding:5px 8px;border-radius:5px;color:#927128}.card-notes{font-size:11px;color:#728478;margin-top:10px;white-space:pre-line;overflow-wrap:anywhere}.move-details{margin-top:10px;color:#7c8a80;font-size:10px}.move-details summary{cursor:pointer}.column-empty{min-height:250px;padding:45px 12px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px}.column-empty>i{font-size:26px;color:#bbc9bf;margin-bottom:8px}.column-empty strong{font-size:12px;color:#85968b;font-weight:550}.column-empty span{font-size:11px;color:#9eaaa2;max-width:180px}.column-empty a{font-size:11px;margin-top:10px}.new-column{min-width:255px;width:255px;min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;border:1px dashed #d7e2d9;border-radius:12px;background:transparent;color:#8b9d90}.new-column:hover{background:#edf3ee;border-color:#94b39f}.new-column>span{display:grid;place-items:center;background:#e9f0e9;width:35px;height:35px;border-radius:50%;color:#91a998}.new-column strong{font-size:12px;font-weight:550}.new-column small{font-size:10px;color:#a0ada3}.panel{background:#fff;border:1px solid #e1e8e3;border-radius:14px}.content-narrow{max-width:650px}.back-link{font-size:12px;color:#758a7e}.back-link i{margin-right:5px}.info-note{background:#edf5ef;border-radius:9px;padding:16px;display:flex;gap:12px;color:#607f6b;font-size:12px;line-height:1.7}.info-note>i{margin-top:4px}.upload-visual{text-align:center;padding:25px 0 35px}.upload-visual>i{font-size:38px;color:#237b68;margin-bottom:22px}.upload-visual h2{font-size:18px}.upload-visual p{color:#99a59d;font-size:12px}.pdf-preview{width:100%;height:650px;background:#f2f4f2;border:0;border-radius:8px}.extracted-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:400px;overflow:auto}.modal-content{border:0;border-radius:15px;box-shadow:0 15px 70px #233d3426}.modal-header,.modal-body,.modal-footer{padding:22px}.modal-header,.modal-footer{border-color:#eff3ef}.toast{background:#fff;border-color:#c6d9cd;color:#345942}.toast-body{font-size:13px;padding:16px}footer{color:#9ca99f;font-size:10px;border-top:1px solid #e5ebe6}footer a{color:#7c8f80}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7aae99;outline-offset:3px}.nav-link.active,.page-link.active{background:#237b68;border-color:#237b68}.progress{--bs-progress-bar-bg:#237b68}.list-group{--bs-list-group-active-bg:#237b68;--bs-list-group-active-border-color:#237b68}.alert-primary{--bs-alert-color:#1d5848;--bs-alert-bg:#e2f0e8;--bs-alert-border-color:#bed8ca}.pagination{--bs-pagination-color:#237b68;--bs-pagination-hover-color:#185b4d;--bs-pagination-active-bg:#237b68;--bs-pagination-active-border-color:#237b68;--bs-pagination-focus-box-shadow:0 0 0 .25rem #237b6833}
@media(min-width:1500px){main.container-fluid,.topbar>.container-fluid,footer{padding-left:40px!important;padding-right:40px!important}}@media(max-width:600px){h1{font-size:26px}.topbar{height:66px}.metric{padding:13px 10px;gap:10px}.metric-label{font-size:10px}.metric-icon{width:32px;height:32px;font-size:13px}.metric strong{font-size:22px}.board-search{max-width:100%}.kanban-column{min-width:285px;width:285px}.pdf-preview{height:430px}.board-caption{font-size:10px}.btn{padding:.6rem .8rem}.workspace-label{display:none}}
.card-window{font-size:11px;color:#547d63;background:#f1f6ef;padding:7px;border-radius:5px}.card-location{font-size:11px;color:#617d6a;margin-top:-4px}.card-items{font-size:11px;color:#6c8072;overflow-wrap:anywhere}.card-notes{max-height:65px;overflow:auto}
@media(max-width:1100px){.workspace-label{display:none!important}.topbar .local-label{display:none!important}}@media(max-width:600px){.topbar{height:auto;min-height:66px;padding:12px 0}.topbar>.container-fluid{flex-wrap:wrap;row-gap:12px!important}.topbar .ms-auto{width:100%;justify-content:space-between;gap:12px!important}.topbar .ms-auto:empty{display:none}.topbar a.small{white-space:nowrap}}
.planning-tabs{display:flex;gap:5px;background:#eaf0eb;padding:4px;border-radius:10px;width:fit-content}.planning-tabs a{padding:9px 16px;border-radius:7px;color:#6e8375;font-size:12px;font-weight:650}.planning-tabs a:hover{background:#f5f8f5}.planning-tabs a.active{background:#fff;color:#237b68;box-shadow:0 1px 4px #193d2910}.calendar-toolbar{padding:20px}.calendar-month-input{width:115px}.calendar-weekdays{text-align:center;background:#f5f8f5;color:#798c7e;font-weight:650;font-size:11px;padding:13px 0;border-block:1px solid #e3eae3}.calendar-week{border-bottom:1px solid #e3eae3}.calendar-week:last-child{border-bottom:0}.calendar-cell{min-width:0;border-right:1px solid #e3eae3}.calendar-cell:last-child{border-right:0}.calendar-cell.weekend{background:#fafbf9}.calendar-cell.outside-month{background:#f4f6f3}.outside-month .calendar-day-number{color:#aab7ac}.calendar-day{min-height:135px;display:flex;flex-direction:column;gap:7px;padding:10px;color:#476550;height:100%;position:relative}.calendar-day:hover{background:#eaf3ed;color:#244d34}.calendar-day.selected-day{box-shadow:inset 0 0 0 2px #78aa8d;background:#f0f7f1}.calendar-day:focus-visible{outline:3px solid #237b68;outline-offset:-3px;z-index:1}.calendar-day-number{width:28px;height:28px;display:grid;place-items:center;font-size:13px;font-weight:650;border-radius:50%}.calendar-day-number.is-today{color:white;background:#237b68}.calendar-day-stats{display:flex;flex-direction:column;gap:5px;min-width:0}.calendar-chip{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;background:#edf0f7;color:#776892;font-size:10px;line-height:1.35}.calendar-chip i{font-size:9px;flex-shrink:0}.calendar-chip.planned-chip{background:#e9f3ec;color:#4a7e5a}.calendar-chip.pending-chip{background:#fcf3de;color:#957328}.calendar-free{font-size:10px;color:#a0aea3;margin:8px 3px}.calendar-legend{font-size:11px;color:#7f9184}.calendar-legend i{margin-right:5px}.week-strip{border:1px solid #dce7de;border-radius:11px;overflow:hidden;background:#fff}.week-strip>.col+.col{border-left:1px solid #e6ede6}.week-day{display:flex;flex-direction:column;gap:3px;text-align:center;padding:10px 3px;color:#7b8d7d;height:100%;font-size:11px}.week-day strong{font-size:21px;font-weight:650;color:#3f6348}.week-day:hover{background:#edf5ee}.week-day.selected{background:#237b68;color:#d4e9db}.week-day.selected strong{color:#fff}.week-day-hint{font-size:9px;min-height:14px}.calendar-panel{overflow:hidden}
@media(max-width:767px){.calendar-day{padding:5px;min-height:112px;gap:4px}.calendar-day-number{font-size:12px;width:25px;height:25px}.calendar-chip{padding:3px;gap:3px;font-size:10px}.calendar-toolbar{padding:12px}.calendar-legend{gap:10px!important;font-size:10px}.week-day{font-size:10px}.week-day strong{font-size:18px}.week-day-hint{font-size:8px}.calendar-month-input{width:105px}.calendar-toolbar h2{font-size:17px}}
.rename-trip{font-size:11px;color:#688571}.rename-trip>summary{cursor:pointer;width:fit-content}.rename-trip>summary:hover{color:#237b68}.rename-trip form{background:#fff;border:1px solid #dce6df;border-radius:8px;padding:12px}

/* Planning workflow and the mobile/print driver list. */
.trip-tools{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:center;font-size:.78rem}
.workflow-status{display:inline-block;border-radius:20px;padding:.22rem .6rem;font-size:.74rem;font-weight:650;background:#eef1f0;color:#52605a}
.stop-status{margin-top:.6rem}
.status-en_route{background:#fff0cf;color:#815800}
.status-completed,.status-delivered,.status-collected{background:#ddf5e8;color:#226747}
.driver-view{max-width:920px}.stop-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.4rem;height:2.4rem;background:#e7edf9;color:#414b73;border-radius:50%;font-weight:700}
.driver-stop{scroll-margin-top:1rem}.min-width-zero{min-width:0}.stop-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.93rem}.stop-notes{background:#f6f7f3;padding:.8rem;border-radius:.6rem}.schedule-warning{background:#fff5dc;color:#795819;padding:.7rem;border-radius:.6rem;font-size:.88rem}.status-form{max-width:480px}.driver-view h1,.driver-view h2{overflow-wrap:anywhere}
@media(max-width:575px){.driver-stop{padding:1rem!important}.driver-stop>.d-flex{gap:.65rem!important}.stop-number{width:1.8rem;height:1.8rem;font-size:.85rem}.driver-view h1{font-size:1.7rem}}
@media print{
 @page{size:A4;margin:14mm}
 body{background:white!important;color:#111!important;font-size:10pt}
 .topbar,.planning-tabs,footer,.toast-container,.no-print{display:none!important}
 main.container-fluid{padding:0!important}.driver-view{max-width:none}.panel{box-shadow:none!important;border:1px solid #ccc!important}
 .driver-summary{break-inside:avoid}.driver-stop{break-inside:avoid-page;page-break-inside:avoid;overflow:visible}
 .driver-stop h2,.driver-stop h3{break-after:avoid}.driver-stop .stop-text{white-space:pre-wrap}
 .workflow-status,.bon-type{border:1px solid #aaa;color:#111!important}.stop-number{border:1px solid #aaa}
}

.status-cancelled{background:#f5e7e4;color:#87473c}.archive-table{font-size:.88rem}.archive-table th{white-space:nowrap}.archive-table td{min-width:95px}.archive-table td:nth-child(3){min-width:180px}.planning-tabs{flex-wrap:wrap}

.trip-map{display:block;width:100%;height:440px;min-width:200px;min-height:200px;border:0;border-radius:.7rem;background:#eef1ed}#ritkaart{scroll-margin-top:1rem}@media(max-width:575px){.trip-map{height:340px}#ritkaart{padding:1rem!important}}

.route-progress{background:#eaf2ed;border-radius:.6rem;padding:.7rem;font-size:.8rem}.route-progress span,.route-progress small{display:block;margin-top:.3rem;overflow-wrap:anywhere}.route-progress small{color:#5c6962}#open-stops{scroll-margin-top:1rem}
.drag-handle{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;margin:-10px -8px -8px 0;touch-action:none;user-select:none;cursor:grab}.bon-card[draggable=false] .drag-handle{display:none}.bon-card.dragging{user-select:none}
.pdf-canvas-area{height:650px;overflow:auto;background:#e9eeeb;border:1px solid #dce5df;border-radius:8px;padding:12px}.pdf-canvas-area canvas{display:block;background:#fff;box-shadow:0 1px 5px #203b3120}.pdf-canvas-area:focus-visible{outline:3px solid #7aae99;outline-offset:2px}@media(max-width:600px){.pdf-canvas-area{height:430px}}

/* Keep route headings visible while each stack scrolls independently. */
.kanban{height:clamp(480px,75vh,850px);min-height:0;align-items:stretch}
.kanban-column{height:100%;overflow:hidden}
.kanban-column>.column-heading{flex-shrink:0;max-height:55%;overflow-y:auto}
.kanban-column>.dropzone{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
.dropzone:focus-visible{outline:2px solid #237b68;outline-offset:-3px}
.compact-board .bon-card{position:relative;padding:10px;margin-bottom:8px}
.compact-board .bon-card>.d-flex{margin-bottom:5px!important;padding-right:20px}
.compact-board .card-title{font-size:13px;margin-bottom:4px}
.compact-board .card-address{line-height:1.4;margin-bottom:5px}
.compact-board .card-location,.compact-board .card-items,.compact-board .card-notes,.compact-board .bon-card>a.small,.compact-board .review-badge+p{display:none!important}
.compact-board .card-window{padding:3px 5px;margin-bottom:5px}
.compact-board .card-bottom{border:0;padding:0}
.compact-board .card-bottom>span:not(.drag-handle){display:none}
.compact-board .drag-handle{position:absolute;top:4px;right:6px;margin:0;min-width:24px;min-height:30px}
.compact-board .move-details{margin-top:4px}
.compact-board .stop-status{margin-top:4px;font-size:10px}
.compact-board .column-heading{padding:12px 12px 0}
.compact-board .column-heading p{margin:5px 0 8px}
.compact-board .trip-tools{font-size:11px;gap:5px 8px}
.compact-board .route-progress{padding:6px 8px;margin-bottom:8px!important;font-size:11px}
.compact-board .route-progress span,.compact-board .route-progress small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.compact-board .route-progress small:empty{display:none}
.compact-board .rename-trip{margin-bottom:8px!important}
