:root{--bg-elevated-2:var(--bg-elevated);--radius:12px;--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}input,textarea,select,button{font-family:inherit;font-size:1rem}button{cursor:pointer}a{color:var(--accent)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-muted);font-size:.85rem}.input,.textarea,.select{background:var(--bg-elevated-2);border:1px solid var(--border);color:var(--text);border-radius:10px;outline:none;width:100%;padding:12px 14px}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:90px}.btn{background:var(--bg-elevated-2);color:var(--text);border:none;border-radius:10px;padding:13px 18px;font-weight:600;transition:opacity .15s}.btn:active{opacity:.75}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#1a0d02;font-weight:800}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-ghost{border:1px solid var(--border);color:var(--text);background:0 0}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.error-banner{color:#ff9bb0;background:#ff54701f;border:1px solid #ff547066;border-radius:10px;padding:10px 14px;font-size:.9rem}.empty-state{color:var(--text-muted);text-align:center;padding:40px 16px;font-size:.95rem}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:24px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-accent{color:var(--accent-strong);background:#ff7a2f22}.badge-muted{background:var(--bg-elevated-2);color:var(--text-muted)}input[type=range]{accent-color:var(--accent)}.dash-shell{display:flex}.dash-sidebar{display:none}.dash-bottomnav{display:flex}.dash-header-logout{display:inline-flex}.dash-content-inner{width:100%;overflow-x:clip}.dash-grid-2,.dash-grid-3{flex-direction:column;display:flex}@media (width>=768px){.dash-shell{min-height:100dvh;justify-content:flex-start!important}.dash-sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);box-sizing:border-box;flex-direction:column;flex-shrink:0;width:232px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.dash-bottomnav,.dash-header-logout{display:none}.dash-main-col{max-width:none!important}.dash-content-inner{max-width:1160px;margin:0 auto}.dash-content-pad{padding:28px 40px!important}.dash-grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.dash-grid-3{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:14px;display:grid}.dash-grid-2>*,.dash-grid-3>*{min-width:0;margin-bottom:0!important}}.sidebar-link{color:var(--text-muted);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:10px;align-items:center;gap:12px;margin-bottom:2px;padding:11px 12px 11px 14px;font-size:14px;font-weight:700;text-decoration:none;display:flex;position:relative}@media (hover:hover){.sidebar-link:hover{background:var(--bg-elevated);color:var(--text)}}.sidebar-link.active{background:var(--accent-soft);color:var(--accent)}.sidebar-link.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-sublink.active:before{display:none}.admin-content-wrap{max-width:520px}@media (width>=768px){.admin-content-wrap{max-width:900px}.admin-salon-grid{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.admin-salon-grid>*{margin-bottom:0!important}}:root,[data-theme=dark]{--bg-base:#0b0f16;--bg-surface:#131926;--bg-elevated:#1a2233;--bg:#0b0f16;--border:#ffffff0f;--border-hover:#ffffff21;--text:#e8ecf3;--text-muted:#8a93a6;--text-subtle:#5c6478;--accent:#f97316;--accent-strong:#fb8b3c;--accent-soft:#f973161f;--accent-ring:#f9731666;--success:#22c55e;--success-soft:#22c55e24;--warn:#f59e0b;--warn-soft:#f59e0b24;--danger:#ef4444;--danger-soft:#ef444424;--info:#5b9dff;--info-soft:#5b9dff24;--switch-off:#ffffff29;--overlay:#060912d9;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 4px #0003, 0 8px 16px #00000040;--shadow-lg:0 4px 8px #0003, 0 16px 32px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-base:#f7f8fa;--bg-surface:#fff;--bg-elevated:#f0f2f5;--bg:#f7f8fa;--border:#00000014;--border-hover:#00000029;--text:#141821;--text-muted:#5c6478;--text-subtle:#8a93a6;--accent:#f97316;--accent-strong:#ea6a0c;--accent-soft:#f973161a;--accent-ring:#f9731659;--success:#16a34a;--success-soft:#16a34a1f;--warn:#d97706;--warn-soft:#d977061f;--danger:#dc2626;--danger-soft:#dc26261a;--info:#2563eb;--info-soft:#2563eb1a;--switch-off:#00000038;--overlay:#14182173;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 2px #0000000d, 0 4px 12px #00000014;--shadow-lg:0 4px 8px #0000000f, 0 16px 32px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-full:999px;--t-h1:clamp(24px, 4vw, 32px);--t-h2:20px;--t-body:15px;--t-sm:13px;--t-label:11px;--ease:cubic-bezier(.4, 0, .2, 1);--dur:.15s;--safe-bottom:env(safe-area-inset-bottom,0px)}html.theme-ready *,html.theme-ready :before,html.theme-ready :after{transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), fill .2s var(--ease), box-shadow .2s var(--ease)}@media (prefers-reduced-motion:reduce){html.theme-ready *,html.theme-ready :before,html.theme-ready :after{transition:none}}.tnum,.stat-value{font-variant-numeric:tabular-nums}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.hsnap{scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none;display:flex;overflow-x:auto}.hsnap::-webkit-scrollbar{display:none}.hsnap>*{scroll-snap-align:start;flex-shrink:0}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}@media (hover:hover){.u-hover-lift{transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease)}.u-hover-lift:hover{box-shadow:var(--shadow-lg);border-color:var(--border-hover);transform:translateY(-2px)}.u-hover-border{transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease)}.u-hover-border:hover{border-color:var(--border-hover)}.u-hover-scale{transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.u-hover-scale:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}}.skel{background:var(--bg-elevated);border-radius:var(--r-sm);position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);animation:1.3s infinite skel-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shimmer{to{transform:translate(100%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-up{animation:fade-up .32s var(--ease) both}.fade-up:first-child{animation-delay:0s}.fade-up:nth-child(2){animation-delay:20ms}.fade-up:nth-child(3){animation-delay:40ms}.fade-up:nth-child(4){animation-delay:60ms}.fade-up:nth-child(5){animation-delay:80ms}.fade-up:nth-child(6){animation-delay:.1s}.fade-up:nth-child(7){animation-delay:.12s}.fade-up:nth-child(8){animation-delay:.14s}.sticky-blur{z-index:10;background:color-mix(in srgb, var(--bg-base) 82%, transparent);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.auto-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.wallet-layout{gap:var(--s-5);flex-direction:column;display:flex}.wallet-preview-col{z-index:5;padding-top:4px;position:sticky;top:0}@media (width>=768px){.wallet-layout{gap:var(--s-6);grid-template-columns:minmax(0,360px) 1fr;align-items:start;display:grid}.wallet-preview-col{top:var(--s-5)}}.wallet-slider{appearance:none;background:var(--bg-elevated);border-radius:4px;outline:none;height:8px}.wallet-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid var(--bg-base);width:28px;height:28px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.wallet-slider::-moz-range-thumb{background:var(--accent);border:3px solid var(--bg-base);cursor:pointer;border-radius:50%;width:24px;height:24px}.sym-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}@media (width>=480px){.sym-grid{grid-template-columns:repeat(6,1fr)}}@keyframes wallet-glow{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}.wallet-glow{animation:wallet-glow 1.3s var(--ease) 2}@keyframes stamp-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.stamp-pop{animation:stamp-pop .28s var(--ease) both}.tpl-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (width>=560px){.tpl-grid{grid-template-columns:1fr 1fr}}.inline-add-row{flex-direction:column;gap:8px;display:flex}.inline-add-row>*{box-sizing:border-box;width:100%;min-width:0}@media (width>=640px){.inline-add-row{flex-direction:row}.inline-add-row>input{flex:1;width:auto}.inline-add-row>button{flex-shrink:0;width:auto}}.ui-btn{height:44px;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), opacity var(--dur) var(--ease), filter var(--dur) var(--ease)}.ui-btn:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.ui-btn{height:40px}}@media (hover:hover){.ui-btn-primary:hover:not(:disabled){filter:brightness(1.06)}}.ui-input{box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);width:100%;height:44px;color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none;padding:0 14px;font-family:inherit;font-size:15px}.ui-input::placeholder{color:var(--text-subtle)}.ui-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.ui-input{resize:vertical;height:auto;min-height:88px;padding:12px 14px}select.ui-input{cursor:pointer}@media (hover:hover) and (pointer:fine){.ui-input{height:40px}textarea.ui-input{height:auto}}.ui-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.ui-card-int{cursor:pointer}@media (hover:hover){.ui-card-int:hover{border-color:var(--border-hover);background:var(--bg-elevated)}}.ui-row{transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease)}@media (hover:hover){.ui-row:hover{background:var(--bg-elevated)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
