:root{--color-bg:#1a1a1a;--color-bg-secondary:#242424;--color-bg-card:#2a2a2a;--color-bg-input:#1e1e1e;--color-accent:#c9a84c;--color-accent-dark:#a07a2a;--color-accent-hover:#d4b870;--color-text:#f5f0e8;--color-text-muted:#9a9086;--color-border:#3a3530;--color-success:#4caf50;--color-error:#f44336;--color-warning:#ff9800;--color-overlay:#000000bf;--font-heading:Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, Arial, sans-serif;--btn-primary-height:clamp(44px, 6vw, 56px);--btn-primary-padding:clamp(.75rem, 2.5vw, 1.25rem);--btn-primary-font-size:clamp(.9rem, 2vw, 1.0625rem);--btn-primary-min-width:clamp(80px, 20vw, 200px);--btn-secondary-height:clamp(44px, 6vw, 56px);--btn-secondary-padding:clamp(.75rem, 2.5vw, 1.25rem);--btn-secondary-font-size:clamp(.9rem, 2vw, 1.0625rem);--btn-secondary-min-width:clamp(80px, 20vw, 200px);--btn-tertiary-height:clamp(36px, 5vw, 44px);--btn-tertiary-padding:clamp(.5rem, 1.5vw, .875rem);--btn-tertiary-font-size:clamp(.8125rem, 1.75vw, .9375rem);--btn-tertiary-min-width:clamp(60px, 12vw, 140px);--btn-icon-size:clamp(36px, 6vw, 44px);--btn-icon-font:clamp(.875rem, 2vw, 1rem);--space-xs:clamp(.25rem, 1vw, .5rem);--space-sm:clamp(.5rem, 2vw, 1rem);--space-md:clamp(1rem, 3vw, 1.5rem);--space-lg:clamp(1.5rem, 4vw, 3rem);--space-xl:clamp(2rem, 6vw, 5rem);--space-xxl:clamp(3rem, 8vw, 8rem);--container-max:1440px;--container-padding:clamp(1rem, 5vw, 4rem);--card-padding:clamp(0px, 3vw, var(--space-md));--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--z-header:100;--z-modal:200;--z-tooltip:300}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:clamp(.875rem,2.5vw,1rem);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:700;line-height:1.2}h1{font-size:clamp(1.75rem,6vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:clamp(1rem,2vw,1.25rem)}p{color:var(--color-text-muted);line-height:1.7}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:inherit}ul,ol{list-style:none}.container{width:100%;max-width:var(--container-max);box-sizing:border-box;margin-inline:auto;padding-inline:clamp(.75rem,5vw,4rem)}@media (width>=1024px){.container{max-width:min(1200px,90vw);padding-inline:clamp(2rem,5vw,4rem)}}.section-heading{font-family:var(--font-heading);color:var(--color-accent);text-align:center;margin-bottom:var(--space-lg);position:relative}.section-heading:after{content:"";background:var(--color-accent);width:clamp(40px,8vw,80px);height:2px;margin:var(--space-sm) auto 0;display:block}.btn-primary,.btn-secondary{width:auto;min-width:var(--btn-primary-min-width);height:var(--btn-primary-height);padding-inline:var(--btn-primary-padding);font-size:var(--btn-primary-font-size);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.btn-primary{background-color:var(--color-accent);color:var(--color-bg);border:2px solid var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-accent);border:2px solid var(--color-accent);background-color:#0000}.btn-secondary:hover{background-color:var(--color-accent);color:var(--color-bg);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-tertiary{width:auto;min-width:var(--btn-tertiary-min-width);height:var(--btn-tertiary-height);padding-inline:var(--btn-tertiary-padding);font-size:var(--btn-tertiary-font-size);font-family:var(--font-body);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;gap:.4rem;font-weight:400;display:inline-flex}.btn-tertiary:hover{color:var(--color-accent);border-color:var(--color-accent)}.btn-icon{width:var(--btn-icon-size);height:var(--btn-icon-size);font-size:var(--btn-icon-font);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{color:var(--color-accent);border-color:var(--color-accent)}.btn-icon--confirm{color:#e53935;border-color:#e53935;font-weight:700}.btn-icon--confirm:hover{color:#fff;background:#e53935;border-color:#e53935}.btn-group{flex-flow:wrap;gap:clamp(.5rem,2vw,.75rem);display:flex}.btn-group .btn-primary{order:2}.btn-group .btn-secondary{order:1}.form-group{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:clamp(.75rem,2vw,.875rem);font-weight:700}.form-input,.form-textarea,.form-select{background-color:var(--color-bg-input);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,2.5vw,1rem);font-size:clamp(.875rem,2vw,1rem)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-accent);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--color-error);margin-top:.25rem;font-size:.8rem}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.2em .65em;font-size:.75rem;font-weight:700;display:inline-block}.badge--pending{color:var(--color-warning);background:#ff980033}.badge--confirmed{color:var(--color-success);background:#4caf5033}.badge--cancelled{color:var(--color-error);background:#f4433633}.badge--self_cancelled{color:#6a1b9a;background:#9c27b026}.badge--cancellation_requested{color:#e65100;background:#ff980033}.badge--past{color:var(--color-text-muted);background:#9a908626}.alert{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:clamp(.85rem,2vw,.95rem)}.alert--success{border:1px solid var(--color-success);color:var(--color-success);background:#4caf5026}.alert--error{border:1px solid var(--color-error);color:var(--color-error);background:#f4433626}.alert--warning{border:1px solid var(--color-warning);color:var(--color-warning);background:#ff980026}.public-layout{flex-direction:column;min-height:100dvh;display:flex}.public-layout__main{flex:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1024px){.btn-primary,.btn-secondary{min-width:200px}}.site-header{z-index:var(--z-header);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#1a1a1af7;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;height:clamp(56px,8vw,72px);display:flex}.site-header__logo{flex-direction:column;line-height:1.1;text-decoration:none;display:flex}.site-header__logo-name{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:.05em;font-size:clamp(1rem,3vw,1.4rem);font-weight:700}.site-header__logo-sub{font-family:var(--font-body);color:var(--color-text-muted);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.6rem,2vw,.75rem);font-weight:300}.site-header__burger{width:var(--btn-icon-size);height:var(--btn-icon-size);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:4px;display:flex}.site-header__burger span{background-color:var(--color-text);width:100%;height:2px;transition:transform var(--transition-normal), opacity var(--transition-fast), background-color var(--transition-fast);transform-origin:50%;border-radius:2px;display:block}.site-header__burger:hover span{background-color:var(--color-accent)}.site-header__burger--open span:first-child{transform:translateY(7px)rotate(45deg)}.site-header__burger--open span:nth-child(2){opacity:0}.site-header__burger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-header__nav{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--space-md);gap:var(--space-sm);visibility:hidden;transition:transform var(--transition-normal), visibility var(--transition-normal);z-index:var(--z-header);flex-direction:column;display:flex;position:fixed;top:clamp(56px,8vw,72px);left:0;right:0;transform:translateY(-110%)}.site-header__nav--open{visibility:visible;transform:translateY(0)}.site-header__backdrop{background:var(--color-overlay);z-index:calc(var(--z-header) - 1);position:fixed;inset:clamp(56px,8vw,72px) 0 0}.nav-link{font-family:var(--font-body);color:var(--color-text-muted);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast);letter-spacing:.05em;font-size:clamp(1rem,3vw,1.1rem);font-weight:400;text-decoration:none}.nav-link:last-child{border-bottom:none}.nav-link:hover,.nav-link--active{color:var(--color-accent)}.nav-link--cta{color:var(--color-accent);font-weight:700}@media (width>=768px){.site-header__burger{display:none}.site-header__nav{visibility:visible;background:0 0;border:none;flex-direction:row;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:0;position:static;transform:none}.nav-link{text-transform:uppercase;letter-spacing:.1em;border:none;padding:0;font-size:clamp(.85rem,1.5vw,.95rem)}.nav-link--cta{border:1px solid var(--color-accent);border-radius:var(--radius-sm);transition:background-color var(--transition-fast), color var(--transition-fast);padding:.5rem 1.25rem;font-size:clamp(.8rem,1.4vw,.875rem)}.nav-link--cta:hover{background-color:var(--color-accent);color:var(--color-bg)}.site-header__backdrop{display:none}}.site-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-lg) 0;margin-top:auto}.site-footer__inner{align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;display:flex}.site-footer__brand{gap:var(--space-xs);flex-direction:column;display:flex}.site-footer__name{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:.05em;font-size:clamp(1rem,3vw,1.25rem)}.site-footer__copy{color:var(--color-text-muted);font-size:clamp(.75rem,2vw,.85rem)}.site-footer__nav{flex-wrap:wrap;justify-content:center;gap:clamp(1rem,3vw,2rem);display:flex}.site-footer__link{cursor:pointer;font-family:var(--font-body);color:var(--color-text-muted);letter-spacing:.05em;min-height:44px;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;font-size:clamp(.8rem,2vw,.875rem);display:inline-flex}.site-footer__link:hover{color:var(--color-accent)}.site-footer__admin-link{color:var(--color-border);transition:color var(--transition-fast);vertical-align:middle;justify-content:center;align-items:center;margin-left:.4rem;font-size:.75rem;text-decoration:none;display:inline-flex}.site-footer__admin-link:hover{color:var(--color-text-muted)}@media (width>=768px){.site-footer__inner{text-align:left;flex-direction:row;justify-content:space-between}}.legal-modal__overlay{background:var(--color-overlay);z-index:var(--z-modal);animation:modal-fade-in var(--transition-normal) forwards;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.legal-modal__box{background:var(--color-bg-card);border-top:2px solid var(--color-accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;animation:modal-slide-up var(--transition-normal) forwards;flex-direction:column;display:flex;overflow:hidden}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.legal-modal__header{padding:var(--card-padding) var(--card-padding) 0;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.legal-modal__title{color:var(--color-accent);font-size:clamp(1rem,3vw,1.25rem);font-family:var(--font-heading)}.legal-modal__close{border-color:var(--color-border)}.legal-modal__tabs{padding:clamp(0px, 1.5vw, var(--space-sm)) clamp(0px, 2vw, var(--space-md)) 0;border-bottom:1px solid var(--color-border);scrollbar-width:none;flex-shrink:0;gap:0;display:flex;overflow-x:auto}.legal-modal__tabs::-webkit-scrollbar{display:none}.legal-modal__tab{cursor:pointer;font-family:var(--font-body);color:var(--color-text-muted);padding:clamp(0px, 1.5vw, var(--space-sm)) clamp(0px, 2vw, var(--space-md));white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);letter-spacing:.05em;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;font-size:clamp(.7rem,2vw,.875rem)}.legal-modal__tab:hover{color:var(--color-text)}.legal-modal__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.legal-modal__content{padding:var(--card-padding);flex:1;overflow-y:auto}.legal-modal__text{font-family:var(--font-body);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;font-size:clamp(.8rem,2vw,.9rem);line-height:1.8}@media (width>=300px){.legal-modal__overlay{padding:var(--card-padding);align-items:center}.legal-modal__box{border-radius:var(--radius-lg);border-top:none;border:1px solid var(--color-border);border-top:2px solid var(--color-accent);width:100%;max-width:640px;max-height:80vh;animation:modal-scale-in var(--transition-normal) forwards}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}@media (width>=768px){.legal-modal__box{max-width:720px;max-height:75vh}}@media (width>=1024px){.legal-modal__box{max-width:860px;max-height:70vh}}.spinner-wrapper{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-lg);flex-direction:column;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:.7s linear infinite spin}.spinner-wrapper--sm .spinner{width:24px;height:24px}.spinner-wrapper--md .spinner{width:40px;height:40px}.spinner-wrapper--lg .spinner{width:60px;height:60px}.spinner-label{color:var(--color-text-muted);font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--color-accent);opacity:.7;animation:none}}.section{padding:var(--space-xxl) 0}.home-hero{background-color:var(--color-bg);background-image:linear-gradient(160deg,#1a1a1af7 0%,#1a1a1ad9 60%,#1a1a1af7 100%),repeating-linear-gradient(-45deg,#c9a84c0f 0 1px,#0000 1px 20px);align-items:center;position:relative;overflow:hidden}.home-hero__overlay{pointer-events:none;background:radial-gradient(at 70%,#c9a84c14 0%,#0000 70%);position:absolute;inset:0}.home-hero__content{z-index:1;padding-top:var(--space-xl);padding-bottom:var(--space-xl);position:relative}.home-hero__eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm);font-size:clamp(.7rem,2vw,.875rem);font-weight:700}.home-hero__heading{color:var(--color-text);margin-bottom:var(--space-md);max-width:16ch;font-size:clamp(2rem,7vw,4.5rem);line-height:1.15}.home-hero__sub{color:var(--color-text-muted);margin-bottom:var(--space-lg);max-width:45ch;font-size:clamp(1rem,2.5vw,1.25rem)}.home-hero__cta{width:100%}.home-about{background:var(--color-bg-secondary)}.home-about__grid{gap:var(--space-xl);flex-direction:column;display:flex}.home-about__image-wrapper{aspect-ratio:4/3;width:100%}.home-about__image-placeholder{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;height:100%;color:var(--color-border);justify-content:center;align-items:center;font-size:clamp(3rem,10vw,6rem);display:flex}.home-about__text{gap:var(--space-md);flex-direction:column;display:flex}.home-about__text .section-heading{text-align:left}.home-about__text .section-heading:after{margin-inline:0}.home-services__grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}.service-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding);gap:var(--space-sm);transition:border-color var(--transition-normal), transform var(--transition-normal);flex-direction:column;display:flex}.service-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.service-card__icon{color:var(--color-accent);font-size:1.75rem}.service-card__name{color:var(--color-text);font-size:clamp(1rem,2.5vw,1.25rem)}.service-card__desc{color:var(--color-text-muted);flex:1;font-size:clamp(.8rem,2vw,.9rem)}.service-card__footer{padding-top:var(--space-sm);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.service-card__price{font-family:var(--font-heading);color:var(--color-accent);white-space:nowrap;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:700}.service-card__duration{color:var(--color-text-muted);font-size:.8rem}.home-contact{background:var(--color-bg-secondary)}.home-contact__grid{gap:var(--space-xl);flex-direction:column;display:flex}.home-contact__info{gap:var(--space-md);flex-direction:column;display:flex}.contact-item{align-items:flex-start;gap:var(--space-sm);color:var(--color-text-muted);font-size:clamp(.875rem,2vw,1rem);display:flex}.contact-item__icon{flex-shrink:0;margin-top:1px;font-size:1.1rem}.contact-item a{color:var(--color-text-muted);transition:color var(--transition-fast)}.contact-item a:hover{color:var(--color-accent)}.home-contact__hours h3{color:var(--color-text);margin-bottom:var(--space-md);font-size:clamp(1rem,2.5vw,1.25rem)}.hours-list{gap:var(--space-xs) var(--space-md);grid-template-columns:auto 1fr;display:grid}.hours-list dt{color:var(--color-text-muted);white-space:nowrap;font-size:clamp(.8rem,2vw,.9rem);font-weight:700}.hours-list dd{color:var(--color-text);font-size:clamp(.8rem,2vw,.9rem)}@media (width>=300px){.home-hero__cta{width:auto}}@media (width>=768px){.home-services__grid{grid-template-columns:repeat(2,1fr)}.home-about__grid{flex-direction:row;align-items:center}.home-about__image-wrapper{flex-shrink:0;width:45%}.home-contact__grid{gap:var(--space-xxl);flex-direction:row}}@media (width>=1024px){.home-services__grid{grid-template-columns:repeat(3,1fr)}}.prices-page__hero{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--space-xl) 0 var(--space-lg);text-align:center}.prices-page__heading{color:var(--color-accent);font-size:clamp(2rem,6vw,3.5rem)}.prices-page__sub{margin-top:var(--space-sm);color:var(--color-text-muted);font-size:clamp(.9rem,2.5vw,1.1rem)}.prices-grid{gap:var(--space-md);grid-template-columns:1fr;padding-inline:clamp(.75rem,5vw,4rem);display:grid}.price-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding);gap:var(--space-sm);transition:border-color var(--transition-normal), transform var(--transition-normal);flex-direction:column;display:flex}.price-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.price-card__top{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.price-card__name{color:var(--color-text);flex:1;font-size:clamp(1rem,2.5vw,1.25rem)}.price-card__price{font-family:var(--font-heading);color:var(--color-accent);white-space:nowrap;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:700}.price-card__desc{color:var(--color-text-muted);font-size:clamp(.8rem,2vw,.9rem);line-height:1.6}.price-card__meta{padding-top:var(--space-sm);border-top:1px solid var(--color-border);margin-top:auto}.price-card__duration{color:var(--color-text-muted);font-size:.8rem}.prices-page__cta{text-align:center;margin-top:var(--space-xl)}.prices-page__empty{text-align:center;padding:var(--space-xl);color:var(--color-text-muted)}@media (width>=768px){.prices-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.prices-grid{grid-template-columns:repeat(3,1fr)}}.btn-primary:disabled,.btn-secondary:disabled,.btn-tertiary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{opacity:.6;animation:none}}.dpc{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;width:100%;padding:clamp(.75rem,4vw,1.25rem)}@media (width>=480px){.dpc{max-width:420px;margin-inline:auto}}.dpc__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:clamp(.5rem,2vw,.875rem);display:flex}.dpc__month-label{color:var(--color-text-primary);letter-spacing:.01em;text-align:center;flex:1;font-size:clamp(.95rem,3vw,1.1rem);font-weight:700}.dpc__nav-btn{border:1px solid var(--color-border);min-width:44px;min-height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:clamp(1.1rem,3.5vw,1.4rem);line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.dpc__nav-btn:hover:not(:disabled){background:var(--color-accent);color:#000;border-color:var(--color-accent)}.dpc__nav-btn:disabled{opacity:.25;cursor:not-allowed}.dpc__grid{grid-template-columns:repeat(7,1fr);gap:clamp(1px,.6vw,3px);display:grid}.dpc__day-label{text-align:center;color:var(--color-text-secondary,#888);text-transform:uppercase;letter-spacing:.05em;padding:clamp(3px,1vw,5px) 0 clamp(5px,1.5vw,8px);font-size:clamp(.6rem,1.8vw,.68rem);font-weight:700}.dpc__cell{background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:0;transition:background .15s,outline .1s;display:flex}@media (width>=768px){.dpc__cell{min-height:38px}}.dpc__cell--empty{pointer-events:none}.dpc__cell--active{cursor:pointer}.dpc__cell--active:hover{outline:1px solid var(--color-accent);outline-offset:-1px;background:#ffffff0f}.dpc__cell--selected{color:#000;outline:none;font-weight:700;background:var(--color-accent)!important}.dpc__cell--disabled{cursor:default}.dpc__day-num{font-size:clamp(.75rem,2.8vw,.9rem);line-height:1}.dpc__cell--disabled .dpc__day-num{opacity:.28}.dpc__dot{border-radius:50%;flex-shrink:0;width:clamp(5px,1.4vw,7px);height:clamp(5px,1.4vw,7px);display:block}.dpc__dot--green{background:#4caf50}.dpc__dot--orange{background:#ff9800}.dpc__dot--red{background:#f44336}.dpc__dot--on-accent{background:#0000008c}.dpc__cell--disabled .dpc__dot--red{opacity:.55}.dpc__loading,.dpc__error{text-align:center;margin-top:clamp(.5rem,2vw,.75rem);font-size:clamp(.75rem,2vw,.8rem)}.dpc__loading{color:var(--color-text-secondary,#888)}.dpc__error{color:#e53e3e}.dpc__legend{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:center;gap:clamp(.5rem,3vw,1.25rem);margin-top:clamp(.625rem,2.5vw,1rem);padding-top:clamp(.5rem,2vw,.75rem);display:flex}.dpc__legend-item{color:var(--color-text-secondary,#888);white-space:nowrap;align-items:center;gap:5px;font-size:clamp(.68rem,1.8vw,.78rem);display:flex}.booking-page__hero{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--space-xl) 0 var(--space-lg);text-align:center}.booking-page__hero h1{color:var(--color-accent);font-size:clamp(1.75rem,5vw,3rem)}.booking-page__hero p{margin-top:var(--space-sm);font-size:clamp(.875rem,2vw,1rem)}.booking-page__body{padding-top:var(--space-xl);padding-bottom:var(--space-xxl);width:100%;max-width:700px;margin-inline:auto}.booking-steps{margin-bottom:var(--space-xl);justify-content:center;gap:0;display:flex;position:relative}.booking-steps:before{content:"";top:calc(var(--btn-icon-size) / 2);background:var(--color-border);z-index:0;height:2px;position:absolute;left:12.5%;right:12.5%}.booking-step{z-index:1;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.booking-step__num{width:var(--btn-icon-size);height:var(--btn-icon-size);border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);transition:border-color var(--transition-normal), background-color var(--transition-normal), color var(--transition-normal);border-radius:50%;justify-content:center;align-items:center;font-size:clamp(.75rem,2vw,.875rem);font-weight:700;display:flex}.booking-step--active .booking-step__num{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg)}.booking-step--done .booking-step__num{border-color:var(--color-success);background:var(--color-success);color:#fff}.booking-step__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.65rem,1.5vw,.75rem)}.booking-step--active .booking-step__label{color:var(--color-accent)}.booking-section{gap:var(--space-md);flex-direction:column;display:flex}.booking-section h2{color:var(--color-text);font-size:clamp(1.25rem,3vw,1.75rem)}.booking-selected-info{color:var(--color-text-muted);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--color-accent);font-size:clamp(.8rem,2vw,.9rem)}.booking-services{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.booking-service-card{align-items:center;gap:var(--space-md);padding:var(--card-padding);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background-color var(--transition-fast);flex-direction:row;min-height:60px;display:flex}.booking-service-card:hover{border-color:var(--color-accent)}.booking-service-card--selected{border-color:var(--color-accent);background:#c9a84c14}.booking-service-card__icon{color:var(--color-accent);flex-shrink:0;font-size:1.25rem}.booking-service-card__name{font-family:var(--font-heading);color:var(--color-text);flex:1;font-size:clamp(.9rem,2.5vw,1.1rem)}.booking-service-card__meta{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.booking-slots{gap:var(--space-sm);flex-wrap:wrap;display:flex}.booking-slot-btn{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);min-width:100px;min-height:44px;padding:.6rem 1.1rem;font-size:clamp(.875rem,2vw,1rem)}.booking-slot-btn:hover{border-color:var(--color-accent)}.booking-slot-btn--selected{border-color:var(--color-accent);color:var(--color-accent);background:#c9a84c1f;font-weight:700}.booking-service-card__check{border:2px solid var(--color-border);width:20px;height:20px;color:var(--color-accent);transition:border-color var(--transition-fast), background var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.booking-service-card--selected .booking-service-card__check{border-color:var(--color-accent);background:#c9a84c26}.booking-section__hint{color:var(--color-text-muted);margin-top:calc(-1 * var(--space-sm));font-size:.8rem}.booking-service-summary{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:#c9a84c14;flex-direction:column;display:flex}.booking-service-summary__list{gap:var(--space-xs);flex-wrap:wrap;display:flex}.booking-service-summary__tag{border:1px solid var(--color-accent);color:var(--color-accent);background:#c9a84c26;border-radius:99px;align-items:center;gap:4px;padding:2px 10px;font-size:.8rem;display:inline-flex}.booking-service-summary__remove{cursor:pointer;color:var(--color-accent);opacity:.7;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0 0 0 2px;font-size:.9rem;line-height:1}.booking-service-summary__remove:hover{opacity:1}.booking-service-summary__totals{color:var(--color-text-muted);font-size:.85rem}.booking-service-summary__totals strong{color:var(--color-accent)}.booking-success{text-align:center;padding:var(--space-xxl) 0;align-items:center}.booking-success__icon{border:2px solid var(--color-success);width:clamp(60px,12vw,80px);height:clamp(60px,12vw,80px);color:var(--color-success);background:#4caf5026;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(1.5rem,4vw,2rem);animation:.4s pop-in;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.booking-success h2{color:var(--color-success);font-size:clamp(1.5rem,4vw,2rem)}.booking-empty{padding:var(--space-lg);text-align:center;color:var(--color-text-muted);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border)}@media (width>=768px){.booking-services{grid-template-columns:repeat(2,1fr)}}.cancel-booking{min-height:60vh;padding:var(--space-lg) var(--container-padding);justify-content:center;align-items:center;display:flex}.cancel-booking__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding);align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;width:100%;max-width:480px;display:flex}.cancel-booking__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(56px,10vw,72px);height:clamp(56px,10vw,72px);font-size:clamp(1.5rem,4vw,2rem);font-weight:700;display:flex}.cancel-booking__icon--success{color:var(--color-success);background:#4caf5026}.cancel-booking__icon--info{color:var(--color-accent);background:#c9a84c26}.cancel-booking__icon--error{color:var(--color-error);background:#f4433626}.cancel-booking__title{font-family:var(--font-heading);color:var(--color-text);font-size:clamp(1.25rem,4vw,1.75rem)}.cancel-booking__text{color:var(--color-text-muted);font-size:clamp(.875rem,2.5vw,1rem);line-height:1.6}.cancel-booking__cta{margin-top:var(--space-sm);text-decoration:none}.cancel-booking__actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.cancel-booking__actions a,.cancel-booking__actions button{text-decoration:none}.cancel-booking__spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:48px;height:48px;animation:.7s linear infinite cb-spin}@keyframes cb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cancel-booking__spinner{opacity:.6;animation:none}}.admin-login{background:var(--color-bg);min-height:100vh;padding:var(--space-md);background-image:repeating-linear-gradient(-45deg,#c9a84c08 0 1px,#0000 1px 20px);justify-content:center;align-items:center;display:flex}.admin-login__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-top:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:clamp(var(--space-sm), 5vw, var(--space-xl));gap:var(--space-md);flex-direction:column;width:100%;max-width:420px;display:flex}.admin-login__header{text-align:center;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.admin-login__title{font-family:var(--font-heading);color:var(--color-accent);font-size:clamp(1.5rem,5vw,2rem)}.admin-login__sub{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.85rem}.admin-login__form{flex-direction:column;display:flex}.admin-login__back{color:var(--color-text-muted);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);margin-bottom:calc(-1 * var(--space-xs));transition:color var(--transition-fast);letter-spacing:.03em;align-items:center;gap:.25rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.admin-login__back:hover{color:var(--color-accent)}.admin-page-title{color:var(--color-accent);margin-bottom:var(--space-lg);font-size:clamp(1.5rem,4vw,2.25rem)}.dashboard-stats{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:1fr;display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-xs);transition:border-color var(--transition-fast);flex-direction:column;display:flex}.stat-card:hover{border-color:var(--color-accent)}.stat-card--warning{background:#ffb74d14;border-color:#ffb74d}.stat-card--warning .stat-card__value{color:#e65100}.stat-card__value{font-family:var(--font-heading);color:var(--color-accent);font-size:clamp(2rem,6vw,3rem);font-weight:700;line-height:1}.stat-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.75rem,2vw,.85rem)}.dashboard-recent__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.dashboard-recent__header h2{font-size:clamp(1rem,2.5vw,1.25rem)}.admin-table-wrapper{border-radius:var(--radius-md);border:1px solid var(--color-border);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:clamp(.8rem,2vw,.9rem)}.admin-table th{background:var(--color-bg-secondary);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-sm) var(--space-md);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border);font-size:.75rem;font-weight:700}.admin-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#ffffff05}.dashboard-empty{text-align:center;padding:var(--space-lg);color:var(--color-text-muted);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border)}@media (width>=300px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}.admin-content__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.admin-content__tabs{border-bottom:1px solid var(--color-border);scrollbar-width:none;margin-bottom:var(--space-lg);gap:0;display:flex;overflow-x:auto}.admin-content__tabs::-webkit-scrollbar{display:none}.admin-tab{padding:var(--space-sm) var(--space-md);font-family:var(--font-body);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);letter-spacing:.05em;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;font-size:clamp(.8rem,2vw,.9rem)}.admin-tab:hover{color:var(--color-text)}.admin-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.admin-content__fields{max-width:760px}.admin-services__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.admin-form-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-top:2px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--card-padding);margin-bottom:var(--space-xl)}.admin-form-card h2{margin-bottom:var(--space-md);font-size:clamp(1rem,2.5vw,1.25rem)}.admin-form-grid{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:1fr;display:grid}.admin-checkbox-group{align-items:center;display:flex}.admin-checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--color-text);font-size:clamp(.875rem,2vw,1rem);display:flex}.admin-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}.admin-table__row--inactive td{opacity:.55}.admin-table__sub{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.admin-table__actions{align-items:center;gap:var(--space-sm);display:flex}@media (width>=768px){.admin-form-grid{grid-template-columns:repeat(2,1fr)}}.admin-slots__forms{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:1fr;display:grid}.admin-slots__days{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.admin-slots__day-btn{width:var(--btn-icon-size);height:var(--btn-icon-size);border:2px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);border-radius:50%;font-size:.8rem;font-weight:700}.admin-slots__day-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.admin-slots__day-btn--active{border-color:var(--color-accent);color:var(--color-accent);background:#c9a84c26}.admin-slots__list{gap:var(--space-lg);flex-direction:column;display:flex}.admin-slots__day-heading{font-family:var(--font-heading);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border);font-size:clamp(.9rem,2.5vw,1rem)}.admin-slots__day-slots{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.admin-slot-item{align-items:center;gap:var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);flex-shrink:0;width:260px;min-height:40px;display:flex}.admin-slot-item__time{color:var(--color-text);font-size:.875rem;font-weight:600}.admin-slot-item__count{color:var(--color-text-muted);border-left:1px solid var(--color-border);padding-left:var(--space-sm);font-size:.75rem}@media (width>=1024px){.admin-slots__forms{grid-template-columns:repeat(2,1fr)}}.admin-bookings__filters{gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.admin-bookings__filters .form-group{margin-bottom:0}.admin-bookings__clear{white-space:nowrap;align-self:flex-end;min-height:44px;margin-bottom:0}.admin-bookings__status-select{min-width:120px;padding:4px 8px;font-size:.75rem}.admin-bookings__list{gap:var(--space-xs);flex-direction:column;display:flex}.admin-bookings__card{border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);overflow:hidden}.admin-bookings__card--confirmed{border-left-color:var(--color-success)}.admin-bookings__card--pending{border-left-color:var(--color-accent)}.admin-bookings__card--cancelled{border-left-color:var(--color-text-muted);opacity:.65}.admin-bookings__card--past{opacity:.6;border-left-color:var(--color-text-muted)!important}.admin-bookings__card-header{align-items:center;gap:var(--space-xs) var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);cursor:pointer;text-align:left;color:var(--color-text);font-family:var(--font-body);transition:background var(--transition-fast);background:0 0;border:none;flex-wrap:wrap;font-size:.875rem;display:flex}.admin-bookings__card-header:hover{background:var(--color-bg-input)}.admin-bookings__card-date{font-family:var(--font-heading);color:var(--color-accent);white-space:nowrap;flex-shrink:0;font-size:.85rem}.admin-bookings__card-name{flex-shrink:0;font-weight:600}.admin-bookings__card-service{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.admin-bookings__card-chevron{color:var(--color-text-muted);flex-shrink:0;margin-left:auto;font-size:.65rem}.admin-bookings__card-body{padding:var(--space-md);border-top:1px solid var(--color-border);gap:var(--space-md);flex-direction:column;display:flex}.admin-bookings__card-details{gap:4px var(--space-md);grid-template-columns:auto 1fr;margin:0;font-size:.875rem;display:grid}.admin-bookings__card-details dt{color:var(--color-text-muted);white-space:nowrap;font-weight:600}.admin-bookings__card-details dd{word-break:break-word;margin:0}.admin-bookings__card-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-bookings__storno-actions{flex-direction:column;gap:6px;width:100%;display:flex}.admin-bookings__storno-label{color:#e65100;letter-spacing:.02em;font-size:.8rem;font-weight:600}.admin-bookings__storno-btns{gap:8px;display:flex}.btn-icon--reject{color:var(--color-error);background:#f443361a;border:1px solid #f443364d}.btn-icon--reject:hover{background:#f4433633}@media (width>=300px){.admin-bookings__filters{flex-flow:wrap;align-items:flex-end}.admin-bookings__filters .form-group{flex:1;min-width:160px}}@media (width>=768px){.admin-bookings__row-actions{flex-direction:row;align-items:center}}.admin-bookings__header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.admin-bookings__header .admin-page-title{margin-bottom:0}.admin-bookings__view-toggle{gap:var(--space-xs);display:flex}.admin-bookings__view-btn--active{background:var(--color-accent);color:#1a1a1a;border-color:var(--color-accent)}.admin-bookings__calendar{gap:var(--space-md);flex-direction:column;display:flex}.admin-bookings__cal-header{justify-content:center;align-items:center;gap:var(--space-md);display:flex}.admin-bookings__cal-title{font-family:var(--font-heading);color:var(--color-accent);text-align:center;min-width:180px;font-size:clamp(1rem,3vw,1.25rem)}.admin-bookings__cal-grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.admin-bookings__cal-weekday{background:var(--color-bg-secondary);color:var(--color-text-muted);text-align:center;letter-spacing:.05em;padding:6px 2px;font-size:.7rem;font-weight:600}.admin-bookings__cal-day{background:var(--color-bg-card);cursor:pointer;min-height:clamp(44px,8vw,72px);transition:background var(--transition-fast);font-family:var(--font-body);border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.admin-bookings__cal-day--empty{background:var(--color-bg-secondary);cursor:default}.admin-bookings__cal-day:not(.admin-bookings__cal-day--empty):hover{background:var(--color-bg-input)}.admin-bookings__cal-day--today .admin-bookings__cal-day-num{background:var(--color-accent);color:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:flex}.admin-bookings__cal-day--selected{outline:2px solid var(--color-accent);outline-offset:-2px;background:#c9a84c26}.admin-bookings__cal-day-num{color:var(--color-text);font-size:clamp(.7rem,2vw,.85rem);line-height:1}.admin-bookings__cal-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;display:flex}.admin-bookings__cal-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.admin-bookings__cal-dot--confirmed{background:var(--color-success)}.admin-bookings__cal-dot--pending{background:var(--color-accent)}.admin-bookings__cal-dot--cancelled{background:var(--color-text-muted)}.admin-bookings__cal-count{color:var(--color-text-muted);font-size:.65rem;line-height:1}.admin-bookings__cal-legend{gap:var(--space-md);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;font-size:.8rem;display:flex}.admin-bookings__cal-legend span{align-items:center;gap:4px;display:flex}.admin-bookings__cal-detail{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.admin-bookings__cal-detail-title{font-family:var(--font-heading);color:var(--color-accent);margin-bottom:var(--space-md);font-size:clamp(.9rem,2.5vw,1.1rem)}.admin-bookings__cal-detail-list{gap:var(--space-sm);flex-direction:column;display:flex}.admin-bookings__cal-card{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);border-left:3px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex}.admin-bookings__cal-card--confirmed{border-left-color:var(--color-success)}.admin-bookings__cal-card--pending{border-left-color:var(--color-accent)}.admin-bookings__cal-card--cancelled{border-left-color:var(--color-text-muted);opacity:.6}.admin-bookings__cal-card-time{font-family:var(--font-heading);color:var(--color-accent);flex-shrink:0;min-width:48px;padding-top:2px;font-size:clamp(1rem,3vw,1.25rem)}.admin-bookings__cal-card-body{min-width:140px;color:var(--color-text);flex-direction:column;flex:1;gap:2px;font-size:.875rem;display:flex}.admin-bookings__cal-card-sub{color:var(--color-text-muted);font-size:.75rem}.admin-bookings__cal-card-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-left:auto;display:flex}.admin-layout{background:var(--color-bg);min-height:100vh;display:flex;position:relative}.admin-layout__toggle{top:var(--space-md);left:var(--space-md);z-index:calc(var(--z-header) + 10);width:var(--btn-icon-size);height:var(--btn-icon-size);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast);justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:fixed}.admin-layout__toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.admin-layout__sidebar{inset-block:0;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);width:clamp(220px,70vw,280px);padding:var(--space-lg) var(--space-md);gap:var(--space-md);transition:transform var(--transition-normal);z-index:calc(var(--z-header) + 5);flex-direction:column;display:flex;position:fixed;left:0;overflow-y:auto;transform:translate(-110%)}.admin-layout__sidebar--open{transform:translate(0)}.admin-layout__overlay{background:var(--color-overlay);z-index:calc(var(--z-header) + 4);position:fixed;inset:0}.admin-layout__brand{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.admin-layout__brand-name{font-family:var(--font-heading);color:var(--color-accent);font-size:1.25rem}.admin-layout__brand-user{color:var(--color-text-muted);margin-top:2px;font-size:.8rem}.admin-layout__nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-nav-link{align-items:center;gap:var(--space-sm);padding:.65rem var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);min-height:44px;font-size:clamp(.85rem,2vw,.95rem);text-decoration:none;display:flex}.admin-nav-link:hover{background:var(--color-bg-card);color:var(--color-text)}.admin-nav-link--active{color:var(--color-accent);background:#c9a84c1f}.admin-nav-link__icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:1rem}.admin-layout__back-to-site{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:.65rem var(--space-sm);font-family:var(--font-body);cursor:pointer;text-align:left;transition:color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:var(--space-xs);background:0 0;min-height:44px;font-size:.875rem;text-decoration:none;display:flex}.admin-layout__back-to-site:hover{color:var(--color-accent);border-color:var(--color-accent)}.admin-layout__logout{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:.65rem var(--space-sm);font-family:var(--font-body);cursor:pointer;text-align:left;transition:color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:var(--space-xs);background:0 0;min-height:44px;font-size:.875rem;display:flex}.admin-layout__logout:hover{color:var(--color-error);border-color:var(--color-error)}.admin-layout__main{padding:clamp(1rem,4vw,2rem);padding-top:calc(var(--btn-icon-size) + var(--space-md) * 2);flex:1;min-width:0}@media (width>=1024px){.admin-layout__toggle{display:none}.admin-layout__sidebar{flex-shrink:0;width:260px;height:100vh;position:sticky;top:0;transform:translate(0)}.admin-layout__overlay{display:none}.admin-layout__main{padding-top:clamp(1rem,4vw,2rem)}}
