:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172e40;background:#f4f7fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #03a8e8;outline-offset:3px}aside{width:232px;position:fixed;inset:0 auto 0 0;background:#102b3e;color:#adc1cf;padding:32px 20px;display:flex;flex-direction:column}.brand{font-size:32px;font-style:italic;font-weight:800;color:#fff;letter-spacing:-1px;margin:0 12px 46px}.brand span{color:#35b7e5}.brand small{display:block;font-size:10px;letter-spacing:2px;font-style:normal;margin-top:12px;color:#89a7bb}nav{display:grid;gap:7px}nav button{border:0;background:none;color:inherit;text-align:left;padding:14px 16px;border-radius:8px;font-size:15px}nav button.active{background:#174866;color:white;box-shadow:inset 3px 0 #39bdec}.navicon{display:inline-block;width:28px}.sidefoot{margin-top:auto;font-size:12px;letter-spacing:1px;border-top:1px solid #345063;padding-top:24px}.sidefoot strong{display:block;color:white;font-size:16px;margin:8px 0 24px;letter-spacing:0}.sidefoot small{display:block;margin:10px 0;letter-spacing:0}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;background:#36556a;border-radius:50%;color:white;letter-spacing:0;margin-right:7px}main{margin-left:232px}header{height:76px;background:white;border-bottom:1px solid #e1e8ee;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:14px;color:#607687}.demotag{font-size:11px;letter-spacing:1px;color:#1175a8;background:#eaf6fc;padding:8px 12px;border-radius:5px}.workspace{padding:32px 36px}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#7b8e9c;font-weight:700}h1{font-size:32px;letter-spacing:-1px;margin:9px 0}p{color:#738695;font-size:15px;margin:0 0 24px}button{border:1px solid #dbe5ed;background:white;padding:10px 16px;border-radius:7px;color:#264457}.primary{background:#087fb8;color:white;border:1px solid #087fb8;font-weight:600}.notice{font-size:12px;color:#73808c;margin:0 0 24px;padding-left:10px;border-left:3px solid #b8d8e8}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid #e0e8ef;border-radius:10px;padding:20px}.stat small{color:#728493;font-size:14px}.stat strong{font-size:32px;display:block;margin-top:10px;font-weight:650}.stat em{font-size:12px;color:#8d9aa4;font-style:normal}.panel{background:white;border:1px solid #e0e8ef;border-radius:10px;overflow:hidden}.toolbar{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar h3{margin:0;font-size:16px}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,select,textarea{border:1px solid #d9e2e9;border-radius:6px;background:white;color:#264457;padding:10px;width:100%;min-width:0}input[type=checkbox]{width:auto}input[type=search]{width:240px;font-size:14px}.scroll{overflow:auto;max-height:560px}.calendar{min-width:950px}.calhead,.calrow{display:grid;grid-template-columns:218px repeat(7,minmax(96px,1fr))}.calhead{position:sticky;top:0;z-index:2;background:#f7fafc;border-bottom:1px solid #dfe8ee}.calhead>div{padding:13px;text-align:center;font-size:13px;color:#7c8f9b;border-right:1px solid #e9eef2}.calhead strong{display:block;font-size:20px;color:#2d4758;margin-top:4px}.calrow{height:62px;position:relative;border-bottom:1px solid #eaf0f4}.vehicle{padding:10px 16px;border-right:1px solid #e1e9ef;font-size:14px}.vehicle small{display:block;color:#81919e;font-size:12px;margin-top:5px}.daycell{border-right:1px solid #eef2f6;grid-row:1}.booking{grid-row:1;z-index:1;align-self:center;margin:0 4px;padding:10px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-size:12px;border:0;border-left:3px solid #16916e;border-radius:4px;background:#e3f4ed;color:#246650}.booking.running{background:#e6f2fb;color:#23608b;border-color:#2696d2}.booking.closed{background:#eef0f2;color:#6f7d88;border-color:#9dabb6}.booking.open{background:#fff3d9;color:#94722d;border-color:#deb14f}.legend{padding:15px 20px;border-top:1px solid #e5edf2;color:#738493;font-size:12px;display:flex;gap:20px}.dot{width:8px;height:8px;display:inline-block;border-radius:2px;margin-right:6px;background:#2696d2}.dot.green{background:#16916e}.dot.yellow{background:#deb14f}.dot.gray{background:#9dabb6}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:#f7fafc;color:#738693;font-size:12px;font-weight:600;padding:14px 20px}td{padding:16px 20px;border-top:1px solid #edf1f5}td small{display:block;color:#83939f;margin-top:4px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:12px;background:#e6f3fa;color:#1878a9}.badge.green{background:#e6f5ee;color:#247858}.badge.gray{background:#eef1f4;color:#6b7f8d}.empty{padding:48px;text-align:center;color:#748692}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid #e1e9ee;padding:24px;border-radius:10px}.card h3{margin:0 0 12px}.card p{line-height:1.6}.card strong{display:block;margin-bottom:12px}dialog{width:min(760px,94vw);border:0;border-radius:14px;padding:0;color:#183447;box-shadow:0 24px 100px #102b3e55}dialog::backdrop{background:#0d263c80}.dialoghead{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5ecf1}.dialoghead small{font-size:11px;color:#6b94ac;letter-spacing:1px}h2{font-size:23px;margin:7px 0 0}.icon{font-size:24px;border:0;padding:3px 10px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 28px}.formgrid label{font-size:14px;display:grid;gap:8px}.wide{grid-column:1/-1}.dialogfoot{padding:18px 28px;border-top:1px solid #e5ecf1;display:flex;gap:16px;align-items:center;justify-content:flex-end}#error{color:#ac3434;font-size:13px}.detail{padding:24px 28px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.detailgrid small{display:block;color:#7c8c98;margin-bottom:5px}.actions{display:flex;gap:10px;flex-wrap:wrap}.detail h3{font-size:16px}.detail hr{border:0;border-top:1px solid #e3eaf0;margin:24px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#183d52;color:white;border-radius:8px;padding:14px 24px;display:none;z-index:20}.tabs{display:flex;gap:8px;margin-bottom:20px}.amount{font-variant-numeric:tabular-nums}@media(max-width:900px){aside{width:180px;padding:24px 12px}.brand{font-size:26px}main{margin-left:180px}.workspace{padding:24px 20px}header{padding:0 20px}.stats{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.titlebar{align-items:flex-start}h1{font-size:27px}}@media(max-width:620px){aside{position:static;width:100%;padding:14px}.brand{margin:0 0 12px;font-size:25px}.brand small,.sidefoot{display:none}nav{display:flex;overflow:auto;gap:3px}nav button{white-space:nowrap;padding:10px}.navicon{display:none}main{margin:0}header{height:52px;font-size:12px;padding:0 16px}.demotag{font-size:9px}.workspace{padding:22px 16px}.eyebrow{font-size:9px}.titlebar{display:block}.titlebar button{margin-bottom:18px}.stats{gap:10px}.stat{padding:16px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.dialoghead,.formgrid,.detail{padding:20px}.detailgrid{grid-template-columns:1fr}input[type=search]{width:100%}}@media print{aside,header,.notice,.titlebar,#content,button,.dialogfoot{display:none!important}main{margin:0}dialog{position:static;display:block;width:100%;max-height:none;box-shadow:none}dialog::backdrop{background:white}}

.free-day{border:0;border-right:1px solid #eef2f6;border-radius:0;background:transparent;padding:0;color:#087fb8}.free-day span{opacity:0;font-size:24px}.free-day:hover,.free-day:focus-visible{background:#e4f4fc}.free-day:hover span,.free-day:focus-visible span{opacity:1}

.booking.closed{background:#fde7e7;color:#a32929;border-color:#df4545}.booking.maintenance{background:#eef0f2;color:#6f7d88;border-color:#9dabb6}.dot.red{background:#df4545}

@media print{dialog{overflow:visible!important;max-width:none!important}dialog .invoice-request .notice{display:block!important}dialog .invoice-request .detailgrid{grid-template-columns:1fr 1fr}dialog .invoice-request .detailgrid>div{break-inside:avoid}dialog .invoice-request h3{break-after:avoid}dialog .invoice-request{font-size:12px}dialog .invoice-request p{font-size:12px}dialog .invoice-request small{font-size:11px}}

.booking-wrap{display:flex;padding:0;overflow:visible;min-width:0;position:relative;height:38px;z-index:2}.booking-open{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;color:inherit;font-size:12px;text-align:left;padding:10px}.resize-booking{padding:0 7px;border:0;border-left:1px solid currentColor;background:#ffffff55;color:inherit;border-radius:0 4px 4px 0;font-size:22px;cursor:ew-resize;touch-action:none}.booking-wrap.resizing{z-index:8;box-shadow:0 0 0 2px #087fb8}.resize-preview{position:fixed;bottom:75px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#12364f;color:white;z-index:100;border-radius:8px}.vehicle-block{pointer-events:none;opacity:.65}.resize-hint{flex-basis:100%;color:#38637e}.legend{flex-wrap:wrap}.document-fields{padding:8px 0}.danger{background:#b63838;color:white;border-color:#b63838}details{padding:12px 0}summary{cursor:pointer}dialog{max-height:90vh}dialog .detailgrid{overflow-wrap:anywhere}@media print{.resize-preview{display:none}}

[hidden]{display:none!important}.locked>aside,.locked>main,.locked>#account-controls{display:none}.auth-panel{position:fixed;inset:0;background:#eef3f8;display:grid;place-items:center;z-index:10000;padding:24px}.auth-card{max-width:480px;width:100%;background:white;border:1px solid #dbe3ec;border-radius:18px;padding:32px;box-shadow:0 12px 45px #102a4318}.auth-card label{display:grid;gap:8px;margin:18px 0}.auth-card button{margin:8px 6px 0 0}.auth-card p{line-height:1.6}#login-error{color:#b42318}#account-controls{position:fixed;bottom:0;left:235px;right:0;display:flex;gap:14px;align-items:center;padding:10px 20px;background:white;border-top:1px solid #dde5ec;z-index:40;font-size:12px}main{padding-bottom:65px}#save-status{flex:1}#sync-panel{z-index:20000;background:#eef3f8ee}body:has(#sync-panel:not([hidden])) dialog{visibility:hidden}@media print{#account-controls,#auth-panel,#sync-panel{display:none!important}}

#sync-panel{width:100vw;height:100vh;max-width:none;max-height:none;border:0;margin:0;border-radius:0}#sync-panel::backdrop{background:#eef3f8ee}
.client-documents{margin-top:28px;border-top:1px solid #dce5ed;padding-top:18px}.client-documents>p{color:#637386;font-size:13px}.doc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.doc-fields label{display:grid;gap:6px}.doc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e4eaf0}.doc-row small{display:block;color:#637386;margin-top:5px}.doc-row p{margin:6px 0}.doc-row strong{overflow-wrap:anywhere}.client-documents details{margin-top:18px}.client-documents summary{cursor:pointer;font-weight:600;color:#087dbb}@media(max-width:600px){.doc-fields{grid-template-columns:1fr}.doc-row{align-items:flex-start;flex-direction:column}}
.damage-editor,.damage-summary{margin-top:24px;padding-top:16px;border-top:1px solid #dce5ed}.damage-boards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.damage-view{border:1px solid #dce5ed;border-radius:9px;padding:10px;background:white}.damage-view strong{font-size:13px}.damage-view svg{display:block;width:100%;height:auto}.damage-editor [data-view]{cursor:crosshair}.damage-controls{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin:14px 0}.damage-controls label{display:grid;gap:6px}.damage-items{padding-left:22px}.damage-items li{margin:10px 0;overflow-wrap:anywhere}.damage-items button{margin-left:10px}.damage-editor [data-damage-error]{color:#a32735}.damage-summary p{white-space:pre-wrap}@media(max-width:600px){.damage-boards,.damage-controls{grid-template-columns:1fr}}@media print{.damage-view{break-inside:avoid}.damage-summary{break-before:auto}}

.price-settings{padding:24px}.price-settings fieldset{border:1px solid #dbe4e9;border-radius:8px;margin:16px 0;padding:16px}.price-settings legend{font-weight:700;color:#123449;padding:0 8px}.price-settings input[type=number]{width:100%}.price-effects{display:flex;flex-wrap:wrap;gap:20px}.price-effects label{display:flex;align-items:center;gap:6px}.price-effects input{width:auto}.price-settings .formgrid{padding:0}.price-settings>p{line-height:1.5}
