body{background:#f5f5f5;margin:0;font-family:Arial,Helvetica,sans-serif}.mobile-container{padding:20px}.mobile-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.mobile-card{color:#111;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px 16px;font-size:32px;text-decoration:none;display:flex;box-shadow:0 2px 10px #00000014}.mobile-card span{font-size:14px;font-weight:700}:root{--brown:#5b3716;--brown-dark:#45280f;--green:#6d8b3d;--green-soft:#dfe8cf;--cream:#f5f1ea;--cream-dark:#ebe3d7;--danger:#c0392b;--text:#2b2b2b;--text-soft:#6d6d6d;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.app{min-height:100vh}.header{background:var(--brown);color:#fff;align-items:center;gap:12px;padding:16px;display:flex}.logo{height:42px}.container{padding:16px}.card{background:#fff;border-radius:14px;margin-bottom:16px;padding:16px;box-shadow:0 2px 8px #00000014}.title{margin-bottom:6px;font-size:22px;font-weight:700}.subtitle{color:var(--text-soft);font-size:14px}.btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px 16px;font-size:15px;font-weight:600}.btn-primary{background:var(--green);color:#fff}.btn-danger{background:var(--danger);color:#fff}.input{border:1px solid var(--cream-dark);border-radius:10px;width:100%;height:46px;margin-top:6px;margin-bottom:14px;padding:0 12px}.activity-options{border:0;margin:0 0 14px;padding:0}.activity-options legend{margin-bottom:6px}.activity-options .subtitle{margin-bottom:8px}.activity-option{border:1px solid var(--cream-dark);background:var(--white);border-radius:10px;align-items:center;gap:10px;min-height:44px;margin-bottom:8px;padding:10px 12px;display:flex}.activity-option input{flex:none;width:20px;height:20px}.readonly-field{color:#4f554c;background:#f3f4f1;align-items:center;display:flex}.badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.available{color:#3c763d;background:#dff0d8}.badge.in_use{color:#31708f;background:#d9edf7}.badge.incident{color:#a94442;background:#f2dede}.alert-error{color:#c0392b;font-weight:700}.alert-success{color:#3c763d;font-weight:700}.input.input-invalid{border-color:#dc2626;box-shadow:0 0 0 2px #dc262629}.required-fields-list{margin:14px 0 18px;padding-left:22px;line-height:1.6}.driver-menu-grid{grid-template-columns:1fr;gap:14px;display:grid}.driver-menu-button{text-align:left;color:#3b2208;cursor:pointer;background:#fff;border:none;border-radius:18px;gap:4px;padding:20px;display:grid;box-shadow:0 6px 20px #00000014}.driver-menu-button.context-navigation{border:2px solid #6d8b3d}.driver-menu-button span{font-size:34px}.driver-menu-button strong{font-size:18px}.driver-menu-button small{color:#6f6255;font-size:13px}.driver-menu-button.primary{color:#fff;background:#6d8b3d}.driver-menu-button.primary small{color:#ffffffd9}.driver-menu-button.danger{color:#fff;background:#b83220}.driver-menu-button.danger small{color:#ffffffd9}.active-vehicles-home{margin-bottom:16px}.active-vehicles-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.active-vehicles-heading .title{margin:0;font-size:20px}.active-vehicles-link{color:var(--brown);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:6px 0;font-size:14px;font-weight:700}.active-vehicles-carousel{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:12px;max-width:100%;padding:2px 16px 8px 2px;display:flex;overflow-x:auto}.active-vehicle-card{background:var(--white);border:1px solid #31708f33;border-radius:14px;padding:16px;box-shadow:0 2px 8px #00000014}.active-vehicle-card.compact{flex:0 0:min(78vw, 310px);scroll-snap-align:start;min-height:168px}.active-vehicle-plate{color:var(--brown-dark);font-size:18px;font-weight:800}.active-vehicle-model{color:var(--text-soft);margin:2px 0 10px;font-size:14px}.active-vehicle-driver{margin-top:12px;font-weight:700}.active-vehicle-since{color:var(--text-soft);margin-top:5px;font-size:13px}.active-vehicles-list{gap:12px;display:grid}.availability-card{background:#fffaf2;border:1px solid #0000001f;border-radius:16px;margin:18px 0;padding:14px}.availability-title{color:#3b2208;margin-bottom:10px;font-weight:800}.availability-empty{opacity:.7;padding:8px 0;font-size:14px}.availability-row{text-align:left;border:none;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;width:100%;margin-bottom:8px;padding:12px;display:grid}.availability-row strong{font-size:15px}.availability-row small{opacity:.85;grid-column:1/-1;font-size:12px}.availability-row.free{color:#1f7a3a;cursor:pointer;background:#e8f7ec}.availability-row.busy{color:#b83220;cursor:not-allowed;background:#fde8e2}.availability-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin:14px 0;padding:12px;font-weight:700;line-height:1.45}.warning-dialog-backdrop{z-index:1000;background:#2b1f149e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.warning-dialog{background:var(--white);border-radius:18px;width:min(100%,480px);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;box-shadow:0 18px 60px #00000047}.warning-dialog-icon{margin-bottom:8px;font-size:34px}.warning-dialog-list{gap:10px;margin:18px 0;display:grid}.warning-dialog-item{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:13px;line-height:1.45}.warning-dialog-item.active{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.warning-dialog-item strong{margin-bottom:4px;display:block}.precheckout-warning{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:12px;margin:0 0 14px;padding:14px;line-height:1.45}.precheckout-warning.active{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.precheckout-warning strong{margin-bottom:5px;display:block}.reservation-calendar{margin-top:18px}.reservation-calendar-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.reservation-calendar-views,.reservation-calendar-navigation{gap:6px;display:flex}.reservation-calendar-views button,.reservation-calendar-navigation button{border:1px solid var(--cream-dark);background:var(--white);min-height:42px;color:var(--brown-dark);font:inherit;cursor:pointer;border-radius:9px;padding:8px 12px;font-weight:700}.reservation-calendar-views button.is-active{border-color:var(--green);background:var(--green);color:var(--white)}.reservation-calendar-filter{align-items:center;gap:9px;min-height:44px;margin-bottom:12px;font-size:14px;display:flex}.reservation-calendar-filter input{width:20px;height:20px}.reservation-calendar-state{border:1px dashed var(--cream-dark);color:var(--text-soft);text-align:center;border-radius:12px;padding:24px 12px}.reservation-calendar-state.error{color:var(--danger);border-color:#efb2aa}.reservation-calendar-grid{gap:8px;display:grid}.reservation-calendar-grid.view-week{grid-template-columns:repeat(7,minmax(135px,1fr));padding-bottom:8px;overflow-x:auto}.reservation-calendar-grid.view-month{grid-template-columns:repeat(7,minmax(110px,1fr));padding-bottom:8px;overflow-x:auto}.reservation-calendar-day{border:1px solid var(--cream-dark);background:#faf8f4;border-radius:12px;min-height:150px;padding:8px}.reservation-calendar-grid.view-month .reservation-calendar-day{min-height:125px}.reservation-calendar-day h3{text-transform:capitalize;border-radius:7px;margin:0 0 8px;padding:4px;font-size:13px}.reservation-calendar-day h3.is-today{background:var(--green-soft);color:#31520d}.reservation-calendar-events{gap:6px;display:grid}.reservation-calendar-event{border:1px solid #a7c98b;border-left:5px solid var(--green);color:#25351a;text-align:left;cursor:pointer;background:#edf7e7;border-radius:9px;width:100%;padding:8px}.reservation-calendar-event.other{color:#263a50;background:#edf2f7;border-color:#aab8c8 #aab8c8 #aab8c8 #526b86}.reservation-calendar-event.status-cancelled,.reservation-calendar-event.status-rejected{border-color:#e3aaa3;border-left-color:var(--danger);color:#7a2720;background:#faecea}.reservation-calendar-event span,.reservation-calendar-event strong,.reservation-calendar-event small{display:block}.reservation-calendar-event-owner{text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800}.reservation-calendar-event strong{margin-bottom:3px;font-size:13px}.reservation-calendar-event span:not(.reservation-calendar-event-owner),.reservation-calendar-event small{font-size:12px}.reservation-dialog-backdrop{z-index:1100;background:#2b1f14a6;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.reservation-dialog{background:var(--white);border-radius:18px;width:min(100%,520px);max-height:calc(100vh - 36px);padding:24px;position:relative;overflow-y:auto;box-shadow:0 18px 60px #0000004d}.reservation-dialog h2{margin:0 44px 18px 0}.reservation-dialog-close{background:var(--cream);cursor:pointer;border:0;border-radius:50%;width:42px;height:42px;font-size:26px;position:absolute;top:12px;right:12px}.reservation-detail-list{gap:0;margin:0 0 20px;display:grid}.reservation-detail-list div{border-bottom:1px solid var(--cream-dark);grid-template-columns:minmax(105px,.7fr) 1.3fr;gap:12px;padding:10px 0;display:grid}.reservation-detail-list dt{color:var(--text-soft);font-weight:700}.reservation-detail-list dd{overflow-wrap:anywhere;margin:0}@media (width<=700px){.reservation-calendar-toolbar,.reservation-calendar-views,.reservation-calendar-navigation{width:100%}.reservation-calendar-views button,.reservation-calendar-navigation button{flex:1}.reservation-calendar-grid.view-week,.reservation-calendar-grid.view-month{flex-direction:column;display:flex;overflow:visible}.reservation-calendar-day,.reservation-calendar-grid.view-month .reservation-calendar-day{min-height:0}.reservation-detail-list div{grid-template-columns:1fr;gap:3px}}
