:root{--navy:#062c61;--blue:#0069b4;--red:#d71920;--line:#dce5ee;--muted:#566a81;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#142f4f;background:#f3f6fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:42px;border:0;border-radius:8px;padding:9px 13px;background:var(--blue);color:white;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{background:#004b87}button:disabled{opacity:.5;cursor:wait}button.danger{background:var(--red)}button.quiet{background:#eaf2fa;color:var(--navy)}button svg{width:17px;height:17px;fill:currentColor;flex:none}a{color:var(--blue)}:focus-visible{outline:3px solid #edaf37;outline-offset:2px}[hidden]{display:none!important}header{height:62px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 22px;background:white;border-bottom:1px solid var(--line)}header strong{font-size:21px;color:var(--navy)}header span{font-weight:400}header .header-note{color:var(--muted);flex:1}#logout{margin-left:auto}aside{position:fixed;top:62px;bottom:0;width:215px;padding:16px 12px;background:var(--navy);overflow-y:auto;z-index:25}aside img{display:block;width:100%;height:110px;object-fit:contain;background:white;border-radius:10px;margin-bottom:18px}nav{display:grid;gap:5px}nav button{justify-content:flex-start;background:transparent;min-height:43px}nav button.active{background:var(--blue)}main{margin-left:215px;padding:22px;max-width:1700px}h1{font-size:26px;color:var(--navy);margin:0 0 19px}h1:after{content:"";display:block;width:52px;height:4px;border-radius:4px;background:var(--red);margin-top:9px}h2{font-size:17px;margin:0 0 16px;color:var(--navy)}p{line-height:1.5}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:19px;margin-bottom:16px;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px 16px;max-width:1120px}.form-grid label,.filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);min-width:0}input,select,textarea{width:100%;min-width:0;min-height:40px;border:1px solid #bdcad8;border-radius:6px;padding:8px 10px;background:white;color:#142f4f;font-size:14px}textarea{resize:vertical;min-height:40px}input[type=checkbox]{width:18px;min-height:18px;margin:0}.check{display:flex;align-items:center;gap:8px;margin:13px 0;color:var(--muted);font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hint,.muted{color:var(--muted);font-size:12px;line-height:1.5}.filter-grid{display:grid;grid-template-columns:minmax(150px,2fr) repeat(3,minmax(125px,1fr));gap:12px}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}th{background:#eaf2fa;color:var(--navy);font-weight:650}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#edf5fd}.empty{text-align:center;padding:24px;color:var(--muted)}.total{font-weight:700;margin-top:12px}.hero{text-align:center;padding:25px}.hero img{max-width:100%;width:340px;height:230px;object-fit:contain}.hero h2{font-size:26px}.hero .toolbar{justify-content:center}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric{padding:17px;background:white;border:1px solid var(--line);border-radius:10px}.metric strong{display:block;margin-top:6px;color:var(--navy);font-size:22px}.menu-button{display:none}.login-card{max-width:440px;margin:8vh auto;padding:25px;background:white;border-radius:14px;border:1px solid var(--line)}.login-card img{display:block;width:220px;max-width:100%;margin:0 auto 20px}.login-card h1{font-size:23px}.login-card label{display:grid;gap:8px}.login-card button{margin-top:16px;width:100%}#message{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:60;max-width:min(92vw,700px);padding:13px 18px;border-radius:9px;background:var(--navy);color:white;box-shadow:0 6px 24px #062c6144;overflow-wrap:anywhere}#message.error{background:#a91119}.record-grid{display:none}
@media(min-width:1450px){.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:16px}}
@media(max-width:760px){header{padding:0 12px;height:56px;gap:10px}.menu-button{display:inline-flex;width:42px;background:var(--navy)}header .header-note{display:none}aside{top:56px;width:240px;transform:translateX(-100%);transition:transform .18s}.shell.menu-open aside{transform:translateX(0);box-shadow:6px 0 20px #0004}main{margin-left:0;padding:16px 12px}h1{font-size:23px}.card{padding:15px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.toolbar button{flex:0 1 auto;min-height:44px}.login-card{margin:4vh 12px;max-width:none}.hero img{height:200px}.table-wrap.mobile-records{display:none}.record-grid{display:grid;gap:10px}.record{border:1px solid var(--line);padding:13px;border-radius:9px;background:white;width:100%;color:var(--navy);text-align:left;display:block;font-weight:400}.record:hover{background:#edf5fd}.record.selected{border-color:var(--blue);background:#edf5fd}.record strong{font-size:15px;display:block;margin-bottom:8px}.record dl{display:grid;grid-template-columns:1fr 1.3fr;gap:5px;margin:0;font-size:12px}.record dt{color:var(--muted)}.record dd{margin:0;overflow-wrap:anywhere}.record .hint{display:block;margin-top:9px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:13px}.metric strong{font-size:18px}}
@media(max-width:420px){.form-grid{grid-template-columns:1fr}.toolbar{gap:7px}.toolbar button{font-size:12px;padding:9px 10px}.filter-grid{gap:10px}.hero h2{font-size:23px}}

.card{scroll-margin-top:76px}

@media(max-width:760px){aside{visibility:hidden;pointer-events:none}.shell.menu-open aside{visibility:visible;pointer-events:auto}}

.form-grid>label{max-width:360px}

.feedback{padding:12px 16px;margin-bottom:14px;border-radius:8px;background:#e8f4ef;color:#164d35;overflow-wrap:anywhere}.feedback.error{background:#fdecef;color:#981c2b}

button.btn-save{background:#198754;color:#fff}button.btn-save:hover{background:#146c43}
button.btn-excel{background:#ffc107;color:#20252b}button.btn-excel:hover{background:#e0a800}
button.btn-pdf{background:#6c757d;color:#fff}button.btn-pdf:hover{background:#565e64}

.form-grid label.wide-description{grid-column:1 / -1;max-width:none}.wide-description textarea{box-sizing:border-box;width:100%;min-height:120px;resize:vertical;padding:10px;border:1px solid #bbc8d8;border-radius:7px;font:inherit}input[readonly]{background:#eef2f7}

.form-grid label.wide-description{grid-column:1 / -1;max-width:none}.wide-description textarea{box-sizing:border-box;width:100%;min-height:120px;resize:vertical;padding:10px;border:1px solid #bbc8d8;border-radius:7px;font:inherit}input[readonly]{background:#eef2f7}

.pdf-dialog{width:min(1100px,94vw);height:92vh;max-height:92dvh;padding:14px;border:1px solid #bbc8d8;border-radius:12px}.pdf-dialog::backdrop{background:#0008}.pdf-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pdf-toolbar strong{flex:1}.pdf-download{display:inline-block;padding:12px;background:#6c757d;color:white;border-radius:8px;text-decoration:none}.pdf-dialog p{font-size:14px}.pdf-dialog iframe{width:100%;height:calc(100% - 110px);border:1px solid #ccd4df}

.line-table-title{margin-top:22px}.invoice-lines .line-description{white-space:normal;min-width:180px;overflow-wrap:anywhere}.line-description small{display:block;color:var(--muted);margin-top:4px}.invoice-lines tbody tr{cursor:default}.invoice-lines{margin-top:12px}

tbody tr.selected,tbody tr.selected:hover,.record.selected,.record.selected:hover{background:#ffe066!important;color:#172b45;border-color:#b58b00}.invoice-lines tbody tr{cursor:pointer}.invoice-lines tr.selected td{background:#ffe066}

.analysis-chart{display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;margin:15px 0}.analysis-bar{height:13px;min-width:0;border-radius:3px;margin:3px 0}.analysis-bar.revenue{background:#0069b4}.analysis-bar.expense{background:#8b5e3c}.analysis-chart span{font-size:12px}.metrics{margin-bottom:16px}

.vehicle-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px}.vehicle-alert{padding:16px;border:1px solid #bdcad8;border-left-width:5px;border-radius:9px;overflow-wrap:anywhere}.vehicle-alert h3{margin:0 0 9px;font-size:16px}.vehicle-alert p{margin:7px 0}.vehicle-alert.expired{background:#fff0f1;border-color:#d71920;color:#852029}.vehicle-alert.upcoming{background:#fff7d1;border-color:#e0a800;color:#664d03}.vehicle-alert.missing{background:#f1f5f9;border-color:#8195ab}.home-alerts .toolbar{margin:0}
