:root{font-family:Inter,system-ui,sans-serif;color:#111;background:#f7f6f2;--bg: #f7f6f2;--surface: #ffffff;--surface-muted: #f4f2ed;--text: #111111;--muted: #4a4a4a;--border: #d8d0c2;--accent: #c9a227;--accent-contrast: #111111;--accent-strong: #a37b12;--focus: rgba(201, 162, 39, .28);--color-bg: var(--bg);--color-bg-accent: #efe9dc;--color-surface: var(--surface);--color-surface-muted: var(--surface-muted);--color-border: var(--border);--color-text: var(--text);--color-muted: var(--muted);--color-accent: var(--accent);--color-accent-strong: var(--accent-strong);--color-focus: var(--focus);--color-success: #1d8a5a;--color-warning: #c27a1f;--color-danger: #c4493b;--shadow-sm: 0 10px 24px rgba(15, 23, 42, .08);--shadow-md: 0 28px 60px rgba(15, 23, 42, .16);--radius-card: 20px;--radius-button: 10px;--max-width: 1440px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#ffffff 0%,var(--color-bg) 55%);color:var(--color-text)}.page{min-height:100vh;display:flex;flex-direction:column;gap:var(--space-2);padding:0}.site-footer{margin-top:auto;padding:var(--space-6) clamp(20px,4vw,48px);background:var(--color-surface);border-top:1px solid var(--color-border)}.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;align-items:center}.footer-content h3{margin:0 0 8px;font-size:18px}.footer-social{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:12px}.footer-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font-weight:600;text-decoration:none}.footer-links a:hover{background:var(--color-bg-accent);border-color:#c9a22759;text-decoration:none}.nav-user{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--color-muted)}a{color:var(--color-accent);text-decoration:none;font-weight:600;transition:color .2s ease,text-decoration .2s ease,box-shadow .2s ease,background .2s ease}a:not(.primary):not(.secondary):not(.ghost):not(.list-title){padding:8px;border-radius:6px;display:inline-flex;gap:3px;align-items:center}a:not(.primary):not(.secondary):not(.ghost):not(.list-title):hover{color:var(--color-accent-strong);background:#c9a2271f;text-decoration:underline}a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus);border-radius:6px}.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;min-height:40px;border-radius:var(--radius-button);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.auth-shell{margin:auto;min-height:calc(100vh - 64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;align-items:center}.auth-brand{color:#fff;border-radius:28px;padding:48px;position:relative;overflow:hidden;min-height:520px;display:flex;align-items:flex-end}.auth-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(255,255,255,.2),transparent 55%)}.auth-brand-card{position:relative;z-index:1;display:grid;gap:20px}.auth-logo{font-size:32px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-logo-image{width:min(520px,100%);height:auto;display:block;background-color:#fff;padding:12px;border-radius:16px;box-shadow:0 16px 30px #0003}.auth-tagline{font-size:18px;margin:0;max-width:320px}.auth-badges{display:flex;flex-direction:column;gap:12px;font-size:14px;color:#ffffffd9}.auth-badges span{background:#ffffff26;padding:10px 14px;border-radius:999px;width:fit-content}.auth-form{display:flex;justify-content:center}.auth-card{width:100%;max-width:460px;background:var(--color-surface);border-radius:28px;padding:40px;box-shadow:var(--shadow-md);display:grid;gap:16px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin:0;color:#c9a227}.auth-subtitle{margin:0;color:var(--color-muted)}.auth-fields{display:grid;gap:16px}.auth-error{background:#fff4e5;color:#7a5a1a;padding:10px 14px;border-radius:12px;font-weight:600}.auth-switch{font-size:14px;color:var(--color-muted)}.auth-switch a{color:var(--color-accent);font-weight:600;text-decoration:none}.page-content{display:flex;flex-direction:column;gap:var(--space-5);width:100%;padding:clamp(16px,2.5vw,32px)}.topbar-logo{text-decoration:none;color:inherit;padding:0}.topbar-logo-image{height:70px;width:auto;display:block;border-radius:10px;background-color:#fff;padding:4px;box-shadow:var(--shadow-sm)}.topbar-logo:hover{text-decoration:none;color:inherit}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-title{font-weight:700;color:var(--color-text)}.section{display:flex;flex-direction:column;gap:var(--space-5);padding:clamp(24px,3vw,40px);border-radius:28px}.section-header{display:flex;flex-direction:column;gap:8px}.section-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}h1,h2,h3{margin:0}h1{font-size:clamp(32px,3vw,44px);line-height:1.2;letter-spacing:-.02em}h2{font-size:clamp(22px,2vw,28px);line-height:1.3}p{line-height:1.6;margin:0}.hero{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);padding:clamp(32px,4vw,56px);min-height:min(72vh,680px);overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(201,162,39,.18),transparent 55%);pointer-events:none}.hero-main{display:flex;flex-direction:column;gap:var(--space-4);position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--color-accent);margin:0 0 12px}.subtitle{color:var(--color-muted);max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1116;display:flex;align-items:center;justify-content:center;padding:var(--space-5);z-index:1000}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:var(--color-surface);border-radius:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-body{display:flex;flex-direction:column;gap:var(--space-4)}.hero-card{position:relative;z-index:1;background:var(--color-surface);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.hero-stats{display:flex;gap:24px;margin:24px 0 0;padding:0;flex-wrap:wrap}.hero-stats div{display:grid;gap:4px}.hero-stats dt{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent)}.hero-stats dd{margin:0;font-size:20px;font-weight:700;color:var(--color-text)}.hero-label{color:var(--color-muted);font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{gap:var(--space-3)}.metric-value{font-size:28px;font-weight:700;color:var(--color-text)}.metric-label{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted)}.card{background:var(--color-surface);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:16px;min-width:0}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-header h2{margin:0}.form{display:grid;gap:16px}.datetime-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}label,.form-field{display:grid;gap:6px;font-weight:600;color:var(--color-text)}.form-label{font-weight:600;color:var(--color-text)}input,select,textarea{border-radius:10px;border:1px solid var(--color-border);padding:12px 14px;font-size:14px;background:var(--color-surface);box-shadow:0 1px 2px #130c090f;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}button{border:none;border-radius:var(--radius-button);padding:10px 18px;font-weight:600;font-family:inherit;font-size:14px;line-height:1.2;min-height:40px;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0f172a2e}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.primary,.secondary,.ghost{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-button);min-height:40px;padding:10px 18px;font-weight:600;border:1px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.primary:focus-visible,.secondary:focus-visible,.ghost:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus)}.primary{background:var(--color-accent);color:var(--accent-contrast)}.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.danger{background:#fdecea;color:var(--color-danger);border:1px solid rgba(196,73,59,.35)}.ghost{background:transparent;color:var(--color-muted);border:1px solid var(--color-border)}.ghost.danger{color:var(--color-danger);border-color:#c4493b73;background:#c4493b14}.icon-button{padding:8px 12px;min-height:36px;font-size:13px}.primary:hover,.secondary:hover,.ghost:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 20px #130c091f}.primary:active,.secondary:active,.ghost:active{transform:translateY(0);box-shadow:none}.list{list-style:none;padding:0;margin:16px 0 24px;display:grid;gap:12px}.list li{display:flex;justify-content:space-between;padding:12px 14px;background:var(--color-surface);border-radius:14px;border:1px solid var(--color-border);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.list li:hover{background:#f7f3ea;border-color:#c9a2274d;box-shadow:0 8px 20px #1111111f}.list.stacked li{flex-direction:column;align-items:flex-start;gap:4px}.list-title{font-weight:600;color:var(--color-text);text-decoration:none}.list-title:hover{color:var(--color-accent-strong);text-decoration:underline}.list-meta{display:inline-flex;gap:8px;flex-wrap:wrap;color:var(--color-muted);font-size:13px}.list-item-info{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.status-pill.active{background:#1d8a5a1f;color:var(--color-success);border-color:#1d8a5a59}.status-pill.inactive{background:#c4493b1f;color:var(--color-danger);border-color:#c4493b4d}.list-controls{display:flex;justify-content:flex-end}.grid-actions{display:flex;justify-content:flex-start}.grid-controls{justify-content:space-between;gap:16px;flex-wrap:wrap}.filter-field{display:grid;gap:6px;font-size:13px;color:var(--color-muted)}.data-grid{display:grid;gap:10px;width:100%;max-width:100%;overflow-x:auto}.data-grid-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,max-content) minmax(120px,max-content) minmax(160px,1fr);gap:16px;align-items:center;padding:12px 16px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);min-width:0}.data-grid-row:not(.data-grid-header):hover{background:#f7f3ea;border-color:#c9a2274d;box-shadow:0 8px 20px #1111111f}.data-grid-header{background:#c9a22714;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;color:var(--color-muted)}.data-grid-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.data-grid-title{font-weight:600;color:var(--color-text)}.data-grid-meta{font-size:12px;color:var(--color-muted)}.data-grid-actions{flex-direction:row;gap:6px;flex-wrap:wrap}.data-grid-header .data-grid-cell{flex-direction:row;align-items:center}.data-grid-products .data-grid-row{grid-template-columns:minmax(220px,2fr) minmax(140px,max-content) minmax(120px,max-content) minmax(140px,max-content) minmax(160px,max-content) minmax(120px,max-content) minmax(160px,1fr)}.data-grid-services .data-grid-row{grid-template-columns:minmax(220px,2fr) minmax(160px,max-content) minmax(140px,max-content) minmax(160px,1fr)}.data-grid-appointments .data-grid-row{grid-template-columns:minmax(220px,2fr) minmax(150px,max-content) minmax(160px,max-content) minmax(160px,1fr)}.data-grid-row .data-grid-cell:nth-child(2),.data-grid-row .data-grid-cell:nth-child(3){align-items:flex-start}@media (max-width: 900px){.data-grid-row{grid-template-columns:1fr;align-items:flex-start}.data-grid-header{display:none}.data-grid-actions{justify-content:flex-start}}.stack{display:grid;gap:16px}.muted{color:var(--color-muted);font-size:14px}.calendar{display:grid;gap:16px}.calendar-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.calendar-day{background:var(--color-surface);border-radius:18px;padding:18px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.calendar-date{font-weight:700;margin:0 0 12px;color:var(--color-muted)}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{background:var(--color-surface);border-radius:10px;padding:6px 12px;border:1px solid var(--color-border);font-size:13px}.slot-details{background:var(--color-surface);border-radius:14px;padding:10px 12px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:140px;transition:transform .2s ease,box-shadow .2s ease}.slot-details:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a29}.slot-details a{color:var(--color-text);text-decoration:none;font-weight:600}.slot-time{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:8px;background:#f6edcf;border:1px solid rgba(201,162,39,.35);font-weight:600;color:var(--color-accent-strong)}.error{border:1px solid #e3c6a0;color:#7a4a1b;background:#fff6e8}.success{border:1px solid #cbd9c3;color:#2f4b2d;background:#f2f7ef}.inline-field{display:flex;gap:12px;align-items:center}.autocomplete-inline{flex:1;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);font-size:13px}.chip-button{cursor:pointer}.error-note{margin:0;font-size:13px;color:#7a4a1b}.list-item{align-items:center;gap:12px}.list-item-main{display:flex;flex-direction:column;gap:4px}.appointment-product-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-product-item .list-item-main{min-width:0}.thumb{width:48px;height:48px;object-fit:cover;border-radius:12px;border:1px solid var(--color-border);background:#f8fafc}.pagination-controls{margin-top:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination-status{font-size:13px;color:var(--color-muted);font-weight:600}.thumb-button{padding:0;border:none;background:transparent;cursor:zoom-in;position:relative;border-radius:12px}.thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:#00000059;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.thumb-button:hover .thumb-overlay,.thumb-button:focus-visible .thumb-overlay{opacity:1}.image-zoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#111111b8;display:flex;align-items:center;justify-content:center;padding:24px}.image-zoom-modal{max-width:min(95vw,960px);max-height:90vh;display:grid;gap:10px;justify-items:end}.image-zoom-preview{max-width:100%;max-height:calc(90vh - 54px);border-radius:16px;border:1px solid var(--color-border);background:#fff;object-fit:contain}.image-zoom-close{background:#fff}.product-image{width:100%;max-width:320px;border-radius:16px;border:1px solid var(--color-border);object-fit:cover}@media (max-width: 900px){.hero,.section{padding:24px}}@media (max-width: 600px){.hero-actions,.hero-stats,.list li{flex-direction:column;align-items:flex-start}}
