@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap";:root{--ink:#16140f;--muted:#6b665e;--ground:#f5f3ef;--paper:#fff;--line:#e6e1d9;--soft:#efece6;--green:#164b32;--green-bg:#e6f3eb;--amber:#6b470c;--amber-bg:#fff2d8}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font:15px/1.5 Archivo,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}h1,h2,h3,p{margin:0}h1{letter-spacing:-.8px;font-size:31px;line-height:1.2}h2{letter-spacing:-.2px;font-size:18px}h3{font-size:16px}p{color:#57524a}small,.quiet{color:var(--muted);font-size:13px}a{color:inherit}:is(button:focus-visible,a:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #547796}input:focus,select:focus,textarea:focus{border-color:#547796;outline:2px solid #547796}button{touch-action:manipulation}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 17px;font-size:14px;font-weight:600;line-height:1.35;display:inline-flex}.button:hover{background:#342f27}.button.secondary{color:var(--ink);background:#fff;border-color:#d5cfc4}.button.secondary:hover{background:var(--soft)}.icon-button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.text-link,.back-link{text-align:left;min-height:34px;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:5px;padding:7px 0;font-size:13px;font-weight:600;text-decoration:underline;display:inline-flex}.back-link{margin-bottom:14px;text-decoration:none}.app-header{background:var(--ink);color:#fff;z-index:40;align-items:center;gap:30px;height:76px;padding:0 32px;display:flex;position:sticky;top:0}.brand{background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:flex}.brand img{width:144px}.desktop-nav{align-items:center;gap:6px;display:flex}.desktop-nav button{color:#c8c0b3;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-height:44px;padding:9px 13px;font-size:14px}.desktop-nav button.active{color:#fff;background:#363027;font-weight:600}.header-actions{align-items:center;gap:13px;margin-left:auto;display:flex}.header-actions button{color:#e0dace;background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:5px;font-size:12px;display:flex}.header-actions button:hover{color:#fff;text-decoration:underline}main{max-width:1060px;margin:auto;padding:18px 32px 130px}.sync-line{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-bottom:24px;font-size:11px;display:flex}.sync-line button{background:0 0;border:0;align-items:center;gap:6px;min-height:32px;font-size:12px;font-weight:600;display:flex}.sync-line.waiting{color:var(--amber)}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading p{max-width:650px;margin-top:8px;font-size:14px}.primary-actions{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px;display:grid}.primary-actions .button{border-radius:13px;min-height:72px;font-size:18px}.today-summary{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;gap:20px;margin-bottom:30px;padding:5px 0 24px;display:grid}.today-summary>div{flex-direction:column;align-items:flex-start;display:flex}.today-summary strong{letter-spacing:-.8px;margin-top:4px;font-size:31px}.today-summary .text-link{font-size:12px}.section-title{margin:24px 0 14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0;margin-bottom:20px;padding:22px}.card-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.site-grid,.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.site-grid .card,.fleet-grid .card{margin:0 0 10px}.site-amount{letter-spacing:-.7px;margin:5px 0;font-size:29px;font-weight:700}.action-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.site-grid .action-row .button{padding:10px 12px;font-size:12px}.record{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:17px 0;display:flex}.record:first-child{border-top:0;padding-top:3px}.record-main,.record-end{flex-direction:column;gap:5px;display:flex}.record-main span{color:#57524a;font-size:13px}.record-end{flex-shrink:0;align-items:flex-end;font-size:13px}.record-end .text-link{min-height:26px;padding:0;font-size:12px}.tag{background:var(--soft);white-space:nowrap;border-radius:20px;align-items:center;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.tag.good{background:var(--green-bg);color:var(--green)}.tag.waiting,.tag.warning{background:var(--amber-bg);color:var(--amber)}.empty{color:var(--muted);padding:15px 0;font-size:14px}.field{flex-direction:column;gap:7px;min-width:0;margin:0 0 18px;display:flex}.field>span{font-size:13px;font-weight:600}.field small{font-size:12px}.field input,.field select,.field textarea,.delivery-form select{background:#fff;border:1px solid #d5cfc4;border-radius:9px;width:100%;min-width:0;max-width:100%;min-height:46px;padding:11px 12px;font-size:15px}.field textarea{resize:vertical;min-height:76px}.field input:disabled,.field select:disabled{background:var(--soft);color:var(--muted)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.filters{gap:15px;margin-bottom:4px;display:flex}.filters .field{min-width:175px}.month-picker{max-width:230px}.material-choices{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.material-choices button{background:#fff;border:1px solid #d5cfc4;border-radius:9px;min-height:49px;font-size:14px;font-weight:600}.material-choices button.selected{background:var(--ink);border-color:var(--ink);color:#fff}.delivery-form{max-width:730px;margin:0 auto}.delivery-form>.card{padding:26px}.field-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;font-size:13px;display:flex}.delivery-form>.card>select{margin-bottom:18px}.contact-hint{margin:-6px 0 20px;font-size:12px}.save-bar{border:1px solid var(--line);z-index:25;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;font-size:13px;display:flex;position:sticky;bottom:18px}.save-bar .button{min-width:155px}.check{cursor:pointer;align-items:flex-start;gap:9px;margin:14px 0 20px;font-size:13px;display:flex}.check input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin:2px 0 0}details{border-top:1px solid var(--line);margin:16px 0;padding-top:8px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:600}details[open]>summary{margin-bottom:10px}details>.quiet{margin-bottom:18px}.section-details{margin-top:22px}.section-details summary span{background:var(--soft);border-radius:20px;margin-left:6px;padding:3px 8px;font-size:12px}.message{background:var(--soft);border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 18px;padding:13px 15px;font-size:13px;display:flex}.message>svg{flex-shrink:0;margin-top:1px}.message>span,.message>div{flex:1;min-width:0}.message .icon-button{min-width:25px;min-height:25px;margin-left:auto;padding:0}.message p{margin-top:5px;font-size:13px}.message.good{background:var(--green-bg);color:var(--green)}.message.warning,.message.waiting{background:var(--amber-bg);color:var(--amber)}.message .text-link{min-height:24px;color:inherit;padding:0}.line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;font-size:14px;display:flex}.line:last-child{border-bottom:0}.line small{margin-top:4px;display:block}.profit-total{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 0 25px;display:flex}.profit-total strong{letter-spacing:-1px;font-size:40px}.profit-lines .line{font-size:14px}.cash-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px;display:grid}.cash-grid strong{margin-top:6px;font-size:25px;display:block}.agreement-amount{margin:15px 0 5px;font-size:25px;font-weight:700}.agreement-amount small{font-size:12px;font-weight:400}.fleet-grid .button{width:100%;margin:14px 0}.fleet-grid>.card>.text-link{display:block}.fleet-grid p{font-size:13px}.manage-list{flex-direction:column;gap:12px;display:flex}.manage-list button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:82px;padding:18px 20px;display:flex}.manage-list strong,.manage-list small{display:block}.manage-list strong{font-size:16px}.manage-list small{margin-top:4px}.floating-actions{z-index:30;border:1px solid var(--line);background:#fff;border-radius:13px;gap:8px;padding:8px;display:flex;position:fixed;bottom:24px;right:26px;box-shadow:0 5px 20px #16140f12}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 8px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 8px}td small{display:block}.mobile-nav{display:none}.dialog-shade{z-index:100;background:#16140f66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:570px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 70px #0003}.dialog>header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:17px 22px;display:flex}.dialog>form{flex-direction:column;min-height:0;display:flex}.dialog-body{overscroll-behavior:contain;min-height:0;padding:22px;overflow-y:auto}.dialog footer{border-top:1px solid var(--line);background:#faf9f6;flex-shrink:0;justify-content:space-between;gap:16px;padding:14px 22px;display:flex}.dialog p{margin-bottom:15px;font-size:13px}.dialog h3{margin:22px 0 12px}.dialog .action-row{margin-bottom:16px}.amount-box{background:var(--ground);border-radius:11px;flex-direction:column;gap:6px;margin:8px 0 20px;padding:18px;display:flex}.amount-box strong{font-size:26px}.request-sheet img{width:170px;margin-bottom:24px}.request-sheet h2{margin-bottom:7px;font-size:24px}.request-sheet .amount-box{margin-top:20px}.fix-card{border-bottom:1px solid var(--line);padding:18px 0}.fix-card p{margin:7px 0}dl{margin:10px 0 24px}dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:10px 0;font-size:14px;display:flex}dt{color:var(--muted)}dd{text-align:right;margin:0}.audit-line{border-bottom:1px solid var(--line);padding:12px 0}.opening{text-align:center;max-width:450px;margin:15vh auto;padding:20px}.opening img{width:220px;margin-bottom:30px}.opening p{margin:20px 0}.opening .button{margin:10px}.opening a{display:block}@media (max-width:1000px){.app-header{gap:18px;padding:0 22px}.brand img{width:118px}.desktop-nav{gap:0}.desktop-nav button{padding:9px 10px;font-size:13px}.header-actions{gap:10px}.header-actions button{font-size:11px}}@media (max-width:760px){.app-header{gap:12px;height:60px;padding:0 17px}.brand img{width:110px}.desktop-nav{display:none}.header-actions{gap:12px}.header-actions button{font-size:11px}.header-actions svg{width:17px}main{padding:12px 17px 175px}.sync-line{margin-bottom:20px;font-size:10px}.page-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}h1{font-size:28px}.page-heading p{font-size:13px}h2{font-size:17px}.primary-actions{gap:10px}.primary-actions .button{min-height:66px;padding:12px 10px;font-size:14px}.primary-actions .button svg{flex-shrink:0;width:20px}.today-summary{grid-template-columns:1fr 2fr;gap:15px;margin-bottom:24px}.today-summary strong{font-size:25px}.today-summary small{font-size:11px}.site-grid,.fleet-grid{grid-template-columns:1fr;gap:12px}.site-grid .card,.fleet-grid .card{margin-bottom:5px}.card{border-radius:12px;margin-bottom:16px;padding:18px}.card-heading{gap:10px}.site-amount{font-size:28px}.action-row{gap:8px}.site-grid .action-row .button{flex:1;font-size:12px}.record{gap:12px;padding:15px 0}.record-main strong{font-size:14px}.record-main span{font-size:12px}.record-main small{font-size:11px}.record-end strong{font-size:12px}.tag{padding:4px 7px;font-size:10px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.filters .field{min-width:0}.field input,.field select,.field textarea,.delivery-form select{min-height:48px;font-size:16px}.form-grid{gap:12px}.field>span{font-size:12px}.field small{font-size:11px}.delivery-form>.card{padding:18px}.save-bar{gap:10px;padding:12px;bottom:78px;box-shadow:0 3px 15px #0001}.save-bar>span{font-size:12px}.save-bar .button{min-width:128px}.profit-total strong{font-size:33px}.line,.profit-lines .line{font-size:13px}.cash-grid strong{font-size:23px}.cash-grid small{font-size:12px}.mobile-nav{z-index:50;border-top:1px solid var(--line);padding:7px 12px max(8px,env(safe-area-inset-bottom));background:#fff;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #16140f05}.mobile-nav button{color:var(--muted);background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:49px;font-size:10px;display:flex}.mobile-nav button.active{background:var(--soft);color:var(--ink);font-weight:600}.floating-actions{background:#fffffff5;justify-content:center;padding:8px;bottom:82px;left:17px;right:17px}.floating-actions .button{flex:1}.dialog-shade{align-items:flex-end;padding:8px}.dialog{border-radius:19px 19px 9px 9px;max-height:94dvh}.dialog>header{padding:15px 18px}.dialog-body{padding:20px 18px}.dialog footer{padding:14px 18px max(15px,env(safe-area-inset-bottom))}.dialog p{font-size:13px}.manage-list button{padding:16px}.manage-list small{font-size:12px}.message{padding:12px;font-size:12px}.message p{font-size:12px}}@media (max-width:360px){main{padding-left:13px;padding-right:13px}.brand img{width:95px}.header-actions{gap:7px}.header-actions button{font-size:10px}.record{gap:8px}.record-end{max-width:115px}.primary-actions .button{font-size:13px}.today-summary strong{font-size:22px}.form-grid{gap:8px}.site-grid .action-row .button{font-size:11px}}@media print{body{background:#fff}.app>.app-header,.app>main,.app>.mobile-nav{display:none}.dialog-shade{background:#fff;padding:0;display:block;position:static}.dialog{max-width:none;max-height:none;box-shadow:none;border:0;overflow:visible}.dialog>header,.dialog>footer,.dialog .action-row,.dialog details,.dialog .message{display:none}.dialog-body{padding:0;overflow:visible}.table-wrap{overflow:visible}.request-sheet{font-size:12px}table{font-size:11px}.amount-box{background:#fff;border:1px solid #ccc}.request-sheet img{width:180px}}.today-summary strong,.site-amount,.profit-total strong{overflow-wrap:anywhere}@media (max-width:480px){.filters{grid-template-columns:minmax(0,1fr);gap:0}}.fleet-grid{align-items:start}.fleet-grid .truck-card{margin:0;padding:18px}.truck-card .card-heading{margin-bottom:3px}.truck-driver{color:var(--muted);font-size:13px}.truck-rate{flex-wrap:wrap;align-items:baseline;gap:7px;margin:12px 0 2px;display:flex}.truck-rate strong{letter-spacing:-.4px;overflow-wrap:anywhere;font-size:21px}.truck-rate small,.truck-term{color:var(--muted);font-size:12px}.truck-status{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.truck-status>small{color:var(--muted);font-size:11px}.truck-status>div{justify-content:space-between;align-items:center;gap:12px;min-height:34px;font-size:13px;display:flex}.truck-status strong{text-align:right;font-size:14px}.truck-status .text-link{min-height:32px;padding:0;font-size:13px}.truck-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.fleet-grid .truck-card .button{width:auto;min-height:44px;margin:0;padding:10px 13px;font-size:13px}.truck-actions>.button:first-child{flex:1}.truck-details{border:0;margin:8px 0 0;padding:0}.truck-details summary{min-height:36px;padding:8px 0;font-size:12px}.truck-details[open]>summary{margin-bottom:0}.truck-links{flex-wrap:wrap;gap:4px 16px;display:flex}.truck-links .text-link{min-height:36px;font-size:12px}.truck-warning{color:var(--amber);margin-top:6px;font-size:12px}.truck-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.tag.danger{color:#a42620;background:#fce9e7}.fleet-grid .truck-overdue{border-color:#d99c96}.truck-status .due-overdue,.truck-status .due-overdue small,.overdue-record .record-main>span{color:#a42620}.truck-status .due-overdue>span{font-weight:600}.truck-status .due-overdue small{font-size:11px;font-weight:500}.truck-status .due-today{color:var(--amber);font-weight:600}.mileage-day{font:inherit;border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;max-width:145px;min-height:36px;padding:5px 7px;font-size:12px}.driver-choice,.truck-driver-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.driver-choice{margin-bottom:8px;font-size:13px;font-weight:600}.driver-choice .text-link,.truck-call{align-items:center;gap:6px;min-height:44px;font-size:12px;display:inline-flex}.truck-driver-row .truck-driver{margin:0}.inline-driver{border:1px solid var(--line);border-radius:10px;margin-bottom:18px;padding:12px}.inline-driver .field:last-child{margin-bottom:0}.mileage-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mileage-controls .text-link{min-height:40px;font-size:12px}.doc-rows{margin:12px 0 18px}.doc-round{border-bottom:1px solid var(--line);padding:12px 0}.doc-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.doc-heading strong{font-size:12px}.doc-round input[type=file]{width:100%;max-width:100%;min-height:40px;margin:10px 0;font-size:12px;display:block}.doc-file{justify-content:space-between;align-items:center;gap:12px;display:flex}.doc-file a{overflow-wrap:anywhere;min-width:0}.doc-file .text-link{min-height:40px;font-size:12px}.doc-rows>small{margin-top:10px;display:block}.doc-round:last-of-type{margin-bottom:8px}@media (max-width:480px){.mileage-controls{justify-content:flex-end}.mileage-controls .mileage-day{max-width:150px}}@media print{.no-print{display:none!important}}.header-actions .language-switch{color:#15140e;background:#f4f2eb;border:1px solid #fff5;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:40px;padding:6px;font-size:12px;font-weight:700;display:inline-flex}.header-actions .language-switch:focus-visible{outline-offset:2px;outline:2px solid #fff}.operator .header-actions{margin-left:auto}.operator .record-main{overflow-wrap:anywhere}.operator .material-choices button{overflow-wrap:anywhere;min-width:0}@media (max-width:480px){.operator .header-actions{gap:8px}.operator .brand img{width:94px}.operator .header-actions>button{white-space:normal;max-width:100px}.operator .primary-actions .button{font-size:13px}.operator .field-heading .text-link{font-size:12px}}.pwa-install{color:var(--muted);border:0;margin:-10px 0 14px;padding:0;font-size:12px}.pwa-install>summary,.pwa-install>.text-link{min-height:36px;padding:8px 0;font-size:12px}.pwa-install p{max-width:470px;margin:0 0 10px;font-size:12px}.pwa-update .text-link{flex-shrink:0}.app-header{padding-top:env(safe-area-inset-top)}@media (display-mode:standalone){.app-header{height:calc(76px + env(safe-area-inset-top))}@media (max-width:760px){.app-header{height:calc(60px + env(safe-area-inset-top))}}}@media print{.pwa-install,.pwa-update{display:none!important}}.login-screen{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;max-width:420px;padding:26px}.login-card>img{width:170px;margin-bottom:24px}.login-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.login-heading h1{font-size:23px}.login-card .button{width:100%}.login-card>p{margin-top:18px}.login-card .quiet{margin-bottom:14px;font-size:12px}
