@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#203239;background:#f4f6f7;font-size:14px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}
a{color:#0d7074;text-decoration:none}a:hover{text-decoration:underline}
[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,3.8vw,39px);line-height:1.2;letter-spacing:-.05em}
h2{font-size:clamp(21px,2.8vw,26px);line-height:1.2;letter-spacing:-.035em}
h3{font-size:17px;letter-spacing:-.01em}small{font-size:12px}
.topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e6ebed;min-height:86px;padding:15px max(18px,calc((100vw - 1350px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;box-shadow:0 1px 2px #142c3207}
.identity{display:flex;align-items:center;gap:11px;color:#1c3037;min-width:0}.identity:hover{text-decoration:none}
.identity strong{font-size:20px;font-weight:850;letter-spacing:-.055em;white-space:nowrap}.identity strong em{font-style:normal;font-weight:550;color:#8b9ba0}.identity small{display:block;font-size:10px;letter-spacing:.16em;font-weight:800;color:#718187;margin-top:2px}
.logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#172e32;color:#fff;font-size:16px;letter-spacing:-.07em;font-weight:800;flex-shrink:0}
.logo span{color:#e24458}.header-clock{text-align:center;display:flex;flex-direction:column;gap:1px}
.header-clock strong{font-size:13px;font-weight:650;color:#496066;text-transform:capitalize}.header-clock span{font-size:23px;letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-weight:800;color:#142f35}
.header-clock small{color:#7e9296;font-weight:600;letter-spacing:.02em}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;white-space:nowrap}.header-actions>a{font-size:13px}
main{max-width:1384px;padding:36px 20px 80px;margin:0 auto}
.btn,.square{border:1px solid transparent;display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 18px;min-height:44px;font-weight:750;font-size:13px;border-radius:12px;transition:background .16s,color .16s}
.btn.dark,.square{background:#193237;color:#fff}.btn.dark:hover,.square:hover{background:#0b646a}.btn.outline{background:#fff;border-color:#d7e0e4;color:#233a41}.btn.outline:hover{background:#eff7f7;border-color:#97bfc1}.btn.danger{background:#fff;border-color:#f0cdd0;color:#a13a48}.btn.danger:hover{background:#fff0f1}
.square{padding:0;width:43px;height:43px;font-size:30px;font-weight:500;border-radius:12px}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#b03851;font-weight:900;display:block;margin-bottom:9px}
.muted{color:#657b83;line-height:1.6}.small-note{font-size:12px;color:#647880;line-height:1.6;margin-top:16px}.help{font-size:12px;color:#6d8087;line-height:1.6;margin-top:18px}
.box{border:1px solid #e3e9ec;background:#fff;border-radius:22px;box-shadow:0 10px 32px #20383d07;padding:27px}
.section-intro{display:flex;justify-content:space-between;align-items:center;gap:26px;margin:9px 0 26px}.section-intro p{margin-top:8px}
.intro-actions{display:flex;gap:9px;flex-direction:column;align-items:flex-end}.sync{font-size:11px;color:#72868b}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.metric{background:#fff;border:1px solid #e2e9eb;border-radius:17px;padding:20px;min-width:0;box-shadow:0 3px 15px #18323704}
.metric span{font-size:12px;font-weight:750;color:#6b7e82;display:block;min-height:30px}
.metric strong{display:block;margin:9px 0 5px;font-size:clamp(19px,2.15vw,29px);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.04em}
.metric small{display:block;font-size:11px;color:#8b9ca2;line-height:1.5}
.calendar-section,.day-section,.fleet-section{margin-bottom:21px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-title p{margin-top:8px}
.month-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.weekdays{margin-bottom:7px}.weekdays span{text-align:center;font-size:11px;color:#8b9da1;font-weight:900;padding:6px}
.day{border:1px solid #e3e9eb;background:#fff;min-height:111px;border-radius:12px;padding:9px 7px;display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;overflow:hidden;transition:border-color .16s,background .16s}
.day:hover{border-color:#91b8bb;background:#f9fdfd}.day.outside{opacity:.3;pointer-events:none}
.day.selected{border:2px solid #116f75;padding:8px 6px;background:#f3fbfb}.day.today .day-number{background:#17373b;color:#fff}
.day-top{display:flex;justify-content:space-between;align-items:center;gap:4px;min-width:0;margin-bottom:2px}
.day-number{font-size:12px;font-weight:850;padding:4px 7px;border-radius:8px}.day-count{font-size:10px;font-weight:800;color:#6b858c}
.slot{font-size:10px;line-height:1.35;border-radius:6px;padding:4px 5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.slot.pending{background:#fff2df;color:#9b660b}.slot.confirmed{background:#def3f0;color:#17685e}.slot.completed{background:#e8eafe;color:#4c5093}.slot.cancelled{background:#f0f2f3;color:#8d9a9f}
.more{color:#5b777e;font-size:10px;font-weight:800;margin-top:2px}
.calendar-legend{display:flex;gap:17px;flex-wrap:wrap;margin-top:15px;color:#667f85;font-size:12px}
.calendar-legend span{display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;background:#ccc}.dot.pending{background:#e6ad4b}.dot.confirmed{background:#32a395}.dot.completed{background:#7875c9}.dot.cancelled{background:#adb7bc}
.filters{display:grid;grid-template-columns:1fr minmax(160px,260px);gap:11px;margin-bottom:18px}
label{display:block;font-size:12px;font-weight:750;color:#526e74}
label input,label select{display:block;width:100%;margin-top:7px;border:1px solid #d5e0e3;border-radius:11px;background:#fff;color:#18333b;padding:12px;min-height:44px;outline:none}
label input:focus,label select:focus{border-color:#408b8e;box-shadow:0 0 0 3px #177f8718}
.orders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(350px,100%),1fr));gap:14px}
.booking{border:1px solid #e1e9eb;border-radius:16px;padding:19px;background:#fff;min-width:0}
.booking-head{display:flex;align-items:center;gap:8px;justify-content:space-between}
.booking-head strong{font-size:13px;color:#314c52}.badge{font-size:11px;font-weight:800;border-radius:50px;padding:6px 9px;white-space:nowrap;background:#edf2f3;color:#36555b}
.badge.pending{background:#fff1dd;color:#9f6200}.badge.confirmed{background:#dff4ed;color:#17684f}.badge.completed{background:#e9ecff;color:#5355a0}.badge.cancelled{background:#edf0f1;color:#839096}
.booking-time{font-size:23px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:12px 0 3px}
.booking-person{font-size:15px;font-weight:800}.booking-route{font-size:13px;line-height:1.6;color:#536d76;margin:9px 0;overflow-wrap:anywhere}
.booking-meta{font-size:12px;color:#7a8d94;line-height:1.65}.booking-price{font-size:21px;font-weight:850;letter-spacing:-.035em;margin:12px 0 1px}
.booking-note{border-top:1px solid #ebeff1;padding-top:9px;margin-top:10px;color:#667b83;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.booking-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.booking-actions .btn{padding:9px 12px;min-height:38px;font-size:12px}
.booking-assign{margin-top:13px;border:1px solid #e5ecec;border-radius:12px;padding:12px;background:#f8fbfb}
.booking-assign p{font-size:12px;color:#547078;line-height:1.5;margin:0 0 7px}
.assign-choice,.approve-check{font-size:12px;color:#36575d;display:flex;align-items:flex-start;gap:7px;padding:6px 0;line-height:1.4}
.assign-choice input,.approve-check input{margin-top:2px;width:15px;height:15px;flex-shrink:0;accent-color:#0d7474}
.assign-choice small{display:block;color:#8a979e;margin-top:1px;font-weight:500}
.assign-choice.unavailable{color:#9c6b6b}
.booked-vehicles{margin:9px 0;color:#266d68;font-size:12px;font-weight:750}
.empty-state{border:1px dashed #d7e1e2;border-radius:13px;color:#6d8287;background:#fcfdfd;text-align:center;padding:26px;font-size:13px}
.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:13px}
.vehicle{border:1px solid #dfe7e9;border-radius:15px;padding:18px;background:#fff;min-width:0}
.vehicle-title{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}
.vehicle-title strong{font-size:16px}.vehicle-plate{font-size:12px;color:#698087;margin:4px 0 10px}
.vehicle-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.vehicle-actions .btn{min-height:36px;padding:8px 13px;font-size:12px}
.vehicle-form{border:1px solid #d5e7e8;border-radius:15px;padding:19px;margin-top:18px;background:#f8fcfb}
.vehicle-form h3{margin-bottom:14px}.vehicle-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.toast{position:fixed;bottom:20px;right:20px;background:#1d353b;color:white;padding:13px 19px;border-radius:13px;box-shadow:0 15px 40px #0004;max-width:min(440px,calc(100vw - 30px));z-index:100;white-space:pre-line;line-height:1.5}
.toast.error{background:#a22a42}
.auth{max-width:470px;margin:6vh auto;padding:30px}.auth-mark{width:52px;height:52px;border-radius:15px;background:#203940;color:white;display:grid;place-items:center;font-weight:900;margin-bottom:18px}
.auth p.muted{margin:9px 0 20px}.auth form{display:grid;gap:17px}.auth-actions{display:flex;gap:8px;margin-top:4px}.auth-actions .btn{flex:1}
.alert{padding:13px;margin-top:17px;background:#fff3e9;color:#85521b;border-radius:10px;white-space:pre-line;line-height:1.5}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.day{min-height:98px}}
@media(max-width:740px){
 .topbar{grid-template-columns:1fr auto;gap:9px;padding:10px 14px}.identity strong{font-size:16px}.identity small{font-size:8px}
 .logo{width:36px;height:36px}.header-clock{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:center;gap:9px;border-top:1px solid #eff2f3;padding-top:7px}
 .header-clock strong{font-size:11px}.header-clock span{font-size:16px}.header-clock small{font-size:10px}.header-actions>a{display:none}
 main{padding:22px 12px 50px}.box{padding:16px;border-radius:17px}
 .section-intro,.section-title{align-items:flex-start;flex-direction:column;gap:13px}
 .intro-actions{align-items:flex-start}.metrics{gap:9px}.metric{padding:13px}.metric span{font-size:11px;min-height:28px}.metric strong{font-size:21px}
 .month-controls{align-self:stretch}.month-controls .btn{flex:1}
 .weekdays,.month-grid{gap:3px}.day{border-radius:8px;min-height:78px;padding:4px 3px;gap:3px}.day.selected{padding:3px 2px}
 .day-number{font-size:11px;padding:4px 5px}.day-count{font-size:9px}.slot{font-size:9px;padding:3px;line-height:1.25}.more{font-size:9px}
 .filters{grid-template-columns:1fr}.orders{grid-template-columns:1fr}.vehicle-fields{grid-template-columns:1fr}
}
@media(max-width:380px){.metric strong{font-size:18px}.header-clock small{display:none}.slot{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
