:root{color:#222328;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--red:#c82432;--red-dark:#a91a28;--red-soft:#fff0f1;--ink:#18191d;--muted:#686a73;--line:#e7e7eb;--radius:16px;background:#f7f7f8;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:4px}input,select,textarea{width:100%;min-height:45px;color:var(--ink);background:#fff;border:1px solid #d9d9df;border-radius:9px;padding:11px 13px}input:focus,select:focus,textarea:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #c8243214}input:disabled,select:disabled,textarea:disabled{background:#f2f2f4}input::placeholder{color:#888a92}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:9px;font-size:clamp(25px,3vw,34px);line-height:1.2}h2{letter-spacing:-.35px;margin-bottom:12px;font-size:20px}h3{margin-bottom:9px;font-size:17px}p{line-height:1.65}.muted{color:var(--muted)}.small{font-size:13px}.capitalize{text-transform:capitalize}.required{color:var(--red)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary,.secondary,.small-button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 17px;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.primary{background:var(--red);color:#fff;box-shadow:0 3px 8px #c8243218}.primary:hover:not(:disabled){background:var(--red-dark);text-decoration:none}.secondary,.small-button{color:#3c3d44;background:#fff;border-color:#dedee4}.secondary:hover:not(:disabled),.small-button:hover:not(:disabled){border-color:var(--red);color:var(--red);text-decoration:none}.small-button{white-space:nowrap;min-height:34px;padding:7px 11px;font-size:12px}.danger-outline{color:var(--red);border-color:#efd1d5}.text-button{color:var(--red);background:0 0;border:0;padding:4px 8px;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-button{color:#666b77;background:#f3f4f7;border:1px solid #0000;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.icon-button:hover:not(:disabled){color:#252933;background:#eaeef4;border-color:#dce0e8}.icon-button:disabled{opacity:.4}.edit-icon{color:#335faf;background:#eef3ff}.delete-icon{color:var(--red);background:#fff0f2}.restore-icon{color:#29734b;background:#edf7f0}.vehicle-icon{color:#70519b;background:#f2effa}.edit-icon:hover:not(:disabled){color:#234a96;background:#e1eaff;border-color:#cad8f7}.delete-icon:hover:not(:disabled){color:#ad1828;background:#ffe0e5;border-color:#f0c3ca}.restore-icon:hover:not(:disabled){color:#1b5b38;background:#ddefe3}.vehicle-icon:hover:not(:disabled){color:#57377f;background:#e8e0f5}.refresh-icon{background:#fff;border-color:#e3e6ed;width:42px;height:42px}.danger-button{border:1px solid var(--red);background:var(--red);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:11px 18px;font-weight:600;display:inline-flex}.danger-button:hover:not(:disabled){border-color:var(--red-dark);background:var(--red-dark)}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:40;color:#fff;background:#18191d;flex-direction:column;width:252px;padding:27px 17px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:-.8px;align-items:center;gap:11px;padding:0 9px;font-size:28px;font-weight:750;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--red);color:#fff;letter-spacing:-2px;border-radius:12px;flex-shrink:0;place-items:center;width:43px;height:47px;font-size:32px;font-weight:800;display:grid}.brand small{color:#b3b3bc;letter-spacing:1.8px;margin-top:3px;font-size:8px;font-weight:500;display:block}.nav-label{color:#91929d;letter-spacing:1.8px;margin:35px 12px 14px;font-size:10px}.sidebar nav{gap:4px;padding-right:3px;display:grid;overflow-y:auto}.sidebar nav a{color:#bfc0c8;border-radius:9px;align-items:center;gap:12px;padding:11px 13px;font-size:13px;text-decoration:none;display:flex}.sidebar nav a:hover{color:#fff;background:#25262d}.sidebar nav a.active{background:var(--red);color:#fff;box-shadow:0 5px 18px #0002}.sidebar nav a svg{flex-shrink:0}.sidebar,.sidebar nav{scrollbar-width:thin;scrollbar-color:var(--red) #18191d}.sidebar::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#18191d}.sidebar nav::-webkit-scrollbar-track{background:#18191d}.sidebar::-webkit-scrollbar-corner{background:#18191d}.sidebar nav::-webkit-scrollbar-corner{background:#18191d}.sidebar::-webkit-scrollbar-thumb{background:var(--red);border:1px solid #18191d;border-radius:10px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--red);border:1px solid #18191d;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover{background:#e03949}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#e03949}.sidebar-footer{margin-top:auto;padding:20px 7px 0}.profile{border-top:1px solid #34353c;align-items:center;gap:10px;padding-top:19px;display:flex}.avatar{color:#ffbfc6;background:#3a272d;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;font-weight:700;display:grid}.profile strong{overflow-wrap:anywhere;font-size:12px;display:block}.profile small{color:#a3a4ae;margin-top:4px;font-size:10px;display:block}.sidebar .sidebar-account-actions{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:14px;display:flex}.sidebar .sidebar-account-actions>.sidebar-account-action{color:#c4c6ce;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:0 auto;justify-content:center;align-items:center;gap:7px;width:auto;min-width:0;min-height:42px;margin:0;padding:10px;font-size:12px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.sidebar .sidebar-account-action>svg{flex-shrink:0}.sidebar .sidebar-account-action>span{margin:0;display:inline}.sidebar .sidebar-account-actions>a{margin-left:auto}.sidebar .sidebar-account-action.active{color:#c4c6ce;background:0 0}.sidebar .sidebar-account-action:hover,.sidebar .sidebar-account-action.active:hover{color:#fff;background:#ffffff12}.sidebar .sidebar-account-action:focus-visible{outline:2px solid var(--red);outline-offset:2px}.sidebar .sidebar-account-action:disabled{opacity:.6;cursor:wait}.workspace{flex-direction:column;width:calc(100% - 252px);min-width:0;margin-left:252px;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;height:73px;padding:0 36px;display:flex}.topbar-title{color:var(--muted);font-size:13px}.topbar-right{align-items:center;gap:22px;display:flex}.role-pill,.subtle-pill{color:#555761;background:#f3f3f5;border-radius:100px;padding:7px 12px;font-size:11px;font-weight:600}.role-pill{background:var(--red-soft);color:var(--red)}.connection{color:#585b62;align-items:center;gap:6px;font-size:11px;display:inline-flex}.connection:before{content:"";background:#57896a;border-radius:50%;width:6px;height:6px}.connection.offline:before{background:var(--red)}.main-content{flex:1;width:100%;max-width:1660px;margin:0 auto;padding:32px 36px}:is(.main-content:has(.dashboard-page),.main-content:has(.master-data-page)){padding:16px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading p:last-child{max-width:670px;margin-bottom:0;font-size:13px}.eyebrow{color:#858690;letter-spacing:1.6px;margin-bottom:11px;font-size:9px;font-weight:700}.dashboard-page .page-heading{margin-bottom:12px}.master-data-page .page-heading{margin-bottom:16px}.dashboard-page .page-heading h1,.master-data-page .page-heading h1{margin-bottom:0;font-size:29px}.dashboard-page .page-heading .eyebrow,.master-data-page .page-heading .eyebrow{margin-bottom:7px}.master-data-page .page-heading .muted{margin-top:8px}.app-footer{color:#9899a2;justify-content:space-between;gap:15px;padding:15px 36px 22px;font-size:10px;display:flex}.menu-button,.nav-overlay{display:none}.skip-link{z-index:100;background:var(--red);color:#fff;padding:12px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:10px}.session-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.session-screen h1{margin-top:18px}.story-tag{color:#ffb7bd;letter-spacing:1.9px;font-size:9px;font-weight:600}.welcome-banner{color:#fff;background:#202126;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative;overflow:hidden}.dashboard-page .welcome-banner{border-radius:13px;min-height:auto;margin-bottom:20px;padding:27px 28px}.welcome-banner:after{content:"";pointer-events:none;border:75px solid #c8243218;border-radius:50%;width:400px;height:400px;position:absolute;top:-220px;right:-90px}.dashboard-page .welcome-banner h2{margin:11px 0 2px;font-size:25px;line-height:1.35}.dashboard-page .welcome-banner .story-tag{line-height:1.5;display:inline-block}.dashboard-page .notice{margin-bottom:16px}.dashboard-page .summary-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:auto;justify-content:start;gap:12px;width:100%;height:auto;max-height:none;padding:4px 0 10px;display:grid;overflow:visible}.dashboard-page .summary-card{isolation:isolate;aspect-ratio:1;color:#fff;visibility:visible;border:1px solid #0000;border-radius:15px;flex-direction:column;justify-content:space-between;width:100%;min-width:0;height:auto;min-height:124px;padding:15px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000a}.dashboard-page .summary-blue{background:#00b4d8;border-color:#00b4d8}.dashboard-page .summary-red{background:#f01e2c;border-color:#f01e2c}.dashboard-page .summary-green{background:#008631;border-color:#008631}.dashboard-page .summary-grey{background:#626873;border-color:#626873}.dashboard-page .summary-title{z-index:1;color:#fff;max-width:100%;font-size:11px;font-weight:650;line-height:1.45;position:relative}.dashboard-page .summary-value{z-index:1;color:#fff;letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:14px;font-size:29px;font-weight:750;line-height:1.2;display:block;position:relative}.dashboard-page .summary-value.summary-currency{letter-spacing:-.3px;overflow-wrap:normal;font-size:clamp(13px,1.05vw,19px);line-height:1.4}.dashboard-page .summary-watermark{z-index:0;color:#ffffff26;pointer-events:none;display:block;position:absolute;bottom:-12px;right:-9px;transform:rotate(-12deg)}.dashboard-page .summary-watermark svg{stroke-width:1.5px;width:80px;height:80px;display:block}.dashboard-page .summary-blue .summary-title,.dashboard-page .summary-blue .summary-value,.dashboard-page .summary-green .summary-title,.dashboard-page .summary-green .summary-value{color:#111}.dashboard-page .summary-blue .summary-watermark,.dashboard-page .summary-green .summary-watermark{color:#0000001a}.dashboard-page .summary-card.summary-black{background:linear-gradient(145deg,#fff,#f8f9fc);border-color:#e4e7ee;box-shadow:0 5px 14px #18191d0f,inset 0 1px #fff}.dashboard-page .summary-black .summary-title{color:#626875}.dashboard-page .summary-black .summary-value{color:#171a23}.dashboard-page .summary-black .summary-watermark{color:#c8243214}.dashboard-page .summary-black:before{content:"";background:var(--red);border-radius:0 0 4px 4px;width:27px;height:3px;position:absolute;top:0;left:15px}.dashboard-period{color:#686a73;margin:9px 0 0;font-size:11px}.dashboard-charts{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:stretch;gap:20px;margin-top:22px;display:grid}.dashboard-charts-operator{grid-template-columns:minmax(0,480px)}.dashboard-chart-card{background:#fff;border:1px solid #e3e7ee;border-radius:18px;min-width:0;padding:24px;box-shadow:0 7px 22px #18191d0d,0 2px 5px #18191d05}.chart-card-heading{border-bottom:1px solid #eef0f4;justify-content:space-between;align-items:flex-start;gap:12px;min-height:48px;margin-bottom:10px;padding-bottom:15px;display:flex}.chart-card-heading h2{color:#252a35;margin:0 0 6px;font-size:17px;font-weight:700}.chart-card-heading p{color:#777984;margin:0;font-size:11px;line-height:1.5}.chart-heading-icon{width:34px;height:34px;color:var(--red);background:#fff0f2;border-radius:10px;flex-shrink:0;place-items:center;font-size:23px;font-weight:800;display:grid}.chart-period-total{text-align:right;flex-shrink:0}.chart-period-total span{color:#777984;margin-bottom:5px;font-size:10px;display:block}.chart-period-total strong{color:#202127;font-variant-numeric:tabular-nums;font-size:15px}.occupancy-chart{width:100%;height:235px;position:relative}.occupancy-centre{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.occupancy-centre strong{color:#25262d;letter-spacing:-1px;font-size:33px;font-weight:750}.occupancy-centre span{color:#777984;margin-top:3px;font-size:11px}.chart-legend{gap:11px;padding-top:3px;display:grid}.chart-legend-item{color:#636570;align-items:center;gap:9px;font-size:12px;display:flex}.chart-legend-item strong{color:#24252c;font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.legend-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.collection-chart{width:100%;height:280px;margin-top:12px}.collection-legend{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:12px;display:flex}.collection-legend>span{color:#666873;align-items:center;gap:7px;font-size:11px;display:inline-flex}.daily-dot{background:#c82432}.monthly-dot{background:#24252b}.chart-footnote{color:#82848e;margin:15px 0 0;font-size:10px;line-height:1.6}.chart-empty{color:#777984;text-align:center;justify-content:center;align-items:center;min-height:280px;padding:25px;font-size:13px;line-height:1.7;display:flex}.chart-error{color:#a52738}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;margin-bottom:22px;padding:25px}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin:28px 0 18px;display:flex}.section-heading h2{margin-bottom:5px}.section-heading p{margin-bottom:0;font-size:12px}.panel>.section-heading:first-child{margin-top:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;font-size:13px;display:flex}.field label,.field>span{color:#484a54;font-weight:600}.field small{font-size:11px;line-height:1.6}.field.wide{grid-column:1/-1}.field-error{color:var(--red);font-size:12px}.form-actions{border-top:1px solid var(--line);gap:10px;margin-top:25px;padding-top:21px;display:flex}.notice{border:1px solid #0000;border-radius:10px;margin-bottom:20px;padding:15px 18px;font-size:13px;line-height:1.65}.notice p{margin-bottom:10px}.notice.error{color:#a41b2c;background:#fff0f2;border-color:#f2c6ce}.notice.success{color:#365f42;background:#f0f7f2;border-color:#cfe1d2}.notice.warning{color:#7c5c1a;background:#fff9eb;border-color:#ebdfbf}.search-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;display:flex}.search-bar:last-child{margin-bottom:0}.search-box{flex:1;align-items:center;min-width:180px;display:flex;position:relative}.search-box svg{color:#9899a3;pointer-events:none;position:absolute;left:13px}.search-box:has(svg) input{padding-left:42px}.search-bar>label:has(select){max-width:200px}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:15px;display:grid}.filter-help{margin:15px 0 0}.info-strip{color:#686a74;background:#f7f7f9;border-radius:10px;margin-top:22px;padding:16px;font-size:12px;line-height:1.7}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:22px 0;display:grid}.detail-grid span{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.detail-grid strong{overflow-wrap:anywhere;font-size:14px}.success-panel{border-left:4px solid #5b8167}.fee-summary{background:var(--red-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding:25px;display:flex}.fee-summary span{color:#7f3c43;font-size:13px}.fee-summary strong{color:var(--red);letter-spacing:-.7px;font-size:27px}.payment-method{max-width:280px}.table-wrap{border:1px solid var(--line);border-radius:10px;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#767883;text-transform:uppercase;letter-spacing:.65px;white-space:nowrap;background:#f8f8fa;padding:16px 14px;font-size:10px;font-weight:600}td{overflow-wrap:anywhere;border-top:1px solid #ededf0;max-width:320px;padding:16px 14px;line-height:1.5}tbody tr:hover{background:#fdfafb}.badge{color:#666872;letter-spacing:.5px;white-space:nowrap;background:#f0f0f3;border-radius:6px;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.badge-active,.badge-available,.badge-paid{color:#42644c;background:#edf5ef}.badge-occupied,.badge-daily{color:#b12735;background:#ffedef}.badge-monthly{color:#5c5267;background:#f0edf4}.badge-expired,.badge-unpaid,.badge-blocked{color:#846020;background:#fbf3df}.badge-cancelled,.badge-inactive{color:#777985;background:#efeff2}.master-tabs{scrollbar-width:thin;scrollbar-color:var(--red) #f3f3f5;background:#fff;border:1px solid #e3e5eb;border-radius:13px;align-items:center;gap:5px;margin-bottom:20px;padding:6px;display:flex;overflow-x:auto}.master-tab{color:#676a76;white-space:nowrap;background:0 0;border:0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-size:13px;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.master-tab:hover{color:var(--red);background:#fff0f2}.master-tab.active{background:var(--red);color:#fff;box-shadow:0 4px 10px #c8243220}.master-tab-content{min-width:0}.records-panel{background:#fff;border:1px solid #e3e6ed;border-radius:15px;min-width:0;margin-bottom:20px;padding:23px;box-shadow:0 5px 18px #18191d04}.records-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px;display:flex}.records-heading h2{color:#24262e;margin:0 0 6px;font-size:20px}.records-heading p{color:#7b7e89;max-width:650px;margin:0;font-size:12px;line-height:1.6}.records-heading>.actions{flex-shrink:0}.records-search{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.records-search .search-bar{flex:1;max-width:710px;margin:0}.record-count{color:#848792;flex-shrink:0;font-size:12px}.records-panel .table-wrap{border-color:#e8eaf0}.records-panel th{background:#f8f9fb}.records-panel td{padding-top:15px;padding-bottom:15px}.customer-vehicles-section{margin-top:24px}.customer-vehicles-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;display:flex}.customer-vehicles-heading span{color:var(--red);letter-spacing:1.1px;font-size:10px;font-weight:700}.customer-vehicles-heading h2{margin:6px 0 0;font-size:20px}.app-modal{color:#24262e;scrollbar-width:thin;scrollbar-color:#c5c7ce #fff;background:#fff;border:1px solid #ffffff80;border-radius:19px;width:min(720px,100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:0;overflow-y:auto;box-shadow:0 28px 90px #00000035}.app-modal::backdrop{-webkit-backdrop-filter:blur(4px);background:#0e10168f}.app-modal-small{width:min(440px,100vw - 32px)}.modal-surface{min-width:0}.modal-heading{z-index:2;background:#fff;border-bottom:1px solid #eceef3;justify-content:space-between;align-items:center;gap:18px;padding:21px 25px;display:flex;position:sticky;top:0}.modal-heading h2{color:#252730;margin:0;font-size:20px;line-height:1.4}.modal-body{padding:25px}.modal-actions{border-top:1px solid #eceef3;justify-content:flex-end;align-items:center;gap:10px;margin-top:25px;padding-top:21px;display:flex}.delete-confirm-icon{width:55px;height:55px;color:var(--red);background:#fff0f2;border-radius:16px;place-items:center;margin:0 auto 18px;display:grid}.delete-confirm-text{color:#666b77;text-align:center;margin-bottom:20px;font-size:14px}.delete-confirm-text strong{color:#252730}.availability-page{--space-red:#f01e2c;--space-blue:#00b4d8;--space-green:#008631;--space-grey:#737780}.availability-counters{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.availability-page .availability-counter{border:1px solid var(--counter-colour);color:#303540;background:#fff;border-left-width:4px;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:13px 17px;display:flex;box-shadow:0 3px 12px #1923370d}.counter-total{--counter-colour:#303540}.counter-available{--counter-colour:#008631}.counter-occupied{--counter-colour:#f01e2c}.counter-reserved{--counter-colour:#00b4d8}.counter-blocked{--counter-colour:#737780}.availability-counter>span{color:#626875;font-size:13px;font-weight:600}.availability-counter>strong{color:var(--counter-colour);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1}.availability-page .counter-available>strong{color:#168126}.parking-board{background:#fff;border:1px solid #e4e7ee;border-radius:17px;padding:23px;box-shadow:0 6px 24px #1923370d}.parking-board-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:21px;display:flex}.parking-legend{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.parking-legend>span{color:#626875;align-items:center;gap:7px;font-size:11px;display:inline-flex}.parking-dot{background:#a1a6af;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.dot-available{background:var(--space-green);box-shadow:0 0 0 1px #0000001f}.dot-occupied{background:var(--space-red)}.dot-reserved{background:var(--space-blue)}.dot-blocked{background:var(--space-grey)}.parking-filters{grid-template-columns:minmax(180px,1fr) 190px 160px;gap:12px;margin-bottom:24px;display:grid}.parking-filters input,.parking-filters select{color:#303540;background:#fafbfc;border-color:#e2e6ed;min-width:0;min-height:43px;padding:10px 13px;font-size:12px}.parking-filters input:focus,.parking-filters select:focus{outline:2px solid var(--space-red);outline-offset:2px}.parking-space-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:17px;display:grid}.availability-page .parking-bay{border:1px solid var(--bay-colour,#a1a6af);background:#fff;border-top-width:4px;border-radius:11px;flex-direction:column;align-items:center;min-width:0;min-height:169px;padding:13px 12px 15px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #1923370a}.bay-available{--bay-colour:#008631}.bay-occupied{--bay-colour:#f01e2c}.bay-reserved{--bay-colour:#00b4d8}.bay-blocked{--bay-colour:#737780}.parking-bay-top{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.parking-bay-top strong{color:#252a34;overflow-wrap:anywhere;font-size:14px;font-weight:800}.parking-bay-icon{justify-content:center;align-items:center;min-height:65px;margin-top:5px;display:flex}.bay-available .parking-bay-icon{color:#168126}.bay-occupied .parking-bay-icon{color:var(--space-red)}.bay-reserved .parking-bay-icon{color:#008aa6}.bay-blocked .parking-bay-icon{color:var(--space-grey)}.parking-bay-type{color:#69707d;text-align:center;overflow-wrap:anywhere;max-width:100%;margin-bottom:9px;font-size:11px}.parking-bay-status{color:#555c68;background:#e9ebef;border-radius:6px;justify-content:center;align-items:center;min-width:82px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.bay-available .parking-bay-status{background:var(--space-green);color:#111}.bay-occupied .parking-bay-status{background:var(--space-red);color:#fff}.bay-reserved .parking-bay-status{background:var(--space-blue);color:#111}.bay-blocked .parking-bay-status{background:var(--space-grey);color:#fff}.parking-bay-reason{color:#737985;text-align:center;overflow-wrap:anywhere;margin:9px 0 0;font-size:10px;line-height:1.5}.parking-board-empty{color:#767d89;text-align:center;padding:55px 20px;font-size:13px}.monthly-payment-search{grid-template-columns:minmax(0,1fr) 220px auto;align-items:end;gap:16px;margin-bottom:24px;display:grid}.monthly-payment-search .monthly-search-field{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.monthly-search-field>span{color:#555c69;font-size:12px;font-weight:600;line-height:1.4}.monthly-payment-search .monthly-search-field input{color:#242832;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-color:#dfe3eb;min-width:0;height:44px;margin:0;padding:10px 13px;font-size:13px}.monthly-payment-search .monthly-search-field input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #c824321f}.monthly-payment-search>button{white-space:nowrap;height:44px;min-height:44px;margin:0;padding:0 20px}.report-totals{flex-wrap:wrap;justify-content:flex-end;gap:30px;padding-top:24px;display:flex}.report-totals span{color:var(--muted);font-size:11px}.report-totals strong{color:var(--ink);margin-top:9px;font-size:18px;display:block}.settings-form{gap:22px;display:grid}.settings-panel{background:#fff;border:1px solid #e4e7ee;border-radius:15px;min-width:0;margin:0;padding:23px;box-shadow:0 5px 20px #1923370a}.settings-panel legend{color:#292e38;padding:0 9px;font-size:15px;font-weight:700}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.settings-field{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.settings-field>span{color:#555d6a;font-size:12px;font-weight:600}.settings-field input,.settings-field select,.settings-field textarea{color:#252a34;border-color:#dfe3eb;min-width:0;font-size:13px}.settings-field input,.settings-field select{height:44px}.settings-field textarea{min-height:90px;line-height:1.6}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{box-shadow:0 0 0 3px #c824321a}.settings-field small{color:#7b828e;font-size:11px;line-height:1.6}.settings-wide{grid-column:1/-1}.settings-save-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-save-row>span{color:#7b828e;align-items:center;gap:8px;font-size:12px;display:inline-flex}.receipt-section{margin:24px 0}.receipt-paper{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:500px;margin:0 auto;padding:32px}.receipt-brand{text-align:center;font-size:23px;font-weight:800}.receipt-paper>p{color:var(--muted);text-align:center;letter-spacing:1.4px;margin-top:9px;font-size:10px}.receipt-paper dl{border-top:1px dashed #c9c9ce;margin:25px 0;padding-top:18px}.receipt-paper dl div{justify-content:space-between;gap:20px;margin-bottom:13px;font-size:11px;display:flex}.receipt-paper dt{color:var(--muted);flex-shrink:0}.receipt-paper dd{text-align:right;overflow-wrap:anywhere;margin:0}.receipt-total{border-top:1px dashed #c9c9ce;justify-content:space-between;align-items:center;gap:10px;padding:22px 0;display:flex}.receipt-total span{font-size:12px}.receipt-total strong{font-size:22px}.receipt-paper .receipt-thanks{letter-spacing:0;font-size:11px}.login-page{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-story{color:#fff;background:#191a1e;flex-direction:column;padding:45px 52px 30px;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";pointer-events:none;border:100px solid #c8243214;border-radius:50%;width:500px;height:500px;position:absolute;top:100px;right:-270px}.login-story-content{z-index:1;max-width:480px;margin:auto 0;padding:60px 0 30px;position:relative}.login-story h1{letter-spacing:-2px;margin:25px 0 24px;font-size:clamp(35px,4.5vw,62px);line-height:1.12}.login-story h1 span{color:#ed5a66}.login-story p{color:#b0b1bc;max-width:390px;font-size:14px}.login-story>small{color:#898b96;font-size:10px}.parking-art{align-items:center;gap:35px;height:155px;margin-top:20px;display:flex;position:relative}.parking-art>span{color:#e95d69;border:2px solid #d84b57;border-radius:12px;place-items:center;width:62px;height:70px;font-size:45px;font-weight:700;display:grid;transform:rotate(-8deg)}.parking-art>svg{z-index:1;color:#d1d2da;position:relative}.parking-lines{border:2px solid #45464e;border-top:0;width:150px;height:115px;position:absolute;top:28px;left:95px;transform:skew(-10deg)}.login-panel{isolation:isolate;background-color:#27282d;background-image:linear-gradient(#00000040,#00000073),url(/images/parking-background.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;min-height:100vh;padding:40px;display:grid;position:relative}.login-panel .login-form{-webkit-backdrop-filter:blur(22px)saturate(140%);background:#ffffff1f;border:1px solid #ffffff59;border-top-color:#fff9;border-radius:24px;width:100%;max-width:420px;padding:36px;position:relative;box-shadow:0 20px 60px #0000004d,inset 0 1px #ffffff40}.login-panel .login-form h2{color:#fff;letter-spacing:-1px;margin-bottom:10px;font-size:29px}.login-panel .login-form .eyebrow{color:#ffd4da}.login-panel .login-form>.muted{color:#ffffffd9;margin-bottom:32px;font-size:13px}.login-form .field{margin-bottom:22px}.login-panel .login-form .field label{color:#fff}.login-panel .login-form input{color:#fff;caret-color:#fff;background:#0f1218a6;border:1px solid #ffffff4d}.login-panel .login-form input::placeholder{color:#ffffffa6}.login-panel .login-form input:focus{background:#0f1218cc;border-color:#ff8492;outline:none;box-shadow:0 0 0 3px #f01e2c26}.login-symbol{border-radius:15px;place-items:center;width:57px;height:57px;margin-bottom:23px;display:grid}.login-panel .login-symbol{color:#fff;background:#c824324d;border:1px solid #ffffff40}.password-input{position:relative}.password-input input{padding-right:48px}.password-toggle{color:#777985;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:3px;right:4px}.login-panel .password-toggle{color:#fff;background:0 0}.login-panel .login-form button:has(svg.lucide-eye){color:#fff;background:0 0}.login-panel .login-form button:has(svg.lucide-eye-off){color:#fff;background:0 0}.login-panel .login-submit{background:var(--red);color:#fff;border:1px solid #ffffff26;justify-content:space-between;width:100%;min-height:48px;margin-top:5px;box-shadow:0 7px 18px #c824322b}.login-panel .login-submit:hover:not(:disabled){background:var(--red-dark)}.login-panel .login-form .login-help{color:#ffffffd9;text-align:center;margin:25px 0 0;font-size:11px}.form-grid .password-input{width:100%;position:relative}.form-grid .password-input input{padding-right:48px}.form-grid .password-toggle{color:#626875;background:0 0;top:50%;right:4px;transform:translateY(-50%)}.form-grid .password-toggle:hover:not(:disabled){color:var(--red);background:#fff0f2}.form-grid .password-toggle svg{stroke:currentColor;display:block}.error-page{isolation:isolate;background:#fff;border:1px solid #eceef3;border-radius:22px;place-items:center;min-height:70vh;padding:48px 24px;display:grid;position:relative;overflow:hidden}.error-page:before,.error-page:after{content:"";z-index:-1;pointer-events:none;border:1px solid #f0f1f5;border-radius:50%;width:310px;height:310px;position:absolute}.error-page:before{top:-170px;right:-90px}.error-page:after{width:380px;height:380px;bottom:-190px;left:-100px}.error-page-glow{z-index:-1;pointer-events:none;background:radial-gradient(#f01e2c14,#0000 70%);width:min(480px,90%);height:350px;position:absolute;top:10%;left:50%;transform:translate(-50%)}.error-page-content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:540px;display:flex}.error-page-tag{color:var(--red);letter-spacing:1.6px;background:#fff6f7;border:1px solid #f5d9de;border-radius:100px;align-items:center;gap:8px;padding:8px 12px;font-size:10px;font-weight:700;display:inline-flex}.error-page-tag>span{background:var(--red);border-radius:50%;width:6px;height:6px}.error-page-art{margin:15px 0 25px;padding-bottom:15px;position:relative}.error-page-code{color:#20232b;letter-spacing:-10px;font-size:clamp(110px,15vw,180px);font-weight:900;line-height:1.1;display:block}.error-page-icon{background:var(--red);color:#fff;border:7px solid #fff;border-radius:25px;place-items:center;width:83px;height:83px;display:grid;position:absolute;bottom:0;right:-18px;transform:rotate(8deg);box-shadow:0 10px 25px #c824322e}.error-page-content h1{color:#252932;letter-spacing:-.8px;margin:0 0 13px;font-size:clamp(25px,3vw,34px);font-weight:750;line-height:1.25}.error-page-description{color:#777e8b;max-width:410px;margin:0;font-size:14px;line-height:1.8}.error-home-button{background:var(--red);color:#fff;border-radius:11px;justify-content:center;align-items:center;gap:11px;min-height:46px;margin-top:27px;padding:0 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 6px 18px #c824322b}.error-home-button:hover{background:var(--red-dark);color:#fff;transform:translateY(-2px)}.error-home-button:focus-visible{outline:2px solid var(--red);outline-offset:4px}.error-page-help{color:#858b96;margin:18px 0 0;font-size:11px;line-height:1.6}.error-page-road{color:#c8ccd5;align-items:center;gap:12px;margin-top:37px;display:flex}.error-page-road>span{background:#e3e6ed;border-radius:3px;width:22px;height:3px}.error-page-road>span:nth-child(4){background:var(--red)}.error-page-footer{color:#969ca7;letter-spacing:1.8px;margin-top:22px;font-size:9px;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:19px}.stat-card>div{justify-content:space-between;align-items:center;gap:9px;display:flex}.stat-card span{font-size:11px}.stat-card svg{width:17px;color:var(--red)}.stat-card strong{letter-spacing:-.8px;overflow-wrap:normal;margin-top:16px;font-size:clamp(18px,1.7vw,25px);display:block}@media (width<=1200px){.sidebar{width:225px}.workspace{width:calc(100% - 225px);margin-left:225px}.main-content{padding:27px}.topbar{padding:0 27px}.dashboard-page .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-page .summary-card{aspect-ratio:auto;min-height:130px;padding:17px}.dashboard-page .summary-value.summary-currency{font-size:19px}}@media (width<=1100px){.availability-counters{gap:8px}.availability-page .availability-counter{gap:7px;padding:12px}.availability-counter>span{font-size:11px}.availability-counter>strong{font-size:21px}}@media (width<=1050px){.dashboard-charts,.dashboard-charts-operator{grid-template-columns:1fr}}@media (width<=900px){.sidebar{width:252px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.workspace{width:100%;margin-left:0}.menu-button{min-height:36px;padding:7px;display:inline-flex}.nav-overlay{z-index:35;background:#1118;border:0;display:block;position:fixed;inset:0}.topbar{height:64px}.topbar-title{margin-right:auto}.login-story{padding:35px}.monthly-payment-search{grid-template-columns:minmax(0,1fr) 200px}.monthly-payment-search>button{grid-column:1/-1;justify-self:end}}@media (width<=700px){.availability-counters{scrollbar-width:thin;scrollbar-color:var(--space-red) #eef0f4;padding-bottom:7px;display:flex;overflow-x:auto}.availability-counter{flex:1 0 125px}.parking-board{padding:17px}.parking-filters{grid-template-columns:1fr 1fr}.parking-filters input{grid-column:1/-1}.parking-space-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}}@media (width<=650px){.settings-panel{padding:18px}.settings-fields{grid-template-columns:1fr;gap:18px}.settings-save-row{flex-direction:column;align-items:stretch}.settings-save-row>button{width:100%}}@media (width<=600px){.main-content{padding:22px 17px}:is(.main-content:has(.dashboard-page),.main-content:has(.master-data-page)){padding:14px}.topbar{padding:0 17px}.topbar-title{font-size:11px}.topbar-right{gap:9px}.connection{font-size:10px}.page-heading{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-page .page-heading{gap:10px;margin-bottom:12px}.master-data-page .page-heading{gap:10px;margin-bottom:13px}.dashboard-page .page-heading h1,.master-data-page .page-heading h1{font-size:25px}.dashboard-page .welcome-banner{margin-bottom:17px;padding:23px 20px}.dashboard-page .welcome-banner h2{font-size:21px}.dashboard-page .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dashboard-page .summary-card{min-height:125px;padding:15px}.dashboard-page .summary-value.summary-currency{font-size:17px}.dashboard-chart-card{border-radius:15px;padding:18px}.chart-card-heading{flex-wrap:wrap}.chart-card-heading h2{font-size:16px}.chart-period-total{text-align:left}.collection-chart{height:250px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:18px}.panel{border-radius:13px;padding:18px}.form-grid{grid-template-columns:1fr;gap:18px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.section-heading{align-items:flex-start}.section-heading .subtle-pill{display:none}.fee-summary{padding:20px}.fee-summary strong{font-size:23px}.app-footer{padding:15px 17px}.app-footer span{display:none}.master-tabs{gap:3px;padding:5px}.master-tab{padding:10px 12px;font-size:12px}.records-panel{padding:17px}.records-heading{flex-direction:column;align-items:flex-start;gap:14px}.records-heading>.actions{align-self:flex-end}.records-search{flex-direction:column;align-items:stretch;gap:10px}.record-count{align-self:flex-end}.modal-heading{padding:17px 18px}.modal-heading h2{font-size:18px}.modal-body{padding:20px 18px}.modal-actions{gap:8px}.login-page{grid-template-columns:1fr}.login-story{min-height:150px;padding:24px}.login-story-content{padding:25px 0 0}.login-story h1{letter-spacing:-1px;margin:13px 0 0;font-size:30px}.login-story-content>p,.parking-art,.login-story>small,.login-story .story-tag{display:none}.login-story .brand{padding:0;font-size:22px}.login-story .brand-mark{width:34px;height:38px;font-size:26px}.login-panel{min-height:auto;padding:32px 20px}.login-panel .login-form{border-radius:20px;padding:28px 23px}.login-panel .login-form h2{font-size:25px}.login-symbol{display:none}.error-page{border-radius:16px;min-height:65vh;padding:38px 20px}.error-page-code{letter-spacing:-7px}.error-page-icon{border-width:5px;border-radius:20px;width:66px;height:66px;right:-12px}.error-page-icon svg{width:34px;height:34px}.error-page-description{font-size:13px}}@media (width<=550px){.monthly-payment-search{grid-template-columns:1fr}.monthly-payment-search>button{justify-self:stretch;width:100%}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.login-panel .login-form{background:#191a1ee6}}@media (prefers-reduced-transparency:reduce){.login-panel .login-form{-webkit-backdrop-filter:none;background:#25262c}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.error-home-button:hover{transform:none}}@media print{@page{size:A4;margin:12mm}body *{visibility:hidden!important}#print-receipt,#print-receipt *{visibility:visible!important}#print-receipt{color:#000;border:none;border-radius:0;width:100%;max-width:100%;margin:0;padding:10mm;position:relative}.sidebar,.topbar,.app-footer,.no-print,.skip-link,.main-content>:not(.receipt-section){display:none!important}.app-shell,.workspace,.main-content{width:100%;min-height:0;margin:0;padding:0;display:block}.receipt-section{margin:0}}.table-wrap tr.space-row-available{--space-row-background:#edf7ef;--space-row-hover:#e1f0e5;--space-row-accent:#32824b}.table-wrap tr.space-row-blocked{--space-row-background:#f0f1f3;--space-row-hover:#e5e7eb;--space-row-accent:#737983}.table-wrap tr.space-row-occupied{--space-row-background:#fff0f1;--space-row-hover:#fce2e5;--space-row-accent:#c34553}.table-wrap tr.space-row-reserved{--space-row-background:#edf4ff;--space-row-hover:#e0ecfc;--space-row-accent:#3978bd}.table-wrap tbody tr[class*=space-row-]>td{background:var(--space-row-background);color:#252a34}.table-wrap tbody tr[class*=space-row-]:hover>td{background:var(--space-row-hover)}.table-wrap tbody tr[class*=space-row-]>td:first-child{box-shadow:inset 4px 0 var(--space-row-accent)}.receipt-modal .section-heading{margin:0 0 16px}.receipt-modal .section-heading h2{display:none}.receipt-modal .section-heading .actions{margin-left:auto}@media print{.main-content>.receipt-modal[open],dialog.receipt-modal[open]{width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.receipt-modal::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}.receipt-modal .modal-heading{display:none!important}.receipt-modal .modal-body{padding:0!important;overflow:visible!important}}.receipt-modal{width:min(620px,100vw - 24px)}.receipt-modal .receipt-section{margin:0}.receipt-modal .receipt-section>.actions{margin-bottom:16px}.receipt-modal .receipt-paper{border:1px solid var(--line);color:#18191d;overflow-wrap:anywhere;background:#fff;border-radius:12px;width:100%;margin:0;padding:24px}.receipt-modal .receipt-brand{margin-bottom:8px;font-size:23px;font-weight:750}.receipt-modal .receipt-paper>p{margin-bottom:8px}.receipt-modal .receipt-paper h3{margin-top:20px}.receipt-modal .receipt-paper dl{margin:0}.receipt-modal .receipt-paper dl>div{border-bottom:1px solid #eee;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:9px 0;display:grid}.receipt-modal .receipt-paper dt{color:#686a73}.receipt-modal .receipt-paper dd{text-align:right;margin:0}.receipt-modal .receipt-total{justify-content:space-between;gap:12px;margin-top:20px;font-size:19px;display:flex}.receipt-modal .receipt-thanks{text-align:center;margin-top:22px}@media print{body:has(>dialog.receipt-modal[open]){background:#fff!important;margin:0!important;overflow:visible!important}body:has(>dialog.receipt-modal[open])>:not(dialog.receipt-modal){display:none!important}body>dialog.receipt-modal[open]{width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.receipt-modal::backdrop{background:0 0!important}.receipt-modal .modal-heading,.receipt-modal .no-print{display:none!important}.receipt-modal .modal-surface,.receipt-modal .modal-body,.receipt-modal .receipt-section,.receipt-modal .receipt-paper{width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;display:block!important;overflow:visible!important}}
