:root{--bg:#f4f7f5;--surface:#fff;--surface-2:#eef5f2;--text:#142426;--muted:#637477;--line:rgba(20,36,38,.12);--brand:#1b6f6b;--brand-2:#bf6b2f;--accent:#d9f25f;--shadow:0 18px 48px rgba(20,36,38,.1);--sidebar:17rem;--sidebar-collapsed:5.3rem;--radius:.75rem;color-scheme:light}*,*::before,*::after{box-sizing:border-box}html,body{overflow-x:hidden}html[data-theme=dark]{--bg:#101716;--surface:#17211f;--surface-2:#20302d;--text:#eef7f4;--muted:#aac0ba;--line:rgba(238,247,244,.14);--brand:#56b5a9;--brand-2:#e0995d;--accent:#d9f25f;--shadow:0 18px 48px rgba(0,0,0,.32);color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-family-base)}.skip-link{position:absolute;inset-inline-start:1rem;top:-5rem;background:var(--brand);color:#fff;padding:.7rem 1rem;border-radius:.5rem;z-index:50}.skip-link:focus{top:1rem}.admin-shell{min-height:100vh}.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar);background:linear-gradient(180deg,#102a28,#173e39);color:#eef7f4;padding:1rem;z-index:20;transition:width .2s ease,transform .2s ease}.brand-block{display:flex;align-items:center;gap:.75rem;padding:.6rem .5rem 1.2rem}.brand-mark{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:var(--accent);color:#102a28;font-weight:900}.brand-text{font-weight:800}.side-nav{display:grid;gap:.35rem}.side-link{display:flex;align-items:center;gap:.7rem;min-height:2.7rem;border-radius:.65rem;padding:.65rem .75rem;color:#e7f1ee}.side-link:hover,.side-link:focus-visible{background:rgba(255,255,255,.1)}.side-link.is-disabled{opacity:.52;cursor:not-allowed}.app-frame{min-height:100vh;margin-inline-start:var(--sidebar);transition:margin .2s ease}.app-topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:.75rem;min-height:4.25rem;padding:.75rem 1rem;background:rgba(244,247,245,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}html[data-theme=dark] .app-topbar{background:rgba(16,23,22,.84)}.topbar-title{font-weight:800;flex:1}.topbar-actions{display:flex;align-items:center;gap:.45rem}.topbar-actions form{margin:0}.icon-button,.chip-link{display:inline-grid;place-items:center;min-width:2.45rem;height:2.45rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);color:var(--text);font-weight:800}.muted{opacity:.58}.mobile-only{display:none}.app-main{padding:1rem clamp(1rem,2vw,2rem) 2rem}.breadcrumbs ol{display:flex;gap:.4rem;list-style:none;margin:.25rem 0 1rem;padding:0;color:var(--muted);font-size:.9rem}.breadcrumbs li+li::before{content:"/";margin-inline:.4rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:1rem 1.25rem}.page-header h1{font-size:clamp(1.55rem,2vw,2.2rem);line-height:1.15;margin:.15rem 0}.eyebrow{margin:0;color:var(--brand-2);font-size:.78rem;font-weight:900;text-transform:uppercase}.search-box{display:flex;align-items:center;gap:.45rem;min-width:min(18rem,42vw);border:1px solid var(--line);border-radius:.7rem;padding:.45rem .65rem;background:var(--surface)}.search-box input{border:0;background:transparent;color:var(--text);width:100%;outline:0}.layout-grid,.component-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-block:1rem}.hero-panel{grid-column:span 8;display:flex;justify-content:space-between;gap:1rem;overflow:hidden;min-height:17rem;border-radius:var(--radius);padding:1.5rem;background:linear-gradient(135deg,#153c38,#1b6f6b);color:#fff;box-shadow:var(--shadow)}.hero-panel h2{font-size:clamp(1.7rem,3vw,3rem);margin:.3rem 0}.scope-note{display:inline-flex;border-radius:999px;background:rgba(217,242,95,.16);padding:.45rem .7rem}.motion-rings{position:relative;min-width:12rem}.motion-rings span{position:absolute;inset:auto 0 0 auto;border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:pulse 4s infinite}.motion-rings span:nth-child(1){width:11rem;height:11rem}.motion-rings span:nth-child(2){width:8rem;height:8rem;animation-delay:.4s}.motion-rings span:nth-child(3){width:5rem;height:5rem;animation-delay:.8s}@keyframes pulse{50%{transform:scale(1.08);opacity:.72}}.surface-card,.empty-state{grid-column:span 4;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.component-grid .surface-card,.component-grid .empty-state{grid-column:span 6}.surface-card h2,.empty-state h2{font-size:1.05rem;margin:.1rem 0 .65rem}.chart-preview{height:12rem;display:flex;align-items:end;gap:.65rem;padding:1rem;border-radius:.7rem;background:var(--surface-2)}.chart-preview span{flex:1;border-radius:.45rem .45rem 0 0;background:linear-gradient(180deg,var(--accent),var(--brand))}.bar-a{height:32%}.bar-b{height:56%}.bar-c{height:44%}.bar-d{height:72%}.bar-e{height:48%}.demo-form{display:grid;gap:.9rem}.demo-form label{display:grid;gap:.35rem;font-weight:700}.check-row{display:flex!important;align-items:center}.empty-state{text-align:center;display:grid;place-items:center;align-content:center;min-height:16rem}.empty-state .bi{font-size:2rem;color:var(--brand)}.pagination-shell{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin-top:1rem}.app-footer{width:min(100% - 2rem,var(--page-max));margin-inline:auto;padding:1.25rem 0 2rem;border-top:1px solid var(--line,rgba(255,255,255,.08));color:var(--muted);font-size:.85rem;font-weight:700;text-align:center}
.app-footer__content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.65rem}
.app-footer__divider{opacity:.4}.auth-shell,.error-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 20% 20%,rgba(27,111,107,.22),transparent 26%),var(--bg)}.auth-card,.error-card{width:min(100%,28rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.auth-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.toast-region{position:fixed;inset-block-end:1rem;inset-inline-end:1rem;display:grid;gap:.5rem;z-index:100}.toast-item{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:.8rem 1rem;border-radius:.65rem}.debug-panel{margin-top:1rem;padding:1rem;border-radius:.65rem;background:var(--surface-2);overflow:auto}.debug-panel pre{white-space:pre-wrap}.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed)}.sidebar-collapsed .brand-text,.sidebar-collapsed .side-link span{position:absolute;width:1px;height:1px;overflow:hidden}.sidebar-collapsed .app-frame{margin-inline-start:var(--sidebar-collapsed)}@media (max-width:1024px){.hero-panel,.surface-card,.empty-state,.component-grid .surface-card,.component-grid .empty-state{grid-column:span 12}.app-sidebar{transform:translateX(-105%);width:17rem}.mobile-nav-open .app-sidebar{transform:translateX(0)}.mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:18}.mobile-nav-open .mobile-backdrop{display:block}.app-frame{margin-inline-start:0}.mobile-only{display:inline-grid}.page-header{align-items:flex-start;flex-direction:column}.search-box{width:100%;min-width:0}.topbar-actions{gap:.25rem}.chip-link,.icon-button{min-width:2.25rem;height:2.25rem}}@media (min-width:1440px){.app-main{max-width:1500px;margin-inline:auto;width:100%}}

.skeleton-line{height:.85rem;border-radius:999px;background:linear-gradient(90deg,var(--surface-2),rgba(27,111,107,.18),var(--surface-2));background-size:220% 100%;animation:skeleton 1.3s ease-in-out infinite;margin:.75rem 0}.skeleton-line.wide{width:100%}.skeleton-line.short{width:45%}@keyframes skeleton{50%{background-position:100% 0}}

/* Premium admin design system */
:root{
    --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;
    --radius-xs:.35rem;--radius-sm:.5rem;--radius-md:.7rem;--radius-lg:.9rem;
    --page-max:1540px;--control-height:2.75rem;
    --color-primary:#176b63;--color-primary-strong:#0f514c;--color-primary-soft:rgba(23,107,99,.1);
    --color-success:#16805c;--color-success-soft:rgba(22,128,92,.12);
    --color-warning:#a96708;--color-warning-soft:rgba(169,103,8,.14);
    --color-danger:#b42335;--color-danger-soft:rgba(180,35,53,.12);
    --color-info:#226ca8;--color-info-soft:rgba(34,108,168,.12);
    --color-neutral:#667085;--color-neutral-soft:rgba(102,112,133,.13);
    --focus-ring:0 0 0 .22rem rgba(23,107,99,.18);
    --card-shadow:0 10px 32px rgba(15,35,34,.07);
    --card-shadow-hover:0 14px 38px rgba(15,35,34,.11);
}
html[data-theme=dark]{
    --color-primary:#5fc2b5;--color-primary-strong:#8bd8ce;--color-primary-soft:rgba(95,194,181,.14);
    --color-success:#5ec99a;--color-success-soft:rgba(94,201,154,.15);
    --color-warning:#e7ad5f;--color-warning-soft:rgba(231,173,95,.16);
    --color-danger:#ef6b7b;--color-danger-soft:rgba(239,107,123,.16);
    --color-info:#80bff0;--color-info-soft:rgba(128,191,240,.16);
    --card-shadow:0 14px 36px rgba(0,0,0,.28);
    --card-shadow-hover:0 18px 42px rgba(0,0,0,.36);
}
body,button,input,select,textarea,table,.app-sidebar,.app-topbar,.card,.modal,.alert,.swal2-popup{font-family:"Cairo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:none;color:var(--color-primary-strong)}
.app-main{max-width:var(--page-max);margin-inline:auto}
.app-topbar{min-height:4rem;border-bottom:1px solid var(--line);box-shadow:0 4px 24px rgba(15,35,34,.04)}
.topbar-title span{display:block;font-size:1rem;color:var(--text)}.topbar-title::after{content:"";display:block;width:2.4rem;height:3px;margin-top:.35rem;border-radius:999px;background:var(--color-primary)}
.icon-button,.chip-link{border-radius:var(--radius-sm);transition:background .16s ease,border-color .16s ease,transform .16s ease}.icon-button:hover:not(:disabled),.chip-link:hover{background:var(--color-primary-soft);border-color:rgba(23,107,99,.28);transform:translateY(-1px)}
.app-sidebar{background:#102321;border-inline-end:1px solid rgba(255,255,255,.08);box-shadow:12px 0 36px rgba(16,35,33,.18)}.brand-block{border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:.65rem}.brand-mark{border-radius:var(--radius-md)}
.side-nav{gap:.2rem}.side-group{margin:.8rem .45rem .3rem;color:rgba(238,247,244,.58);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.side-link{border-radius:var(--radius-sm);font-weight:700;position:relative}.side-link:hover,.side-link:focus-visible{background:rgba(255,255,255,.085);color:#fff}.side-link.is-active{background:rgba(217,242,95,.14);color:#fff}.side-link.is-active::before{content:"";position:absolute;inset-block:.55rem;inset-inline-start:.1rem;width:3px;border-radius:999px;background:var(--accent)}
.breadcrumbs{margin-top:.25rem}.breadcrumbs a{color:var(--muted);font-weight:700}.breadcrumbs li:last-child a{color:var(--text)}
.page-header{padding:1rem 0 .25rem;margin-block:.5rem 1rem}.page-header-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.page-header p:not(.eyebrow){margin:0;color:var(--muted)}
.module-page{display:grid;gap:var(--space-5)}.module-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--card-shadow)}.module-hero__copy{max-width:54rem}.module-hero h2{font-size:clamp(1.35rem,1.8vw,2rem);margin:0 0 .35rem;line-height:1.25}.module-hero p{margin:0;color:var(--muted);line-height:1.7}.module-hero__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.module-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.85rem}.meta-pill{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.28rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.86rem;font-weight:700}
.content-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow);overflow:hidden}.content-card__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}.content-card__head h3{font-size:1rem;margin:0}.content-card__body{padding:var(--space-5)}
.filter-toolbar{display:grid;grid-template-columns:minmax(15rem,1.3fr) repeat(auto-fit,minmax(10rem,.7fr)) auto auto;gap:.75rem;align-items:end;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.filter-field{display:grid;gap:.35rem}.filter-field label,.form-label{font-size:.82rem;font-weight:800;color:var(--text)}.filter-search{position:relative}.filter-search i{position:absolute;inset-inline-start:.8rem;top:50%;transform:translateY(-50%);color:var(--muted)}.filter-search .form-control{padding-inline-start:2.35rem}
.form-control,.form-select,select.form-control{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:none}.form-control:focus,.form-select:focus,select.form-control:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);background:var(--surface);color:var(--text)}textarea.form-control{min-height:7rem;padding-block:.75rem}.form-text{color:var(--muted)}
.btn{min-height:2.55rem;border-radius:var(--radius-sm);font-weight:800;border-width:1px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.btn-sm{min-height:2rem;font-size:.82rem}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover,.btn-primary:focus{background:var(--color-primary-strong);border-color:var(--color-primary-strong);color:#fff}.btn-outline-secondary{border-color:var(--line);color:var(--text);background:var(--surface)}.btn-outline-secondary:hover{background:var(--surface-2);border-color:var(--line);color:var(--text)}.btn-outline-primary{border-color:rgba(23,107,99,.35);color:var(--color-primary);background:transparent}.btn-outline-primary:hover{background:var(--color-primary-soft);color:var(--color-primary-strong)}.btn-outline-danger{border-color:rgba(180,35,53,.36);color:var(--color-danger)}.btn-outline-danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text)}.btn-ghost:hover{background:var(--surface-2)}
.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:visible;max-height:none;background:var(--surface);box-shadow:var(--card-shadow)}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.035em;font-weight:900;padding:.9rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}.data-table tbody td{padding:1rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-primary-soft)}.data-main{display:grid;gap:.18rem}.data-main strong{font-size:.98rem}.data-main small{color:var(--muted)}.row-danger{background:var(--color-danger-soft)}
.status-badge{display:inline-flex;align-items:center;gap:.45rem;min-height:1.85rem;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:900;border:1px solid transparent;white-space:nowrap}.status-badge span{width:.48rem;height:.48rem;border-radius:50%;background:currentColor}.status-badge--success{color:var(--color-success);background:var(--color-success-soft);border-color:rgba(22,128,92,.18)}.status-badge--neutral{color:var(--color-neutral);background:var(--color-neutral-soft);border-color:rgba(102,112,133,.18)}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:rgba(169,103,8,.18)}.status-badge--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:rgba(180,35,53,.18)}.status-badge--info{color:var(--color-info);background:var(--color-info-soft);border-color:rgba(34,108,168,.18)}.badge{border-radius:999px;font-weight:800;padding:.35rem .62rem}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-secondary{background:var(--color-neutral-soft);color:var(--color-neutral)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}
.action-cell{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;white-space:nowrap}.action-menu{position:relative}.action-menu summary{list-style:none;display:inline-grid;place-items:center;width:2.15rem;height:2.15rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] summary{box-shadow:var(--focus-ring);border-color:var(--color-primary)}.action-menu__panel{position:absolute;inset-inline-end:0;top:calc(100% + .35rem);z-index:10;display:grid;gap:.15rem;min-width:12rem;padding:.35rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--card-shadow-hover)}.action-menu__panel a{display:flex;align-items:center;gap:.5rem;padding:.58rem .65rem;border-radius:.42rem;color:var(--text);font-weight:700}.action-menu__panel a:hover{background:var(--surface-2)}
.form-shell{display:grid;gap:var(--space-5)}.form-section{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.form-section__head{margin-bottom:1rem}.form-section__head h3{font-size:1.05rem;margin:0 0 .25rem}.form-section__head p{margin:0;color:var(--muted);font-size:.92rem}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.field-span-2{grid-column:span 2}.field-span-3{grid-column:span 3}.field-span-4{grid-column:span 4}.field-span-5{grid-column:span 5}.field-span-6{grid-column:span 6}.field-span-8{grid-column:span 8}.field-span-12{grid-column:span 12}.form-actions{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:var(--card-shadow)}html[data-theme=dark] .form-actions{background:rgba(23,33,31,.88)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem}.check-row{min-height:2.35rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .6rem;background:var(--surface-2);font-weight:700}.check-row input{accent-color:var(--color-primary)}
.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--card-shadow)}.profile-identity{display:flex;align-items:center;gap:1rem}.profile-avatar{display:grid;place-items:center;width:4.8rem;height:4.8rem;border-radius:1.1rem;background:var(--color-primary-soft);color:var(--color-primary);font-size:1.8rem;font-weight:900}.profile-header h2{margin:0;font-size:clamp(1.35rem,2vw,2.1rem)}.profile-header p{margin:.25rem 0 0;color:var(--muted)}.detail-list{display:grid;gap:.05rem}.detail-row{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:0}.detail-row dt{font-weight:900;color:var(--muted)}.detail-row dd{margin:0;color:var(--text)}.chip-cloud{display:flex;gap:.45rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.25rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:800;font-size:.84rem}.section-divider{border-color:var(--line);opacity:1}
.empty-state{border:1px dashed rgba(23,107,99,.25);box-shadow:none;background:var(--surface);border-radius:var(--radius-lg);padding:2rem}.empty-state p{margin:.5rem 0 0;color:var(--muted);font-weight:700}.pagination-wrap{padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}
[data-confirm]{position:relative}
@media (max-width:1024px){.module-hero,.profile-header{flex-direction:column;align-items:stretch}.filter-toolbar{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.field-span-2,.field-span-3,.field-span-4,.field-span-5,.field-span-6,.field-span-8{grid-column:span 6}.action-cell{justify-content:flex-start}.page-header-actions{width:100%}}
@media (max-width:640px){.app-main{padding-inline:.85rem}.module-hero,.form-section,.content-card__body,.profile-header{padding:1rem}.filter-toolbar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field-span-2,.field-span-3,.field-span-4,.field-span-5,.field-span-6,.field-span-8,.field-span-12{grid-column:span 1}.detail-row{grid-template-columns:1fr;gap:.25rem}.profile-identity{align-items:flex-start}.profile-avatar{width:3.8rem;height:3.8rem}.form-actions{justify-content:stretch}.form-actions .btn{flex:1 1 12rem}.data-table{min-width:680px}}

/* Commercial SaaS compact refinement layer */
:root{--sidebar:14.75rem;--sidebar-collapsed:4.75rem;--control-height:2.45rem;--radius:.65rem}
body{font-size:.94rem;letter-spacing:0}.app-main{padding-block:.8rem 1.6rem}.app-sidebar{padding:.8rem}.brand-block{padding:.45rem .45rem .8rem}.brand-mark{width:2.25rem;height:2.25rem}.side-link{min-height:2.35rem;padding:.52rem .62rem;font-size:.9rem}.side-link i{font-size:1rem}.side-group{margin:.65rem .4rem .2rem;font-size:.68rem}.app-topbar{min-height:3.55rem;padding:.55rem .85rem}.page-header{margin-block:.25rem .75rem;padding:.65rem 0 .15rem}.page-header h1{font-size:clamp(1.25rem,1.55vw,1.7rem)}.module-page{gap:var(--space-4)}.module-hero{padding:1rem 1.1rem}.module-hero--compact{padding:.9rem 1rem}.module-hero h2{font-size:clamp(1.2rem,1.45vw,1.65rem)}.module-hero p{line-height:1.55}.module-meta{margin-top:.55rem}.meta-pill{min-height:1.75rem;padding:.18rem .55rem;font-size:.78rem}.content-card__head{padding:.78rem .95rem}.content-card__body{padding:1rem}.filter-toolbar{padding:.8rem;gap:.55rem;grid-template-columns:minmax(14rem,1.25fr) repeat(auto-fit,minmax(9rem,.62fr)) auto auto}.form-section{padding:1rem}.form-grid{gap:.8rem}.form-section__head{margin-bottom:.75rem}.form-section__head h3,.content-card__head h3{font-size:.98rem}.form-section__head p{font-size:.84rem}.form-actions{padding:.75rem}.btn{min-height:2.35rem;padding-inline:.75rem;font-size:.9rem}.btn-sm{min-height:1.85rem}.form-control,.form-select,select.form-control{font-size:.9rem}.data-table{min-width:720px}.data-table thead th{padding:.7rem .85rem;font-size:.7rem}.data-table tbody td{padding:.75rem .85rem}.data-main strong{font-size:.92rem}.profile-header{padding:1rem}.profile-avatar{width:4.1rem;height:4.1rem;border-radius:.85rem}.profile-header h2{font-size:clamp(1.25rem,1.55vw,1.75rem)}.detail-row{grid-template-columns:9.5rem 1fr;padding:.6rem 0}.chip{min-height:1.75rem;font-size:.78rem}.status-badge{min-height:1.65rem;font-size:.72rem}.table-wrap--flush{border:0;border-radius:0;box-shadow:none}.danger-zone{border-color:rgba(180,35,53,.24)}.action-panel{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--card-shadow)}.action-panel .content-card__head{margin:-1rem -1rem 1rem}.action-panel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;align-items:start}.action-panel__grid>div>h3{margin:0 0 .3rem;font-size:1rem}.action-panel__grid>div>p{margin:0;color:var(--muted);line-height:1.65}.mini-form{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.field-block{display:grid;gap:.35rem;font-weight:800}.field-block span{font-size:.82rem}.permission-board{display:grid;gap:.9rem}.permission-module{border:1px solid var(--line);border-radius:var(--radius-md);padding:.8rem;background:var(--surface-2)}.permission-module legend{float:none;width:auto;margin:0 0 .55rem;padding:0;font-size:.84rem;font-weight:900;color:var(--text)}.kpi-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.kpi-card{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.kpi-card__icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.7rem;background:var(--color-primary-soft);color:var(--color-primary)}.kpi-card p{margin:0;color:var(--muted);font-size:.78rem;font-weight:800}.kpi-card strong{display:block;margin-top:.1rem;font-size:.98rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:.9rem}.dashboard-card--wide{min-width:0}.chart-preview--dense{height:10rem}.preview-feed{display:grid;align-content:start;gap:.55rem}.auth-shell,.error-shell{background:radial-gradient(circle at 18% 18%,rgba(217,242,95,.18),transparent 23%),radial-gradient(circle at 78% 18%,rgba(23,107,99,.18),transparent 24%),linear-gradient(135deg,var(--bg),var(--surface-2));padding:1.25rem}.auth-main{width:min(100%,68rem)}.auth-product-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(22rem,.75fr);gap:1rem;align-items:stretch}.auth-visual{position:relative;overflow:hidden;display:grid;align-content:space-between;min-height:34rem;padding:1.4rem;border-radius:1rem;background:linear-gradient(135deg,#0e2724,#176b63 58%,#23322b);color:#fff;box-shadow:var(--card-shadow-hover)}.auth-visual::after{content:"";position:absolute;inset:auto -4rem -6rem auto;width:18rem;height:18rem;border:1.2rem solid rgba(217,242,95,.16);border-radius:50%}.auth-brand--hero{position:relative;z-index:1}.auth-visual__copy{position:relative;z-index:1;max-width:34rem}.auth-visual__copy h2{font-size:clamp(1.9rem,3.1vw,3.3rem);line-height:1.1;margin:0 0 .75rem}.auth-visual__copy p{color:rgba(255,255,255,.78);font-size:1rem;line-height:1.8}.auth-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.auth-feature-grid span{display:flex;align-items:center;gap:.45rem;min-height:3rem;padding:.65rem;border:1px solid rgba(255,255,255,.13);border-radius:.75rem;background:rgba(255,255,255,.08);font-weight:800}.auth-card--login{width:100%;align-self:center;padding:1.25rem}.auth-card__head h1{font-size:1.55rem;margin:.1rem 0 .35rem}.auth-card__head p{color:var(--muted);margin:0}.auth-form{display:grid;gap:.8rem;margin-top:1rem}.btn-auth-submit{width:100%}.auth-link{justify-self:center;font-weight:900}.auth-footnote{margin:.9rem 0 0;color:var(--muted);font-size:.82rem;text-align:center}.error-main{width:min(100%,34rem)}.error-card--premium{position:relative;overflow:hidden;width:100%;padding:1.25rem}.error-card__body{position:relative;z-index:1}.error-code{position:absolute;inset-block-start:-.9rem;inset-inline-end:.9rem;color:var(--surface-2);font-size:6.5rem;font-weight:900;line-height:1;opacity:.9}.error-card h1{font-size:1.5rem;margin:.7rem 0 .45rem}.debug-panel{position:relative;z-index:2}
@media (max-width:1024px){.app-sidebar{width:var(--sidebar)}.filter-toolbar{grid-template-columns:1fr 1fr}.dashboard-grid,.auth-product-shell{grid-template-columns:1fr}.auth-visual{min-height:22rem}.kpi-strip{grid-template-columns:1fr 1fr}.auth-feature-grid{grid-template-columns:1fr}.detail-row{grid-template-columns:8rem 1fr}}
@media (max-width:640px){.app-topbar{flex-wrap:wrap;align-items:flex-start}.topbar-title{order:3;flex:1 0 100%;min-width:0}.topbar-actions{order:2;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.1rem}.kpi-strip,.dashboard-grid{grid-template-columns:1fr}.auth-shell,.error-shell{padding:.75rem}.auth-visual{min-height:auto;padding:1rem}.auth-card--login{padding:1rem}.action-panel__grid{grid-template-columns:1fr}.filter-toolbar{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr}.data-table{min-width:640px}}

/* Bodybuilding SaaS product architecture */
:root{
    --bg:#f3f5f0;
    --surface:#fffefa;
    --surface-2:#eef1e8;
    --text:#151a17;
    --muted:#69726b;
    --line:rgba(21,26,23,.12);
    --brand:#1b5b4e;
    --brand-2:#b7652f;
    --accent:#d8ef52;
    --iron:#252b27;
    --iron-2:#3b453f;
    --page-max:1500px;
    --radius-xs:.35rem;
    --radius-sm:.5rem;
    --radius-md:.75rem;
    --radius-lg:1rem;
    --radius-xl:1.35rem;
    --card-shadow:0 16px 42px rgba(31,38,33,.08);
    --card-shadow-hover:0 22px 60px rgba(31,38,33,.14);
    --focus-ring:0 0 0 .22rem rgba(216,239,82,.34);
}

/* V2 Phase 10: unified reporting and business intelligence */
.bi-filter-toolbar{grid-template-columns:minmax(150px,.8fr) repeat(2,minmax(150px,.8fr)) minmax(180px,1fr) auto;align-items:end}
.bi-context-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}
.bi-context-bar h2{margin:2px 0;font-size:1.35rem}.bi-context-bar p:not(.eyebrow){margin:0;color:var(--muted)}.bi-context-bar .module-hero__meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bi-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bi-kpi-card{min-width:0;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bi-kpi-card:hover,.bi-kpi-card:focus-visible{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--card-shadow-hover)}
.bi-kpi-card strong{font-size:clamp(1.25rem,2vw,1.75rem);font-variant-numeric:tabular-nums}
.bi-kpi-card small{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-weight:700}
.comparison--up{color:var(--color-success)}.comparison--down{color:var(--color-danger)}.comparison--flat{color:var(--muted)}
.bi-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:16px}
.bi-margin-card .metric-stack{display:grid;gap:0}
.bi-margin-card .metric-stack>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-color)}
.bi-margin-card .metric-stack>div:last-child{border-bottom:0}
.bi-margin-card .metric-stack strong{font-variant-numeric:tabular-nums}
.bi-report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.bi-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-filter-toolbar .filter-actions{grid-column:1/-1}.bi-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bi-report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.bi-context-bar{align-items:flex-start;flex-direction:column}.bi-context-bar .module-hero__meta{justify-content:flex-start}.bi-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-main-grid{grid-template-columns:1fr}.bi-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.bi-filter-toolbar,.bi-kpi-grid,.bi-report-grid{grid-template-columns:1fr}.bi-filter-toolbar .filter-actions{grid-column:auto}}
html[data-theme=dark]{
    --bg:#0f1311;
    --surface:#171c19;
    --surface-2:#202720;
    --text:#f1f5ee;
    --muted:#adb9b0;
    --line:rgba(241,245,238,.14);
    --brand:#74cbbd;
    --brand-2:#e09b64;
    --iron:#0b0f0d;
    --iron-2:#151d18;
    --card-shadow:0 18px 48px rgba(0,0,0,.35);
    --card-shadow-hover:0 24px 68px rgba(0,0,0,.44);
}
body{background:radial-gradient(circle at 8% -10%,rgba(216,239,82,.18),transparent 22%),radial-gradient(circle at 95% 2%,rgba(27,91,78,.14),transparent 24%),var(--bg);font-size:.93rem}
.admin-shell{min-height:100vh;display:block}.app-frame{margin:0}.app-sidebar,.mobile-backdrop{display:none!important}.app-main{width:min(100% - 2rem,var(--page-max));margin-inline:auto;padding:1rem 0 2rem}.app-footer{width:min(100% - 2rem,var(--page-max));margin-inline:auto;padding:1rem 0 1.25rem;border-top:0}
.product-shell-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(243,245,240,.88);backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 8px 34px rgba(20,26,23,.06)}
html[data-theme=dark] .product-shell-header{background:rgba(15,19,17,.9)}
.utility-bar{width:min(100% - 2rem,var(--page-max));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;padding:.58rem 0}
.brand-lockup{display:flex;align-items:center;gap:.72rem;min-width:0;color:var(--text)}.brand-lockup:hover{color:var(--text)}.brand-logo{display:grid;place-items:center;flex:0 0 2.7rem;width:2.7rem;height:2.7rem;border-radius:.85rem;background:var(--iron);box-shadow:0 12px 28px rgba(21,26,23,.18);overflow:hidden}.brand-logo img{width:100%;height:100%;display:block}.brand-copy{display:grid;gap:.04rem;min-width:0}.brand-copy strong{font-size:1rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.brand-lockup--inverse{color:#fff}.brand-lockup--inverse:hover{color:#fff}.brand-lockup--inverse .brand-logo{background:#0d1210;border:1px solid rgba(255,255,255,.18)}.brand-lockup--inverse .brand-copy small{color:rgba(255,255,255,.68)}
.utility-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.utility-actions form{margin:0}.language-switcher{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.chip-link{min-width:2.15rem;height:2.05rem;border:0;border-radius:999px;background:transparent;font-size:.8rem}.chip-link:hover{background:var(--accent);color:#101410}.icon-button{width:2.35rem;min-width:2.35rem;height:2.35rem;border-radius:.72rem}.user-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:0 .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-weight:800;font-size:.82rem}.mobile-nav-button{display:none}
.main-product-nav{width:min(100% - 2rem,var(--page-max));margin-inline:auto;display:flex;align-items:center;gap:.35rem;min-height:3.2rem;padding:.35rem 0 .6rem;overflow:visible}.top-nav-link,.top-nav-group>summary{display:flex;align-items:center;gap:.5rem;min-height:2.35rem;padding:.48rem .72rem;border-radius:999px;color:var(--text);font-weight:900;cursor:pointer;list-style:none;white-space:nowrap}.top-nav-group>summary::-webkit-details-marker{display:none}.top-nav-link:hover,.top-nav-group>summary:hover,.top-nav-link.is-active,.top-nav-group.is-active>summary,.top-nav-group[open]>summary{background:var(--iron);color:#fff;text-decoration:none}.top-nav-group{position:relative}.top-nav-menu{position:absolute;inset-inline-start:0;top:calc(100% + .55rem);z-index:40;display:grid;gap:.18rem;width:17rem;padding:.55rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow-hover)}.top-nav-menu a,.top-nav-item{display:flex;align-items:center;min-height:2.35rem;padding:.48rem .65rem;border-radius:.6rem;color:var(--text);font-weight:800}.top-nav-menu a:hover{background:var(--surface-2);color:var(--brand)}.top-nav-item.is-unavailable{color:var(--muted);opacity:.62}.top-nav-menu__label{padding:.25rem .65rem;color:var(--brand-2);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.breadcrumbs{width:min(100%,var(--page-max));margin:.75rem 0 .35rem}.breadcrumbs ol{font-size:.82rem}.page-header{position:relative;overflow:hidden;align-items:flex-end;padding:1.15rem 1.25rem;margin:.45rem 0 1rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--iron),#23493f 64%,#42522b);color:#fff;box-shadow:var(--card-shadow-hover)}.page-header::after{content:"";position:absolute;inset:auto -4rem -6rem auto;width:16rem;height:16rem;border:1.35rem solid rgba(216,239,82,.15);border-radius:50%}.page-header>*{position:relative;z-index:1}.page-header h1{color:#fff;font-size:clamp(1.35rem,1.9vw,2.15rem)}.page-header p:not(.eyebrow){color:rgba(255,255,255,.72)}.page-header .meta-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#f4f8ef}.eyebrow{color:var(--accent);letter-spacing:.08em}
.module-page{gap:1rem}.module-hero,.profile-header{border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--line);box-shadow:var(--card-shadow);padding:1.15rem 1.25rem}.module-hero{position:relative;overflow:hidden}.module-hero::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:.34rem;background:linear-gradient(180deg,var(--accent),var(--brand))}.module-hero h2{font-size:clamp(1.28rem,1.8vw,2rem);font-weight:950}.module-hero p{max-width:68rem}.module-hero__actions{align-items:center}.meta-pill{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.dashboard-preview .module-hero{min-height:12rem;align-items:center;background:linear-gradient(135deg,#121915,#1b5b4e 58%,#516126);color:#fff}.dashboard-preview .module-hero h2{font-size:clamp(2rem,4vw,4.2rem);line-height:1.02}.dashboard-preview .module-hero p{color:rgba(255,255,255,.78)}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(20rem,.7fr)}.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.kpi-card{border-radius:var(--radius-xl);padding:1rem;background:var(--surface);box-shadow:var(--card-shadow)}.kpi-card__icon{background:var(--iron);color:var(--accent)}
.content-card{border-radius:var(--radius-xl);box-shadow:var(--card-shadow);border-color:var(--line)}.content-card__head{min-height:3.45rem;background:linear-gradient(180deg,var(--surface),rgba(0,0,0,0));padding:.95rem 1.1rem}.content-card__head h3{font-size:1rem;font-weight:950}.content-card__body{padding:1.1rem}
.filter-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;border-radius:var(--radius-xl);padding:.8rem;background:var(--surface);box-shadow:var(--card-shadow)}.filter-toolbar .filter-search{flex:1 1 18rem}.filter-field{flex:0 1 12rem}.filter-field:has(.btn){flex:0 0 auto}.filter-field label,.form-label,.field-block span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:950}
.table-wrap{border-radius:var(--radius-xl)}.data-table{min-width:760px}.data-table thead th{background:var(--iron);color:#f6f9f1;border-bottom:0;font-size:.68rem;letter-spacing:.07em}.data-table tbody td{padding:.82rem .92rem}.data-table tbody tr:hover{background:rgba(216,239,82,.12)}.data-main strong{font-weight:950}.action-cell .btn{white-space:nowrap}.action-menu summary{border-radius:999px}.action-menu__panel{border-radius:.85rem}
.form-shell{gap:1rem}.form-section{border-radius:var(--radius-xl);padding:1.15rem;box-shadow:var(--card-shadow)}.form-section__head{padding-bottom:.65rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.form-section__head h3{font-size:1.05rem;font-weight:950}.form-grid{gap:.9rem}.form-actions{border-radius:var(--radius-xl);box-shadow:0 -10px 34px rgba(21,26,23,.08);background:rgba(255,254,250,.9)}html[data-theme=dark] .form-actions{background:rgba(23,28,25,.92)}.form-control,.form-select,select.form-control{border-radius:.72rem;background:var(--surface);min-height:2.55rem}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.check-row{border-radius:.8rem;background:var(--surface);transition:background .16s ease,border-color .16s ease}.check-row:has(input:checked){background:rgba(216,239,82,.14);border-color:rgba(216,239,82,.5)}
.member-shell .member-product-nav{justify-content:center}.member-main{padding-top:1rem}.member-hero{background:linear-gradient(135deg,rgba(216,239,82,.18),rgba(23,107,99,.12)),var(--surface)}.member-portal-page .content-card{min-width:0}.definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.definition-grid>div{padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.definition-grid dt{margin:0 0 .25rem;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.definition-grid dd{margin:0;font-weight:900;color:var(--text);word-break:break-word}.definition-grid--single{grid-template-columns:1fr}.member-password-card{max-width:58rem}
.profile-header{background:linear-gradient(135deg,var(--iron),#24483f);color:#fff}.profile-header p,.profile-header .detail-row dt{color:rgba(255,255,255,.7)}.profile-header h2{color:#fff}.profile-avatar{background:var(--accent);color:#111817;box-shadow:0 16px 34px rgba(0,0,0,.2)}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-row{grid-template-columns:10rem minmax(0,1fr)}.chip{background:var(--surface);border-radius:999px}.status-badge{border-radius:999px}
.auth-shell{place-items:stretch;background:radial-gradient(circle at 12% 12%,rgba(216,239,82,.22),transparent 24%),linear-gradient(135deg,#101511,#1d322b 54%,#55662b);padding:0}.auth-main{width:100%;min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,3vw,2.2rem)}.auth-product-shell{width:min(100%,76rem);grid-template-columns:minmax(0,1.18fr) minmax(23rem,.72fr);gap:1.1rem}.auth-visual{min-height:40rem;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem;background:linear-gradient(135deg,rgba(15,20,16,.96),rgba(27,91,78,.94) 58%,rgba(89,108,43,.9)),url('../images/default-gym-logo.svg');background-repeat:no-repeat;background-position:calc(100% + 4rem) calc(100% + 4rem);background-size:22rem;color:#fff}.auth-visual__copy h2{font-weight:950}.auth-card--login{border-radius:1.35rem;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:1.45rem}.auth-card__head h1{font-weight:950}.auth-form{gap:.9rem}.btn-auth-submit{min-height:3rem}
.error-shell{background:radial-gradient(circle at 10% 10%,rgba(216,239,82,.18),transparent 24%),linear-gradient(135deg,var(--bg),var(--surface-2));align-items:center}.error-card--premium{border-radius:1.35rem}.error-card__body .brand-lockup{margin-bottom:1rem}.error-code{font-size:7rem;color:rgba(216,239,82,.22)}
@media (max-width:1024px){.utility-bar{min-height:3.8rem}.mobile-nav-button{display:inline-grid}.main-product-nav{display:none;position:absolute;inset-inline:1rem;top:calc(100% - .4rem);width:auto;max-height:calc(100vh - 5rem);overflow:auto;padding:.65rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--card-shadow-hover);flex-direction:column;align-items:stretch}.main-nav-open .main-product-nav{display:flex}.top-nav-link,.top-nav-group>summary{justify-content:flex-start;border-radius:.8rem}.top-nav-menu{position:static;width:100%;margin:.25rem 0 .55rem;box-shadow:none}.dashboard-grid,.auth-product-shell,.detail-grid{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr 1fr}.page-header{align-items:flex-start}.filter-toolbar{align-items:stretch}.filter-field,.filter-toolbar .filter-search{flex:1 1 13rem}}
@media (max-width:720px){.utility-bar{width:min(100% - 1rem,var(--page-max));align-items:flex-start}.brand-copy small{display:none}.utility-actions{flex-wrap:wrap}.utility-logout span{display:none}.app-main,.app-footer{width:min(100% - 1rem,var(--page-max))}.page-header{padding:1rem;border-radius:1rem}.module-hero,.profile-header,.content-card,.form-section{border-radius:1rem}.kpi-strip{grid-template-columns:1fr}.definition-grid{grid-template-columns:1fr}.auth-main{padding:.75rem}.auth-visual{min-height:20rem;padding:1rem}.auth-feature-grid{grid-template-columns:1fr}.auth-card--login{padding:1rem}.form-grid{grid-template-columns:1fr}.field-span-2,.field-span-3,.field-span-4,.field-span-5,.field-span-6,.field-span-8,.field-span-12{grid-column:span 1}.form-actions{position:static}.data-table{min-width:0;border-spacing:0}.table-wrap{overflow:visible}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tbody tr{padding:.75rem;border-bottom:1px solid var(--line)}.data-table tbody td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.7rem;padding:.45rem 0;border-bottom:0}.data-table tbody td::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase}.action-cell{justify-content:flex-start}.detail-row{grid-template-columns:1fr}}
.timeline-list{display:grid;gap:1rem}.timeline-item{display:grid;grid-template-columns:12px 1fr;gap:.85rem;align-items:start}.timeline-item__marker{width:10px;height:10px;margin-top:.45rem;border-radius:999px;background:var(--accent)}.timeline-item__head,.member-card-preview{display:flex;align-items:center;justify-content:space-between;gap:1rem}.qr-placeholder{display:grid;width:8rem;aspect-ratio:1;place-items:center;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted);background:var(--surface-2)}.qr-placeholder .bi{font-size:4rem}@media (max-width:575.98px){.timeline-item__head,.member-card-preview{align-items:flex-start;flex-direction:column}}
@media (max-width:430px){.brand-logo{width:2.35rem;height:2.35rem;flex-basis:2.35rem}.brand-copy strong{max-width:10.5rem}.utility-actions{gap:.28rem}.language-switcher{order:3;width:100%;justify-content:flex-start}.user-chip{display:none}.data-table tbody td{grid-template-columns:1fr}.data-table tbody td::before{margin-bottom:-.25rem}}

.member-cell{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem}.avatar-mini{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.7rem;background:var(--color-primary-soft);color:var(--color-primary);font-weight:950}.live-avatar{object-fit:cover;overflow:hidden}.member-profile-header .profile-avatar{font-size:1.45rem}.profile-tabs{display:flex;gap:.45rem;flex-wrap:wrap;padding:.35rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--card-shadow)}.profile-tab{display:inline-flex;align-items:center;min-height:2.2rem;padding:.35rem .75rem;border-radius:999px;font-weight:900;color:var(--muted)}.profile-tab.is-active{background:var(--iron);color:#fff}.profile-tab.is-disabled{background:var(--surface-2);opacity:.74}.future-panel{padding:.85rem 1rem;border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--muted);font-weight:800}.members-module .data-table a{color:inherit;text-decoration:none}.members-module .data-table a:hover{color:var(--color-primary)}
.decision-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--card-shadow);background:var(--surface)}.decision-panel h3{margin:.1rem 0 .25rem;font-size:1.45rem;font-weight:950}.decision-panel p{margin:0;color:var(--muted)}.decision-panel--allowed{border-color:rgba(22,128,92,.3);background:linear-gradient(135deg,var(--color-success-soft),var(--surface))}.decision-panel--denied{border-color:rgba(180,35,53,.32);background:linear-gradient(135deg,var(--color-danger-soft),var(--surface))}.decision-code{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .7rem;border-radius:999px;background:var(--iron);color:#fff;font-size:.78rem;font-weight:950;letter-spacing:.04em}.attendance-module{display:flex!important;flex-direction:column!important;gap:1.25rem!important;width:100%!important}.attendance-module>.module-hero,.attendance-module>.attendance-search{width:100%!important}.attendance-module .mini-form{align-content:center}.attendance-module .action-cell form{margin:0}
@media (max-width:720px){.decision-panel{align-items:flex-start;flex-direction:column}.decision-panel h3{font-size:1.2rem}}
.form-section:has(.searchable-select-wrapper.is-open){position:relative;z-index:9999!important}
.searchable-select-wrapper{position:relative;width:100%}
.searchable-select-wrapper.is-open{z-index:999}
.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:.55rem .85rem;min-height:var(--control-height);font-size:.9rem;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}
.searchable-select-trigger:focus,.searchable-select-wrapper.is-open .searchable-select-trigger{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:0}
.searchable-select-trigger.is-placeholder{color:var(--muted)}
.searchable-select-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.searchable-select-arrow{margin-inline-start:.5rem;font-size:.8rem;color:var(--muted);transition:transform .2s ease}
.searchable-select-wrapper.is-open .searchable-select-arrow{transform:rotate(180deg)}
.searchable-select-dropdown{position:absolute;inset-inline-start:0;top:calc(100% + 4px);z-index:99999!important;width:100%;min-width:18rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 14px 36px rgba(0,0,0,.22);padding:.6rem;display:flex;flex-direction:column;gap:.5rem}
.searchable-select-dropdown[hidden]{display:none!important}
.searchable-select-search-box{position:relative}
.searchable-select-search-icon{position:absolute;inset-inline-start:.75rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.85rem;pointer-events:none}
.searchable-select-input{width:100%;padding-inline-start:2.2rem!important;min-height:2.25rem!important;font-size:.88rem!important;border-radius:var(--radius-sm)!important}
.searchable-select-options{max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.searchable-select-option{padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.88rem;color:var(--text);cursor:pointer;transition:background .12s ease}
.searchable-select-option:hover{background:var(--color-primary-soft);color:var(--color-primary-strong)}
.searchable-select-option.is-selected{background:var(--color-primary);color:#fff;font-weight:800}
.searchable-select-empty{padding:.85rem;text-align:center;color:var(--muted);font-size:.85rem}
.code-block{max-height:22rem;overflow:auto;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:.85rem;white-space:pre-wrap}
.receipt-preview{display:grid;place-items:center;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-2);box-shadow:var(--card-shadow)}
.receipt-paper{width:min(100%,36rem);padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}
.receipt-preview--thermal .receipt-paper{width:80mm;max-width:100%;font-size:.82rem;border-radius:.35rem}
.receipt-paper__head{display:grid;gap:.25rem;text-align:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px dashed var(--line)}
@media print{.product-shell-header,.page-header,.breadcrumbs,.app-footer,.module-hero__actions{display:none!important}.app-main{width:100%;padding:0}.receipt-preview{box-shadow:none;border:0;background:#fff}.receipt-paper{box-shadow:none;color:#000;background:#fff}}
.notification-dropdown{position:relative}
.notification-dropdown>summary{list-style:none;position:relative;cursor:pointer}
.notification-dropdown>summary::-webkit-details-marker{display:none}
.notification-count{position:absolute;inset-block-start:-.35rem;inset-inline-end:-.35rem;display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.68rem;font-weight:900;border:2px solid var(--surface)}
.notification-dropdown__panel{position:absolute;inset-block-start:calc(100% + .55rem);inset-inline-end:0;width:min(22rem,calc(100vw - 2rem));padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow-hover);z-index:40}
.notification-dropdown__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}
.notification-dropdown__head a{font-size:.82rem;font-weight:900;color:var(--color-primary)}
.notification-dropdown__list{display:grid;gap:.35rem;margin-top:.55rem}
.notification-dropdown__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center;padding:.6rem;border-radius:var(--radius-md);color:var(--text)}
.notification-dropdown__item>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;min-width:0;color:var(--text);text-decoration:none}
.notification-dropdown__item form{margin:0}.notification-dropdown__item button{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--text)}
.notification-dropdown__item:hover,.notification-dropdown__item:focus-visible{background:var(--surface-2)}
.notification-dropdown__item strong,.notification-dropdown__item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-dropdown__item small{color:var(--muted);font-size:.78rem}
.notification-dot{width:.62rem;height:.62rem;margin-top:.35rem;border-radius:999px;background:var(--color-info)}
.notification-dot--success{background:var(--color-success)}
.notification-dot--warning{background:var(--color-warning)}
.notification-dot--error,.notification-dot--critical{background:var(--color-danger)}
.notification-empty{margin:.75rem 0 0;color:var(--muted);font-size:.85rem}
.action-stack{display:grid;gap:.6rem}
.action-stack form{margin:0}
.action-stack .btn{width:100%}
.dashboard-page{gap:var(--space-4)}
.dashboard-filter{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));align-items:end}
.dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr))}
.comparison-filter{align-items:flex-end}.comparison-metrics{border:0;margin:0;padding:0}.comparison-metrics legend{font-size:.78rem;font-weight:900;color:var(--muted);margin-bottom:.35rem}.chip-check{cursor:pointer}.chip-check input{accent-color:var(--color-primary)}.comparison-card{border-inline-start:3px solid transparent}.comparison-card--positive{border-inline-start-color:var(--color-success)}.comparison-card--negative{border-inline-start-color:var(--color-danger)}.comparison-card--neutral{border-inline-start-color:var(--color-neutral)}
.settings-layout{display:grid;grid-template-columns:minmax(14rem,.28fr) minmax(0,1fr);gap:1rem;align-items:start}.settings-sidebar{position:sticky;top:5rem;padding:1rem}.settings-scope{display:grid;grid-template-columns:1fr;padding:0;margin-bottom:1rem;background:transparent;border:0}.settings-tabs{display:grid;gap:.35rem}.settings-tab{display:flex;align-items:center;justify-content:space-between;min-height:2.35rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-weight:900}.settings-tab.is-active,.settings-tab:hover{border-color:rgba(31,122,77,.35);background:var(--color-primary-soft);color:var(--color-primary)}.settings-panel{padding:1rem}.setting-field__label{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.25rem}.setting-field__label label{font-weight:950}.field-help{margin:.25rem 0 .55rem;color:var(--muted);font-size:.83rem;line-height:1.55}.field-error{margin:.35rem 0 0;color:var(--color-danger);font-weight:800;font-size:.82rem}.toggle-line{display:flex;align-items:center;gap:.5rem;min-height:2.55rem}.toggle-line input{accent-color:var(--color-primary)}.settings-image-preview{display:block;max-width:10rem;max-height:6rem;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);padding:.35rem;margin-bottom:.55rem}.settings-reset-list{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.settings-reset-list h4{font-size:.95rem;font-weight:950;margin:0 0 .65rem}.auth-shell .auth-visual{background-image:linear-gradient(135deg,rgba(15,20,16,.96),rgba(27,91,78,.94) 58%,rgba(89,108,43,.9)),var(--auth-bg-image,url('../images/default-gym-logo.svg'))}
@media (max-width:1024px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-tabs{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}@media (max-width:640px){.settings-panel,.settings-sidebar{padding:.75rem}.setting-field__label{align-items:flex-start;flex-direction:column}}
.kpi-card small{display:block;margin-top:.12rem;color:var(--muted);font-size:.72rem;font-weight:700}
.dashboard-finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}
.dashboard-finance-grid>div{padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}
.dashboard-finance-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}
.dashboard-finance-grid strong{display:block;margin-top:.18rem;font-size:1.12rem}
.dashboard-chart-tabs-wrap{display:flex;justify-content:center;margin-bottom:1.25rem}
.dashboard-chart-tabs{display:inline-flex;flex-wrap:wrap;padding:0.35rem;gap:0.35rem;border-radius:0.75rem;background:var(--surface-2);border:1px solid var(--line)}
.chart-tab-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.55rem 1.25rem;border-radius:0.5rem;border:0;background:transparent;color:var(--muted);font-size:0.88rem;font-weight:700;cursor:pointer;transition:all 0.2s ease}
.chart-tab-btn:hover{color:var(--text);background:rgba(255,255,255,0.6)}
.chart-tab-btn.is-active{background:var(--surface);color:var(--color-primary, #176b63);box-shadow:0 2px 8px -2px rgba(20,36,38,0.08);font-weight:800}
.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.dashboard-chart-card{border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--card-shadow);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);min-width:0;overflow:hidden}
.dashboard-chart-card:hover{transform:translateY(-3px);border-color:rgba(23,107,99,0.3);box-shadow:var(--card-shadow-hover)}
.dashboard-chart-card .content-card__head{padding:1rem 1.25rem;border-bottom:1px solid rgba(226,232,240,0.6);background:rgba(255,255,255,0.4)}
.dashboard-chart-card .chart-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:0.7rem;font-size:1.15rem;box-shadow:inset 0 1px 1px rgba(255,255,255,0.6)}
.dashboard-chart-card canvas{display:block;width:100%;height:14.5rem}
.dashboard-chart-card .content-card__body{min-height:15.5rem;padding:1.25rem}
@media (max-width:1024px){.dashboard-chart-grid{grid-template-columns:1fr}.dashboard-chart-card canvas{height:13.5rem}}

.reports-module{gap:var(--space-4)}
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.75rem;padding:1rem}
.report-tile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;min-height:5.25rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.report-tile:hover,.report-tile:focus-visible{transform:translateY(-1px);border-color:rgba(27,91,78,.38);box-shadow:var(--card-shadow);color:var(--text)}
.report-tile__icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.75rem;background:var(--iron);color:var(--accent)}
.report-tile strong{display:block;font-weight:950;line-height:1.25}
.report-tile small{display:block;margin-top:.25rem;color:var(--muted);font-size:.78rem;line-height:1.45}
.report-toolbar-card{padding:.75rem}
.report-filter-toolbar{box-shadow:none;border:0;padding:0;background:transparent}
.report-filter-toolbar .filter-field{flex:1 1 10.5rem}
.report-filter-toolbar .filter-field--wide{flex:2 1 18rem}
.report-filter-toolbar .filter-actions{display:flex;align-items:end;gap:.45rem;margin-inline-start:auto}
.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
.report-data-table{font-size:.86rem}
.dt-container .dt-layout-row{display:none}
.print-sheet{max-width:1180px;margin:0 auto}
@media (max-width:720px){.report-grid{grid-template-columns:1fr;padding:.75rem}.report-filter-toolbar .filter-actions{width:100%;margin-inline-start:0}.report-filter-toolbar .filter-actions .btn{flex:1}}

/* Phase 35 responsive and bilingual UX verification fixes */
.main-product-nav{flex-wrap:wrap;align-content:flex-start}
.auth-main,.auth-product-shell,.auth-visual,.auth-card--login{min-width:0;max-width:100%}
html[dir=rtl] .auth-shell{direction:ltr}
html[dir=rtl] .auth-card,html[dir=rtl] .auth-visual{direction:rtl}
.auth-visual__copy,.auth-card__head,.auth-form{min-width:0}
.auth-visual__copy h2,.auth-visual__copy p,.auth-card__head h1,.auth-card__head p{overflow-wrap:anywhere;word-break:break-word}
.auth-visual .brand-copy strong{max-width:min(24rem,calc(100vw - 7rem))}
.top-nav-group{max-width:100%}
.top-nav-group>summary,.top-nav-link{max-width:100%}
.top-nav-group>summary span,.top-nav-link span{overflow:hidden;text-overflow:ellipsis}
.top-nav-menu a{word-break:break-word}
.utility-bar{position:relative}
.utility-actions{max-width:100%}
.language-switcher,.user-chip,.utility-logout .btn{flex-shrink:0}
.table-wrap,.content-card,.module-hero,.profile-header,.dashboard-chart-card{min-width:0}
.dashboard-chart-card canvas{max-width:100%}
.action-menu__panel{max-width:min(18rem,calc(100vw - 2rem))}
.swal2-popup{font-family:"Cairo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
@media (min-width:1600px){:root{--page-max:1580px}.dashboard-chart-card canvas{height:15rem}}
@media (min-width:1920px){:root{--page-max:1680px}.dashboard-chart-card canvas{height:16rem}}
@media (max-width:1024px){.product-shell-header{position:relative}.utility-actions{flex-wrap:wrap}.top-nav-menu a,.top-nav-item{white-space:normal}}
@media (max-width:720px){.module-hero{flex-direction:column}.module-hero__actions,.table-actions,.button-row{width:100%;justify-content:stretch}.module-hero__actions .btn,.table-actions .btn,.button-row .btn{flex:1 1 10rem}.action-menu{position:relative}.notification-dropdown{position:static}.notification-dropdown__panel{inset-inline:.5rem;width:auto}.filter-field,.filter-toolbar .filter-search{flex:1 1 100%}.settings-tabs{grid-template-columns:1fr}.settings-tab{align-items:flex-start;gap:.5rem}.receipt-paper{overflow-wrap:anywhere}.auth-main{display:block}.auth-product-shell{display:block;width:100%;gap:.75rem}.auth-visual{display:none}.auth-card--login{width:min(26rem,calc(100vw - 3rem));max-width:100%;margin-inline:0}.auth-visual__copy h2{font-size:clamp(1.55rem,9vw,2.35rem)}.auth-visual__copy p{font-size:.92rem;line-height:1.65}}
@media (max-width:430px){.utility-bar{gap:.55rem}.brand-copy strong{max-width:9.5rem}.auth-main{padding:.75rem;overflow:hidden}.auth-visual{padding:.9rem}.auth-visual .brand-copy strong{max-width:12rem}.auth-visual__copy h2{font-size:1.45rem;line-height:1.35}.auth-visual__copy p{font-size:.86rem}.auth-feature-grid span{min-height:2.55rem}.chip-link,.icon-button{min-width:2.2rem;height:2.2rem}.btn{width:auto}.form-actions .btn{flex-basis:100%}.profile-identity{flex-direction:column}.profile-header{align-items:flex-start}.data-main strong,.data-main small{overflow-wrap:anywhere}}
@media (max-width:720px){.auth-shell{overflow-x:hidden}.auth-main{width:100%;max-width:100vw;padding:.75rem;display:grid;place-items:start center}.auth-product-shell{inline-size:min(26rem,calc(100vw - 2rem))!important;max-inline-size:calc(100vw - 2rem)!important;margin-inline:auto}.auth-card--login{inline-size:100%!important;max-inline-size:100%!important;margin-inline:auto}}
@media (max-width:430px){.auth-main{display:block!important;padding:.75rem!important}.auth-product-shell{display:block!important;width:auto!important;max-width:none!important;margin:0!important}.auth-card--login{display:block!important;width:auto!important;max-width:none!important;margin:0!important}}

/* UI polish sprint: unified action menus, embedded forms, and print cleanup */
.action-menu__trigger{color:var(--text)}
.action-menu__panel a,.action-menu__button{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.25rem;padding:.58rem .65rem;border:0;border-radius:.55rem;background:transparent;color:var(--text);font:inherit;font-weight:800;text-align:inherit;text-decoration:none;cursor:pointer}
.action-menu__panel a:hover,.action-menu__panel a:focus-visible,.action-menu__button:hover,.action-menu__button:focus-visible{background:var(--surface-2);outline:0}
.action-menu__panel a.is-danger,.action-menu__button--danger{color:var(--color-danger)}
.action-menu__form{margin:0}
.action-menu__panel i{font-size:1rem}
.form-shell--embedded{gap:.9rem}
.form-shell--embedded .form-actions{position:static;border:0;border-radius:0;box-shadow:none;background:transparent;padding:.5rem 0 0}
.print-sheet{padding:24px;background:#fff}
body:has(.print-sheet){background:#fff}
@media print{.print-actions{display:none!important}.print-sheet{box-shadow:none;margin:0}}

/* Elite fitness SaaS overhaul */
.bi-lightning-charge-fill::before{content:"⚡"}.bi-person-arms-up::before{content:"◬"}.bi-stopwatch-fill::before{content:"◷"}.bi-door-open::before{content:"▯"}.bi-ticket-perforated-fill::before{content:"▣"}.bi-coin::before{content:"●"}.bi-graph-up-arrow::before{content:"↗"}.bi-sliders2-vertical::before{content:"≡"}.bi-fingerprint::before{content:"◎"}.bi-currency-dollar::before{content:"$"}.bi-hourglass-split::before{content:"⌛"}.bi-person-walking::before{content:"↦"}
:root,html[data-theme=dark]{
  --iron-dark:#0c0e0d;
  --iron:#141714;
  --iron-mid:#1e2420;
  --iron-light:#2a302b;
  --brand-green:#1db954;
  --brand-lime:#c8f135;
  --text-primary:#f0f5ee;
  --text-muted:#8a9a8c;
  --bg:#0c0e0d;
  --surface:#141714;
  --surface-1:#141714;
  --surface-2:#1e2420;
  --text:#f0f5ee;
  --muted:#8a9a8c;
  --line:rgba(200,241,53,.12);
  --brand:#1db954;
  --brand-2:#c8f135;
  --accent:#c8f135;
  --color-primary:#1db954;
  --color-primary-strong:#c8f135;
  --color-primary-soft:rgba(29,185,84,.16);
  --color-success:#1db954;
  --color-success-soft:#1a3d2a;
  --color-warning:#ff9500;
  --color-warning-soft:#3d2a1a;
  --color-danger:#ff3b3b;
  --color-danger-soft:#3d1a1a;
  --color-info:#0a84ff;
  --color-info-soft:#1a2a3d;
  --color-neutral:#8a9a8c;
  --color-neutral-soft:#232923;
  --shadow:0 24px 70px rgba(0,0,0,.34);
  --card-shadow:0 18px 48px rgba(0,0,0,.26);
  --card-shadow-hover:0 24px 76px rgba(29,185,84,.18);
  --focus-ring:0 0 0 3px rgba(29,185,84,.2);
  --radius-lg:1rem;
  --radius-xl:1rem;
  color-scheme:dark;
}
html[data-theme=light]{
  --bg:#f5f7f4;
  --surface:#fff;
  --surface-1:#fff;
  --surface-2:#eef1eb;
  --text:#0f1410;
  --muted:#6b7a6d;
  --line:rgba(15,20,16,.12);
  --color-primary-soft:rgba(29,185,84,.12);
  --color-success-soft:rgba(29,185,84,.12);
  --color-warning-soft:rgba(255,149,0,.13);
  --color-danger-soft:rgba(255,59,59,.12);
  --color-info-soft:rgba(10,132,255,.12);
  --color-neutral-soft:#e8eee5;
  --shadow:0 18px 48px rgba(15,20,16,.12);
  --card-shadow:0 16px 34px rgba(15,20,16,.08);
  --card-shadow-hover:0 24px 58px rgba(29,185,84,.16);
  color-scheme:light;
}
body{background:radial-gradient(circle at 10% 0,rgba(200,241,53,.09),transparent 22%),linear-gradient(180deg,var(--bg),#080a09);color:var(--text);font-family:var(--font-family-base);font-weight:600}
html[data-theme=light] body{background:linear-gradient(180deg,#f5f7f4,#eef1eb)}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3,html[lang=en] h4,html[lang=en] .top-nav-link,html[lang=en] .top-nav-group>summary,html[lang=en] .kpi-card strong,html[lang=en] .brand-copy strong,html[lang=en] .eyebrow{font-family:var(--font-family-base);font-weight:800;letter-spacing:normal}
.product-shell-header{position:sticky;top:0;z-index:30;background:rgba(12,14,13,.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(200,241,53,.15)}
.utility-bar{min-height:52px;padding:.42rem max(1rem,calc((100vw - var(--page-max))/2));background:rgba(12,14,13,.95);border-bottom:1px solid rgba(255,255,255,.05)}
.brand-logo{position:relative;background:#101511;border:1px solid rgba(200,241,53,.28);box-shadow:0 0 0 1px rgba(29,185,84,.16),0 0 24px rgba(29,185,84,.18)}
.brand-logo::after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,var(--brand-green),var(--brand-lime));z-index:-1;opacity:.7;filter:blur(8px)}
.brand-copy strong{color:#fff;font-weight:950}.brand-copy small{color:var(--brand-lime);font-weight:900}
.utility-actions{gap:.5rem}.icon-button,.chip-link,.user-chip,.utility-logout .btn{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#f0f5ee;box-shadow:none}
.icon-button:hover,.chip-link:hover,.utility-logout .btn:hover{border-color:rgba(200,241,53,.4);color:var(--brand-lime);background:rgba(200,241,53,.08)}
.notification-count{background:#ff3b3b;color:#fff;box-shadow:0 0 18px rgba(255,59,59,.35)}
.main-product-nav{min-height:44px;padding:.35rem max(1rem,calc((100vw - var(--page-max))/2));background:#141714;border-top:0;border-bottom:1px solid rgba(200,241,53,.15);gap:.35rem}
.top-nav-link,.top-nav-group>summary{min-height:2.25rem;border-radius:999px;padding:.45rem .78rem;color:#dce7dd;font-weight:900;background:transparent;border:1px solid transparent}
.top-nav-link:hover,.top-nav-group>summary:hover,.top-nav-group[open]>summary{background:rgba(200,241,53,.12);border-color:rgba(200,241,53,.18);color:#fff}
.top-nav-link.is-active,.top-nav-group.is-active>summary{background:var(--brand-lime);border-color:var(--brand-lime);color:#0c0e0d;box-shadow:0 10px 30px rgba(200,241,53,.18)}
.top-nav-menu,.notification-dropdown__panel{background:#1e2420;border:1px solid rgba(200,241,53,.16);box-shadow:0 24px 80px rgba(0,0,0,.45);border-radius:1rem}
.top-nav-menu a{border-radius:.75rem;color:#e8f1e6;font-weight:800}.top-nav-menu a:hover{background:rgba(200,241,53,.1);color:var(--brand-lime)}
.app-main{padding-block:1rem 2rem}.page-header,.module-hero,.profile-header{background:linear-gradient(135deg,#0c0e0d,#17351f);border:1px solid rgba(200,241,53,.14);box-shadow:var(--card-shadow);position:relative;overflow:hidden}
.page-header::after,.module-hero::after,.profile-header::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(200,241,53,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(200,241,53,.045) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,black 15%,black 80%,transparent)}
.module-hero__copy,.module-hero__actions,.profile-identity,.detail-actions{position:relative;z-index:1}
.eyebrow{color:var(--brand-lime);font-weight:900;text-transform:uppercase;letter-spacing:0}
.module-hero h2,.page-header h1,.profile-header h2{font-weight:950;color:#fff}.module-hero p,.page-header p,.profile-header p{color:rgba(240,245,238,.72)}
.meta-pill{background:rgba(255,255,255,.04);border:1px solid rgba(200,241,53,.18);color:#d8e6d6;border-radius:999px;font-weight:900}
.content-card,.form-section,.surface-card,.empty-state{background:rgba(30,36,32,.86);backdrop-filter:blur(12px);border:1px solid rgba(200,241,53,.11);border-radius:1rem;box-shadow:var(--card-shadow)}
html[data-theme=light] .content-card,html[data-theme=light] .form-section,html[data-theme=light] .surface-card,html[data-theme=light] .empty-state{background:#fff;border-color:rgba(15,20,16,.1)}
.content-card__head{border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.content-card__head h3,.form-section__head h3{font-weight:950}.form-section__head{border-bottom:1px solid rgba(255,255,255,.06);border-inline-start:3px solid var(--brand-lime);padding-inline-start:.75rem}
.dashboard-page .module-hero{background:linear-gradient(135deg,#0c0e0d,#1a2e1c);min-height:9rem}
.dashboard-command-label{display:block;color:var(--brand-lime);font-family:var(--font-family-base);font-size:.8rem;font-weight:900;margin-bottom:.25rem;text-transform:uppercase}
.live-dot{display:inline-block;width:.52rem;height:.52rem;border-radius:999px;background:var(--brand-green);box-shadow:0 0 18px rgba(29,185,84,.55);animation:livePulse 2s ease-in-out infinite}
.dashboard-page .module-meta .meta-pill:last-child::before{content:none}
.dashboard-kpi-grid,.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.kpi-card{position:relative;overflow:hidden;align-items:flex-start;background:rgba(30,36,32,.82);backdrop-filter:blur(12px);border:1px solid rgba(200,241,53,.12);border-radius:1rem;box-shadow:var(--card-shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:fadeInUp .4s ease both}
.kpi-card:nth-child(1){animation-delay:.05s}.kpi-card:nth-child(2){animation-delay:.1s}.kpi-card:nth-child(3){animation-delay:.15s}.kpi-card:nth-child(4){animation-delay:.2s}.kpi-card:nth-child(5){animation-delay:.25s}.kpi-card:nth-child(6){animation-delay:.3s}.kpi-card:nth-child(7){animation-delay:.35s}.kpi-card:nth-child(8){animation-delay:.4s}.kpi-card:nth-child(9){animation-delay:.45s}.kpi-card:nth-child(10){animation-delay:.5s}.kpi-card:nth-child(11){animation-delay:.55s}.kpi-card:nth-child(12){animation-delay:.6s}
.kpi-card:hover{transform:translateY(-3px);border-color:rgba(200,241,53,.35);box-shadow:var(--card-shadow-hover)}
.kpi-card__icon{width:3rem;height:3rem;border-radius:.95rem;background:rgba(29,185,84,.14);color:var(--brand-green);box-shadow:0 0 20px rgba(29,185,84,.25)}
.kpi-card__icon svg{width:1.35rem;height:1.35rem}.kpi-card--revenue .kpi-card__icon{color:#ffb340;box-shadow:0 0 20px rgba(255,149,0,.25);background:rgba(255,149,0,.12)}.kpi-card--visits .kpi-card__icon{color:#0a84ff;box-shadow:0 0 20px rgba(10,132,255,.25);background:rgba(10,132,255,.12)}.kpi-card--warning .kpi-card__icon{color:#ff9500;box-shadow:0 0 20px rgba(255,149,0,.25);background:rgba(255,149,0,.12);animation:livePulse 2.4s ease-in-out infinite}.kpi-card--danger .kpi-card__icon{color:#ff3b3b;box-shadow:0 0 20px rgba(255,59,59,.25);background:rgba(255,59,59,.12)}.kpi-card--inside .kpi-card__icon i{animation:stepPulse 1.4s ease-in-out infinite}
.kpi-card:nth-child(7) .kpi-card__icon,.dashboard-finance-grid div:nth-child(1){color:#ffb340}.kpi-card:nth-child(8) .kpi-card__icon{color:#ff9500;box-shadow:0 0 20px rgba(255,149,0,.25)}.kpi-card:nth-child(9) .kpi-card__icon,.kpi-card:nth-child(10) .kpi-card__icon{color:#0a84ff;box-shadow:0 0 20px rgba(10,132,255,.25)}
.kpi-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:0;color:var(--text-muted);font-weight:950}.kpi-card strong{font-size:clamp(1.2rem,2.2vw,1.85rem);line-height:1.25;color:var(--text-primary);word-break:break-word}.kpi-card small{display:block;margin-top:.35rem;color:var(--brand-lime);font-size:.78rem;font-weight:800}
.data-table{background:#141714;border-collapse:separate;border-spacing:0}.table-wrap{background:#141714;border:1px solid rgba(200,241,53,.1);border-radius:1rem;overflow:auto;box-shadow:var(--card-shadow)}
.data-table thead th{background:#1e2420;color:#8a9a8c;border-bottom:0;font-size:.68rem;letter-spacing:0;text-transform:uppercase;font-weight:950}.data-table tbody td{border-bottom:1px solid rgba(255,255,255,.05);color:#dfe9dc}.data-table tbody tr:hover{background:rgba(200,241,53,.06)}
html[data-theme=light] .table-wrap,html[data-theme=light] .data-table{background:#fff}html[data-theme=light] .data-table thead th{background:#eef1eb;color:#6b7a6d}html[data-theme=light] .data-table tbody td{color:#0f1410;border-bottom:1px solid rgba(15,20,16,.07)}
.data-main strong{font-weight:950}.data-main small{color:var(--muted)}
.status-badge{border:0;border-radius:999px;font-weight:950;letter-spacing:.01em}.status-badge--success{background:#163526;color:#3dcc72;border:1px solid rgba(29,185,84,.25)}.status-badge--danger{background:#3a1515;color:#ff5f5f;border:1px solid rgba(255,59,59,.25)}.status-badge--warning{background:#3a2410;color:#ffaa2e;border:1px solid rgba(255,149,0,.25)}.status-badge--info{background:#12243a;color:#3d9dff;border:1px solid rgba(10,132,255,.22)}.status-badge--neutral{background:#1e2620;color:#a8baa6;border:1px solid rgba(168,186,166,.15)}
.form-control,.form-select,select.form-control,textarea.form-control{background:#141714;border:1px solid rgba(255,255,255,.1);border-radius:.7rem;color:#f0f5ee;min-height:2.75rem}.form-control::placeholder{color:#647064}.form-control:focus,.form-select:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(29,185,84,.15);background:#141714;color:#fff}
html[data-theme=light] .form-control,html[data-theme=light] .form-select,html[data-theme=light] select.form-control,html[data-theme=light] textarea.form-control{background:#fff;color:#0f1410;border-color:rgba(15,20,16,.14)}
.btn{border-radius:.72rem;font-weight:950;transition:transform .08s ease,filter .16s ease,border-color .16s ease,background .16s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand-green);border-color:var(--brand-green);color:#0c0e0d}.btn-primary:hover{filter:brightness(1.08);background:var(--brand-green);border-color:var(--brand-green);color:#0c0e0d}.btn-outline-secondary,.btn-outline-primary{background:transparent;border-color:rgba(255,255,255,.16);color:#c8d5c7}.btn-outline-secondary:hover,.btn-outline-primary:hover{border-color:var(--brand-green);color:var(--brand-green);background:rgba(29,185,84,.08)}.btn-outline-danger{border-color:rgba(255,59,59,.42);color:#ff3b3b}.btn-outline-danger:hover{background:rgba(255,59,59,.12);color:#ff3b3b}
.action-menu[open] .action-menu__panel{animation:slideDown .18s ease}.action-menu summary{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.profile-avatar{border:3px solid var(--brand-green);box-shadow:0 0 0 4px rgba(29,185,84,.1),0 0 30px rgba(29,185,84,.22)}.profile-tabs{display:flex;gap:.35rem;padding:.35rem;background:#1c2838;border:1px solid rgba(255,255,255,.1);border-radius:999px}.profile-tab{border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.9);font-weight:900;padding:.55rem .9rem}.profile-tab.is-active,.profile-tab[aria-selected=true]{background:#25c974;color:#06150d;box-shadow:0 4px 14px rgba(37,201,116,.4)}
.auth-shell{background:radial-gradient(circle at 14% 12%,rgba(200,241,53,.2),transparent 24%),linear-gradient(135deg,#0c0e0d,#1d3024 58%,#40521d)}.auth-card--login{background:rgba(245,247,244,.97);color:#0f1410;border:1px solid rgba(200,241,53,.22)}html[data-theme=dark] .auth-card--login .form-control{background:#fff;color:#0f1410;border-color:rgba(15,20,16,.15)}
.skeleton-card{position:relative;overflow:hidden;background:rgba(255,255,255,.06);border-radius:1rem;min-height:6rem}.skeleton-card::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 1.4s infinite}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{100%{transform:translateX(100%)}}@keyframes stepPulse{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@media (max-width:1024px){.dashboard-kpi-grid,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){.dashboard-kpi-grid,.kpi-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.kpi-card{min-width:76%;scroll-snap-align:start}.data-table tbody td{color:var(--text)}}
@media (max-width:430px){.kpi-card{min-width:84%}.auth-card--login{box-shadow:0 22px 60px rgba(0,0,0,.3)}}
*,*::before,*::after{letter-spacing:0!important}

.form-hint{display:block;margin-top:.4rem;color:var(--muted);font-size:.78rem;font-weight:800}
.file-control{min-width:0;max-width:100%;padding:.28rem;overflow:hidden}
.file-control::file-selector-button{min-height:2.15rem;margin-inline-end:.65rem;padding:.35rem .75rem;border:0;border-radius:.55rem;background:var(--surface-2);color:var(--text);font:inherit;font-weight:900;cursor:pointer}
.file-control:hover::file-selector-button{background:var(--color-primary-soft);color:var(--color-primary)}
html[data-theme=dark] .file-control::file-selector-button{background:#263029;color:#f0f5ee}
.form-shell--commercial{max-width:100%;align-items:start}
.form-shell--commercial .form-section{overflow:visible!important}
.form-shell--commercial .form-grid{align-items:end}
.form-shell--commercial .field-block{min-width:0}
.form-shell--commercial .field-block .form-text{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}
.choice-grid--inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.choice-grid--inline .check-row{display:flex;align-items:center;gap:.5rem;min-height:2.55rem;padding:.55rem .7rem;border:1px solid var(--line);font-weight:900}
@media (max-width:900px){.choice-grid--inline{grid-template-columns:1fr}}

/* Direct elite fitness SaaS redesign layer */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes slideDownFade{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}

:root{
  --bg:#0D1110;
  --surface:#161C18;
  --surface-2:#1E2720;
  --iron:#0A0D0B;
  --iron-2:#141714;
  --text:#EEF5EC;
  --muted:#7A9080;
  --line:rgba(238,245,236,0.08);
  --brand:#18C25A;
  --brand-2:#C8F135;
  --color-primary:#18C25A;
  --color-primary-strong:#14A84D;
  --color-primary-soft:rgba(24,194,90,0.12);
  --accent:#C8F135;
  --accent-soft:rgba(200,241,53,0.12);
  --color-success:#18C25A;
  --color-success-soft:rgba(24,194,90,0.12);
  --color-danger:#FF3B3B;
  --color-danger-soft:rgba(255,59,59,0.12);
  --color-warning:#FF9500;
  --color-warning-soft:rgba(255,149,0,0.12);
  --color-info:#0A84FF;
  --color-info-soft:rgba(10,132,255,0.12);
  --color-neutral:#7A9080;
  --color-neutral-soft:rgba(122,144,128,0.12);
  --card-shadow:0 8px 32px rgba(0,0,0,0.45);
  --card-shadow-hover:0 16px 48px rgba(0,0,0,0.6);
  --focus-ring:0 0 0 3px rgba(24,194,90,0.22);
  --radius-xs:6px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --page-max:1540px;
  --control-height:2.55rem;
  --font-family-base:"Cairo",system-ui,sans-serif;
  --font-family-display:"Barlow Condensed","Cairo",Impact,"Arial Narrow",sans-serif;
  --shadow:0 8px 32px rgba(0,0,0,0.45);
  color-scheme:dark;
}
html[data-theme=light]{
  --bg:#F2F5F0;
  --surface:#FFFFFF;
  --surface-2:#E8EDE5;
  --iron:#1A201C;
  --iron-2:#2A332D;
  --text:#0E1410;
  --muted:#5A7060;
  --line:rgba(14,20,16,0.1);
  --card-shadow:0 4px 20px rgba(0,0,0,0.08);
  --card-shadow-hover:0 12px 34px rgba(0,0,0,0.13);
  color-scheme:light;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-family-base);
  font-size:.93rem;
  background-image:
    radial-gradient(ellipse at 0% 0%,rgba(24,194,90,.07) 0%,transparent 45%),
    radial-gradient(ellipse at 100% 100%,rgba(200,241,53,.05) 0%,transparent 45%);
  background-attachment:fixed;
}
html[lang=en] h1,
html[lang=en] h2,
html[lang=en] h3,
html[lang=en] h4,
html[lang=en] .top-nav-link,
html[lang=en] .top-nav-group>summary,
html[lang=en] .kpi-card strong,
html[lang=en] .content-card__head h3,
html[lang=en] .eyebrow{
  font-family:var(--font-family-display);
}

.product-shell-header{
  background:rgba(10,14,12,.94);
  backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid rgba(200,241,53,.1);
  box-shadow:0 4px 32px rgba(0,0,0,.55);
}
.utility-bar{min-height:3.55rem}
.brand-logo{
  background:linear-gradient(135deg,#0D1110,#1E2720);
  border:1px solid rgba(200,241,53,.2);
  box-shadow:0 0 24px rgba(200,241,53,.18);
}
.top-nav-link,.top-nav-group>summary{
  border-radius:999px;
  font-weight:900;
  color:var(--muted);
  transition:all .15s ease;
}
.top-nav-link:hover,.top-nav-group>summary:hover,
.top-nav-link.is-active,.top-nav-group.is-active>summary,
.top-nav-group[open]>summary{
  background:var(--accent);
  color:#0D1110;
  box-shadow:0 0 16px rgba(200,241,53,.3);
  text-decoration:none;
}
.top-nav-menu{
  background:#1A2319;
  border:1px solid rgba(200,241,53,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.65);
  border-radius:var(--radius-lg);
  animation:slideDownFade .18s ease;
}
.top-nav-menu a:hover{background:rgba(200,241,53,.08);color:var(--accent)}
.top-nav-menu__label{color:var(--color-primary);font-size:.68rem;letter-spacing:0;font-weight:900;text-transform:uppercase}
.icon-button{
  background:rgba(255,255,255,.04);
  border-color:var(--line);
  color:var(--muted);
  border-radius:var(--radius-sm);
  transition:all .15s ease;
}
.icon-button:hover{
  background:rgba(200,241,53,.1);
  border-color:rgba(200,241,53,.3);
  color:var(--accent);
}
.chip-link:hover{background:var(--accent);color:#0D1110}

.page-header{
  background:linear-gradient(135deg,#0D1110 0%,#162A18 60%,#1C2810 100%);
  border:1px solid rgba(200,241,53,.1);
  border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
  position:relative;
  overflow:hidden;
  padding:1rem 1.15rem;
}
.page-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(200,241,53,.14) 1px,transparent 1px);
  background-size:24px 24px;
  opacity:.28;
  pointer-events:none;
}
.page-header>*{position:relative;z-index:1}
.page-header h1{font-weight:900;color:#fff}
.page-header p:not(.eyebrow){color:rgba(238,245,236,.72)}
.eyebrow{color:var(--accent);letter-spacing:0;font-size:.72rem;font-weight:900;text-transform:uppercase}

.content-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
  overflow:hidden;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.content-card:hover{border-color:rgba(200,241,53,.1);box-shadow:var(--card-shadow-hover)}
.content-card__head{
  background:linear-gradient(180deg,var(--surface-2),transparent);
  border-bottom:1px solid var(--line);
  padding:.95rem 1.15rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.content-card__head h3{
  font-size:.8rem;
  font-weight:900;
  margin:0;
  text-transform:uppercase;
  letter-spacing:0;
  color:var(--muted);
}

.kpi-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:1.05rem;
  display:flex;
  align-items:center;
  gap:.85rem;
  box-shadow:var(--card-shadow);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  animation:fadeInUp .45s ease both;
}
.kpi-card:hover{
  transform:translateY(-3px);
  border-color:rgba(200,241,53,.2);
  box-shadow:var(--card-shadow-hover),0 0 24px rgba(200,241,53,.1);
}
.kpi-card:nth-child(1){animation-delay:.04s}.kpi-card:nth-child(2){animation-delay:.08s}.kpi-card:nth-child(3){animation-delay:.12s}.kpi-card:nth-child(4){animation-delay:.16s}.kpi-card:nth-child(5){animation-delay:.20s}.kpi-card:nth-child(6){animation-delay:.24s}.kpi-card:nth-child(7){animation-delay:.28s}.kpi-card:nth-child(8){animation-delay:.32s}.kpi-card:nth-child(9){animation-delay:.36s}.kpi-card:nth-child(10){animation-delay:.40s}.kpi-card:nth-child(11){animation-delay:.44s}.kpi-card:nth-child(12){animation-delay:.48s}
.kpi-card__icon{
  display:grid;
  place-items:center;
  width:2.7rem;
  height:2.7rem;
  flex-shrink:0;
  border-radius:var(--radius-md);
  background:var(--iron);
  color:var(--accent);
  font-size:1.15rem;
  border:1px solid rgba(200,241,53,.12);
  box-shadow:0 0 18px rgba(200,241,53,.12);
}
.kpi-card p{margin:0;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--muted)}
.kpi-card strong{display:block;font-size:1.65rem;font-weight:900;line-height:1;margin-top:.1rem}
.kpi-card small{display:block;font-size:.7rem;color:var(--muted);margin-top:.18rem}
.access-kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
}
.access-kpi-grid .kpi-card{
  min-height:5.4rem;
  align-items:center;
}
.access-kpi-grid .kpi-card p{
  max-width:100%;
  margin:0;
}
.access-kpi-grid .kpi-card strong{
  margin-top:.28rem;
  font-variant-numeric:tabular-nums;
}
@media (max-width:1024px){
  .access-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .access-kpi-grid{display:grid;grid-template-columns:1fr;overflow:visible}
  .access-kpi-grid .kpi-card{min-width:0}
}

.btn{
  min-height:2.35rem;
  border-radius:var(--radius-md);
  font-weight:900;
  border-width:1px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding-inline:.85rem;
  font-size:.88rem;
  transition:all .15s ease;
}
.btn:active{transform:scale(.97)}
.btn-primary{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#0D1110;
  box-shadow:0 4px 16px rgba(24,194,90,.28);
}
.btn-primary:hover{
  background:var(--color-primary-strong);
  border-color:var(--color-primary-strong);
  color:#0D1110;
  box-shadow:0 6px 24px rgba(24,194,90,.42);
  transform:translateY(-1px);
}
.btn-outline-secondary{background:transparent;border-color:var(--line);color:var(--muted)}
.btn-outline-secondary:hover{background:var(--surface-2);border-color:rgba(200,241,53,.2);color:var(--accent)}
.btn-outline-primary{background:transparent;border-color:rgba(24,194,90,.3);color:var(--color-primary)}
.btn-outline-primary:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}
.btn-outline-danger{background:transparent;border-color:rgba(255,59,59,.3);color:var(--color-danger)}
.btn-outline-danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{min-height:1.85rem;font-size:.8rem}

.status-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.22rem .65rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
  border:1px solid transparent;
  white-space:nowrap;
}
.status-badge span{width:.4rem;height:.4rem;border-radius:50%;background:currentColor;flex-shrink:0}
.status-badge--success{background:#091f10;color:#18C25A;border-color:rgba(24,194,90,.22)}
.status-badge--neutral{background:#161c18;color:#7A9080;border-color:rgba(122,144,128,.2)}
.status-badge--warning{background:#201408;color:#FF9500;border-color:rgba(255,149,0,.22)}
.status-badge--danger{background:#200808;color:#FF3B3B;border-color:rgba(255,59,59,.22)}
.status-badge--info{background:#080f20;color:#0A84FF;border-color:rgba(10,132,255,.22)}

.form-section{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:1.15rem;
  box-shadow:var(--card-shadow);
  border-inline-start:3px solid var(--accent);
}
.form-section__head{padding-bottom:.65rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.form-section__head h3{font-size:.9rem;font-weight:900;margin:0;text-transform:uppercase;letter-spacing:0}
.form-control,.form-select,select.form-control,textarea.form-control{
  background:#0A0D0B;
  border:1px solid rgba(255,255,255,.09);
  border-radius:var(--radius-md);
  color:var(--text);
  min-height:var(--control-height);
  transition:border-color .15s,box-shadow .15s;
}
html[data-theme=light] .form-control,
html[data-theme=light] .form-select,
html[data-theme=light] select.form-control,
html[data-theme=light] textarea.form-control{background:#F8FAF7;border-color:rgba(0,0,0,.12);color:#0E1410}
.form-control:focus,.form-select:focus{
  border-color:var(--color-primary);
  box-shadow:var(--focus-ring);
  outline:none;
  background:#0A0D0B;
  color:var(--text);
}
.form-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  display:flex;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
  padding:.85rem;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:rgba(22,28,24,.94);
  backdrop-filter:blur(14px);
  box-shadow:var(--card-shadow);
}
html[data-theme=light] .form-actions{background:rgba(255,255,255,.94)}

.table-wrap{
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  overflow:auto;
  background:var(--surface);
  box-shadow:var(--card-shadow);
}
.data-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.data-table thead th{
  background:#0A0D0B;
  color:var(--muted);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:0;
  font-weight:900;
  padding:.85rem 1rem;
  border-bottom:1px solid rgba(200,241,53,.1);
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:1;
}
.data-table tbody td{padding:.82rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:rgba(200,241,53,.05)}
.data-main strong{font-size:.93rem;font-weight:900;color:var(--text)}
.data-main small{font-size:.78rem;color:var(--muted)}

.module-hero{
  background:linear-gradient(135deg,var(--surface),var(--surface-2));
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:1.15rem 1.3rem;
  box-shadow:var(--card-shadow);
  position:relative;
  overflow:hidden;
}
.module-hero::before{
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:0;
  width:4px;
  background:linear-gradient(180deg,var(--accent),var(--color-primary));
}
.filter-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:.65rem;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  padding:.85rem;
  box-shadow:var(--card-shadow);
}
.filter-field label,.form-label{
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
  color:var(--muted);
}

.profile-header{
  background:linear-gradient(135deg,#0D1110,#162A18 60%,#1A2810);
  border:1px solid rgba(200,241,53,.1);
  border-radius:var(--radius-xl);
  padding:1.3rem;
  box-shadow:var(--card-shadow),0 0 40px rgba(200,241,53,.06);
  position:relative;
  overflow:hidden;
}
.profile-header::after{
  content:"";
  position:absolute;
  inset-block-start:-4rem;
  inset-inline-end:-4rem;
  width:16rem;
  height:16rem;
  border:2px solid rgba(200,241,53,.06);
  border-radius:50%;
  pointer-events:none;
}
.profile-avatar{
  background:linear-gradient(135deg,var(--color-primary),var(--accent));
  color:#0D1110;
  font-weight:900;
  font-size:1.5rem;
  width:4.2rem;
  height:4.2rem;
  border-radius:var(--radius-lg);
  box-shadow:0 8px 28px rgba(24,194,90,.35);
}
.profile-header h2{color:#fff;font-weight:900}
.profile-header p,.profile-header .detail-row dt{color:rgba(255,255,255,.65)}
.profile-tabs{
  display:flex;
  gap:.3rem;
  padding:.3rem;
  background:var(--iron);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--card-shadow);
  flex-wrap:wrap;
}
.profile-tab{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.28rem .8rem;
  border-radius:999px;
  font-weight:900;
  font-size:.8rem;
  color:var(--muted);
  cursor:pointer;
  transition:all .18s ease;
}
.profile-tab.is-active{background:var(--accent);color:#0D1110;box-shadow:0 4px 14px rgba(200,241,53,.28)}
.profile-tab.is-disabled{opacity:.4;cursor:not-allowed}
.profile-tab:not(.is-disabled):not(.is-active):hover{background:rgba(200,241,53,.1);color:var(--accent)}

.auth-shell{
  background:
    radial-gradient(ellipse at 10% 10%,rgba(24,194,90,.15) 0%,transparent 40%),
    #0D1110;
  min-height:100vh;
  padding:0;
}
.auth-visual{
  background:linear-gradient(135deg,#060D08 0%,#0F2016 50%,#172410 100%);
  border:1px solid rgba(200,241,53,.1);
  border-radius:1.5rem;
}
.auth-card--login{
  background:var(--surface);
  border:1px solid rgba(200,241,53,.1);
  border-radius:1.35rem;
  box-shadow:0 32px 80px rgba(0,0,0,.65);
}
.auth-card__head h1{font-weight:900;font-size:1.9rem}
.btn-auth-submit{min-height:3rem;text-transform:uppercase;letter-spacing:0}

.action-menu__panel{
  background:#252F24;
  border:1px solid rgba(200,241,53,.18);
  border-radius:var(--radius-lg);
  box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04);
  animation:slideDownFade .18s ease;
}
.action-menu__panel a,
.action-menu__panel button,
.action-menu__button{
  color:#DCE8DA !important;
}
.action-menu__panel a:hover,
.action-menu__panel button:hover,
.action-menu__button:hover{
  background:rgba(200,241,53,.1);
  color:#C8F135 !important;
}
.action-menu__button--danger{
  color:#ff6b6b !important;
}
.action-menu__button--danger:hover{
  background:rgba(255,59,59,.12);
  color:#ff8888 !important;
}
html[data-theme=light] .action-menu__panel{
  background:#FFFFFF !important;
  border:1px solid rgba(0,0,0,.15) !important;
  box-shadow:0 12px 36px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.08) !important;
}
html[data-theme=light] .action-menu__panel a,
html[data-theme=light] .action-menu__panel button,
html[data-theme=light] .action-menu__button{
  color:#1E2720 !important;
}
html[data-theme=light] .action-menu__panel a:hover,
html[data-theme=light] .action-menu__panel button:hover,
html[data-theme=light] .action-menu__button:hover{
  background:rgba(27,111,107,.08) !important;
  color:#1B6F6B !important;
}
html[data-theme=light] .status-badge--success{background:#e8f8f0;color:#128a3e;border-color:rgba(18,138,62,.2)}
html[data-theme=light] .status-badge--danger{background:#fdeeee;color:#d92525;border-color:rgba(217,37,37,.2)}
html[data-theme=light] .status-badge--warning{background:#fdf6e7;color:#b56c00;border-color:rgba(181,108,0,.2)}
html[data-theme=light] .status-badge--info{background:#edf5ff;color:#0066cc;border-color:rgba(0,102,204,.2)}
html[data-theme=light] .status-badge--neutral{background:#f0f4f1;color:#4a5c4e;border-color:rgba(74,92,78,.2)}
html[data-theme=light] .kpi-card{
  background:#FFFFFF !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.06) !important;
}
html[data-theme=light] .kpi-card p{
  color:#526355 !important;
}
html[data-theme=light] .kpi-card strong{
  color:#111A13 !important;
}
html[data-theme=light] .kpi-card small{
  color:#166534 !important;
}
html[data-theme=light] .kpi-card__icon{
  background:rgba(27,111,107,.1) !important;
  color:#1B6F6B !important;
  border-color:rgba(27,111,107,.2) !important;
  box-shadow:none !important;
}
.empty-state{
  border:2px dashed rgba(200,241,53,.14);
  background:var(--surface);
  border-radius:var(--radius-xl);
  padding:2.5rem;
  display:grid;
  place-items:center;
  align-content:center;
  min-height:13rem;
  text-align:center;
  gap:.6rem;
}
.empty-state .bi{font-size:2.2rem;color:var(--accent);opacity:.5}
.report-tile:hover{
  border-color:rgba(200,241,53,.25);
  box-shadow:var(--card-shadow),0 0 18px rgba(200,241,53,.08);
  transform:translateY(-2px);
}
.report-tile__icon{background:var(--iron);color:var(--accent)}
.settings-tab.is-active,.settings-tab:hover{
  background:rgba(200,241,53,.08);
  border-color:rgba(200,241,53,.28);
  color:var(--accent);
}
.decision-panel--allowed{border-color:rgba(24,194,90,.3);background:linear-gradient(135deg,rgba(24,194,90,.07),var(--surface))}
.decision-panel--denied{border-color:rgba(255,59,59,.3);background:linear-gradient(135deg,rgba(255,59,59,.07),var(--surface))}
.meta-pill{
  background:rgba(200,241,53,.07);
  border:1px solid rgba(200,241,53,.14);
  color:var(--muted);
  border-radius:999px;
  font-size:.76rem;
  font-weight:900;
}
.avatar-mini{background:var(--color-primary-soft);color:var(--color-primary);font-weight:900}
.notification-dropdown__panel{
  background:#1A2319;
  border:1px solid rgba(200,241,53,.12);
  box-shadow:0 24px 64px rgba(0,0,0,.7);
}
.notification-dropdown__item:hover{background:rgba(200,241,53,.06)}

@media (max-width: 1024px) {
  .product-shell-header {
    position: sticky;
    top: 0;
    z-index: 99;
  }

  .mobile-nav-button {
    display: inline-grid !important;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
    border-radius: var(--radius-sm, 0.5rem);
    background: var(--surface, #131E2E);
    color: var(--text, #E2EAF4);
    font-size: 1.15rem;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .mobile-nav-button[aria-expanded="true"],
  .main-nav-open .mobile-nav-button {
    background: var(--color-primary-soft, rgba(46, 204, 138, 0.15));
    border-color: var(--color-primary, #2ECC8A);
    color: var(--color-primary, #2ECC8A);
  }

  .main-product-nav {
    display: none !important;
  }

  .main-nav-open .main-product-nav {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    inset-inline: 0.75rem !important;
    top: calc(100% + 0.35rem) !important;
    width: auto !important;
    max-height: calc(100vh - 5.5rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0.75rem !important;
    border: 1px solid var(--line, rgba(46, 204, 138, 0.18)) !important;
    border-radius: var(--radius-xl, 1rem) !important;
    background: var(--surface, #131E2E) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(20px) !important;
    z-index: 100 !important;
    gap: 0.35rem !important;
  }

  .main-product-nav .top-nav-link,
  .main-product-nav .top-nav-group > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-direction: row !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    padding: 0.6rem 0.85rem !important;
    border-radius: var(--radius-md, 0.75rem) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    color: var(--text, #E2EAF4) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    box-sizing: border-box !important;
  }

  .main-product-nav .top-nav-link:hover,
  .main-product-nav .top-nav-group > summary:hover {
    background: rgba(46, 204, 138, 0.1) !important;
    color: var(--color-primary, #2ECC8A) !important;
  }

  .main-product-nav .top-nav-link.is-active,
  .main-product-nav .top-nav-group.is-active > summary {
    background: rgba(46, 204, 138, 0.16) !important;
    color: var(--color-primary, #2ECC8A) !important;
    border-color: rgba(46, 204, 138, 0.3) !important;
  }

  .main-product-nav .top-nav-group {
    width: 100% !important;
    display: block !important;
    position: relative !important;
  }

  .main-product-nav .top-nav-group:not([open]) > .top-nav-menu {
    display: none !important;
  }

  .main-product-nav .top-nav-group[open] > .top-nav-menu {
    display: grid !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0.35rem 0 0.5rem 0 !important;
    padding: 0.45rem !important;
    border: 1px solid var(--line, rgba(226, 234, 244, 0.08)) !important;
    border-radius: var(--radius-md, 0.75rem) !important;
    background: var(--surface-2, #1A2840) !important;
    box-shadow: none !important;
    gap: 0.25rem !important;
  }

  .main-product-nav .top-nav-menu a {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    min-height: 2.35rem !important;
    padding: 0.45rem 0.75rem !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    color: var(--text, #E2EAF4) !important;
    white-space: normal !important;
  }

  .main-product-nav .top-nav-menu a:hover {
    background: rgba(46, 204, 138, 0.12) !important;
    color: var(--color-primary, #2ECC8A) !important;
  }

  .dashboard-chart-grid,
  .auth-product-shell,
  .detail-grid {
    grid-template-columns: 1fr;
  }

  .kpi-strip {
    grid-template-columns: 1fr 1fr;
  }

  .filter-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-field,
  .filter-toolbar .filter-search {
    flex: 1 1 100%;
  }
}
@media(max-width:720px){
  .kpi-strip{grid-template-columns:1fr}
  .module-hero,.profile-header,.content-card,.form-section{border-radius:1rem}
  .auth-visual{display:none}
  .auth-card--login{width:min(26rem,calc(100vw - 2rem));margin-inline:auto}
  .data-table{min-width:0;border-spacing:0}
  .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}
  .data-table tbody tr{border-bottom:1px solid var(--line);padding:.65rem}
  .data-table tbody td{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;padding:.45rem 0;border:0}
  .data-table tbody td::before{content:attr(data-label);font-weight:900;color:var(--muted)}
  .form-actions{position:static}
}

/* Navy, emerald, and gold premium club palette */
:root {
  --bg:#0D1520;
  --surface:#131E2E;
  --surface-2:#1A2840;
  --iron:#0A1018;
  --iron-2:#111926;
  --color-primary:#2ECC8A;
  --color-primary-strong:#25B87A;
  --color-primary-soft:rgba(46,204,138,0.12);
  --accent:#E8B84B;
  --accent-soft:rgba(232,184,75,0.1);
  --brand:#2ECC8A;
  --brand-2:#E8B84B;
  --text:#E2EAF4;
  --muted:#6B8299;
  --line:rgba(226,234,244,0.07);
  --color-success:#2ECC8A;
  --color-success-soft:rgba(46,204,138,0.12);
  --color-danger:#E85D5D;
  --color-danger-soft:rgba(232,93,93,0.12);
  --color-warning:#E8B84B;
  --color-warning-soft:rgba(232,184,75,0.12);
  --color-info:#4B9CE8;
  --color-info-soft:rgba(75,156,232,0.12);
  --color-neutral:#6B8299;
  --color-neutral-soft:rgba(107,130,153,0.12);
  --card-shadow:0 4px 24px rgba(0,0,0,0.5);
  --card-shadow-hover:0 12px 40px rgba(0,0,0,0.65);
  --focus-ring:0 0 0 3px rgba(46,204,138,0.25);
  --radius-xs:6px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --page-max:1540px;
  --control-height:2.55rem;
  --font-family-base:"Cairo",system-ui,sans-serif;
}
html[data-theme=dark] {
  --bg:#0D1520;
  --surface:#131E2E;
  --surface-2:#1A2840;
  --iron:#0A1018;
  --iron-2:#111926;
  --color-primary:#2ECC8A;
  --color-primary-strong:#25B87A;
  --color-primary-soft:rgba(46,204,138,0.12);
  --accent:#E8B84B;
  --accent-soft:rgba(232,184,75,0.1);
  --brand:#2ECC8A;
  --brand-2:#E8B84B;
  --text:#E2EAF4;
  --muted:#6B8299;
  --line:rgba(226,234,244,0.07);
  --color-success:#2ECC8A;
  --color-success-soft:rgba(46,204,138,0.12);
  --color-danger:#E85D5D;
  --color-danger-soft:rgba(232,93,93,0.12);
  --color-warning:#E8B84B;
  --color-warning-soft:rgba(232,184,75,0.12);
  --color-info:#4B9CE8;
  --color-info-soft:rgba(75,156,232,0.12);
  --color-neutral:#6B8299;
  --color-neutral-soft:rgba(107,130,153,0.12);
  --card-shadow:0 4px 24px rgba(0,0,0,0.5);
  --card-shadow-hover:0 12px 40px rgba(0,0,0,0.65);
  --focus-ring:0 0 0 3px rgba(46,204,138,0.25);
}
html[data-theme=light] {
  --bg:#F0F4F8;
  --surface:#FFFFFF;
  --surface-2:#E4ECF4;
  --iron:#1A2840;
  --iron-2:#D8E3EF;
  --color-primary:#2ECC8A;
  --color-primary-strong:#25B87A;
  --color-primary-soft:rgba(46,204,138,0.12);
  --accent:#E8B84B;
  --accent-soft:rgba(232,184,75,0.1);
  --brand:#2ECC8A;
  --brand-2:#E8B84B;
  --text:#0D1520;
  --muted:#4A6280;
  --line:rgba(13,21,32,0.1);
  --color-success:#2ECC8A;
  --color-success-soft:rgba(46,204,138,0.12);
  --color-danger:#E85D5D;
  --color-danger-soft:rgba(232,93,93,0.12);
  --color-warning:#E8B84B;
  --color-warning-soft:rgba(232,184,75,0.12);
  --color-info:#4B9CE8;
  --color-info-soft:rgba(75,156,232,0.12);
  --color-neutral:#6B8299;
  --color-neutral-soft:rgba(107,130,153,0.12);
  --card-shadow:0 2px 16px rgba(0,0,0,0.08);
  --card-shadow-hover:0 10px 30px rgba(13,21,32,0.14);
}
body {
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-family-base);
  font-size:.93rem;
  background-image:
    radial-gradient(ellipse at 15% 0%,rgba(46,204,138,.06) 0%,transparent 40%),
    radial-gradient(ellipse at 85% 100%,rgba(232,184,75,.04) 0%,transparent 40%);
  background-attachment:fixed;
}
.product-shell-header {
  background:rgba(10,16,24,.95);
  backdrop-filter:blur(20px) saturate(1.3);
  border-bottom:1px solid rgba(46,204,138,.12);
  box-shadow:0 2px 24px rgba(0,0,0,.6);
}
html[data-theme=light] .product-shell-header {
  background:rgba(240,244,248,.95);
  border-bottom-color:rgba(46,204,138,.2);
}
.top-nav-link.is-active,
.top-nav-group.is-active > summary,
.top-nav-group[open] > summary {
  background:rgba(46,204,138,.15);
  color:var(--color-primary);
  border:1px solid rgba(46,204,138,.25);
  box-shadow:0 0 16px rgba(46,204,138,.12);
}
.top-nav-link:hover,
.top-nav-group > summary:hover {
  background:rgba(46,204,138,.08);
  color:var(--color-primary);
}
.top-nav-menu {
  background:#131E2E;
  border:1px solid rgba(46,204,138,.12);
  box-shadow:0 16px 48px rgba(0,0,0,.7);
}
html[data-theme=light] .top-nav-menu{background:#fff}
.top-nav-menu a:hover{background:rgba(46,204,138,.08);color:var(--color-primary)}
.top-nav-menu__label{color:var(--accent)}
.page-header {
  background:linear-gradient(135deg,#0A1018 0%,#0F1E30 55%,#0A1820 100%);
  border:1px solid rgba(46,204,138,.1);
  border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
  overflow:hidden;
  position:relative;
}
.page-header::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 50%,rgba(232,184,75,.06) 0%,transparent 55%);
  pointer-events:none;
}
.page-header h1{color:#fff;font-weight:900}
.eyebrow{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:0;font-size:.72rem}
.kpi-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.kpi-card:hover {
  transform:translateY(-3px);
  border-color:rgba(46,204,138,.18);
  box-shadow:var(--card-shadow-hover),0 0 20px rgba(46,204,138,.08);
}
.kpi-card__icon {
  background:var(--iron);
  color:var(--color-primary);
  border:1px solid rgba(46,204,138,.15);
  box-shadow:0 0 16px rgba(46,204,138,.1);
}
.status-badge--success{background:#082618;color:#2ECC8A;border-color:rgba(46,204,138,.22)}
.status-badge--neutral{background:#131E2E;color:#6B8299;border-color:rgba(107,130,153,.2)}
.status-badge--warning{background:#241B08;color:#E8B84B;border-color:rgba(232,184,75,.22)}
.status-badge--danger{background:#240808;color:#E85D5D;border-color:rgba(232,93,93,.22)}
.status-badge--info{background:#081824;color:#4B9CE8;border-color:rgba(75,156,232,.22)}
.btn-primary {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#0A1018;
  box-shadow:0 4px 16px rgba(46,204,138,.3);
}
.btn-primary:hover {
  background:var(--color-primary-strong);
  border-color:var(--color-primary-strong);
  color:#0A1018;
  box-shadow:0 6px 24px rgba(46,204,138,.42);
  transform:translateY(-1px);
}
.form-control,.form-select,select.form-control,textarea.form-control {
  background:#0A1018;
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
  border-radius:var(--radius-md);
}
html[data-theme=light] .form-control,
html[data-theme=light] .form-select,
html[data-theme=light] select.form-control,
html[data-theme=light] textarea.form-control{background:#fff;color:#0D1520}
.form-control:focus,.form-select:focus {
  border-color:var(--color-primary);
  box-shadow:var(--focus-ring);
  outline:none;
}
.form-section{border-inline-start:3px solid var(--accent)}
.profile-header {
  background:linear-gradient(135deg,#0A1018,#0F2030 65%,#0A1820);
  border:1px solid rgba(46,204,138,.1);
}
.profile-avatar {
  background:linear-gradient(135deg,var(--color-primary),var(--accent));
  color:#0A1018;
  box-shadow:0 8px 24px rgba(46,204,138,.3);
}
.auth-shell {
  background:
    radial-gradient(ellipse at 20% 20%,rgba(46,204,138,.12) 0%,transparent 40%),
    radial-gradient(ellipse at 80% 80%,rgba(232,184,75,.06) 0%,transparent 40%),
    #0D1520;
}
.auth-visual {
  background:linear-gradient(135deg,#070F18 0%,#0E1E30 55%,#0A1A14 100%);
  border:1px solid rgba(46,204,138,.1);
}
.icon-button:hover {
  background:rgba(46,204,138,.1);
  border-color:rgba(46,204,138,.25);
  color:var(--color-primary);
}
.profile-tab.is-active {
  background:var(--color-primary);
  color:#0A1018;
}
.profile-tab:not(.is-disabled):not(.is-active):hover {
  background:rgba(46,204,138,.1);
  color:var(--color-primary);
}
.module-hero::before {
  background:linear-gradient(180deg,var(--color-primary),var(--accent));
}
.report-tile:hover {
  border-color:rgba(46,204,138,.2);
  box-shadow:var(--card-shadow),0 0 16px rgba(46,204,138,.07);
}
.report-tile__icon{background:var(--iron);color:var(--color-primary)}
.notification-count{background:var(--color-danger)}
.settings-tab.is-active,.settings-tab:hover {
  background:rgba(46,204,138,.1);
  border-color:rgba(46,204,138,.25);
  color:var(--color-primary);
}
.content-card:hover{border-color:rgba(46,204,138,.1)}
.top-nav-link,.top-nav-group>summary{color:var(--muted);border-radius:999px}
/* Rejected-overhaul correction: clean commercial UI without custom local icons */
body:has(.dashboard-page) .page-header{
  display:none;
}
.app-main{
  padding-top:1.25rem;
}
.product-shell-header{
  background:#0D1520;
  border-bottom:1px solid rgba(46,204,138,.16);
  box-shadow:0 8px 28px rgba(13,21,32,.18);
}
html[data-theme=light] .product-shell-header{
  background:#0D1520;
  color:#E2EAF4;
}
.utility-bar{
  min-height:3.2rem;
  padding-block:.45rem;
}
.main-product-nav{
  min-height:3.15rem;
}
.top-nav-link,
.top-nav-group>summary{
  min-height:2.15rem;
  padding:.42rem .8rem;
  color:#8FA5BA;
  background:transparent;
  border:1px solid transparent;
}

.top-nav-link:hover,
.top-nav-group>summary:hover,
.top-nav-link.is-active,
.top-nav-group.is-active>summary,
.top-nav-group[open]>summary{
  background:rgba(46,204,138,.12);
  color:#2ECC8A;
  border-color:rgba(46,204,138,.22);
  box-shadow:none;
}
.dashboard-page{
  gap:1rem;
}
.dashboard-page .module-hero{
  min-height:0;
  padding:1.15rem 1.3rem;
  background:#131E2E;
  border:1px solid rgba(46,204,138,.12);
  border-radius:18px;
  box-shadow:0 8px 28px rgba(13,21,32,.18);
}
html[data-theme=light] .dashboard-page .module-hero{
  background:#fff;
  border-color:rgba(13,21,32,.08);
}
.dashboard-page .module-hero::after,
.dashboard-page .module-hero::before{
  content:none;
}
.dashboard-page .dashboard-command-label{
  color:#E8B84B;
  font-size:.72rem;
  margin:0 0 .25rem;
}
.dashboard-page .module-hero h2{
  font-size:clamp(1.45rem,2vw,2.2rem);
  color:var(--text);
  margin:0 0 .35rem;
}
.dashboard-page .module-hero p{
  color:var(--muted);
  max-width:70rem;
}
.dashboard-page .module-meta{
  margin-top:.8rem;
}
.dashboard-page .meta-pill{
  min-height:1.85rem;
  background:rgba(46,204,138,.08);
  border-color:rgba(46,204,138,.16);
  color:#8FA5BA;
}
.dashboard-filter{
  background:#fff;
  border:1px solid rgba(13,21,32,.08);
  box-shadow:0 6px 22px rgba(13,21,32,.08);
}
html[data-theme=dark] .dashboard-filter{
  background:#131E2E;
  border-color:rgba(226,234,244,.08);
}
.dashboard-filter .filter-field{
  min-width:10rem;
}
.kpi-strip.dashboard-kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
}
.dashboard-page .kpi-card{
  min-height:5.6rem;
  padding:1rem;
  background:#fff;
  border:1px solid rgba(13,21,32,.08);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(13,21,32,.08);
  color:#0D1520;
}
html[data-theme=dark] .dashboard-page .kpi-card{
  background:#131E2E;
  border-color:rgba(226,234,244,.08);
  color:#E2EAF4;
}
.dashboard-page .kpi-card:hover{
  transform:none;
  border-color:rgba(46,204,138,.22);
  box-shadow:0 10px 26px rgba(13,21,32,.12);
}
.dashboard-page .kpi-card__icon{
  display:none;
}
.dashboard-page .kpi-card p{
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:.4rem;
}
.dashboard-page .kpi-card strong{
  font-size:1.55rem;
  color:var(--text);
}
html[data-theme=light] .dashboard-page .kpi-card strong{
  color:#0D1520;
}
.dashboard-page .kpi-card small{
  color:var(--muted);
}
.dashboard-grid{
  grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
}
.dashboard-page .content-card{
  background:#fff;
  border:1px solid rgba(13,21,32,.08);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(13,21,32,.08);
}
html[data-theme=dark] .dashboard-page .content-card{
  background:#131E2E;
  border-color:rgba(226,234,244,.08);
}
.dashboard-page .content-card:hover{
  box-shadow:0 8px 22px rgba(13,21,32,.08);
  border-color:rgba(46,204,138,.16);
}
.dashboard-page .content-card__head{
  min-height:3rem;
  background:#F4F7FA;
  border-bottom:1px solid rgba(13,21,32,.08);
  padding:.8rem 1rem;
}
html[data-theme=dark] .dashboard-page .content-card__head{
  background:#17243A;
  border-bottom-color:rgba(226,234,244,.08);
}
.dashboard-page .content-card__head h3{
  color:#4A6280;
  font-size:.9rem;
  font-weight:900;
}
html[data-theme=dark] .dashboard-page .content-card__head h3{
  color:#A7B7C8;
}
.dashboard-chart-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.dashboard-chart-card .content-card__body{
  min-height:18rem;
  padding:1rem;
}
.dashboard-chart-card canvas{
  display:block;
  width:100%!important;
  height:16rem!important;
  max-height:16rem;
}
.dashboard-finance-grid{
  gap:.75rem;
}
.dashboard-finance-grid>div{
  background:#F4F7FA;
  border:1px solid rgba(13,21,32,.07);
  border-radius:12px;
  padding:.85rem;
}
html[data-theme=dark] .dashboard-finance-grid>div{
  background:#0D1520;
  border-color:rgba(226,234,244,.07);
}
.data-table thead th{
  background:#F4F7FA;
  color:#4A6280;
}
html[data-theme=dark] .data-table thead th{
  background:#0D1520;
  color:#A7B7C8;
}
@media(max-width:1024px){
  .kpi-strip.dashboard-kpi-grid,
  .dashboard-chart-grid,
  .dashboard-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .kpi-strip.dashboard-kpi-grid,
  .dashboard-chart-grid,
  .dashboard-grid{
    grid-template-columns:1fr;
  }
  .dashboard-chart-card .content-card__body{
    min-height:15rem;
  }
  .dashboard-chart-card canvas{
    height:13rem!important;
  }
}

/* System-wide contrast and remote-icon correction. */
.top-nav-link .bi,
.top-nav-group>summary .bi,
.btn .bi,
.meta-pill .bi,
.icon-button .bi,
.user-chip .bi,
.profile-avatar .bi,
.empty-state .bi,
.kpi-card__icon .bi{
  display:inline-flex;
}
.product-shell-header{
  background:#0B111A;
  border-bottom:1px solid rgba(46,204,138,.18);
}
.utility-bar,
.main-product-nav{
  background:#0B111A;
}
.top-nav-link,
.top-nav-group>summary{
  color:#B9C7D8;
}
.top-nav-link:hover,
.top-nav-link:focus-visible,
.top-nav-group>summary:hover,
.top-nav-group>summary:focus-visible,
.top-nav-link.is-active,
.top-nav-group.is-active>summary,
.top-nav-group[open]>summary{
  color:#2ECC8A;
  background:rgba(46,204,138,.12);
  border-color:rgba(46,204,138,.35);
}
.top-nav-menu{
  background:#FFFFFF;
  color:#111827;
  border:1px solid rgba(13,21,32,.12);
  box-shadow:0 18px 42px rgba(13,21,32,.22);
}
.top-nav-menu__label{
  color:#B8860B;
}
.top-nav-menu a{
  color:#1F2937;
}
.top-nav-menu a:hover,
.top-nav-menu a:focus-visible{
  color:#047857;
  background:#ECFDF5;
}
html[data-theme=dark] .top-nav-menu{
  background:#111827;
  color:#F8FAFC;
  border-color:rgba(226,234,244,.12);
}
html[data-theme=dark] .top-nav-menu__label{
  color:#F4C95D;
}
html[data-theme=dark] .top-nav-menu a{
  color:#E2E8F0;
}
html[data-theme=dark] .top-nav-menu a:hover,
html[data-theme=dark] .top-nav-menu a:focus-visible{
  color:#34D399;
  background:rgba(52,211,153,.12);
}
.language-switcher{
  background:#17212F;
  border:1px solid rgba(226,234,244,.16);
  border-radius:999px;
  padding:.18rem;
  gap:.15rem;
}
.language-switcher .chip-link{
  min-width:2.1rem;
  height:2rem;
  border:0;
  background:transparent;
  color:#D8E4F0;
  opacity:1;
}
html[lang=ar] .language-switcher a[hreflang=ar],
html[lang=en] .language-switcher a[hreflang=en]{
  background:#2ECC8A;
  color:#07120D;
  box-shadow:0 8px 18px rgba(46,204,138,.22);
}
html[data-theme=light] .language-switcher{
  background:#FFFFFF;
  border-color:rgba(13,21,32,.12);
}
html[data-theme=light] .language-switcher .chip-link{
  color:#475569;
}
.icon-button,
.user-chip,
.utility-logout .btn{
  background:#121B28;
  color:#E2EAF4;
  border-color:rgba(226,234,244,.14);
}
.icon-button:hover,
.icon-button:focus-visible,
.utility-logout .btn:hover,
.utility-logout .btn:focus-visible{
  color:#2ECC8A;
  border-color:rgba(46,204,138,.34);
  background:#172233;
}
.module-hero,
.profile-header,
.detail-hero{
  position:relative;
  overflow:hidden;
  color:#EAF2FF;
  background:
    linear-gradient(135deg,rgba(11,17,26,.98),rgba(18,35,48,.94)),
    radial-gradient(circle at 12% 15%,rgba(46,204,138,.18),transparent 28%);
  border-color:rgba(46,204,138,.18);
}
.module-hero::before,
.profile-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:22px 22px;
  pointer-events:none;
}
.module-hero>*,
.profile-header>*,
.detail-hero>*{
  position:relative;
  z-index:1;
}
.module-hero h2,
.module-hero .h1,
.profile-header h2,
.detail-hero h2{
  color:#FFFFFF;
}
.module-hero p,
.module-hero .module-hero__copy p,
.profile-header p,
.detail-hero p{
  color:#D5E1EC;
}
.module-hero .eyebrow,
.profile-header .eyebrow,
.detail-hero .eyebrow{
  color:#F4C95D;
}
.module-hero .meta-pill,
.profile-header .meta-pill,
.detail-hero .meta-pill{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  color:#E9F3FF;
}
.module-hero .btn-outline-secondary,
.profile-header .btn-outline-secondary,
.detail-hero .btn-outline-secondary{
  color:#E9F3FF;
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.06);
}
.module-hero .btn-outline-secondary:hover,
.profile-header .btn-outline-secondary:hover,
.detail-hero .btn-outline-secondary:hover{
  color:#0B111A;
  background:#FFFFFF;
}
.dashboard-page .module-hero{
  min-height:0;
  padding:1.35rem 1.45rem;
}
html[data-theme=light] .dashboard-page .module-hero,
html[data-theme=light] .module-hero,
html[data-theme=light] .profile-header,
html[data-theme=light] .detail-hero{
  background:
    linear-gradient(135deg,#0D1B2A,#122A3D),
    radial-gradient(circle at 12% 15%,rgba(46,204,138,.22),transparent 28%);
  color:#F8FAFC;
}
.dashboard-page .kpi-card__icon{
  display:grid;
  background:#122033;
  color:#2ECC8A;
}
html[data-theme=light] .dashboard-page .kpi-card__icon{
  background:#E9FDF3;
  color:#047857;
}
.dashboard-page .content-card__body{
  background:transparent;
}
@media(max-width:720px){
  .top-nav-menu{
    background:#FFFFFF;
  }
  html[data-theme=dark] .top-nav-menu{
    background:#111827;
  }
  .module-hero,
  .profile-header,
  .detail-hero{
    border-radius:14px;
  }
}

/* Bootstrap Icons web-font layout adjustments (font handled by vendor/bootstrap-icons/bootstrap-icons.css). */
.kpi-card__icon .bi{
  font-size:1.15rem;
  line-height:1;
  color:var(--color-primary);
}
.action-menu .bi,
.action-menu__panel .bi,
.action-menu__button .bi{
  font-size:.95rem;
  color:var(--muted);
}
html[data-theme=dark] .action-menu .bi,
html[data-theme=dark] .action-menu__panel .bi,
html[data-theme=dark] .action-menu__button .bi{
  color:#A7B7C8;
}
.btn-primary .bi{
  color:#0A1018;
}
.module-hero .bi,
.profile-header .bi,
.detail-hero .bi{
  color:#E9F3FF;
}
.empty-state .bi{
  font-size:2.5rem;
  color:var(--muted);
}
.profile-avatar .bi{
  font-size:1.6rem;
}
.icon-button .bi,
.utility-logout .bi,
.top-nav-link .bi,
.top-nav-group>summary .bi{
  opacity:1;
}
.icon-button{
  color:#CFE0F2;
}
.icon-button:hover,
.icon-button:focus-visible{
  color:#2ECC8A;
}
body .module-hero h2,
body .module-hero .h1,
body .profile-header h2,
body .detail-hero h2,
body.dashboard-page .module-hero h2,
.dashboard-page .module-hero h2{
  color:#FFFFFF!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
body .module-hero p,
body .module-hero .module-hero__copy p,
body .profile-header p,
body .detail-hero p,
.dashboard-page .module-hero p{
  color:#D8E5F2!important;
}
.dashboard-page .module-hero .meta-pill,
.module-hero .meta-pill{
  color:#EAF2FF!important;
}
.remote-icon{
  display:inline-block;
  width:1.05em;
  height:1.05em;
  min-width:1.05em;
  flex:0 0 auto;
  object-fit:contain;
  vertical-align:-.14em;
  filter:brightness(0) saturate(100%) invert(83%) sepia(13%) saturate(562%) hue-rotate(176deg) brightness(97%) contrast(89%);
}
.top-nav-link.is-active .remote-icon,
.top-nav-group.is-active>summary .remote-icon,
.top-nav-group[open]>summary .remote-icon,
.top-nav-link:hover .remote-icon,
.top-nav-group>summary:hover .remote-icon,
.icon-button:hover .remote-icon,
.icon-button:focus-visible .remote-icon{
  filter:brightness(0) saturate(100%) invert(65%) sepia(95%) saturate(394%) hue-rotate(97deg) brightness(93%) contrast(91%);
}
.language-switcher+.icon-button .remote-icon,
.utility-actions .icon-button .remote-icon{
  width:1.08rem;
  height:1.08rem;
}
.utility-logout .remote-icon{
  width:1rem;
  height:1rem;
}
.kpi-card__icon .remote-icon{
  width:1.18rem;
  height:1.18rem;
  filter:brightness(0) saturate(100%) invert(56%) sepia(79%) saturate(507%) hue-rotate(102deg) brightness(94%) contrast(86%);
}
.action-menu .remote-icon,
.action-menu__panel .remote-icon,
.action-menu__button .remote-icon{
  width:1rem;
  height:1rem;
  filter:brightness(0) saturate(100%) invert(29%) sepia(13%) saturate(1057%) hue-rotate(179deg) brightness(93%) contrast(88%);
}
html[data-theme=dark] .action-menu .remote-icon,
html[data-theme=dark] .action-menu__panel .remote-icon,
html[data-theme=dark] .action-menu__button .remote-icon{
  filter:brightness(0) saturate(100%) invert(83%) sepia(13%) saturate(562%) hue-rotate(176deg) brightness(97%) contrast(89%);
}
.btn-primary .remote-icon{
  filter:brightness(0) saturate(100%) invert(5%) sepia(14%) saturate(1584%) hue-rotate(88deg) brightness(99%) contrast(95%);
}
.btn-outline-secondary .remote-icon,
.btn-outline-primary .remote-icon{
  filter:brightness(0) saturate(100%) invert(31%) sepia(14%) saturate(1134%) hue-rotate(178deg) brightness(92%) contrast(90%);
}
html[data-theme=light] .module-hero .remote-icon,
html[data-theme=light] .profile-header .remote-icon,
html[data-theme=light] .detail-hero .remote-icon{
  filter:brightness(0) saturate(100%) invert(96%) sepia(10%) saturate(737%) hue-rotate(179deg) brightness(101%) contrast(96%);
}

/* ============================================================
   SOFT ELEGANT SAAS LOGIN DESIGN SYSTEM (SOFT COLOR PALETTE)
   ============================================================ */

.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 10% 20%, rgba(13, 148, 136, 0.06), transparent 35%),
              radial-gradient(circle at 90% 80%, rgba(99, 102, 241, 0.05), transparent 35%),
              #f8fafc !important;
  padding: 1.5rem !important;
  color: #0f172a;
}

.auth-main {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.auth-product-shell {
  width: min(100%, 70rem);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.9fr);
  gap: 0;
  border-radius: 1.5rem;
  overflow: hidden;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.08), 0 0 1px rgba(15, 23, 42, 0.04) !important;
  align-items: stretch;
}

/* Left / Login Form Container */
.auth-card--login {
  background: #ffffff !important;
  padding: clamp(2rem, 4vw, 3.25rem) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: relative;
}

.auth-card__head {
  margin-bottom: 1.75rem;
}

.auth-card__head .eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: #f0fdf4 !important;
  color: #0d9488 !important;
  border: 1px solid #ccfbf1 !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.auth-card__head h1 {
  font-size: clamp(1.75rem, 2.5vw, 2.15rem) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 0.4rem 0 !important;
  line-height: 1.25;
}

.auth-card__head p {
  color: #64748b !important;
  font-size: 0.94rem !important;
  margin: 0 !important;
  line-height: 1.55;
}

/* Form & Input Fields */
.auth-form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.auth-form .field-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}

.auth-form .field-block label span {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #334155 !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
}

.input-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.input-icon-wrap .input-icon {
  position: absolute;
  inset-inline-start: 1rem;
  color: #94a3b8;
  font-size: 1.05rem;
  pointer-events: none;
  transition: color 0.2s ease;
  z-index: 2;
}

.auth-form .form-control {
  width: 100%;
  min-height: 3.1rem !important;
  padding-inline-start: 2.75rem !important;
  padding-inline-end: 1rem !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.75rem !important;
  color: #0f172a !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}

.auth-form .form-control::placeholder {
  color: #94a3b8 !important;
}

.auth-form .form-control:focus {
  background: #ffffff !important;
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.12) !important;
  outline: none !important;
}

.auth-form .form-control:focus + .input-icon,
.input-icon-wrap:focus-within .input-icon {
  color: #0d9488 !important;
}

/* Submit Button */
.btn-auth-submit {
  min-height: 3.2rem !important;
  margin-top: 0.4rem;
  border-radius: 0.75rem !important;
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  box-shadow: 0 8px 20px rgba(13, 148, 136, 0.22) !important;
  transition: all 0.2s ease !important;
  cursor: pointer;
}

.btn-auth-submit:hover {
  background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(13, 148, 136, 0.3) !important;
  color: #ffffff !important;
}

.btn-auth-submit:active {
  transform: translateY(0) !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.2) !important;
}

.auth-form-footer {
  text-align: center;
  margin-top: 0.25rem;
}

.auth-link {
  color: #0d9488 !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  transition: color 0.18s ease !important;
  text-decoration: none !important;
}

.auth-link:hover {
  color: #0f766e !important;
  text-decoration: underline !important;
}

.auth-footnote {
  margin-top: 1.5rem !important;
  color: #94a3b8 !important;
  font-size: 0.82rem !important;
  text-align: center !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Right Visual Branding Panel - Soft Teal/Navy */
.auth-visual {
  padding: clamp(2rem, 4vw, 3.25rem) !important;
  background: linear-gradient(135deg, #134e4a 0%, #0f766e 50%, #115e59 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
  overflow: hidden !important;
  border-inline-start: 1px solid #e2e8f0 !important;
}

.auth-visual::after {
  content: "";
  position: absolute;
  bottom: -5rem;
  end: -5rem;
  width: 20rem;
  height: 20rem;
  border: 1.25rem solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.auth-visual__copy h2 {
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin-bottom: 1rem !important;
}

.auth-visual__copy p {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
}

.auth-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr) !important;
  gap: 0.75rem !important;
  margin-top: 2rem !important;
}

.auth-feature-grid span {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.85rem 1.1rem !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 0.85rem !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  backdrop-filter: blur(8px) !important;
  transition: all 0.2s ease !important;
}

.auth-feature-grid span:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  transform: translateX(-3px) !important;
}

.auth-feature-grid span i {
  color: #99f6e4 !important;
  font-size: 1.2rem !important;
}

@media (max-width: 900px) {
  .auth-product-shell {
    grid-template-columns: 1fr !important;
    border-radius: 1.25rem !important;
  }
  .auth-visual {
    display: none !important;
  }
}

/* Standalone password and authentication utility pages */
.auth-card--standalone {
  width: min(100%, 30rem);
  padding: clamp(1.25rem, 3vw, 1.75rem);
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 1rem;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.14);
}

.auth-card--standalone .auth-brand {
  align-items: flex-start;
  margin-bottom: 1.1rem;
}

.auth-card--standalone .auth-brand h1 {
  margin: 0.2rem 0 0;
  color: #0f172a !important;
  font-size: clamp(1.45rem, 4vw, 1.85rem);
  line-height: 1.3;
}

.auth-card--standalone .eyebrow {
  color: #b7791f !important;
}

.auth-card--standalone > p {
  margin: 0 0 1.1rem;
  color: #475569 !important;
  line-height: 1.75;
}

.auth-card--standalone .demo-form label > span {
  color: #334155 !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.auth-card--standalone .form-control {
  min-height: 3rem;
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

.auth-card--standalone .form-control:focus {
  background: #ffffff !important;
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.12) !important;
}

.auth-card--standalone .btn-primary {
  width: 100%;
  min-height: 2.9rem;
}

@media (max-width: 430px) {
  .auth-card--standalone {
    padding: 1.1rem;
  }
}

/* V2 personal account self-service */
.account-dropdown{position:relative}
.account-summary{display:flex;align-items:center;gap:.55rem;min-height:2.55rem;padding:.25rem .55rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);color:#fff;cursor:pointer;list-style:none}
.account-summary::-webkit-details-marker{display:none}
.account-summary__avatar{display:grid;place-items:center;width:2rem;height:2rem;overflow:hidden;border-radius:50%;background:var(--brand-lime);color:#0c0e0d;font-weight:950}
.account-summary__avatar img{width:100%;height:100%;object-fit:cover}
.account-summary__copy{display:grid;line-height:1.2;text-align:start}
.account-summary__copy strong{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.account-summary__copy small{color:rgba(255,255,255,.6);font-size:.65rem}
.account-dropdown__panel{position:absolute;z-index:120;inset-block-start:calc(100% + .55rem);inset-inline-end:0;display:grid;width:min(18rem,calc(100vw - 1.5rem));padding:.45rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow-hover)}
.account-dropdown__panel a,.account-dropdown__panel button{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.55rem;padding:.55rem .7rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text);font:inherit;font-weight:850;text-align:start}
.account-dropdown__panel a:hover,.account-dropdown__panel a:focus-visible,.account-dropdown__panel button:hover,.account-dropdown__panel button:focus-visible{background:var(--surface-2);color:var(--color-primary)}
.account-dropdown__panel form{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--line)}
.account-profile-page{max-width:var(--page-max);margin-inline:auto}
.profile-avatar--photo{overflow:hidden;flex:0 0 auto}
.profile-avatar--photo img{width:100%;height:100%;object-fit:cover}
.profile-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.profile-tabs .profile-tab{white-space:nowrap;color:rgba(255,255,255,.78)}
.profile-tabs .profile-tab:focus-visible{outline:3px solid rgba(46,204,138,.38);outline-offset:2px}
.profile-tabs .profile-tab.is-active{color:#07110d}
.profile-tab i{font-size:.95rem}
.kpi-strip--profile{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-photo-form{display:grid;gap:.8rem}
.form-actions--inline{justify-content:flex-start;border-top:0;padding-inline:0}
.field-error{display:block;color:var(--color-danger);font-weight:800}
.preference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.preference-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);cursor:pointer}
.preference-toggle>span{display:grid;gap:.2rem}
.preference-toggle small{color:var(--muted)}
.preference-toggle input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--color-primary);flex:0 0 auto}
.preference-toggle:has(input:disabled){cursor:not-allowed;opacity:.82}

@media (max-width: 900px){
  .account-summary__copy{display:none}
  .kpi-strip--profile,.preference-list{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .brand-lockup .brand-copy{display:none}
  .account-dropdown__panel{position:fixed;inset-block-start:4.2rem;inset-inline:.75rem;width:auto}
  .account-profile-header .detail-actions{width:100%}
  .profile-tabs{padding:.25rem;border-radius:var(--radius-lg)}
  .profile-tab{padding:.5rem .7rem}
  .kpi-strip--profile{display:grid!important;grid-template-columns:1fr!important;overflow:visible}
}

.catalogue-profile{align-items:start}
.product-visual-card{min-width:0}
.product-visual-card .content-card__body{display:grid;justify-items:center;gap:.75rem;text-align:center}
.product-image{display:block;width:min(100%,22rem);aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}
.product-image--empty{display:grid;place-items:center;align-content:center;gap:.5rem;color:var(--muted);font-size:.9rem}
.product-image--empty i{font-size:2rem}
.compact-form-strip{display:grid;grid-template-columns:minmax(9rem,.8fr) minmax(13rem,1fr) minmax(14rem,1.4fr) auto;gap:.75rem;align-items:end;padding:1rem;border-block-end:1px solid var(--line)}
@media (max-width:900px){.compact-form-strip{grid-template-columns:1fr 1fr}.compact-form-strip .btn{width:100%}}
@media (max-width:640px){.compact-form-strip{grid-template-columns:1fr}.catalogue-profile{grid-template-columns:1fr}}
@media (max-width:800px){
  .filter-toolbar{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
  .filter-field,.filter-toolbar .filter-search{flex:none;width:100%;min-width:0}
  .filter-toolbar>.btn{width:100%}
  .table-wrap{overflow:visible}
  .data-table{min-width:0;border-spacing:0}
  .data-table thead{display:none}
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}
  .data-table tbody tr{padding:.75rem;border-bottom:1px solid var(--line)}
  .data-table tbody td{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.75rem;padding:.45rem 0;border-bottom:0}
  .data-table tbody td::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:950;text-transform:uppercase}
}
.kpi-strip.inventory-kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1200px){.kpi-strip.inventory-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.kpi-strip.inventory-kpi-strip{display:flex;grid-template-columns:none}}

/* V2 Phase 6 point of sale */
.pos-grid{display:grid;grid-template-columns:minmax(16rem,.7fr) minmax(0,1.6fr);gap:var(--space-4)}
.pos-results{display:grid;gap:.5rem;margin-top:.75rem;max-height:30rem;overflow:auto}
.pos-product-result{display:grid;gap:.18rem;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font:inherit;text-align:start}
.pos-product-result:hover,.pos-product-result:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}
.pos-product-result span,.pos-product-result small{color:var(--muted)}
.pos-cart small{display:block;color:var(--muted)}
.pos-cart .form-control{min-width:5.5rem}
.pos-empty{padding:2rem;text-align:center;color:var(--muted)}
.pos-checkout{margin-top:var(--space-4)}
.payment-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.5rem}
.pos-total{display:grid;align-content:center;justify-items:end;padding:1rem;border-inline-start:1px solid var(--line)}
.pos-total strong{font-size:clamp(1.4rem,2vw,2.1rem);color:var(--color-primary)}
.sales-receipt{width:min(80mm,calc(100% - 1.5rem));margin:1rem auto;padding:5mm;background:#fff;color:#111;border:1px solid #d7d7d7;border-radius:.35rem;box-shadow:0 10px 32px rgba(0,0,0,.12)}
.receipt-totals{width:100%;padding-top:.5rem}
.receipt-totals p{display:flex;justify-content:space-between;gap:1rem}
.receipt-actions{display:flex;justify-content:center;margin-top:1.5rem}
@page{size:80mm auto;margin:2mm}
@media print{html,body{width:80mm!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important}.receipt-actions{display:none!important}.print-shell{width:80mm!important;min-width:0!important;background:#fff!important}.sales-receipt{width:76mm!important;max-width:76mm!important;margin:0 auto!important;padding:2mm!important;box-shadow:none!important;border:0!important;border-radius:0!important}}
@media(max-width:900px){.pos-grid{grid-template-columns:1fr}.payment-row{grid-template-columns:1fr 1fr}.payment-row>*:last-child{grid-column:1/-1}.pos-total{justify-items:start;border-inline-start:0;border-block-start:1px solid var(--line)}}

/* V2 Phase 6A cashier-first POS workspace */
.pos-workspace{max-width:1720px;margin-inline:auto}
.pos-command-bar{display:grid;grid-template-columns:minmax(11rem,.75fr) minmax(28rem,2.25fr) auto;align-items:center;gap:var(--space-3);padding:.7rem 1rem;margin-bottom:.65rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm)}
.pos-command-bar__identity{display:flex;align-items:center;gap:var(--space-3)}
.pos-command-bar__identity h2,.pos-panel-heading h3{margin:0;font-size:1.05rem}
.pos-command-bar__identity .eyebrow,.pos-panel-heading .eyebrow{margin:0 0 .15rem}
.pos-command-bar__icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:1rem}
.pos-session-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0}
.pos-session-facts div{min-width:0;padding-inline-start:.65rem;border-inline-start:1px solid var(--line)}
.pos-session-facts dt{font-size:.66rem;color:var(--muted)}
.pos-session-facts dd{margin:0;overflow:hidden;color:var(--text);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.pos-announcement{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}
.pos-announcement ul{margin:0}
.pos-context-strip{display:grid;grid-template-columns:minmax(10rem,.72fr) minmax(11rem,.82fr) minmax(24rem,1.7fr);gap:.65rem;padding:.65rem .8rem;margin-bottom:.65rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1)}
.pos-context-strip label,.pos-customer-picker{display:grid;gap:.3rem;margin:0}
.pos-context-strip label>span,.pos-customer-picker>label{font-size:.74rem;font-weight:700;color:var(--muted)}
.pos-context-strip .form-control{min-height:2.55rem;padding-block:.4rem}
.pos-customer-picker{grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr);align-items:end}
.pos-customer-picker>label{grid-column:1/-1}
.pos-customer-picker__search,.pos-search-box{position:relative}
.pos-customer-picker__search i{position:absolute;inset-inline-start:.8rem;top:50%;z-index:1;color:var(--muted);transform:translateY(-50%)}
.pos-customer-picker__search input{padding-inline-start:2.25rem}
.pos-shell{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(23rem,.85fr);align-items:start;gap:var(--space-4)}
.pos-catalog-panel,.pos-cart-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm)}
.pos-catalog-panel{min-height:44rem;padding:var(--space-5)}
.pos-cart-panel{position:static;display:flex;flex-direction:column;max-height:none;padding:var(--space-4);padding-bottom:5.25rem;overflow:visible}
.pos-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}
.pos-cart-heading{padding-bottom:var(--space-3);margin-bottom:0;border-bottom:1px solid var(--line)}
.pos-cart-count{display:grid;place-items:center;min-width:2.25rem;height:2.25rem;padding-inline:.5rem;border-radius:999px;background:var(--surface-3);color:var(--text);font-weight:800}
.pos-search-box{display:grid;grid-template-columns:1fr auto;gap:.5rem}
.pos-search-box>i{position:absolute;inset-inline-start:1rem;top:50%;z-index:1;color:var(--muted);font-size:1.2rem;transform:translateY(-50%)}
.pos-search-box input{min-height:3.25rem;padding-inline-start:3rem;font-size:1rem}
.pos-search-box .btn{min-width:7rem}
.pos-category-tabs{display:flex;gap:.45rem;padding-block:.8rem;margin-bottom:var(--space-2);overflow:auto;scrollbar-width:thin}
.pos-category-tab{flex:0 0 auto;min-height:2.35rem;padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.78rem;font-weight:700}
.pos-category-tab:hover,.pos-category-tab:focus-visible,.pos-category-tab.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--surface-1));color:var(--color-primary)}
.pos-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:var(--space-3)}
.pos-product-card{position:relative;display:grid;grid-template-rows:8rem 1fr auto;min-width:0;min-height:17rem;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text);font:inherit;text-align:start;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.pos-product-card:not(:disabled):hover,.pos-product-card:not(:disabled):focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.pos-product-card.is-disabled{cursor:not-allowed;opacity:.72}
.pos-product-card__visual{display:grid;place-items:center;overflow:hidden;background:var(--surface-2);color:var(--muted);font-size:2.4rem}
.pos-product-card__visual img{width:100%;height:100%;object-fit:cover}
.pos-product-card__body{display:grid;align-content:start;gap:.22rem;padding:.75rem}
.pos-product-card__body small,.pos-product-card__body span{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.pos-product-card__body strong{display:-webkit-box;overflow:hidden;font-size:.9rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.pos-product-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-top:1px solid var(--line);background:var(--surface-2)}
.pos-product-card__footer strong{color:var(--text);font-size:.9rem}
.pos-product-card__footer small{color:var(--muted);font-size:.66rem;text-align:end}
.pos-product-card__footer small.is-danger{color:var(--color-danger);font-weight:800}
.pos-catalog-state{grid-column:1/-1;display:grid;place-items:center;align-content:center;gap:.65rem;min-height:18rem;padding:var(--space-6);color:var(--muted);text-align:center}
.pos-catalog-state>i{font-size:2rem}
.pos-cart-lines{display:grid;flex:0 0 auto;gap:.45rem;min-height:0;max-height:none;padding-block:var(--space-3);overflow:visible}
.pos-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.4rem;padding:.48rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}
.pos-cart-line__identity{position:relative;display:grid;min-width:0;padding-inline-end:2.45rem}
.pos-cart-line__identity strong,.pos-cart-line__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-cart-line__identity strong{font-size:.82rem}
.pos-cart-line__identity small{color:var(--muted);font-size:.64rem}
.pos-line-discount-button{position:absolute;inset-inline-end:0;top:50%;display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--muted);font:inherit;transform:translateY(-50%)}
.pos-line-discount-button:hover,.pos-line-discount-button:focus-visible,.pos-line-discount-button.is-active{border-color:var(--color-primary);color:var(--color-primary)}
.pos-line-discount-button.is-active{background:color-mix(in srgb,var(--color-primary) 13%,var(--surface-1))}
.pos-line-discount-button [data-line-discount-value]:not(:empty){position:absolute;inset-block-start:-.42rem;inset-inline-end:-.38rem;min-width:1.8rem;padding:.08rem .25rem;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.55rem;font-weight:900;line-height:1.35;box-shadow:var(--shadow-sm)}
.pos-quantity-control{display:grid;grid-template-columns:1.75rem 2.7rem 1.75rem;height:2.1rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1)}
.pos-quantity-control button{border:0;background:transparent;color:var(--text)}
.pos-quantity-control button:hover,.pos-quantity-control button:focus-visible{background:var(--surface-3);color:var(--color-primary)}
.pos-quantity-control input{min-width:0;width:100%;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:.72rem;font-weight:700;text-align:center}
.pos-cart-line__total{min-width:3.7rem;font-size:.82rem;text-align:end}
.pos-cart-line>.icon-button{width:2.1rem;height:2.1rem}
.pos-empty-cart{display:grid;place-items:center;gap:.35rem;min-height:9rem;padding:var(--space-4);color:var(--muted);text-align:center}
.pos-empty-cart[hidden],.pos-clear-cart[hidden]{display:none}
.pos-empty-cart i{font-size:1.8rem}
.pos-empty-cart strong{color:var(--text);font-size:.88rem}
.pos-empty-cart span{font-size:.74rem}
.pos-clear-cart{align-self:flex-start;padding:.2rem .25rem;color:var(--color-danger);font-size:.75rem}
.pos-totals{display:grid;gap:.35rem;padding-block:var(--space-3);border-block:1px solid var(--line)}
.pos-totals>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:.78rem}
.pos-totals>div span{color:var(--muted)}
.pos-totals__discount-action{display:flex;align-items:center;gap:.45rem}
.pos-totals__discount-action>strong{color:var(--text)}
.pos-totals__discount-action>button{display:inline-flex;align-items:center;gap:.3rem;min-height:1.85rem;padding:.2rem .55rem;border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 9%,var(--surface-1));color:var(--color-primary);font:inherit;font-size:.66rem;font-weight:900}
.pos-totals__discount-action>button:hover,.pos-totals__discount-action>button:focus-visible{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 16%,var(--surface-1))}
.pos-totals__grand{padding-top:.45rem;margin-top:.25rem;border-top:1px dashed var(--line)}
.pos-totals__grand span,.pos-totals__grand strong{color:var(--text)!important;font-size:1.05rem!important}
.pos-payment-panel{display:grid;gap:.65rem;padding-block:var(--space-3)}
.pos-payment-heading{display:flex;align-items:center;justify-content:space-between}
.pos-payment-heading h4{margin:0;font-size:.88rem}
.pos-payment-heading span{color:var(--muted);font-size:.7rem}
.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);padding:.2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}
.segmented-control button{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.35rem;padding:.4rem;border:0;border-radius:calc(var(--radius-md) - 3px);background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:700}
.segmented-control button.is-active{background:var(--surface-1);color:var(--color-primary);box-shadow:var(--shadow-sm)}
.pos-payment-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pos-payment-row label{display:grid;gap:.25rem}
.pos-payment-row label span{color:var(--muted);font-size:.68rem;font-weight:700}
.pos-payment-row label:last-child{grid-column:1/-1}
.pos-payment-row[hidden]{display:none}
.pos-cash-shortcuts{display:flex;gap:.35rem;overflow:auto}
.pos-cash-shortcuts button{flex:0 0 auto;min-height:2rem;padding:.3rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:.7rem;font-weight:700}
.pos-change-preview{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 9%,var(--surface-1));font-size:.75rem}
.pos-change-preview strong{color:var(--color-primary);font-size:.9rem}
.pos-notes{display:grid;gap:.25rem;margin-bottom:var(--space-3)}
.pos-notes>span{color:var(--muted);font-size:.7rem;font-weight:700}
.pos-checkout-actions{position:fixed;inset-inline-end:max(1rem,calc((100vw - var(--page-max))/2));bottom:1rem;z-index:24;display:grid;grid-template-columns:auto 1fr 1fr;gap:.5rem;width:clamp(23rem,42vw,36rem);padding:.6rem;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 94%,transparent);box-shadow:0 10px 30px color-mix(in srgb,var(--bg) 28%,transparent);backdrop-filter:blur(10px)}
.pos-checkout-actions .btn{min-height:3rem;padding:.5rem .75rem;font-size:.85rem}
.pos-complete-button.is-loading{pointer-events:none;opacity:.75}
.pos-complete-button.is-loading i{animation:spin .8s linear infinite}
@keyframes swalToastSlideUp{from{opacity:0;transform:translateY(20px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.pos-discount-dialog{--discount-bg:#fff;--discount-panel:#f3f6f2;--discount-input:#fff;--discount-text:#101410;--discount-muted:#566258;--discount-line:#d7ded6;width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;overflow:auto;border:1px solid #cbd7cc;border-radius:var(--radius-lg);background:#fff;color:#101410;color-scheme:light;opacity:1;isolation:isolate;box-shadow:0 28px 80px rgba(8,15,20,.38)}
.pos-discount-dialog::backdrop{background:rgba(8,15,20,.72);backdrop-filter:blur(2px)}
.pos-discount-dialog__head{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.8rem;padding:1rem;border-bottom:1px solid var(--discount-line);background:var(--discount-panel)}
.pos-discount-dialog__icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:var(--radius-md);background:var(--color-primary);color:#07130e;font-size:1.15rem;box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 28%,transparent)}
.pos-discount-dialog__heading{min-width:0}
.pos-discount-dialog__head h3{margin:.12rem 0 0;color:var(--discount-text);font-size:1.12rem;line-height:1.45}
.pos-discount-dialog__heading>p:last-child{margin:.2rem 0 0;color:var(--discount-muted);font-size:.74rem;font-weight:700;line-height:1.55}
.pos-discount-dialog__head .eyebrow{margin:0}
.pos-discount-dialog__head .icon-button{border-color:var(--discount-line);background:#17263a;color:#fff}
.pos-discount-dialog__head .icon-button:hover,.pos-discount-dialog__head .icon-button:focus-visible{border-color:var(--color-primary);background:#20344e;color:#fff}
.pos-discount-modes{margin:1rem 1rem 0;padding:.25rem;border-color:var(--discount-line);background:#e9f0f7}
.pos-discount-modes button{gap:.4rem;min-height:2.65rem}
.pos-discount-modes button{color:#536783}
.pos-discount-modes button.is-active{background:#fff;color:#087a50;box-shadow:0 3px 10px rgba(16,36,32,.1)}
.pos-discount-field{display:grid;gap:.45rem;padding:1rem}
.pos-discount-field+.pos-discount-field{padding-top:0}
.pos-discount-field>span{color:var(--discount-text);font-size:.76rem;font-weight:900}
.pos-discount-field>.form-control{border-color:#aeb9af;background:var(--discount-input);color:var(--discount-text)}
.pos-discount-dialog [data-pos-discount-limit-message]{margin:-.3rem 1rem .8rem;color:var(--discount-muted);font-size:.72rem;font-weight:800}
.pos-discount-input{position:relative}
.pos-discount-input .form-control{min-height:3.35rem;padding-inline-end:4rem;border:2px solid #aeb9af;background:var(--discount-input);color:var(--discount-text);font-size:1.15rem;font-weight:900}
.pos-discount-input .form-control:focus{border-color:var(--color-primary);background:var(--discount-input);color:var(--discount-text);box-shadow:0 0 0 3px rgba(29,185,84,.16)}
.pos-discount-input>strong{position:absolute;inset-inline-end:1rem;top:50%;color:var(--color-primary);font-size:.78rem;font-weight:900;transform:translateY(-50%)}
.pos-discount-preview{display:grid;gap:.55rem;margin:0 1rem;padding:.85rem 1rem;border:1px solid #c7d8d0;border-radius:var(--radius-md);background:#eef8f4}
.pos-discount-preview>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem}
.pos-discount-preview span{color:#4f6270}
.pos-discount-preview strong{color:#142426}
.pos-discount-preview__amount{color:#c52d3d!important}
.pos-discount-preview__final{padding-top:.65rem;border-top:1px dashed #bfd0c7}
.pos-discount-preview__final span{color:#142426;font-weight:900}
.pos-discount-preview__final strong{color:var(--color-primary);font-size:1.12rem}
.pos-discount-dialog .field-error{margin:.65rem 1rem 0}
.pos-discount-dialog .field-error[hidden]{display:none}
.pos-discount-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:.6rem;padding:1rem;background:var(--discount-bg)}
.pos-discount-actions .btn-outline-secondary{border-color:#c7d0c8;background:#fff;color:#415349}
.pos-discount-actions .btn-outline-secondary:hover,.pos-discount-actions .btn-outline-secondary:focus-visible{border-color:#9baaa0;background:#f2f5f2;color:#17231b}
.pos-discount-actions .btn-primary{background:#1db954;border-color:#1db954;color:#07130e}
html[data-theme=dark] .pos-discount-dialog{--discount-bg:#141714;--discount-panel:#1e2420;--discount-input:#0f1310;--discount-text:#f0f5ee;--discount-muted:#b2beb1;--discount-line:#3a453c;border-color:#465348;background:#141714;color:#f0f5ee;color-scheme:dark}
html[data-theme=dark] .pos-discount-modes{border-color:#39463c;background:#222b24}
html[data-theme=dark] .pos-discount-modes button{color:#b9c7b8}
html[data-theme=dark] .pos-discount-modes button.is-active{background:#303a32;color:#57dc8b;box-shadow:0 3px 12px rgba(0,0,0,.3)}
html[data-theme=dark] .pos-discount-input .form-control{border-color:#465348}
html[data-theme=dark] .pos-discount-field>.form-control{border-color:#465348;background:var(--discount-input);color:var(--discount-text)}
html[data-theme=dark] .pos-discount-preview{border-color:#345544;background:#182b21}
html[data-theme=dark] .pos-discount-preview span{color:#b5c2b5}
html[data-theme=dark] .pos-discount-preview strong,html[data-theme=dark] .pos-discount-preview__final span{color:#f0f5ee}
html[data-theme=dark] .pos-discount-preview__final{border-color:#3c5948}
html[data-theme=dark] .pos-discount-preview__final strong{color:#52d486}
html[data-theme=dark] .pos-discount-actions .btn-outline-secondary{border-color:#465348;background:#1e2420;color:#e0e9df}
html[data-theme=dark] .pos-discount-actions .btn-outline-secondary:hover,html[data-theme=dark] .pos-discount-actions .btn-outline-secondary:focus-visible{border-color:#67766a;background:#283029;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}

html[data-theme=dark] .pos-product-card__visual{background:#0b1220}
html[data-theme=dark] .pos-change-preview{background:color-mix(in srgb,var(--color-primary) 16%,var(--surface-1))}

.thermal-receipt{font-family:"Cairo",system-ui,sans-serif;font-size:10px;line-height:1.45}
.thermal-receipt__header{text-align:center;padding-bottom:3mm;border-bottom:1px dashed #222}
.thermal-receipt__header h1{margin:0;font-size:15px;line-height:1.3}
.thermal-receipt__header p{margin:1mm 0;font-size:10px}
.thermal-receipt__header>strong{font-size:11px;letter-spacing:0}
.thermal-receipt__meta{display:grid;gap:1mm;margin:3mm 0;padding-bottom:3mm;border-bottom:1px dashed #222}
.thermal-receipt__meta div{display:flex;justify-content:space-between;gap:3mm}
.thermal-receipt__meta dt{font-weight:700}
.thermal-receipt__meta dd{margin:0;text-align:end}
.thermal-receipt__items{width:100%;border-collapse:collapse;table-layout:fixed}
.thermal-receipt__items th,.thermal-receipt__items td{padding:1.5mm .5mm;border-bottom:1px dotted #777;text-align:start;vertical-align:top}
.thermal-receipt__items th:first-child,.thermal-receipt__items td:first-child{width:58%}
.thermal-receipt__items th:nth-child(2),.thermal-receipt__items td:nth-child(2){width:17%;text-align:center}
.thermal-receipt__items th:last-child,.thermal-receipt__items td:last-child{width:25%;text-align:end}
.thermal-receipt__items td strong,.thermal-receipt__items td small{display:block;overflow-wrap:anywhere}
.thermal-receipt__items td small{margin-top:.5mm;color:#555;font-size:8px}
.thermal-receipt__totals{margin-top:2mm;padding-top:2mm;border-top:1px dashed #222}
.thermal-receipt__totals p,.thermal-receipt__payments p{margin:1mm 0}
.thermal-receipt__grand{padding-block:1.5mm;margin-block:1.5mm!important;border-block:1px solid #111;font-size:12px}
.thermal-receipt__payments{padding-top:2mm;margin-top:2mm;border-top:1px dashed #222}
.thermal-receipt__payments p{display:flex;justify-content:space-between;gap:3mm}
.thermal-receipt__footer{padding-top:3mm;margin-top:3mm;border-top:1px dashed #222;text-align:center}
.thermal-receipt__footer p{margin:0;font-weight:700}

/* V2 BI Surface navigation tabs styling - Matching Member Profile Tabs image exactly */
.bi-surface-nav{display:flex;gap:.35rem;overflow-x:auto;padding:.35rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#1c2838;box-shadow:var(--card-shadow);scrollbar-width:thin;flex-wrap:nowrap}
.bi-surface-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:2.45rem;padding:.5rem .95rem;border-radius:999px;color:rgba(255,255,255,.9);font-size:.85rem;font-weight:900;text-decoration:none;white-space:nowrap;transition:all .18s ease}
.bi-surface-nav a:hover,.bi-surface-nav a:focus-visible{background:rgba(255,255,255,.12);color:#ffffff}
.bi-surface-nav a.is-active{background:#25c974;color:#06150d;font-weight:950;box-shadow:0 4px 14px rgba(37,201,116,.4)}

/* V2 sales return workflow */
.form-section-stack{display:grid;gap:var(--space-5)}
.form-section{display:grid;gap:var(--space-4)}
.form-section+.form-section{border-top:1px solid var(--line)}
.form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.form-section__header h3,.form-section__header p{margin:0}
.form-grid--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.app-dialog{width:min(680px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--text-primary)}
.app-dialog::backdrop{background:rgba(7,15,27,.72);backdrop-filter:blur(4px)}
.app-dialog__surface{display:grid;gap:var(--space-5);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow-hover)}
.app-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.app-dialog__header h3,.app-dialog__header p{margin:0}
.app-dialog .form-actions{margin:0}
@media(max-width:767px){.form-grid--2{grid-template-columns:1fr}.app-dialog__surface{padding:var(--space-4)}}

@media(max-width:1180px){
    .pos-command-bar{grid-template-columns:1fr auto}.pos-session-facts{grid-column:1/-1;grid-row:2}.pos-shell{grid-template-columns:minmax(0,1.35fr) minmax(21rem,.85fr)}.pos-checkout-actions{width:clamp(21rem,38.5vw,28rem)}
    .pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}
}
@media(max-width:900px){
    .pos-context-strip{grid-template-columns:1fr 1fr}.pos-customer-picker{grid-column:1/-1}
    .pos-shell{grid-template-columns:1fr}.pos-cart-panel{position:static;max-height:none;padding-bottom:var(--space-4);overflow:visible}.pos-cart-lines{min-height:0;max-height:none}.pos-checkout-actions{position:sticky;inset-inline-end:auto;bottom:.5rem;width:auto;margin:auto -.6rem -.6rem}
}
@media(max-width:640px){
    .pos-command-bar{grid-template-columns:1fr;padding:var(--space-3)}.pos-command-bar>a{width:100%}.pos-session-facts{grid-template-columns:1fr 1fr;grid-column:auto;grid-row:auto}
    .pos-context-strip{grid-template-columns:1fr;padding:var(--space-3)}.pos-customer-picker{grid-column:auto}
    .pos-catalog-panel,.pos-cart-panel{padding:var(--space-3);border-radius:var(--radius-md)}
    .pos-search-box{grid-template-columns:1fr}.pos-search-box .btn{width:100%}
    .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.pos-product-card{grid-template-rows:6.5rem 1fr auto;min-height:15rem}
    .pos-cart-line{grid-template-columns:minmax(0,1fr) auto auto}.pos-cart-line__identity{grid-column:1/-1;padding-bottom:.35rem;padding-inline-end:2.45rem;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.pos-cart-line__total{min-width:3.7rem}
    .pos-checkout-actions{bottom:5.25rem}
}
@media(max-width:390px){
    .pos-product-grid{grid-template-columns:1fr}.pos-session-facts{grid-template-columns:1fr}.pos-payment-row{grid-template-columns:1fr}.pos-payment-row label:last-child{grid-column:auto}
}
@media(max-width:520px){.payment-row{grid-template-columns:1fr}.payment-row>*:last-child{grid-column:auto}.sales-receipt{width:min(80mm,100%);margin:0 auto;border-radius:0}}
/* Access-control module: reusable operational navigation and compact entity surfaces. */
.module-tabs{display:flex;gap:.4rem;overflow-x:auto;padding:.35rem;background:var(--surface,#fff);border:1px solid var(--border-color,#dbe3ea);border-radius:8px;scrollbar-width:thin}.module-tabs a{display:inline-flex;align-items:center;gap:.45rem;min-height:38px;padding:.45rem .7rem;border-radius:6px;color:var(--text-muted,#51647a);font-weight:600;white-space:nowrap;text-decoration:none}.module-tabs a:hover,.module-tabs a:focus-visible,.module-tabs a[aria-current=page]{background:color-mix(in srgb,var(--primary,#198754) 12%,transparent);color:var(--primary,#198754)}.module-tabs svg{width:1rem;height:1rem;flex:0 0 auto}.access-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.entity-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.entity-card{padding:1rem;background:var(--surface,#fff);border:1px solid var(--border-color,#dbe3ea);border-radius:8px;box-shadow:var(--shadow-sm,0 4px 14px rgba(15,23,42,.06))}.entity-card__head{display:flex;align-items:center;gap:.75rem;margin-block-end:1rem}.entity-card__head h3,.entity-card__head p{margin:0}.entity-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:color-mix(in srgb,var(--primary,#198754) 12%,transparent);color:var(--primary,#198754)}.detail-list{display:grid;gap:.5rem;margin:0 0 1rem}.detail-list div{display:flex;justify-content:space-between;gap:1rem;padding-block:.45rem;border-bottom:1px solid var(--border-color,#dbe3ea)}.detail-list dt{color:var(--text-muted,#51647a)}.detail-list dd{margin:0;font-weight:600}.stack-form{display:grid;gap:.75rem}.inline-form{display:inline-flex;margin-inline-start:.35rem}
@media(max-width:991px){.access-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.access-kpi-grid,.entity-card-grid{grid-template-columns:1fr}.module-tabs a{min-height:42px}}

.module-tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));
  gap:.45rem;
  overflow:visible;
  align-items:stretch;
}
.module-tabs a{
  justify-content:center;
  min-width:0;
  text-align:center;
}
.access-control-gates-page{
  display:block!important;
}
.access-control-gates-page>.module-hero,
.access-control-gates-page>.module-tabs,
.access-control-gates-page>.entity-card-grid,
.access-control-gates-page>.empty-state{
  display:block;
  width:100%!important;
  max-width:100%!important;
  clear:both;
}
.access-control-gates-page>.module-hero{
  margin-block-end:var(--space-4);
}
.access-control-gates-page>.module-tabs{
  display:grid;
  margin-block-end:var(--space-4);
}
@media(max-width:575px){
  .module-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.guide-layout{display:grid;grid-template-columns:minmax(14rem,.28fr) minmax(0,1fr);gap:1rem;align-items:start}
.guide-toc{position:sticky;top:6rem}
.guide-toc .content-card__head{min-height:auto}
.guide-toc__links{display:grid;gap:.35rem;padding:.8rem}
.guide-toc__links a{display:flex;align-items:center;min-height:2.25rem;padding:.45rem .7rem;border:1px solid transparent;border-radius:.75rem;color:var(--muted);font-weight:900;text-decoration:none}
.guide-toc__links a:hover,.guide-toc__links a:focus-visible{border-color:var(--line);background:var(--surface-2);color:var(--text)}
.guide-content{display:grid;gap:1rem;min-width:0}
.guide-intro p,.guide-section__body{margin:0 0 .85rem;color:var(--muted);line-height:1.8}
.guide-section{scroll-margin-top:6rem}
.guide-section .content-card__head>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.guide-section .content-card__head h3{margin:0}
.guide-steps{display:grid;gap:.65rem;margin:0;padding-inline-start:1.35rem}
.guide-steps li{padding:.55rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-2);line-height:1.75;font-weight:800}
html[dir=rtl] .guide-steps{padding-inline-start:0;padding-inline-end:1.35rem}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-toc{position:static}.guide-toc__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.guide-toc__links{grid-template-columns:1fr}.guide-section .content-card__head>div{align-items:flex-start}.guide-steps{padding-inline-start:1rem}html[dir=rtl] .guide-steps{padding-inline-end:1rem}}

/* Access point create/edit forms keep technical gate values readable in RTL/LTR. */
.access-point-form .form-field{min-width:0}
.access-point-form .form-field>label,
.access-point-form .field-label{display:block;margin-bottom:.38rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:950}
.access-point-form .technical-input{direction:ltr;text-align:left;font-family:"Cairo",ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;overflow:hidden;text-overflow:ellipsis}
.access-point-form__status .check-row{display:flex;align-items:center;gap:.55rem;min-height:2.55rem;margin:0}
.access-point-form__status input{width:1.05rem;height:1.05rem;accent-color:var(--color-primary)}

/* Header notification dropdown: readable commercial surface with bulk-read action. */
.notification-dropdown__panel{
  width:min(25rem,calc(100vw - 1rem));
  padding:.8rem;
  border:1px solid rgba(46,204,138,.22);
  border-radius:1rem;
  background:#172119;
  color:#f7fff8;
  box-shadow:0 24px 64px rgba(0,0,0,.48);
}
.notification-dropdown__head{
  align-items:flex-start;
  padding-bottom:.65rem;
  margin-bottom:.35rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.notification-dropdown__head strong{color:#fff;font-size:1rem;font-weight:950}
.notification-dropdown__actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.notification-dropdown__actions form{margin:0}
.notification-dropdown__head a,
.notification-dropdown__mark-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2rem;
  padding:.35rem .65rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:950;
  text-decoration:none;
}
.notification-dropdown__head a{
  border:1px solid rgba(255,255,255,.08);
  color:#d9ffe8;
  background:rgba(255,255,255,.04);
}
.notification-dropdown__mark-all{
  border:1px solid rgba(46,204,138,.32);
  color:#34d98f;
  background:rgba(46,204,138,.12);
  cursor:pointer;
}
.notification-dropdown__head a:hover,
.notification-dropdown__head a:focus-visible,
.notification-dropdown__mark-all:hover,
.notification-dropdown__mark-all:focus-visible{
  color:#07120d;
  background:#34d98f;
  outline:0;
}
.notification-dropdown__list{gap:.45rem;max-height:22rem;overflow:auto;padding-inline-end:.1rem}
.notification-dropdown__item{
  grid-template-columns:minmax(0,1fr) 2.2rem;
  gap:.55rem;
  padding:.62rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:.85rem;
  background:rgba(255,255,255,.035);
  color:#f7fff8;
}
.notification-dropdown__item:hover,
.notification-dropdown__item:focus-within{background:rgba(46,204,138,.08)}
.notification-dropdown__item>a{align-items:start;color:#f7fff8}
.notification-dropdown__item strong{
  color:#f7fff8;
  font-size:.9rem;
  line-height:1.35;
  white-space:normal;
}
.notification-dropdown__item small{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  color:#b8c9bc;
  font-size:.77rem;
  line-height:1.45;
  white-space:normal;
}
.notification-dropdown__item form{display:flex;justify-content:center}
.notification-dropdown__item button{
  width:2.05rem;
  height:2.05rem;
  border:1px solid rgba(46,204,138,.25);
  border-radius:.7rem;
  background:#f9fffb;
  color:#0f1b15;
  cursor:pointer;
}
.notification-dropdown__item button:hover,
.notification-dropdown__item button:focus-visible{
  background:#34d98f;
  color:#06100b;
  outline:2px solid rgba(52,217,143,.35);
  outline-offset:2px;
}
.notification-empty{color:#c7d7cb}
@media(max-width:720px){
  .notification-dropdown__panel{
    inset-inline:.5rem;
    width:auto;
    max-height:calc(100vh - 5.5rem);
    overflow:auto;
  }
  .notification-dropdown__head{flex-direction:column}
  .notification-dropdown__actions{width:100%;justify-content:flex-start}
}

/* Premium gym login: split landing page with a local iron-gym visual. */
.auth-shell{
  background:
    radial-gradient(circle at 82% 18%,rgba(46,204,138,.12),transparent 30%),
    linear-gradient(135deg,#eaf4f2 0%,#f7faf8 56%,#ffffff 100%);
  overflow:hidden;
}
html:has(.auth-product-shell--gym),
body.auth-shell:has(.auth-product-shell--gym){
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  overflow:hidden;
}
body.auth-shell:has(.auth-product-shell--gym){
  display:block;
  margin:0;
  padding:0;
}
html body.auth-shell:has(.auth-product-shell--gym){
  padding:0!important;
}
.auth-main{
  align-items:stretch;
  height:100vh;
  height:100dvh;
  min-height:100dvh;
  padding:0;
  overflow:hidden;
}
body.auth-shell:has(.auth-product-shell--gym) .auth-main{
  align-items:stretch;
  height:100vh;
  height:100dvh;
  min-height:100dvh;
  padding:0;
  overflow:hidden;
}
.auth-product-shell--gym{
  direction:ltr;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(26rem,32rem);
  gap:0;
  width:100%;
  max-height:100vh;
  max-height:100dvh;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.auth-product-shell--gym .auth-card--gym-login,
.auth-product-shell--gym .auth-visual--gym{
  min-width:0;
  max-width:none;
}
.auth-main[dir=rtl] .auth-card--gym-login,
.auth-main[dir=rtl] .auth-visual--gym{
  direction:rtl;
}
.auth-main[dir=ltr] .auth-card--gym-login,
.auth-main[dir=ltr] .auth-visual--gym{
  direction:ltr;
}
.auth-product-shell--gym .auth-card--gym-login{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:clamp(1.5rem,3vw,3rem);
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
  color:#07111f;
  box-shadow:-18px 0 46px rgba(7,17,31,.08);
}
.auth-product-shell--gym .auth-card__head{
  width:100%;
  max-width:28rem;
  margin-inline:auto;
  margin-bottom:1.05rem;
  text-align:center;
}
.auth-product-shell--gym .auth-card__head h1{
  margin:.48rem 0 .28rem;
  color:#06142b;
  font-size:clamp(2.05rem,3vw,2.75rem);
  line-height:1.08;
  letter-spacing:0;
}
.auth-product-shell--gym .auth-card__head p{
  max-width:26rem;
  margin:0 auto;
  color:#52627a;
  font-size:1rem;
  line-height:1.65;
}
.auth-login-badge{
  width:max-content;
  margin-inline:auto;
  padding:.45rem .85rem;
  border:1px solid rgba(46,204,138,.24);
  border-radius:999px;
  background:rgba(46,204,138,.1);
  color:#06845e;
  font-weight:950;
}
.auth-product-shell--gym .auth-form{
  display:grid;
  gap:.86rem;
  width:100%;
  max-width:28rem;
  margin-inline:auto;
}
.auth-product-shell--gym .field-block{
  display:grid;
  gap:.45rem;
}
.auth-product-shell--gym .field-block label{
  color:#1b2738;
  font-size:.92rem;
  font-weight:950;
}
.auth-product-shell--gym .input-icon-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.auth-product-shell--gym .btn-toggle-password{
  position:absolute;
  top:50%;
  inset-inline-end:.65rem;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#64748b;
  font-size:1.2rem;
  padding:.25rem;
  cursor:pointer;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.45rem;
  transition:color .15s ease, background-color .15s ease;
}
.auth-product-shell--gym .btn-toggle-password:hover,
.auth-product-shell--gym .btn-toggle-password:focus-visible{
  color:#07846b;
  background:rgba(7,132,107,.08);
}
.auth-product-shell--gym .form-control{
  min-height:3.25rem;
  padding-inline-end:2.8rem;
  border:1px solid #cbd8e8;
  border-radius:.95rem;
  background:#f9fbfd;
  color:#07111f;
  font-weight:800;
  box-shadow:none;
}
.auth-product-shell--gym .auth-form-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.auth-product-shell--gym .auth-form-options .check-row,
.auth-product-shell--gym .auth-form-options .auth-remember-label{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  cursor:pointer !important;
  user-select:none !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  min-height:auto !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#334155 !important;
  font-size:.9rem !important;
  font-weight:700 !important;
}
html[data-theme=dark] .auth-product-shell--gym .auth-form-options .check-row,
html[data-theme=dark] .auth-product-shell--gym .auth-form-options .auth-remember-label{
  color:#334155 !important;
}
.auth-product-shell--gym .auth-form-options .form-check-input{
  width:1.15rem !important;
  height:1.15rem !important;
  margin:0 !important;
  border-radius:.35rem !important;
  border:1.5px solid #cbd8e8 !important;
  background-color:#ffffff !important;
  cursor:pointer !important;
  accent-color:#07846b !important;
  outline:none !important;
  box-shadow:none !important;
  filter:none !important;
}
.auth-product-shell--gym .auth-form-options .form-check-input:checked{
  background-color:#07846b !important;
  border-color:#07846b !important;
}
.auth-product-shell--gym .auth-form-options .form-check-input:focus{
  border-color:#17b88b !important;
  box-shadow:0 0 0 .2rem rgba(23,184,139,.25) !important;
}
.auth-product-shell--gym .input-icon{
  color:#55708e;
}
.auth-product-shell--gym .btn-auth-submit{
  min-height:3.35rem;
  margin-top:.35rem;
  border:0;
  border-radius:.95rem;
  background:linear-gradient(135deg,#14a88d,#0d756d);
  color:#fff;
  font-size:1.05rem;
  font-weight:950;
  box-shadow:0 16px 34px rgba(13,117,109,.24);
}
.auth-product-shell--gym .btn-auth-submit:hover,
.auth-product-shell--gym .btn-auth-submit:focus-visible{
  background:linear-gradient(135deg,#13b99b,#0b625d);
  color:#fff;
}
.auth-product-shell--gym .auth-form-footer{
  justify-content:center;
  margin-top:.25rem;
}
.auth-product-shell--gym .auth-link{
  color:#07846b;
  font-weight:950;
}
.auth-product-shell--gym .auth-footnote{
  width:100%;
  max-width:28rem;
  margin-inline:auto;
  margin-top:1.1rem;
  color:#7b8ba1;
  text-align:center;
}
.auth-product-shell--gym .auth-visual--gym{
  position:relative;
  grid-column:1;
  grid-row:1;
  display:grid;
  grid-template-rows:minmax(8.4rem,18vh) minmax(0,1fr) auto;
  align-items:center;
  min-height:100%;
  padding:clamp(1.35rem,3.5vh,2.6rem) clamp(1.5rem,3.2vw,3.25rem);
  border-radius:0;
  background:#07111f;
  color:#fff;
  isolation:isolate;
  overflow:hidden;
}
.auth-product-shell--gym .auth-visual__image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  filter:saturate(.92) contrast(1.02) brightness(1.08);
}
.auth-product-shell--gym .auth-visual--gym::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(12,21,36,.62),rgba(12,21,36,.38)),
    linear-gradient(180deg,rgba(8,16,29,.04),rgba(5,11,22,.42));
  pointer-events:none;
}
.auth-product-shell--gym .auth-visual--gym::after{
  content:"";
  position:absolute;
  inset:-40% auto auto -28%;
  width:38%;
  min-width:18rem;
  height:180%;
  border:0;
  border-radius:0;
  background:linear-gradient(105deg,transparent 22%,rgba(255,216,74,.18) 46%,rgba(255,255,255,.2) 50%,rgba(255,216,74,.12) 54%,transparent 78%);
  filter:blur(10px);
  opacity:.75;
  transform:translateX(-55%) rotate(7deg);
  animation:gymHeroLightSweep 7.5s ease-in-out infinite;
  z-index:1;
  pointer-events:none;
}
.auth-product-shell--gym .auth-brand--hero{
  position:relative;
  grid-row:1;
  align-self:start;
  justify-self:center;
  z-index:3;
  display:flex;
  justify-content:center;
  width:min(27rem,calc(100% - 3rem));
  margin:0 auto;
  text-align:center;
  transform:none;
  left:auto;
  right:auto;
}
.auth-product-shell--gym .auth-brand--login{
  position:static;
  z-index:auto;
  display:flex;
  justify-content:center;
  align-self:center;
  width:100%;
  max-width:28rem;
  margin:0 auto clamp(1.35rem,3vh,1.9rem);
  text-align:center;
  transform:none;
}
.auth-product-shell--gym .auth-brand--hero .brand-lockup,
.auth-product-shell--gym .auth-brand--login .brand-lockup{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.58rem;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  text-align:center;
}
.auth-product-shell--gym .auth-brand--hero .brand-logo{
  flex-basis:4.2rem;
  width:4.2rem;
  height:4.2rem;
  border-radius:1.1rem;
  box-shadow:0 20px 48px rgba(0,0,0,.34);
}
.auth-product-shell--gym .auth-brand--login .brand-logo{
  flex-basis:4.15rem;
  width:4.15rem;
  height:4.15rem;
  border-radius:1.1rem;
  border:1px solid rgba(7,17,31,.08);
  box-shadow:0 16px 38px rgba(6,20,43,.16);
}
.auth-product-shell--gym .auth-brand--hero .brand-copy,
.auth-product-shell--gym .auth-brand--login .brand-copy{
  gap:.2rem;
  align-items:center;
  text-align:center;
}
.auth-product-shell--gym .auth-brand--hero .brand-copy strong,
.auth-product-shell--gym .auth-brand--login .brand-copy strong{
  max-width:24rem;
  font-size:clamp(1.12rem,1.38vw,1.35rem);
  line-height:1.1;
}
.auth-product-shell--gym .auth-brand--hero .brand-copy strong{
  color:#ffd84a;
  text-shadow:0 8px 28px rgba(255,216,74,.18);
}
.auth-product-shell--gym .auth-brand--login .brand-copy strong{
  color:#0a1730;
  text-shadow:none;
}
.auth-product-shell--gym .auth-brand--hero .brand-copy small,
.auth-product-shell--gym .auth-brand--login .brand-copy small{
  font-size:clamp(.86rem,1vw,.98rem);
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}
.auth-product-shell--gym .auth-brand--hero .brand-copy small{
  color:#ffe68a;
  text-shadow:0 6px 22px rgba(255,216,74,.16);
}
.auth-product-shell--gym .auth-brand--login .brand-copy small{
  color:#64748b;
  text-shadow:none;
}
.auth-product-shell--gym .auth-visual__copy{
  position:relative;
  grid-row:2;
  z-index:2;
  align-self:center;
  justify-self:center;
  transform:translateY(clamp(.25rem,1.6vh,1rem));
  display:grid;
  justify-items:center;
  width:min(78%,46rem);
  margin:clamp(.6rem,1.2vh,1.1rem) auto;
  text-align:center;
}
.auth-product-shell--gym .auth-visual__kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  width:max-content;
  margin-bottom:.9rem;
  padding:.38rem .95rem;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:.88rem;
  font-weight:950;
}
.kicker-muscle-img{
  display:inline-block;
  width:1.85rem;
  height:1.85rem;
  object-fit:contain;
  vertical-align:middle;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));
}
.kicker-muscle-img--end{
  transform:scaleX(-1);
}
.auth-product-shell--gym .auth-visual__copy h2{
  max-width:40rem;
  margin:0 0 .7rem;
  color:#fff;
  font-size:clamp(3rem,4.15vw,3.5rem);
  line-height:1.15;
  letter-spacing:0;
  text-align:center;
  text-shadow:0 10px 34px rgba(0,0,0,.58);
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:transform;
  animation:heroTitleGentleVibe 3.2s ease-in-out infinite;
}
.auth-product-shell--gym .auth-visual__copy h2.is-shimmering,
.auth-product-shell--gym .auth-visual__copy h2.is-periodic-refresh{
  animation:heroTitleGentleVibe 3.2s ease-in-out infinite;
}
.auth-product-shell--gym .auth-visual__copy p{
  max-width:39rem;
  margin:0 auto;
  color:rgba(255,255,255,.86);
  font-size:clamp(1rem,1.45vw,1.18rem);
  line-height:1.85;
  font-weight:800;
  text-align:center;
  opacity:0;
  transform:translateY(10px);
  will-change:transform,opacity;
  animation:heroBodyEntrance 800ms cubic-bezier(.16,1,.3,1) 250ms forwards;
}
@keyframes heroTitleGentleVibe{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  15%{transform:translate3d(-0.6px,0.4px,0) rotate(-0.1deg)}
  30%{transform:translate3d(0.7px,-0.3px,0) rotate(0.1deg)}
  45%{transform:translate3d(-0.4px,-0.4px,0) rotate(-0.08deg)}
  60%{transform:translate3d(0.5px,0.3px,0) rotate(0.08deg)}
  75%{transform:translate3d(-0.3px,0.5px,0) rotate(-0.05deg)}
  90%{transform:translate3d(0.3px,-0.2px,0) rotate(0.05deg)}
}
@keyframes heroBodyEntrance{
  0%{opacity:0;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .auth-product-shell--gym .auth-visual__copy h2,
  .auth-product-shell--gym .auth-visual__copy p,
  .auth-product-shell--gym .auth-visual__copy h2.is-shimmering,
  .auth-product-shell--gym .auth-visual__copy h2.is-periodic-refresh{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    background-position:0 0!important;
    -webkit-text-fill-color:#ffffff!important;
    color:#ffffff!important;
  }
}
.auth-product-shell--gym .auth-visual__footer{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.auth-product-shell--gym .auth-feature-stack{
  position:relative;
  z-index:2;
  justify-self:center;
  align-self:end;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  width:min(90%,44rem);
  margin:0 auto clamp(.15rem,1vh,.65rem);
}
.auth-product-shell--gym .auth-feature-stack span{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:5.55rem;
  padding:.8rem .9rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:1rem;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-weight:950;
  text-align:center;
  backdrop-filter:blur(10px);
}
.auth-product-shell--gym .auth-feature-stack i{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:.7rem;
  color:#fff;
  font-size:1.6rem;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .auth-product-shell--gym .auth-brand--hero .brand-copy strong,
  .auth-product-shell--gym .auth-brand--hero .brand-copy small{
    background:linear-gradient(90deg,#ffd84a 0%,#ffe68a 34%,#fff6bd 48%,#ffe68a 60%,#ffd84a 100%);
    background-size:240% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    animation:gymTextGlow 5.8s ease-in-out infinite;
  }
}
@keyframes gymTextGlow{
  0%,35%{background-position:120% 50%}
  70%,100%{background-position:-120% 50%}
}
@keyframes gymHeroLightSweep{
  0%,28%{transform:translateX(-60%) rotate(7deg);opacity:0}
  42%{opacity:.7}
  68%,100%{transform:translateX(360%) rotate(7deg);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .auth-product-shell--gym .auth-visual--gym::after,
  .auth-product-shell--gym .auth-brand--hero .brand-copy strong,
  .auth-product-shell--gym .auth-brand--hero .brand-copy small,
  .auth-product-shell--gym .auth-brand--login .brand-copy strong,
  .auth-product-shell--gym .auth-brand--login .brand-copy small,
  .auth-product-shell--gym .auth-visual__copy h2{
    animation:none;
  }
}
html[data-theme=dark] .auth-product-shell--gym .auth-card--gym-login,
html[data-theme=dark] .auth-product-shell--gym .form-control{
  background:#fff;
  color:#07111f;
}
@media(max-width:920px){
  html:has(.auth-product-shell--gym),
  body.auth-shell:has(.auth-product-shell--gym){
    height:auto;
    max-height:none;
    overflow:auto;
  }
  .auth-main{
    height:auto;
    min-height:100dvh;
    overflow:visible;
  }
  .auth-product-shell--gym{
    grid-template-columns:1fr;
    height:auto;
    max-height:none;
    min-height:auto;
    overflow:visible;
  }
  .auth-product-shell--gym .auth-card--gym-login{
    grid-column:1;
    grid-row:2;
    padding:clamp(1.4rem,7vw,2.2rem);
  }
  .auth-product-shell--gym .auth-visual--gym{
    grid-column:1;
    grid-row:1;
    display:grid;
    min-height:22rem;
    padding:1.6rem;
  }
  .auth-product-shell--gym .auth-brand--login{
    margin-bottom:.9rem;
  }
  .auth-product-shell--gym .auth-brand--hero{
    margin-top:0;
  }
  .auth-product-shell--gym .auth-brand--hero .brand-logo{
    width:3.55rem;
    height:3.55rem;
    flex-basis:3.55rem;
  }
  .auth-product-shell--gym .auth-visual__copy{
    width:min(88%,38rem);
    margin:1.2rem auto;
  }
  .auth-product-shell--gym .auth-visual__copy h2{
    font-size:clamp(2rem,9vw,3rem);
  }
  .auth-product-shell--gym .auth-feature-stack{
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:min(92%,34rem);
    gap:.6rem;
    margin-bottom:0;
  }
  .auth-product-shell--gym .auth-feature-stack span{
    min-height:4.2rem;
    padding:.55rem;
    font-size:.84rem;
  }
}
@media(max-width:640px){
  .auth-main{
    align-items:start;
    padding:.85rem;
  }
  .auth-product-shell--gym{
    border-radius:1.15rem;
  }
  .auth-product-shell--gym .auth-visual--gym{
    min-height:15rem;
  }
  .auth-product-shell--gym .auth-brand--login .brand-logo{
    width:3.6rem;
    height:3.6rem;
    flex-basis:3.6rem;
  }
  .auth-product-shell--gym .auth-visual__kicker,
  .auth-product-shell--gym .auth-visual__copy p{
    display:none;
  }
  .auth-product-shell--gym .auth-visual__copy h2{
    font-size:clamp(1.75rem,9vw,2.45rem);
  }
  .auth-product-shell--gym .auth-feature-stack{
    display:none;
  }
  .auth-product-shell--gym .auth-card__head h1{
    font-size:2.35rem;
  }
}

/* Smart Gate Barrier Physical Visual Cards */
.smart-gate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-5, 1.5rem);
  margin-block: var(--space-4, 1rem);
}

.smart-gate-card {
  position: relative;
  background: var(--surface-1, #121824);
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius-lg, 1.25rem);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

.smart-gate-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-primary-alpha-40, rgba(245, 158, 11, 0.4));
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.7);
}

.smart-gate-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.gate-title-block {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.gate-type-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: var(--color-primary, #f59e0b);
}

.gate-title-block h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text, #f8fafc);
}

.gate-code-pill {
  font-size: 0.75rem;
  font-family: var(--font-mono, monospace);
  color: var(--muted, #94a3b8);
  background: rgba(255, 255, 255, 0.04);
  padding: 0.15rem 0.45rem;
  border-radius: 0.4rem;
}

.led-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin-inline-end: 0.35rem;
}
.led-idle { background: #3b82f6; box-shadow: 0 0 6px #3b82f6; }
.led-success { background: #10b981; box-shadow: 0 0 10px #10b981; animation: pulseGlowGreen 1.5s infinite; }
.led-danger { background: #ef4444; box-shadow: 0 0 10px #ef4444; animation: flashRed 1s infinite; }
.led-success-idle { background: #10b981; box-shadow: 0 0 6px #10b981; }
.led-warn-idle { background: #f59e0b; box-shadow: 0 0 6px #f59e0b; }

@keyframes pulseGlowGreen {
  0%, 100% { transform: scale(1); box-shadow: 0 0 8px #10b981; }
  50% { transform: scale(1.3); box-shadow: 0 0 16px #10b981, 0 0 24px #10b981; }
}

@keyframes flashRed {
  0%, 100% { opacity: 1; box-shadow: 0 0 8px #ef4444; }
  50% { opacity: 0.4; box-shadow: 0 0 16px #ef4444; }
}

/* Physical Gate Illustration Component */
.physical-gate-illustration {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.8) 0%, rgba(30, 41, 59, 0.5) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  padding: 1rem;
  position: relative;
  overflow: hidden;
}

.beacon-bar {
  display: flex;
  justify-content: center;
  margin-bottom: 0.75rem;
}

.beacon-light {
  width: 2.5rem;
  height: 0.4rem;
  border-radius: 1rem;
  transition: all 0.3s ease;
}

.barrier-assembly {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 110px;
  position: relative;
}

/* Pillar Cabinets */
.pillar-box {
  width: 3.5rem;
  height: 100%;
  background: linear-gradient(135deg, #334155 0%, #1e293b 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.25rem;
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.1), 0 4px 10px rgba(0, 0, 0, 0.4);
  position: relative;
  z-index: 3;
}

.pillar-scanner {
  font-size: 1.1rem;
  color: var(--color-primary, #f59e0b);
  opacity: 0.85;
}

.pillar-status-strip {
  width: 4px;
  height: 2.5rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

/* Walkway Passage & Flap Wings */
.gate-walkway {
  flex: 1;
  height: 100%;
  margin-inline: 0.5rem;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 0.5rem;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.walkway-floor {
  position: absolute;
  bottom: 0.4rem;
  font-size: 0.75rem;
  color: var(--muted, #94a3b8);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  opacity: 0.7;
}

.flap-wing {
  position: absolute;
  top: 25%;
  width: 42%;
  height: 50%;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.35) 0%, rgba(14, 165, 233, 0.15) 100%);
  border: 2px solid rgba(56, 189, 248, 0.6);
  backdrop-filter: blur(4px);
  z-index: 2;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease, border-color 0.3s ease;
}

.flap-wing--left {
  left: 0;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  transform-origin: left center;
}

.flap-wing--right {
  right: 0;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  transform-origin: right center;
}

.center-lock-shield {
  position: relative;
  z-index: 4;
  font-size: 1.75rem;
  transition: all 0.3s ease;
}

.icon-granted { color: #10b981; filter: drop-shadow(0 0 8px #10b981); animation: popScale 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.icon-denied { color: #ef4444; filter: drop-shadow(0 0 8px #ef4444); animation: shakeHard 0.4s ease; }
.icon-standby { color: #64748b; }

@keyframes popScale {
  0% { transform: scale(0.5); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes shakeHard {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-5px); }
  40%, 80% { transform: translateX(5px); }
}

/* State Modifiers for Physical Illustration */
.smart-gate-card.state-opened .physical-gate-illustration {
  border-color: rgba(16, 185, 129, 0.4);
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.15);
}

.smart-gate-card.state-opened .flap-wing--left {
  transform: rotate(-70deg) scaleX(0.7);
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.7);
}

.smart-gate-card.state-opened .flap-wing--right {
  transform: rotate(70deg) scaleX(0.7);
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.7);
}

.smart-gate-card.state-opened .pillar-status-strip {
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

.smart-gate-card.state-failed .physical-gate-illustration {
  border-color: rgba(239, 68, 68, 0.4);
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.15);
}

.smart-gate-card.state-failed .flap-wing {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.8);
}

.smart-gate-card.state-failed .pillar-status-strip {
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
}

/* Specs & Action Form */
.gate-specs-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin: 0;
  padding: 0.6rem 0.8rem;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.gate-specs-list dt {
  font-size: 0.72rem;
  color: var(--muted, #94a3b8);
}

.gate-specs-list dd {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text, #f8fafc);
}

.gate-action-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.gate-trigger-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 700;
}

/* ── Fingerprint Enrollment Dialog (ZKTeco Bio Style) ── */
.fp-enroll-dialog{width:min(34rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg,1.25rem);background:var(--surface,#ffffff);color:var(--text,#142426);box-shadow:var(--card-shadow,0 28px 80px rgba(0,0,0,.4))}
.fp-enroll-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.fp-enroll-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface-2)}
.fp-enroll-dialog__head-info{display:flex;align-items:center;gap:.65rem}
.fp-enroll-dialog__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md,.75rem);background:var(--color-primary,#25c974);color:#ffffff;font-size:1.25rem;font-weight:bold}
.fp-enroll-dialog__head h3{margin:0;font-size:1.05rem;font-weight:700;line-height:1.2;color:var(--text)}
.fp-enroll-dialog__head small{display:block;color:var(--muted);font-size:.78rem;font-weight:500}
.fp-enroll-dialog__close{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--radius-sm,.5rem);background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer;transition:all .15s}
.fp-enroll-dialog__close:hover{background:rgba(0,0,0,.06);color:var(--text)}
.fp-enroll-dialog__body{display:grid;gap:1.1rem;padding:1.25rem 1.25rem;justify-items:center}
.fp-enroll-dialog__meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}
.fp-meta-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.78rem;color:var(--muted)}
.fp-meta-pill strong{color:var(--text);font-weight:600}

/* Main Layout: Scanner Preview & SVG Hands */
.fp-enroll-main-view{display:flex;align-items:center;justify-content:center;gap:1.5rem;width:100%;padding:.5rem 0}
.fp-scanner-preview-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem}
.fp-status-icon{display:grid;place-items:center;width:6.5rem;height:6.5rem;border-radius:50%;font-size:2.8rem;transition:all .35s cubic-bezier(.4,0,.2,1)}
.fp-status-icon--idle{background:var(--surface-2);border:2px solid var(--line);color:var(--muted)}
.fp-status-icon--connecting{background:rgba(59,130,246,.1);border:2px solid rgba(59,130,246,.4);color:#3b82f6;animation:fpPulse 1.5s infinite}
.fp-status-icon--scanning{background:rgba(245,158,11,.12);border:2px solid rgba(245,158,11,.5);color:#f59e0b;animation:fpPulse 1s infinite}
.fp-status-icon--success{background:rgba(37,201,116,.15);border:2px solid #25c974;color:#25c974;box-shadow:0 0 20px rgba(37,201,116,.3)}
.fp-status-icon--error{background:rgba(239,68,68,.12);border:2px solid rgba(239,68,68,.4);color:#ef4444}
@keyframes fpPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}}

.fp-step-indicators{display:flex;gap:.4rem}
.fp-step-dot{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:700;transition:all .3s}
.fp-step-dot.is-active{border-color:#25c974;background:rgba(37,201,116,.2);color:#25c974}
.fp-step-dot.is-done{border-color:#25c974;background:#25c974;color:#ffffff}

/* SVG Hands Diagram - Light & Dark Theme Support */
.fp-hands-wrapper{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.fp-hands-title{font-size:.78rem;font-weight:600;color:var(--muted)}
.fp-hands-svg{width:16.5rem;height:auto;overflow:visible}
.fp-palm{fill:none;stroke:var(--line,#94a3b8);stroke-width:1.5;stroke-dasharray:3 3}
.fp-finger{cursor:pointer;transition:all .2s ease}
.fp-finger rect{fill:var(--surface-2,#f1f5f9);stroke:var(--line,#64748b);stroke-width:1.5;transition:all .2s ease}
.fp-finger text{fill:var(--text,#334155);font-size:10px;font-family:sans-serif;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.fp-finger:hover rect{fill:rgba(37,201,116,.2);stroke:#25c974}
.fp-finger:hover text{fill:#25c974}
.fp-finger.is-selected rect{fill:#25c974;stroke:#25c974;filter:drop-shadow(0 0 6px rgba(37,201,116,.5))}
.fp-finger.is-selected text{fill:#ffffff;font-weight:900}
.fp-hand-label{fill:var(--muted,#64748b);font-size:11px;font-family:sans-serif;font-weight:bold;text-anchor:middle}
.fp-selected-finger-badge{padding:.25rem .75rem;border:1px solid rgba(37,201,116,.4);border-radius:999px;background:rgba(37,201,116,.12);color:var(--color-primary,#16805c);font-size:.82rem;font-weight:700;text-align:center}

.fp-status-text{font-size:.9rem;font-weight:600;text-align:center;color:var(--text);min-height:1.4rem;margin:0}
.fp-progress{width:100%;max-width:16rem;height:.45rem;border-radius:999px;background:var(--surface-2);overflow:hidden}
.fp-progress__fill{height:100%;border-radius:999px;background:var(--color-primary,#25c974);transition:width .35s ease}

.fp-enroll-dialog__footer{display:flex;gap:.6rem;justify-content:flex-end;padding:.85rem 1.25rem;border-top:1px solid var(--line);background:var(--surface-2)}
.fp-enroll-dialog__footer .btn{min-height:2.5rem;font-weight:600}
.fp-enroll-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px dashed var(--line);border-radius:var(--radius-sm,.5rem);background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}
.fp-enroll-trigger:hover{border-color:var(--color-primary,#25c974);color:var(--color-primary,#25c974);background:rgba(37,201,116,.06)}
.fp-enroll-trigger.fp-enrolled{border-style:solid;border-color:var(--color-success,#10b981);color:var(--color-success,#10b981);background:rgba(16,185,129,.08)}
@media(max-width:520px){.fp-enroll-main-view{flex-direction:column;gap:1rem}.fp-hands-svg{width:14rem}}

/* Designer Credit Button Styles */
.auth-footnote-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
  gap: 0.75rem;
  text-align: center;
}

.designer-credit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.42rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.84rem;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.designer-credit-btn:hover,
.designer-credit-btn:focus-visible {
  background: #14a88d;
  color: #ffffff;
  border-color: #ffd84a;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(20, 168, 141, 0.35);
}

.designer-credit-btn--subtle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0.5rem auto 0 auto;
  border: 1px dashed var(--line, #cbd8e8);
  background: rgba(255, 255, 255, 0.7);
  color: var(--muted, #64748b);
  font-size: 0.82rem;
  padding: 0.45rem 1.15rem;
  box-shadow: none;
}

.designer-credit-btn--subtle:hover,
.designer-credit-btn--subtle:focus-visible {
  background: rgba(46, 204, 138, 0.12);
  color: #06845e;
  border-color: #06845e;
  border-style: solid;
  transform: translateY(-1px);
}

