@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";*{box-sizing:border-box}body{color:#17231e;background:#f5f4ef;margin:0;font-family:DM Sans,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-sidebar{color:#f8e5e7;background:linear-gradient(#571018,#260509);flex-direction:column;width:250px;min-height:100vh;padding:28px 15px;display:flex}.sidebar-brand{color:#fff;letter-spacing:.08em;align-items:center;gap:9px;padding:0 10px;font-size:13px;display:flex}.sidebar-brand span{background:#c23b48;border-radius:8px;place-items:center;width:31px;height:31px;font:21px Georgia;display:grid}.sidebar-account{gap:5px;margin:45px 10px 22px;display:grid}.sidebar-account strong{font-size:14px}.sidebar-account small{color:#db9da4;font-size:12px}.app-sidebar nav{gap:5px;display:grid}.app-sidebar nav button,.sidebar-signout{color:#edcbd0;text-align:left;background:0 0;border:0;border-radius:8px;padding:12px 11px;font-size:14px}.app-sidebar nav button:hover,.app-sidebar nav button.is-active{color:#fff;background:#a51d28}.sidebar-password{color:#edcbd0;text-align:left;background:0 0;border:0;margin-top:auto;padding:12px 11px;font-size:14px}.sidebar-password:hover{color:#fff}.sidebar-signout{color:#fff;border:1px solid #91333d;margin-top:6px}.sidebar-signout:hover{background:#74202a}.password-modal{z-index:20;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.password-change-form{color:#122639;background:#fff;border-radius:12px;gap:14px;width:min(100%,390px);padding:28px;display:grid;position:relative}.password-change-form h2{margin:0;font:600 27px Georgia,serif}.password-change-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.password-change-form input{font:inherit;border:1px solid #c7d7e1;border-radius:7px;padding:11px}.password-change-form p{color:#a63232;margin:0;font-size:13px}.password-close{background:0 0;border:0;font-size:26px;position:absolute;top:10px;right:14px}.password-submit{color:#fff;background:#a51d28;border:0;border-radius:7px;padding:12px;font-weight:700}.change-password-input{position:relative}.password-change-form .change-password-input input{width:100%;padding-right:60px}.change-password-input button{color:#8b1b27;background:0 0;border:0;padding:6px 8px;font-weight:700;position:absolute;top:5px;right:5px}@media (width<=760px){.app-sidebar{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:auto;padding:16px;display:grid}.sidebar-account{min-width:0;margin:0 auto 0 0}.app-sidebar nav{-webkit-overflow-scrolling:touch;grid-column:1/-1;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.app-sidebar nav button{flex:none;padding:9px 11px}.sidebar-password,.sidebar-signout{white-space:nowrap;margin:0;padding:9px 11px}.sidebar-brand b{display:none}.password-modal{position:fixed}}.admin-page{color:#122639;background:#f3f7fa;min-height:100vh;display:flex}.admin-content{width:min(100%,1400px);margin:0 auto;padding:48px clamp(24px,5vw,74px)}.admin-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.admin-header p,.user-form p,.users-panel-heading p,.account-details p{color:#a51d28;letter-spacing:.13em;margin:0;font:700 11px monospace}.admin-header h1{margin:8px 0;font:600 38px Georgia,serif}.admin-header span{color:#607384}.refresh-button{color:#76202a;background:#fff;border:1px solid #cbb7b9;border-radius:7px;padding:10px 14px;font-weight:700}.refresh-button:disabled{opacity:.65}.admin-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:26px;display:grid}.admin-stat{text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe7ed;border-top:3px solid #a51d28;border-radius:10px;gap:9px;padding:19px 21px;display:grid}.admin-stat:nth-child(2){border-top-color:#25916e}.admin-stat:nth-child(3){border-top-color:#d19a32}.admin-stat:hover,.admin-stat:focus-visible{outline-offset:2px;background:#fff5f5;outline:2px solid #a51d28}.admin-stat small{color:#647587}.admin-stat strong{font:600 27px Georgia,serif}.admin-stat span{color:#a51d28;font-size:12px;font-weight:700}.account-details{background:#fff;border:1px solid #dce7ec;border-radius:11px;margin:-7px 0 26px;padding:25px}.account-details>div:first-child{justify-content:space-between;align-items:start;gap:15px;display:flex}.account-details h2{margin:7px 0 18px;font:600 25px Georgia,serif}.account-details>div>button{color:#76202a;background:#fff;border:1px solid #cbb7b9;border-radius:7px;padding:8px 12px;font-weight:700}.account-details-table{border:1px solid #e1eaef;border-radius:8px;overflow:auto}.account-details-table table{border-collapse:collapse;white-space:nowrap;width:100%}.account-details-table th,.account-details-table td{text-align:left;border-bottom:1px solid #e8eef2;padding:13px 15px;font-size:13px}.account-details-table th{color:#627484;letter-spacing:.06em;text-transform:uppercase;background:#f8f3f3;font-size:10px}.admin-workspace{grid-template-columns:300px 1fr;gap:25px;display:grid}.user-form,.users-panel{background:#fff;border:1px solid #dbe7ed;border-radius:11px;padding:25px}.user-form{background:#fff1f2;gap:13px;height:max-content;display:grid}.user-form h2,.users-panel h2{margin:6px 0 9px;font:600 25px Georgia,serif}.user-form label{color:#385166;gap:6px;font-size:13px;font-weight:700;display:grid}.user-form input,.user-form select{background:#fff;border:1px solid #c7d7e1;border-radius:7px;width:100%;padding:11px}.user-form button{color:#fff;background:#a51d28;border:0;border-radius:7px;padding:12px;font-weight:700}.admin-notice{letter-spacing:0!important;color:#246a52!important;margin:0!important;font:13px system-ui!important}.users-panel-heading{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.users-panel-heading h2{margin-bottom:0}.users-panel-heading span{color:#277558;background:#e9f6ee;border-radius:20px;padding:7px 10px;font-size:12px}.accounts-table{border:1px solid #e1eaef;border-radius:8px;overflow:hidden}.accounts-head,.account-row{grid-template-columns:1.45fr .65fr 1fr;align-items:center;gap:14px;padding:14px 16px;display:grid}.accounts-head{color:#627484;letter-spacing:.06em;text-transform:uppercase;background:#f5f8fa;font-size:10px;font-weight:700}.account-row{border-top:1px solid #e8eef2;font-size:13px}.account-row strong,.account-row small{display:block}.account-row small{color:#71818f;margin-top:3px}.role-chip{color:#8b1b27;font-size:11px;font-weight:700}.account-status{color:#a73939;text-align:left;background:#fff0f0;border:0;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:700}.account-status.active{color:#227452;background:#e8f7ed}.account-status:disabled{opacity:.5}.loading-copy{color:#6b7d8c}.temporary-password{position:relative}.temporary-password input{padding-right:58px}.user-form .temporary-password button{color:#8b1b27;background:0 0;padding:7px 8px;position:absolute;top:4px;right:4px}@media (width<=980px){.admin-workspace{grid-template-columns:1fr}.user-form{grid-template-columns:1fr 1fr}.user-form>div,.user-form button,.admin-notice{grid-column:span 2}}@media (width<=760px){.admin-page{display:block}.admin-content{padding:27px 16px}.admin-header{align-items:start}.admin-header h1{font-size:32px}.admin-stats{grid-template-columns:1fr}.accounts-head{display:none}.account-row{grid-template-columns:1fr auto}.account-row .role-chip{display:none}.account-status{white-space:nowrap}}@media (width<=500px){.user-form{grid-template-columns:1fr}.user-form>div,.user-form button,.admin-notice{grid-column:span 1}}.manager-page{color:#122639;background:#f3f7fa;min-height:100vh;display:flex}.manager-content{width:min(100%,1320px);margin:0 auto;padding:48px clamp(24px,5vw,74px)}.manager-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px;display:flex}.manager-header p,.manager-callout p,.recent-departures>div>p{color:#a51d28;letter-spacing:.13em;margin:0;font:700 11px monospace}.manager-header h1{margin:8px 0;font:600 38px Georgia,serif}.manager-header span,.manager-callout span{color:#627385}.manager-header button{color:#76202a;background:#fff;border:1px solid #cbb7b9;border-radius:7px;padding:10px 14px;font-weight:700}.manager-error{color:#a63232}.manager-cards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.manager-card{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce7ec;border-top:3px solid #a51d28;border-radius:10px;gap:10px;padding:22px;display:grid}.manager-card:nth-child(2){border-top-color:#d1942d}.manager-card:nth-child(3){border-top-color:#24936c}.manager-card:nth-child(4){border-top-color:#a51d28}.manager-card:hover,.manager-card:focus-visible{outline-offset:2px;background:#fff5f5;outline:2px solid #a51d28}.manager-card small{color:#637687}.manager-card strong{font:600 25px Georgia,serif}.manager-card span{color:#a51d28;font-size:12px;font-weight:700}.parked-filters{gap:9px;margin-top:20px;display:flex}.parked-filters button{color:#76202a;background:#fff;border:1px solid #cbb7b9;border-radius:7px;padding:10px 14px;font-weight:700}.parked-filters button.active{color:#fff;background:#a51d28;border-color:#a51d28}.dashboard-details{background:#fff;border:1px solid #dce7ec;border-radius:11px;margin-top:20px;padding:25px}.dashboard-details>div:first-child>p{color:#a51d28;letter-spacing:.13em;margin:0;font:700 11px monospace}.dashboard-details h2{margin:7px 0 18px;font:600 25px Georgia,serif}.details-table{border:1px solid #dce7ec;border-radius:8px;overflow:auto}.details-table table{border-collapse:collapse;white-space:nowrap;width:100%}.details-table th,.details-table td{text-align:left;border-bottom:1px solid #e6edf1;padding:13px 14px;font-size:13px}.details-table th{color:#637687;letter-spacing:.06em;text-transform:uppercase;background:#f8f3f3;font-size:10px}.details-table tfoot td{color:#8b1b27;background:#fff5f5;font-weight:700}.manager-callout{background:#fff0f1;border:1px solid #eed3d5;border-radius:11px;margin-top:26px;padding:32px}.manager-callout h2{margin:8px 0;font:600 28px Georgia,serif}.manager-callout span{max-width:600px;line-height:1.6;display:block}.recent-departures{background:#fff;border:1px solid #dce7ec;border-radius:11px;margin-top:26px;padding:25px}.recent-departures h2{margin:6px 0 18px;font:600 25px Georgia,serif}.departure-table{border:1px solid #dce7ec;border-radius:8px;overflow:hidden}.departure-table>div{border-top:1px solid #e6edf1;grid-template-columns:1fr 1.5fr 1.5fr 1fr;align-items:center;gap:12px;padding:14px;display:grid}.departure-table>div:first-child{border-top:0}.departure-table span,.departure-table time{color:#617486}.departure-table b{text-align:right;color:#19705a}.no-departures{color:#667989;margin:0}@media (width<=900px){.manager-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.manager-page{display:block}.manager-content{padding:27px 16px}.manager-header{align-items:start}.manager-header h1{font-size:31px}.parked-filters{flex-wrap:wrap}.dashboard-details{padding:18px}.departure-table>div{grid-template-columns:1fr auto}.departure-table span{display:none}.departure-table time{font-size:12px}}@media (width<=460px){.manager-cards{grid-template-columns:1fr}}.parking-page{color:#122639;background:#f3f7fa;min-height:100vh;display:flex}.parking-content{width:min(100%,1440px);margin:0 auto;padding:48px clamp(24px,5vw,74px)}.parking-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px;display:flex}.parking-header p,.arrival-form p,.parking-list-heading p{color:#3978a5;letter-spacing:.13em;margin:0;font:700 11px monospace}.parking-header h1{margin:8px 0;font:600 38px Georgia,serif}.parking-header span{color:#617486}.parking-header button{color:#18547d;background:#fff;border:1px solid #bfd0da;border-radius:7px;padding:10px 14px;font-weight:700}.parking-workspace{grid-template-columns:420px 1fr;align-items:start;gap:25px;display:grid}.arrival-form,.parking-list{background:#fff;border:1px solid #dbe7ed;border-radius:11px;padding:25px}.arrival-form{background:#edf6fb;grid-template-columns:1fr 1fr;gap:13px;display:grid}.arrival-form>div,.arrival-form>button,.arrival-form>.parking-message,.arrival-form>.parking-notice{grid-column:span 2}.arrival-form h2,.parking-list h2{margin:6px 0 7px;font:600 25px Georgia,serif}.arrival-form>div>span{color:#647689;font-size:12px}.arrival-form label{color:#385166;gap:6px;font-size:12px;font-weight:700;display:grid}.arrival-form input,.arrival-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #c7d7e1;border-radius:7px;outline:0;padding:11px}.arrival-form textarea{resize:vertical;min-height:67px}.arrival-form input:focus,.arrival-form textarea:focus{border-color:#1977bb;box-shadow:0 0 0 3px #1977bb1a}.arrival-form .form-wide{grid-column:span 2}.arrival-form button{color:#fff;background:#0f629e;border:0;border-radius:7px;padding:12px;font-weight:700}.arrival-form button:disabled{opacity:.65}.parking-message,.parking-notice{margin:0;font-size:13px}.parking-message{color:#a63232}.parking-notice{color:#227452}.parking-list-heading{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.parking-list-heading h2{margin-bottom:0}.parking-list-heading>span{color:#277558;background:#e9f6ee;border-radius:20px;padding:7px 10px;font-size:12px}.parking-table{border:1px solid #dce7ec;border-radius:9px;overflow:hidden}.parking-table-head,.parking-row{grid-template-columns:.8fr 1.25fr 1fr 1fr;align-items:center;gap:14px;padding:15px 18px;display:grid}.parking-table-head{color:#637687;letter-spacing:.07em;text-transform:uppercase;background:#f4f8fa;font-size:10px;font-weight:700}.parking-row{border-top:1px solid #e6edf1;font-size:14px}.parking-row span,.parking-row time{color:#5d7181}.empty-state{color:#667989;text-align:center;margin:0;padding:28px}@media (width<=1120px){.parking-workspace{grid-template-columns:1fr}.arrival-form{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.parking-page{display:block}.parking-content{padding:27px 16px}.parking-header{align-items:start}.parking-header h1{font-size:31px}.parking-table-head{display:none}.parking-row{grid-template-columns:1fr auto}.parking-row span{display:none}.parking-row time{font-size:12px}}@media (width<=500px){.arrival-form{grid-template-columns:1fr}.arrival-form>div,.arrival-form>button,.arrival-form>.parking-message,.arrival-form>.parking-notice,.arrival-form .form-wide{grid-column:span 1}}.arrival-form select{width:100%;font:inherit;background:#fff;border:1px solid #c7d7e1;border-radius:7px;outline:0;padding:11px}.yard-help{color:#647689;margin:0 0 16px;font-size:13px}.parking-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;border-top:1px solid #e6edf1}.parking-row:hover,.parking-row:focus-visible{outline-offset:-2px;background:#edf6fb;outline:2px solid #1977bb}.departure-backdrop{z-index:10;background:#12263999;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.departure-dialog{background:#fff;border-radius:12px;width:min(100%,670px);padding:28px;position:relative;box-shadow:0 20px 55px #07172566}.departure-dialog>p:first-of-type{color:#3978a5;letter-spacing:.13em;margin:0;font:700 11px monospace}.departure-dialog h2{margin:8px 0 3px;font:600 30px Georgia,serif}.departure-dialog>span{color:#627385}.dialog-close{color:#506777;cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:14px;right:18px}.departure-details{grid-template-columns:repeat(2,1fr);gap:11px;margin:24px 0;display:grid}.departure-details div{background:#f8fbfc;border:1px solid #dce7ec;border-radius:8px;gap:5px;padding:12px;display:grid}.departure-details small{color:#647689}.departure-details strong{color:#153753}.departure-note{color:#566e80;margin:0;font-size:13px;line-height:1.5}.departure-actions{justify-content:end;gap:10px;margin-top:24px;display:flex}.departure-actions button{color:#18547d;background:#fff;border:1px solid #bfd0da;border-radius:7px;padding:11px 14px;font-weight:700}.departure-actions .confirm-departure{color:#fff;background:#19705a;border-color:#19705a}.departure-actions button:disabled{opacity:.65}@media (width<=760px){.departure-details{grid-template-columns:1fr}}.departure-payment{grid-template-columns:1fr 1fr;gap:11px;margin:0 0 16px;display:grid}.departure-payment label{color:#385166;gap:6px;font-size:12px;font-weight:700;display:grid}.departure-payment input,.departure-payment select{width:100%;font:inherit;background:#fff;border:1px solid #c7d7e1;border-radius:7px;padding:11px}@media (width<=760px){.departure-payment{grid-template-columns:1fr}.departure-backdrop{padding:12px;display:block;overflow-y:auto}.departure-dialog{width:100%;min-height:calc(100vh - 24px);margin:0;padding:48px 18px 20px;overflow:visible}.departure-actions{background:#fff;padding:14px 0 0;position:sticky;bottom:0}.dialog-close{z-index:12;background:#fff;border-radius:50%;width:36px;height:36px;line-height:30px;position:fixed;top:18px;right:22px;box-shadow:0 2px 8px #0003}}.reports-page{color:#122639;background:#f3f7fa;min-height:100vh;display:flex}.reports-content{width:min(100%,1440px);margin:0 auto;padding:48px clamp(24px,5vw,74px)}.reports-content header p{color:#3978a5;letter-spacing:.13em;margin:0;font:700 11px monospace}.reports-content h1{margin:8px 0;font:600 38px Georgia,serif}.reports-content header span{color:#617486}.report-controls{background:#edf6fb;border:1px solid #dbe7ed;border-radius:10px;align-items:end;gap:13px;margin-top:30px;padding:20px;display:flex}.report-controls label{color:#385166;gap:6px;font-size:12px;font-weight:700;display:grid}.report-controls input,.report-controls select{min-width:180px;font:inherit;background:#fff;border:1px solid #c7d7e1;border-radius:7px;padding:11px}.report-controls button{color:#fff;background:#0f629e;border:0;border-radius:7px;padding:12px 15px;font-weight:700}.report-controls .print-report{background:#19705a}.report-error{color:#a63232}.report-table{background:#fff;border:1px solid #dce7ec;border-radius:11px;margin-top:25px;padding:25px}.report-table h2{margin:0 0 18px;font:600 25px Georgia,serif}.report-table>div{overflow:auto}.report-table table{border-collapse:collapse;white-space:nowrap;width:100%}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #e6edf1;padding:13px}.report-table th{color:#637687;letter-spacing:.06em;text-transform:uppercase;background:#f4f8fa;font-size:10px}.report-table tfoot td{color:#8b1b27;background:#fff0f1;font-weight:700}.report-table td{font-size:13px}@media (width<=700px){.reports-page{display:block}.reports-content{padding:27px 16px}.reports-content h1{font-size:31px}.report-controls{flex-direction:column;align-items:stretch}.report-controls input,.report-controls select{min-width:0}}.login-screen{background:radial-gradient(circle at 18% 10%,#a51d28,#4a0b12 44%,#1b0205);place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:#fff;border-radius:16px;gap:17px;width:min(100%,400px);padding:34px;display:grid;box-shadow:0 22px 60px #0008}.login-brand{color:#8b1b27;letter-spacing:.13em;align-items:center;gap:9px;font-weight:700;display:flex}.login-brand span{color:#fff;background:#b72d3a;border-radius:50%;place-items:center;width:32px;height:32px;font:21px Georgia;display:grid}.login-card h1{color:#102235;margin:4px 0;font:600 32px Georgia,serif}.login-card label{color:#32495c;gap:7px;font-size:13px;font-weight:700;display:grid}.login-card input{border:1px solid #cbd8e1;border-radius:7px;outline:0;width:100%;padding:12px}.login-card input:focus{border-color:#b72d3a;box-shadow:0 0 0 3px #b72d3a22}.password-input{position:relative}.password-input input{padding-right:62px}.password-input button{color:#8b1b27;background:0 0;border:0;padding:7px 9px;position:absolute;top:5px;right:5px}.login-submit{color:#fff;background:linear-gradient(135deg,#b72d3a,#5c0d16);border:0;border-radius:7px;padding:13px;font-weight:700}.login-submit:disabled{opacity:.65}.form-error{color:#a63232;margin:0;font-size:13px}
