/* ===== GLOBAL UTILITIES & BASE START ===== */
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:#f1f5f9;color:#0f172a}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}table{border-collapse:collapse}input,select,textarea{border:1px solid #cbd5e1;padding:.55rem .75rem;background:#fff;color:#0f172a;border-radius:.4rem}input:focus,select:focus,textarea:focus{outline:2px solid #bae6fd;border-color:#0284c7}.min-h-screen{min-height:100vh}.grid{display:grid}.flex{display:flex}.block{display:block}.inline{display:inline}.hidden{display:none}.min-w-0{min-width:0}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.min-w-full{min-width:100%}.h-full{height:100%}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.text-left{text-align:left}.text-right{text-align:right}.overflow-x-auto{overflow-x:auto}.mt-auto{margin-top:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px;border-style:solid}.border-t{border-top:1px solid}.border-b{border-bottom:1px solid}.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}.border-white\/10{border-color:rgba(255,255,255,.1)}.bg-white{background:#fff}.bg-white\/95{background:rgba(255,255,255,.95)}.bg-white\/5{background:rgba(255,255,255,.05)}.bg-slate-100{background:#f1f5f9}.bg-slate-950{background:#020617}.bg-amber-500{background:#f59e0b}.bg-emerald-50{background:#ecfdf5}.border-emerald-200{border-color:#a7f3d0}.text-white{color:#fff}.text-slate-950{color:#020617}.text-slate-900{color:#0f172a}.text-slate-600{color:#475569}.text-slate-500{color:#64748b}.text-slate-300{color:#cbd5e1}.text-slate-200{color:#e2e8f0}.text-sky-700{color:#0369a1}.text-red-600{color:#dc2626}.text-emerald-700{color:#047857}.text-emerald-800{color:#065f46}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.shadow-sm{box-shadow:0 1px 2px rgba(15,23,42,.08)}.divide-y>*+*{border-top:1px solid}.divide-slate-100>*+*{border-color:#f1f5f9}.divide-slate-200>*+*{border-color:#e2e8f0}.hover\:bg-white\/10:hover{background:rgba(255,255,255,.1)}.w-fit{width:fit-content}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid{display:grid}.lg\:grid-cols-\[17rem_1fr\]{grid-template-columns:17rem 1fr}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}}
@media (min-width:1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[24rem_1fr\]{grid-template-columns:24rem 1fr}}
.erp-body aside{min-height:100vh}.erp-body main{min-height:100vh;min-width:0}.erp-body table th,.erp-body table td{padding:.65rem .75rem}.erp-body form label{line-height:1.35}.erp-body .pagination,.erp-body nav[role=navigation]{font-size:.875rem;display:flex;align-items:center}
.erp-body svg:not(.fc-sparkline svg):not(.rep-line-chart svg):not(.rep-info-icon svg):not(.occ-ring-svg):not(.cal-nav-sm svg):not(.metric-icon svg):not(.inv-stat-icon svg):not(.inv-item-logo svg):not(.rep-filter-btn svg):not(.rep-export-btn svg){max-width:1.25rem;max-height:1.25rem}
/* ===== GLOBAL UTILITIES & BASE END ===== */

/* ===== AUTH PAGE START ===== */
.auth-page{min-height:100vh;background:radial-gradient(circle at 16% 10%,#fff 0,#f8fafc 34%,#eef2f7 100%);color:#111827}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2.5rem 1.25rem 2rem}.auth-card-split{width:min(100%,62rem);min-height:0;display:grid;grid-template-columns:1fr 1.15fr;background:#fff;border:1px solid #e5e7eb;border-radius:1.15rem;box-shadow:0 24px 65px rgba(15,23,42,.13);overflow:hidden}.auth-art{background:#111c2b;display:grid;place-items:center;position:relative;overflow:hidden;min-height:28rem}.auth-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,15,26,.25),rgba(8,15,26,.55));pointer-events:none}.auth-art-content{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center}.auth-art img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.auth-art-overlay{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:2rem 1.5rem}.auth-brand-icon{width:5rem;height:3.75rem;margin-bottom:.5rem;max-width:none!important;max-height:none!important}.auth-brand-title{margin:0;font-size:1.65rem;font-weight:800;color:#fff;letter-spacing:.18em;text-transform:uppercase;line-height:1.1}.auth-brand-subtitle{margin:0;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.35em;text-transform:uppercase}.auth-brand-divider{display:flex;align-items:center;gap:.65rem;margin:.35rem 0}.auth-brand-divider span{width:3.5rem;height:1px;background:linear-gradient(90deg,transparent,#d4a853)}.auth-brand-divider span:last-child{background:linear-gradient(90deg,#d4a853,transparent)}.auth-brand-tagline{margin:0;font-size:.85rem;color:rgba(255,255,255,.65);line-height:1.55;font-weight:400}.auth-form-panel{display:grid;place-items:center;background:rgba(255,255,255,.96);padding:2.25rem 2.5rem}.auth-form-wrap{width:min(100%,24rem)}.auth-form-wrap h1{margin:0;color:#111827;font-size:1.75rem;line-height:1.15;font-weight:800;letter-spacing:-.01em}.auth-lead{margin:.4rem 0 1.65rem;color:#6b7280;font-size:.92rem}.auth-form{display:grid;gap:1.1rem}.auth-field{display:grid;gap:.45rem;color:#374151;font-size:.88rem;font-weight:700}.auth-control{min-height:3.15rem;display:flex;align-items:center;gap:.7rem;border:1px solid #d8dee8;border-radius:.5rem;background:#fff;padding:0 .85rem;box-shadow:0 2px 6px rgba(15,23,42,.03)}.auth-control svg{width:1.15rem;height:1.15rem;flex:0 0 auto;fill:none;stroke:#94a3b8;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;max-width:none!important;max-height:none!important}.auth-control input{width:100%;height:3rem;border:0;padding:0;background:transparent;color:#111827;font-size:.92rem}.auth-control input:focus{outline:0;border:0}.auth-control:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.14)}.auth-password button{width:2.15rem;height:2.15rem;display:grid;place-items:center;border:0;background:transparent;color:#94a3b8;padding:0;cursor:pointer;border-radius:.3rem;transition:color .15s}.auth-password button:hover{color:#475569}.auth-password button svg{width:1.15rem;height:1.15rem}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:0;color:#667085;font-size:.88rem}.auth-row a,.auth-contact a{color:#0b65b9;font-weight:600}.remember{display:flex;align-items:center;gap:.55rem;font-weight:500}.remember input{width:1.05rem;height:1.05rem;border:1px solid #d1d5db;border-radius:.25rem;padding:0;accent-color:#0d1828}.auth-submit{min-height:3.15rem;margin-top:.35rem;border:0;border-radius:.5rem;background:linear-gradient(135deg,#111c2b,#0d1828);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.18);transition:background .15s,box-shadow .15s}.auth-submit:hover{background:linear-gradient(135deg,#0d1828,#08111f);box-shadow:0 12px 28px rgba(15,23,42,.25)}.auth-divider{display:flex;align-items:center;gap:.85rem;margin:1.35rem 0 1.15rem;color:#9ca3af;font-size:.88rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e5e7eb}.auth-contact{text-align:center;color:#6b7280;font-size:.88rem;margin:0}.auth-footer{margin-top:1.75rem;color:#9ca3af;text-align:center;font-size:.85rem}.error{color:#dc2626;font-size:.78rem;font-weight:500}.auth-page .text-red-600{color:#dc2626}
/* ===== AUTH PAGE END ===== */

/* ===== CORE ERP LAYOUT & DASHBOARD START ===== */
.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.pt-4{padding-top:1rem}.erp-shell{background:#f4f6fa}.erp-sidebar{background:linear-gradient(180deg,#101d2e,#081421);box-shadow:8px 0 26px rgba(15,23,42,.18)}.sidebar-brand{height:7rem;display:grid;place-items:center;overflow:hidden}.sidebar-brand img{width:100%;height:100%;object-fit:contain}.erp-nav a{min-height:2.7rem;display:flex;align-items:center;border:1px solid transparent}.erp-nav a.bg-amber-500{background:linear-gradient(135deg,#e4bd75,#bd8e49);color:#fff;box-shadow:0 12px 24px rgba(189,142,73,.22)}.sidebar-bottom{color:#e2e8f0}.erp-topbar{min-height:4.6rem;box-shadow:0 1px 9px rgba(15,23,42,.08)}.topbar-title,.topbar-right,.today,.topbar-user{display:flex;align-items:center}.topbar-title{gap:1.25rem}.menu-lines{width:1.2rem;height:.9rem;display:inline-block;border-top:2px solid #334155;border-bottom:2px solid #334155;position:relative}.menu-lines:after{content:"";position:absolute;left:0;right:0;top:.33rem;border-top:2px solid #334155}.topbar-right{gap:1.4rem}.today{gap:.65rem;color:#334155;font-size:.9rem}.today svg{width:1.15rem;height:1.15rem;fill:none;stroke:#334155;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar-user{gap:.75rem;padding-left:1.4rem;border-left:1px solid #e5e7eb}.avatar{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:999px;background:#24344f;color:#fff;font-weight:800}.topbar-user strong{display:block;font-size:.9rem}.topbar-user small{display:block;color:#64748b;font-size:.75rem}.dashboard-page{display:grid;gap:1.25rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.metric-card,.dash-panel,.finance-card{background:#fff;border:1px solid #e3e8f0;border-radius:.65rem;box-shadow:0 8px 22px rgba(15,23,42,.08)}.metric-card{min-height:7.75rem;display:flex;align-items:center;gap:1.1rem;padding:1.1rem}.metric-card span,.finance-card span{display:block;color:#334155;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.metric-card strong{display:block;margin:.35rem 0;font-size:1.85rem;line-height:1;font-weight:800}.metric-card small,.finance-card small{display:block;color:#64748b}.metric-card a{color:#0b65b9}.metric-icon{width:4.2rem;height:4.2rem;display:grid;place-items:center;border-radius:.65rem;flex:0 0 auto}
.metric-icon svg{width:2rem!important;height:2rem!important;max-width:none!important;max-height:none!important;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.metric-blue{background:#e8f3ff;color:#2d87dd}.metric-green{background:#e8f8ee;color:#22a55f}.metric-gold{background:#fff4d8;color:#c6860a}.metric-purple{background:#f1eaff;color:#7a4bd8}.positive{color:#16a34a!important}.negative{color:#dc2626!important}.warning{color:#c6860a!important}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(26rem,1.03fr);gap:1.25rem}.dash-panel{padding:0;overflow:hidden}.panel-title-row{min-height:3.65rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e5e7eb}.panel-title-row h2{margin:0;font-size:1.05rem}.panel-title-row a{padding:.45rem .75rem;border:1px solid #d7dce4;border-radius:.4rem;color:#334155;font-size:.85rem}.calendar-actions{display:flex;align-items:center;gap:.5rem}.calendar-actions span{min-width:7.2rem;text-align:center;padding:.5rem .75rem;border:1px solid #d7dce4;border-radius:.4rem;font-weight:700;font-size:.85rem}.calendar-actions button{width:2rem;height:2rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#334155;font-size:1.25rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 1.05rem 0}.calendar-head{padding:.75rem .25rem;text-align:center;color:#475569;font-size:.8rem;font-weight:800;text-transform:uppercase;border-bottom:1px solid #e5e7eb}.calendar-day{min-height:3.55rem;display:grid;place-items:center;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day.muted{color:#94a3b8}.calendar-day.today .day-pill{outline:2px solid #2d87dd;outline-offset:2px}.day-pill{min-width:3rem;min-height:2.25rem;display:grid;place-items:center;border-radius:.45rem;font-weight:800;position:relative}.day-pill:after{content:"";width:.28rem;height:.28rem;border-radius:50%;position:absolute;bottom:.28rem;background:currentColor}.day-pill.available{background:#e8f8ee;color:#18824f}.day-pill.booked{background:#ffe2e5;color:#c51628}.day-pill.tentative{background:#fff2c8;color:#a56c00}.calendar-day.muted .day-pill{background:transparent;color:#94a3b8}.calendar-day.muted .day-pill:after{display:none}.calendar-legend{display:flex;justify-content:center;gap:2rem;padding:1rem;color:#64748b;font-size:.9rem}.calendar-legend span{display:flex;align-items:center;gap:.5rem}.calendar-legend i{width:1.05rem;height:.75rem;border-radius:.25rem}.calendar-legend .booked{background:#ffc7cc}.calendar-legend .tentative{background:#ffe28a}.calendar-legend .available{background:#9ee5b8}.dashboard-table-wrap{overflow-x:auto;padding:0 1.05rem 1.1rem}.dashboard-table{width:100%;font-size:.88rem}.dashboard-table th{color:#475569;font-size:.78rem;font-weight:800}.dashboard-table th,.dashboard-table td{padding:.92rem .75rem;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}.status-badge{display:inline-flex;min-width:4.9rem;justify-content:center;padding:.45rem .65rem;border-radius:.45rem;font-weight:700;font-size:.78rem}.status-badge.confirmed,.status-badge.scheduled,.status-badge.completed{background:#dcf8e6;color:#15834e}.status-badge.pending{background:#ffe0e4;color:#b61220}.status-badge.tentative{background:#fff4d6;color:#a56c00}.status-badge.cancelled,.status-badge.void{background:#fee2e2;color:#b91c1c}.money-due{color:#dc2626;font-weight:800}.money-paid{color:#16a34a;font-weight:800}.empty-cell{text-align:center!important;color:#64748b;padding:2rem!important}.finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.finance-card{min-height:8.2rem;padding:1.2rem;display:grid;gap:.65rem}.finance-card strong{font-size:1.45rem}.occupancy-card{display:flex;align-items:center;justify-content:space-between}.occupancy-ring{width:4.4rem;height:4.4rem;border-radius:50%;background:conic-gradient(#2f86dd calc(var(--value)*1%),#e5e7eb 0);position:relative}.occupancy-ring:after{content:"";position:absolute;inset:.55rem;border-radius:50%;background:#fff}.recent-panel{padding-bottom:.25rem}
/* ===== CORE ERP LAYOUT & DASHBOARD END ===== */

/* ===== DASHBOARD v2 START ===== */
.finance-card-v2{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.2rem;min-height:0}
.fc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.15rem}
.fc-top span{font-size:.82rem;font-weight:500;color:#475569;text-transform:none;letter-spacing:0}
.fc-top em{font-style:normal;font-weight:400;color:#94a3b8}
.fc-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}
.fc-badge-up{background:#dcfce7;color:#15803d}
.fc-badge-down{background:#fee2e2;color:#b91c1c}
.finance-card-v2 strong{font-size:1.45rem;font-weight:800;color:#0f172a;line-height:1.15;margin:.1rem 0}
.fc-sparkline{width:100%;height:2.75rem;overflow:hidden;margin:.15rem 0}
.fc-sparkline svg{display:block;width:100%!important;height:2.75rem!important;max-width:none!important;max-height:none!important}
.finance-card-v2 small{font-size:.78rem;font-weight:600;margin-top:.1rem}
.occ-body{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex:1}
.occ-ring-wrap{flex:0 0 auto}
.occ-ring-svg{width:4rem!important;height:4rem!important;max-width:none!important;max-height:none!important;display:block}

/* ===== DASHBOARD v2 — Calendar nav ===== */
.cal-month-picker{display:flex;align-items:center;gap:.4rem}
.cal-month-text{font-size:.875rem;font-weight:700;color:#334155;min-width:7rem;text-align:center}
.cal-nav-sm{width:1.9rem;height:1.9rem;display:grid;place-items:center;border:1px solid #d7dce4;border-radius:.35rem;background:#fff;cursor:pointer}
.cal-nav-sm svg{width:.85rem!important;height:.85rem!important;max-width:none!important;max-height:none!important}
/* ===== DASHBOARD v2 END ===== */

/* ===== SIDEBAR LOGO START ===== */
.sidebar-brand{height:5.5rem;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;overflow:hidden;text-decoration:none}
.sidebar-brand img{width:auto;height:100%;max-height:4rem;object-fit:contain;display:block}
/* ===== SIDEBAR LOGO END ===== */

/* ===== RESPONSIVE FIXES & FORMS START ===== */
@media (max-width:1180px){.metric-grid,.finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.topbar-right{display:none}}
@media (max-width:760px){.metric-grid,.finance-grid{grid-template-columns:1fr}.calendar-day{min-height:2.7rem}.day-pill{min-width:2.25rem;min-height:1.9rem}.sidebar-brand{height:5.5rem}}
.erp-card{background:#fff;border:1px solid #e3e8f0;border-radius:.65rem;box-shadow:0 8px 22px rgba(15,23,42,.08)}.form-page{padding:1.55rem}.form-page h2,.form-page h3{margin:.05rem 0 1.25rem}.form-page hr,.calendar-side hr{border:0;border-top:1px solid #e5e7eb;margin:1.55rem 0}.form-grid{display:grid;gap:1.35rem 1.55rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.inquiry{grid-template-columns:minmax(0,1fr) 24rem}.form-grid label{display:grid;gap:.55rem;font-weight:600;color:#111827}.form-grid b,.form-page b{color:#dc2626}.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select,.panel-title-row select,.calendar-toolbar select{min-height:2.9rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;color:#334155;width:100%}.form-grid textarea{min-height:4.2rem}.form-grid .wide{grid-column:1/-1}.side-fields{display:grid;gap:1.35rem}.info-line{padding:.85rem 1rem;border:1px solid #bfdbfe;border-radius:.45rem;background:#eff6ff;color:#1e3a8a;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.35rem}.btn-dark,.btn-gold,.btn-outline{min-height:2.8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.45rem;padding:0 1.35rem;font-weight:700;white-space:nowrap;flex-shrink:0;gap:.5rem;font-size:.875rem;line-height:1;}.btn-dark{border:0;background:#0d1828;color:#fff}.btn-gold{border:0;background:linear-gradient(135deg,#d7ad68,#bd8f49);color:#fff}.btn-outline{border:1px solid #d7dce4;background:#fff;color:#0f172a !important;text-decoration:none !important}.check{display:flex!important;grid-auto-flow:column;align-items:center;margin-right:auto}.calendar-layout,.billing-layout,.receipt-layout{display:grid;gap:1.25rem}.calendar-layout{grid-template-columns:minmax(0,1fr) 22rem}.billing-layout{grid-template-columns:minmax(0,1fr) 29rem}.receipt-layout{grid-template-columns:minmax(0,1fr) 34rem}.booking-calendar-page{padding:1rem}.calendar-toolbar{display:flex;align-items:center;gap:.65rem;margin:1rem 0 1.4rem}.calendar-toolbar button,.calendar-toolbar select{min-height:2.45rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .9rem}.calendar-toolbar strong{font-size:1.45rem}.toolbar-spacer{flex:1}.calendar-grid.large{padding:0;border:1px solid #e5e7eb;border-radius:.45rem;overflow:hidden}.large-day{min-height:7rem;justify-items:start;align-content:start;padding:.8rem;gap:.55rem}.large-day b{font-size:.95rem}.calendar-event{width:100%;display:grid;gap:.15rem;border-radius:.4rem;padding:.55rem .6rem;font-size:.8rem;font-weight:800}.calendar-event small{font-weight:600}.calendar-event.available{background:#e8f8ee;color:#15834e}.calendar-event.confirmed,.calendar-event.completed{background:#ffe2e5;color:#8f101d}.calendar-event.pending{background:#fff4d6;color:#a56c00}.calendar-side{padding:1.35rem}.legend-list{display:grid;gap:1rem}.legend-list span{display:flex;gap:.75rem;align-items:center}.legend-list i{width:1.05rem;height:1.05rem;border-radius:.25rem}.mini-event{display:grid;grid-template-columns:3rem 1fr auto;gap:.85rem;align-items:center;padding:1rem 0;border-bottom:1px solid #edf0f5}.mini-event strong{display:grid;place-items:center;border-radius:.4rem;background:#f1f5f9;padding:.35rem}.mini-event strong small,.mini-event span small{display:block;color:#64748b}.mini-event em{font-style:normal;border-radius:.35rem;padding:.35rem .6rem;font-size:.78rem}.mini-event em.confirmed{background:#dcf8e6;color:#15834e}.mini-event em.pending{background:#fff4d6;color:#a56c00}.invoice-panel{overflow:hidden}.invoice-section{padding:1.2rem;border-top:1px solid #e5e7eb}.invoice-section:first-of-type{border-top:0}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem}.details-grid p{display:grid;grid-template-columns:10rem 1fr;margin:0}.details-grid span{color:#475569}.inline-form{display:grid;grid-template-columns:1fr 10rem auto;gap:.7rem;margin-top:1rem}.bill-summary,.receipt-preview{padding:1.35rem}.bill-summary p{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f5;margin:0;padding:1rem 0}.bill-summary .grand{background:#eff6ff;color:#0b65b9;margin:.7rem -.4rem;padding:1rem .4rem;border-radius:.4rem}.balance-box{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding:1.2rem;border-radius:.45rem;background:#dcf8e6;color:#166534}.balance-box strong{font-size:1.35rem}.bill-summary .btn-dark,.bill-summary .btn-outline{width:100%;margin:.45rem 0}.receipt-paper{border:1px dashed #cbd5e1;border-radius:.45rem;padding:1.35rem}.receipt-paper em{float:right;background:#0d1828;color:#fff;border-radius:.25rem;padding:.35rem .6rem;font-style:normal;font-size:.75rem}.receipt-paper table{width:100%;margin:1rem 0;border:1px solid #d7dce4}.receipt-paper th,.receipt-paper td{padding:.7rem;border:1px solid #d7dce4;text-align:left}
@media (max-width:1180px){.form-grid.three,.billing-layout,.receipt-layout,.calendar-layout{grid-template-columns:1fr}.form-grid.inquiry{grid-template-columns:1fr}}
@media (max-width:720px){.form-grid.two,.form-grid.three,.details-grid,.inline-form{grid-template-columns:1fr}.details-grid p{grid-template-columns:1fr}.large-day{min-height:5rem}.form-actions{flex-wrap:wrap;justify-content:flex-start}}
.booking-list-page{overflow:hidden}.table-filters{display:grid;grid-template-columns:minmax(18rem,1fr) 11rem 12rem 12rem auto;gap:1rem;align-items:end;padding:1rem 1.15rem}.table-filters label{display:grid;gap:.45rem;color:#334155;font-size:.82rem;font-weight:800}.table-filters input,.table-filters select{min-height:3rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff}.table-footer{padding:1rem 1.15rem;color:#64748b;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.875rem}.link-blue{color:#0b65b9;font-weight:800}.action-icons{display:flex;gap:.45rem;align-items:center}
.action-icons a,.action-icons button{display:inline-flex;min-height:2.1rem;align-items:center;justify-content:center;border:1px solid #d7dce4;border-radius:.4rem;padding:0 .65rem;color:#334155;font-size:.8rem;background:#fff;cursor:pointer;text-decoration:none}
.action-icons a:hover,.action-icons button:hover{background:#f1f5f9}
@media (max-width:1100px){.table-filters{grid-template-columns:1fr 1fr}.table-filters .btn-dark{width:fit-content}}
@media (max-width:720px){.table-filters{grid-template-columns:1fr}.table-filters .btn-dark{width:100%}}
@media (max-width:900px){.auth-card-split{grid-template-columns:1fr;min-height:0;max-width:28rem}.auth-art{min-height:14rem}.auth-art-overlay{padding:1.25rem 1rem}.auth-brand-icon{width:3.5rem;height:2.5rem;margin-bottom:.25rem}.auth-brand-title{font-size:1.25rem}.auth-brand-subtitle{font-size:.68rem}.auth-brand-tagline{font-size:.78rem}.auth-form-panel{padding:1.75rem 2rem}.auth-shell{padding:1.25rem}.auth-form-wrap h1{font-size:1.5rem}}
@media (max-width:520px){.auth-art{display:none}.auth-card-split{border-radius:.9rem;max-width:100%}.auth-form-panel{padding:1.35rem}.auth-row{align-items:flex-start;flex-direction:column}.auth-control{min-height:2.85rem}.auth-control input{height:2.65rem}.auth-submit{min-height:2.85rem}.auth-footer{font-size:.8rem}}
/* ===== RESPONSIVE FIXES & FORMS END ===== */

/* ===== SIDEBAR v2 START ===== */
.nav-link{min-height:2.65rem;display:flex;align-items:center;gap:.7rem;border-radius:.45rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#cbd5e1;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s;text-decoration:none;background:none;width:100%;text-align:left}
.nav-link svg{width:1.1rem;height:1.1rem;flex:0 0 auto;opacity:.75}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-link-active{background:linear-gradient(135deg,#e4bd75,#bd8e49)!important;color:#fff!important;box-shadow:0 8px 18px rgba(189,142,73,.25);border-color:transparent}
.nav-link-active svg{opacity:1}
.nav-logout{color:#f87171}
.nav-logout:hover{background:rgba(248,113,113,.12)}
.nav-group{display:grid;gap:0;position:relative}
.nav-group-toggle{justify-content:flex-start}
.nav-chevron{width:.9rem!important;height:.9rem!important;margin-left:auto;transition:transform .2s;flex:0 0 auto}
.nav-chevron.open{transform:rotate(180deg)}
.nav-sub{display:none;padding-left:2.1rem;gap:.15rem;flex-direction:column}
.nav-sub.open{display:flex}
.nav-sub-link{display:block;padding:.45rem .75rem;border-radius:.35rem;font-size:.82rem;font-weight:500;color:#94a3b8;text-decoration:none;transition:background .12s,color .12s}
.nav-sub-link:hover{background:rgba(255,255,255,.07);color:#e2e8f0}
.nav-sub-link.active{background:rgba(30,58,95,.9);color:#fff!important;font-weight:600}
.sidebar-user-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .5rem;overflow:hidden;white-space:nowrap}
.sidebar-user-card .avatar{width:2.2rem;height:2.2rem;font-size:.85rem}

.sidebar-bottom {
    color: #e2e8f0;
    margin-top: auto;
    padding: 1rem 0.75rem;
    border-top: 1px solid rgba(255,255,255,.07);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    overflow: hidden;
    white-space: nowrap;
}
/* ===== SIDEBAR v2 END ===== */

/* ===== PAGE HEADER ROW START ===== */
.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.page-title{margin:0;font-size:1.35rem;font-weight:800;color:#0f172a}
.page-subtitle{margin:.2rem 0 0;font-size:.875rem;color:#64748b}
/* ===== PAGE HEADER ROW END ===== */

/* ===== FILTER BAR START ===== */
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.15rem}
.filter-search{display:flex;align-items:center;gap:.6rem;flex:1;min-width:16rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .85rem;min-height:2.75rem}
.filter-search svg{width:1rem;height:1rem;color:#94a3b8;flex:0 0 auto}
.filter-search input{border:0;padding:0;background:transparent;flex:1;min-height:2.5rem;font-size:.875rem}
.filter-search input:focus{outline:0}
.filter-selects{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.filter-selects select,.filter-selects input[type=date]{min-height:2.75rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .75rem;font-size:.875rem;color:#334155}
.date-input-wrap{display:flex;align-items:center;gap:.5rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .75rem;min-height:2.75rem}
.date-input-wrap svg{width:.95rem;height:.95rem;color:#94a3b8;flex:0 0 auto}
.date-input-wrap input{border:0;padding:0;background:transparent;min-height:2.5rem;font-size:.875rem;color:#334155}
.date-input-wrap input:focus{outline:0}
.btn-filter{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1.1rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;color:#334155;font-size:.875rem;font-weight:600;cursor:pointer}
.btn-filter svg{width:.95rem;height:.95rem}
.btn-filter:hover{background:#f8fafc}
/* ===== FILTER BAR END ===== */

/* ===== MODAL START ===== */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:50;display:grid;place-items:center;padding:1.25rem}
.modal-box{background:#fff;border-radius:.75rem;box-shadow:0 24px 60px rgba(15,23,42,.22);width:min(100%,38rem);max-height:90vh;overflow-y:auto}
.modal-lg{width:min(100%,52rem)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}
.modal-header h3{margin:0;font-size:1.05rem;font-weight:700}
.modal-close{width:2rem;height:2rem;display:grid;place-items:center;border:0;background:transparent;font-size:1.4rem;color:#64748b;cursor:pointer;border-radius:.35rem}
.modal-close:hover{background:#f1f5f9}
.modal-body{padding:1.5rem}
/* ===== MODAL END ===== */

/* ===== ACTION BUTTONS START ===== */
.action-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#334155;cursor:pointer}
.action-btn svg{width:1rem;height:1rem}
.action-btn:hover{background:#f1f5f9}
.action-btn-danger{color:#dc2626;border-color:#fecaca}
.action-btn-danger:hover{background:#fef2f2}
/* ===== ACTION BUTTONS END ===== */

/* ===== TABLE ROW DROPDOWN START ===== */
.dropdown-wrap{position:relative;display:inline-flex}
.dropdown-wrap .dropdown-menu{display:none;position:absolute;right:0;top:100%;margin-top:.3rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 8px 24px rgba(15,23,42,.12);min-width:11rem;z-index:30;overflow:hidden}
.dropdown-wrap:hover .dropdown-menu,.dropdown-wrap:focus-within .dropdown-menu{display:block}
.dropdown-item{display:block;width:100%;padding:.65rem 1rem;text-align:left;border:0;background:transparent;font-size:.875rem;color:#334155;cursor:pointer;text-decoration:none;white-space:nowrap}
.dropdown-item:hover{background:#f8fafc;color:#0f172a}
/* ===== TABLE ROW DROPDOWN END ===== */

/* ===== CATEGORY BADGES START ===== */
.cat-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:.35rem;font-size:.78rem;font-weight:700}
.cat-event{background:#fce7f3;color:#9d174d}
.cat-catering{background:#fef3c7;color:#92400e}
.cat-equipment{background:#dbeafe;color:#1e40af}
.cat-services{background:#d1fae5;color:#065f46}
.cat-utilities{background:#e0e7ff;color:#3730a3}
.cat-maintenance{background:#fde8d8;color:#9a3412}
.cat-marketing{background:#f3e8ff;color:#6b21a8}
.cat-salary{background:#ecfdf5;color:#065f46}
.cat-others{background:#f1f5f9;color:#475569}
/* ===== CATEGORY BADGES END ===== */

/* ===== INVENTORY START ===== */
.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,17.5rem);gap:.85rem;align-items:start}
.inventory-main{min-width:0}
.inventory-sidebar{display:grid;gap:.75rem;min-width:0;max-width:100%;align-content:start}
.inv-sidebar-fixed{overflow:visible}
.inv-page-compact{margin-top:-.15rem}
.inv-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}
.inv-stat-card{background:#fff;border:1px solid #e3e8f0;border-radius:.55rem;box-shadow:0 4px 14px rgba(15,23,42,.06);padding:.7rem .8rem;display:flex;align-items:center;gap:.65rem}
.inv-stat-card>div>span{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b}
.inv-stat-card>div>strong{display:block;font-size:1.25rem;font-weight:800;line-height:1.1;margin:.15rem 0}
.inv-stat-card>div>small{display:block;font-size:.68rem;color:#94a3b8}
.inv-stat-icon{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.45rem;flex:0 0 auto}
.inv-stat-icon svg{width:1.15rem;height:1.15rem}
.inv-table-card{padding:0;overflow:hidden}
.inv-filter-row{padding:.75rem 1rem!important;border-bottom:1px solid #e5e7eb;margin:0!important;flex-wrap:wrap}
.inv-actions-col{flex:0 0 auto}
.inv-action-btns{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}
.inv-btn-action{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.35rem;padding:0 1rem;border:0;border-radius:.45rem;background:#0d1828;color:#fff!important;font-size:.8rem;font-weight:700;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:background .12s,box-shadow .12s;box-shadow:0 2px 6px rgba(13,24,40,.2)}
.inv-btn-action:hover{background:#1a2d45;color:#fff!important;text-decoration:none!important}
.inv-btn-action svg{width:.9rem!important;height:.9rem!important;max-width:none!important;max-height:none!important;flex:0 0 auto;stroke:#fff}
.inv-table-wrap .dashboard-table{font-size:.82rem}
.inv-table-wrap .dashboard-table th,.inv-table-wrap .dashboard-table td{padding:.55rem .65rem}
.inv-item-cell{display:flex;align-items:center;gap:.55rem;min-width:0}
.inv-items-table td:first-child{white-space:normal!important}
.inv-item-logo-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle;overflow:hidden}
.inv-item-logo-wrap.inv-item-logo-sm{width:2.15rem;height:2.15rem}
.inv-item-logo-wrap.inv-item-logo-md{width:2.4rem;height:2.4rem}
.inv-item-logo-wrap.inv-item-logo-lg{width:3.5rem;height:3.5rem}
.inv-item-logo{display:flex!important;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;font-weight:800;line-height:1;letter-spacing:.02em;border:1px solid rgba(15,23,42,.08);box-sizing:border-box}
.inv-item-logo-letter{text-transform:uppercase;user-select:none;flex-shrink:0}
.inv-item-logo-photo{object-fit:cover;background:#fff;position:absolute;inset:0;z-index:1}
.inv-item-logo-sm{width:2.15rem!important;height:2.15rem!important;min-width:2.15rem!important;min-height:2.15rem!important;font-size:.78rem!important}
.inv-item-logo-md{width:2.4rem!important;height:2.4rem!important;min-width:2.4rem!important;min-height:2.4rem!important;font-size:.82rem!important}
.inv-item-logo-lg{width:3.5rem!important;height:3.5rem!important;min-width:3.5rem!important;min-height:3.5rem!important;font-size:1.2rem!important}
.low-stock-item .inv-item-logo-wrap{flex:0 0 auto}
.low-stock-item .inv-item-logo-letter{box-shadow:0 1px 3px rgba(15,23,42,.06)}
.inv-stock-qty{font-weight:700}
.inv-stock-ok{color:#16a34a}
.inv-stock-low{color:#d97706}
.inv-stock-out{color:#dc2626}
.status-badge.inv-status-low{background:#fff4d6;color:#a56c00}
.inv-side-panel{padding:1rem;min-width:0;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.inv-categories-panel{display:flex;flex-direction:column;gap:0}
.inv-categories-panel .inv-side-title{margin-bottom:.6rem}
.inv-cat-list-scroll{max-height:11.5rem;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:.15rem;margin:0 -.1rem .75rem}
.inv-manage-cat-btn{width:100%;margin-top:auto;min-height:2.25rem;padding:0 .75rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#0f172a!important;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}
.inv-manage-cat-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.inv-side-title{font-size:.9rem;font-weight:700;margin:0;color:#0f172a;line-height:1.25}
.inv-side-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem;min-width:0}
.inv-side-title-row .inv-side-title{flex:1;min-width:0}
.inv-side-link{font-size:.75rem;font-weight:600;color:#0284c7!important;text-decoration:none;white-space:nowrap;flex-shrink:0}
.inv-side-link:hover{text-decoration:underline}
.inv-side-link-center{display:block;text-align:center;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #f1f5f9;font-size:.75rem;font-weight:600;color:#0284c7!important;text-decoration:none}
.inv-alerts-panel{display:flex;flex-direction:column;min-height:0}
.inv-alerts-scroll{flex:1;min-height:0;max-height:15rem;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:.25rem;margin:0 -.05rem}
.inv-alerts-scroll::-webkit-scrollbar,.inv-cat-list-scroll::-webkit-scrollbar{width:5px}
.inv-alerts-scroll::-webkit-scrollbar-thumb,.inv-cat-list-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.inv-alerts-empty{color:#64748b;font-size:.75rem;text-align:center;padding:.75rem 0;margin:0}
.inv-view-top{display:flex;align-items:center;gap:1rem}
.inv-view-image{width:3.5rem;height:3.5rem;border-radius:.45rem;object-fit:cover;border:1px solid #e2e8f0}
.inv-view-label{display:block;font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;margin-bottom:.15rem}
.inv-add-page{margin:-.15rem 0 0}
.inv-add-layout{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:.85rem;align-items:start}
.inv-add-main{display:grid;gap:.75rem}
.inv-add-card{padding:1rem 1.1rem}
.inv-add-side{display:grid;gap:.75rem}
.inv-stock-summary{display:grid;gap:.45rem}
.inv-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#475569}
.inv-summary-row b{color:#0f172a;font-weight:600}
.inv-summary-status{margin-top:.25rem;padding-top:.5rem;border-top:1px solid #e5e7eb}
.inv-summary-status .status-badge{min-width:auto;font-size:.72rem}
.inv-upload-zone{margin-bottom:.5rem}
.inv-upload-preview{display:flex;justify-content:center;margin-top:.65rem}
.field-hint{font-size:.68rem;color:#94a3b8;font-weight:500;margin-top:.1rem}
.inv-notes-label{position:relative}
@media (max-width:1100px){.inv-add-layout{grid-template-columns:1fr}}
/* ===== INVENTORY END ===== */

/* ===== REPORTS OVERVIEW (compact) START ===== */
.rep-page{margin:-.15rem 0 0}
.rep-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem;flex-wrap:wrap}
.rep-header .page-title{font-size:1.15rem}
.rep-header .page-subtitle{font-size:.8rem}
.rep-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rep-date-range{display:flex;align-items:center;gap:.4rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .55rem;min-height:2.35rem}
.rep-date-range svg{width:1rem;height:1rem;color:#94a3b8;flex:0 0 auto}
.rep-date-range input{border:0;padding:.35rem .25rem;background:transparent;font-size:.78rem;min-height:auto;width:7.5rem}
.rep-date-range input:focus{outline:0;box-shadow:none}
.rep-date-range span{color:#94a3b8;font-size:.78rem}
.rep-filter-btn,.rep-export-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.35rem;padding:0 .75rem;font-size:.78rem}
.rep-export-btn svg{max-width:none!important;max-height:none!important}
.rep-filter-panel{padding:.75rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.rep-filter-label{font-size:.75rem;font-weight:700;color:#475569}
.rep-presets{display:flex;gap:.4rem;flex-wrap:wrap}
.rep-presets .btn-outline{min-height:2rem;padding:0 .65rem;font-size:.75rem}
.rep-filter-hint{font-size:.72rem;color:#64748b;margin-left:auto}
.rep-metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}
.rep-metric-card{background:#fff;border:1px solid #e3e8f0;border-radius:.55rem;box-shadow:0 4px 14px rgba(15,23,42,.06);padding:.7rem .8rem;display:flex;align-items:center;gap:.65rem;min-width:0}
.rep-metric-card>div>span{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b}
.rep-metric-card>div>strong{display:block;font-size:1.15rem;font-weight:800;line-height:1.15;margin:.12rem 0}
.rep-metric-card>div>small{display:block;font-size:.65rem;color:#64748b;line-height:1.3}
.rep-trend-up{color:#16a34a!important}
.rep-trend-down{color:#dc2626!important}
.rep-teal{background:#ccfbf1;color:#0f766e}
.rep-charts-grid-2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}
.rep-charts-row{display:grid;gap:.75rem;margin-bottom:.75rem}
.rep-charts-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rep-chart-card{padding:.85rem .95rem;min-width:0}
.rep-chart-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem;flex-wrap:wrap}
.rep-chart-head h3{margin:0;font-size:.88rem;font-weight:700;color:#0f172a;display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.rep-chart-head-legend{align-items:flex-start}
.rep-info-icon{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:#f1f5f9;color:#64748b;cursor:help;flex:0 0 auto}
.rep-info-icon svg{width:.65rem!important;height:.65rem!important;max-width:none!important;max-height:none!important}
.rep-chart-pill{font-size:.68rem;font-weight:600;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;padding:.2rem .45rem;border-radius:.3rem;cursor:pointer}
.rep-chart-plot{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.35rem}
.rep-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.62rem;color:#94a3b8;text-align:right;padding:.15rem 0 1.35rem;line-height:1}
.rep-y-axis-count span{min-width:1ch}
.rep-plot-area{min-width:0;display:flex;flex-direction:column}
.rep-line-chart{position:relative;height:10rem;overflow:visible}
.rep-line-chart svg{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.rep-chart-tooltip{position:absolute;transform:translate(-50%,-100%);background:#0f172a;color:#fff;padding:.35rem .5rem;border-radius:.35rem;font-size:.62rem;line-height:1.35;white-space:nowrap;pointer-events:none;z-index:2;box-shadow:0 4px 12px rgba(15,23,42,.2)}
.rep-chart-tooltip strong{display:block;font-weight:700}
.rep-chart-tooltip span{color:#e2e8f0}
.rep-x-axis{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.62rem;color:#94a3b8;gap:.15rem}
.rep-donut-layout{display:flex;align-items:center;gap:1rem;min-height:11rem}
.rep-donut-wrap{position:relative;width:8.5rem;height:8.5rem;flex:0 0 auto}
.rep-donut{width:100%;height:100%;border-radius:50%}
.rep-donut-center{position:absolute;inset:1.35rem;background:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;box-shadow:0 0 0 1px #f1f5f9}
.rep-donut-center strong{font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1}
.rep-donut-center span{font-size:.68rem;color:#64748b;font-weight:600}
.rep-donut-legend{margin:0;padding:0;list-style:none;display:grid;gap:.5rem;font-size:.72rem;flex:1;min-width:0}
.rep-donut-legend-side li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem .55rem;color:#475569}
.rep-donut-legend i{width:.55rem;height:.55rem;border-radius:50%;flex:0 0 auto}
.rep-legend-label{font-weight:600;color:#334155}
.rep-legend-meta{color:#64748b;white-space:nowrap}
.rep-legend-meta b{color:#0f172a;font-weight:700}
.rep-hbars{display:grid;gap:.55rem}
.rep-hbar-row{display:grid;grid-template-columns:5.5rem 1fr auto auto;gap:.4rem;align-items:center;font-size:.72rem}
.rep-hbar-name{color:#334155;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rep-hbar-track{height:.45rem;background:#f1f5f9;border-radius:999px;overflow:hidden}
.rep-hbar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px}
.rep-hbar-val{font-weight:700;color:#0f172a;white-space:nowrap}
.rep-hbar-pct{color:#64748b;min-width:2rem;text-align:right}
.rep-bar-group-chart{display:flex;align-items:flex-end;gap:.2rem;height:10rem;padding-top:.15rem}
.rep-bar-group-chart-axis{height:10rem}
.rep-bar-group{flex:1;display:flex;justify-content:center;min-width:0}
.rep-bar-pair{display:flex;align-items:flex-end;gap:2px;height:100%;width:100%;max-width:1.25rem}
.rep-bar{flex:1;border-radius:2px 2px 0 0;min-height:4px}
.rep-bar-rev{background:#16a34a}
.rep-bar-exp{background:#dc2626}
.rep-bar-legend{display:flex;align-items:center;gap:.75rem;font-size:.68rem;color:#64748b}
.rep-bar-legend-top{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.rep-bar-legend i{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;margin-right:.25rem;vertical-align:middle}
.rep-legend-rev{background:#16a34a}
.rep-legend-exp{background:#dc2626}
.rep-mini-table-wrap{overflow-x:auto}
.rep-mini-table{width:100%;font-size:.72rem;border-collapse:collapse;min-width:30rem}
.rep-mini-table th,.rep-mini-table td{padding:.45rem .35rem;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}
.rep-mini-table th{font-size:.65rem;font-weight:700;color:#64748b;text-transform:uppercase}
.rep-view-all{display:block;text-align:center;margin-top:.55rem;font-size:.75rem;font-weight:600}
@media (max-width:1280px){.rep-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rep-charts-grid-2x2{grid-template-columns:1fr}.rep-charts-row-2{grid-template-columns:1fr}}
@media (max-width:900px){.rep-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rep-donut-layout{flex-direction:column}.rep-hbar-row{grid-template-columns:4rem 1fr auto}.rep-chart-head-legend{flex-direction:column;align-items:flex-start}}
/* ===== REPORTS OVERVIEW (compact) END ===== */

/* ===== INVENTORY FORMS & CAT LIST START ===== */
.inv-form-page{max-width:56rem}
.inv-form-card{padding:1rem 1.1rem}
.inv-logo-preview-row{display:flex;align-items:center;gap:1rem;margin-top:.35rem}
.inv-logo-hint{margin:.35rem 0 0;font-size:.72rem;color:#64748b;line-height:1.45}
.inv-item-name{line-height:1.3}
.cat-list-item{padding:.5rem .65rem;font-size:.8rem;min-width:0}
.cat-count{flex-shrink:0;margin-left:.35rem}
.cat-count{font-size:.72rem}
.low-stock-item{padding:.55rem 0}
.inv-blue{background:#e8f3ff;color:#2d87dd}
.inv-green{background:#e8f8ee;color:#18824f}
.inv-gold{background:#fff4d8;color:#c6860a}
.inv-red{background:#ffe4e6;color:#be123c}
.inv-purple{background:#f1eaff;color:#7a4bd8}
.cat-list{display:grid;gap:.2rem}
.cat-list-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;border-radius:.4rem;cursor:pointer;font-size:.875rem;color:#334155;transition:background .12s}
.cat-list-item:hover{background:#f8fafc}
.cat-list-item.active{background:#eff6ff;color:#1d4ed8;font-weight:700}
.cat-count{background:#f1f5f9;color:#64748b;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}
.low-stock-item{display:grid;grid-template-columns:2.4rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:.55rem;row-gap:.15rem;padding:.65rem 0;border-bottom:1px solid #f1f5f9;align-items:start;min-width:0}
.low-stock-item:last-child{border-bottom:0}
.low-stock-item .inv-item-logo-wrap{grid-row:1/span 2;align-self:center}
.low-stock-info{grid-column:2;grid-row:1;min-width:0;overflow:hidden}
.low-stock-info strong{display:block;font-size:.82rem;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.low-stock-info small{display:block;font-size:.72rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.low-stock-qty{grid-column:2;grid-row:2;font-size:.72rem;font-weight:700;color:#dc2626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.stock-in-qty{color:#16a34a;font-weight:800}
.stock-out-qty{color:#dc2626;font-weight:800}
.stock-transfer-qty{color:#7c3aed;font-weight:800}
/* ===== INVENTORY FORMS & CAT LIST END ===== */

/* ===== FOOTER START ===== */
.erp-footer{text-align:center;padding:1.25rem;font-size:.8rem;color:#94a3b8;border-top:1px solid #e5e7eb;margin-top:1rem}

@media (max-width:1280px){.inv-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-layout{grid-template-columns:1fr}.inventory-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-cat-list-scroll,.inv-alerts-scroll{max-height:12rem}}
@media (max-width:900px){.inv-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{flex-direction:column;align-items:stretch}.filter-selects{flex-wrap:wrap}}
@media (max-width:640px){.inv-stats-grid{grid-template-columns:1fr}.inventory-sidebar{grid-template-columns:1fr}.page-header-row{flex-direction:column}}
/* ===== FOOTER END ===== */

/* ===== SORT BUTTON START ===== */
.sort-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;white-space:nowrap}
.sort-btn svg{width:.8rem;height:.8rem;opacity:.5}
/* ===== SORT BUTTON END ===== */

/* ===== CALENDAR v2 START ===== */
.cal-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19.5rem);gap:.85rem;align-items:start}
.cal-page-compact{margin:-.15rem 0 0}
.cal-main-card{overflow-x:auto;box-shadow:0 1px 3px rgba(15,23,42,.06);min-width:0}
.cal-grid-v2{overflow:hidden;min-width:40rem}
.cal-header{padding:.9rem 1.25rem .0rem;border-bottom:0}
.cal-page-title{margin:0;font-size:1.1rem;font-weight:800;color:#0f172a}
.cal-month-picker{position:relative;display:inline-flex;align-items:center}
.cal-month-select{appearance:none;min-height:2.2rem;padding:0 1.75rem 0 .65rem;border:0;background:transparent;font-size:1.05rem;font-weight:800;color:#0f172a;cursor:pointer}
.cal-month-picker .cal-month-chevron{position:absolute;right:0;pointer-events:none;width:.8rem!important;height:.8rem!important;color:#64748b}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}
.cal-toolbar-left{display:flex;align-items:center;gap:.5rem}
.cal-toolbar-right{display:flex;align-items:center;gap:.6rem}
.cal-today-btn{min-height:2.2rem;padding:0 .85rem;font-size:.82rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#334155;font-weight:600;cursor:pointer}
.cal-today-btn:hover{background:#f8fafc}
.cal-nav-btn{width:2rem;height:2rem;display:grid;place-items:center;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;cursor:pointer}
.cal-nav-btn svg{width:.85rem!important;height:.85rem!important;max-width:none!important;max-height:none!important}
.cal-month-label{display:inline-flex;align-items:center;gap:.3rem;font-size:1.05rem;font-weight:800;color:#0f172a;padding:0 .2rem;cursor:default}
.cal-month-chevron{width:.8rem!important;height:.8rem!important;max-width:none!important;max-height:none!important;color:#64748b}
.cal-view-tabs{display:flex;border:1px solid #d7dce4;border-radius:.4rem;overflow:hidden}
.cal-view-tab{min-height:2.2rem;padding:0 .85rem;border:0;background:#fff;font-size:.82rem;font-weight:600;color:#64748b;cursor:pointer;border-right:1px solid #d7dce4}
.cal-view-tab:last-child{border-right:0}
.cal-view-tab.active{background:#0d1828;color:#fff}
.cal-hall-select{min-height:2.2rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;padding:0 .65rem;font-size:.82rem;color:#334155}
.cal-grid-v2{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-head-v2{padding:.5rem .4rem;text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#64748b;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb}
.cal-head-v2:last-child{border-right:0}
.cal-cell{min-height:5.5rem;padding:.45rem .4rem;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;transition:background .1s;min-width:0;overflow:hidden}
.cal-cell:nth-child(7n){border-right:0}
.cal-cell:hover{background:#f8fafc}
.cal-cell.muted{background:#fafafa}
.cal-cell.today .cal-day-num{background:#059669;color:#fff;border-radius:999px}
.cal-cell.selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f6}
.cal-day-num{font-size:.8rem;font-weight:700;color:#334155;width:1.5rem;height:1.5rem;display:grid;place-items:center;margin-bottom:.05rem}
.cal-cell.muted .cal-day-num{color:#cbd5e1}
.cal-event-pill{display:block;border-radius:.25rem;padding:.18rem .4rem;font-size:.7rem;font-weight:700;max-width:100%;overflow:hidden;line-height:1.35}
.cal-event-pill .cal-pill-line,.cal-event-pill .cal-pill-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-event-pill.confirmed,.cal-event-pill.completed,.cal-event-pill.booked{background:#ffe2e5;color:#8f101d;border:1px solid #ffc7cc}
.cal-event-pill.pending{background:#fff4d6;color:#a56c00;border:1px solid #ffe28a}
.cal-event-pill.tentative{background:#fff4d6;color:#a56c00;border:1px solid #ffe28a}
.cal-pill-line{display:block;font-weight:700;line-height:1.25}
.cal-pill-sub{display:block;font-size:.62rem;font-weight:600;opacity:.9;line-height:1.2;margin-top:.05rem}
.cal-event-pill.cancelled{background:#f1f5f9;color:#94a3b8}
.cal-event-pill.available{background:#e8f8ee;color:#15834e}
.cal-more{font-size:.68rem;color:#64748b;font-weight:600;padding-left:.2rem}
.cal-legend-v2{display:flex;justify-content:center;gap:1.75rem;padding:.7rem;border-top:1px solid #e5e7eb;font-size:.8rem;color:#64748b}
.cal-legend-v2 span{display:flex;align-items:center;gap:.4rem}
.cal-legend-v2 i{width:.9rem;height:.65rem;border-radius:.2rem;display:inline-block}
.leg-booked{background:#ffc7cc}
.leg-tentative{background:#ffe28a}
.leg-available{background:#9ee5b8}
.cal-sidebar-v2{display:grid;gap:.85rem;min-width:0;max-width:100%;align-content:start}
.cal-sidebar-card{padding:1rem 1rem;min-width:0;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.cal-legend-list{display:grid;gap:.55rem}
.cal-legend-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:#334155;line-height:1.35;word-break:break-word}
.cal-leg-swatch{width:.9rem;height:.9rem;border-radius:.2rem;flex:0 0 auto;display:inline-block}
.leg-dot{width:.9rem;height:.9rem;border-radius:.2rem;flex:0 0 auto}
.cal-no-events{display:grid;place-items:center;text-align:center;padding:1.25rem;background:#f0fdf4;border-radius:.45rem;gap:.3rem;color:#15803d}
.cal-no-events svg{width:1.4rem!important;height:1.4rem!important;max-width:none!important;max-height:none!important}
.cal-no-events strong{font-size:.875rem}
.cal-no-events small{color:#64748b;font-size:.78rem}
.cal-book-btn{display:block;text-align:center;margin-top:.75rem;font-size:.8rem;padding:.5rem .9rem;text-decoration:none;border-radius:.4rem}
.cal-day-event{padding:.65rem .7rem;background:#f8fafc;border-radius:.4rem;margin-bottom:.5rem;border:1px solid #e5e7eb;min-width:0;overflow:hidden}
.cal-day-event:last-child{margin-bottom:0}
.cal-day-event-top{margin-bottom:.35rem}
.cal-day-event-name{font-size:.875rem;font-weight:700;color:#0f172a;margin-bottom:.15rem;word-break:break-word;line-height:1.3}
.cal-day-event-meta{font-size:.78rem;color:#64748b;word-break:break-word;line-height:1.35}
.cal-day-event-time{font-size:.78rem;color:#64748b;margin-top:.1rem}
.cal-day-event-link{font-size:.75rem;display:inline-block;margin-top:.4rem}
.cal-sidebar-heading{margin:0 0 .65rem;font-size:.88rem;font-weight:700;color:#0f172a;line-height:1.25;word-break:break-word}
.cal-sidebar-heading-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;min-width:0}
.cal-sidebar-heading-row .cal-sidebar-heading{min-width:0}
.cal-upcoming-list{max-height:17.5rem;overflow-y:auto;overflow-x:hidden;margin:0 -.15rem;padding:0 .15rem;-webkit-overflow-scrolling:touch}
.cal-upcoming-list::-webkit-scrollbar{width:5px}
.cal-upcoming-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.cal-upcoming-item{display:grid;grid-template-columns:2.65rem minmax(0,1fr);gap:.55rem .5rem;padding:.65rem 0;border-bottom:1px solid #f1f5f9;text-decoration:none;color:inherit;min-width:0;transition:background .12s}
.cal-upcoming-item:last-child{border-bottom:0;padding-bottom:0}
.cal-upcoming-item:hover{background:#f8fafc;border-radius:.35rem}
.cal-upcoming-date{width:2.65rem;text-align:center;flex:0 0 auto;grid-row:1/span 2;align-self:start;padding-top:.1rem}
.cal-upcoming-date strong{display:block;font-size:1.05rem;font-weight:800;line-height:1;color:#0f172a}
.cal-upcoming-date small{display:block;font-size:.6rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-top:.1rem}
.cal-upcoming-body{min-width:0;overflow:hidden}
.cal-upcoming-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;min-width:0}
.cal-upcoming-name{font-size:.8rem;font-weight:700;color:#0f172a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
.cal-upcoming-type{font-size:.74rem;color:#64748b;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-upcoming-time{font-size:.7rem;color:#94a3b8;margin-top:.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-list-wrap{padding:.5rem 1rem .85rem}
.cal-list-row{display:flex;align-items:center;gap:.85rem;padding:.7rem 0;border-bottom:1px solid #f1f5f9}
.cal-list-row:last-child{border-bottom:0}
.cal-list-date{width:2.5rem;text-align:center;flex:0 0 auto}
.cal-list-date strong{display:block;font-size:1rem;font-weight:800;color:#0f172a}
.cal-list-date small{display:block;font-size:.65rem;font-weight:700;color:#64748b;text-transform:uppercase}
.cal-list-info{flex:1;min-width:0}
.cal-list-info .font-medium{font-size:.85rem}
.cal-list-info small{color:#64748b;font-size:.75rem}
.cal-week-nav{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.1rem .2rem;border-bottom:1px solid #f1f5f9}
.cal-week-range{font-size:.85rem;font-weight:600;color:#334155}
.cal-week-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #e5e7eb}
.cal-week-col{border-right:1px solid #e5e7eb;min-height:12rem}
.cal-week-col:last-child{border-right:0}
.cal-week-col.today{background:#eff6ff}
.cal-week-col.selected{box-shadow:inset 0 0 0 2px #3b82f6;background:#eff6ff}
.cal-upcoming-badge{font-size:.62rem!important;white-space:nowrap;flex:0 0 auto;max-width:5.25rem;overflow:hidden;text-overflow:ellipsis;padding:.22rem .42rem!important;line-height:1.2}
.cal-view-all{font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap;flex-shrink:0}
.cal-sidebar-card .status-badge{max-width:100%}
.cal-sidebar-empty{margin:0;font-size:.78rem;color:#94a3b8}
@media (max-width:1280px){.cal-page-layout{grid-template-columns:1fr}.cal-sidebar-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.cal-sidebar-v2{grid-template-columns:1fr}.cal-toolbar{flex-direction:column;align-items:stretch}}
.cal-week-head{padding:.5rem .4rem;text-align:center;border-bottom:1px solid #e5e7eb}
.cal-week-head span{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#64748b}
.cal-week-head strong{display:block;font-size:.95rem;font-weight:800}
.cal-week-body{padding:.4rem}
.cal-list-date{width:2.8rem;text-align:center;flex:0 0 auto}
.cal-list-date strong{display:block;font-size:1.1rem;font-weight:800}
.cal-list-date small{display:block;font-size:.72rem;color:#64748b;text-transform:uppercase}
.cal-list-info{flex:1;min-width:0}
.cal-list-info .font-medium{font-size:.875rem}
.cal-list-info small{color:#64748b;font-size:.78rem}
/* ===== CALENDAR v2 END ===== */

/* ===== BOOKING DETAIL (SHOW) START ===== */
.bk-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.bk-topbar-left{display:flex;align-items:center;gap:.85rem}
.bk-title{margin:0;font-size:1.25rem;font-weight:800}
.bk-subtitle{margin:.15rem 0 0;font-size:.875rem;color:#64748b}
.bk-topbar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.bk-action-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.6rem;padding:0 1rem;font-size:.875rem;font-weight:600;border-radius:.45rem;cursor:pointer}
.bk-action-btn svg{width:1rem;height:1rem}
.bk-more-dropdown{position:relative}
.bk-more-dropdown:hover .bk-dropdown-menu{display:block}
.bk-dropdown-menu{display:none;position:absolute;right:0;top:100%;margin-top:.35rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 8px 24px rgba(15,23,42,.12);min-width:11rem;z-index:20;overflow:hidden}
.bk-dropdown-item{display:block;width:100%;padding:.7rem 1rem;text-align:left;border:0;background:transparent;font-size:.875rem;color:#334155;cursor:pointer}
.bk-dropdown-item:hover{background:#f8fafc}
.bk-dropdown-danger{color:#dc2626}
.bk-dropdown-danger:hover{background:#fef2f2}
.bk-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:1.25rem;overflow-x:auto}
.bk-tab{padding:.7rem 1.25rem;border:0;background:transparent;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}
.bk-tab:hover{color:#334155}
.bk-tab.active{color:#0d1828;border-bottom-color:#0d1828}
.bk-body-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1.25rem;align-items:start}
.bk-main-col{display:grid;gap:1.25rem}
.bk-sidebar-col{display:grid;gap:1.25rem}
.bk-section-title{margin:0 0 .1rem;font-size:1rem;font-weight:700}
.bk-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem 1.5rem;margin-top:.85rem}
.bk-details-grid>div{display:grid;gap:.2rem}
.bk-details-grid span{font-size:.78rem;color:#64748b;font-weight:600;text-transform:uppercase}
.bk-details-grid strong{font-size:.9rem;color:#0f172a}
.bk-inv-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1.5rem}
.bk-inv-meta>div{display:grid;gap:.2rem}
.bk-inv-meta span{font-size:.78rem;color:#64748b;font-weight:600;text-transform:uppercase}
.bk-inv-meta strong{font-size:.9rem;color:#0f172a}
.bk-bill-summary{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}
.bk-bill-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.875rem}
.bk-bill-row:last-child{border-bottom:0}
.bk-bill-total{background:#f8fafc;font-weight:700;font-size:.95rem}
.bk-bill-balance{background:#fef2f2;color:#dc2626;font-weight:800;font-size:.95rem}
.bk-sidebar-card{padding:0;overflow:hidden}
.bk-sidebar-card-header{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;font-weight:700;color:#334155}
.bk-sidebar-card-header svg{width:1rem;height:1rem;color:#64748b}
.bk-bill-to{padding:.9rem 1.1rem;display:grid;gap:.2rem;font-size:.875rem;color:#334155}
.bk-bill-to strong{font-size:.95rem;font-weight:700}
.bk-bill-to span{color:#64748b}
.bk-summary-rows{padding:.5rem 0}
.bk-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 1.1rem;font-size:.875rem}
.bk-summary-row strong{font-weight:700}
.bk-balance-due{color:#dc2626}
.bk-action-list{border-top:1px solid #f1f5f9}
.bk-action-row{display:flex;align-items:center;gap:.65rem;width:100%;padding:.8rem 1.1rem;border:0;background:transparent;font-size:.875rem;color:#334155;cursor:pointer;border-bottom:1px solid #f1f5f9;text-align:left}
.bk-action-row:hover{background:#f8fafc}
.bk-action-row svg{width:1rem;height:1rem;color:#64748b;flex:0 0 auto}
.bk-action-chevron{margin-left:auto;width:.85rem!important;height:.85rem!important;color:#94a3b8!important}
.bk-action-hint{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1.1rem;background:#eff6ff;font-size:.78rem;color:#1e40af;line-height:1.5}
.bk-action-hint svg{width:1rem;height:1rem;flex:0 0 auto;margin-top:.1rem}
.bk-balance-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fef2f2;border-radius:.45rem;color:#dc2626}
.bk-balance-banner span{font-size:.875rem;font-weight:600}
.bk-balance-banner strong{font-size:1.25rem;font-weight:800}
.bk-timeline{display:grid;gap:0}
.bk-timeline-item{display:flex;gap:.85rem;padding:.85rem 0;border-bottom:1px solid #f1f5f9;position:relative}
.bk-timeline-item:last-child{border-bottom:0}
.bk-timeline-dot{width:.85rem;height:.85rem;border-radius:50%;flex:0 0 auto;margin-top:.25rem}
.bk-timeline-dot.confirmed{background:#16a34a}
.bk-timeline-dot.tentative{background:#d97706}
.bk-timeline-dot.cancelled{background:#dc2626}
.bk-timeline-content strong{display:block;font-size:.875rem;font-weight:700}
.bk-timeline-content small{display:block;font-size:.78rem;color:#64748b;margin-top:.15rem}

/* Booking show — overview & billing */
.bk-show-page .bk-tab.active{color:#2176ff;border-bottom-color:#2176ff}
.bk-card-title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}
.bk-card-head-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}
.bk-panel-card{padding:1.25rem}
.bk-info-card{padding:1.25rem}
.bk-dl{display:grid;gap:.75rem;margin:.5rem 0 0}
.bk-dl>div{display:grid;gap:.15rem}
.bk-dl dt{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.bk-dl dd{margin:0;font-size:.9rem;font-weight:600;color:#0f172a}
.bk-text-paid{color:#16a34a!important}
.bk-text-due{color:#dc2626!important}
.bk-text-paid-row strong,.bk-text-due-row strong{font-weight:800}
.bk-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.bk-overview-grid .bk-span-wide{grid-column:1/-1}
.bk-pill-contact{font-size:.72rem;font-weight:700;color:#1d4ed8;background:#eff6ff;padding:.25rem .6rem;border-radius:999px}
.bk-client-row{display:flex;gap:1rem;align-items:flex-start;margin-top:.5rem}
.bk-client-avatar{width:2.75rem;height:2.75rem;border-radius:50%;background:#0d1828;color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex:0 0 auto}
.bk-client-details{display:grid;gap:.35rem}
.bk-client-details strong{font-size:1rem}
.bk-client-details span{display:flex;align-items:center;gap:.45rem;font-size:.875rem;color:#475569}
.bk-client-details svg{width:.95rem;height:.95rem;color:#94a3b8;flex:0 0 auto}
.bk-link-btn{border:0;background:transparent;color:#2176ff;font-size:.82rem;font-weight:700;cursor:pointer;padding:0}
.bk-link-btn:hover{text-decoration:underline}
.bk-th-right{text-align:right!important}
.bk-cat-badge{display:inline-block;padding:.2rem .55rem;border-radius:.35rem;font-size:.72rem;font-weight:700}
.bk-cat-venue{background:#dbeafe;color:#1d4ed8}
.bk-cat-catering{background:#e0f2fe;color:#0369a1}
.bk-cat-decoration{background:#ffedd5;color:#c2410c}
.bk-cat-equipment{background:#f3e8ff;color:#7e22ce}
.bk-cat-services{background:#ecfdf5;color:#15803d}
.bk-tfoot-total td{background:#f8fafc;font-weight:700}
.bk-services-table{margin-top:0}
.bk-empty-msg{margin:.5rem 0 0;font-size:.875rem;color:#64748b}
.bk-notes-box{margin-top:.75rem;padding:1rem;background:#f8fafc;border-radius:.45rem;font-size:.875rem;line-height:1.6;color:#334155;white-space:pre-wrap}
.bk-sidebar-title{margin:0;padding:.9rem 1.1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem;font-weight:700;color:#334155}
.bk-record-pay-btn{display:block;width:calc(100% - 2.2rem);margin:0 1.1rem 1rem;text-align:center}
.bk-schedule-list{list-style:none;margin:0;padding:.75rem 1.1rem;display:grid;gap:.85rem}
.bk-schedule-list li{display:flex;gap:.65rem;align-items:flex-start;font-size:.875rem}
.bk-schedule-icon{width:1.25rem;height:1.25rem;border-radius:50%;background:#e2e8f0;color:#64748b;display:grid;place-items:center;font-size:.7rem;font-weight:800;flex:0 0 auto}
.bk-schedule-done .bk-schedule-icon{background:#dcfce7;color:#16a34a}
.bk-schedule-list strong{display:block;font-weight:700}
.bk-schedule-list small{display:block;color:#64748b;margin-top:.1rem}
.bk-activity-list{padding:.5rem 1.1rem 1rem;display:grid;gap:.75rem}
.bk-activity-item{display:flex;gap:.65rem;align-items:flex-start}
.bk-activity-dot{width:.65rem;height:.65rem;border-radius:50%;margin-top:.35rem;flex:0 0 auto}
.bk-activity-dot.confirmed{background:#16a34a}
.bk-activity-dot.tentative{background:#d97706}
.bk-activity-item strong{display:block;font-size:.82rem;font-weight:700}
.bk-activity-item small{display:block;font-size:.75rem;color:#64748b;margin-top:.1rem}
.bk-billing-layout{display:grid;gap:1.25rem}
.bk-inv-info-card .bk-dl-inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1.5rem}
.bk-billing-row-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,20rem);gap:1.25rem;align-items:start}
.bk-billing-items{min-width:0;overflow:hidden}
.bk-invoice-summary{display:flex;flex-direction:column;gap:0;margin-top:.5rem}
.bk-sum-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid #f1f5f9;font-size:.875rem;flex-wrap:nowrap}
.bk-sum-row span,.bk-sum-row strong{white-space:nowrap}
.bk-sum-row:last-child{border-bottom:0}
.bk-sum-tax-group{padding:.35rem 0;border-bottom:1px solid #f1f5f9;margin-bottom:.15rem}
.bk-sum-tax-group .bk-sum-row{border-bottom-color:#f8fafc;padding:.45rem 0}
.bk-sum-tax-label{display:block;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}
.bk-sum-total{font-weight:700;font-size:.95rem;padding-top:.35rem;border-top:1px solid #e5e7eb;margin-top:.15rem}
.bk-sum-paid strong{color:#16a34a}
.bk-sum-balance{background:#fef2f2;margin-top:.35rem;padding:.75rem .5rem!important;border-radius:.4rem;border-bottom:0!important}
.bk-sum-balance span,.bk-sum-balance strong{color:#dc2626;font-weight:800}
.bk-invoice-summary-card{align-self:start;min-width:0;overflow:hidden}
.bk-invoice-notes-block{margin-top:.5rem;padding:1rem;background:#f8fafc;border-radius:.45rem;font-size:.875rem;color:#475569;line-height:1.55}
.bk-bill-to-sidebar{padding:.25rem 1.1rem 1rem;display:grid;gap:.25rem;font-size:.875rem;color:#334155}
.bk-bill-to-sidebar strong{font-size:.95rem;font-weight:700}
.bk-bill-to-sidebar span{color:#64748b}
.bk-cat-equipment{background:#fce7f3;color:#be185d}
.bk-bill-to-block{display:grid;gap:.25rem;margin-top:.5rem;font-size:.875rem;color:#334155}
.bk-bill-to-block strong{font-size:.95rem}
.bk-bill-to-block span{color:#64748b}
.bk-terms-details{margin-top:1rem;border-top:1px solid #f1f5f9;padding-top:.75rem}
.bk-terms-details summary{font-size:.82rem;font-weight:600;color:#2176ff;cursor:pointer}
.bk-invoice-notes{margin-top:.65rem;font-size:.875rem;color:#475569;line-height:1.55}
.bk-mini-btn{padding:.35rem .75rem;font-size:.78rem}
.bk-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:.75rem;align-items:start}
.bk-client-left{display:grid;gap:.75rem}
.bk-client-name-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.bk-client-name-row strong{font-size:1rem}
.bk-dl-side{gap:.65rem}
.bk-btn-view-services{display:inline-flex;align-items:center;padding:.45rem .85rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer}
.bk-btn-view-services:hover{background:#f8fafc}
.bk-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.9rem 1.1rem;border-bottom:1px solid #e5e7eb}
.bk-sidebar-title-inline{margin:0;padding:0;border:0}
.bk-record-pay-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem}
.bk-record-pay-btn svg{width:1rem;height:1rem}
.bk-schedule-due{color:#dc2626;font-weight:700}
.bk-activity-timeline{padding:.75rem 1.1rem 1rem;display:grid;gap:0;position:relative}
.bk-activity-timeline::before{content:'';position:absolute;left:calc(1.1rem + .9rem);top:1.5rem;bottom:1rem;width:2px;background:#e2e8f0;z-index:0}
.bk-activity-timeline .bk-activity-item{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem 0;position:relative;z-index:1}
.bk-activity-icon{width:1.85rem;height:1.85rem;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.bk-activity-icon svg{width:.95rem;height:.95rem}
.bk-activity-icon.payment{background:#dcfce7;color:#16a34a}
.bk-activity-icon.confirmed{background:#dbeafe;color:#2563eb}
.bk-activity-icon.created{background:#dbeafe;color:#2563eb}
.bk-activity-timeline .bk-activity-item strong{display:block;font-size:.82rem;font-weight:700;color:#0f172a}
.bk-activity-timeline .bk-activity-item small{display:block;font-size:.75rem;color:#64748b;margin-top:.15rem;line-height:1.4}

@media (max-width:1100px){
.bk-overview-grid{grid-template-columns:1fr}
.bk-billing-row-main{grid-template-columns:1fr}
.bk-inv-info-card .bk-dl-inv-grid{grid-template-columns:repeat(2,1fr)}
.bk-client-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
.bk-inv-info-card .bk-dl-inv-grid{grid-template-columns:1fr}
}
@media (max-width:1100px){.bk-body-layout{grid-template-columns:1fr}.bk-inv-meta{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.bk-topbar{flex-direction:column}.bk-details-grid{grid-template-columns:1fr}.bk-inv-meta{grid-template-columns:1fr}}
/* ===== BOOKING DETAIL (SHOW) END ===== */

/* ===== WALK-IN CSS START ===== */

:root {
    /* Color Palette */
    --wi-color-primary: #0b1528;       /* Dark Slate/Navy */
    --wi-color-accent: #c09e6c;        /* Muted Gold */
    --wi-color-accent-hover: #b08f5d;  /* Darker Gold */
    --wi-color-text-main: #1e293b;     /* Dark Slate Text */
    --wi-color-text-muted: #475569;    /* Muted Text */
    --wi-color-text-light: #94a3b8;    /* Icon/Placeholder Gray */
    --wi-color-bg-card: #ffffff;       /* Card Background */
    --wi-color-border: #e2e8f0;        /* Light Input Border */
    --wi-color-border-focus: #94a3b8;  /* Focused Input Border */
    
    /* Status & Notification Colors */
    --wi-color-error: #dc2626;         /* Red Validation */
    --wi-color-info-bg: #eff6ff;       /* Light Blue Banner */
    --wi-color-info-border: #bfdbfe;   /* Blue Banner Border */
    --wi-color-info-text: #1e3a8a;     /* Dark Blue Text */
    --wi-color-success-bg: #f0fdf4;    /* Light Green Flash */
    --wi-color-success-border: #bbf7d0;/* Green Flash Border */
    --wi-color-success-text: #166534;  /* Dark Green Text */

    /* Typography & Sizing */
    --wi-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --wi-radius-lg: 8px;
    --wi-radius-md: 6px;
    --wi-input-height: 42px;
    --wi-btn-height: 40px;
}

/* Container & Base Card */
.erp-card.wi-form-card {
    background: var(--wi-color-bg-card);
    border-radius: var(--wi-radius-lg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    padding: 24px;
    font-family: var(--wi-font-family);
    color: var(--wi-color-text-main);
}

/* Headings */
.wi-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--wi-color-text-main);
    margin: 0 0 24px 0;
}

.wi-section-subtitle {
    font-size: 15px;
    font-weight: 600;
    color: var(--wi-color-text-main);
    margin: 0 0 16px 0;
}

/* Grid Layout Alignment */
.form-grid {
    display: grid;
    gap: 16px;
    margin-bottom: 20px;
}

.form-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Custom 2-Column layouts for Note + Sidebar Stack */
.form-grid.inquiry {
    grid-template-columns: 2fr 1fr;
}

.side-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Labels */
.wi-form-body label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--wi-color-text-muted);
    margin-bottom: 6px;
}

.wi-form-body label b {
    color: var(--wi-color-error);
    margin-left: 2px;
}

/* Inputs, Selects & Textareas Styling */
.wi-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.wi-input-wrap input,
.wi-input-wrap select,
.wi-input-wrap textarea {
    width: 100%;
    height: var(--wi-input-height);
    padding: 8px 12px;
    font-size: 14px;
    color: var(--wi-color-text-main);
    background-color: var(--wi-color-bg-card);
    border: 1px solid var(--wi-color-border);
    border-radius: var(--wi-radius-md);
    outline: none;
    transition: border-color 0.15s ease-in-out;
}

/* Padding modifier for inputs with prefix icons */
.wi-input-wrap svg + input,
.wi-input-wrap svg + textarea {
    padding-left: 38px;
}

/* Icon Positionings */
.wi-input-wrap > svg {
    position: absolute;
    left: 12px;
    width: 16px;
    height: 16px;
    color: var(--wi-color-text-light);
    pointer-events: none;
}

/* Dropdown custom down arrow element injection */
.wi-input-wrap select {
    appearance: none;
    padding-right: 32px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px;
}

/* Textarea modifications */
.wi-input-wrap.wi-textarea-wrap {
    align-items: flex-start;
}
.wi-input-wrap.wi-textarea-wrap > svg {
    top: 13px;
}
.wi-textarea {
    min-height: 104px;
    resize: vertical;
}

/* Active Focus Highlight states */
.wi-input-wrap input:focus,
.wi-input-wrap select:focus,
.wi-input-wrap textarea:focus {
    border-color: var(--wi-color-border-focus);
}

/* Placeholder font styling */
::placeholder {
    color: var(--wi-color-text-light);
    opacity: 1;
}

/* Decorative Section Divider line */
.wi-divider {
    height: 1px;
    background-color: #f1f5f9;
    margin: 24px 0;
}

/* Quick Actions Alert Box Banner */
.info-line {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: var(--wi-color-info-bg);
    border: 1px solid var(--wi-color-info-border);
    border-radius: var(--wi-radius-md);
    padding: 12px 16px;
    font-size: 13px;
    color: var(--wi-color-info-text);
    margin-bottom: 24px;
}

.info-line svg {
    width: 16px;
    height: 16px;
    color: #2563eb;
    flex-shrink: 0;
}

/* Actions Button Row Alignment */
.form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

/* Custom Base Button definitions */
.form-actions button {
    height: var(--wi-btn-height);
    padding: 0 20px;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--wi-radius-md);
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    border: none;
}

/* Reset Button Style */
.btn-outline {
    background-color: var(--wi-color-bg-card);
    color: var(--wi-color-text-muted);
    border: 1px solid var(--wi-color-border) !important;
}
.btn-outline:hover {
    background-color: #f8fafc;
}

/* Save Walk-in Button Style */
.btn-dark {
    background-color: var(--wi-color-primary);
    color: #ffffff;
}
.btn-dark:hover {
    background-color: #16243d;
}

/* Convert to Reservation Button Style */
.btn-gold {
    background-color: var(--wi-color-accent);
    color: #ffffff;
}
.btn-gold:hover {
    background-color: var(--wi-color-accent-hover);
}

/* Error Validations Messaging */
.error {
    display: block;
    color: var(--wi-color-error);
    font-size: 12px;
    margin-top: 4px;
}

/* Top Banner Success Flash Alert notification popup rules */
.wi-flash-success {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: var(--wi-color-success-bg);
    border: 1px solid var(--wi-color-success-border);
    color: var(--wi-color-success-text);
    padding: 12px 16px;
    border-radius: var(--wi-radius-md);
    margin-bottom: 16px;
    font-size: 14px;
}
.wi-flash-success svg {
    width: 16px;
    height: 16px;
    color: var(--wi-color-success-text);
}
/* ===== WALK-IN CSS END ===== */

/* ===== BOOKINGS INDEX — FILTER BAR START ===== */
.bk-filter-card{margin-bottom:1.25rem;padding:1.25rem 1.5rem}
.bk-filter-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.bk-filter-search-col{flex:1;min-width:16rem}
.bk-filter-labeled-col{display:flex;flex-direction:column;gap:.4rem;min-width:10rem}
.bk-filter-btn-col{display:flex;flex-direction:column;gap:.4rem}
.bk-filter-label{font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.bk-filter-select{min-height:2.75rem;border:1px solid #d7dce4;border-radius:.45rem;background:#fff;padding:0 .75rem;font-size:.875rem;color:#334155}
.bk-filter-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1.35rem;font-size:.875rem;font-weight:700;white-space:nowrap}
.bk-filter-btn svg{width:.9rem;height:.9rem;max-width:none!important;max-height:none!important}
.bk-new-btn{display:inline-flex;align-items:center;gap:.5rem}
.bk-new-btn svg{width:1rem;height:1rem;max-width:none!important;max-height:none!important}

/* Responsive — filter bar + walk-in + calendar */
@media (max-width:1100px){.cal-page-layout{grid-template-columns:1fr}.bk-filter-row{flex-wrap:wrap}.bk-filter-labeled-col{min-width:calc(50% - .5rem)}}
@media (max-width:720px){.bk-filter-row{flex-direction:column;align-items:stretch}.bk-filter-search-col,.bk-filter-labeled-col,.bk-filter-btn-col{width:100%}.wi-form-body{padding:1rem}.wi-section-header{padding:1rem 1rem 0}.form-grid.three{grid-template-columns:1fr}.cal-grid-v2 .cal-cell{min-height:3.5rem}.cal-event-pill{display:none}.cal-day-num{font-size:.75rem}}
/* ===== BOOKINGS INDEX — FILTER BAR END ===== */

/* ===== ERP PAGINATION START ===== */
.erp-pagination{display:flex;align-items:center;justify-content:flex-end}
.erp-pg-mobile{display:flex;gap:.5rem}
.erp-pg-full{display:flex;align-items:center;gap:.3rem}
@media (min-width:640px){.erp-pg-mobile{display:none}.erp-pg-full{display:flex}}
@media (max-width:639px){.erp-pg-mobile{display:flex}.erp-pg-full{display:none}}

.erp-pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:2.1rem;padding:0 .5rem;border:1px solid #e2e8f0;border-radius:.4rem;background:#fff;color:#475569;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;text-decoration:none;line-height:1;white-space:nowrap}
.erp-pg-btn:hover:not(.erp-pg-disabled):not(.erp-pg-active){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}
.erp-pg-active{background:#0d1828!important;border-color:#0d1828!important;color:#fff!important;font-weight:700}
.erp-pg-disabled{opacity:.45;cursor:default;pointer-events:none}
.erp-pg-dots{border:0;background:transparent;cursor:default;color:#94a3b8;padding:0 .25rem}
.erp-pg-arrow{min-width:2.1rem;padding:0}
.erp-pg-arrow svg{width:.85rem!important;height:.85rem!important;max-width:none!important;max-height:none!important}
/* ===== ERP PAGINATION END ===== */

/* ===== HALLS PAGE START ===== */
.halls-new-btn{display:inline-flex;align-items:center;gap:.45rem}
.halls-new-btn svg{width:.95rem!important;height:.95rem!important;max-width:none!important;max-height:none!important}

/* Stats row */
.halls-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.halls-stat-card{background:#fff;border:1px solid #e3e8f0;border-radius:.65rem;box-shadow:0 4px 14px rgba(15,23,42,.06);padding:1rem 1.15rem;display:flex;align-items:center;gap:.85rem}
.halls-stat-card>div>span{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.halls-stat-card>div>strong{display:block;font-size:1.55rem;font-weight:800;line-height:1.1;color:#0f172a;margin-top:.15rem}
.halls-stat-icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:.55rem;flex:0 0 auto}
.halls-stat-icon svg{width:1.3rem!important;height:1.3rem!important;max-width:none!important;max-height:none!important}
.halls-icon-blue{background:#e8f3ff;color:#2d87dd}
.halls-icon-green{background:#e8f8ee;color:#18824f}
.halls-icon-red{background:#ffe4e6;color:#be123c}
.halls-icon-gold{background:#fff4d8;color:#c6860a}

/* Amenity tags in table */
.halls-amenity-tags{display:flex;flex-wrap:wrap;gap:.25rem;max-width:14rem}
.halls-amenity-tag{display:inline-flex;align-items:center;padding:.15rem .45rem;background:#f1f5f9;color:#475569;border-radius:.25rem;font-size:.7rem;font-weight:600;white-space:nowrap}
.halls-amenity-more{display:inline-flex;align-items:center;padding:.15rem .45rem;background:#e0e7ff;color:#3730a3;border-radius:.25rem;font-size:.7rem;font-weight:700}

/* Booking count badge */
.halls-booking-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;background:#f1f5f9;color:#334155;border-radius:.35rem;font-size:.8rem;font-weight:700;padding:0 .35rem}

/* Status toggle button */
.halls-status-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;border:0;cursor:pointer;transition:background .15s}
.halls-status-toggle.active{background:#dcfce7;color:#15803d}
.halls-status-toggle.active:hover{background:#bbf7d0}
.halls-status-toggle.inactive{background:#fee2e2;color:#b91c1c}
.halls-status-toggle.inactive:hover{background:#fecaca}
.halls-status-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex:0 0 auto}

/* Amenities grid in modal */
.halls-amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.halls-amenity-check{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;border:1px solid #e2e8f0;border-radius:.4rem;cursor:pointer;font-size:.82rem;font-weight:500;color:#334155;transition:background .12s,border-color .12s;line-height:1.3}
.halls-amenity-check:hover{background:#f8fafc;border-color:#cbd5e1}
.halls-amenity-check input{width:.9rem;height:.9rem;flex:0 0 auto;cursor:pointer;margin:0;accent-color:#0d1828}
.halls-amenity-check:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#1e40af;font-weight:700}
.halls-active-row{display:flex!important;flex-direction:row!important;align-items:center;gap:.65rem;padding:.65rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.45rem;cursor:pointer}
.halls-active-row input{width:1.05rem;height:1.05rem;flex:0 0 auto;cursor:pointer;margin:0;accent-color:#0d1828}
.halls-active-label{font-weight:700;color:#0f172a;font-size:.875rem}
.halls-active-hint{color:#64748b;font-size:.78rem;font-weight:400}

@media (max-width:1100px){.halls-stats-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.halls-stats-row{grid-template-columns:1fr}.halls-amenities-grid{grid-template-columns:repeat(2,1fr)}}
/* ===== HALLS PAGE END ===== */

/* ===== GST BILLING PAGE START ===== */
.gst-layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.25rem;align-items:start}

/* Main panel */
.gst-main{overflow:hidden}
.gst-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}
.gst-title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}
.gst-invoice-select{min-height:2.3rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;padding:0 .75rem;font-size:.82rem;color:#334155;max-width:18rem}
.gst-header-right{display:flex;align-items:center;gap:.75rem}

/* Sections */
.gst-section{padding:1.1rem 1.35rem;border-bottom:1px solid #e5e7eb}
.gst-section:last-child{border-bottom:0}
.gst-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.gst-section-title{margin:0 0 .85rem;font-size:.9rem;font-weight:700;color:#0f172a}
.gst-view-booking-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:#0b65b9;border:1px solid #bfdbfe;border-radius:.35rem;padding:.3rem .65rem;background:#eff6ff;text-decoration:none;transition:background .12s}
.gst-view-booking-btn:hover{background:#dbeafe}
.gst-view-booking-btn svg{width:.75rem!important;height:.75rem!important;max-width:none!important;max-height:none!important}

/* Details grid — 2 columns of label:value pairs */
.gst-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .5rem}
.gst-detail-row{display:grid;grid-template-columns:9rem 1fr;gap:.25rem;font-size:.82rem;align-items:baseline}
.gst-detail-row span{color:#64748b;font-weight:500}
.gst-detail-row b{color:#0f172a;font-weight:600}

/* Items table */
.gst-items-table{margin-bottom:0}
.gst-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:0;background:transparent;color:#94a3b8;cursor:pointer;border-radius:.3rem}
.gst-remove-btn:hover{background:#fee2e2;color:#dc2626}
.gst-remove-btn svg{width:.8rem!important;height:.8rem!important;max-width:none!important;max-height:none!important}

/* Add charge row */
.gst-add-row{display:flex;align-items:center;gap:.6rem;margin-top:.85rem;flex-wrap:wrap}
.gst-add-input{flex:1;min-width:12rem;min-height:2.4rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;padding:0 .75rem;font-size:.82rem;color:#334155}
.gst-add-amount{width:8rem;min-height:2.4rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;padding:0 .75rem;font-size:.82rem;color:#334155}
.gst-add-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.4rem;padding:0 1rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s}
.gst-add-btn:hover{background:#f8fafc;border-color:#94a3b8}
.gst-add-btn svg{width:.8rem!important;height:.8rem!important;max-width:none!important;max-height:none!important}

/* Empty state */
.gst-empty{display:grid;place-items:center;text-align:center;padding:3rem 1.5rem;gap:.5rem;color:#64748b}
.gst-empty svg{width:2.5rem!important;height:2.5rem!important;max-width:none!important;max-height:none!important;color:#cbd5e1;margin-bottom:.25rem}
.gst-empty strong{font-size:.95rem;color:#334155}
.gst-empty small{font-size:.82rem}

/* Sidebar */
.gst-sidebar{display:grid;gap:1rem}
.gst-summary-card{padding:1.25rem}
.gst-actions-card{padding:1.25rem}
.gst-summary-title{margin:0 0 1rem;font-size:.9rem;font-weight:700;color:#0f172a}

/* Summary rows */
.gst-summary-rows{display:grid;gap:0}
.gst-sum-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.82rem;border-bottom:1px solid #f1f5f9}
.gst-sum-row:last-child{border-bottom:0}
.gst-sum-row span{color:#475569}
.gst-sum-row b{font-weight:600;color:#0f172a}
.gst-sum-bold{font-weight:700}
.gst-sum-bold span{color:#0f172a;font-weight:700}
.gst-sum-bold b{font-weight:800}
.gst-sum-muted span{color:#64748b}
.gst-sum-muted b{color:#64748b;font-weight:500}
.gst-sum-grand{background:#eff6ff;margin:0 -.25rem;padding:.6rem .25rem;border-radius:.35rem;border-bottom:0!important}
.gst-sum-grand span{color:#1e40af;font-weight:700;font-size:.875rem}
.gst-sum-grand b{color:#1e40af;font-weight:800;font-size:.95rem}
.gst-sum-divider{height:1px;background:#e5e7eb;margin:.35rem 0}

/* Balance box */
.gst-balance-box{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding:.9rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem}
.gst-balance-label{font-size:.82rem;font-weight:700;color:#166534}
.gst-balance-hint{font-size:.72rem;color:#16a34a;margin-top:.1rem}
.gst-balance-amount{font-size:1.2rem;font-weight:800;color:#15803d}

/* Action buttons */
.gst-action-btns{display:grid;gap:.5rem}
.gst-action-btn{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.6rem;padding:0 1rem;border:1px solid #e2e8f0;border-radius:.45rem;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .12s,border-color .12s}
.gst-action-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.gst-action-btn svg{width:1rem!important;height:1rem!important;max-width:none!important;max-height:none!important;color:#64748b;flex:0 0 auto}
.gst-action-primary{background:#0d1828;color:#fff;border-color:#0d1828}
.gst-action-primary:hover{background:#1e293b;border-color:#1e293b}
.gst-action-primary svg{color:#fff}

@media (max-width:1100px){.gst-layout{grid-template-columns:1fr}}
@media (max-width:720px){.gst-details-grid{grid-template-columns:1fr}.gst-detail-row{grid-template-columns:1fr}.gst-add-row{flex-direction:column;align-items:stretch}.gst-add-input,.gst-add-amount{width:100%}}
/* ===== GST BILLING PAGE END ===== */

/* ===== ADVANCE RECEIPT PAGE START ===== */
.ar-layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.25rem;align-items:start}
.ar-form-card{padding:1.35rem}
.ar-preview-col{display:grid;gap:0}
.ar-preview-card{padding:1.25rem}
.ar-section-title{margin:0 0 1.1rem;font-size:.95rem;font-weight:700;color:#0f172a}

/* Readonly inputs */
.ar-readonly{background:#f8fafc!important;color:#475569!important}
.ar-total{font-weight:700;font-size:1rem;color:#0f172a!important;background:#f0fdf4!important}

/* Form actions row */
.ar-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.35rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #e5e7eb}
.ar-print-check{display:flex;align-items:center;gap:.55rem;font-size:.875rem;font-weight:500;color:#334155;cursor:pointer}
.ar-print-check input{width:1rem;height:1rem;cursor:pointer;accent-color:#0d1828}

/* ── Receipt Paper ── */
.ar-paper{border:1px solid #e2e8f0;border-radius:.55rem;padding:1.1rem;background:#fff;font-size:.78rem}
.ar-paper-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}
.ar-paper-brand{display:flex;align-items:flex-start;gap:.6rem}
.ar-paper-logo{width:2.4rem;height:2.4rem;display:grid;place-items:center;background:#0d1828;border-radius:.4rem;flex:0 0 auto}
.ar-paper-logo svg{width:1.3rem!important;height:1.3rem!important;max-width:none!important;max-height:none!important;stroke:#e4bd75}
.ar-paper-biz-name{font-size:.78rem;font-weight:800;color:#0f172a;line-height:1.2;letter-spacing:.03em}
.ar-paper-biz-sub{font-size:.68rem;color:#64748b;font-weight:500}
.ar-paper-biz-contact{font-size:.68rem;color:#64748b;margin-top:.1rem}
.ar-paper-badge-col{text-align:right;flex:0 0 auto}
.ar-paper-badge{display:inline-block;background:#0d1828;color:#fff;font-size:.62rem;font-weight:800;padding:.25rem .55rem;border-radius:.25rem;letter-spacing:.06em;margin-bottom:.4rem}
.ar-paper-receipt-meta{text-align:right}
.ar-paper-meta-label{font-size:.65rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ar-paper-meta-val{font-size:.78rem;font-weight:700;color:#0f172a}
.ar-paper-divider{height:1px;background:#e5e7eb;margin:.65rem 0}
.ar-paper-info{display:grid;gap:.3rem;margin-bottom:.75rem}
.ar-paper-info-row{display:flex;gap:.5rem;font-size:.75rem}
.ar-paper-info-row span{color:#64748b;min-width:6.5rem;flex:0 0 auto}
.ar-paper-info-row b{color:#0f172a;font-weight:600}
.ar-paper-table{width:100%;border-collapse:collapse;margin-bottom:.65rem;font-size:.75rem}
.ar-paper-table th,.ar-paper-table td{padding:.4rem .55rem;border:1px solid #e2e8f0;text-align:left}
.ar-paper-table thead th{background:#f8fafc;font-weight:700;color:#475569;font-size:.7rem;text-transform:uppercase}
.ar-paper-table tfoot th{background:#f1f5f9;font-weight:800;color:#0f172a}
.ar-paper-table td:last-child,.ar-paper-table th:last-child{text-align:right}
.ar-paper-words{margin-bottom:.65rem;padding:.5rem .6rem;background:#f8fafc;border-radius:.35rem}
.ar-paper-words-label{font-size:.65rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}
.ar-paper-words-val{font-size:.75rem;font-weight:700;color:#0f172a}
.ar-paper-sig-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #e5e7eb}
.ar-paper-sig-label{font-size:.65rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ar-paper-sig-name{font-size:.78rem;font-weight:700;color:#0f172a;margin-top:.15rem}
.ar-paper-sig-line{width:6rem;height:1px;background:#334155;margin-bottom:.25rem;margin-left:auto}

/* Preview action buttons */
.ar-preview-actions{display:flex;gap:.5rem;margin-top:.85rem}
.ar-preview-btn{display:inline-flex;align-items:center;gap:.4rem;flex:1;justify-content:center;min-height:2.2rem;padding:0 .65rem;border:1px solid #e2e8f0;border-radius:.4rem;background:#fff;color:#334155;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s}
.ar-preview-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.ar-preview-btn svg{width:.8rem!important;height:.8rem!important;max-width:none!important;max-height:none!important;color:#64748b}

/* Disclaimer */
.ar-disclaimer{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.6rem .75rem;background:#eff6ff;border-radius:.4rem;font-size:.72rem;color:#1e40af;line-height:1.5}
.ar-disclaimer svg{width:.85rem!important;height:.85rem!important;max-width:none!important;max-height:none!important;flex:0 0 auto;margin-top:.05rem}

@media (max-width:1100px){.ar-layout{grid-template-columns:1fr}}
/* ===== ADVANCE RECEIPT PAGE END ===== */

/* ===== EXPENSE CATEGORY BADGES START ===== */
.exp-cat-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:.3rem;font-size:.72rem;font-weight:700;white-space:nowrap}
.exp-cat-event{background:#fce7f3;color:#9d174d}
.exp-cat-catering{background:#fef3c7;color:#92400e}
.exp-cat-equipment{background:#dbeafe;color:#1e40af}
.exp-cat-services{background:#d1fae5;color:#065f46}
.exp-cat-utilities{background:#e0e7ff;color:#3730a3}
.exp-cat-maintenance{background:#fde8d8;color:#9a3412}
.exp-cat-marketing{background:#f3e8ff;color:#6b21a8}
.exp-cat-salary{background:#ecfdf5;color:#065f46}
.exp-cat-others{background:#f1f5f9;color:#475569}
.status-badge.draft{background:#f1f5f9;color:#475569}
/* ===== EXPENSE CATEGORY BADGES END ===== */

/* ===== ADD EXPENSE PAGE (compact) START ===== */
.exp-create-page{margin:-.25rem 0 0}
.exp-create-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.exp-create-header .page-title{font-size:1.15rem}
.exp-create-header .page-subtitle{font-size:.8rem;color:#64748b}
.exp-back-btn{min-height:2.25rem;padding:0 .85rem;font-size:.8rem}
.exp-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:.85rem;align-items:start}
.exp-form-card{padding:1rem 1.1rem}
.exp-section-title{margin:0 0 .75rem;font-size:.88rem;font-weight:700;color:#0f172a}
.exp-compact-grid{gap:.65rem .85rem!important}
.exp-compact-grid label{font-size:.78rem;gap:.35rem!important}
.exp-compact-grid input,.exp-compact-grid select,.exp-compact-grid textarea{min-height:2.35rem!important;font-size:.82rem!important;padding:.4rem .65rem!important}
.exp-compact-grid textarea{min-height:3.2rem!important}
.exp-compact-grid .wi-input-wrap{min-height:2.35rem!important;padding:0 .65rem!important}
.exp-compact-grid .wi-input-wrap input{min-height:2rem!important;font-size:.82rem!important}
.exp-readonly{background:#f8fafc!important;color:#64748b!important;cursor:not-allowed}
.exp-total-field{font-weight:700;color:#0f172a!important}
.exp-gst-label .exp-radio-row{display:flex;align-items:center;gap:1rem;min-height:2.35rem;padding-top:.15rem}
.exp-radio{display:inline-flex;align-items:center;gap:.4rem;font-weight:500!important;color:#334155!important;cursor:pointer}
.exp-radio input{width:.95rem;height:.95rem;accent-color:#0d1828;margin:0}
.exp-notes-label{position:relative}
.exp-char-count{position:absolute;right:.5rem;bottom:.45rem;font-size:.68rem;color:#94a3b8;font-weight:500}
.exp-divider{border:0;border-top:1px solid #e5e7eb;margin:1rem 0}
.exp-form-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid #e5e7eb;flex-wrap:wrap}
.exp-form-actions-right{display:flex;gap:.55rem;flex-wrap:wrap}
.exp-form-actions .btn-outline,.exp-form-actions .btn-dark,.exp-form-actions .btn-gold{min-height:2.25rem;padding:0 .9rem;font-size:.8rem}
.exp-create-side{display:grid;gap:.75rem}
.exp-side-card{padding:.85rem .95rem}
.exp-summary-rows{display:grid;gap:.45rem;margin-bottom:.65rem}
.exp-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#475569}
.exp-summary-row b{color:#0f172a;font-weight:600}
.exp-summary-total span,.exp-summary-total b{font-weight:700;color:#0f172a;font-size:.85rem}
.exp-summary-words{padding-top:.55rem;border-top:1px solid #e5e7eb}
.exp-summary-words span{display:block;font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}
.exp-summary-words strong{font-size:.78rem;color:#0f172a;line-height:1.4}
.exp-upload-zone{display:grid;place-items:center;text-align:center;gap:.35rem;padding:1rem .75rem;border:2px dashed #cbd5e1;border-radius:.45rem;cursor:pointer;background:#fafbfc;transition:border-color .15s,background .15s}
.exp-upload-zone:hover{border-color:#94a3b8;background:#f8fafc}
.exp-upload-zone svg{width:1.75rem;height:1.75rem;color:#94a3b8}
.exp-upload-zone p{margin:0;font-size:.75rem;color:#64748b}
.exp-upload-zone .exp-browse{color:#0284c7;font-weight:600}
.exp-upload-zone small{font-size:.68rem;color:#94a3b8}
.exp-upload-input{display:none}
.exp-upload-list{margin:.55rem 0 0;padding:0;list-style:none;font-size:.72rem;color:#475569}
.exp-upload-list li{padding:.2rem 0}
.exp-upload-list a{color:#0284c7;text-decoration:none}
.exp-upload-loading{font-size:.72rem;color:#64748b;margin-top:.35rem}
.exp-tips-card{background:#eff6ff!important;border-color:#bfdbfe!important;padding:.85rem .95rem}
.exp-tips-title{display:flex;align-items:center;gap:.4rem}
.exp-tips-title svg{width:1rem;height:1rem;color:#2563eb}
.exp-tips-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}
.exp-tips-list li{display:flex;align-items:flex-start;gap:.45rem;font-size:.72rem;color:#1e40af;line-height:1.45}
.exp-tips-list svg{width:.75rem;height:.75rem;flex:0 0 auto;margin-top:.1rem;color:#2563eb}
@media (max-width:1100px){.exp-create-layout{grid-template-columns:1fr}.exp-create-header{flex-direction:column}}
/* ===== ADD EXPENSE PAGE (compact) END ===== */

/* ===== USERS & ROLES START ===== */
.ur-page{margin:-.15rem 0 0}
.ur-page-compact .page-title{font-size:1.15rem}
.ur-page-compact .page-subtitle{font-size:.8rem}
.ur-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:.85rem;align-items:start}
.ur-main{min-width:0}
.ur-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem}
.ur-stat-card{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem}
.ur-stat-card span{display:block;font-size:.7rem;color:#64748b;font-weight:600}
.ur-stat-card strong{font-size:1.1rem;color:#0f172a;line-height:1.2}
.ur-stat-icon{width:2.35rem;height:2.35rem;border-radius:.45rem;display:grid;place-items:center;flex:0 0 auto}
.ur-stat-icon svg{width:1.1rem;height:1.1rem}
.ur-stat-icon.ur-blue{background:#dbeafe;color:#1d4ed8}
.ur-stat-icon.ur-green{background:#d1fae5;color:#047857}
.ur-stat-icon.ur-orange{background:#ffedd5;color:#c2410c}
.ur-stat-icon.ur-red{background:#fee2e2;color:#b91c1c}
.ur-stat-icon.ur-purple{background:#ede9fe;color:#6d28d9}
.ur-table-card{padding:0;overflow:hidden}
.ur-filter-row{padding:.75rem .85rem;border-bottom:1px solid #e5e7eb;margin:0!important}
.ur-table-footer{padding:.65rem .85rem;border-top:1px solid #e5e7eb}
.ur-row-selected{background:#f0f9ff!important}
.ur-name-cell{display:flex;align-items:center;gap:.55rem}
.ur-avatar{width:2rem;height:2rem;border-radius:50%;background:#0d1828;color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center;flex:0 0 auto}
.ur-avatar-lg{width:2.75rem;height:2.75rem;font-size:.85rem}
.ur-muted{color:#94a3b8;font-size:.72rem}
.ur-role-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:.3rem;font-size:.68rem;font-weight:700;white-space:nowrap}
.ur-role-super{background:#ede9fe;color:#5b21b6}
.ur-role-manager{background:#dbeafe;color:#1e40af}
.ur-role-sales{background:#d1fae5;color:#065f46}
.ur-role-booking{background:#ffedd5;color:#9a3412}
.ur-role-custom{background:#e0f2fe;color:#0369a1}
.ur-status-text{font-size:.78rem;font-weight:700}
.ur-status-text.ur-active{color:#059669}
.ur-status-text.ur-inactive{color:#d97706}
.ur-status-text.ur-locked{color:#dc2626}
.ur-type-badge{display:inline-flex;margin-left:.35rem;padding:.15rem .45rem;border-radius:.25rem;font-size:.65rem;font-weight:700}
.ur-type-badge.ur-system{background:#ede9fe;color:#6d28d9}
.ur-type-badge.ur-custom{background:#e0f2fe;color:#0369a1}
.ur-desc-cell{font-size:.78rem;color:#64748b;max-width:16rem}
.ur-sidebar{display:grid;gap:.65rem;align-content:start}
.ur-side-card{padding:.8rem .9rem}
.ur-side-title{margin:0 0 .65rem;font-size:.88rem;font-weight:700;color:#0f172a}
.ur-side-label{margin:0;font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.ur-detail-head{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.75rem}
.ur-detail-head strong{display:block;font-size:.92rem;color:#0f172a}
.ur-detail-head .ur-role-badge,.ur-detail-head .ur-status-pill{margin-top:.25rem;margin-right:.25rem}
.ur-status-pill{display:inline-flex;padding:.15rem .45rem;border-radius:.25rem;font-size:.65rem;font-weight:700}
.ur-pill-active{background:#d1fae5;color:#065f46}
.ur-pill-inactive{background:#f1f5f9;color:#64748b}
.ur-detail-list{margin:0;display:grid;gap:.45rem}
.ur-detail-list div{display:grid;grid-template-columns:6.5rem 1fr;gap:.35rem;font-size:.78rem}
.ur-detail-list dt{margin:0;color:#64748b;font-weight:600}
.ur-detail-list dd{margin:0;color:#0f172a}
.ur-perm-summary{margin:.35rem 0;font-size:.78rem;color:#334155}
.ur-perm-bar-wrap{height:.35rem;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:.35rem 0}
.ur-perm-bar{height:100%;background:#059669;border-radius:999px}
.ur-side-btn{width:100%;justify-content:center;font-size:.75rem;min-height:2.1rem}
.ur-quick-links{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}
.ur-quick-links a,.ur-quick-links button{font-size:.78rem;color:#0284c7;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.ur-quick-links a:hover,.ur-quick-links button:hover{text-decoration:underline}
.ur-info-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.45rem;font-size:.72rem;color:#1e40af;line-height:1.45}
.ur-info-alert svg{width:.9rem;height:.9rem;flex:0 0 auto;margin-top:.05rem}
.ur-role-detail-head{display:flex;gap:.55rem;align-items:flex-start;margin-bottom:.5rem}
.ur-shield-icon{width:2.25rem;height:2.25rem;border-radius:.4rem;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;flex:0 0 auto}
.ur-shield-icon svg{width:1.1rem;height:1.1rem}
.ur-role-desc{font-size:.78rem;color:#475569;margin:0 0 .75rem;line-height:1.45}
.ur-perm-page .ur-perm-header{align-items:flex-start}
.ur-perm-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.ur-role-summary-card{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;margin-bottom:.85rem}
.ur-role-summary-main h3{margin:0 .5rem .35rem 0;display:inline;font-size:1rem}
.ur-role-summary-main p{margin:.5rem 0 0;font-size:.8rem;color:#64748b;flex:1 1 100%}
.ur-role-summary-stats{display:flex;flex-wrap:wrap;gap:1.25rem}
.ur-role-summary-stats div span{display:block;font-size:.68rem;color:#64748b;font-weight:600}
.ur-role-summary-stats div strong{font-size:.85rem;color:#0f172a}
.ur-perm-layout{display:grid;grid-template-columns:minmax(0,1fr) 16.5rem;gap:.85rem;align-items:start}
.ur-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:.75rem}
.ur-tab{background:none;border:0;padding:.55rem 1rem;font-size:.8rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.ur-tab.active{color:#0284c7;border-bottom-color:#0284c7}
.ur-perm-table-card{padding:0;overflow:hidden}
.ur-perm-table-wrap{border-top:1px solid #e5e7eb;overflow-x:auto}
.ur-module-search{margin:.75rem .85rem;max-width:18rem}
.ur-perm-matrix{margin:0;min-width:45rem}
.ur-perm-matrix thead th{background:#f8fafc;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;padding:.65rem .5rem;border-bottom:1px solid #e5e7eb}
.ur-perm-matrix tbody td{padding:.85rem .5rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.ur-perm-matrix tbody tr:last-child td{border-bottom:0}
.ur-perm-matrix th.ur-col-module,.ur-perm-matrix td.ur-col-module{text-align:left;padding-left:.85rem;min-width:14rem}
.ur-perm-matrix th.ur-col-check,.ur-perm-matrix td.ur-col-check{text-align:center;width:4.25rem}
.ur-perm-matrix th.ur-col-toggle,.ur-perm-matrix td.ur-col-toggle{text-align:center;width:5.5rem;padding-right:.85rem}
.ur-mod-cell{display:flex;align-items:center;gap:.7rem}
.ur-mod-icon{width:2.35rem;height:2.35rem;border-radius:.45rem;display:grid;place-items:center;flex:0 0 auto}
.ur-mod-icon svg{width:1.15rem;height:1.15rem}
.ur-mod-blue{background:#dbeafe;color:#2563eb}
.ur-mod-green{background:#d1fae5;color:#059669}
.ur-mod-purple{background:#ede9fe;color:#7c3aed}
.ur-mod-orange{background:#ffedd5;color:#ea580c}
.ur-mod-cyan{background:#cffafe;color:#0891b2}
.ur-mod-pink{background:#fce7f3;color:#db2777}
.ur-mod-gold{background:#fef3c7;color:#ca8a04}
.ur-mod-slate{background:#f1f5f9;color:#475569}
.ur-mod-cell strong{display:block;font-size:.85rem;color:#0f172a;font-weight:700}
.ur-mod-cell small{display:block;font-size:.75rem;color:#94a3b8;margin-top:.12rem;line-height:1.35}
.ur-check-wrap{display:inline-flex;align-items:center;justify-content:center;margin:0}
.ur-check{width:1.05rem;height:1.05rem;accent-color:#2563eb;cursor:pointer;margin:0}
.ur-check:disabled{opacity:1;cursor:default}
.ur-na{color:#cbd5e1;font-size:.9rem;font-weight:600}
.ur-perm-empty-tab{padding:2rem;text-align:center;color:#64748b;font-size:.85rem}
.ur-link-btn{background:none;border:0;padding:0;font-size:.78rem;color:#0284c7;cursor:pointer;text-align:left}
.ur-link-btn:hover{text-decoration:underline}
.ur-toggle{display:inline-flex;align-items:center;cursor:pointer}
.ur-toggle input{display:none}
.ur-toggle span{width:2.1rem;height:1.15rem;background:#cbd5e1;border-radius:999px;position:relative;transition:background .15s}
.ur-toggle span::after{content:'';position:absolute;top:.12rem;left:.12rem;width:.9rem;height:.9rem;background:#fff;border-radius:50%;transition:transform .15s}
.ur-toggle input:checked+span{background:#0284c7}
.ur-toggle input:checked+span::after{transform:translateX(.95rem)}
.ur-perm-footer-alert{margin-top:.75rem}
.ur-perm-form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.85rem;padding-top:.75rem}
.ur-donut-wrap{display:grid;place-items:center;margin:.5rem 0}
.ur-donut{width:5.5rem;height:5.5rem;border-radius:50%;background:conic-gradient(#059669 calc(var(--pct) * 1%), #e2e8f0 0);display:grid;place-items:center;position:relative}
.ur-donut::before{content:'';position:absolute;inset:.85rem;background:#fff;border-radius:50%}
.ur-donut span{position:relative;text-align:center;font-size:.7rem;color:#64748b;line-height:1.2}
.ur-donut span strong{display:block;font-size:1rem;color:#0f172a}
.ur-donut-legend{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.72rem;color:#475569}
.ur-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.35rem}
.ur-dot-granted{background:#059669}
.ur-dot-partial{background:#f59e0b}
.ur-dot-none{background:#e2e8f0}
.ur-perm-sidebar{display:grid;gap:.65rem}
@media (max-width:1280px){.ur-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ur-layout,.ur-perm-layout{grid-template-columns:1fr}}
/* ===== USERS & ROLES END ===== */

/* ===== DASHBOARD V2 (mockup alignment) START ===== */
.dashboard-page.dash-page-v2{display:grid;gap:1rem;min-width:0}
.dash-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.dash-metric-card{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem!important;background:#fff;border:1px solid #e5e7eb;border-radius:.55rem;box-shadow:0 1px 3px rgba(15,23,42,.06);min-width:0}
.dash-metric-body{flex:1;min-width:0;display:grid;gap:.2rem}
.dash-metric-label{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.dash-metric-card strong{font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.15}
.dash-metric-card small{font-size:.75rem;font-weight:600}
.dash-metric-link{font-weight:600!important}
.dash-main-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:.85rem;align-items:stretch}
.dash-panel-head{min-height:3.25rem;padding:.85rem 1rem!important;border-bottom:1px solid #e5e7eb}
.dash-panel-head h2{font-size:.95rem!important;font-weight:700!important;color:#0f172a}
.dash-panel-link{font-size:.78rem;font-weight:600;color:#0284c7!important;text-decoration:none;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap}
.dash-panel-link:hover{text-decoration:underline}
.dash-cal-actions{display:flex;align-items:center;gap:.35rem}
.dash-month-select{min-height:2rem;border:1px solid #d7dce4;border-radius:.35rem;padding:0 .55rem;font-size:.82rem;font-weight:700;color:#334155;background:#fff;max-width:9.5rem}
.dash-cal-grid{padding:0 1rem 1rem}
.dash-cal-legend{padding:.65rem 1rem 1rem;border-top:1px solid #e5e7eb}
.dash-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dash-table{min-width:100%;font-size:.8rem}
.dash-table th{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.02em;padding:.65rem .75rem!important;white-space:nowrap}
.dash-table td{padding:.65rem .75rem!important;vertical-align:middle}
.dash-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.dash-finance-grid .finance-card-v2{background:#fff;border:1px solid #e5e7eb;border-radius:.55rem;box-shadow:0 1px 3px rgba(15,23,42,.06);min-width:0}
.fc-value-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}
.fc-value-row strong{flex:1;min-width:0;font-size:1.35rem!important}
.fc-value-row .fc-sparkline{flex:0 0 7.5rem;width:7.5rem;height:2.25rem}
.dash-occ-body{align-items:center;margin-top:.25rem}
.dash-occ-pct{font-size:1.65rem!important;font-weight:800;display:block;line-height:1.1}
.dash-table-scroll .dash-recent-table{min-width:52rem}
.recent-panel{margin-bottom:.25rem}

/* Upcoming Events table (dashboard mockup) */
.dash-upcoming-panel{display:flex;flex-direction:column;min-width:0}
.dash-upcoming-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid #e5e7eb}
.dash-upcoming-head h2{margin:0;font-size:1rem;font-weight:700;color:#0f172a}
.dash-btn-view-all{display:inline-flex;align-items:center;justify-content:center;min-height:2.15rem;padding:0 .85rem;border:1px solid #d7dce4;border-radius:.4rem;background:#fff;color:#334155!important;font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}
.dash-btn-view-all:hover{background:#f8fafc;border-color:#cbd5e1;text-decoration:none}
.dash-upcoming-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0}
.dash-upcoming-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:40rem}
.dash-upcoming-table thead th{padding:.7rem 1rem;text-align:left;font-size:.72rem;font-weight:600;color:#64748b;background:#fafbfc;border-bottom:1px solid #e5e7eb;white-space:nowrap}
.dash-upcoming-table tbody td{padding:.8rem 1rem;text-align:left;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.dash-upcoming-table tbody tr:last-child td{border-bottom:0}
.dash-upcoming-table tbody tr:hover td{background:#fafbfc}
.dash-upcoming-client{font-weight:600;color:#0f172a}
.dash-status-badge{display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap}
.dash-status-badge.confirmed{background:#dcfce7;color:#166534}
.dash-status-badge.tentative{background:#fef3c7;color:#92400e}
.dash-status-badge.pending{background:#ffe2e5;color:#9f1239}
.dash-balance{font-weight:600;white-space:nowrap}
.dash-balance-due{color:#dc2626!important}
.dash-balance-paid{color:#16a34a!important}
.dash-upcoming-empty{padding:1.5rem 1rem!important;text-align:center;color:#94a3b8;font-size:.85rem}
.dash-upcoming-panel .dash-upcoming-table-wrap{flex:1}
@media (max-width:1280px){
.dash-metric-grid,.dash-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dash-main-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
.dash-metric-grid,.dash-finance-grid{grid-template-columns:1fr}
}
/* ===== DASHBOARD V2 (mockup alignment) END ===== */

/* ===== SETTINGS PAGES — inputs, labels, buttons START ===== */

/* Fix btn-dark/btn-outline text wrapping */
.btn-dark,.btn-gold,.btn-outline{
    white-space:nowrap;
    gap:.5rem;
    font-size:.875rem;
    min-height:2.65rem;
    padding:0 1.25rem;
    border-radius:.5rem;
    line-height:1;
}
.btn-dark:hover{background:#1a2d45}
.btn-outline:hover{background:#f8fafc}

/* Settings form labels — consistent size, weight, spacing */
.settings-label{
    display:grid;
    gap:.45rem;
    font-size:.82rem;
    font-weight:600;
    color:#374151;
    line-height:1.4;
}
.settings-label span.hint{
    font-size:.75rem;
    color:#64748b;
    font-weight:400;
    margin-top:-.1rem;
}

/* Settings inputs & selects — taller, more padding, cleaner border */
.settings-input,
.settings-select,
.settings-textarea{
    min-height:2.85rem;
    border:1px solid #d7dce4;
    border-radius:.5rem;
    background:#fff;
    color:#334155;
    font-size:.875rem;
    padding:.6rem .85rem;
    width:100%;
    transition:border-color .15s,box-shadow .15s;
    line-height:1.5;
}
.settings-input:focus,
.settings-select:focus,
.settings-textarea:focus{
    outline:none;
    border-color:#1d4ed8;
    box-shadow:0 0 0 3px rgba(29,78,216,.1);
}
.settings-textarea{
    min-height:5rem;
    resize:vertical;
}
.settings-select{
    appearance:auto;
    cursor:pointer;
}

/* Override form-grid inputs inside settings cards to use the new style */
.settings-card .form-grid input,
.settings-card .form-grid select,
.settings-card .form-grid textarea,
.settings-card label input[type=text],
.settings-card label input[type=number],
.settings-card label input[type=email],
.settings-card label input[type=url],
.settings-card label input[type=password],
.settings-card label input[type=time],
.settings-card label select,
.settings-card label textarea{
    min-height:2.85rem;
    border:1px solid #d7dce4;
    border-radius:.5rem;
    background:#fff;
    color:#334155;
    font-size:.875rem;
    padding:.6rem .85rem;
    width:100%;
    transition:border-color .15s,box-shadow .15s;
}
.settings-card label input:focus,
.settings-card label select:focus,
.settings-card label textarea:focus,
.settings-card .form-grid input:focus,
.settings-card .form-grid select:focus,
.settings-card .form-grid textarea:focus{
    outline:none;
    border-color:#1d4ed8;
    box-shadow:0 0 0 3px rgba(29,78,216,.1);
}
.settings-card label{
    font-size:.82rem;
    font-weight:600;
    color:#374151;
    display:grid;
    gap:.45rem;
    line-height:1.4;
}
.settings-card label b{color:#dc2626}
/* Prevent settings-card label styles from affecting flex/checkbox labels */
.settings-card label[style*="flex"],
.settings-card label[style*="display:flex"]{
    display:flex !important;
    font-size:.875rem;
    font-weight:500;
    gap:.5rem;
}

/* Settings section title */
.settings-section-title{
    margin:0 0 1.25rem;
    font-size:.95rem;
    font-weight:700;
    color:#0f172a;
    padding-bottom:.75rem;
    border-bottom:1px solid #f1f5f9;
}

/* Settings toggle button */
.settings-toggle{
    width:2.85rem;
    height:1.6rem;
    border-radius:999px;
    border:0;
    cursor:pointer;
    position:relative;
    flex:0 0 auto;
    transition:background .2s;
}
.settings-toggle-on{background:#1e40af}
.settings-toggle-off{background:#d1d5db}
.settings-toggle-knob{
    position:absolute;
    top:.2rem;
    width:1.2rem;
    height:1.2rem;
    border-radius:50%;
    background:#fff;
    display:block;
    box-shadow:0 1px 3px rgba(0,0,0,.2);
    transition:all .2s;
}
.settings-toggle-on .settings-toggle-knob{right:.2rem}
.settings-toggle-off .settings-toggle-knob{left:.2rem}

/* Settings 3-col grid for form+toggles layout */
.settings-3col{
    display:grid;
    grid-template-columns:1fr 1fr 16rem;
    gap:1rem 1.5rem;
    align-items:start;
}
@media (max-width: 1024px) {
    .settings-3col {
        grid-template-columns: 1fr;
    }
    .settings-toggle-col {
        border-left: 0;
        border-top: 1px solid #f1f5f9;
        padding-left: 0;
        padding-top: 1.25rem;
    }
}
.settings-toggle-col{
    border-left:1px solid #f1f5f9;
    padding-left:1.25rem;
    display:grid;
    gap:0;
}
.settings-toggle-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    padding:.6rem 0;
    border-bottom:1px solid #f8fafc;
}
.settings-toggle-row:last-child{border-bottom:0}
.settings-toggle-row-label{font-size:.82rem;font-weight:600;color:#0f172a;line-height:1.3}
.settings-toggle-row-desc{font-size:.75rem;color:#64748b;margin-top:.1rem}

/* Settings page header Save button — ensure it never wraps */
.settings-save-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    min-height:2.65rem;
    padding:0 1.25rem;
    border:0;
    border-radius:.5rem;
    background:#0d1828;
    color:#fff;
    font-size:.875rem;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
    transition:background .15s;
    line-height:1;
}
.settings-save-btn:hover{background:#1a2d45}
.settings-save-btn svg{width:1rem;height:1rem;flex:0 0 auto;max-width:none;max-height:none}
/* ===== SETTINGS PAGES — inputs, labels, buttons END ===== */

/* ===== PAGE HEADER ACTION BUTTONS START ===== */
.page-header-row .btn-dark,
.page-header-row .btn-outline,
.page-header-row .settings-save-btn,
.page-header-row a[style*="inline-flex"],
.page-header-row button[style*="inline-flex"]{
    white-space:nowrap !important;
    flex-shrink:0 !important;
    word-break:keep-all !important;
}
/* ===== PAGE HEADER ACTION BUTTONS END ===== */

/* ===== SIDEBAR COLLAPSE FUNCTIONALITY START ===== */

/* Base transition for smooth collapse/expand */
.erp-shell {
    transition: grid-template-columns .3s ease-in-out;
}
@media (min-width: 1024px) {
    .erp-shell:not(.collapsed) {
        grid-template-columns: 17rem minmax(0, 1fr) !important;
    }
}
.erp-sidebar {
    transition: width .3s ease-in-out;
    width: 17rem;
}
.erp-sidebar:not(.collapsed) {
    width: 17rem !important; /* Force explicit width when expanded to show text */
}

/* Main layout adjustment for collapsed sidebar */
.erp-shell.collapsed {
    /* Override the default grid template columns for large screens */
    grid-template-columns: 5rem minmax(0, 1fr) !important; /* Adjust sidebar width to 5rem when collapsed and prevent table overflows */
}

/* Sidebar adjustments when collapsed */
.erp-sidebar.collapsed {
    width: 5rem; /* Explicit width for collapsed state */
}

/* Hide text smoothly when collapsing */
.erp-sidebar.collapsed .nav-link span,
.erp-sidebar.collapsed .sidebar-toggle-btn span,
.erp-sidebar.collapsed #sidebar-collapse-btn span {
    position: static;
    max-width: 0;
    opacity: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    display: inline-block;
    transition: max-width .3s ease-in-out, opacity .2s ease-in-out;
    pointer-events: none;
    vertical-align: middle;
    border: none;
}

/* Show tooltip on hover when collapsed */
.erp-sidebar.collapsed .nav-link:hover span,
.erp-sidebar.collapsed .sidebar-toggle-btn:hover span,
.erp-sidebar.collapsed #sidebar-collapse-btn:hover span {
    position: absolute;
    left: calc(100% + 0.65rem);
    top: 50%;
    transform: translateY(-50%);
    background: #0f1c2e;
    color: #fff;
    padding: 0.4rem 0.75rem;
    border-radius: 0.4rem;
    font-size: 0.8rem;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0,0,0,0.3);
    z-index: 50;
    opacity: 1;
    max-width: none;
    overflow: visible;
    pointer-events: auto;
    transition: opacity 0.2s ease-in-out 0.1s;
}

/* Tooltip Arrow */
.erp-sidebar.collapsed .nav-link:hover span::before,
.erp-sidebar.collapsed .sidebar-toggle-btn:hover span::before,
.erp-sidebar.collapsed #sidebar-collapse-btn:hover span::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-right-color: #0f1c2e;
    display: block;
}

/* Adjust nav link padding and alignment when collapsed */
.erp-sidebar.collapsed .nav-link,
.erp-sidebar.collapsed .sidebar-toggle-btn,
.erp-sidebar.collapsed #sidebar-collapse-btn {
    justify-content: flex-start;
    padding: .5rem 1.15rem; /* Visually center 1.1rem icon inside 3.5rem button container */
    gap: 0;
    position: relative;
    overflow: visible;
}

/* Hide chevron in nav groups when collapsed */
.erp-sidebar.collapsed .nav-chevron {
    display: none;
}

/* Adjust sidebar brand when collapsed */
.erp-sidebar.collapsed .sidebar-brand {
    padding: 1.25rem 0.5rem 1rem !important; /* Adjust padding */
    gap: 0 !important;
}

/* Assuming brand text is wrapped in a span or div with class 'brand-text' */
.erp-sidebar.collapsed .sidebar-brand .brand-text {
    display: none;
}

/* Adjust sub-menu when collapsed to appear as a pop-out */
.erp-sidebar.collapsed .nav-sub {
    position: absolute; /* Allow sub-menu to overlay content */
    left: 100%; /* Position next to collapsed sidebar */
    top: 0; /* Reset top to align with nav group */
    margin-left: 0.5rem;
    background: linear-gradient(180deg,#0f1c2e 0%,#0a1422 100%); /* Same background as sidebar */
    border-radius: .45rem;
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
    z-index: 40; /* Ensure it's above main content */
    min-width: 10rem; /* Give some width to the pop-out menu */
    padding: .5rem;
    display: none; /* Hidden by default, shown on hover/focus */
}

/* Ensure sub-menu is visible on hover/focus when collapsed */
.erp-sidebar.collapsed .nav-group:hover .nav-sub,
.erp-sidebar.collapsed .nav-group:focus-within .nav-sub {
    display: flex; /* Show sub-menu on hover/focus */
}

/* Sidebar toggle button styling */
.sidebar-toggle-btn, #sidebar-collapse-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 2.65rem;
    padding: .5rem .75rem;
    font-size: .875rem;
    font-weight: 500;
    color: #c8d3e0;
    background: none;
    border: 1px solid transparent;
    margin: 0;
    cursor: pointer;
    transition: background .15s, color .15s, padding .3s ease-in-out, gap .3s ease-in-out;
    gap: .7rem;
    border-radius: .45rem;
    white-space: nowrap;
    text-align: left;
    overflow: visible; /* Changed from hidden to ensure tooltips show */
}

.sidebar-toggle-btn:hover, #sidebar-collapse-btn:hover {
    background: rgba(255,255,255,.07);
    color: #fff !important;
}

.sidebar-toggle-btn svg, #sidebar-collapse-btn svg {
    width: 1.1rem !important;
    height: 1.1rem !important;
    max-width: 1.1rem !important;
    max-height: 1.1rem !important;
    flex: 0 0 auto;
    opacity: .8;
    transition: transform .2s;
}

/* Rotate icon when sidebar is collapsed */
.erp-sidebar.collapsed .sidebar-toggle-btn svg,
.erp-sidebar.collapsed #sidebar-collapse-btn svg {
    transform: rotate(180deg);
}

/* Adjust toggle button alignment and convert text to tooltip */
.erp-sidebar.collapsed .sidebar-toggle-btn,
.erp-sidebar.collapsed #sidebar-collapse-btn {
    justify-content: center;
    padding: .5rem 0;
    position: relative;
    overflow: visible;
}

.erp-sidebar.collapsed .sidebar-toggle-btn span,
.erp-sidebar.collapsed #sidebar-collapse-btn span {
    position: absolute;
    left: calc(100% + 0.65rem);
    top: 50%;
    transform: translateY(-50%);
    background: #0f1c2e;
    color: #fff;
    padding: 0.4rem 0.75rem;
    border-radius: 0.4rem;
    font-size: 0.8rem;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0,0,0,0.3);
    z-index: 50;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
    display: block;
}

/* Tooltip Arrow for collapse button */
.erp-sidebar.collapsed .sidebar-toggle-btn span::before,
.erp-sidebar.collapsed #sidebar-collapse-btn span::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-right-color: #0f1c2e;
}

.erp-sidebar.collapsed .sidebar-toggle-btn:hover span,
.erp-sidebar.collapsed #sidebar-collapse-btn:hover span {
    opacity: 1;
    visibility: visible;
}

/* ENFORCE text visibility and layout in expanded state */
.erp-sidebar:not(.collapsed) .nav-link,
.erp-sidebar:not(.collapsed) .sidebar-toggle-btn,
.erp-sidebar:not(.collapsed) #sidebar-collapse-btn {
    overflow: hidden;
}

.erp-sidebar:not(.collapsed) .nav-link span,
.erp-sidebar:not(.collapsed) .sidebar-toggle-btn span,
.erp-sidebar:not(.collapsed) #sidebar-collapse-btn span {
    position: static;
    opacity: 1;
    visibility: visible;
    display: inline-block;
    background: transparent;
    color: inherit;
    padding: 0;
    box-shadow: none;
    transform: none;
    pointer-events: auto;
    max-width: 12rem;
    overflow: hidden;
    transition: max-width .3s ease-in-out, opacity .3s ease-in-out;
    vertical-align: middle;
}
.erp-sidebar:not(.collapsed) .nav-link span::before,
.erp-sidebar:not(.collapsed) .sidebar-toggle-btn span::before,
.erp-sidebar:not(.collapsed) #sidebar-collapse-btn span::before {
    display: none;
}

/* Adjust sidebar-bottom for collapsed state */
.erp-sidebar.collapsed .sidebar-bottom {
    padding: 1rem 0.5rem; /* Adjust padding */
}
/* Fix SVG size inside header buttons */
.page-header-row a svg,
.page-header-row button svg{
    width:.85rem !important;
    height:.85rem !important;
    max-width:.85rem !important;
    max-height:.85rem !important;
    flex:0 0 auto;
}
/* ===== SIDEBAR COLLAPSE FUNCTIONALITY END ===== */

/* ===== SETTINGS PAGES — comprehensive fixes START ===== */

/* Catch ALL input types inside settings-card labels */
.settings-card label input,
.settings-card label select,
.settings-card label textarea,
.settings-card .form-grid label input,
.settings-card .form-grid label select,
.settings-card .form-grid label textarea{
    min-height:2.85rem;
    border:1px solid #d7dce4;
    border-radius:.5rem;
    background:#fff;
    color:#334155;
    font-size:.875rem;
    padding:.6rem .85rem;
    width:100%;
    transition:border-color .15s,box-shadow .15s;
    line-height:1.5;
}
.settings-card label input:focus,
.settings-card label select:focus,
.settings-card label textarea:focus{
    outline:none;
    border-color:#1d4ed8;
    box-shadow:0 0 0 3px rgba(29,78,216,.1);
}
/* Textarea taller */
.settings-card label textarea,
.settings-card .form-grid label textarea{
    min-height:5rem;
    resize:vertical;
}
/* Don't override checkbox/radio inputs */
.settings-card label input[type=checkbox],
.settings-card label input[type=radio]{
    min-height:auto;
    width:auto;
    padding:0;
    border-radius:.25rem;
}

/* Settings form-grid gap */
.settings-card .form-grid{
    gap:1.1rem 1.35rem;
}
.settings-card .form-grid label{
    font-size:.82rem;
    font-weight:600;
    color:#374151;
    display:grid;
    gap:.45rem;
    line-height:1.4;
}

/* Settings sidebar — consistent 15rem width */
.settings-sidebar-wrap{
    display:grid;
    grid-template-columns:15rem 1fr;
    gap:1.25rem;
    align-items:start;
}

/* Settings 3-col grid inputs — no width:100% override needed, grid handles it */
.settings-card [style*="grid-template-columns"] label input,
.settings-card [style*="grid-template-columns"] label select{
    width:100%;
}

/* Numbering page — inline label inputs */
.settings-card label > input[style*="text-transform"],
.settings-card label > select[style*="text-transform"]{
    text-transform:uppercase;
}

/* Fix btn-dark/btn-outline inside settings cards */
.settings-card .btn-dark,
.settings-card .btn-outline{
    white-space:nowrap;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
}
.settings-card .btn-dark svg,
.settings-card .btn-outline svg{
    width:.85rem !important;
    height:.85rem !important;
    max-width:.85rem !important;
    max-height:.85rem !important;
    flex:0 0 auto;
}

/* Settings save button — always single line */
.settings-save-btn{
    white-space:nowrap !important;
    flex-shrink:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:.5rem !important;
    min-height:2.65rem !important;
    padding:0 1.25rem !important;
    border:0 !important;
    border-radius:.5rem !important;
    background:#0d1828 !important;
    color:#fff !important;
    font-size:.875rem !important;
    font-weight:700 !important;
    cursor:pointer !important;
    line-height:1 !important;
}
.settings-save-btn:hover{background:#1a2d45 !important}
.settings-save-btn svg{
    width:.85rem !important;
    height:.85rem !important;
    max-width:.85rem !important;
    max-height:.85rem !important;
    flex:0 0 auto !important;
}
/* ===== SETTINGS PAGES — comprehensive fixes END ===== */

/* ===== SIDEBAR v3 — matches screenshot START ===== */

/* Sidebar container */
.erp-sidebar{
    background:linear-gradient(180deg,#0f1c2e 0%,#0a1422 100%);
    box-shadow:4px 0 20px rgba(0,0,0,.35);
    display:flex;
    flex-direction:column;
}
.erp-sidebar > div{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:100vh;
    width: 100%;
}

/* Brand area */
.sidebar-brand{
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    padding:1.25rem 1rem 1rem !important;
    gap:.45rem !important;
    border-bottom:1px solid rgba(255,255,255,.07);
    text-decoration:none !important;
    overflow: hidden;
}
.sidebar-brand img, .sidebar-brand svg {
    width: 100% !important;
    height: auto !important;
    max-width: 17rem !important;
    max-height: 9.5rem !important;
    object-fit: contain;
    transition: max-width 0.3s ease, max-height 0.3s ease;
}
.sidebar-brand span, .sidebar-brand .brand-text, .sidebar-brand strong {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.03em;
    white-space: normal;
}

/* Nav links */
.nav-link{
    min-height:2.65rem;
    display:flex;
    align-items:center;
    gap:.7rem;
    border-radius:.45rem;
    padding:.5rem .75rem;
    font-size:.875rem;
    font-weight:500;
    color:#c8d3e0;
    border:1px solid transparent;
    cursor:pointer;
    transition:background .15s,color .15s,padding .3s ease-in-out,gap .3s ease-in-out;
    text-decoration:none;
    background:none;
    width:100%;
    text-align:left;
    white-space:nowrap;
    overflow: hidden;
}
.nav-link svg{
    width:1.1rem !important;
    height:1.1rem !important;
    max-width:1.1rem !important;
    max-height:1.1rem !important;
    flex:0 0 auto;
    opacity:.8;
}
.nav-link:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
}
.nav-link:hover svg{ opacity:1; }

/* Active nav link — amber/gold gradient matching screenshot */
.nav-link-active{
    background:linear-gradient(135deg,#c8922a,#a97220) !important;
    color:#fff !important;
    font-weight:600 !important;
    box-shadow:0 4px 14px rgba(180,120,30,.3);
    border-color:transparent !important;
}
.nav-link-active svg{ opacity:1 !important; }

/* Logout link */
.nav-logout{ color:#f87171 !important; }
.nav-logout:hover{ background:rgba(248,113,113,.1) !important; color:#fca5a5 !important; }

/* Sub-menu */
.nav-sub{
    display:none;
    padding-left:2.35rem;
    gap:.1rem;
    flex-direction:column;
    padding-bottom:.25rem;
}
.nav-sub.open{ display:flex; }
.nav-sub-link{
    display:block;
    padding:.42rem .75rem;
    border-radius:.35rem;
    font-size:.82rem;
    font-weight:500;
    color:#8899b0;
    text-decoration:none;
    transition:background .12s,color .12s;
    white-space:nowrap;
}
.nav-sub-link:hover{
    background:rgba(255,255,255,.06);
    color:#e2e8f0;
}
.nav-sub-link.active{
    background:rgba(20,40,70,.95);
    color:#fff !important;
    font-weight:600;
}

/* Chevron */
.nav-chevron{
    width:.85rem !important;
    height:.85rem !important;
    max-width:.85rem !important;
    max-height:.85rem !important;
    margin-left:auto;
    transition:transform .2s;
    flex:0 0 auto;
    opacity:.7;
}
.nav-chevron.open{ transform:rotate(180deg); }

/* (Collapse button hover merged above) */
/* ===== SIDEBAR v3 — matches screenshot END ===== */
