:root{--bg-deep:#05070d;--bg:#080b13;--bg-raised:#0d111c;--bg-card:#0f1420;--bg-sidebar:#060911;--line:#78aaff1f;--line-strong:#78aaff47;--neon:#2f8fff;--neon-bright:#6fb4ff;--neon-deep:#0a4fa8;--red:#e8402f;--amber:#e8a02f;--green:#2fe8a0;--text:#f2f5fb;--text-soft:#a9b4c9;--text-dim:#6b7689;--font-display:"Bebas Neue", "Impact", sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--glow-sm:0 0 12px #2f8fff66;--glow-md:0 0 26px #2f8fff52;--radius:12px;--radius-lg:18px;--sidebar-w:244px;--topbar-h:68px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.015em;text-transform:uppercase;margin:0;font-weight:400;line-height:.98}h1{font-size:clamp(1.9rem,3vw,2.5rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--neon-bright);outline-offset:2px}.btn{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.3rem;font-size:.76rem;font-weight:700;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--neon) 0%, var(--neon-deep) 100%);color:#fff;box-shadow:var(--glow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--glow-md)}.btn-ghost{border-color:var(--line-strong);color:var(--text);background:#ffffff05}.btn-ghost:hover:not(:disabled){border-color:var(--neon);color:var(--neon-bright)}.btn-danger{color:#ffb3ab;background:#e8402f14;border-color:#e8402f66}.btn-danger:hover:not(:disabled){border-color:var(--red);background:#e8402f29}.btn-sm{padding:.5rem .9rem;font-size:.68rem}.btn-icon{border-radius:8px;flex:none;width:34px;height:34px;padding:.5rem}@media (width<=640px){.btn-icon{width:44px;height:44px}}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field>span{letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);font-size:.68rem;font-weight:700}.field-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:border-color .25s var(--ease), box-shadow .25s var(--ease);background:#ffffff09;border-radius:8px;padding:.7rem .9rem;font-size:.9rem}input::placeholder,textarea::placeholder{color:var(--text-dim)}input[type=time]::-webkit-datetime-edit{color:var(--text)}input[type=time]::-webkit-datetime-edit-fields-wrapper{color:var(--text)}input[type=time]::-webkit-datetime-edit-hour-field{color:var(--text)}input[type=time]::-webkit-datetime-edit-minute-field{color:var(--text)}input[type=time]::-webkit-datetime-edit-second-field{color:var(--text)}input[type=time]::-webkit-datetime-edit-ampm-field{color:var(--text)}input[type=date]::-webkit-datetime-edit{color:var(--text)}input[type=date]::-webkit-datetime-edit-fields-wrapper{color:var(--text)}input[type=date]::-webkit-datetime-edit-day-field{color:var(--text)}input[type=date]::-webkit-datetime-edit-month-field{color:var(--text)}input[type=date]::-webkit-datetime-edit-year-field{color:var(--text)}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input[type=time]::-webkit-clear-button{filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input[type=time]::-webkit-inner-spin-button{filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input[type=date]::-webkit-clear-button{filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input[type=date]::-webkit-inner-spin-button{filter:invert(74%)sepia(54%)saturate(560%)hue-rotate(181deg)brightness(103%)contrast(102%)!important;opacity:1!important}input:focus,select:focus,textarea:focus{border-color:var(--neon);outline:none;box-shadow:0 0 0 3px #2f8fff24}textarea{resize:vertical;min-height:80px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236fb4ff' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;padding-right:2.4rem}.checkbox{color:var(--text-soft);cursor:pointer;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--neon);flex:none}.form-error{color:#ffd2ce;background:linear-gradient(100deg,#ff6b5e29,#59141929);border:1px solid #ff6b5e70;border-radius:12px;align-items:flex-start;gap:.7rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.85rem;display:flex;position:relative;box-shadow:inset 3px 0 #ff6b5e}.form-error:before{content:"!";color:#210b0d;background:#ff6b5e;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font-weight:900;display:grid}.form-success{color:#bcf6df;background:linear-gradient(100deg,#39b1892b,#113a4924);border:1px solid #59d3a36b;border-radius:12px;align-items:flex-start;gap:.7rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.85rem;display:flex;position:relative;box-shadow:inset 3px 0 #59d3a3}.form-success:before{content:"✓";color:#06251d;background:#59d3a3;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font-weight:900;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.admin-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.sidebar__brand{align-items:center;gap:.7rem;padding:.4rem .6rem 1.6rem;display:flex}.sidebar__brand img{border:1px solid var(--line-strong);border-radius:9px;width:34px;height:34px}.sidebar__brand-text{font-family:var(--font-display);letter-spacing:.04em;font-size:1.15rem;line-height:1}.sidebar__brand-text span{font-family:var(--font-body);letter-spacing:.22em;color:var(--text-dim);margin-top:.25rem;font-size:.6rem;font-weight:700;display:block}.sidebar__nav{flex-direction:column;flex:1;gap:1.3rem;min-height:0;display:flex;overflow-y:auto}.sidebar__group{flex-direction:column;gap:.15rem;display:flex}.sidebar__group-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);opacity:.75;margin:0 0 .4rem;padding:0 .75rem;font-size:.63rem;font-weight:700}.sidebar__link{color:var(--text-soft);transition:background .18s var(--ease), color .18s var(--ease);border-radius:9px;align-items:center;gap:.65rem;padding:.5rem .7rem;font-size:.82rem;font-weight:600;display:flex}.sidebar__link-icon{width:26px;height:26px;color:var(--neon-bright);transition:background .18s var(--ease), color .18s var(--ease);border-radius:7px;flex:none;place-items:center;display:grid}.sidebar__link-icon svg,.sidebar__link-icon svg *{stroke:currentColor!important;fill:none!important}.sidebar__link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar__link-badge{min-width:18px;height:18px;font-family:var(--font-mono);color:var(--amber);background:#e8a02f29;border-radius:999px;flex:none;place-items:center;padding:0 5px;font-size:.66rem;font-weight:700;display:grid}.sidebar__link:hover{color:var(--text);background:#ffffff09}.sidebar__link:hover .sidebar__link-icon{color:var(--neon-bright);background:#2f8fff1a}.sidebar__link.is-active{color:var(--text);background:#2f8fff1f}.sidebar__link.is-active .sidebar__link-icon{background:linear-gradient(135deg, var(--neon) 0%, var(--neon-deep) 100%);color:#fff;box-shadow:var(--glow-sm)}.sidebar__link.is-active .sidebar__link-badge{color:#fff;background:#ffffff29}.sidebar__foot{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}.sidebar__user{align-items:center;gap:.6rem;padding:.4rem .6rem .8rem;display:flex}.sidebar__user-avatar{background:linear-gradient(135deg, var(--neon) 0%, var(--neon-deep) 100%);width:32px;height:32px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:.95rem;display:grid}.sidebar__user-email{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.sidebar__logout{color:#ffb3ab;background:#e8402f0e;border-color:#e8402f40;justify-content:flex-start;width:100%;min-height:40px}.sidebar__logout:hover:not(:disabled){color:#fff;background:#e8402f24;border-color:#e8402fa6}.main{flex-direction:column;min-width:0;display:flex}.topbar{min-height:var(--topbar-h);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#080b13d9;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 2rem;display:flex;position:sticky;top:0}.topbar__title{align-items:center;gap:.9rem;min-width:0;display:flex}.topbar__crumb{align-items:baseline;gap:.55rem;min-width:0;display:flex}.topbar__crumb span{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:.68rem;font-weight:700}.topbar__crumb em{color:var(--line-strong);font-size:.8rem;font-style:normal}.topbar__crumb h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.25rem;overflow:hidden}#admin-nav-toggle{border-color:var(--line-strong);color:var(--neon-bright);background:#2f8fff14;display:none}#admin-nav-toggle:hover{border-color:var(--neon);color:#fff;background:#2f8fff29}.sidebar-backdrop{display:none}.topbar__actions{gap:.6rem;display:flex}.page{flex:1;min-width:0;padding:2rem;overflow-x:hidden}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.sidebar-backdrop{z-index:49;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#01040aad;border:0;display:block;position:fixed;inset:0}.sidebar{width:min(84vw,332px);height:100dvh;padding:1.15rem .85rem calc(1rem + env(safe-area-inset-bottom));transition:transform .3s var(--ease);z-index:50;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 60px #00000080}.sidebar.is-open{transform:none}.sidebar__brand{padding-bottom:1.1rem}.sidebar__nav{gap:.9rem}.sidebar__link{min-height:42px}.page,.topbar{padding-inline:1.1rem}#admin-nav-toggle{display:grid!important}}@media (width<=360px){.page,.topbar{padding-inline:.8rem}.topbar,.topbar__title{gap:.6rem}.topbar__crumb h1{font-size:1.05rem}.login-card{padding:1.6rem 1.2rem}}@keyframes login-drift-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-22px)scale(1.08)}}@keyframes login-drift-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-26px,24px)scale(1.06)}}@keyframes login-reveal{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes login-field-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-logo-pulse{0%,to{box-shadow:0 0 0 0 #2f8fff73, var(--glow-sm)}50%{box-shadow:0 0 0 7px #2f8fff00, var(--glow-md)}}@keyframes login-btn-shimmer{0%{opacity:0;transform:translate(-120%)skew(-18deg)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(320%)skew(-18deg)}}.login-screen{background:var(--bg-deep);place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login-screen:before,.login-screen:after{content:"";pointer-events:none;filter:blur(70px);border-radius:50%;position:absolute}.login-screen:before{background:radial-gradient(circle,#2f8fff38 0%,#2f8fff0f 45%,#0000 72%);width:46vw;height:46vw;animation:22s ease-in-out infinite login-drift-a;top:-18%;right:-12%}.login-screen:after{background:radial-gradient(circle,#e8402f24 0%,#e8402f0a 45%,#0000 72%);width:40vw;height:40vw;animation:28s ease-in-out infinite login-drift-b;bottom:-20%;left:-14%}.login-card{background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-raised) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);z-index:1;width:min(380px,100%);padding:2.2rem;animation:.55s cubic-bezier(.16,1,.3,1) both login-reveal;position:relative;box-shadow:0 30px 70px #0000008c}.login-card__brand{align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.login-card__brand img{border:1px solid var(--line-strong);border-radius:11px;width:42px;height:42px;animation:3s ease-in-out infinite login-logo-pulse}.login-card__brand-text{font-family:var(--font-display);font-size:1.4rem;line-height:1}.login-card__brand-text span{font-family:var(--font-body);letter-spacing:.24em;color:var(--text-dim);margin-top:.3rem;font-size:.62rem;font-weight:700;display:block}.login-card h1{margin-bottom:1.4rem;font-size:1.6rem}.login-card__hint{color:var(--text-soft);margin:-.8rem 0 1.4rem;font-size:.85rem;line-height:1.55}.login-card__forgot{text-align:center;color:var(--text-dim);transition:color .2s var(--ease);margin-top:1.3rem;font-size:.8rem;display:block}.login-card__forgot:hover{color:var(--neon-bright)}.login-card__done{width:52px;height:52px;color:var(--green);background:#2fe8a01f;border-radius:50%;place-items:center;margin:0 auto 1.2rem;display:grid}.login-card .field{opacity:0;animation:.4s ease-out forwards login-field-in}.login-card .field:first-of-type{animation-delay:.12s}.login-card .field:nth-of-type(2){animation-delay:.2s}.login-card form>.btn-primary{opacity:0;isolation:isolate;animation:.4s ease-out .28s forwards login-field-in;position:relative;overflow:hidden}.login-card form>.btn-primary:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff59,#0000);width:28%;height:120%;position:absolute;top:-10%;left:-25%;transform:translate(-120%)skew(-18deg)}.login-card form>.btn-primary:hover:not(:disabled):after{animation:.75s cubic-bezier(.4,0,.2,1) forwards login-btn-shimmer}@media (prefers-reduced-motion:reduce){.login-screen:before,.login-screen:after,.login-card,.login-card__brand img,.login-card .field,.login-card form>.btn-primary{opacity:1;animation:none}}.login-screen--admin{background:radial-gradient(circle at 15% 16%,#2f8fff2e,#0000 28rem),linear-gradient(145deg,#080d17,#05070d 58%,#0b1424);padding:clamp(1rem,4vw,3rem)}.login-screen--admin:before{background:radial-gradient(circle,#4b9dff2b,#0000 68%);top:-30%;right:38%}.login-screen--admin:after{background:radial-gradient(circle,#226cd71f,#0000 67%);bottom:-30%;left:58%}.login-admin{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b14a8;border:1px solid #79aef438;border-radius:24px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.74fr);width:min(1060px,100%);min-height:610px;animation:.55s cubic-bezier(.16,1,.3,1) both login-reveal;display:grid;position:relative;overflow:hidden;box-shadow:0 34px 100px #0000007a}.login-admin__intro{background:linear-gradient(135deg,#14345f9e,#080d18a6 62%,#0a0f1a40);border-right:1px solid #ffffff14;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5.2rem);display:flex;position:relative;overflow:hidden}.login-admin__intro:after{content:"ADMIN";color:#b5d5ff0b;font-family:var(--font-display);letter-spacing:.02em;pointer-events:none;font-size:clamp(7rem,16vw,13rem);line-height:.75;position:absolute;bottom:-1.6rem;right:-1.5rem}.login-admin__brand{color:var(--text);font-family:var(--font-display);align-items:center;gap:.7rem;margin-bottom:clamp(2.4rem,6vw,5rem);font-size:1.65rem;display:flex}.login-admin__brand img{width:42px;height:42px;box-shadow:var(--glow-sm);border:1px solid #8abeff5c;border-radius:12px}.login-admin__brand>span>span{color:var(--neon-bright)}.login-admin__eyebrow,.login-card__eyebrow{color:var(--neon-bright);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .7rem;font-size:.64rem;font-weight:850}.login-admin__intro h1{max-width:610px;margin:0;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.9}.login-admin__copy{z-index:1;max-width:480px;color:var(--text-soft);margin:1.5rem 0 0;font-size:.96rem;line-height:1.75;position:relative}.login-admin__security{z-index:1;max-width:345px;color:var(--neon-bright);border-top:1px solid #94c1fa42;align-items:flex-start;gap:.75rem;margin-top:2.2rem;padding:.85rem 0 0;display:flex;position:relative}.login-admin__security span{color:var(--text-dim);gap:.18rem;font-size:.72rem;line-height:1.45;display:grid}.login-admin__security strong{color:var(--text);font-size:.72rem}.login-screen--admin .login-card{width:100%;box-shadow:none;background:linear-gradient(160deg,#0e1727eb,#080c15f0);border:0;border-radius:0;flex-direction:column;justify-content:center;margin:0;animation:none;display:flex}.login-card--admin .login-card__brand{display:none}.login-card--admin h2{margin:0 0 1.25rem;font-size:2.1rem}.login-card--admin .field,.login-card--admin form>.btn-primary{opacity:1;animation:none}@media (width<=780px){.login-admin{border-radius:20px;grid-template-columns:1fr;min-height:0;overflow:visible}.login-admin__intro{border-bottom:1px solid #ffffff14;border-right:0;min-height:0;padding:2rem 1.5rem 1.8rem}.login-admin__brand{margin-bottom:1.8rem}.login-admin__intro h1{font-size:clamp(2.65rem,12vw,4rem)}.login-admin__copy{margin-top:1rem}.login-admin__security{display:none}.login-screen--admin .login-card{border-radius:0 0 20px 20px;padding:2rem 1.5rem}}@media (width<=420px){.login-screen--admin{padding:.7rem}.login-admin__intro{padding:1.6rem 1.25rem}.login-screen--admin .login-card{padding:1.7rem 1.25rem}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-raised) 100%);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:.9rem;padding:1.2rem 1.3rem;display:flex}.stat-card__icon{width:38px;height:38px;color:var(--neon-bright);background:#2f8fff1f;border-radius:10px;flex:none;place-items:center;display:grid}.stat-card__body{flex-direction:column;min-width:0;display:flex}.stat-card__label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;font-size:.66rem;font-weight:700}.stat-card__value{font-family:var(--font-mono);color:var(--text);font-size:1.7rem;font-weight:600;line-height:1}.stat-card__hint{color:var(--text-soft);margin-top:.5rem;font-size:.76rem}.stat-card__hint a{color:var(--neon-bright)}.page-welcome{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.6rem;display:flex}.page-welcome h1{font-size:1.5rem}.page-welcome__date{font-family:var(--font-mono);color:var(--text-dim);text-transform:capitalize;font-size:.78rem}.panel{background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-raised) 100%);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.5rem}.panel__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.4rem;display:flex}.panel__head h2{font-size:1.05rem}.panel__body{padding:1.4rem}.promotion-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.promotion-form__grid>.btn{justify-self:start}.promotion-form__discount{gap:.5rem;display:flex}.promotion-form__discount input{flex:1;min-width:0}.promotion-form__discount select{width:72px}.promotion-form__services{border:1px solid var(--line);border-radius:12px;grid-column:1/-1;margin:0;padding:1rem}.promotion-form__services legend{color:var(--text);padding:0 .35rem;font-weight:700}.promotion-form__services p{color:var(--text-dim);margin:0 0 .8rem;font-size:.8rem}.promotion-form__services .checkbox{margin:0 .9rem .5rem 0;display:inline-flex}.promotion-list{gap:.8rem;padding:1rem;display:grid}.promotion-card{border:1px solid var(--line);background:#ffffff04;border-radius:14px;grid-template-columns:1fr auto;gap:1rem;padding:1rem;display:grid}.promotion-card h3{margin:.55rem 0 .3rem;font-size:1rem}.promotion-card p{color:var(--text-dim);margin:.25rem 0;font-size:.8rem}.promotion-card__actions{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.promotion-codes{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem;margin:0;padding:.8rem 0 0;list-style:none;display:grid}.promotion-codes li{background:var(--bg-raised);color:var(--text-dim);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.72rem;display:flex}.promotion-codes code{color:var(--neon-bright);font-family:var(--font-mono)}.promotion-generate-form{gap:1rem;display:grid}.promotion-generate-form>p{border-left:3px solid var(--neon-bright);color:var(--text-soft);background:#2f8fff17;border-radius:8px;margin:0;padding:.75rem .85rem;font-size:.82rem;line-height:1.5}.promotion-generate-form small{color:var(--text-dim);margin-top:.45rem;font-size:.73rem;line-height:1.35;display:block}@media (width<=640px){.promotion-form__grid{grid-template-columns:1fr}.promotion-form__services{grid-column:auto}.promotion-card{grid-template-columns:1fr}.promotion-card__actions{flex-flow:wrap}}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.86rem}.data-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--line);white-space:nowrap;padding:.9rem 1.4rem;font-size:.64rem;font-weight:700}.data-table td{border-bottom:1px solid var(--line);color:var(--text-soft);vertical-align:middle;padding:.85rem 1.4rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .2s var(--ease)}.data-table tbody tr:hover{background:#ffffff05}.data-table .cell-strong{color:var(--text);font-weight:600}.data-table .cell-mono{font-family:var(--font-mono);color:var(--text)}.data-table .cell-actions{justify-content:flex-end;gap:.4rem;display:flex}@media (width<=640px){.table-wrap{overflow:visible}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{display:none}.data-table tbody{padding:.7rem}.data-table tbody tr{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04;margin-bottom:.7rem;padding:.25rem 1rem}.data-table tbody tr:last-child{margin-bottom:0}.data-table td{border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere;min-height:2.8rem;padding:.65rem 0 .65rem max(42%,8.5rem);position:relative}.data-table td:before{content:attr(data-label);width:calc(42% - .75rem);color:var(--text-dim);letter-spacing:.1em;text-align:left;text-transform:uppercase;font-size:.64rem;font-weight:700;position:absolute;top:.65rem;left:0}.data-table .cell-contact{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.data-table .cell-actions{justify-content:flex-end;align-items:center;min-height:3.5rem}.data-table td[data-label=Visuel] img,.data-table td[data-label=Visuel] .image-picker__placeholder{margin-left:auto}}@media (width>=641px) and (width<=1100px){.table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.data-table{min-width:920px}.data-table th,.data-table td{padding-inline:1rem}}.badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.32rem .7rem;font-size:.66rem;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{color:var(--text-soft);background:#a9b4c91f}.badge-warn{color:var(--amber);background:#e8a02f21}.badge-ok{color:var(--green);background:#2fe8a021}.badge-info{color:var(--neon-bright);background:#2f8fff21}.badge-danger{color:#ff8577;background:#e8402f21}.empty-state{text-align:center;color:var(--text-dim);padding:3rem 1.5rem}.empty-state svg{opacity:.5;margin:0 auto 1rem}.empty-state p{font-size:.88rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:modal-fade .2s var(--ease);background:#03050ab8;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-raised) 100%);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(88vh,100dvh - 3rem);animation:modal-rise .25s var(--ease);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 40px 90px #0009}.modal--wide{width:min(760px,100%)}@keyframes modal-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;display:flex}.modal__head h2{font-size:1.15rem}.modal__close{color:var(--text-dim);background:0 0;border:none;border-radius:6px;place-items:center;padding:.3rem;display:grid}.modal__close:hover{color:var(--text);background:#ffffff0d}.modal__body{overscroll-behavior:contain;min-height:0;padding:1.5rem;overflow-y:auto}.modal__foot{border-top:1px solid var(--line);flex:none;justify-content:flex-end;gap:.6rem;padding:1.1rem 1.5rem;display:flex}@media (width<=480px){.modal-overlay{align-items:end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:100dvh}.modal__head,.modal__body,.modal__foot{padding-inline:1rem}.modal__foot{padding-bottom:max(1rem, env(safe-area-inset-bottom))}}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:modal-fade .2s var(--ease);background:#03050ab8;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.confirm-overlay__content{text-align:center;animation:modal-rise .25s var(--ease);flex-direction:column;align-items:center;gap:1.4rem;display:flex}.confirm-overlay__content p{color:var(--text);margin:0;font-size:1.15rem}.confirm-overlay__actions{gap:.8rem;display:flex}.res-toolbar{border-bottom:1px solid var(--line);background:#ffffff03;grid-template-columns:minmax(230px,.8fr) minmax(0,1.7fr);gap:1.2rem;padding:1.2rem 1.4rem;display:grid}.reservation-workspace{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg, var(--bg-card), var(--bg-raised));overflow:hidden}.reservation-workspace__hero{background:radial-gradient(circle at 100% 0,#2f8fff29,#0000 38%);justify-content:space-between;align-items:center;gap:1rem;padding:1.55rem 1.4rem;display:flex}.reservation-workspace__eyebrow{color:var(--neon-bright);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.45rem;font-size:.65rem;font-weight:800;display:block}.reservation-workspace__hero h2{margin:0;font-size:1.35rem}.reservation-workspace__hero p{color:var(--text-soft);margin:.4rem 0 0;font-size:.82rem}.reservation-workspace__metric{border:1px solid var(--line-strong);background:#040b185c;border-radius:10px;flex-direction:column;align-items:flex-end;gap:.2rem;padding:.65rem .85rem;display:flex}.reservation-workspace__metric strong{font-family:var(--font-mono);color:var(--neon-bright);font-size:1.45rem;line-height:1}.reservation-workspace__metric span{color:var(--text-dim);font-size:.68rem}.res-toolbar__search,.res-toolbar__filters{min-width:0}.res-toolbar__search>span,.res-toolbar__filters-head span{color:var(--text-dim);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem;font-size:.62rem;font-weight:800;display:block}.res-toolbar__filters-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.res-toolbar__filters-head small{color:var(--text-dim);font-size:.7rem}.search-field{border:1px solid var(--line);width:100%;color:var(--text-dim);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);background:#ffffff09;border-radius:8px;align-items:center;gap:.6rem;padding:0 .9rem;display:flex}.search-field:focus-within{border-color:var(--neon);box-shadow:0 0 0 3px #2f8fff24}.search-field svg{flex:none}.search-field input{background:0 0;border:none;padding:.7rem 0;box-shadow:none!important}.status-filter{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.status-filter__item{border:1px solid var(--line);min-height:42px;color:var(--text-soft);transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);background:#ffffff05;border-radius:9px;justify-content:space-between;align-items:center;gap:.35rem;padding:.5rem .65rem;font-size:.76rem;font-weight:600;display:flex}.status-filter__item:hover{border-color:var(--line-strong);color:var(--text)}.status-filter__item.is-active{border-color:var(--neon);color:var(--neon-bright);background:#2f8fff1a}.status-filter__count{font-family:var(--font-mono);color:var(--text-dim);font-size:.7rem}@media (width<=760px){.reservation-workspace__hero{padding:1.25rem 1rem}.reservation-workspace__hero p{line-height:1.45}.res-toolbar{grid-template-columns:1fr;gap:1rem;padding:1rem}.status-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.status-filter__item:first-child{grid-column:1/-1}.res-toolbar__filters-head small{text-align:right}}.status-filter__item.is-active .status-filter__count{color:var(--neon-bright)}.cell-contact{flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.cell-contact__dim{color:var(--text-dim)}.pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:.8rem;padding:1rem 1.4rem 1.25rem;display:flex}.pagination__nav{border:1px solid var(--line-strong);min-height:40px;color:var(--text);transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.76rem;font-weight:600;display:inline-flex}.pagination__nav:hover:not(:disabled){border-color:var(--neon);color:var(--neon-bright);background:#2f8fff14}.pagination__position{text-align:center;flex-direction:column;align-items:center;gap:.18rem;min-width:142px;display:flex}.pagination__position strong{font-family:var(--font-mono);color:var(--text);font-size:.78rem;font-weight:600}.pagination__position span{color:var(--text-dim);font-size:.66rem}@media (width<=440px){.pagination{gap:.45rem;padding-inline:.75rem}.pagination__nav{min-width:40px;padding-inline:.55rem;font-size:0}.pagination__nav span{font-size:1rem}.pagination__position{min-width:128px}}.week-switch{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;padding:1.1rem 1.4rem;display:flex}.week-switch__nav{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--text);transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);background:#ffffff05;border-radius:8px;flex:none;place-items:center;font-size:1rem;display:grid}.week-switch__nav:hover{border-color:var(--neon);color:var(--neon-bright);background:#2f8fff14}.week-switch__label{flex-direction:column;align-items:center;gap:.4rem;min-width:min(220px,100%);display:flex}.week-switch__range{font-family:var(--font-display);letter-spacing:.03em;color:var(--text);font-size:1.35rem}.week-switch__reset{color:var(--neon-bright);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;font-size:.7rem;font-weight:600;text-decoration:underline}.callout{border-radius:var(--radius);background:#e8a02f14;border:1px solid #e8a02f47;align-items:flex-start;gap:.8rem;margin-bottom:1.3rem;padding:.9rem 1.1rem;display:flex}.callout svg{color:var(--amber);flex:none;margin-top:2px}.callout p{color:var(--text-soft);margin:0;font-size:.82rem;line-height:1.5}.switch{cursor:pointer;flex:none;width:42px;height:24px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch__track{border:1px solid var(--line-strong);transition:background .25s var(--ease), border-color .25s var(--ease);background:#ffffff14;border-radius:999px;position:absolute;inset:0}.switch__track:before{content:"";background:var(--text-soft);width:18px;height:18px;transition:transform .25s var(--ease), background .25s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch__track{background:linear-gradient(135deg, var(--neon) 0%, var(--neon-deep) 100%);border-color:var(--neon)}.switch input:checked+.switch__track:before{background:#fff;transform:translate(18px)}.switch input:focus-visible+.switch__track{box-shadow:0 0 0 3px #2f8fff40}.jours-liste{flex-direction:column;gap:.6rem;display:flex}.jour-row{border:1px solid var(--line);border-radius:var(--radius);transition:border-color .25s var(--ease), background .25s var(--ease);background:#ffffff04;flex-direction:column;gap:.8rem;padding:.85rem 1.1rem;display:flex}.jour-row.is-actif{border-color:var(--line-strong);background:#2f8fff0d}.jour-row__head{align-items:center;gap:1.1rem;display:flex}.jour-row__name{color:var(--text);font-size:.9rem;font-weight:600}.jour-row__head .btn{flex:none;margin-left:auto}.jour-row__closed{color:var(--text-dim);font-size:.82rem;font-style:italic}.jour-row__status{color:var(--text-dim);letter-spacing:.07em;text-transform:uppercase;background:#ffffff0f;border-radius:999px;padding:.22rem .55rem;font-size:.66rem;font-weight:700}.jour-row__status.is-open{color:var(--green);background:#2fe8a01f}@media (width<=480px){.jour-row__head{flex-wrap:wrap}.jour-row__head .btn{order:3;width:100%;margin-left:0}.jour-row__plages{padding-left:0}.plage-row{flex-wrap:wrap}.plage-row input[type=time]{flex:130px}}.jour-row__plages{flex-direction:column;gap:.5rem;padding-left:calc(42px + 1.1rem);display:flex}.plage-row{grid-template-columns:minmax(0,130px) minmax(0,130px) auto;align-items:center;gap:.6rem;display:grid}.plage-row__field{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.25rem;font-size:.62rem;font-weight:700;display:flex}.plage-row__field input[type=time]{width:100%;min-width:0}.plage-row__remove{width:26px;height:26px;color:var(--text-dim);transition:border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.plage-row__remove:hover{color:#ff8577;background:#e8402f14;border-color:#e8402f66}.plage-row__add{color:var(--neon-bright);background:0 0;border:none;align-self:flex-start;align-items:center;gap:.4rem;padding:.2rem 0;font-size:.76rem;font-weight:600;display:inline-flex}.plage-row__add:hover{text-decoration:underline}@media (width<=640px){.jour-row__plages{padding-left:0}}.blocked-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;align-items:end;gap:1rem;margin-bottom:1.4rem;display:grid}.blocked-form .field{margin-bottom:0}.blocked-form__submit{height:42px}.blocked-list{flex-wrap:wrap;gap:.6rem;display:flex}.blocked-chip{color:#ff8577;font-size:.78rem;font-weight:600;font-family:var(--font-mono);background:#e8402f21;border-radius:999px;align-items:center;gap:.6rem;padding:.5rem .5rem .5rem .9rem;display:inline-flex}.blocked-chip button{width:20px;height:20px;color:inherit;transition:background .2s var(--ease);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.blocked-chip button:hover{background:#ffffff2e}@media (width<=640px){.week-switch{padding:.9rem}.week-switch__label{min-width:0}.week-switch__range{text-align:center}.jour-row{gap:1rem;padding:1rem}.jour-row__head{gap:.7rem}.jour-row__name{font-size:1rem}.jour-row__plages{gap:.75rem}.plage-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:.5rem}.plage-row__field{gap:.15rem;font-size:.58rem}.plage-row__field input[type=time]{flex:none;height:auto;padding:.45rem .5rem;font-size:.82rem}.plage-row__remove{align-self:end;width:38px;height:38px}.plage-row__add{min-height:44px;padding:.5rem 0}.blocked-form{grid-template-columns:1fr;gap:.75rem}.blocked-form__submit{width:100%;height:44px}.blocked-chip button{width:32px;height:32px}}.availability-workspace{gap:1rem;display:grid}.availability-hero,.availability-schedule,.availability-blocks{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg, var(--bg-card), var(--bg-raised));overflow:hidden}.availability-hero{background:radial-gradient(circle at right top, #2f8fff29, transparent 42%), linear-gradient(160deg, var(--bg-card), var(--bg-raised));grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);align-items:center;gap:1.5rem;padding:1.45rem;display:grid}.availability-hero__copy>span,.availability-schedule__head>div>span,.availability-blocks__head>div>span{color:var(--neon-bright);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.45rem;font-size:.64rem;font-weight:800;display:block}.availability-hero h2{margin:0;font-size:1.35rem}.availability-hero p{max-width:52ch;color:var(--text-soft);margin:.45rem 0 0;font-size:.82rem;line-height:1.5}.availability-hero .week-switch{justify-content:flex-end;gap:.8rem;padding:0}.availability-hero .week-switch__label{min-width:190px}.availability-hero .week-switch__range{font-family:var(--font-mono);font-size:.82rem}.availability-hero .week-switch__nav{width:38px;height:38px}.availability-schedule__head,.availability-blocks__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;display:flex}.availability-schedule__head h3,.availability-blocks__head h3{margin:0;font-size:1rem}.availability-schedule__head>strong{color:var(--neon-bright);font-family:var(--font-mono);align-items:baseline;gap:.25rem;font-size:1.35rem;display:flex}.availability-schedule__head>strong small{color:var(--text-dim);font-family:var(--font-body);font-size:.68rem;font-weight:600}.availability-schedule__body,.availability-blocks__body{padding:1rem}.availability-notice{color:var(--text-dim);background:#2f8fff0e;border:1px solid #2f8fff33;border-radius:9px;align-items:center;gap:.55rem;margin-bottom:.9rem;padding:.75rem .85rem;display:flex}.availability-notice svg{color:var(--neon-bright);flex:none}.availability-notice p{margin:0;font-size:.76rem}.availability-schedule .jours-liste{gap:.65rem}.availability-day{gap:.75rem;padding:.8rem 1rem;position:relative}.availability-day.is-actif{border-color:#2f8fff66}.availability-day__identity{align-items:center;gap:.7rem;min-width:150px;display:flex}.availability-day__index{width:26px;height:26px;color:var(--text-dim);font-family:var(--font-mono);background:#ffffff0f;border-radius:7px;place-items:center;font-size:.64rem;display:grid}.availability-day.is-actif .availability-day__index{color:var(--neon-bright);background:#2f8fff29}.availability-day__save{min-width:104px}.availability-day__closed{color:var(--text-dim);margin:-.15rem 0 0 calc(42px + 1.1rem);font-size:.76rem}.availability-blocks{border-color:#e8402f40}.availability-blocks__head{background:linear-gradient(115deg,#e8402f14,#0000 55%)}.availability-blocks__head p{color:var(--text-dim);margin:.35rem 0 0;font-size:.76rem}.availability-blocks__head>svg{color:#ff8577}.availability-blocks .blocked-form{border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:1rem}.availability-blocks .empty-state{padding:1.8rem}@media (width<=700px){.availability-hero{grid-template-columns:1fr;padding:1.2rem 1rem}.availability-hero .week-switch{justify-content:center}.availability-schedule__head,.availability-blocks__head{padding:1rem}.availability-schedule__body,.availability-blocks__body{padding:.75rem}.availability-day__identity{min-width:0}.availability-day__closed{margin-left:0}.availability-day .jour-row__head{grid-template-columns:42px minmax(0,1fr) auto;gap:.65rem;display:grid}.availability-day .jour-row__status{grid-column:2;justify-self:start}.availability-day .availability-day__save{grid-area:1/3/span 2;min-width:0;margin:0}.availability-day .jour-row__plages{padding-left:0}.availability-blocks__head p{line-height:1.45}}@media (width<=430px){.availability-hero .week-switch__label{min-width:150px}.availability-hero .week-switch__range{font-size:.72rem}.availability-day .jour-row__head{grid-template-columns:42px minmax(0,1fr)}.availability-day .availability-day__save{grid-area:auto/1/auto/-1;width:100%}.availability-day .jour-row__status{grid-column:2}.availability-day .jour-row__plages{gap:.55rem}}.image-picker{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff04;align-items:center;gap:1.2rem;padding:1rem;display:flex}.image-picker__preview{border:1px solid var(--line-strong);object-fit:cover;background:var(--bg-raised);border-radius:12px;flex:none;width:96px;height:96px}.image-picker__placeholder{border:1px dashed var(--line-strong);width:96px;height:96px;color:var(--text-dim);border-radius:12px;flex:none;place-items:center;display:grid}.image-picker__body{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.image-picker__hint{color:var(--text-dim);margin:0;font-size:.78rem}.image-picker input[type=file]{display:none}.service-form__intro{color:var(--text-dim);margin:-.25rem 0 1.5rem;font-size:.82rem;line-height:1.55}.service-form__visual-section{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#2f8fff14,#ffffff04 58%);padding:1.1rem}.service-form__visual-section .form-section__label{margin-bottom:.85rem}.service-form__image-picker{background:0 0;border:0;padding:0}.service-form__image-picker .image-picker__preview,.service-form__image-picker .image-picker__placeholder{width:112px;height:112px}.service-form__image-picker .image-picker__placeholder{letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.4rem;font-size:.68rem;font-weight:700}.service-form__image-picker .image-picker__body{gap:.55rem}.service-form__image-picker .image-picker__body strong{color:var(--text);font-size:.88rem}.service-form__image-actions{flex-wrap:wrap;gap:.5rem;margin-top:.2rem;display:flex}.service-form__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.service-form__details .field{margin-bottom:1rem}.service-form__field--wide{grid-column:1/-1}.service-form__details textarea{min-height:104px}.service-form__workspace{grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);align-items:start;gap:1rem;display:grid}.service-form__section{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff03;margin:0;padding:1.1rem}.service-form__section--details{grid-row:span 2}.service-form__section .form-section__label{margin-bottom:.75rem}.service-form__section-hint{color:var(--text-dim);margin:-.1rem 0 1rem;font-size:.76rem;line-height:1.45}.service-form__pricing-grid{grid-template-columns:1fr 1fr;gap:.7rem}.service-form__pricing-grid .field{margin:0}.service-form__pricing-grid .field:last-child,.service-form__section--variants{grid-column:1/-1}.service-form__section--variants>.btn{min-height:38px}@media (width<=480px){.service-form__visual-section{padding:.9rem}.service-form__image-picker .image-picker__preview,.service-form__image-picker .image-picker__placeholder{width:88px;height:88px}.service-form__image-actions{width:100%}.service-form__image-actions .btn{flex:100%}.service-form__details{grid-template-columns:1fr;gap:0}.service-form__workspace{grid-template-columns:1fr;gap:.8rem}.service-form__section--details,.service-form__section--variants{grid-area:auto}.service-form__section{padding:.9rem}.service-form__pricing-grid{grid-template-columns:1fr 1fr}.service-form__field--wide{grid-column:auto}.image-picker{flex-direction:column;align-items:flex-start}.image-picker__body{width:100%}}.reservation-list{gap:.75rem;padding:1rem;display:grid}.reservation-card{border:1px solid var(--line);min-width:0;transition:border-color .2s var(--ease), transform .2s var(--ease), background .2s var(--ease);background:#ffffff05;border-radius:14px;grid-template-columns:150px minmax(0,1fr) auto;display:grid;overflow:hidden}.reservation-card:hover{border-color:var(--line-strong);background:#2f8fff0b;transform:translateY(-1px)}.reservation-card__when{border-right:1px solid var(--line);background:linear-gradient(145deg,#2f8fff24,#2f8fff06);flex-direction:column;justify-content:center;gap:.2rem;padding:1rem 1.15rem;display:flex}.reservation-card__when span,.reservation-card__eyebrow,.reservation-card__deposit small{letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim);font-size:.61rem;font-weight:800}.reservation-card__when strong{font-family:var(--font-mono);color:var(--text);font-size:1.35rem}.reservation-card__when time{color:var(--text-soft);font-family:var(--font-mono);font-size:.74rem}.reservation-card__client{min-width:0;padding:1rem 1.15rem}.reservation-card__topline,.reservation-card__footer,.reservation-card__contact{align-items:center;gap:.7rem;display:flex}.reservation-card__topline{justify-content:space-between}.reservation-card__client h3{margin:.18rem 0 0;font-size:1rem}.reservation-card__status{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.reservation-card__service{color:var(--text-soft);margin:.55rem 0;font-size:.86rem}.reservation-card__contact{flex-wrap:wrap;gap:.15rem .8rem;font-size:.75rem}.reservation-card__contact a{color:var(--text-dim);overflow-wrap:anywhere}.reservation-card__contact a:hover{color:var(--neon-bright)}.reservation-card__footer{border-left:1px solid var(--line);align-self:stretch;padding:1rem 1.1rem}.reservation-card__deposit{min-width:58px;font-family:var(--font-mono);color:var(--text);flex-direction:column;gap:.32rem;font-size:.9rem;display:flex}.reservation-card__actions{align-items:center;gap:.4rem;display:flex}.gallery-studio{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg, var(--bg-card), var(--bg-raised));overflow:hidden}.gallery-studio__hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 100% 0,#2f8fff29,#0000 34%);justify-content:space-between;align-items:center;gap:1.25rem;padding:1.7rem;display:flex}.gallery-studio__eyebrow{color:var(--neon-bright);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;font-size:.66rem;font-weight:800;display:block}.gallery-studio__hero h2{margin:0;font-size:1.35rem}.gallery-studio__hero p{max-width:54ch;color:var(--text-soft);margin:.45rem 0 0;font-size:.84rem;line-height:1.55}.gallery-studio__summary{border-bottom:1px solid var(--line);grid-template-columns:135px 135px minmax(0,1fr);align-items:stretch;gap:.7rem;padding:1rem 1.4rem;display:grid}.gallery-summary-card{border:1px solid var(--line);background:#ffffff05;border-radius:10px;flex-direction:column;justify-content:center;gap:.25rem;min-height:72px;padding:.7rem .85rem;display:flex}.gallery-summary-card--published{background:#2fe8a00f;border-color:#2fe8a047}.gallery-summary-card strong{font-family:var(--font-mono);color:var(--text);font-size:1.35rem}.gallery-summary-card span{color:var(--text-dim);font-size:.67rem;line-height:1.3}.gallery-studio__summary>p{color:var(--text-dim);align-items:center;gap:.55rem;margin:0;padding:.7rem;font-size:.77rem;line-height:1.5;display:flex}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;padding:1.4rem;display:grid}.gallery-item{border:1px solid var(--line);transition:border-color .2s var(--ease), transform .2s var(--ease);background:#ffffff04;border-radius:12px;overflow:hidden}.gallery-item:hover{border-color:var(--line-strong);transform:translateY(-2px)}.gallery-item.is-published{border-color:#2fe8a057}.gallery-item__image{position:relative;overflow:hidden}.gallery-item img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .35s var(--ease);display:block}.gallery-item:hover img{transform:scale(1.03)}.gallery-item__badge{position:absolute;top:.65rem;left:.65rem;box-shadow:0 4px 12px #00000040}.gallery-item__actions{justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem;display:flex}.gallery-item__remove{width:34px;height:34px;color:var(--text-dim);transition:border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;display:grid}.gallery-item__remove:hover{color:#ff8577;background:#e8402f1a;border-color:#e8402f66}.gallery-empty{text-align:center;color:var(--text-dim);justify-items:center;padding:4rem 1.5rem;display:grid}.gallery-empty svg{color:var(--neon-bright);margin-bottom:.8rem}.gallery-empty h3{color:var(--text);margin:0;font-size:1rem}.gallery-empty p{margin:.45rem 0 1rem;font-size:.82rem}@media (width<=640px){.reservation-list{gap:.65rem;padding:.75rem}.reservation-card{grid-template-columns:1fr}.reservation-card__when{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.2rem .7rem;padding:.8rem .9rem;display:grid}.reservation-card__when span{grid-column:1}.reservation-card__when strong{grid-area:1/2/span 2;font-size:1.18rem}.reservation-card__when time{grid-column:1}.reservation-card__client{padding:.9rem}.reservation-card__topline{align-items:flex-start}.reservation-card__status{max-width:52%}.reservation-card__footer{border-top:1px solid var(--line);border-left:0;justify-content:space-between;padding:.75rem .9rem}.reservation-card__actions .btn-sm{min-height:38px}.gallery-studio__hero{flex-direction:column;align-items:flex-start;padding:1.25rem}.gallery-studio__hero .btn{width:100%}.gallery-studio__summary{grid-template-columns:1fr 1fr;padding:.85rem}.gallery-studio__summary>p{grid-column:1/-1;padding:.2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.85rem}.gallery-item__actions .btn{min-width:0;padding-inline:.5rem}}.form-section{margin-bottom:1.8rem}.form-section__label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.7rem;margin-bottom:1rem;font-size:.72rem;font-weight:700;display:flex}.form-section__label:after{content:"";background:var(--line);flex:1;height:1px}.form-section .field:last-child{margin-bottom:0}.variant-list{flex-direction:column;gap:.6rem;margin-bottom:.9rem;display:flex}.variant-row{border:1px solid var(--line);background:#ffffff04;border-radius:10px;grid-template-columns:1fr 130px 34px;align-items:center;gap:.7rem;padding:.6rem;display:grid}.variant-row input{margin:0}@media (width<=480px){.variant-row{grid-template-columns:1fr 34px}.variant-row input:first-child{grid-column:1/-1}}.toast{z-index:200;background:linear-gradient(160deg, var(--bg-card) 0%, var(--bg-raised) 100%);border:1px solid var(--line-strong);animation:toast-rise .32s var(--ease);border-radius:14px;align-items:flex-start;gap:.75rem;max-width:min(430px,100vw - 2rem);padding:.9rem;font-size:.85rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden;box-shadow:0 20px 50px #00000080}.toast:before{content:"";background:var(--neon-bright);width:3px;position:absolute;inset:0 auto 0 0}.toast__icon{width:34px;height:34px;color:var(--neon-bright);background:#2f8fff24;border-radius:10px;flex:none;place-items:center;display:grid}.toast__content{min-width:0;margin-right:auto}.toast__content strong{color:var(--text);margin:.05rem 0 .15rem;font-size:.78rem;display:block}.toast p{color:var(--text-soft);margin:0;font-size:.8rem;line-height:1.42}.toast>button{width:30px;height:30px;color:var(--text-dim);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.toast>button:hover{color:var(--text);background:#ffffff14}.toast.is-error{border-color:#ff6b5e85}.toast.is-error:before{background:#ff6b5e}.toast.is-error .toast__icon{color:#ff8577;background:#ff6b5e26}.toast.is-success{border-color:#59d3a375}.toast.is-success:before{background:#59d3a3}.toast.is-success .toast__icon{color:#72e6b6;background:#59d3a324}.toast.is-warning{border-color:#e8a02f80}.toast.is-warning:before{background:var(--amber)}.toast.is-warning .toast__icon{color:var(--amber);background:#e8a02f29}.toast.is-info .toast__icon{color:var(--neon-bright);background:#2f8fff29}@keyframes toast-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.spinner{border:2px solid var(--line-strong);border-top-color:var(--neon-bright);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{color:var(--text-dim);justify-content:center;align-items:center;gap:.7rem;padding:3rem;font-size:.85rem;display:flex}.review-item{border-bottom:1px solid var(--line);gap:.9rem;padding-bottom:1rem;display:flex}.review-item:last-child{border-bottom:none;padding-bottom:0}.avatar-initial{background:linear-gradient(135deg, var(--neon) 0%, var(--neon-deep) 100%);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:grid}.review-item__body{flex:1;min-width:0}.review-item__head{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.3rem;display:flex}.review-item__stars{font-family:var(--font-mono);color:var(--amber);letter-spacing:.05em;font-size:.82rem}.review-item__body p{color:var(--text-soft);margin:0;font-size:.85rem;line-height:1.5}.cell-notes{max-width:280px;color:var(--text-soft);font-size:.85rem}.cell-notes.is-empty{color:var(--text-dim)}.gallery-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.gallery-toolbar__hint{color:var(--text-dim);margin:.3rem 0 0;font-size:.78rem}.integration-desc{color:var(--text-soft);max-width:60ch;margin:0 0 1.2rem;font-size:.85rem;line-height:1.55}.connection-summary{flex-direction:column;gap:.9rem;display:flex}.connection-summary__rows{border:1px solid var(--line);background:#ffffff05;border-radius:10px;flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;display:flex}.connection-summary__row{justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.connection-summary__row span:first-child{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.connection-summary__actions{gap:.6rem;display:flex}.reviews-workspace,.clients-workspace,.settings-workspace{gap:1rem;display:grid}.reviews-hero,.clients-hero,.settings-hero{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at right top, #2f8fff29, transparent 40%), linear-gradient(160deg,var(--bg-card),var(--bg-raised));justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem;display:flex}.reviews-hero span,.clients-hero span,.settings-hero span,.reviews-section__head span:first-child{color:var(--neon-bright);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem;font-size:.64rem;font-weight:800;display:block}.reviews-hero h2,.clients-hero h2,.settings-hero h1{margin:0;font-size:1.35rem}.reviews-hero p,.clients-hero p,.settings-hero p{color:var(--text-soft);margin:.4rem 0 0;font-size:.82rem}.reviews-hero>strong,.clients-hero>strong{color:var(--neon-bright);font-family:var(--font-mono);flex-direction:column;align-items:flex-end;font-size:1.5rem;display:flex}.reviews-hero>strong small,.clients-hero>strong small{color:var(--text-dim);font-family:var(--font-body);font-size:.66rem}.reviews-section{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,var(--bg-card),var(--bg-raised));overflow:hidden}.reviews-section__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.reviews-section__head h3{margin:0}.reviews-list{gap:.7rem;padding:.9rem;display:grid}.review-card{border:1px solid var(--line);background:#ffffff04;border-radius:11px;gap:.65rem;padding:1rem;display:grid}.review-card__head,.review-card--published{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.review-card h3{font-family:var(--font-body);text-transform:none;margin:0 0 .35rem;font-size:.92rem}.review-card__comment{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.5}.review-card__actions{gap:.5rem;display:flex}.reviews-list--published .review-card{grid-template-columns:minmax(130px,.45fr) minmax(0,1fr) auto;align-items:center}.clients-search{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff03;padding:.85rem 1rem}.client-list{gap:.65rem;display:grid}.client-card{border:1px solid var(--line);background:linear-gradient(160deg,var(--bg-card),var(--bg-raised));border-radius:11px;grid-template-columns:42px minmax(0,1fr) 115px auto;align-items:center;gap:.9rem;padding:.9rem 1rem;display:grid}.client-card__avatar{width:42px;height:42px;color:var(--neon-bright);background:#2f8fff24;border-radius:10px;place-items:center;font-size:.72rem;font-weight:800;display:grid}.client-card h3{font-family:var(--font-body);text-transform:none;margin:0 0 .25rem;font-size:.92rem}.client-card .cell-notes{max-width:none;margin:.45rem 0 0;font-size:.76rem}.client-card__stats{color:var(--text-dim);text-align:right;flex-direction:column;align-items:flex-end;font-size:.65rem;display:flex}.client-card__stats strong{color:var(--text);font-family:var(--font-mono);font-size:1rem}.client-card__stats small{margin-top:.25rem}.settings-hero>svg{color:var(--neon-bright)}.settings-section{margin:0}.settings-section .panel__head{background:#ffffff03}.settings-section--security{border-color:#2f8fff47}.dashboard-workspace{gap:1rem;display:grid}.dashboard-hero{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at right top, #2f8fff29, transparent 40%), linear-gradient(160deg,var(--bg-card),var(--bg-raised));justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem;display:flex}.dashboard-hero span{color:var(--neon-bright);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem;font-size:.64rem;font-weight:800;display:block}.dashboard-hero h1{margin:0}.dashboard-hero p{color:var(--text-soft);margin:.4rem 0 0;font-size:.82rem}.dashboard-hero time{max-width:130px;color:var(--text-dim);font-family:var(--font-mono);text-align:right;text-transform:capitalize;font-size:.72rem}.dashboard-workspace .stat-grid,.dashboard-section{margin:0}.dashboard-bookings{gap:.55rem;padding:.7rem;display:grid}.dashboard-booking{border:1px solid var(--line);border-radius:10px;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem .9rem;display:grid}.dashboard-booking>div:first-child{flex-direction:column;display:flex}.dashboard-booking strong{color:var(--neon-bright);font-family:var(--font-mono)}.dashboard-booking time{color:var(--text-dim);font-size:.7rem}.dashboard-booking h3{font-family:var(--font-body);text-transform:none;margin:0;font-size:.86rem}.dashboard-booking p{color:var(--text-dim);margin:.2rem 0 0;font-size:.76rem}.confirm-overlay__content{border:1px solid var(--line-strong);background:linear-gradient(160deg,var(--bg-card),var(--bg-raised));border-radius:14px;width:min(390px,100%);padding:1.4rem;box-shadow:0 28px 70px #0000008c}.confirm-overlay__content:before{content:"Déconnexion";color:var(--neon-bright);letter-spacing:.15em;text-transform:uppercase;font-size:.65rem;font-weight:800}.confirm-overlay__content p{font-size:1rem}.confirm-overlay__actions{justify-content:flex-end;width:100%}@media (width<=640px){.toast{bottom:max(1rem,env(safe-area-inset-bottom));right:1rem}.reviews-hero,.clients-hero,.settings-hero{padding:1.15rem 1rem}.reviews-list--published .review-card{grid-template-columns:1fr auto}.reviews-list--published .review-card__comment{grid-column:1/-1}.client-card{grid-template-columns:42px minmax(0,1fr) auto;gap:.65rem}.client-card__stats{text-align:left;flex-direction:row;grid-column:2;align-items:flex-start;gap:.35rem}.client-card__stats small{margin:0 0 0 .35rem}.client-card .cell-actions{grid-area:1/3/span 2}.connection-summary__actions,.field-actions{flex-wrap:wrap}.connection-summary__actions .btn,.field-actions .btn{flex:150px}}.field-actions{gap:.6rem;display:flex}.field-hint{color:var(--text-dim);margin:0 0 1.1rem;font-size:.78rem;line-height:1.55}.field-hint code{color:var(--text-soft);background:#ffffff0f;border-radius:4px;padding:.1rem .35rem}.secret-field{position:relative}.secret-field input{padding-right:40px}.secret-field__toggle{color:var(--text-dim);background:0 0;border:none;place-items:center;padding:4px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.secret-field__toggle:hover{color:var(--text)}
