:root{--bg-app:#11140f;--bg-elevated:#1b2017;--bg-panel:#292f23;--bg-panel-hover:#343b2c;--bg-paper:#f2f0e8;--text-primary-dark:#f4f3ed;--text-secondary-dark:#bfc3b4;--text-primary-light:#1a1d18;--text-secondary-light:#60645b;--olive:#687448;--olive-light:#a8b478;--olive-muted:#4a5138;--danger:#d65746;--success:#79a85d;--warning:#c69b48;--border-dark:#ffffff1f;--border-light:#14191226;--focus:#d8e5a2;--shadow:0 24px 70px #00000052;--radius-sm:.35rem;--radius-md:.7rem;--font-condensed:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg-app);min-width:320px}body{background:var(--bg-app);min-height:100vh;color:var(--text-primary-dark);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.5}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.login-page{background:linear-gradient(120deg, #9daa6c0d, transparent 45%), var(--bg-app);min-height:100svh;display:grid}.login-hero{background:linear-gradient(160deg, #11140f1a, #11140fe0), repeating-linear-gradient(135deg, #9daa6c0f 0, #9daa6c0f 1px, transparent 1px, transparent 54px), var(--bg-elevated);border-bottom:1px solid var(--border-dark);flex-direction:column;justify-content:space-between;min-height:20rem;padding:clamp(1.5rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.brand-lockup{z-index:1;align-items:center;gap:.9rem;display:flex;position:relative}.brand-mark{width:3.25rem;height:3.25rem;color:var(--danger);filter:drop-shadow(0 .4rem 1rem #0000004d)}.eyebrow,.section-label{color:var(--olive-light);font-family:var(--font-condensed);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.brand-lockup h1{font-family:var(--font-condensed);letter-spacing:.03em;text-transform:uppercase;margin:-.12rem 0 0;font-size:clamp(2rem,7vw,3rem);line-height:1}.hero-copy{z-index:1;max-width:34rem;position:relative}.hero-copy>p:last-child{max-width:29rem;color:var(--text-secondary-dark);margin:.75rem 0 0;font-size:clamp(1.05rem,3vw,1.35rem)}.hero-grid{border:1px solid #9daa6c1f;border-radius:50%;width:21rem;height:21rem;position:absolute;bottom:-7rem;right:-5rem}.hero-grid:before,.hero-grid:after,.hero-grid span{content:"";border:1px solid #9daa6c1a;border-radius:50%;position:absolute;inset:18%}.hero-grid:after{inset:36%}.login-panel{background:var(--bg-paper);color:var(--text-primary-light);flex-direction:column;justify-content:center;padding:clamp(1.25rem,5vw,4rem);display:flex}.login-card{width:min(100%,28rem);margin:auto}.login-card .section-label{color:var(--olive-muted)}.login-card h2{font-family:var(--font-condensed);text-transform:uppercase;margin:.35rem 0 0;font-size:clamp(2rem,8vw,2.75rem);line-height:1.1}.login-intro{color:var(--text-secondary-light);margin:.8rem 0 1.8rem}.login-form{gap:1rem;display:grid}.field-group{gap:.35rem;display:grid}.field-group label{font-size:.875rem;font-weight:700}.field-group input{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--text-primary-light);background:#fff;padding:.72rem .8rem;box-shadow:inset 0 1px 2px #0000000d}.field-group select{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--text-primary-light);background:#fff;padding:.72rem .8rem}.field-group input:hover{border-color:var(--olive-muted)}.primary-button,.text-button{border-radius:var(--radius-sm);cursor:pointer;min-height:3rem}.primary-button{color:#fff;background:linear-gradient(#667047,#4a5138);border:1px solid #353b29;margin-top:.35rem;font-weight:750;box-shadow:0 .4rem 1rem #24291c33}.primary-button:hover:not(:disabled){background:linear-gradient(#737f50,#535b3f)}.primary-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.62}.text-button{color:var(--olive-muted);text-underline-offset:.2em;background:0 0;border:0;text-decoration:underline}.form-message,.setup-note{border-radius:var(--radius-sm);margin:0;font-size:.875rem}.form-message--error{border-left:4px solid var(--danger);color:#772b20;background:#f9e7e3;padding:.75rem}.form-message--success{border-left:4px solid var(--success);color:#2d5521;background:#e9f2e4;padding:.75rem}.setup-note{border:1px dashed var(--border-light);color:var(--text-secondary-light);padding:.75rem}.login-footer{width:min(100%,28rem);color:var(--text-secondary-light);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:2rem auto 0;font-size:.75rem;display:flex}@media (min-width:800px){.login-page{grid-template-columns:minmax(24rem,1.05fr) minmax(28rem,.95fr)}.login-hero{border-right:1px solid var(--border-dark);border-bottom:0;min-height:100svh}.login-panel{min-height:100svh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.loading-screen{min-height:100svh;color:var(--text-secondary-dark);place-content:center;justify-items:center;display:grid}.loading-dot{background:var(--olive-light);border-radius:50%;width:.8rem;height:.8rem;box-shadow:0 0 0 .45rem #a8b4781f}.app-layout{background:linear-gradient(135deg, #6874480f, transparent 32rem), var(--bg-app);min-height:100svh}.app-header{z-index:10;border-bottom:1px solid var(--border-dark);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#11140ff0;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.app-brand{color:var(--text-primary-dark);font-family:var(--font-condensed);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.app-brand .brand-mark,.setup-brand .brand-mark{width:2.25rem;height:2.25rem}.app-nav{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.app-nav a,.app-nav button{color:var(--text-secondary-dark);cursor:pointer;background:0 0;border:0;padding:.55rem .65rem;font-size:.82rem;text-decoration:none}.app-nav a:hover,.app-nav button:hover{color:var(--text-primary-dark)}.app-main{width:min(100%,76rem);margin:0 auto;padding:clamp(1.4rem,5vw,3.5rem) clamp(1rem,4vw,2rem) 5rem}.page-heading{margin-bottom:clamp(1.3rem,4vw,2.2rem)}.page-heading h1,.setup-card h1{font-family:var(--font-condensed);text-transform:uppercase;margin:.25rem 0 0;font-size:clamp(2rem,7vw,3.4rem);line-height:1.05}.dashboard-grid,.admin-grid{gap:1rem;display:grid}.content-panel{border:1px solid var(--border-dark);border-radius:var(--radius-md);background:var(--bg-elevated);padding:clamp(1rem,4vw,1.5rem);box-shadow:0 1rem 2.5rem #0000001f}.dashboard-card h2,.panel-heading h2{font-family:var(--font-condensed);text-transform:uppercase;margin:.25rem 0 0;font-size:1.55rem}.dashboard-card p:not(.section-label){color:var(--text-secondary-dark)}.dashboard-card--primary{background:linear-gradient(145deg, #a8b47821, transparent 65%), var(--bg-panel)}.balance-value{font-family:var(--font-condensed);margin:.45rem 0;font-size:clamp(2.3rem,9vw,4rem);line-height:1;display:block}.balance-link{color:inherit;-webkit-text-decoration-color:var(--olive-light);text-decoration-color:var(--olive-light);text-underline-offset:.12em;text-decoration-thickness:.08em}.activity-view,.activity-groups{gap:1rem;display:grid}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chips button{border:1px solid var(--border-dark);background:var(--bg-elevated);min-height:2.6rem;color:var(--text-secondary-dark);cursor:pointer;border-radius:999px;padding:.45rem .85rem}.filter-chips button.is-active{border-color:var(--olive-light);background:var(--olive-muted);color:var(--text-primary-dark)}.activity-group h2{color:var(--text-secondary-dark);text-transform:capitalize;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.activity-list{padding-block:0}.activity-row{border-bottom:1px solid var(--border-dark);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.95rem 0;display:grid}.activity-row:last-child{border-bottom:0}.activity-icon{color:#ef9487;background:#d6574624;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-weight:800;display:grid}.activity-icon--settlement{color:#b8dda2;background:#79a85d24}.activity-icon--correction{color:#e2bd73;background:#c69b4824}.activity-copy{min-width:0;display:grid}.activity-copy span{color:var(--text-secondary-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.activity-amount{color:#ef9487;font-variant-numeric:tabular-nums;white-space:nowrap}.activity-amount--positive{color:#b8dda2}.load-more-button{justify-self:center;padding-inline:1rem}.panel-link{color:var(--olive-light);text-underline-offset:.25em;margin-top:.4rem;font-weight:700;display:inline-flex}.panel-links{flex-wrap:wrap;gap:.3rem 1rem;display:flex}.product-catalog{gap:2rem;margin-top:2rem;display:grid}.quantity-panel{z-index:5;border:1px solid var(--border-dark);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#1b2017f5;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:5.2rem;box-shadow:0 .7rem 2rem #0000003d}.quantity-panel strong{font-family:var(--font-condensed);margin-top:.1rem;font-size:1.7rem;line-height:1;display:block}.quantity-controls{gap:.45rem;display:flex}.quantity-controls button{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);width:3rem;height:3rem;color:var(--text-primary-dark);cursor:pointer;place-items:center;font-size:1.4rem;display:grid}.quantity-controls button:disabled{cursor:not-allowed;opacity:.4}.connection-notice,.purchase-notice{border-radius:var(--radius-sm);margin:-1rem 0 0;padding:.75rem 1rem}.connection-notice,.purchase-notice--error{border-left:4px solid var(--danger);color:#f0aaa0;background:#d6574624}.purchase-notice{justify-content:space-between;align-items:center;gap:1rem;display:flex}.purchase-notice--success{border-left:4px solid var(--success);color:#b8dda2;background:#79a85d24}.purchase-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.4rem}.catalog-section{gap:.9rem;display:grid}.catalog-section-heading h2,.empty-state h2{font-family:var(--font-condensed);text-transform:uppercase;margin:.2rem 0 0;font-size:1.8rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.8rem;display:grid}.product-card{border:1px solid var(--border-dark);border-radius:var(--radius-md);background:linear-gradient(145deg, #a8b47814, transparent 60%), var(--bg-elevated);gap:1rem;min-height:14rem;padding:1rem;display:grid}.product-card-heading{color:var(--olive-light);justify-content:space-between;align-items:center;gap:1rem;display:flex}.product-monogram{border:1px solid var(--border-dark);background:var(--bg-panel);width:2.8rem;height:2.8rem;color:var(--text-primary-dark);font-family:var(--font-condensed);border-radius:50%;place-items:center;font-size:1.25rem;font-weight:800;display:inline-grid}.product-card-copy{align-self:start}.product-card h3{font-family:var(--font-condensed);text-transform:uppercase;margin:0;font-size:1.35rem}.product-card p{color:var(--text-secondary-dark);margin:.35rem 0 0;font-size:.88rem}.book-button{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--olive-muted);min-height:2.75rem;color:var(--text-primary-dark);align-self:end;font-weight:750}.book-button:disabled{cursor:not-allowed;opacity:.55}.setup-page{background:linear-gradient(135deg, #68744821, transparent 50%), var(--bg-app);place-items:center;min-height:100svh;padding:clamp(1rem,5vw,3rem);display:grid}.setup-card{border-radius:var(--radius-md);background:var(--bg-paper);width:min(100%,34rem);color:var(--text-primary-light);box-shadow:var(--shadow);padding:clamp(1.25rem,5vw,2.5rem)}.setup-brand{color:var(--text-primary-light);font-family:var(--font-condensed);text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:2rem;font-size:1.2rem;font-weight:800;display:flex}.setup-card .section-label{color:var(--olive-muted)}.muted-copy,.form-context{color:var(--text-secondary-light)}.panel-form{gap:1rem;margin-top:1.5rem;display:grid}.panel-form small{color:var(--text-secondary-light)}.invitation-recipient{border-left:4px solid var(--olive);background:#68744817;padding:.85rem;display:grid}.invitation-recipient span{color:var(--text-secondary-light)}.empty-state{gap:1rem;display:grid}.error-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.error-actions .primary-button,.error-actions .secondary-button{min-height:3rem;margin-top:0;padding:.6rem 1rem}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.count-chip,.status-chip{background:var(--bg-panel);width:fit-content;color:var(--text-secondary-dark);border-radius:999px;padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.status-chip--warning{color:#e2bd73;background:#c69b4826}.compact-form{margin-top:0}.compact-form .field-group input,.compact-form .field-group select{border-color:var(--border-dark);background:var(--bg-panel);color:var(--text-primary-dark)}.invitation-result{gap:.4rem;margin-top:1rem;display:grid}.invitation-result>div{gap:.4rem;display:flex}.invitation-result input{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-app);min-width:0;color:var(--text-secondary-dark);flex:1;padding:.65rem}.invitation-result button,.secondary-button{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-primary-dark);cursor:pointer}.user-list{display:grid}.user-row{border-top:1px solid var(--border-dark);gap:.8rem;padding:1rem 0;display:grid}.user-row:first-child{border-top:0}.user-identity{justify-items:start;display:grid}.user-identity span,.user-identity small,.content-panel .muted-copy{color:var(--text-secondary-dark)}.user-controls{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.user-controls select{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);min-height:2.5rem;color:var(--text-primary-dark);padding:.4rem}.toggle-label{align-items:center;gap:.4rem;display:inline-flex}.secondary-button{min-height:2.5rem;padding:.4rem .8rem}.account-details{gap:1.2rem;display:grid}.account-details div{border-bottom:1px solid var(--border-dark);gap:.15rem;padding-bottom:1rem;display:grid}.account-details div:last-child{border-bottom:0;padding-bottom:0}.account-details span{color:var(--text-secondary-dark);font-size:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.catalog-admin,.catalog-category-list{gap:1rem;display:grid}.catalog-create-form,.catalog-name-form,.catalog-category-heading,.catalog-controls,.catalog-row-actions{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.catalog-create-form .field-group{flex:1;min-width:min(100%,20rem)}.catalog-create-form .primary-button{padding:.7rem 1rem}.catalog-category{padding:0;overflow:hidden}.catalog-category-heading{background:var(--bg-panel);justify-content:space-between;align-items:center;padding:1rem}.catalog-name-form{flex:1;align-items:center;min-width:min(100%,24rem)}.catalog-name-form input,.catalog-edit-fields input,.catalog-edit-fields select,.catalog-product-fields input{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-app);min-width:0;min-height:2.6rem;color:var(--text-primary-dark);padding:.55rem .65rem}.catalog-name-form input{min-width:10rem;font-family:var(--font-condensed);text-transform:uppercase;flex:1;font-size:1.25rem;font-weight:700}.catalog-controls{align-items:center}.icon-button{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-elevated);width:2.5rem;height:2.5rem;color:var(--text-primary-dark);cursor:pointer;place-items:center;display:inline-grid}.icon-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.catalog-product-list{padding:0 1rem;display:grid}.catalog-product-row{border-bottom:1px solid var(--border-dark);gap:.8rem;padding:1rem 0;display:grid}.catalog-product-summary{grid-template-columns:minmax(0,1fr) auto;gap:.1rem 1rem;display:grid}.catalog-product-summary span{color:var(--olive-light);font-weight:700}.catalog-product-summary small{color:var(--text-secondary-dark);grid-column:1/-1}.catalog-product-form{background:#a8b4780a;gap:.8rem;padding:1rem;display:grid}.catalog-product-fields,.catalog-edit-fields{gap:.7rem;display:grid}.catalog-product-fields .field-group,.catalog-edit-fields label{color:var(--text-secondary-dark);gap:.3rem;font-size:.82rem;font-weight:700;display:grid}.catalog-product-form>.secondary-button{width:fit-content}.catalog-product-row--editing{gap:.7rem}.catalog-row-actions{align-items:center}.catalog-row-actions .text-button{min-height:2.5rem;color:var(--olive-light)}.field-error{color:#ef9487;margin:0;font-size:.82rem}.finance-admin{gap:1rem;display:grid}.finance-summary{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;display:grid}.finance-summary article{gap:.15rem;display:grid}.finance-summary span{color:var(--text-secondary-dark);font-size:.8rem}.finance-summary strong{font-family:var(--font-condensed);font-size:1.8rem}.settlement-form{gap:.8rem;display:grid}.settlement-form input,.settlement-form select,.ledger-filters select,.reversal-form input{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-app);min-height:2.7rem;color:var(--text-primary-dark);padding:.55rem .65rem}.settlement-form .primary-button{min-height:2.7rem;padding-inline:1rem}.finance-ledger-heading{flex-wrap:wrap;align-items:end}.ledger-filters{flex-wrap:wrap;gap:.5rem;display:flex}.admin-ledger-list{display:grid}.admin-ledger-row{border-bottom:1px solid var(--border-dark);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1rem;padding:1rem 0;display:grid}.admin-ledger-row:last-child{border-bottom:0}.admin-ledger-main{display:grid}.admin-ledger-main span,.admin-ledger-main small{color:var(--text-secondary-dark)}.admin-ledger-row>.secondary-button,.admin-ledger-row>.status-chip,.reversal-form{grid-column:1/-1;justify-self:start}.reversal-form{border-radius:var(--radius-sm);background:#d6574614;flex-wrap:wrap;align-items:end;gap:.6rem;width:100%;padding:.75rem;display:flex}.reversal-form label{min-width:min(100%,18rem);color:var(--text-secondary-dark);flex:1;gap:.25rem;font-size:.82rem;font-weight:700;display:grid}.danger-button{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#6f3028;border:1px solid #8e392d;min-height:2.7rem;padding:.5rem .8rem}.danger-button:disabled{cursor:not-allowed;opacity:.5}.report-view{gap:1rem;display:grid}.report-controls{flex-wrap:wrap;align-items:end;gap:.8rem;display:flex}.report-controls .field-group{min-width:12rem}.report-controls input{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-app);min-height:2.7rem;color:var(--text-primary-dark);padding:.55rem .65rem}.report-paper{border-radius:var(--radius-md);background:var(--bg-paper);color:var(--text-primary-light);padding:clamp(1rem,4vw,2rem)}.report-header,.report-footer{justify-content:space-between;align-items:end;gap:1rem;display:flex}.report-header{border-bottom:2px solid var(--text-primary-light);padding-bottom:1rem}.report-header h2{font-family:var(--font-condensed);text-transform:uppercase;margin:.2rem 0 0;font-size:2rem}.report-header p,.report-footer{color:var(--text-secondary-light);margin:0;font-size:.8rem}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:1rem;font-size:.82rem}.report-table th,.report-table td{border-bottom:1px solid var(--border-light);text-align:right;white-space:nowrap;padding:.65rem .5rem}.report-table th:first-child{text-align:left}.report-table thead th,.report-table tfoot th,.report-table tfoot td{font-weight:800}.report-table tfoot th,.report-table tfoot td{border-top:2px solid var(--text-primary-light);border-bottom:0}.report-footer{border-top:1px solid var(--border-light);margin-top:1.5rem;padding-top:.7rem}@media print{@page{size:A4 landscape;margin:12mm}:root,body,.app-layout{color:#000!important;background:#fff!important}.app-header,.page-heading,.no-print{display:none!important}.app-main{width:100%;padding:0}.report-paper{color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:0}.report-table{font-size:9pt}.report-table tr{break-inside:avoid}.report-table thead{display:table-header-group}}@media (min-width:700px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card--primary{grid-row:span 2}.compact-form{grid-template-columns:1fr 1fr}.compact-form .primary-button{align-self:end}.user-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.account-details{grid-template-columns:repeat(3,minmax(0,1fr))}.account-details div{border-right:1px solid var(--border-dark);border-bottom:0;padding:0 1rem 0 0}.account-details div:last-child{border-right:0}.catalog-product-row:not(.catalog-product-row--editing){grid-template-columns:minmax(0,1fr) auto;align-items:center}.catalog-product-fields,.catalog-edit-fields{grid-template-columns:minmax(10rem,1fr) minmax(8rem,.45fr) minmax(12rem,.7fr)}.catalog-description-field{grid-column:1/-1}.settlement-form{grid-template-columns:minmax(12rem,1fr) minmax(9rem,.45fr) minmax(12rem,1fr) auto;align-items:end}}@media (min-width:1000px){.admin-grid{grid-template-columns:minmax(18rem,.8fr) minmax(30rem,1.2fr);align-items:start}.admin-users-panel{grid-row:span 2}}@media (max-width:580px){.app-header{align-items:flex-start}.app-nav{flex-wrap:wrap;max-width:14rem}}
.login-page{background:var(--bg-app);grid-template-rows:auto 1fr;min-height:100svh;display:grid}.login-hero{min-height:auto;padding:1.5rem max(1.25rem, env(safe-area-inset-left));background:0 0;border-bottom:0;display:block}.brand-lockup{justify-content:center}.brand-lockup h1{margin:0;font-size:1.7rem}.login-panel{background:var(--bg-app);min-height:auto;color:var(--text-primary-dark);justify-content:start;padding:1rem 1.25rem 3rem}.login-card{border:1px solid var(--border-dark);border-radius:var(--radius-md);background:var(--bg-elevated);width:min(100%,24rem);margin:0 auto;padding:1.25rem}.login-card h2{text-transform:none;margin:0 0 1.25rem;font-size:1.7rem}.login-card .field-group input{border-color:var(--border-dark);background:var(--bg-app);color:var(--text-primary-dark)}.login-card .field-group label{color:var(--text-secondary-dark)}@media (min-width:800px){.login-page{grid-template-columns:1fr}.login-hero,.login-panel{border:0;min-height:auto}.login-panel{padding-top:2rem}}
.app-layout{background:var(--bg-app);min-height:100svh}.app-header{z-index:20;min-height:4rem;padding:.6rem max(1rem, env(safe-area-inset-left));border-bottom:1px solid var(--border-dark);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);background:#11140ff7;grid-template-columns:1fr auto;align-items:center;gap:1rem;display:grid;position:sticky;top:0}.app-brand{width:fit-content;color:var(--text-primary-dark);font-family:var(--font-condensed);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.app-brand .brand-mark{width:2rem;height:2rem}.desktop-primary-nav{display:none}.account-menu{position:relative}.account-menu summary{border:1px solid var(--border-dark);background:var(--bg-panel);width:2.75rem;height:2.75rem;color:var(--text-primary-dark);cursor:pointer;border-radius:50%;place-items:center;font-weight:800;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.account-menu[open] summary{border-color:var(--olive-light)}.account-menu-panel{border:1px solid var(--border-dark);border-radius:var(--radius-md);transform-origin:100% 0;background:#20251c;width:min(19rem,100vw - 2rem);animation:.14s ease-out both menu-enter;display:grid;position:absolute;top:calc(100% + .55rem);right:0;overflow:hidden;box-shadow:0 1rem 2.5rem #0006}.account-menu-panel a,.account-menu-panel button{border:0;border-top:1px solid var(--border-dark);min-height:2.9rem;color:var(--text-primary-dark);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.65rem;padding:.75rem 1rem;font-size:.95rem;text-decoration:none;display:flex}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--bg-panel)}.account-menu-identity{padding:.9rem 1rem;display:grid}.account-menu-identity span{color:var(--text-secondary-dark);text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.account-menu-group{border-top:1px solid var(--border-dark);display:grid}.account-menu-group>span{color:var(--text-secondary-dark);letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1rem .35rem;font-size:.7rem;font-weight:700}.account-menu-group a{border-top:0;padding-block:.55rem}.app-main{width:min(100%,72rem);padding:1.5rem 1rem calc(6rem + env(safe-area-inset-bottom));margin:0 auto}.app-main--booking{padding-top:.75rem;padding-bottom:calc(10rem + env(safe-area-inset-bottom))}.page-heading{margin-bottom:1.25rem}.page-heading h1{font-family:var(--font-condensed);margin:0;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.1}.mobile-primary-nav{z-index:15;padding:.45rem max(.75rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));border-top:1px solid var(--border-dark);background:#11140ffa;grid-template-columns:repeat(2,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-primary-nav a{border-radius:var(--radius-sm);min-height:3.25rem;color:var(--text-secondary-dark);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.4rem .75rem;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.mobile-primary-nav a[aria-current=page]{background:var(--bg-panel);color:var(--text-primary-dark)}.mobile-primary-nav a[aria-current=page] svg{color:var(--olive-light)}.loading-screen{gap:.65rem}.loading-screen p{margin:0;font-size:.85rem}.loading-spinner{width:1.6rem;height:1.6rem;color:var(--olive-light)}@keyframes menu-enter{0%{opacity:0;transform:translateY(-.25rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (min-width:760px){.app-header{grid-template-columns:1fr auto 1fr;padding-inline:clamp(1.25rem,4vw,3rem)}.desktop-primary-nav{gap:.25rem;display:flex}.desktop-primary-nav a{border-radius:var(--radius-sm);color:var(--text-secondary-dark);align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.desktop-primary-nav a[aria-current=page]{background:var(--bg-panel);color:var(--text-primary-dark)}.account-menu{justify-self:end}.mobile-primary-nav{display:none}.app-main{padding:2.25rem 2rem 5rem}.app-main--booking{padding-top:1.25rem;padding-bottom:5rem}}
.booking-screen,.product-catalog{gap:1.5rem;margin-top:0;display:grid}.booking-toolbar{z-index:10;border:1px solid var(--border-dark);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);background:#1b2017fa;align-items:center;padding:.65rem .8rem;display:flex;position:sticky;top:4.45rem}.quantity-section{justify-content:space-between;align-items:center;gap:1rem;padding-inline:.15rem;display:flex}.quantity-section>span{color:var(--text-secondary-dark);font-size:.85rem;font-weight:700}.booking-balance{color:var(--text-primary-dark);text-decoration:none;display:grid}.booking-balance span{color:var(--text-secondary-dark);font-size:.72rem;font-weight:700}.booking-balance strong{font-family:var(--font-condensed);font-variant-numeric:tabular-nums;font-size:1.5rem;line-height:1.1}.quantity-picker{grid-template-columns:2.75rem 2.5rem 2.75rem;align-items:center;display:grid}.quantity-picker button{border:1px solid var(--border-dark);background:var(--bg-panel);min-height:2.75rem;color:var(--text-primary-dark);cursor:pointer;place-items:center;font-size:1.3rem;display:grid}.quantity-picker button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.quantity-picker button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.quantity-picker button:disabled{cursor:not-allowed;opacity:.4}.quantity-picker output{border-block:1px solid var(--border-dark);background:var(--bg-app);place-items:center;min-height:2.75rem;font-weight:800;display:grid}.offline-banner{border-radius:var(--radius-sm);color:#ef9487;background:#d6574624;margin:-.75rem 0 0;padding:.65rem .75rem;font-size:.85rem}.catalog-section{gap:.65rem;display:grid}.catalog-section h2{color:var(--text-secondary-dark);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.8rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.product-tile{border:1px solid var(--border-dark);border-radius:var(--radius-md);background:var(--bg-elevated);min-height:7.5rem;color:var(--text-primary-dark);cursor:pointer;text-align:left;touch-action:manipulation;align-content:space-between;gap:.35rem;padding:.9rem;transition:transform .14s,border-color .14s,background-color .14s;display:grid}.product-tile:hover:not(:disabled),.product-tile:active:not(:disabled){border-color:var(--olive-light);background:var(--bg-panel)}.product-tile:active:not(:disabled){transform:translateY(1px)}.product-tile:disabled{cursor:not-allowed;opacity:.55}.product-tile-name{font-family:var(--font-condensed);align-self:start;font-size:1.1rem;font-weight:800;line-height:1.15}.product-tile small{color:var(--text-secondary-dark);align-self:start;font-size:.75rem}.product-tile strong{color:var(--olive-light);font-variant-numeric:tabular-nums;align-self:end;align-items:center;gap:.35rem;font-size:.95rem;display:flex}.catalog-loading{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.catalog-loading span{border-radius:var(--radius-md);background:linear-gradient(100deg, var(--bg-elevated) 20%, var(--bg-panel) 45%, var(--bg-elevated) 70%);background-size:220% 100%;min-height:7.5rem;animation:1.35s ease-in-out infinite skeleton-shimmer}.inline-spinner,.loading-spinner{animation:.8s linear infinite ui-spin}.catalog-section{animation:.18s ease-out both content-enter}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes content-enter{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.compact-empty-state{min-height:10rem;color:var(--text-secondary-dark);text-align:center;place-content:center}@media (max-width:759px){.quantity-section{z-index:14;right:50%;bottom:calc(4.75rem + env(safe-area-inset-bottom));border:1px solid var(--border-dark);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);background:#1b2017fa;border-radius:999px;width:max-content;padding:.45rem .55rem .45rem .8rem;animation:.18s ease-out both quantity-enter;position:fixed;transform:translate(50%);box-shadow:0 .65rem 1.75rem #00000047}@keyframes quantity-enter{0%{opacity:0;transform:translate(50%,.35rem)}to{opacity:1;transform:translate(50%)}}}@media (min-width:600px){.product-grid,.catalog-loading{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.product-tile{min-height:8.5rem}}
input,select,textarea{font-size:1rem}.app-layout .content-panel{border-color:var(--border-dark);background:var(--bg-elevated);box-shadow:none}.app-layout .primary-button{border:1px solid var(--olive);background:var(--olive-muted);box-shadow:none}.app-layout .primary-button:hover:not(:disabled){background:var(--olive)}.app-layout .secondary-button{background:0 0}.app-layout input,.app-layout select,.app-layout textarea{min-height:2.75rem}@media (max-width:759px){input,select,textarea{font-size:16px!important}}
.panel-heading>h2,.catalog-category-heading h2{font-family:var(--font-condensed);margin:0;font-size:1.35rem}.disclosure-panel{padding:0}.disclosure-panel>summary,.add-product-disclosure>summary,.row-actions>summary,.filter-menu>summary{cursor:pointer;list-style:none}.disclosure-panel>summary::-webkit-details-marker{display:none}.add-product-disclosure>summary::-webkit-details-marker{display:none}.row-actions>summary::-webkit-details-marker{display:none}.filter-menu>summary::-webkit-details-marker{display:none}.item-actions>summary::-webkit-details-marker{display:none}.disclosure-panel>summary{justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.9rem 1rem;font-weight:750;display:flex}.disclosure-panel[open]>summary{border-bottom:1px solid var(--border-dark)}.disclosure-panel>.user-list,.finance-overview>.finance-summary{padding:0 1rem 1rem}.row-actions{justify-self:end;position:relative}.row-actions>summary,.filter-menu>summary,.add-product-disclosure>summary{border:1px solid var(--border-dark);border-radius:var(--radius-sm);width:fit-content;min-height:2.6rem;color:var(--text-secondary-dark);padding:.55rem .75rem;font-size:.82rem;font-weight:700}.row-actions[open]>summary,.filter-menu[open]>summary,.add-product-disclosure[open]>summary{border-color:var(--olive-light);color:var(--text-primary-dark)}.row-actions .user-controls,.row-actions .catalog-controls{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);margin-top:.5rem;padding:.65rem;display:flex}.catalog-category-heading{align-items:center;padding:.9rem 1rem;position:relative}.catalog-category-heading>div:first-child{display:grid}.catalog-category-heading>div:first-child>span{color:var(--text-secondary-dark);font-size:.78rem}.item-actions{position:relative}.item-actions>summary{border:1px solid var(--border-dark);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.08em;place-items:center;width:2.6rem;height:2.6rem;list-style:none;display:grid}.item-actions-panel{z-index:5;border:1px solid var(--border-dark);border-radius:var(--radius-md);transform-origin:100% 0;background:#20251c;gap:.7rem;width:min(26rem,100vw - 3rem);padding:.8rem;animation:.14s ease-out both admin-panel-enter;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 1rem 2rem #00000059}.item-actions-panel .catalog-name-form{grid-template-columns:1fr auto;align-items:end;display:grid}.item-actions-panel .catalog-name-form label{color:var(--text-secondary-dark);grid-column:1/-1;font-size:.8rem;font-weight:700}.add-product-disclosure{padding:.8rem 1rem 1rem}.add-product-disclosure .catalog-product-form{border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--bg-panel);margin-top:.65rem;padding:.8rem}.filter-menu{position:relative}.filter-menu .ledger-filters{z-index:4;border:1px solid var(--border-dark);border-radius:var(--radius-sm);transform-origin:100% 0;background:#20251c;width:min(18rem,100vw - 3rem);padding:.65rem;animation:.14s ease-out both admin-panel-enter;display:grid;position:absolute;top:calc(100% + .4rem);right:0}@keyframes admin-panel-enter{0%{opacity:0;transform:translateY(-.2rem)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.finance-summary{padding-top:1rem!important}.finance-summary article{border:1px solid var(--border-dark);border-radius:var(--radius-sm);padding:.8rem}@media (max-width:699px){.admin-grid{display:grid}.user-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.row-actions .user-controls,.row-actions .catalog-controls{z-index:4;width:min(18rem,100vw - 3rem);position:absolute;top:100%;right:0}}
.activity-row{grid-template-columns:minmax(0,1fr) auto;padding:.85rem 0}.activity-copy strong{font-size:.95rem}.activity-amount{font-size:.9rem}.filter-chips{gap:.35rem}.filter-chips button{border-radius:var(--radius-sm);min-height:2.5rem;padding:.45rem .75rem;font-size:.85rem}
.app-toast{font-family:var(--font-body)}[data-sonner-toaster]{--width:min(24rem, calc(100vw - 1.5rem))}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
