:root{
  --primary:#259372;--primary-dark:#1f7c60;--primary-soft:#edf8f4;
  --sidebar:#1e2538;--sidebar-2:#1e2538;--sidebar-text:#dee1e8;--sidebar-muted:#8b93a5;
  --bg:#f9f8f5;--card:#ffffff;--text:#252a37;--muted:#727987;--border:#dee1e8;--border-strong:#cfd4de;
  --success:#067647;--success-soft:#ecfdf3;--warn:#b54708;--warn-soft:#fffaeb;--danger:#b42318;--danger-soft:#fef3f2;
  --shadow:0 1px 2px rgba(37,42,55,.05);--shadow-lg:0 12px 28px rgba(37,42,55,.14);
  --radius:8px;--sidebar-w:240px;
}
.theme-emerald-slate{--primary:#259372;--primary-dark:#1f7c60;--primary-soft:#edf8f4;--sidebar:#1e2538;--sidebar-2:#1e2538;--sidebar-text:#dee1e8;--sidebar-muted:#8b93a5;--bg:#f9f8f5;--text:#252a37;--muted:#727987;--border:#dee1e8;--border-strong:#cfd4de}
.theme-rose-gold{--primary:#b75c70;--primary-dark:#9d4b5e;--primary-soft:#fbf0f2;--sidebar:#3e232d;--sidebar-2:#3e232d;--sidebar-text:#f1e6e9;--sidebar-muted:#aa8e98;--bg:#fbf5f4;--text:#39232b;--muted:#866974;--border:#e8dcd8;--border-strong:#d9c8c3}
.theme-navy-gold{--primary:#b8872e;--primary-dark:#976e23;--primary-soft:#fbf6e9;--sidebar:#101f37;--sidebar-2:#101f37;--sidebar-text:#f0ece0;--sidebar-muted:#9a9384;--bg:#f8f6f1;--text:#17243b;--muted:#636d7e;--border:#e3dfd3;--border-strong:#d2ccb9}
.theme-sand-olive{--primary:#727e44;--primary-dark:#5e6937;--primary-soft:#f4f4e9;--sidebar:#303324;--sidebar-2:#303324;--sidebar-text:#eee9dd;--sidebar-muted:#979482;--bg:#f6f2e9;--text:#323626;--muted:#747963;--border:#ddd7ca;--border-strong:#cbc3b2}
.theme-charcoal-cream{--primary:#4f5c63;--primary-dark:#3f4a50;--primary-soft:#f0f1f0;--sidebar:#1f2528;--sidebar-2:#1f2528;--sidebar-text:#ebe8e2;--sidebar-muted:#90928e;--bg:#f5f1eb;--text:#262c31;--muted:#656f76;--border:#ded9cf;--border-strong:#cdc5b8}
.theme-lavender-mist{--primary:#7668b1;--primary-dark:#625497;--primary-soft:#f2eff9;--sidebar:#2a2640;--sidebar-2:#2a2640;--sidebar-text:#eeeaf6;--sidebar-muted:#9590aa;--bg:#f7f4fb;--text:#29253c;--muted:#726e87;--border:#dfd9e8;--border-strong:#cec5dc}
*{box-sizing:border-box}html{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:16px}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.right{text-align:right}.nowrap{white-space:nowrap}.w-full{width:100%}

/* Login */
.login-body{background:#eef2f7}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1fr) minmax(440px,1fr)}.login-brand-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 15%,rgba(37,99,235,.28),transparent 34%),linear-gradient(145deg,#08101f,#111827 55%,#0c1630);color:#fff;display:flex;align-items:center;padding:8vw}.login-brand-panel:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-180px;bottom:-180px;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012)}.login-brand-inner{position:relative;z-index:1;max-width:580px}.login-logo{width:88px;height:88px;object-fit:contain;margin-bottom:36px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--primary);margin:0 0 10px}.eyebrow.light{color:#93c5fd}.login-brand-inner h1{font-size:clamp(34px,4vw,58px);line-height:1.03;letter-spacing:-.04em;margin:0}.login-copy{font-size:16px;line-height:1.7;color:#aab4c5;max-width:520px;margin:22px 0 36px}.login-security-note{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#cbd5e1;background:rgba(255,255,255,.04);font-size:12px}.security-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.12)}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-card{width:min(430px,100%)}.login-card h2{font-size:32px;letter-spacing:-.03em;margin:0 0 8px}.form-stack{display:grid;gap:18px;margin-top:30px}.login-footnote{margin-top:22px;font-size:12px;color:#98a2b3;text-align:center}.mobile-login-brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.mobile-login-brand img{width:40px;height:40px}.setup-warning{background:var(--warn-soft);border:1px solid #fedf89;color:#93370d;padding:12px 14px;border-radius:10px;font-size:13px;margin-top:18px;line-height:1.5}.form-error{min-height:18px;color:var(--danger);font-size:13px;margin:0}

/* Shell */
.app-body{background:var(--bg);overflow:hidden}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.055);z-index:50}.brand-block{min-height:104px;display:flex;align-items:center;gap:14px;padding:20px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-block img{width:64px;height:64px;object-fit:contain;border-radius:10px}.brand-block strong{display:block;font-size:16px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:136px}.brand-block small{display:block;margin-top:4px;font-size:11px;letter-spacing:.16em;color:var(--sidebar-muted);font-weight:700}.nav-list{padding:12px;display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}.nav-list a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;color:color-mix(in srgb,var(--sidebar-text) 70%,transparent);font-size:14px;font-weight:500;transition:.18s ease}.nav-list a:hover{background:rgba(255,255,255,.055);color:#f8fafc}.nav-list a.active{background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12)}.nav-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px}.nav-icon svg,.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-user{padding:12px;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);color:#fff;font-weight:800;font-size:12px}.sidebar-user-text{min-width:0}.sidebar-user-text strong,.sidebar-user-text span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-text strong{font-size:11px;text-transform:capitalize}.sidebar-user-text span{font-size:10px;color:#7f8ba3;margin-top:2px}.main-content{margin-left:var(--sidebar-w);height:100vh;overflow:auto;padding:32px 32px 56px}.page-content{max-width:1280px;margin:0 auto}.mobile-topbar,.mobile-bottom-nav,.sidebar-scrim{display:none}.auth-gate{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;color:var(--muted);font-size:13px}.spinner{width:30px;height:30px;border:3px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}

/* General page UI */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:24px;line-height:1.2;letter-spacing:-.035em;margin:0}.page-head p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h2,.section-title h3{margin:0;font-size:16px;letter-spacing:-.01em}.section-title p{margin:4px 0 0;font-size:12px;color:var(--muted)}.divider{height:1px;background:var(--border);margin:20px 0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.span-2{grid-column:span 2}.stack{display:grid;gap:16px}.surface-soft{background:#fafbfc;border:1px solid var(--border);border-radius:10px;padding:14px}.empty-state{padding:36px 20px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--text);margin-bottom:5px}.subtle-note{font-size:12px;color:var(--muted);line-height:1.5}.danger-text{color:var(--danger)}

/* Buttons */
.btn{border:1px solid var(--border-strong);background:#fff;color:var(--text);padding:9px 13px;border-radius:6px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease;min-height:38px}.btn:hover{background:#f9fafb;border-color:#b7bec8}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn.soft{background:var(--primary-soft);border-color:transparent;color:var(--primary-dark)}.btn.danger{color:var(--danger);border-color:#fecdca;background:#fff}.btn.success{color:var(--success);border-color:#abefc6;background:#fff}.btn-lg{padding:12px 16px;min-height:44px;font-size:13px}.btn-sm{padding:6px 9px;min-height:30px;font-size:11px}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:36px;height:36px;border:1px solid var(--border);background:#fff;border-radius:9px;display:grid;place-items:center;color:#475467}.icon-btn.inverse{background:transparent;border-color:transparent;color:#8a96aa}.icon-btn:hover{background:#f7f8fa}.sidebar .icon-btn:hover{background:rgba(255,255,255,.08)}

/* Forms */
.field{display:grid;gap:7px}.field>span,.field label{font-size:14px;font-weight:500;color:var(--text)}.field .required{color:var(--danger)}input,select,textarea{width:100%;border:1px solid var(--border-strong);background:#fff;color:var(--text);border-radius:8px;padding:10px 11px;outline:none;transition:border-color .15s,box-shadow .15s;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}textarea{min-height:92px;resize:vertical}.input-prefix{display:flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#fff}.input-prefix span{display:flex;align-items:center;padding:0 10px;border-right:1px solid var(--border);font-size:12px;color:#475467;background:#f9fafb}.input-prefix input{border:0;border-radius:0;box-shadow:none!important}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:6px}.checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{position:relative}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:block;border:1px solid var(--border-strong);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:650;background:#fff}.check-chip input:checked+span{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.field-help{font-size:12px;color:var(--muted)}

/* Dashboard */
.hero-strip{padding:19px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.hero-strip h2{font-size:21px;margin:2px 0 0;letter-spacing:-.025em}.hero-strip p{font-size:12px;margin:5px 0 0;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.kpi{padding:15px;min-height:108px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;right:-34px;top:-34px;background:var(--primary-soft)}.kpi-top{display:flex;justify-content:space-between;gap:8px;position:relative;z-index:1}.kpi-label{font-size:11px;color:var(--muted);font-weight:650}.kpi-icon{width:30px;height:30px;border-radius:8px;background:#f2f4f7;display:grid;place-items:center;font-size:13px}.kpi-value{font-size:24px;font-weight:800;letter-spacing:-.03em;margin-top:11px;position:relative;z-index:1}.kpi-helper{font-size:10px;color:#98a2b3;margin-top:3px;position:relative;z-index:1}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.dashboard-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.chart-box{height:300px}.chart-box canvas{max-height:100%}.source-legend{display:grid;gap:9px;margin-top:8px}.source-row{display:flex;justify-content:space-between;font-size:11px}.source-row span:first-child{display:flex;align-items:center;gap:7px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--primary)}.service-list{display:grid;gap:8px}.service-row{padding:10px 0;border-bottom:1px solid #f0f2f5}.service-row:last-child{border-bottom:0}.service-row-top{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.progress{height:5px;background:#f0f2f5;border-radius:999px;margin-top:7px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary);border-radius:999px}.followup-list{display:grid;gap:8px}.followup-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:9px}.followup-time{width:38px;height:38px;border-radius:9px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary-dark);font-size:10px;font-weight:800}.followup-main{min-width:0}.followup-main strong,.followup-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-main strong{font-size:12px}.followup-main span{font-size:10px;color:var(--muted);margin-top:2px}

/* Tables */
.table-card{overflow:hidden}.table-toolbar{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.search{position:relative;width:min(360px,100%)}.search input{padding-left:33px}.search:before{content:"⌕";position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#98a2b3;font-size:16px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{padding:10px 14px;background:color-mix(in srgb,var(--bg) 68%,#fff);border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#667085;text-align:left;white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,#fff);font-size:14px;color:#344054;vertical-align:middle}tbody tr:hover{background:#fcfcfd}tbody tr:last-child td{border-bottom:0}.table-primary{font-weight:750;color:#101828}.table-secondary{font-size:10px;color:#98a2b3;margin-top:2px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}.status.new,.status.pending{background:#f2f4f7;color:#475467}.status.confirmed,.status.paid{background:var(--success-soft);color:var(--success);border-color:#abefc6}.status.follow-up,.status.partially-paid,.status.interested{background:var(--warn-soft);color:var(--warn);border-color:#fedf89}.status.not-interested,.status.cancelled,.status.closed,.status.voided{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}.status.completed{background:#ecfdf3;color:#027a48;border-color:#abefc6}.status.contacted{background:#eff8ff;color:#175cd3}.row-actions{display:flex;gap:5px;justify-content:flex-end}

/* Leads */
.lead-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:14px}.dynamic-fields{background:#fbfcfe;border:1px solid var(--border);padding:15px;border-radius:10px;margin-top:15px}.dynamic-fields h3{font-size:12px;margin:0 0 13px}.lead-form-card{position:sticky;top:0;align-self:start}.lead-summary-card{margin-bottom:14px}.lead-card-list{display:grid;gap:8px}.lead-mobile-card{display:none}

/* Clients */
.client-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px}.client-list{max-height:calc(100vh - 190px);overflow:auto}.client-item{padding:13px 14px;border-bottom:1px solid var(--border);cursor:pointer}.client-item:hover,.client-item.active{background:var(--primary-soft)}.client-item strong{font-size:12px;display:block}.client-item span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.client-profile-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-profile-head h2{margin:0;font-size:20px}.client-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.meta-chip{border:1px solid var(--border);padding:5px 8px;border-radius:999px;font-size:10px;color:#475467}.mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.mini-kpi{background:#fafafa;border:1px solid var(--border);border-radius:9px;padding:11px}.mini-kpi span{display:block;font-size:10px;color:var(--muted)}.mini-kpi strong{display:block;font-size:16px;margin-top:4px}

/* Invoice */
.invoice-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.invoice-sidebar{position:sticky;top:0;align-self:start}.invoice-items-editor{overflow:auto;border:1px solid var(--border);border-radius:9px}.invoice-items-editor table{min-width:850px}.invoice-items-editor input,.invoice-items-editor select{padding:7px;font-size:11px}.invoice-items-editor th,.invoice-items-editor td{padding:8px}.summary-table{display:grid;gap:8px}.summary-line{display:flex;justify-content:space-between;gap:20px;font-size:12px}.summary-line.total{font-size:17px;font-weight:800;padding-top:10px;border-top:1px solid var(--border)}.summary-line.balance{font-weight:800;color:var(--danger)}.payment-status-preview{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:9px;background:#f9fafb;border:1px solid var(--border);margin-top:13px}.payment-status-preview span:first-child{font-size:11px;color:var(--muted)}.invoice-tabs{display:flex;gap:5px;padding:5px;background:#eef2f6;border-radius:10px;width:max-content;margin-bottom:14px}.invoice-tabs button{border:0;background:transparent;padding:8px 12px;border-radius:7px;font-size:11px;font-weight:750;color:#667085}.invoice-tabs button.active{background:#fff;color:var(--text);box-shadow:var(--shadow)}

/* Accounts */
.account-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.account-kpi{padding:15px}.account-kpi span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-weight:700}.account-kpi strong{display:block;font-size:22px;margin-top:8px;letter-spacing:-.03em}.account-kpi.received strong{color:var(--success)}.account-kpi.paid strong{color:var(--danger)}.statement-filters{display:grid;grid-template-columns:1.2fr .7fr .7fr auto;gap:9px;align-items:end}.amount-in{color:var(--success);font-weight:750}.amount-out{color:var(--danger);font-weight:750}

/* Calendar */
.calendar-shell{padding:16px}.fc{font-size:12px}.fc .fc-toolbar-title{font-size:18px!important;letter-spacing:-.02em}.fc .fc-button-primary{background:var(--primary)!important;border-color:var(--primary)!important;font-size:11px!important}.fc .fc-daygrid-event{border-radius:5px;padding:2px 4px;background:var(--primary);border-color:var(--primary)}.fc .fc-day-today{background:var(--primary-soft)!important}.calendar-key{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:var(--muted)}.key-item{display:flex;align-items:center;gap:5px}.key-dot{width:7px;height:7px;border-radius:50%}

/* Settings */
.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-nav{padding:8px;height:max-content;position:sticky;top:0}.settings-nav button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:8px;font-size:11px;font-weight:700;color:#667085}.settings-nav button.active{background:var(--primary-soft);color:var(--primary-dark)}.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-option{border:1px solid var(--border);border-radius:10px;padding:10px;cursor:pointer;background:#fff}.theme-option.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}.theme-color{height:34px;border-radius:7px;margin-bottom:8px}.theme-option strong{font-size:11px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset-box{border:1px dashed var(--border-strong);border-radius:10px;padding:14px;text-align:center}.asset-box img{width:100%;height:90px;object-fit:contain;margin-bottom:9px;background:#f9fafb;border-radius:7px}.asset-box span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}

/* Modal / toast */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.54);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.4)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:16px}.modal-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.modal-body{padding:18px}.modal-foot{padding:14px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.toast-root{position:fixed;right:20px;bottom:20px;z-index:2000;display:grid;gap:8px}.toast{width:min(360px,calc(100vw - 40px));background:#101828;color:#fff;padding:12px 14px;border-radius:10px;box-shadow:var(--shadow-lg);font-size:12px;animation:toastin .2s ease}.toast.error{background:#7a271a}.toast.success{background:#054f31}@keyframes toastin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Invoice printable visual */
.invoice-print-root{display:none}.invoice-sheet{width:210mm;min-height:297mm;background:#fff;color:#101010;padding:10mm 12mm;font-family:Arial,sans-serif;position:relative}.invoice-head{display:grid;grid-template-columns:118px minmax(0,1fr) 180px;gap:18px;align-items:start;border-bottom:2px solid #111;padding-bottom:10px}.invoice-head-logo{width:110px;height:82px;object-fit:contain}.invoice-company h1{font-size:17px;margin:0 0 4px}.invoice-company p{font-size:8.5px;line-height:1.45;margin:1px 0;color:#333}.invoice-title-block{text-align:right}.invoice-title-block h2{font-size:20px;letter-spacing:.12em;margin:0}.invoice-title-block p{font-size:9px;margin:4px 0}.invoice-status-stamp{display:inline-block;margin-top:8px;border:3px solid currentColor;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:900;letter-spacing:.16em;transform:rotate(-3deg);opacity:.85}.invoice-status-stamp.paid{color:#067647}.invoice-status-stamp.partially-paid{color:#b54708}.invoice-status-stamp.pending{color:#b42318}.invoice-info-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:10px;border:1px solid #aaa}.invoice-info-box{padding:8px;min-height:82px;font-size:8.5px}.invoice-info-box+.invoice-info-box{border-left:1px solid #aaa}.invoice-info-box h3{font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid #ccc}.invoice-table{width:100%;min-width:0;margin-top:10px;border:1px solid #aaa}.invoice-table th,.invoice-table td{font-size:8px;padding:5px;border:1px solid #bbb}.invoice-table th{background:#f2f2f2;color:#111}.invoice-lower{display:grid;grid-template-columns:1.2fr .8fr;gap:8px;margin-top:10px}.invoice-bank{border:1px solid #aaa;padding:8px;font-size:8px;display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:7px}.invoice-bank img{width:78px;height:78px;object-fit:contain}.invoice-totals{border:1px solid #aaa}.invoice-totals div{display:flex;justify-content:space-between;padding:5px 7px;border-bottom:1px solid #ddd;font-size:8px}.invoice-totals div:last-child{border-bottom:0}.invoice-totals .grand{font-size:11px;font-weight:800}.invoice-words{font-size:8px;margin-top:7px;border:1px solid #aaa;padding:7px}.invoice-terms{font-size:7px;line-height:1.45;border:1px solid #aaa;padding:8px;margin-top:8px}.invoice-sign{display:flex;justify-content:space-between;align-items:end;margin-top:12px;font-size:8px}.invoice-sign img{width:200px;height:100px;object-fit:contain;display:block;margin:0 auto 3px}.invoice-sign-right{text-align:center;min-width:210px}.invoice-footer{text-align:center;border-top:1px solid #aaa;margin-top:10px;padding-top:5px;font-size:7px;color:#555}

/* Responsive */
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-workspace,.lead-layout{grid-template-columns:1fr}.invoice-sidebar,.lead-form-card{position:static}.client-layout{grid-template-columns:300px minmax(0,1fr)}.theme-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app-body{overflow:auto}.sidebar{transform:translateX(-102%);transition:transform .2s ease;width:270px}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg)}.sidebar-scrim{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:40}.sidebar-scrim.show{display:block}.main-content{margin-left:0;height:auto;min-height:100vh;padding:74px 16px 86px}.mobile-topbar{display:flex;position:fixed;top:0;left:0;right:0;height:58px;background:#fff;border-bottom:1px solid var(--border);align-items:center;justify-content:space-between;padding:0 13px;z-index:35}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:12px}.mobile-brand img{width:35px;height:35px;object-fit:contain}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--border);height:64px;z-index:34;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#98a2b3;gap:2px}.mobile-bottom-nav a.active{color:var(--primary)}.mobile-bottom-nav span{font-size:17px}.mobile-bottom-nav small{font-size:9px;font-weight:700}.dashboard-grid,.dashboard-row{grid-template-columns:1fr}.client-layout{grid-template-columns:1fr}.client-list{max-height:300px}.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow:auto;gap:4px}.settings-nav button{white-space:nowrap;width:auto}.account-kpis{grid-template-columns:repeat(2,1fr)}.statement-filters{grid-template-columns:1fr 1fr}.statement-filters .btn{grid-column:span 2}.asset-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.login-shell{display:block}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:28px 20px}.mobile-login-brand{display:flex}.page-head{align-items:stretch;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-height:96px}.kpi-value{font-size:21px}.hero-strip{align-items:flex-start;flex-direction:column}.grid-2,.grid-3,.grid-4,.grid-5,.form-grid,.form-grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.main-content{padding-left:12px;padding-right:12px}.card-pad{padding:15px}.table-toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.theme-grid{grid-template-columns:repeat(2,1fr)}.asset-grid{grid-template-columns:1fr}.mini-kpis{grid-template-columns:repeat(2,1fr)}.account-kpis{grid-template-columns:1fr 1fr}.statement-filters{grid-template-columns:1fr}.statement-filters .btn{grid-column:auto}.modal-backdrop{padding:10px;align-items:flex-end}.modal{border-radius:14px 14px 0 0;max-height:92vh}.chart-box{height:250px}.page-head h1{font-size:23px}.invoice-tabs{width:100%}.invoice-tabs button{flex:1}.client-profile-head{flex-direction:column}}
@media(max-width:420px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-label{font-size:10px}.kpi{padding:12px}.account-kpis{grid-template-columns:1fr}.theme-grid{grid-template-columns:1fr 1fr}}


/* V2 — EventShield fidelity + invoice workflow */
.page-head p{font-size:14px}.section-title p,.subtle-note{font-size:13px}.eyebrow{font-size:11px;letter-spacing:.12em}.card{box-shadow:0 1px 2px rgba(37,42,55,.045)}
.kpi{padding:16px;min-height:112px}.kpi-label{font-size:12px}.kpi-value{font-size:24px}.kpi-helper{font-size:12px}.kpi-icon{width:32px;height:32px;border-radius:999px;background:var(--bg);display:grid;place-items:center;color:var(--text);font-size:14px}
.hero-strip{border-radius:12px;padding:16px}.hero-strip h2{font-size:24px}.hero-strip p{font-size:14px}.dashboard-grid,.dashboard-row{gap:16px}.chart-box{height:280px}
.icon-btn{border-radius:6px}.sidebar-user{padding:12px}.avatar{background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--sidebar-text)}
input,select,textarea{min-height:40px;border-radius:6px;padding:9px 11px}textarea{min-height:96px}.form-grid,.form-grid-3{gap:16px}.surface-soft{background:color-mix(in srgb,var(--bg) 75%,#fff)}
.table-toolbar{padding:14px 16px}.search input{font-size:14px}.table-primary{font-weight:600}.table-secondary{font-size:12px}
.modal{border-radius:10px}.modal-head h3{font-size:18px}.modal-head p{font-size:13px}.modal-body{padding:20px}

/* Invoice editor: based on the original AL BAHAR workflow, styled like EventShield */
.invoice-editor{max-width:1100px;margin:0 auto;display:grid;gap:16px;padding-bottom:28px}.invoice-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invoice-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.invoice-card-header h3{font-size:16px;margin:0}.invoice-card-header p{font-size:13px;color:var(--muted);margin:4px 0 0}.invoice-items-actions{display:flex;gap:8px;flex-wrap:wrap}.invoice-items-editor{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.invoice-items-editor table{min-width:900px}.invoice-items-editor th{background:color-mix(in srgb,var(--bg) 70%,#fff)}.invoice-items-editor td{padding:8px}.invoice-items-editor input,.invoice-items-editor select{min-height:38px;font-size:13px}.invoice-items-editor .line-desc{min-width:190px}.invoice-items-editor .line-service{min-width:170px}.invoice-items-editor .line-qty{min-width:74px}.invoice-items-editor .line-rate{min-width:120px}.invoice-items-editor .line-gst{min-width:82px}.invoice-summary-card{padding:0;overflow:hidden}.invoice-summary-head{padding:16px;border-bottom:1px solid var(--border)}.invoice-summary-head h3{font-size:16px;margin:0}.invoice-summary-head p{font-size:13px;color:var(--muted);margin:4px 0 0}.invoice-summary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:0}.invoice-notes-panel{padding:16px;border-right:1px solid var(--border);display:grid;gap:16px;align-content:start}.invoice-calculation-panel{padding:16px}.summary-table{display:grid;gap:0}.summary-line{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,#fff);font-size:13px}.summary-line:last-child{border-bottom:0}.summary-line strong{font-variant-numeric:tabular-nums}.summary-line.total{font-size:17px;font-weight:700;padding-top:4px;border-top:1px solid var(--border)}.summary-line.balance{font-weight:600;color:var(--danger)}.summary-line input{width:130px;text-align:right;min-height:34px}.invoice-payment-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invoice-status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 70%,#fff)}.invoice-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;background:color-mix(in srgb,var(--bg) 64%,#fff);border-top:1px solid var(--border)}.invoice-form-footer .btn.primary{min-width:180px}.service-charge-note{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;margin-top:12px}.invoice-error-banner{display:none;margin-bottom:16px;border:1px solid #fecdca;background:#fef3f2;color:#912018;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}.invoice-error-banner.show{display:block}.field-inline-help{font-size:12px;color:var(--muted);margin-top:5px}

/* Theme cards match EventShield palette names */
.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-option{border-radius:8px;padding:12px}.theme-color{height:44px}.theme-option strong{font-size:13px;font-weight:600}

/* Print invoice refinement — keeps original AL BAHAR structure with EventShield polish */
.invoice-sheet{font-family:'Inter',Arial,sans-serif;padding:11mm 12mm}.invoice-head{border-bottom:2px solid #252a37}.invoice-title-block h2{font-size:18px;letter-spacing:.08em}.invoice-status-stamp{border-radius:6px;padding:8px 14px}.invoice-info-grid{border-radius:4px;overflow:hidden}.invoice-table th{font-size:7.6px}.invoice-table td{font-size:7.8px}.invoice-totals .service-fee-line{background:#f8f8f6}

@media(max-width:900px){.main-content{padding-top:78px}.invoice-editor{max-width:none}.invoice-two-col,.invoice-summary-grid{grid-template-columns:1fr}.invoice-notes-panel{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:680px){.invoice-payment-row{grid-template-columns:1fr}.invoice-card-header{flex-direction:column}.invoice-items-actions{width:100%}.invoice-items-actions .btn{flex:1}.invoice-form-footer{flex-direction:column}.invoice-form-footer .btn{width:100%}.theme-grid{grid-template-columns:1fr 1fr}}

/* EventShield login */
.eventshield-login{background:color-mix(in srgb,var(--bg) 60%,var(--muted));min-height:100vh}.login-center-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-center-card{width:min(448px,100%);padding:24px;box-shadow:0 12px 28px rgba(37,42,55,.10)}.login-center-head{text-align:center;padding-bottom:8px}.login-center-logo{width:72px;height:72px;object-fit:contain;margin:0 auto 14px}.login-center-head h1{font-size:24px;line-height:1.25;color:var(--primary);letter-spacing:-.025em;margin:0;font-weight:700}.login-center-head p{font-size:14px;color:var(--muted);margin:6px 0 0}.login-center-card .form-stack{margin-top:20px;gap:16px}.login-center-card .form-error{text-align:left;margin:0}.login-center-card .setup-warning{margin:14px 0 0}
.kpi-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* V3 — preserve EventShield visual language while restoring the form placement of the earlier AL BAHAR prototypes. */
.classic-invoice-layout{max-width:1180px}.classic-invoice-layout .invoice-classic-card{margin:0}.classic-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.classic-grid-2 .span-2{grid-column:1/-1}.readonly-display{background:color-mix(in srgb,var(--bg) 78%,#fff)!important;color:var(--muted)!important}.classic-line-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.classic-summary-card{padding-bottom:0}.classic-summary-wrap{display:flex;justify-content:flex-end}.classic-summary-panel{width:min(100%,430px);padding:0}.classic-summary-panel .summary-table{border:1px solid var(--border);border-radius:9px;padding:0 14px;background:#fff}.classic-summary-panel .invoice-status-strip{margin-bottom:0}.invoice-security-note{margin-top:16px;padding:11px 13px;border-left:3px solid var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-size:12px;line-height:1.55}.classic-footer{margin:16px -16px 0}.invoice-sheet{width:210mm;min-height:297mm;box-sizing:border-box;overflow:visible}.invoice-print-root,.statement-print-root{display:none}
.account-tabs{display:inline-flex;border:1px solid var(--border);border-radius:9px;background:#fff;padding:3px;margin-bottom:14px;box-shadow:var(--shadow-xs)}.account-tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:700;padding:8px 13px;border-radius:7px;cursor:pointer}.account-tabs button.active{background:var(--primary);color:#fff}.account-kpi small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.account-classic-panel{margin-bottom:14px}.classic-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.classic-account-grid .span-2{grid-column:span 2}.classic-account-actions{margin-top:13px}.ledger-table{min-width:1200px}.classic-statement-filters{display:grid;grid-template-columns:1.25fr 1.25fr .75fr;gap:12px}.statement-paper{background:#fff;border:1px solid var(--border);border-top:4px solid var(--primary-dark);border-radius:10px;padding:18px;color:#17202a;box-shadow:var(--shadow-xs)}.statement-head{display:flex;justify-content:space-between;gap:18px}.statement-head h2{margin:0 0 4px;font-size:18px;color:var(--primary-dark)}.statement-head p{margin:2px 0;color:#667085;font-size:11px}.statement-party{margin-top:12px;font-size:12px;line-height:1.5}.statement-head-right{text-align:right;display:flex;flex-direction:column;gap:6px;font-size:12px}.statement-head-right b{font-size:15px;letter-spacing:.05em}.statement-head-right span{color:#667085}.statement-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.statement-totals div{border:1px solid var(--border);border-radius:8px;padding:11px}.statement-totals small{display:block;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.statement-totals b{display:block;margin-top:5px;font-size:17px}.statement-table{min-width:760px}.statement-sign{display:flex;justify-content:space-between;margin-top:42px;padding-top:8px;border-top:1px solid #d0d5dd;font-size:10px;color:#667085}.statement-print-sheet{width:210mm;min-height:297mm;border:0;border-top:3px solid #111;border-radius:0;box-shadow:none;padding:12mm;font-family:Arial,sans-serif}.statement-print-sheet .statement-head h2{color:#111}.statement-print-sheet .statement-totals div{border-color:#aaa;border-radius:0}.statement-print-sheet table th,.statement-print-sheet table td{font-size:9px;padding:6px}.statement-print-sheet .statement-table{min-width:0;width:100%}
@media(max-width:1000px){.classic-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classic-statement-filters{grid-template-columns:1fr 1fr}.classic-statement-filters .field:last-child{grid-column:1/-1}}
@media(max-width:680px){.classic-grid-2,.classic-account-grid,.classic-statement-filters{grid-template-columns:1fr}.classic-grid-2 .span-2,.classic-account-grid .span-2,.classic-statement-filters .field:last-child{grid-column:auto}.classic-summary-wrap{display:block}.classic-summary-panel{width:100%}.classic-line-actions .btn{flex:1}.account-tabs{display:flex;width:100%;overflow:auto}.account-tabs button{flex:1;white-space:nowrap}.statement-head{flex-direction:column}.statement-head-right{text-align:left}.statement-totals{grid-template-columns:1fr 1fr}}

/* V4 — travel-specific invoice breakup without turning the invoice into a complex booking engine. */
.invoice-items-editor table{min-width:980px}
.invoice-main-row td{vertical-align:top}
.invoice-main-row .line-qty-unit,.invoice-main-row .line-rate-unit{display:block;margin-top:5px;font-size:9px;line-height:1.25;color:var(--muted);white-space:nowrap}
.invoice-main-row .line-qty[readonly]{background:color-mix(in srgb,var(--bg) 78%,#fff);color:var(--text);font-weight:600}
.invoice-breakup-row td{padding:0 8px 10px!important;border-top:0!important;background:color-mix(in srgb,var(--primary-soft) 30%,#fff)}
.invoice-breakup-panel{border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--primary-soft) 40%,#fff);padding:11px 12px}
.invoice-breakup-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:9px}.invoice-breakup-title strong{font-size:11px;color:var(--primary-dark)}.invoice-breakup-title span{font-size:10px;color:var(--muted)}
.invoice-breakup-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}.invoice-breakup-fields label{display:grid;gap:5px}.invoice-breakup-fields label>span{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.invoice-breakup-fields input,.invoice-breakup-fields select{min-height:34px!important;padding:7px 9px!important;font-size:11px!important;background:#fff}
.asset-grid.single-asset{grid-template-columns:minmax(220px,320px)}
.invoice-unit{font-size:7px;color:#667085;font-weight:500}
@media(max-width:900px){.invoice-breakup-fields{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:560px){.invoice-breakup-fields{grid-template-columns:1fr}.asset-grid.single-asset{grid-template-columns:1fr}}


/* V5 • numbered leads, CA invoice exports and payment QR/barcode */
.lead-number-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--primary-soft)}
.lead-number-banner span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.lead-number-banner strong{font-size:13px;color:var(--primary-dark)}
.statement-range-grid{grid-template-columns:1.2fr 1.2fr .8fr .75fr .75fr}
.statement-range-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:12px;color:var(--muted)}
.statement-actions{flex-wrap:wrap}
.statement-register{margin-bottom:14px}
.zip-progress{margin-top:10px;padding:9px 11px;border-radius:7px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:700}
.batch-pdf-host{position:fixed;left:-12000px;top:0;width:210mm;background:#fff;z-index:-1;pointer-events:none}
.invoice-payment-code{display:flex;flex-direction:column;align-items:center;gap:3px}
.invoice-payment-code img{width:78px!important;height:78px!important;object-fit:contain}
.invoice-payment-code span{font-size:6.5px;font-weight:800;letter-spacing:.1em}
@media(max-width:1000px){.statement-range-grid{grid-template-columns:1fr 1fr}.statement-range-grid .field:nth-child(3){grid-column:1/-1}}
@media(max-width:680px){.statement-range-grid{grid-template-columns:1fr}.statement-range-grid .field:nth-child(3){grid-column:auto}.statement-range-summary{align-items:flex-start;flex-direction:column}}

.pwa-install-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 58%,#fff)}.pwa-install-row>div{min-width:0}.pwa-install-row strong{display:block;font-size:13px;color:var(--text)}.pwa-install-row span{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--muted)}.pwa-install-row .btn{flex:0 0 auto}@media(max-width:680px){.pwa-install-row{align-items:stretch;flex-direction:column}.pwa-install-row .btn{width:100%}}

/* V7 — premium branded login + clarified follow-up lifecycle */
.premium-login{min-height:100vh;background:var(--bg);color:var(--text)}
.premium-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.06fr) minmax(440px,.94fr)}
.premium-login-brand{position:relative;overflow:hidden;display:flex;align-items:center;padding:clamp(42px,6vw,84px);background:
  radial-gradient(circle at 18% 16%,color-mix(in srgb,var(--primary) 34%,transparent),transparent 34%),
  radial-gradient(circle at 78% 82%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 30%),
  linear-gradient(145deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 86%,#000));color:#fff}
.premium-login-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 92%)}
.premium-login-brand:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-330px;top:-280px;box-shadow:0 0 0 90px rgba(255,255,255,.014),0 0 0 180px rgba(255,255,255,.010)}
.premium-login-brand-inner{position:relative;z-index:2;width:min(610px,100%);margin:auto 0}
.premium-brand-lockup{display:flex;align-items:center;gap:15px;margin-bottom:clamp(62px,9vh,105px)}
.premium-brand-logo-wrap{width:70px;height:70px;border-radius:17px;background:#fff;display:grid;place-items:center;padding:9px;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.premium-brand-logo-wrap img{max-width:100%;max-height:100%;object-fit:contain}
.premium-brand-lockup>div:last-child{min-width:0}.premium-brand-lockup strong{display:block;margin-top:5px;font-size:19px;line-height:1.2;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.premium-brand-kicker{font-size:9px;font-weight:800;letter-spacing:.16em;color:color-mix(in srgb,var(--sidebar-text) 68%,transparent)}
.premium-brand-copy{max-width:590px}.premium-brand-copy .eyebrow{color:color-mix(in srgb,var(--primary) 60%,#fff)}.premium-brand-copy h1{font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:580px}.premium-brand-copy>p:last-child{font-size:15px;line-height:1.75;color:color-mix(in srgb,var(--sidebar-text) 74%,transparent);max-width:540px;margin:22px 0 0}
.premium-security-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.premium-security-row span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);font-size:10px;color:color-mix(in srgb,var(--sidebar-text) 78%,transparent)}.premium-security-row i{width:6px;height:6px;border-radius:50%;background:#55d6a7;box-shadow:0 0 0 3px rgba(85,214,167,.11)}
.premium-brand-art{position:relative;height:150px;margin-top:42px;max-width:510px}.art-card{position:absolute;display:grid;gap:4px;width:176px;padding:14px 16px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.065);backdrop-filter:blur(10px);box-shadow:0 20px 45px rgba(0,0,0,.18)}.art-card b{font-size:10px;color:#fff}.art-card em{font-style:normal;font-size:9px;color:color-mix(in srgb,var(--sidebar-text) 62%,transparent)}.art-card strong{font-size:21px;margin-top:6px;letter-spacing:-.03em}.art-card-a{left:0;top:18px;transform:rotate(-2deg)}.art-card-b{left:190px;top:0;transform:rotate(2deg)}.art-line{position:absolute;left:28px;top:118px;width:330px;height:1px;background:linear-gradient(90deg,var(--primary),transparent)}
.premium-login-form-panel{display:flex;align-items:center;justify-content:center;padding:clamp(28px,5vw,78px);background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--bg) 42%,#fff))}
.premium-login-card{width:min(458px,100%)}.premium-mobile-brand{display:none;align-items:center;gap:12px;margin-bottom:42px}.premium-mobile-brand img{width:54px;height:54px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:5px}.premium-mobile-brand small,.premium-mobile-brand strong{display:block}.premium-mobile-brand small{font-size:9px;letter-spacing:.13em;color:var(--muted);font-weight:800}.premium-mobile-brand strong{font-size:17px;margin-top:4px}
.premium-login-heading{position:relative}.premium-login-heading>p{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--primary);margin:0 0 13px;padding-left:17px}.login-status-dot{position:absolute;left:0;top:4px;width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.premium-login-heading h2{font-size:36px;line-height:1.08;letter-spacing:-.045em;margin:0;color:var(--text)}.premium-login-heading>span:last-child{display:block;color:var(--muted);font-size:14px;line-height:1.6;margin-top:10px}
.premium-login-form{margin-top:32px;gap:17px}.premium-auth-field>span{font-size:12px;font-weight:700}.auth-input-shell{position:relative;display:flex;align-items:center}.auth-input-shell>svg{position:absolute;left:13px;width:18px;height:18px;fill:none;stroke:#98a2b3;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.auth-input-shell input{padding-left:43px;padding-right:44px;height:48px;border-radius:8px;background:#fff}.auth-input-shell:focus-within>svg{stroke:var(--primary)}.password-toggle{position:absolute;right:7px;width:34px;height:34px;border:0;background:transparent;border-radius:7px;color:#98a2b3;display:grid;place-items:center}.password-toggle:hover,.password-toggle.active{background:var(--primary-soft);color:var(--primary)}.password-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.premium-login-button{height:50px;margin-top:4px;border-radius:8px;justify-content:space-between;padding-inline:18px;box-shadow:0 9px 20px color-mix(in srgb,var(--primary) 18%,transparent)}.premium-login-button span{flex:1;text-align:center}.premium-login-button b{font-size:17px;font-weight:500}.premium-login-button.is-loading b{opacity:.4}.premium-login-foot{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:24px;color:#98a2b3;font-size:10px}.premium-login-card .form-error{margin:0;min-height:20px}.premium-login-card .setup-warning{margin:20px 0 0}
.calendar-key .key-dot.confirmed-dot{background:var(--success)!important}.calendar-key .key-dot.followup-dot{background:var(--primary)!important}.calendar-key .key-dot.invoice-dot{background:#b42318!important}
.followup-closed-note{font-size:10px;color:var(--success);font-weight:700;margin-top:5px}
@media(max-width:960px){.premium-login-shell{grid-template-columns:1fr}.premium-login-brand{display:none}.premium-login-form-panel{min-height:100vh;padding:30px 20px}.premium-mobile-brand{display:flex}.premium-login-card{width:min(520px,100%)}.premium-login-heading h2{font-size:32px}}
@media(max-width:520px){.premium-login-form-panel{align-items:flex-start;padding-top:34px}.premium-mobile-brand{margin-bottom:52px}.premium-login-heading h2{font-size:29px}.premium-login-foot{padding-bottom:20px}.auth-input-shell input{height:50px}}


/* V8 — no-flash theme bootstrap + lead-to-invoice selector */
.invoice-lead-picker{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(280px,1fr);gap:14px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--bg) 60%,#fff)}
.invoice-lead-search-block{position:relative;min-width:0}
.invoice-lead-or{display:grid;place-items:center;padding-bottom:28px}.invoice-lead-or span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em}
.invoice-lead-suggestions{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lg);max-height:330px;overflow:auto;padding:5px}
.invoice-lead-suggestion{width:100%;border:0;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px;border-radius:6px;text-align:left}
.invoice-lead-suggestion:hover,.invoice-lead-suggestion:focus{background:var(--primary-soft);outline:0}
.invoice-lead-suggestion>span:first-child{min-width:0}.invoice-lead-suggestion strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-lead-suggestion small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.lead-suggest-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex:0 0 auto}.lead-suggest-meta b{font-size:10px;font-weight:600;color:var(--text)}.lead-suggest-meta .status{font-size:8px;padding:3px 6px}
.invoice-lead-no-match{padding:14px 12px;color:var(--muted);font-size:11px;line-height:1.45}
.selected-lead-context{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-left:3px solid var(--primary);border-radius:8px;background:color-mix(in srgb,var(--primary-soft) 52%,#fff);padding:13px 14px;margin-bottom:14px}
.selected-lead-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.selected-lead-head .eyebrow{margin-bottom:4px;font-size:9px}.selected-lead-head h4{margin:0;font-size:14px}.selected-lead-head h4 small{font-size:10px;color:var(--muted);font-weight:600;margin-left:6px}.selected-lead-head p{margin:4px 0 0;font-size:10px;color:var(--muted)}
.lead-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}.lead-context-item{padding:8px 9px;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border));background:#fff;border-radius:6px;min-width:0}.lead-context-item span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.lead-context-item strong{display:block;font-size:10px;margin-top:3px;line-height:1.35;overflow-wrap:anywhere}
.lead-context-notes{margin-top:10px;padding:9px 10px;border-radius:6px;background:#fff;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border))}.lead-context-notes span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.lead-context-notes p{margin:4px 0 0;font-size:10px;line-height:1.5;color:var(--text);white-space:pre-wrap}
.invoice-customer-divider{display:flex;align-items:center;gap:10px;margin:12px 0 14px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.invoice-customer-divider:before,.invoice-customer-divider:after{content:"";height:1px;background:var(--border);flex:1}
@media(max-width:900px){.invoice-lead-picker{grid-template-columns:1fr}.invoice-lead-or{padding:0}.invoice-lead-or span{width:auto;height:auto;border:0;background:transparent}.lead-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.selected-lead-head{flex-direction:column}.selected-lead-head .btn{width:100%}.lead-context-grid{grid-template-columns:1fr}}

/* V8.2 controlled invoice editing and clearer printed customer details */
.invoice-detail-list{display:grid;gap:3px}.invoice-detail-list>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px;align-items:start;line-height:1.35}.invoice-detail-list>div>span{color:#555;font-weight:600}.invoice-detail-list>div>span::after{content:":";float:right}.invoice-detail-list>div>b{font-weight:600;overflow-wrap:anywhere}.invoice-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:9px;background:var(--primary-soft)}.invoice-edit-banner div{display:grid;gap:3px}.invoice-edit-banner strong{font-size:14px}.invoice-edit-banner span:not(.status){font-size:12px;color:var(--muted);line-height:1.45}.readonly-status-box{min-height:42px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--bg) 70%,#fff)}.readonly-status-box small{color:var(--muted);font-size:11px;text-align:right}.edit-reason-card{border-left:3px solid var(--warning,#b54708)}

/* V8.3 Security settings */
.security-account-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 68%,#fff);font-size:12px;color:var(--muted)}
.security-account-note strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}
.form-error-banner{display:none;border:1px solid #fecdca;background:#fef3f2;color:#912018;padding:11px 13px;border-radius:8px;font-size:13px;line-height:1.45}
.form-error-banner.show{display:block}
@media(max-width:680px){.security-account-note{align-items:flex-start;flex-direction:column}}


/* V8.4 — clearer branding, invoice contact layout and first-print asset readiness */
.brand-block{min-height:142px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:16px 20px}
.brand-block img{width:132px;height:48px;max-width:100%;object-fit:contain;object-position:left center;border-radius:0;flex:0 0 auto}
.brand-block>div{width:100%;min-width:0}
.brand-block strong{max-width:100%;font-size:13px;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}
.brand-block small{margin-top:3px}
@media(max-width:900px){.brand-block{min-height:138px}.brand-block img{width:138px;height:48px}.mobile-brand img{width:62px;height:34px;object-fit:contain}.mobile-brand strong{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.invoice-head{grid-template-columns:145px minmax(0,1fr) 180px;gap:16px}
.invoice-head-logo{width:136px;height:96px;object-fit:contain;object-position:left top}
.invoice-company p{display:block;margin:1.5px 0}
body.preparing-invoice-print:after{content:'Preparing invoice…';position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:100000;background:#111827;color:#fff;padding:8px 12px;border-radius:7px;font:600 11px/1.2 Inter,Arial,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.2)}

/* V8.5 — searchable Hisab invoice picker + clearer account views */
.hisab-invoice-picker{position:relative}.hisab-search-wrap{position:relative}.hisab-invoice-suggestions{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lg);max-height:340px;overflow:auto;padding:5px}.hisab-invoice-suggestion{width:100%;border:0;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;border-radius:6px;text-align:left;cursor:pointer}.hisab-invoice-suggestion:hover,.hisab-invoice-suggestion:focus{background:var(--primary-soft);outline:0}.hisab-invoice-suggestion>span:first-child{min-width:0}.hisab-invoice-suggestion strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hisab-invoice-suggestion small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.hisab-suggest-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex:0 0 auto}.hisab-suggest-meta b{font-size:10px;font-weight:700;color:var(--text)}.hisab-suggest-meta .status{font-size:8px;padding:3px 6px}.hisab-no-match{padding:12px;color:var(--muted);font-size:12px}.account-invoice-summary-table{min-width:1040px}.detailed-ledger-table{min-width:1180px}.statement-payment-history{margin-top:18px}.statement-payment-history h4{font-size:12px;margin:0 0 8px}.statement-invoice-table{min-width:760px}


/* V8.6 — transparent logo contrast + focus-safe search controls */
.brand-block img{background:rgba(255,255,255,.97);padding:7px 10px;border-radius:9px;box-shadow:0 1px 0 rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.12);box-sizing:border-box}
.mobile-brand img{background:#fff;padding:4px 6px;border-radius:7px;box-sizing:border-box}

/* V11.4 — Group lead / invoice workflow */
.booking-type-filter,.booking-type-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line,#dfe4ea);border-radius:12px;background:var(--surface,#fff)}
.booking-type-filter button,.booking-type-toggle button{border:0;background:transparent;border-radius:9px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--muted,#667085);cursor:pointer;white-space:nowrap}
.booking-type-filter button.active,.booking-type-toggle button.active{background:var(--primary,#259372);color:#fff;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.booking-type-toggle button:disabled{cursor:not-allowed;opacity:.72}
.booking-type-editor{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line,#e4e7ec);border-radius:14px;background:var(--soft,#f8fafc)}
.booking-type-editor>div:first-child{display:grid;gap:3px;min-width:240px;flex:1}
.booking-type-editor small{color:var(--muted,#667085)}
.booking-type-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
.booking-type-badge.normal{background:#eef2f6;color:#475467}.booking-type-badge.group{background:#e8f7f1;color:#14795d}
.group-invoice-mode-notice{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:14px 0 4px;padding:14px 16px;border:1px solid #b7e4d4;border-radius:14px;background:#f0fbf7}
.group-invoice-mode-notice>div{display:grid;gap:4px}.group-invoice-mode-notice strong{font-size:13px}.group-invoice-mode-notice span{font-size:12px;color:#475467;line-height:1.5}
.group-lead-picker{display:grid;gap:10px;max-height:min(60vh,520px);overflow:auto}
.group-lead-pick{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(200px,1.3fr) auto;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid var(--line,#e4e7ec);border-radius:14px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}
.group-lead-pick:hover{border-color:var(--primary,#259372);box-shadow:0 4px 16px rgba(16,24,40,.06)}
.group-lead-pick span{display:grid;gap:3px}.group-lead-pick small{color:var(--muted,#667085);font-size:11px}.group-lead-pick>span:last-child{display:block;font-weight:800;color:var(--primary,#259372)}
.group-requirements-card{margin-bottom:14px}
@media(max-width:780px){.booking-type-editor{align-items:stretch}.booking-type-toggle{width:100%}.booking-type-toggle button{flex:1}.group-lead-pick{grid-template-columns:1fr}.group-invoice-mode-notice{flex-direction:column}.booking-type-filter{width:100%}.booking-type-filter button{flex:1}}

/* V11.6 — approved Group Accounts module integrated into main system */
.group-module-tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 0 14px;margin:-6px 0 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.group-module-tabs button{flex:0 0 auto;min-height:38px;border:1px solid var(--border-strong);background:var(--card);color:var(--text);border-radius:7px;padding:8px 13px;font-size:13px;font-weight:650;white-space:nowrap}.group-module-tabs button:hover{border-color:var(--primary);color:var(--primary-dark)}.group-module-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.group-module-body{display:grid;gap:16px;min-width:0}.group-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.group-kpi-card{padding:16px;min-width:0}.group-kpi-card span{display:block;color:var(--muted);font-size:12px}.group-kpi-card strong{display:block;margin-top:8px;font-size:21px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-kpi-card.received strong{color:var(--success)}.group-kpi-card.pending strong{color:var(--warn)}.group-kpi-card.paid-out strong{color:var(--danger)}
.group-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:16px;align-items:start;min-width:0}.group-dash-list{display:grid;min-width:0}.group-dash-booking{display:grid;grid-template-columns:minmax(160px,1.25fr) minmax(120px,.9fr) minmax(96px,.65fr) minmax(96px,.65fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);min-width:0}.group-dash-booking:last-child,.group-dash-txn:last-child{border-bottom:0}.group-dash-main{min-width:0}.group-dash-main b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-dash-main span{display:block;margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-dash-metric small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.group-dash-metric b{display:block;margin-top:3px;font-size:12px;white-space:nowrap}.group-dash-txn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);min-width:0}.group-dash-txn b{font-size:12px}.group-dash-txn span{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:3px}.group-dash-txn .right{white-space:nowrap}.group-dash-txn small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.group-approved-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.group-approved-form>.field,.group-service-fields>.field{align-self:start;min-width:0}.group-approved-form>.field>span,.group-service-fields>.field>span{display:block;min-height:18px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-approved-form input,.group-approved-form select,.group-inline-control input,.group-inline-control select,.group-inline-control button,.group-service-fields input,.group-service-fields select{height:42px;min-height:42px}.group-approved-form textarea{min-height:88px}.group-inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:start}.group-inline-control .btn{white-space:nowrap}.group-dynamic-fields{grid-column:1/-1;border-top:1px solid var(--border);margin-top:2px;padding-top:13px}.group-service-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.section-title.compact{margin-bottom:11px}.section-title.compact h4{margin:0;font-size:14px}.section-title.compact p{font-size:11px}.group-approved-table{min-width:1120px}.group-payment-context{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--primary-soft) 58%,#fff)}.group-payment-context>div{min-width:0}.group-payment-context small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.group-payment-context b{display:block;margin-top:4px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-ledger-filters{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr));align-items:center}.group-ledger-filters input,.group-ledger-filters select{min-width:0}
.group-statement-controls{overflow:visible;position:relative;z-index:10}.group-statement-search-row{grid-template-columns:minmax(0,2fr) minmax(180px,.65fr);align-items:start}.group-statement-picker{position:relative;z-index:130;min-width:0}.group-statement-picker>input{height:42px;min-height:42px}.group-statement-suggestions{position:absolute;z-index:9999;left:0;right:0;top:calc(100% + 5px);max-height:260px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--card);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lg);padding:5px}.group-statement-suggestions button{display:block;width:100%;border:0;background:transparent;color:var(--text);padding:9px 10px;border-radius:6px;text-align:left}.group-statement-suggestions button:hover,.group-statement-suggestions button:focus{background:var(--primary-soft);outline:0}.group-statement-suggestions b{display:block;font-size:12px}.group-statement-suggestions span{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.35}.group-statement-suggestions>div{padding:10px;color:var(--muted);font-size:11px}.group-statement-sheet{position:relative;z-index:1;background:#fff;color:#1f2734;border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:8px;padding:20px;overflow:hidden}.group-statement-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.group-statement-brand{display:flex;align-items:center;gap:12px;min-width:0}.group-statement-brand img{width:74px;height:46px;object-fit:contain}.group-statement-brand h2{font-size:16px;margin:0;line-height:1.25}.group-statement-brand small,.group-statement-head>.right small{font-size:9px;color:#667085}.group-statement-head>.right{flex:0 0 auto}.group-statement-head>.right h3{font-size:13px;margin:0 0 5px;white-space:nowrap}.group-statement-rule{height:1px;background:#1f3458;margin:14px 0}.group-statement-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.group-statement-box{border:1px solid #d6dce6;background:#fff}.group-statement-box>b{display:block;padding:7px 9px;background:#f2f5f8;font-size:9px;color:#183458}.group-statement-box>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:4px 9px;font-size:10px}.group-statement-box>div span{color:#667085}.group-statement-box>div strong{overflow-wrap:anywhere}.group-statement-box.service{margin-top:9px}.group-statement-box.service p{margin:0;padding:9px;font-size:10px;line-height:1.45}.group-statement-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:9px 0 11px}.group-statement-totals>div{border:1px solid #d6dce6;background:#f8fafc;padding:10px}.group-statement-totals small{display:block;color:#667085;font-size:9px}.group-statement-totals strong{display:block;font-size:15px;margin-top:5px}.group-statement-sheet>h4{font-size:10px;margin:0 0 6px;color:#183458}.group-statement-table{min-width:760px;border:1px solid #d6dce6}.group-statement-table th{padding:7px 8px;font-size:9px;background:#eaf0f6;color:#183458}.group-statement-table td{padding:7px 8px;font-size:10px}.group-statement-balance{margin:10px 0 0 auto;width:min(245px,100%);border:1px solid #d6dce6;background:#f8fafc;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.group-statement-balance span{font-size:9px;color:#667085;font-weight:700}.group-statement-balance strong{font-size:14px;color:var(--warn)}.group-statement-sign{width:min(245px,100%);margin:8px 0 0 auto;text-align:center}.group-statement-sign>span{display:block;font-size:9px;font-weight:700;text-align:left}.group-statement-sign img{display:block;width:118px;height:58px;object-fit:contain;margin:8px auto 4px}.group-statement-sign>div{height:1px;background:#c7ced8;margin:0 15px 5px}.group-statement-sign small{font-size:9px;color:#667085}.amount-in{color:var(--success)!important}.amount-out{color:var(--warn)!important}
@media(max-width:1120px){.group-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-dashboard-grid{grid-template-columns:1fr}.group-approved-form,.group-service-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.group-payment-context{grid-template-columns:repeat(3,minmax(0,1fr))}.group-ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.group-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-dashboard-grid{grid-template-columns:1fr}.group-dash-booking{grid-template-columns:1fr 1fr;gap:8px}.group-dash-booking .group-dash-main{grid-column:1/-1}.group-dash-booking .btn{grid-column:1/-1;width:100%}.group-approved-form,.group-service-fields,.group-payment-context,.group-ledger-filters,.group-statement-search-row,.group-statement-detail-grid,.group-statement-totals{grid-template-columns:1fr}.group-approved-form .span-2{grid-column:auto}.group-inline-control{grid-template-columns:minmax(0,1fr) auto}.group-statement-sheet{padding:13px}.group-statement-head{flex-direction:column}.group-statement-head>.right{text-align:left}.group-statement-head>.right h3{white-space:normal}.group-statement-brand h2{font-size:14px}.group-statement-table{min-width:700px}.group-module-tabs{margin-left:-2px;margin-right:-2px}}
@media(max-width:430px){.group-kpi-grid{grid-template-columns:1fr}.group-inline-control{grid-template-columns:1fr}.group-inline-control .btn{width:100%}.group-statement-brand img{width:60px}.group-statement-box>div{grid-template-columns:90px minmax(0,1fr)}}
