@media print {
	@page { margin: 12mm; }
	html, body { background: #fff !important; }
	.sidebar, .dash-top, .receipt-screen-header { display: none !important; }
	.main-area { margin-left: 0 !important; }
	.page { padding: 0 !important; }
	.receipt { max-width: 100%; margin: 0; border: 1px dashed #cfd6e0; padding: 28px 30px; box-shadow: none; }
	.receipt-row { padding: 9px 0; break-inside: avoid; }
	.receipt-total { margin-top: 12px; padding-top: 16px; }
	.receipt p { margin-bottom: 0; }
}
 .cashier-slot-summary{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.cashier-slot-toolbar{margin-bottom:14px}.cashier-slot-toolbar input{width:min(320px,100%);padding:11px 13px;border:1px solid var(--line);border-radius:9px;outline:none;background:#fff}.cashier-slot-toolbar input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.cashier-available-slot{min-width:0}.cashier-available-slot-meta,.cashier-slot-meta{display:grid;justify-items:end;gap:7px}.cashier-available-slot.reserved{border-color:#fcd34d;background:#fffbeb}.cashier-available-slot.occupied{border-color:#fca5a5;background:#fff7f7}.cashier-available-slot.overtime{border-color:#f9a8d4;background:#fff7fb}.cashier-available-slot .status-pill{font-size:10px}.status-pill.available{background:#dcfce7;color:#166534}.status-pill.reserved{background:#fef3c7;color:#92400e}.status-pill.occupied{background:#fee2e2;color:#991b1b}.status-pill.overtime{background:#fce7f3;color:#9d174d}
 .cashier-available-slots-panel{margin-top:22px}.cashier-available-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cashier-available-slot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.cashier-available-slot div{display:grid;gap:4px}.cashier-available-slot strong{font-size:18px;color:var(--text)}.cashier-available-slot span{font-size:12px;color:var(--muted)}.cashier-available-slot b{font-size:12px;color:#166534;white-space:nowrap}@media(max-width:900px){.cashier-available-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cashier-available-slot-grid{grid-template-columns:1fr}}
 .customer-alert{display:flex;align-items:flex-start;gap:12px;margin:0 0 22px;padding:16px 18px;border:1px solid;border-radius:12px;box-shadow:0 8px 20px rgba(15,23,42,.06)}.customer-alert strong{display:block;min-width:175px}.customer-alert span{line-height:1.5}.customer-alert-warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.customer-alert-danger{color:#991b1b;background:#fef2f2;border-color:#ef4444}@media(max-width:650px){.customer-alert{display:block}.customer-alert strong{margin-bottom:6px}}
 .customer-booking-hours{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:15px 18px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a}.customer-booking-hours.closed{border-color:#fcd34d;background:#fffbeb;color:#92400e}.customer-booking-hours-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:#2563eb;color:#fff;font-weight:800}.customer-booking-hours.closed .customer-booking-hours-icon{background:#d97706}.customer-booking-hours div:last-child{display:grid;gap:3px}.customer-booking-hours span{color:#475569;line-height:1.5}.customer-booking-hours .booking-time{color:#1d4ed8;font-weight:900;white-space:nowrap}.customer-booking-hours.closed .booking-time{color:#b45309}@media(max-width:650px){.customer-booking-hours{align-items:flex-start}}

.side-brand .brand-mark {
	width: 48px;
	height: 48px;
	padding: 3px;
	border-radius: 50%;
	object-fit: contain;
	background: var(--blue);
}
.parking-panel-head{border-bottom:0;padding-bottom:12px}.parking-search-row{display:flex;justify-content:center;padding:12px 24px 20px;border-bottom:1px solid var(--line)}.parking-search-row input{box-sizing:border-box;width:min(325px,100%);height:55px;padding:0 19px;border:1px solid #d5dfed;border-radius:14px;outline:none;background:#fff;color:var(--text);font:inherit;font-size:16px}.parking-search-row input::placeholder{color:#667085;opacity:1}.parking-search-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.parking-filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px}.parking-filter{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;color:var(--text);cursor:pointer;font-weight:700}.parking-filter.active{border-color:var(--blue);background:#eff6ff;color:var(--blue)}.admin-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:20px}.admin-slot-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.admin-slot-card-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-slot-card-heading strong{font-size:24px;line-height:1.15}.admin-slot-card-heading .status-pill{flex:none;padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800;text-transform:capitalize}.admin-slot-card-type{grid-column:1/-1;color:var(--muted);font-size:14px;font-weight:700}.admin-slot-card-details{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.admin-slot-card-details div{display:grid;gap:7px;min-width:0}.admin-slot-card-details span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.admin-slot-card-details strong{font-size:14px;overflow-wrap:anywhere}.admin-slot-card .small-btn{grid-column:1/-1;width:100%;padding:12px;background:#fee2e2;color:#991b1b;font-size:15px}.parking-empty{grid-column:1/-1;padding:24px;color:var(--muted);text-align:center}.parking-toolbar .parking-search{width:min(260px,100%);padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;background:#0b1220;color:#c7d0df;position:fixed;inset:0 auto 0 0;padding:22px 15px;z-index:30}.side-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:20px;padding:5px 10px 25px}.side-brand .brand-mark{flex:none}.side-section{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#64748b;font-weight:800;padding:15px 11px 7px}.side-link{width:100%;border:0;background:none;color:#aeb9ca;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer;font-weight:600;display:flex;gap:10px;align-items:center}.side-link:hover,.side-link.active{background:#18243a;color:#fff}.main-area{margin-left:245px;min-width:0;flex:1}.dash-top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:15}.dash-title{font-size:19px;font-weight:800}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#eaf1ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.page{padding:28px}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.welcome h1{margin:0 0 5px;font-size:28px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.stat-card .label{color:var(--muted);font-size:13px}.stat-card .value{font-size:28px;font-weight:900;margin-top:7px}.stat-card .sub{font-size:12px;color:var(--muted);margin-top:6px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h3{margin:0;font-size:16px}.panel-body{padding:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid #edf0f4;text-align:left;font-size:13px;vertical-align:middle}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#667085;background:#fafbfc}.data-table tr:last-child td{border-bottom:0}.actions{display:flex;gap:6px;flex-wrap:wrap}.small-btn{padding:7px 10px;border-radius:7px;border:0;cursor:pointer;font-size:12px;font-weight:800}.filter-row{display:flex;gap:10px;flex-wrap:wrap}.filter-row input,.filter-row select{padding:9px 11px;border:1px solid var(--line);border-radius:8px}.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:20px}.profile-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;text-align:center}.big-avatar{width:80px;height:80px;border-radius:50%;background:#eaf1ff;color:var(--blue);font-size:28px;font-weight:900;display:grid;place-items:center;margin:0 auto 12px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bar-list{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:80px 1fr 90px;gap:10px;align-items:center;font-size:12px}.bar{height:10px;border-radius:99px;background:#e8eef8;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:99px}.receipt{max-width:720px;margin:auto;border:1px dashed #cfd6e0;padding:30px;background:#fff}.receipt-head{text-align:center;border-bottom:1px dashed #cfd6e0;padding-bottom:18px;margin-bottom:18px}.receipt-row{display:flex;justify-content:space-between;padding:8px 0}.receipt-total{font-size:20px;font-weight:900;border-top:1px solid var(--line);margin-top:10px;padding-top:14px}.notice{padding:12px 14px;background:#eff6ff;color:#1e40af;border-radius:9px;font-size:13px}
.activity-search{width:min(420px,100%);box-sizing:border-box;padding:10px 13px;border:1px solid var(--line);border-radius:9px;outline:none}
.profile-grid{align-items:start}
.profile-card.profile-detail-card{padding:0;text-align:left;overflow:hidden}
.profile-card.profile-detail-card .profile-detail-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);font-size:17px;font-weight:800}
.profile-detail-card .profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
.profile-detail-card .profile-form label{display:grid;gap:7px;min-width:0;color:#475569;font-size:13px;font-weight:700}
.profile-detail-card .profile-form input,.profile-detail-card .profile-form select{width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid #d7e0ec;border-radius:9px;background:#fff;color:#172033;font:inherit}
.profile-detail-card .profile-form input:disabled,.profile-detail-card .profile-form select:disabled{background:#f8fafc;color:#64748b}
.profile-detail-card .profile-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:4px}
.profile-detail-card .profile-submit,.profile-detail-card .profile-cancel,.profile-detail-card .profile-edit{padding:10px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}
.profile-detail-card .profile-submit{border:0;background:var(--blue);color:#fff}
.profile-detail-card .profile-submit:disabled{opacity:.55;cursor:not-allowed}
.profile-detail-card .profile-cancel{border:1px solid var(--line);background:#fff;color:#475569}
.profile-detail-card .profile-edit{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}
.profile-card .big-avatar{margin-bottom:16px}
.profile-card h2{margin:0 0 7px;font-size:21px}
.profile-card .notice{margin:14px 0;background:#eff6ff;color:#1d4ed8}
@media(max-width:700px){.profile-detail-card .profile-form{grid-template-columns:1fr;padding:18px}.profile-card.profile-detail-card .profile-detail-title{padding:16px 18px}.profile-detail-card .profile-actions{grid-column:auto}.profile-grid{grid-template-columns:1fr}}
.admin-dashboard .welcome{margin-bottom:20px}
.admin-dashboard .welcome h1{font-size:29px}
.admin-overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.admin-overview-cards .stat-card{min-width:0;padding:21px 20px;background:rgba(255,255,255,.97)}
.admin-overview-cards .stat-card .value{font-size:29px;white-space:nowrap}
.admin-overview-cards .stat-card .sub{margin-top:7px}
.admin-dashboard-lower{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}
.admin-dashboard-lower .panel{background:rgba(255,255,255,.97)}
.admin-dashboard-lower .panel-head{padding:18px 20px}
.admin-status-list{display:grid;gap:8px}
.admin-status-row{display:grid;grid-template-columns:82px minmax(0,1fr) 24px;gap:10px;align-items:center;font-size:12px}
.admin-status-row strong{text-align:right}
.admin-status-track{height:11px;overflow:hidden;border-radius:99px;background:#e8eef8}
.admin-status-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#06b6d4)}
.admin-quick-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:9px}
@media(max-width:1200px){.admin-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-lower{grid-template-columns:1fr}}
@media(max-width:560px){.admin-overview-cards{grid-template-columns:1fr}.admin-dashboard .welcome h1{font-size:24px}.admin-status-row{grid-template-columns:70px minmax(0,1fr) 22px}.admin-quick-actions{display:grid}.admin-quick-actions .btn{width:100%}}
.panel-head.parking-panel-head{padding:18px 24px;border-bottom:1px solid var(--line)}
.parking-panel-head .parking-search{box-sizing:border-box;width:min(255px,45%);height:51px;padding:0 14px;border:1px solid #d9e1ec;border-radius:10px;outline:none;background:#fff;color:var(--text);font:inherit;font-size:16px}
.parking-panel-head .parking-search::placeholder{color:#667085;opacity:1}
.parking-panel-head .parking-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
@media(max-width:650px){.panel-head.parking-panel-head{align-items:stretch;flex-direction:column}.parking-panel-head .parking-search{width:100%}}
