:root{color-scheme:dark;--bg:#111;--panel:#1a1a1a;--surface:#151515;--raised:#202020;--line:#303030;--text:#f4f4f4;--muted:#a4a4a4;--gold:#c6a55f;--danger:#ef7777;--success:#68c58b;--shadow:0 18px 55px rgba(0,0,0,.28)}
html[data-theme=light]{color-scheme:light;--bg:#f3f2ef;--panel:#fff;--surface:#faf9f6;--raised:#f0eee8;--line:#d8d4ca;--text:#24211b;--muted:#6f6a61;--shadow:0 18px 55px rgba(63,51,29,.09)}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h2{font-size:1.05rem;margin-bottom:14px}.muted{color:var(--muted)}.eyebrow{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.stack{display:grid;gap:16px}.app-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1024px;margin:auto;padding:11px 16px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand>span:last-child{display:grid;min-width:0}.brand small{color:var(--gold);font-size:.7rem;font-weight:700}.brand strong{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--gold) 65%,var(--line));border-radius:12px;color:var(--gold);font-size:.76rem;font-weight:800;letter-spacing:-.08em;background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 12%,var(--surface)),var(--surface));box-shadow:inset 0 0 20px rgba(198,165,95,.06)}.logo-large{width:64px;height:64px;border-radius:20px;margin:0 auto 18px}.header-actions{display:flex;gap:4px}.icon-button{width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:1.3rem;cursor:pointer}.icon-button:hover{background:var(--raised);color:var(--text)}.app-main{max-width:1024px;margin:auto;padding:20px 16px 100px}.card,.metric,.menu-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:16px;box-shadow:var(--shadow)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.metric{display:grid;gap:7px}.metric small{color:var(--muted)}.metric strong{font-size:1.65rem}.section-title,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{margin-bottom:14px}.section-title h2,.section-title p{margin:0}.toolbar{margin-bottom:14px}.toolbar .field{max-width:250px}.field{display:block;width:100%;min-height:48px;margin-top:7px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--surface);transition:.15s}.field:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 15%,transparent)}textarea.field{min-height:86px;resize:vertical}.uppercase{text-transform:uppercase}.btn-primary,.btn-secondary{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 15px;font-weight:700;cursor:pointer;transition:transform .1s;border:1px solid transparent}.btn-primary{background:var(--gold);color:#15120c}.btn-secondary{background:var(--raised);border-color:var(--line);color:var(--text)}.btn-primary:active,.btn-secondary:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.form-grid label,.inline-form label{color:color-mix(in srgb,var(--text) 82%,transparent);font-size:.86rem;font-weight:600}.check{display:flex;min-height:48px;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.check input{width:21px;height:21px;accent-color:var(--gold)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin:12px 0}.inline-form{display:grid;gap:12px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.sticky-action{position:sticky;bottom:78px;z-index:10;width:100%;box-shadow:0 10px 30px rgba(0,0,0,.35)}.form-error{padding:12px;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.bottom-nav{position:fixed;z-index:40;inset:auto 0 0;display:flex;height:65px;align-items:stretch;justify-content:space-around;padding:0 max(4px,env(safe-area-inset-left)) env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 97%,transparent);backdrop-filter:blur(16px)}.bottom-nav a{position:relative;display:flex;min-width:60px;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:1.18rem}.bottom-nav a small{font-size:.67rem}.bottom-nav a.active{color:var(--gold)}.bottom-nav .primary-nav span{display:grid;width:48px;height:48px;margin-top:-32px;place-items:center;border-radius:50%;background:var(--gold);color:#15120c;font-size:1.7rem;box-shadow:0 9px 25px rgba(0,0,0,.3)}.list,.timeline{display:grid;gap:9px}.list-item,.slot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.list-item strong,.slot strong{display:block}.list-item small,.slot small{color:var(--muted)}.slot .time{min-width:54px;color:var(--gold);font-weight:700}.slot.empty-slot{opacity:.65;border-style:dashed}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--raised);color:var(--muted);font-size:.72rem}.status.booked{color:#e8c878;background:rgba(198,165,95,.12)}.status.completed{color:var(--success);background:rgba(104,197,139,.12)}.status.cancelled{color:var(--danger);background:rgba(239,119,119,.1)}.bay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.empty{text-align:center;color:var(--muted);padding:24px}.suggestions{display:grid;border-radius:12px;overflow:hidden;background:var(--raised)}.suggestions button{padding:11px 12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.suggestions button:last-child{border:0}.suggestions small{display:block;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:.85rem}th{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--raised);font-size:.82rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.menu-card{min-height:100px;display:flex;align-items:end;font-weight:700}.offline-banner{position:sticky;top:0;z-index:60;padding:10px 16px;background:#9b6d1d;color:white;text-align:center;font-size:.82rem}.toast{position:fixed;z-index:80;left:50%;bottom:86px;transform:translateX(-50%);max-width:min(90vw,460px);padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--raised);box-shadow:var(--shadow)}.toast.error{border-color:var(--danger)}.loading{display:grid;place-items:center;padding:25vh 0;color:var(--muted)}.loading span{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 10%,rgba(198,165,95,.1),transparent 35%),var(--bg)}.login-card{width:min(100%,410px);padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);text-align:center}.login-card .stack{text-align:left;margin-top:26px}.login-card h1{margin-bottom:8px}.login-card .btn-primary{width:100%}
@media(max-width:700px){.bay-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.metric strong{font-size:1.35rem}.app-main{padding-top:14px}.brand strong{font-size:1rem}.card{padding:14px}.section-title{align-items:flex-start}.section-title .btn-secondary{white-space:nowrap}.card-grid{grid-template-columns:1fr}}
@media(min-width:800px){.bottom-nav{left:50%;right:auto;width:min(100%,620px);transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important}}
dialog{width:min(92vw,420px);border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.7)}dialog h2{margin:0}
.login-card{width:100%;max-width:410px;min-width:0}.login-card .stack,.login-card input{min-width:0}
.brand-logo{display:block;object-fit:contain;background:#111}.brand-logo-header{width:42px;height:42px;flex:0 0 42px;border-radius:12px}.brand-logo-large{width:150px;height:150px;margin:0 auto 18px;border-radius:22px}.brand-name{text-transform:none;letter-spacing:.04em}.forgot-link{justify-self:end;margin-top:-7px;color:var(--gold);font-size:.88rem;font-weight:700}.forgot-link:hover,.auth-back-link:hover,.form-success a:hover{text-decoration:underline}.auth-back-link{text-align:center;color:var(--muted);font-size:.9rem}.form-success{padding:12px;border:1px solid color-mix(in srgb,var(--success) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.form-success a{font-weight:700}.login-card .form-success,.login-card .form-error{margin:0}
@media(max-width:420px){.brand-logo-large{width:132px;height:132px}.login-card{padding:22px}}
.load-error{width:min(100%,460px);padding:20px;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));border-radius:18px;background:var(--panel);text-align:center;color:var(--text)}.load-error p{margin:8px 0 16px;color:var(--muted)}.load-error-actions{display:flex;justify-content:center}

/* Approved aqua-crm visual system */
.card,.metric,.menu-card{border-radius:16px;box-shadow:none}.app-header{background:color-mix(in srgb,var(--bg) 95%,transparent)}.header-inner{max-width:1024px;padding:12px 16px}.brand{gap:12px}.brand-logo-header{width:44px;height:44px;flex-basis:44px;border-radius:0}.brand small{font-size:.75rem}.brand strong{font-size:1.25rem;font-weight:600}.header-actions{align-items:center;gap:2px}.header-actions svg,.bottom-nav svg,.schedule-period svg,.login-card svg,.employee-avatar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-primary{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--gold);color:#15120c}.icon-button{display:grid;place-items:center}.app-main{max-width:1024px;padding-top:20px}.bottom-nav{background:color-mix(in srgb,var(--surface) 98%,transparent)}.bottom-nav a{font-size:inherit}.bottom-nav a>span{display:grid;place-items:center}.bottom-nav a>span svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bottom-nav .primary-nav span{width:48px;height:48px}.bottom-nav .primary-nav span svg{width:25px;height:25px}.bottom-nav a small{font-size:11px}.metric{min-height:78px;padding:14px}.metric strong{font-size:1.5rem}.status.active{color:#6ee7b7}.finance-period{min-height:56px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--muted)}.finance-period .field{width:auto;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--text);font-weight:600}.finance-formula{margin-top:12px}.schedule-controls{margin-bottom:16px}.schedule-controls .toolbar{margin:0}.schedule-period{display:flex;align-items:center;gap:10px;text-align:center}.schedule-period svg{color:var(--gold)}.schedule-table{padding:0}.schedule-table th,.schedule-table td{padding:12px}.employees-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.employees-intro h2{margin:0 0 4px}.employees-intro p{max-width:260px;margin:0;font-size:.85rem}.employee-list{display:grid;gap:12px}.employee-card{display:flex;align-items:center;gap:13px;min-height:78px}.employee-avatar{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:12px;background:rgba(198,165,95,.1);color:var(--gold)}.employee-info{display:grid;flex:1;gap:5px}.employee-info strong{font-size:1.05rem}.employee-info small{color:var(--muted)}.employee-form{margin-top:16px}.more-list{padding:0;overflow:hidden}.more-list a{display:flex;min-height:56px;align-items:center;gap:13px;padding:0 16px;border-bottom:1px solid var(--line)}.more-list a:last-child{border-bottom:0}.more-list a span:nth-child(2){flex:1}.more-list b{color:var(--muted);font-size:1.5rem;font-weight:400}.more-icon{display:grid;width:20px;place-items:center;color:var(--gold);font-weight:700}.theme-card,.profile-card{margin-top:16px}.theme-card h2{margin-bottom:14px}.theme-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.theme-options button{display:grid;min-height:80px;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:1.3rem}.theme-options button.active{border-color:var(--gold);color:var(--gold);background:rgba(198,165,95,.08)}.theme-options small{display:block;font-size:.75rem}.profile-card .btn-secondary{width:100%}.profile-card p{color:var(--muted)}
.login-page{display:flex;align-items:center;justify-content:center;padding:24px 20px;background:var(--bg)}.login-shell{width:min(100%,384px)}.login-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:24px;text-align:center}.login-brand .brand-logo-large{width:150px;height:150px;margin:0;object-fit:contain;border-radius:0}.login-brand>span{width:80px;height:1px;margin-top:12px;background:rgba(198,165,95,.45)}.login-brand h1{margin:14px 0 0;color:var(--gold);font-size:1.25rem;font-weight:600}.login-brand p{margin:6px 0 0;color:var(--muted);font-size:.68rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase}.login-card{width:100%;max-width:none;padding:16px;border-radius:16px;box-shadow:none;text-align:left}.login-card h2{margin:0;font-size:1.12rem}.login-card .stack{gap:16px;margin-top:18px}.login-card .btn-primary svg{width:18px;height:18px}.login-card .forgot-link{justify-self:start;margin-top:-8px;font-weight:400}.login-card label{font-size:.9rem}.login-card .field{margin-top:8px}.login-card .btn-primary{min-height:48px}
@media(max-width:700px){.brand strong{font-size:1.2rem}.app-main{padding-top:20px}.card{padding:16px}#finance-metrics{grid-template-columns:1fr}.finance-period .field{max-width:190px}.employees-intro .btn-primary{white-space:nowrap}.schedule-table{border-radius:16px}.login-brand .brand-logo-large{width:150px;height:150px}}
.shift-card,.cash-card,.today-bookings-card,.app-main>.metric{margin-bottom:16px}.today-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.today-metrics .metric strong:first-letter{color:var(--gold)}.cash-card h2{text-transform:uppercase;letter-spacing:.05em}.cash-card .btn-primary{background:var(--raised);border-color:var(--line);color:var(--text)}
@media(max-width:420px){.today-metrics{gap:8px}.today-metrics .metric{min-width:0;padding:12px}.today-metrics .metric strong{font-size:1.35rem}.today-metrics .metric small{font-size:.75rem}}
@media(max-width:700px){.login-page{align-items:flex-start}}
@media(min-width:640px){.login-brand .brand-logo-large{width:180px;height:180px}}
.organization-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-list{display:grid;gap:12px}.organization-card{display:block}.organization-title{display:flex;align-items:center;gap:10px}.organization-title h2{flex:1;margin:0}.organization-title b{color:var(--muted);font-size:1.5rem;font-weight:400}.organization-icon{color:var(--gold)}.organization-card>p{margin:10px 0 12px;font-size:.85rem}.organization-balance{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}.organization-balance small{color:var(--muted)}.organization-balance strong.debt{color:var(--danger)}.organization-balance strong.credit,.organization-balance strong.closed{color:#6ee7b7}#finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){#finance-metrics{grid-template-columns:1fr}.organization-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-metrics .metric{min-width:0}.organization-balance{align-items:flex-end;gap:12px}.organization-balance strong{text-align:right}}
.booking-toolbar .field{margin:0}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:.9rem}.booking-summary strong{color:var(--gold)}.booking-slots{display:grid;gap:12px}.booking-slot h2{margin-bottom:12px;color:var(--gold);font-size:1.2rem}.booking-bays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-bay>small{display:block;margin-bottom:6px;color:var(--muted)}.booking-bay .slot{min-height:86px}.free-slot{display:flex;min-height:86px;align-items:center;justify-content:center;border:1px dashed color-mix(in srgb,var(--muted) 60%,transparent);border-radius:12px;background:var(--surface);color:var(--muted)}
@media(max-width:700px){.booking-bays{grid-template-columns:1fr}}
