.app-wrapper{min-height:100vh;display:flex;flex-direction:column;position:relative}.main-nav{position:sticky;top:0;z-index:1000;background:#fbf9fcd9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--dn-line)}.nav-container{max-width:1080px;margin:0 auto;padding:10px var(--dn-space-5);display:flex;justify-content:space-between;align-items:center;gap:var(--dn-space-4);position:relative}.nav-logo{text-decoration:none;min-width:0}.nav-brand-container{display:flex;align-items:center;gap:10px;min-width:0}.nav-logo-img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--dn-line);flex-shrink:0}.nav-brand-text{display:flex;flex-direction:column;min-width:0}.logo-text{font-family:var(--dn-font-display);font-size:1.02rem;font-weight:600;letter-spacing:.01em;line-height:1.2;color:var(--dn-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-subtitle{font-size:.68rem;color:var(--dn-ink-subtle);font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links{display:flex;align-items:center;gap:var(--dn-space-2)}.nav-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.9rem;font-weight:600;color:var(--dn-ink-muted);transition:var(--transition-smooth);padding:8px 14px;border-radius:var(--dn-radius-xs)}.nav-link:hover{color:var(--dn-primary);background:var(--dn-tint)}.admin-link{background:var(--dn-tint-strong);color:var(--dn-primary)}.admin-link:hover{background:var(--dn-primary-soft)}.logout-nav-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--dn-line);color:var(--dn-ink-muted);padding:7px 14px;border-radius:var(--dn-radius-xs);font-family:var(--dn-font-ui);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.logout-nav-btn:hover{background:#fef2f2;color:var(--dn-error);border-color:#fecaca}.menu-toggle{display:none;align-items:center;justify-content:center;width:var(--dn-tap);height:var(--dn-tap);background:transparent;border:none;color:var(--dn-primary);cursor:pointer;border-radius:var(--dn-radius-xs);transition:var(--transition-smooth)}.menu-toggle:hover{background:var(--dn-tint)}.main-content{flex:1;width:100%;padding:var(--dn-space-8) 0 var(--dn-space-12)}.main-footer{text-align:center;padding:var(--dn-space-8) var(--dn-space-5);color:var(--dn-ink-subtle);font-size:.82rem;border-top:1px solid var(--dn-line);margin-top:auto}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--dn-space-4);color:var(--dn-ink-muted);font-size:.9rem}.error-unauthorized{padding:var(--dn-space-10) var(--dn-space-5)}.error-unauthorized .glass-card{max-width:420px;padding:var(--dn-space-8);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--dn-space-4)}.error-unauthorized p{color:var(--dn-ink-muted);font-size:.95rem}@media(max-width:768px){.nav-container{padding:8px var(--dn-space-4)}.logo-subtitle{display:none}.logo-text{font-size:.95rem}.nav-logo-img{width:32px;height:32px}.menu-toggle{display:flex;position:relative;z-index:1100}.nav-links{position:absolute;top:calc(100% + 8px);right:var(--dn-space-4);left:var(--dn-space-4);flex-direction:column;align-items:stretch;background:var(--dn-surface-1);padding:var(--dn-space-2);border-radius:var(--dn-radius-md);box-shadow:var(--dn-shadow-lg);border:1px solid var(--dn-line);gap:var(--dn-space-1);display:none}.nav-links.show{display:flex;animation:fadeIn .18s ease-out}.nav-link,.logout-nav-btn{width:100%;justify-content:center;min-height:var(--dn-tap)}.main-content{padding:var(--dn-space-6) 0 var(--dn-space-10)}}.appointment-form-container{max-width:880px;margin:0 auto;padding:0 var(--dn-space-5)}.form-lock-wrapper{position:relative}.appointment-form{padding:var(--dn-space-8)}.form-header{margin-bottom:var(--dn-space-6)}.header-flex{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-5)}.header-text{min-width:0}.header-text .page-title{margin-bottom:var(--dn-space-1)}.header-text .page-subtitle strong{color:var(--dn-primary);font-weight:600}.header-profile{flex-shrink:0}.login-header-promo{margin-top:var(--dn-space-2)}.login-promo-text{font-size:.9rem;color:var(--dn-ink-muted);font-weight:500}.notif-cta{display:flex;justify-content:center;margin-bottom:var(--dn-space-4)}.appointment-form-container.is-locked{filter:blur(12px) grayscale(.4);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}.lock-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#fbf9fcb8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.embedded-login-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.success-message{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--dn-space-2);background:var(--dn-surface-1);border:1px solid var(--dn-line);border-radius:var(--dn-radius-lg);padding:var(--dn-space-8) var(--dn-space-6);margin-bottom:var(--dn-space-5);box-shadow:var(--dn-shadow-xs)}.success-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--dn-tint-strong);color:var(--dn-primary);margin-bottom:var(--dn-space-2)}.success-message h3{color:var(--dn-ink)}.success-message p{color:var(--dn-ink-muted);font-size:.92rem;max-width:34ch}.client-tabs-nav{max-width:360px;margin:0 auto var(--dn-space-5)}.form-section{padding-bottom:var(--dn-space-6);margin-bottom:var(--dn-space-6);border-bottom:1px solid var(--dn-line)}.form-section:last-of-type{padding-bottom:0;margin-bottom:0;border-bottom:none}.form-section h3{display:flex;align-items:center;gap:var(--dn-space-2);font-family:var(--dn-font-ui);font-size:1.05rem;font-weight:700;color:var(--dn-ink);margin-bottom:var(--dn-space-5)}.section-icon{color:var(--dn-primary-light);flex-shrink:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--dn-space-4)}.form-row .input-group{margin-bottom:var(--dn-space-5)}.label-helper{margin-left:var(--dn-space-1);font-size:.78rem;font-weight:500;color:var(--dn-ink-subtle)}.service-info-note{display:flex;align-items:center;gap:var(--dn-space-2);margin-top:var(--dn-space-3);padding:var(--dn-space-3);background:var(--dn-tint);border-radius:var(--dn-radius-sm);font-size:.85rem;color:var(--dn-ink-muted)}.service-info-note svg{color:var(--dn-primary-light);flex-shrink:0}.service-info-note strong{color:var(--dn-primary);font-weight:600}.chip-row{display:flex;gap:var(--dn-space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin:0 calc(-1 * var(--dn-space-1));padding-left:var(--dn-space-1);padding-right:var(--dn-space-1)}.chip-row::-webkit-scrollbar{display:none}.chip-row .chip{flex:0 0 auto}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--dn-space-2);width:100%}.chip-grid .chip{width:100%;min-height:var(--dn-tap);text-align:center}.file-upload-zone{position:relative;width:100%;border:1px dashed var(--dn-line-strong);border-radius:var(--dn-radius-md);padding:var(--dn-space-5);text-align:center;background:var(--dn-surface-2);transition:var(--transition-smooth);cursor:pointer}.file-upload-zone:hover{border-color:var(--dn-primary-light);background:var(--dn-tint)}.file-upload-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.file-upload-zone label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--dn-space-2);min-height:var(--dn-tap);margin:0;font-size:.9rem;font-weight:600;color:var(--dn-ink-muted);cursor:pointer}.file-upload-zone label svg{color:var(--dn-primary-light)}.file-upload-zone.success{border-style:solid;border-color:#a7f3d0;background:#f0fdf7}.file-upload-zone.success label,.file-upload-zone.success label svg{color:#047857}.image-preview-container{position:relative;width:100%;max-width:200px;margin:var(--dn-space-4) auto 0;border-radius:var(--dn-radius-sm);overflow:hidden;border:1px solid var(--dn-line)}.preview-image{display:block;width:100%;height:140px;object-fit:cover}.preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#2e1b3480;color:#fff;font-size:.85rem;font-weight:600;opacity:0;transition:var(--transition-smooth)}.file-upload-zone:hover .preview-overlay{opacity:1}.date-time-picker-container{background:var(--dn-surface-2);border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);padding:var(--dn-space-5)}@media(min-width:769px){.date-time-picker-container{display:grid;grid-template-columns:316px minmax(0,1fr);gap:var(--dn-space-6);align-items:start}.time-selector-wrapper,.time-selector-placeholder{margin-top:0;padding-top:0;border-top:none}.time-selector-placeholder{padding:var(--dn-space-6) var(--dn-space-5);min-height:100%}}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-3);margin-bottom:var(--dn-space-4)}.calendar-header h4{font-family:var(--dn-font-ui);font-size:.98rem;font-weight:700;color:var(--dn-ink)}.calendar-header h4:first-letter{text-transform:uppercase}.cal-nav-btns{display:flex;gap:var(--dn-space-2)}.cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--dn-tap);height:var(--dn-tap);background:var(--dn-surface-1);border:1px solid var(--dn-line);border-radius:var(--dn-radius-xs);color:var(--dn-ink-muted);cursor:pointer;transition:var(--transition-smooth)}.cal-nav-btn:hover:not(:disabled){background:var(--dn-tint);border-color:var(--dn-primary-light);color:var(--dn-primary)}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-wrapper .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--dn-space-1)}.calendar-wrapper .weekday{display:flex;align-items:center;justify-content:center;padding-bottom:var(--dn-space-2);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dn-ink-subtle)}.calendar-wrapper .calendar-day{display:flex;align-items:center;justify-content:center;width:auto;min-width:0;min-height:40px;aspect-ratio:1 / 1;border:1px solid transparent;border-radius:var(--dn-radius-xs);background:var(--dn-surface-1);font-size:.9rem;font-weight:600;color:var(--dn-ink);cursor:pointer;transition:var(--transition-smooth)}.calendar-wrapper .calendar-day:hover:not(.empty):not(.past-day):not(.blocked-day){border-color:var(--dn-primary-light);color:var(--dn-primary)}.calendar-wrapper .calendar-day.today{border-color:var(--dn-line-strong);color:var(--dn-primary)}.calendar-wrapper .calendar-day.selected{background:var(--dn-primary);border-color:var(--dn-primary);color:var(--dn-on-primary);font-weight:700}.calendar-wrapper .calendar-day.empty{background:transparent;cursor:default}.calendar-wrapper .calendar-day.past-day{background:transparent;color:var(--dn-ink-subtle);opacity:.35;cursor:not-allowed;pointer-events:none}.calendar-wrapper .calendar-day.blocked-day{background:var(--dn-surface-2);color:var(--dn-ink-subtle);opacity:.55;cursor:not-allowed}.time-selector-wrapper{margin-top:var(--dn-space-5);padding-top:var(--dn-space-5);border-top:1px solid var(--dn-line)}.time-selector-wrapper h4{margin-bottom:var(--dn-space-3);font-family:var(--dn-font-ui);font-size:.9rem;font-weight:700;color:var(--dn-ink)}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:var(--dn-space-2)}.time-slots-grid .chip{flex-direction:column;gap:0;width:100%;min-height:var(--dn-tap);padding:var(--dn-space-2) var(--dn-space-2);border-radius:var(--dn-radius-sm);font-size:.85rem;background:var(--dn-surface-1)}.time-range-hint{display:block;margin-top:1px;font-size:.7rem;font-weight:500;color:var(--dn-ink-subtle)}.chip.selected .time-range-hint{color:#ffffffd1}.time-selector-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--dn-space-3);min-height:160px;margin-top:var(--dn-space-5);padding:var(--dn-space-6) var(--dn-space-5);border:1px dashed var(--dn-line-strong);border-radius:var(--dn-radius-md);background:var(--dn-surface-1);text-align:center}.time-selector-placeholder svg{color:var(--dn-primary-light);opacity:.55}.time-selector-placeholder p{max-width:30ch;font-size:.9rem;color:var(--dn-ink-muted)}.form-submit-bar{margin-top:var(--dn-space-6)}.form-submit-bar .submit-btn{width:100%;min-height:52px;font-size:1rem}.my-appointments-section{padding:var(--dn-space-6)}.my-appointments-section h3{display:flex;align-items:center;gap:var(--dn-space-2);font-family:var(--dn-font-ui);font-size:1.05rem;font-weight:700;color:var(--dn-ink);margin-bottom:var(--dn-space-5)}.my-appointments-list{display:flex;flex-direction:column;gap:var(--dn-space-3)}.apt-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--dn-space-3);padding:var(--dn-space-10) var(--dn-space-5);text-align:center;color:var(--dn-ink-muted);font-size:.92rem}.apt-state .empty-icon{color:var(--dn-primary-light);opacity:.45}.client-apt-card{padding:var(--dn-space-5);background:var(--dn-surface-1);border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);transition:var(--transition-smooth)}.client-apt-card:hover{border-color:var(--dn-line-strong)}.apt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dn-space-3)}.apt-card-title{font-family:var(--dn-font-ui);font-size:1rem;font-weight:700;color:var(--dn-ink)}.apt-card-sub{display:block;margin-top:2px;font-size:.84rem;color:var(--dn-ink-muted);text-transform:capitalize}.apt-card-meta{display:flex;flex-wrap:wrap;gap:var(--dn-space-2) var(--dn-space-5);margin-top:var(--dn-space-4);padding:var(--dn-space-3);background:var(--dn-surface-2);border-radius:var(--dn-radius-sm)}.apt-meta-item{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--dn-ink)}.apt-meta-item svg{color:var(--dn-primary-light);flex-shrink:0}.apt-card-note{display:flex;align-items:center;gap:6px;margin-top:var(--dn-space-3);font-size:.82rem;color:var(--dn-error)}.apt-card-actions{display:flex;justify-content:flex-end;margin-top:var(--dn-space-3);padding-top:var(--dn-space-3);border-top:1px solid var(--dn-line)}.btn-cancel-apt{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border:1px solid var(--dn-line);border-radius:var(--dn-radius-xs);background:transparent;color:var(--dn-ink-muted);font-family:var(--dn-font-ui);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.btn-cancel-apt:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:var(--dn-error)}.btn-cancel-apt:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-apt .spinner-small{border-color:#6b58724d;border-top-color:var(--dn-ink-muted)}@media(max-width:600px){.apt-card-actions{justify-content:stretch}.btn-cancel-apt{width:100%;min-height:var(--dn-tap)}}.payment-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--dn-space-5);background:#2e1b346b}.payment-modal{display:flex;flex-direction:column;width:100%;max-width:480px;max-height:min(88vh,780px);padding:0;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-3);flex-shrink:0;padding:var(--dn-space-4) var(--dn-space-4) var(--dn-space-4) var(--dn-space-6);border-bottom:1px solid var(--dn-line)}.modal-title{display:flex;align-items:center;gap:var(--dn-space-2);font-family:var(--dn-font-ui);font-size:1.08rem;font-weight:700;color:var(--dn-ink)}.modal-title svg{color:var(--dn-primary-light);flex-shrink:0}.close-modal{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--dn-tap);height:var(--dn-tap);background:transparent;border:none;border-radius:var(--dn-radius-xs);color:var(--dn-ink-muted);cursor:pointer;transition:var(--transition-smooth)}.close-modal:hover{background:var(--dn-tint);color:var(--dn-primary)}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:var(--dn-space-5) var(--dn-space-6)}.modal-footer{flex-shrink:0;padding:var(--dn-space-4) var(--dn-space-6);padding-bottom:calc(var(--dn-space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--dn-line);background:var(--dn-surface-1)}.modal-footer .btn-primary{width:100%;min-height:50px}.payment-method-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--dn-space-2);margin-bottom:var(--dn-space-5)}.payment-method-selector .chip{width:100%;min-height:52px;border-radius:var(--dn-radius-sm)}.payment-details{padding:var(--dn-space-4);background:var(--dn-surface-2);border:1px solid var(--dn-line);border-radius:var(--dn-radius-md)}.bank-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--dn-space-3);padding:var(--dn-space-2) 0;font-size:.9rem;border-bottom:1px solid var(--dn-line)}.bank-row:last-child{border-bottom:none}.bank-row strong{color:var(--dn-ink-muted);font-weight:600}.bank-row span{color:var(--dn-ink);font-weight:600;text-align:right}.bank-row .copyable{font-variant-numeric:tabular-nums;letter-spacing:.02em}.yappy-box{text-align:center}.yappy-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dn-ink-subtle)}.yappy-number{display:block;margin-top:var(--dn-space-1);font-size:1.5rem;font-weight:700;letter-spacing:.02em;color:var(--dn-primary);font-variant-numeric:tabular-nums}.yappy-sub{margin-top:var(--dn-space-1);font-size:.82rem;color:var(--dn-ink-muted)}.policies-box-mini{margin-top:var(--dn-space-5);padding:var(--dn-space-4);background:var(--dn-tint);border-radius:var(--dn-radius-md)}.policies-box-mini h4{display:flex;align-items:center;gap:var(--dn-space-2);margin-bottom:var(--dn-space-3);font-family:var(--dn-font-ui);font-size:.85rem;font-weight:700;color:var(--dn-ink)}.policies-box-mini h4 svg{color:var(--dn-accent);flex-shrink:0}.policies-list-mini{list-style:none;display:flex;flex-direction:column;gap:var(--dn-space-2)}.policies-list-mini li{display:flex;align-items:flex-start;gap:var(--dn-space-2);font-size:.82rem;line-height:1.4;color:var(--dn-ink-muted)}.policies-list-mini li svg{flex-shrink:0;margin-top:2px;color:var(--dn-primary-light)}.policy-footer-mini{margin-top:var(--dn-space-3);padding-top:var(--dn-space-3);border-top:1px solid var(--dn-line);font-size:.76rem;font-weight:600;color:var(--dn-ink-muted);text-align:center}.upload-payment-section{margin-top:var(--dn-space-5)}.upload-payment-section p{margin-bottom:var(--dn-space-2);font-size:.875rem;font-weight:600;color:var(--dn-ink)}.retention-modal{width:100%;max-width:420px;padding:var(--dn-space-8) var(--dn-space-6) var(--dn-space-6);text-align:center;position:relative;max-height:88vh;overflow-y:auto}.retention-modal .close-modal{position:absolute;top:var(--dn-space-2);right:var(--dn-space-2)}.retention-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--dn-space-4);border-radius:50%;background:var(--dn-tint-strong);color:var(--dn-primary)}.retention-modal h2{font-family:var(--dn-font-ui);font-size:1.25rem;font-weight:700;color:var(--dn-ink);margin-bottom:var(--dn-space-3)}.retention-text{font-size:.95rem;line-height:1.6;color:var(--dn-ink-muted);margin-bottom:var(--dn-space-6)}.retention-text strong{color:var(--dn-primary);font-weight:600}.retention-actions{display:flex;flex-direction:column;gap:var(--dn-space-2)}.retention-btn{width:100%}@media(max-width:768px){.appointment-form-container{padding:0 var(--dn-space-4)}.appointment-form{padding:var(--dn-space-5) var(--dn-space-4)}.header-flex{gap:var(--dn-space-4)}.form-row{grid-template-columns:1fr;gap:0}.date-time-picker-container{padding:var(--dn-space-4)}.chip-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.my-appointments-section{padding:var(--dn-space-5) var(--dn-space-4)}.form-submit-bar{position:sticky;bottom:0;z-index:5;margin:var(--dn-space-6) calc(-1 * var(--dn-space-4)) calc(-1 * var(--dn-space-5));padding:var(--dn-space-3) var(--dn-space-4);padding-bottom:calc(var(--dn-space-3) + env(safe-area-inset-bottom,0px));background:var(--dn-surface-1);border-top:1px solid var(--dn-line);border-radius:0 0 var(--dn-radius-lg) var(--dn-radius-lg)}}@media(max-width:600px){.payment-modal-overlay{align-items:flex-end;padding:0}.payment-modal,.retention-modal{max-width:100%;max-height:92vh;border-radius:var(--dn-radius-xl) var(--dn-radius-xl) 0 0;border-bottom:none}.modal-head{padding-left:var(--dn-space-5)}.modal-body,.modal-footer{padding-left:var(--dn-space-5);padding-right:var(--dn-space-5)}.retention-modal{padding:var(--dn-space-8) var(--dn-space-5) var(--dn-space-6)}}@media(max-width:480px){.calendar-header h4{font-size:.9rem}.calendar-wrapper .weekday{font-size:.62rem}.date-time-picker-container{margin:0 calc(-1 * var(--dn-space-2));padding:var(--dn-space-4) var(--dn-space-3)}.calendar-wrapper .calendar-grid{gap:3px}.calendar-wrapper .calendar-day{font-size:.85rem;aspect-ratio:auto;height:42px;min-width:0}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.time-slots-grid .chip{font-size:.8rem}}.client-notif-bar{display:flex;justify-content:flex-end;margin-bottom:12px}.btn-notif-bell{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;font-family:inherit;border:1px solid rgba(91,55,101,.2);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#5b3765;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5b376514}.btn-notif-bell:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5b376526}.btn-notif-bell.active{background:#10b9811a;color:#059669;border-color:#10b9814d;cursor:default}.btn-notif-bell.blocked{background:#ef44441a;color:#dc2626;border-color:#ef44444d}.btn-notif-bell.pulse{animation:notifPulse 2s infinite}@keyframes notifPulse{0%{box-shadow:0 0 #5b376566}70%{box-shadow:0 0 0 10px #5b376500}to{box-shadow:0 0 #5b376500}}.login-container{position:relative;display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:100%;max-height:100%;overflow-y:auto;padding:var(--dn-space-6) var(--dn-space-4);background:transparent}.login-card{margin:auto;width:100%;max-width:400px;padding:var(--dn-space-8);background:var(--dn-surface-1);border-radius:var(--dn-radius-lg);box-shadow:var(--dn-shadow-md)}.login-card:hover{box-shadow:var(--dn-shadow-md)}.login-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--dn-space-2);margin-bottom:var(--dn-space-8)}.login-brand-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--dn-line);margin-bottom:var(--dn-space-2)}.login-title{font-family:var(--dn-font-display);font-size:1.75rem;line-height:1.2;letter-spacing:-.02em;color:var(--dn-ink);font-weight:600}.login-subtitle{font-size:.9rem;color:var(--dn-ink-muted);max-width:30ch}.auth-error{display:flex;align-items:flex-start;gap:var(--dn-space-2);padding:var(--dn-space-3) var(--dn-space-4);margin-bottom:var(--dn-space-5);border:1px solid rgba(239,68,68,.22);border-radius:var(--dn-radius-sm);background:#ef444412;color:var(--dn-error);font-size:.875rem;line-height:1.45;text-align:left}.auth-error svg{flex-shrink:0;margin-top:1px}.auth-collapsible{display:grid;grid-template-rows:0fr;margin-bottom:0;opacity:0;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1),margin-bottom .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}.auth-collapsible.is-open{grid-template-rows:1fr;margin-bottom:var(--dn-space-5);opacity:1}.auth-collapsible-inner{min-height:0;overflow:hidden}.auth-collapsible-inner .input-group:last-child{margin-bottom:0}.login-form .input-group:last-of-type{margin-bottom:0}.login-submit{width:100%;margin-top:var(--dn-space-6)}.auth-toggle{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--dn-space-1);margin-top:var(--dn-space-4);font-size:.9rem;color:var(--dn-ink-muted)}.auth-toggle .btn-secondary-link{color:var(--dn-primary);padding:8px 10px}.login-divider{display:flex;align-items:center;gap:var(--dn-space-3);margin:var(--dn-space-5) 0;color:var(--dn-ink-subtle);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--dn-line)}.btn-google-login{width:100%;color:var(--dn-ink)}.btn-google-login:disabled{opacity:.55;cursor:not-allowed}.btn-google-login .google-mark{width:18px;height:18px;flex-shrink:0}@media(max-width:480px){.login-container{padding:var(--dn-space-4) var(--dn-space-4) var(--dn-space-8)}.login-card{max-width:100%;padding:var(--dn-space-6) var(--dn-space-5)}.login-header{margin-bottom:var(--dn-space-6)}.login-brand-img{width:56px;height:56px}.login-title{font-size:1.5rem}}.admin-container{--admin-sticky-top: 64px;max-width:1080px;margin:0 auto var(--dn-space-12);padding:0 var(--dn-space-5)}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--dn-space-5);flex-wrap:wrap;margin-bottom:var(--dn-space-6)}.admin-header-lead .eyebrow{margin-bottom:var(--dn-space-1)}.admin-title{margin:0}.admin-header-side{display:flex;align-items:center;gap:var(--dn-space-2)}.admin-stats{display:flex;gap:var(--dn-space-2)}.admin-stat{display:inline-flex;align-items:center;gap:var(--dn-space-2);min-height:40px;padding:0 var(--dn-space-3);border:1px solid var(--dn-line);border-radius:var(--dn-radius-pill);background:var(--dn-surface-1);white-space:nowrap}.admin-stat-icon{display:inline-flex;color:var(--dn-primary-light)}.admin-stat-value{font-size:.95rem;font-weight:700;color:var(--dn-ink);font-variant-numeric:tabular-nums}.admin-stat-label{font-size:.78rem;font-weight:600;color:var(--dn-ink-muted)}.admin-stat--alert{background:var(--dn-tint);border-color:var(--dn-line-strong)}.admin-stat--alert .admin-stat-icon{color:var(--dn-warning)}.admin-logout{display:inline-flex;align-items:center;justify-content:center;width:var(--dn-tap);height:var(--dn-tap);flex-shrink:0;border:1px solid var(--dn-line);border-radius:var(--dn-radius-sm);background:var(--dn-surface-1);color:var(--dn-ink-muted);cursor:pointer;transition:var(--transition-smooth)}.admin-logout:hover{color:var(--dn-error);border-color:var(--dn-line-strong);background:var(--dn-surface-2)}.admin-tabs,.admin-filters{margin-bottom:var(--dn-space-5)}.admin-filters-row{display:flex;gap:var(--dn-space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--dn-space-1)}.admin-filters-row::-webkit-scrollbar{display:none}.admin-filter{flex-shrink:0;font-size:.85rem}.admin-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--dn-radius-pill);background:var(--dn-tint-strong);color:var(--dn-primary);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.admin-filter.selected .admin-filter-count{background:#ffffff38;color:var(--dn-on-primary)}.admin-skeleton-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);overflow:hidden;background:var(--dn-line)}.admin-skeleton-row{height:58px;background:linear-gradient(90deg,var(--dn-surface-1) 0%,var(--dn-surface-2) 50%,var(--dn-surface-1) 100%);background-size:200% 100%;animation:adminShimmer 1.4s ease-in-out infinite}@keyframes adminShimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.admin-loading-text{display:flex;align-items:center;justify-content:center;gap:var(--dn-space-2);margin-top:var(--dn-space-5);color:var(--dn-ink-muted);font-size:.9rem}.admin-loading-spinner{width:18px;height:18px;border-width:2px}.admin-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--dn-space-2);padding:var(--dn-space-12) var(--dn-space-6)}.admin-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--dn-tint);color:var(--dn-primary-light);margin-bottom:var(--dn-space-2)}.admin-empty-title{font-size:1.05rem}.admin-empty-text{color:var(--dn-ink-muted);font-size:.9rem;max-width:34ch}.apt-groups{display:flex;flex-direction:column;gap:var(--dn-space-8)}.apt-group-header{position:sticky;top:var(--admin-sticky-top);z-index:5;display:flex;align-items:baseline;justify-content:space-between;gap:var(--dn-space-3);padding:var(--dn-space-2) 0;margin-bottom:var(--dn-space-3);background:var(--dn-canvas);border-bottom:1px solid var(--dn-line)}.apt-group-date{font-size:.9rem;font-weight:700;letter-spacing:.01em;color:var(--dn-ink)}.apt-group-date:first-letter{text-transform:uppercase}.apt-group-count{font-size:.78rem;font-weight:600;color:var(--dn-ink-subtle);white-space:nowrap}.apt-list{list-style:none;margin:0;padding:0;border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);background:var(--dn-surface-1);overflow:hidden}.apt-row{position:relative;border-bottom:1px solid var(--dn-line);transition:background-color .15s ease}.apt-row:last-child{border-bottom:none}.apt-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dn-line-strong)}.apt-row[data-status=pending]:before{background:var(--dn-warning)}.apt-row[data-status=confirmed]:before{background:var(--dn-info)}.apt-row[data-status=in-progress]:before{background:var(--dn-accent)}.apt-row[data-status=completed]:before{background:var(--dn-success)}.apt-row[data-status=cancelled]:before{background:var(--dn-error)}.apt-row:hover,.apt-row.is-open{background:var(--dn-tint)}.apt-row-line{display:flex;align-items:center;gap:var(--dn-space-2);padding-right:var(--dn-space-3)}.apt-row-main{flex:1;min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr) minmax(0,1.4fr) 128px 18px;grid-template-areas:"time client service status caret";align-items:center;gap:var(--dn-space-3);min-height:58px;padding:var(--dn-space-2) var(--dn-space-3) var(--dn-space-2) var(--dn-space-4);border:none;background:transparent;font-family:var(--dn-font-ui);text-align:left;cursor:pointer}.apt-row-main:focus-visible{outline:2px solid var(--dn-primary);outline-offset:-2px;border-radius:var(--dn-radius-xs)}.apt-row-time{grid-area:time;font-size:.85rem;font-weight:700;color:var(--dn-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.apt-row-client{grid-area:client;font-size:.92rem;font-weight:600;color:var(--dn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-row-meta{display:contents}.apt-row-service{grid-area:service;font-size:.85rem;color:var(--dn-ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-row-status{grid-area:status;display:flex;justify-content:flex-start}.apt-row-status .badge-icon{opacity:.85}.apt-row-caret{grid-area:caret;color:var(--dn-ink-subtle);transition:transform .2s ease}.apt-row.is-open .apt-row-caret{transform:rotate(180deg)}.apt-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--dn-space-1);flex:0 0 auto;min-width:186px}.apt-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 var(--dn-space-3);border:1px solid transparent;border-radius:var(--dn-radius-xs);font-family:var(--dn-font-ui);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:var(--transition-smooth)}.apt-action--primary{background:var(--dn-primary);color:var(--dn-on-primary)}.apt-action--primary:hover{background:var(--dn-primary-dark)}.apt-action--danger{background:transparent;border-color:var(--dn-line-strong);color:var(--dn-error)}.apt-action--danger:hover{background:#ef444414;border-color:#ef444459}.apt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid transparent;border-radius:var(--dn-radius-xs);background:transparent;color:var(--dn-ink-subtle);cursor:pointer;text-decoration:none;transition:var(--transition-smooth)}.apt-icon-btn:hover{background:var(--dn-surface-2);color:var(--dn-primary);border-color:var(--dn-line)}.apt-icon-btn--danger:hover{color:var(--dn-error);background:#ef444414;border-color:#ef444440}.apt-detail{padding:var(--dn-space-4) var(--dn-space-4) var(--dn-space-4) var(--dn-space-5);border-top:1px solid var(--dn-line);background:var(--dn-surface-1);animation:fadeIn .2s ease-out}.apt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--dn-space-3) var(--dn-space-5);margin:0}.apt-fact dt{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dn-ink-subtle);margin-bottom:2px}.apt-fact dd{margin:0;font-size:.88rem;font-weight:600;color:var(--dn-ink);word-break:break-word}.apt-fact dd a{color:var(--dn-primary);text-decoration:none}.apt-fact dd a:hover{text-decoration:underline}.apt-notes{margin-top:var(--dn-space-4);padding:var(--dn-space-3);border-radius:var(--dn-radius-sm);background:var(--dn-surface-2);border-left:2px solid var(--dn-primary-light)}.apt-notes-label{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dn-ink-subtle);margin-bottom:var(--dn-space-1)}.apt-notes p{font-size:.88rem;line-height:1.5;color:var(--dn-ink-muted)}.apt-attachments{display:flex;flex-wrap:wrap;gap:var(--dn-space-3);margin-top:var(--dn-space-4)}.apt-attachment{display:flex;flex-direction:column;gap:var(--dn-space-1);text-decoration:none}.apt-thumb{display:block;width:104px;height:76px;object-fit:cover;border-radius:var(--dn-radius-xs);border:1px solid var(--dn-line);background:var(--dn-surface-2);transition:var(--transition-smooth)}.apt-attachment:hover .apt-thumb{border-color:var(--dn-primary-light)}.apt-attachment-label{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--dn-ink-muted)}.apt-detail-actions{display:flex;flex-wrap:wrap;gap:var(--dn-space-2);margin-top:var(--dn-space-4);padding-top:var(--dn-space-3);border-top:1px solid var(--dn-line)}.admin-panel{max-width:760px;margin:0 auto;padding:var(--dn-space-8)}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dn-space-5);flex-wrap:wrap;padding-bottom:var(--dn-space-5);margin-bottom:var(--dn-space-6);border-bottom:1px solid var(--dn-line)}.admin-panel-title{font-size:1.15rem;margin-bottom:var(--dn-space-1)}.admin-panel-desc{font-size:.9rem;color:var(--dn-ink-muted);max-width:46ch}.admin-section{margin-bottom:var(--dn-space-8)}.admin-section:last-of-type{margin-bottom:0}.admin-section-head{display:flex;align-items:flex-start;gap:var(--dn-space-3);margin-bottom:var(--dn-space-4)}.admin-section-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--dn-tint-strong);color:var(--dn-primary);font-size:.78rem;font-weight:700;margin-top:1px}.admin-section-title{font-size:1rem;margin-bottom:2px}.admin-section-help{font-size:.85rem;color:var(--dn-ink-muted)}.admin-chip-row{display:flex;flex-wrap:wrap;gap:var(--dn-space-2)}.admin-day-actions{display:flex;flex-wrap:wrap;gap:var(--dn-space-2);margin-top:var(--dn-space-4);padding-top:var(--dn-space-3);border-top:1px solid var(--dn-line)}.admin-panel-footer{display:flex;justify-content:flex-end;padding-top:var(--dn-space-6);margin-top:var(--dn-space-8);border-top:1px solid var(--dn-line)}.admin-save-btn{min-width:220px}.admincal{border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);background:var(--dn-surface-1);padding:var(--dn-space-4)}.admincal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-3);margin-bottom:var(--dn-space-3)}.admincal-month{font-size:.95rem;font-weight:700;color:var(--dn-ink);text-transform:capitalize}.admincal-nav{display:flex;gap:var(--dn-space-1)}.admincal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--dn-line);border-radius:var(--dn-radius-xs);background:var(--dn-surface-1);color:var(--dn-ink-muted);cursor:pointer;transition:var(--transition-smooth)}.admincal-nav-btn:hover{color:var(--dn-primary);border-color:var(--dn-line-strong);background:var(--dn-surface-2)}.admincal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--dn-space-1)}.admincal-weekday{text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dn-ink-subtle);padding-bottom:var(--dn-space-2)}.admincal-day{aspect-ratio:1;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--dn-radius-xs);background:transparent;font-family:var(--dn-font-ui);font-size:.9rem;font-weight:600;color:var(--dn-ink-muted);cursor:pointer;transition:var(--transition-smooth)}.admincal-day.is-empty{cursor:default;pointer-events:none}.admincal-day.is-open{background:var(--dn-tint);border-color:var(--dn-line);color:var(--dn-primary)}.admincal-day.is-open:hover{border-color:var(--dn-primary-light)}.admincal-day.is-blocked{background:var(--dn-surface-2);color:var(--dn-ink-subtle);text-decoration:line-through}.admincal-day.is-blocked:hover{color:var(--dn-ink-muted)}.admincal-day.is-selected{background:var(--dn-primary);border-color:var(--dn-primary);color:var(--dn-on-primary);text-decoration:none}.admincal-legend{display:flex;flex-wrap:wrap;gap:var(--dn-space-4);margin-top:var(--dn-space-4);padding-top:var(--dn-space-3);border-top:1px solid var(--dn-line)}.admincal-legend-item{display:inline-flex;align-items:center;gap:var(--dn-space-2);font-size:.78rem;color:var(--dn-ink-muted)}.admincal-swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--dn-line);flex-shrink:0}.admincal-swatch.is-open{background:var(--dn-tint-strong)}.admincal-swatch.is-blocked{background:var(--dn-surface-2)}.admincal-swatch.is-selected{background:var(--dn-primary);border-color:var(--dn-primary)}.svc-switch-field{display:flex;align-items:center;gap:var(--dn-space-3);padding:var(--dn-space-3);border:1px solid var(--dn-line);border-radius:var(--dn-radius-sm);background:var(--dn-surface-2)}.svc-switch-text{display:flex;flex-direction:column}.svc-switch-title{font-size:.88rem;font-weight:700;color:var(--dn-ink)}.svc-switch-help{font-size:.75rem;color:var(--dn-ink-muted)}.svc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--dn-space-3)}.svc-item{padding:var(--dn-space-4);border:1px solid var(--dn-line);border-radius:var(--dn-radius-md);background:var(--dn-surface-1);transition:var(--transition-smooth)}.svc-item.is-disabled{background:var(--dn-surface-2)}.svc-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-3);margin-bottom:var(--dn-space-3)}.svc-item-id{display:flex;flex-direction:column;min-width:0}.svc-item-key{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dn-accent)}.svc-item-preview{font-size:.88rem;font-weight:600;color:var(--dn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-item-visibility{display:flex;align-items:center;gap:var(--dn-space-2);flex-shrink:0}.svc-visibility-label{font-size:.75rem;font-weight:700}.svc-visibility-label.is-on{color:var(--dn-success)}.svc-visibility-label.is-off{color:var(--dn-ink-subtle)}.svc-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 88px auto;align-items:end;gap:var(--dn-space-3)}.svc-field.input-group{margin-bottom:0}.svc-field.input-group label,.svc-field-label{display:block;font-size:.75rem;font-weight:600;color:var(--dn-ink-muted);margin-bottom:var(--dn-space-1)}.svc-field.input-group input{font-size:.9rem}.svc-field input:disabled{background:var(--dn-surface-2);color:var(--dn-ink-subtle);cursor:not-allowed}.svc-field--switch{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:11px;white-space:nowrap}.dn-switch{position:relative;width:46px;height:26px;flex-shrink:0;border:1px solid var(--dn-line-strong);border-radius:var(--dn-radius-pill);background:var(--dn-surface-2);cursor:pointer;transition:var(--transition-smooth)}.dn-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--dn-surface-1);box-shadow:var(--dn-shadow-xs);transition:transform .2s cubic-bezier(.4,0,.2,1)}.dn-switch.active{background:var(--dn-primary);border-color:var(--dn-primary)}.dn-switch.active:after{transform:translate(20px)}.dn-switch:focus-visible{outline:2px solid var(--dn-primary);outline-offset:2px}.dn-switch:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.svc-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.svc-field--name{grid-column:1 / -1}.svc-field--switch{padding-bottom:0;padding-top:var(--dn-space-1)}}@media(max-width:640px){.admin-container{--admin-sticky-top: 56px;padding:0 var(--dn-space-4)}.admin-header{align-items:flex-start;gap:var(--dn-space-4)}.admin-header-side{width:100%;justify-content:space-between}.admin-stats{flex:1;min-width:0}.admin-stat{flex:1;justify-content:center;padding:0 var(--dn-space-2)}.admin-stat-label{font-size:.72rem}.admin-tabs{margin-left:calc(-1 * var(--dn-space-1));margin-right:calc(-1 * var(--dn-space-1))}.segmented-item{flex:0 0 auto}.apt-row-main{grid-template-columns:auto minmax(0,1fr) 18px;grid-template-areas:"time client caret" "meta meta meta";row-gap:2px;column-gap:var(--dn-space-2);min-height:64px;padding:var(--dn-space-2) var(--dn-space-2) var(--dn-space-2) var(--dn-space-3)}.apt-row-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--dn-space-2);grid-area:meta;min-width:0}.apt-row-service{min-width:0}.apt-row-status{flex-shrink:0}.apt-row-service{font-size:.8rem}.apt-row-line{padding-right:var(--dn-space-1)}.apt-row-time{font-size:.8rem}.apt-row-actions{gap:2px;min-width:86px}.apt-row-line .apt-icon-btn:not(.apt-icon-btn--danger){display:none}.apt-action{width:42px;height:var(--dn-tap);padding:0}.apt-action-label{display:none}.apt-icon-btn{width:42px;height:var(--dn-tap)}.apt-detail{padding:var(--dn-space-3)}.apt-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.apt-detail-actions .apt-action{width:auto;height:var(--dn-tap);padding:0 var(--dn-space-4)}.apt-detail-actions .apt-action-label{display:inline}.admin-panel{padding:var(--dn-space-5) var(--dn-space-4)}.admin-panel-head{gap:var(--dn-space-3)}.svc-switch-field{width:100%;justify-content:space-between}.admincal{padding:var(--dn-space-3)}.admincal-day{min-height:38px;font-size:.85rem}.admin-panel-footer{justify-content:stretch}.admin-save-btn{width:100%}.svc-fields{grid-template-columns:minmax(0,1fr) 92px}}@media(max-width:400px){.apt-row-time{font-size:.8rem}}.profile-setup-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--dn-space-4);background:#2e1b346b;animation:fadeIn .2s ease-out;overflow-y:auto}.profile-setup-panel{position:relative;width:100%;max-width:400px;padding:var(--dn-space-8);border-radius:var(--dn-radius-lg);animation:slideIn .25s ease-out}.profile-setup-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--dn-space-2);margin-bottom:var(--dn-space-6)}.profile-setup-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--dn-radius-md);background:var(--dn-tint);color:var(--dn-primary);margin-bottom:var(--dn-space-2)}.profile-setup-title{font-family:var(--dn-font-display);font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--dn-ink)}.profile-setup-text{font-size:.9rem;color:var(--dn-ink-muted);max-width:32ch}.profile-setup-error{display:flex;align-items:flex-start;gap:var(--dn-space-2);padding:var(--dn-space-3) var(--dn-space-4);margin-bottom:var(--dn-space-5);border:1px solid rgba(239,68,68,.22);border-radius:var(--dn-radius-sm);background:#ef444412;color:var(--dn-error);font-size:.875rem;line-height:1.45}.profile-setup-error svg{flex-shrink:0;margin-top:1px}.profile-setup-form .input-group{margin-bottom:0}.profile-setup-submit{width:100%;margin-top:var(--dn-space-6)}@media(max-width:480px){.profile-setup-overlay{align-items:flex-end;padding:0}.profile-setup-panel{max-width:100%;padding:var(--dn-space-6) var(--dn-space-5) var(--dn-space-8);border-radius:var(--dn-radius-xl) var(--dn-radius-xl) 0 0;border-bottom:none;animation:sheetUp .28s cubic-bezier(.4,0,.2,1)}}@keyframes sheetUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.notif-prompt-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--dn-space-4);background:#2e1b346b;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;overflow-y:auto}.notif-prompt-overlay.visible{opacity:1;visibility:visible}.notif-prompt-card{position:relative;width:100%;max-width:400px;padding:var(--dn-space-8);border-radius:var(--dn-radius-lg);transform:translateY(8px);transition:transform .28s cubic-bezier(.4,0,.2,1)}.notif-prompt-overlay.visible .notif-prompt-card{transform:translateY(0)}.notif-prompt-close{position:absolute;top:var(--dn-space-2);right:var(--dn-space-2);display:inline-flex;align-items:center;justify-content:center;width:var(--dn-tap);height:var(--dn-tap);border:none;background:transparent;border-radius:var(--dn-radius-pill);color:var(--dn-ink-subtle);cursor:pointer;transition:var(--transition-smooth)}.notif-prompt-close:hover{background:var(--dn-tint);color:var(--dn-ink)}.notif-prompt-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--dn-space-2);margin-bottom:var(--dn-space-6)}.notif-bell-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--dn-radius-md);background:var(--dn-tint);color:var(--dn-primary);margin-bottom:var(--dn-space-2)}.notif-title{font-family:var(--dn-font-display);font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--dn-ink)}.notif-subtitle{font-size:.9rem;color:var(--dn-ink-muted);max-width:34ch}.notif-benefits{list-style:none;display:flex;flex-direction:column;gap:var(--dn-space-3);padding:var(--dn-space-4);margin-bottom:var(--dn-space-6);text-align:left}.notif-benefits li{display:flex;align-items:flex-start;gap:var(--dn-space-3);font-size:.875rem;line-height:1.45;color:var(--dn-ink)}.notif-benefits svg{flex-shrink:0;margin-top:2px;color:var(--dn-accent)}.notif-actions{display:flex;flex-direction:column;gap:var(--dn-space-2)}.notif-btn-primary,.notif-btn-link{width:100%}.notif-prompt-footer{display:flex;align-items:center;justify-content:center;gap:var(--dn-space-2);margin-top:var(--dn-space-6);padding-top:var(--dn-space-4);border-top:1px solid var(--dn-line);color:var(--dn-ink-subtle);font-size:.78rem;line-height:1.4;text-align:left}.notif-prompt-footer svg{flex-shrink:0}@media(max-width:480px){.notif-prompt-overlay{align-items:flex-end;padding:0}.notif-prompt-card{max-width:100%;padding:var(--dn-space-6) var(--dn-space-5) var(--dn-space-8);border-radius:var(--dn-radius-xl) var(--dn-radius-xl) 0 0;border-bottom:none;transform:translateY(24px)}.notif-title{font-size:1.35rem}}:root{--dn-primary: #5B3765;--dn-primary-light: #BA88AE;--dn-primary-soft: #F3CCDE;--dn-primary-dark: #3a2341;--dn-accent: #9E6899;--dn-accent-light: #D6A8C4;--dn-bg: #ffffff;--dn-surface: #fdfcff;--dn-dark: #5B3765;--dn-text-secondary: #475569;--dn-soft-border: rgba(91, 55, 101, .12);--dn-shadow-premium: 0 20px 50px rgba(91, 55, 101, .08);--dn-success: #10b981;--dn-warning: #f59e0b;--dn-error: #ef4444;--dn-info: #3b82f6;--transition-smooth: all .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .35s cubic-bezier(.34, 1.56, .64, 1);--dn-canvas: #FBF9FC;--dn-surface-1: #ffffff;--dn-surface-2: #F7F4F8;--dn-tint: rgba(91, 55, 101, .045);--dn-tint-strong: rgba(91, 55, 101, .09);--dn-ink: #2E1B34;--dn-ink-muted: #6B5872;--dn-ink-subtle: #9A8BA0;--dn-on-primary: #ffffff;--dn-line: rgba(91, 55, 101, .1);--dn-line-strong: rgba(91, 55, 101, .18);--dn-shadow-xs: 0 1px 2px rgba(46, 27, 52, .05);--dn-shadow-sm: 0 2px 8px rgba(46, 27, 52, .06);--dn-shadow-md: 0 8px 24px rgba(46, 27, 52, .08);--dn-shadow-lg: 0 24px 60px rgba(46, 27, 52, .14);--dn-radius-xs: 8px;--dn-radius-sm: 12px;--dn-radius-md: 16px;--dn-radius-lg: 20px;--dn-radius-xl: 28px;--dn-radius-pill: 999px;--dn-space-1: 4px;--dn-space-2: 8px;--dn-space-3: 12px;--dn-space-4: 16px;--dn-space-5: 20px;--dn-space-6: 24px;--dn-space-8: 32px;--dn-space-10: 40px;--dn-space-12: 48px;--dn-font-display: "Playfair Display", Georgia, serif;--dn-font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dn-tap: 44px}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--dn-font-ui);background:var(--dn-canvas);color:var(--dn-ink);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--dn-font-ui);font-weight:700;line-height:1.25;color:var(--dn-ink);letter-spacing:-.01em}h1{font-family:var(--dn-font-display);font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.02em}h2{font-size:clamp(1.35rem,3vw,1.75rem)}h3{font-size:clamp(1.1rem,2.4vw,1.3rem)}h4{font-size:1rem}.page-title{font-family:var(--dn-font-display);font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.02em;color:var(--dn-ink)}.page-subtitle{color:var(--dn-ink-muted);font-size:.95rem}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dn-accent)}.gradient-text{color:var(--dn-primary);background:none;-webkit-text-fill-color:currentColor}.glass-card{background:var(--dn-surface-1);border:1px solid var(--dn-line);border-radius:var(--dn-radius-lg);box-shadow:var(--dn-shadow-xs);transition:var(--transition-smooth)}.glass-card:hover{transform:none;box-shadow:var(--dn-shadow-xs)}.surface-raised{background:var(--dn-surface-1);border:1px solid var(--dn-line);border-radius:var(--dn-radius-lg);box-shadow:var(--dn-shadow-lg)}.surface-tint{background:var(--dn-tint);border-radius:var(--dn-radius-md)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--dn-space-2);min-height:var(--dn-tap);background:var(--dn-primary);color:var(--dn-on-primary);border:none;padding:12px 24px;border-radius:var(--dn-radius-sm);font-family:var(--dn-font-ui);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--dn-shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--dn-primary-dark);box-shadow:var(--dn-shadow-sm)}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-primary:disabled{background:var(--dn-surface-2);color:var(--dn-ink-subtle);cursor:not-allowed;box-shadow:none}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--dn-space-2);min-height:var(--dn-tap);background:var(--dn-surface-1);color:var(--dn-primary);border:1px solid var(--dn-line-strong);padding:12px 24px;border-radius:var(--dn-radius-sm);font-family:var(--dn-font-ui);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.btn-outline:hover{background:var(--dn-tint);border-color:var(--dn-primary-light)}.btn-secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--dn-space-2);background:transparent;border:none;color:var(--dn-ink-muted);font-family:var(--dn-font-ui);font-size:.9rem;font-weight:600;padding:10px 14px;border-radius:var(--dn-radius-xs);cursor:pointer;transition:var(--transition-smooth)}.btn-secondary-link:hover{background:var(--dn-tint);color:var(--dn-primary)}.segmented{display:flex;gap:var(--dn-space-1);padding:var(--dn-space-1);background:var(--dn-tint);border-radius:var(--dn-radius-md);overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented-item{display:inline-flex;align-items:center;justify-content:center;gap:var(--dn-space-2);flex:1;min-height:40px;padding:9px 16px;border:none;background:transparent;border-radius:var(--dn-radius-sm);font-family:var(--dn-font-ui);font-size:.9rem;font-weight:600;color:var(--dn-ink-muted);white-space:nowrap;cursor:pointer;transition:var(--transition-smooth)}.segmented-item:hover{color:var(--dn-primary)}.segmented-item.active{background:var(--dn-surface-1);color:var(--dn-primary);box-shadow:var(--dn-shadow-xs)}.chip{display:inline-flex;align-items:center;justify-content:center;gap:var(--dn-space-2);min-height:40px;padding:9px 16px;border:1px solid var(--dn-line);background:var(--dn-surface-1);border-radius:var(--dn-radius-pill);font-family:var(--dn-font-ui);font-size:.9rem;font-weight:600;color:var(--dn-ink-muted);cursor:pointer;white-space:nowrap;transition:var(--transition-smooth)}.chip:hover{border-color:var(--dn-primary-light);color:var(--dn-primary)}.chip.selected{background:var(--dn-primary);border-color:var(--dn-primary);color:var(--dn-on-primary)}.input-group{margin-bottom:var(--dn-space-5)}.input-group label{display:block;margin-bottom:var(--dn-space-2);font-weight:600;color:var(--dn-ink);font-size:.875rem}.input-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239A8BA0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px;cursor:pointer}.input-group select option{background-color:var(--dn-surface-1);color:var(--dn-ink);font-family:var(--dn-font-ui)}.input-group input,.input-group select,.input-group textarea{width:100%;min-height:var(--dn-tap);padding:12px 14px;border:1px solid var(--dn-line-strong);border-radius:var(--dn-radius-sm);font-size:1rem;font-family:var(--dn-font-ui);color:var(--dn-ink);background:var(--dn-surface-1);transition:border-color .15s ease,box-shadow .15s ease}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--dn-ink-subtle)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--dn-primary);box-shadow:0 0 0 3px #5b37651a}.input-group textarea{resize:vertical;min-height:96px;line-height:1.5}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .field-icon{position:absolute;left:14px;color:var(--dn-ink-subtle);pointer-events:none}.input-with-icon input{padding-left:42px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--dn-radius-pill);font-size:.75rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.badge-pending{background:#fef3c7;color:#92400e}.badge-confirmed{background:#dbeafe;color:#1e40af}.badge-in-progress{background:#ede9fe;color:#5b21b6}.badge-completed{background:#d1fae5;color:#065f46}.badge-cancelled{background:#fee2e2;color:#991b1b}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .25s ease-out}.slide-in{animation:slideIn .25s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--dn-line-strong);border-radius:var(--dn-radius-pill);border:3px solid var(--dn-canvas)}::-webkit-scrollbar-thumb:hover{background:var(--dn-primary-light)}.spinner{width:32px;height:32px;border:3px solid var(--dn-line);border-top-color:var(--dn-primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{max-width:1080px;margin:0 auto;padding:0 var(--dn-space-5)}@media(max-width:768px){.container{padding:0 var(--dn-space-4)}}.header-logo-img,.main-logo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--dn-line)}.main-logo-img{width:64px;height:64px}.profile-img-square{width:84px;height:100px;border-radius:var(--dn-radius-md);object-fit:cover;object-position:center 20%;border:1px solid var(--dn-line)}@media(max-width:480px){.profile-img-square{width:62px;height:74px}}.flex-center{display:flex;align-items:center;justify-content:center}.stack{display:flex;flex-direction:column}.full-width{width:100%}
