@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap";:root{--background: #ffffff;--foreground: #000000;--card: #ffffff;--primary: #7c0040;--primary-light: #f7e8f0;--secondary: #fff7fb;--muted: #ffffff;--muted-text: #65616d;--border: #d5dae6;--ring: #f0c9dc;--gradient-from: #fff7fb;--gradient-to: #f7e8f0;--danger: #dc2626;--danger-bg: #fef2f2;font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#fff;color:var(--foreground)}button,input{font:inherit}button{border:0}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:32px 16px;background:radial-gradient(circle at top left,rgba(124,0,64,.1),transparent 34%),linear-gradient(145deg,#fff,#fff7fb)}.auth-card{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);width:min(980px,100%);min-height:590px;border:1px solid var(--border);border-radius:32px;background:var(--card);box-shadow:0 24px 70px #231e501f;overflow:hidden}.auth-brand-panel{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:44px;background:radial-gradient(circle at bottom right,rgba(124,0,64,.72),transparent 52%),#0b0b0b;color:#fff}.auth-logo{width:min(260px,100%);height:auto}.auth-brand-copy{max-width:390px}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff1a;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auth-brand-copy h1{margin:0;font-size:clamp(2.3rem,4.8vw,4rem);line-height:.98;letter-spacing:-.055em}.auth-brand-copy p{margin:20px 0 0;color:#ffffffb8;font-size:.98rem;line-height:1.7}.auth-signin-panel{display:flex;flex-direction:column;justify-content:center;padding:56px}.auth-lock-icon{display:grid;width:58px;height:58px;margin-bottom:26px;place-items:center;border-radius:18px;background:var(--primary-light);color:var(--primary)}.auth-heading h2{margin:0;font-size:clamp(2rem,4vw,2.7rem);line-height:1;letter-spacing:-.045em}.auth-heading p{margin:16px 0 0;color:var(--muted-text);line-height:1.65}.microsoft-signin-button{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;margin-top:32px;padding:15px 20px;border-radius:14px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #7c004033;transition:.18s ease}.microsoft-signin-button:hover{background:#650034;transform:translateY(-1px);box-shadow:0 14px 28px #7c00403d}.microsoft-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:2px}.microsoft-mark span:nth-child(1){background:#f25022}.microsoft-mark span:nth-child(2){background:#7fba00}.microsoft-mark span:nth-child(3){background:#00a4ef}.microsoft-mark span:nth-child(4){background:#ffb900}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:32px}.auth-field{display:flex;flex-direction:column;gap:7px;text-align:left}.auth-field span{font-size:.82rem;font-weight:700;color:var(--muted-text)}.auth-field-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-field-heading>label{color:var(--muted-text);font-size:.82rem;font-weight:700}.auth-forgot-link{color:var(--primary)!important;font-size:.78rem!important;font-weight:800!important;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-field input{width:100%;padding:13px 15px;border:1px solid var(--ring);border-radius:12px;background:var(--secondary);color:var(--text);font-size:.95rem;transition:.16s ease}.auth-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-error{margin:0;padding:11px 14px;border-radius:12px;background:#be123c1a;color:#be123c;font-size:.85rem;font-weight:600}.auth-success{margin:0;padding:11px 14px;border-radius:12px;background:#ecfdf3;color:#15703d;font-size:.85rem;font-weight:600;line-height:1.5}.auth-inline-link{color:var(--primary);font-weight:800;text-decoration:none}.auth-inline-link:hover{text-decoration:underline}.auth-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:4px;padding:15px 20px;text-align:center;text-decoration:none}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 14px;border-radius:12px;background:transparent;color:var(--primary);font-size:.86rem;font-weight:800;cursor:pointer;transition:.16s ease}.auth-secondary-action:hover{background:var(--primary-light)}.auth-link-instructions{margin:0;color:var(--muted-text);font-size:.86rem;line-height:1.6;text-align:center}.auth-optional-heading{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ring);border-radius:14px;background:var(--secondary);color:var(--primary)}.auth-optional-heading>div{display:grid;gap:3px}.auth-optional-heading strong{font-size:.86rem}.auth-optional-heading span{color:var(--muted-text);font-size:.76rem;line-height:1.45}.auth-loading{display:grid;place-items:center;min-height:60vh;color:var(--muted-text);font-weight:700}.auth-trust-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--muted-text);font-size:.8rem;font-weight:700}.auth-trust-note svg{color:var(--primary)}.auth-preview-note{display:flex;flex-direction:column;gap:5px;margin-top:28px;padding:14px 16px;border:1px solid var(--ring);border-radius:14px;background:var(--secondary);color:var(--muted-text);font-size:.8rem;line-height:1.5}.auth-preview-note strong{color:var(--primary)}.auth-back-link{display:inline-flex;align-items:center;align-self:center;gap:7px;margin-top:24px;color:var(--muted-text);font-size:.86rem;font-weight:700;text-decoration:none;transition:.18s ease}.auth-back-link:hover{color:var(--primary)}.app-shell{min-height:100vh;padding:32px 16px}.app-container{width:min(1160px,100%);margin:0 auto}.hero-card{display:flex;flex-direction:column;gap:0;padding:0;margin-bottom:24px;border:1px solid var(--border);border-radius:32px;background:#ffffffc2;box-shadow:0 16px 50px #231e5014;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.hero-logo{display:flex;align-items:center;justify-content:center;padding:24px 32px;background:#0b0b0b;border-radius:32px 32px 0 0;overflow:hidden}.hero-logo img{max-width:280px;height:auto;display:block}.hero-content{display:flex;justify-content:space-between;gap:28px;padding:32px}.hero-copy h1{margin:0;font-size:clamp(2.2rem,5vw,3.35rem);line-height:1;letter-spacing:-.055em}.hero-copy p{max-width:650px;margin:16px 0 0;color:var(--muted-text);font-size:1rem;line-height:1.65}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:.875rem;font-weight:800}.stats-grid{display:grid;width:min(100%,270px);gap:10px;align-self:flex-start}.booking-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.employee-controls{display:flex;width:100%;gap:10px;align-items:stretch;justify-content:flex-end}.employee-session{display:grid;flex:1 1 auto;align-content:center;min-width:0;padding:9px 13px;border-radius:14px;background:#fff7fb}.employee-session strong,.employee-session span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-session strong{color:var(--primary);font-size:.8rem}.employee-session span{color:var(--muted-text);font-size:.68rem}.session-logout{display:grid;width:44px;min-height:44px;place-items:center;border-radius:14px;background:#fff7fb;color:var(--primary);cursor:pointer;transition:.18s ease}.session-logout:hover{background:var(--primary);color:#fff}.stat-card{padding:12px 16px;border-radius:14px;background:#fff7fb}.stat-card strong{display:block;color:var(--primary);font-size:1.25rem;line-height:1;margin-bottom:4px}.stat-card span{display:block;color:var(--muted-text);font-size:.8rem;font-weight:700}.booking-grid{display:grid;grid-template-columns:380px 1fr;gap:24px}.panel{padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:0 12px 35px #231e500f}.panel-heading,.slots-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.panel-title{display:flex;align-items:center;gap:9px;font-size:1.125rem;font-weight:800}.panel-title svg{color:var(--primary)}.month-controls{display:flex;gap:6px}.month-controls button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;background:transparent;color:var(--muted-text);cursor:pointer;transition:.18s ease}.month-controls button:hover{background:var(--primary-light);color:#000}.month-label{margin-bottom:16px;text-align:center;font-size:.95rem;font-weight:800}.weekday-grid,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekday-grid{color:var(--muted-text);text-align:center;font-size:.75rem;font-weight:800}.calendar-grid{margin-top:12px}.calendar-day{position:relative;display:flex;align-items:center;justify-content:center;height:40px;border-radius:14px;background:transparent;color:#b6b2bf;font-size:.9rem;font-weight:800;cursor:not-allowed;opacity:.7;transition:.18s ease}.calendar-day.available{background:#fff;color:#000;cursor:pointer;opacity:1}.calendar-day.available:hover{background:var(--primary-light);color:var(--primary)}.calendar-day.selected,.calendar-day.selected:hover{background:var(--primary);color:#fff;box-shadow:0 10px 22px #5357d547}.calendar-day.outside-month{opacity:.35}.calendar-day span{position:absolute;bottom:6px;width:4px;height:4px;border-radius:999px;background:var(--primary)}.tip-card{margin-top:20px;padding:16px;border-radius:18px;background:#fff;color:var(--muted-text);font-size:.88rem;line-height:1.5}.tip-card strong{color:#000}.slots-header p{margin:6px 0 0;color:var(--muted-text);font-size:.92rem}.search-box{position:relative;display:flex;align-items:center;min-width:215px}.search-box svg{position:absolute;left:14px;color:var(--muted-text)}.search-box input,.form-stack input{width:100%;height:46px;border:1px solid var(--border);border-radius:18px;background:#fff;outline:0;transition:.16s ease}.search-box input{padding:0 15px 0 42px}.form-stack input{padding:0 15px}.search-box input:focus,.form-stack input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.slot-card{padding:18px;border:2px solid var(--border);border-radius:22px;text-align:left;cursor:pointer;transition:.19s ease}.slot-available{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.slot-available:hover{transform:translateY(-2px);background:var(--primary);color:#fff;box-shadow:0 15px 30px #5357d53b}.slot-booked{background:#fff;color:var(--muted-text);opacity:.62;cursor:not-allowed}.slot-topline,.slot-time{display:flex;align-items:center;gap:8px}.slot-topline{justify-content:space-between}.slot-time{color:inherit;font-size:1rem;font-weight:800}.slot-card span{padding:6px 10px;border-radius:999px;background:#fffc;font-size:.72rem;font-weight:800}.empty-state{display:flex;min-height:280px;align-items:center;justify-content:center;border-radius:22px;background:#ffffffa8;color:var(--muted-text);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(455px,100%);padding:26px;border:1px solid var(--border);border-radius:26px;background:#fff;box-shadow:0 28px 70px #0f0a2838}.modal-close{position:absolute;top:16px;right:16px;display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;background:transparent;color:var(--muted-text);cursor:pointer;transition:.16s ease}.modal-close:hover{background:#f6f5ff;color:#000}.modal-header.centered{padding:12px 24px 0;text-align:center}.modal-icon{display:flex;width:58px;height:58px;align-items:center;justify-content:center;margin:0 auto 16px;border-radius:999px;background:var(--primary-light);color:var(--primary)}.modal-icon.large{width:68px;height:68px}.modal-header h2{margin:0;font-size:1.55rem;letter-spacing:-.02em}.modal-header p{margin:9px 0 0;color:var(--muted-text);font-size:.92rem;line-height:1.5}.form-stack{display:grid;gap:16px;margin-top:24px}.booking-identity-card{display:grid;gap:10px;margin-top:24px}.booking-identity-card>div:not(.error-banner){display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:16px;background:#fafafa}.booking-identity-card svg{flex:0 0 auto;color:var(--primary)}.booking-identity-card section{display:grid;min-width:0;gap:3px}.booking-identity-card strong,.booking-identity-card span{overflow-wrap:anywhere}.booking-identity-card strong{font-size:.88rem}.booking-identity-card span{color:var(--muted-text);font-size:.75rem;line-height:1.4}.form-stack label span{display:flex;gap:8px;align-items:center;margin-bottom:8px;font-size:.88rem;font-weight:800}.error-banner{display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--danger-bg);color:var(--danger);font-size:.88rem;font-weight:800}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.button{min-height:46px;padding:0 18px;border-radius:17px;font-weight:800;cursor:pointer;transition:.17s ease}.button.primary{background:var(--primary);color:#fff;box-shadow:0 9px 22px #5357d538}.button.primary:hover{transform:translateY(-1px);box-shadow:0 15px 28px #5357d547}.button.secondary{border:1px solid var(--border);background:#fff;color:#000}.button.secondary:hover{background:#f6f5ff}.button.full{width:100%;margin-top:24px}.confirmation-box{display:grid;gap:14px;margin-top:24px;padding:18px;border-radius:22px;background:#fff7fb}.confirmation-box>div{display:flex;gap:12px}.confirmation-box svg{flex:0 0 auto;color:var(--primary)}.confirmation-box strong,.confirmation-box span{display:block;font-size:.9rem}.confirmation-box strong{margin-bottom:4px}.confirmation-box span{color:var(--muted-text)}@media(max-width:900px){.hero-card,.booking-grid,.slots-header{grid-template-columns:1fr}.hero-content{flex-direction:column}.stats-grid{width:100%;min-width:0;align-self:stretch}.booking-grid{display:grid}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box{width:100%}}@media(max-width:620px){.app-shell{padding:18px 12px}.hero-card,.panel{padding:20px;border-radius:24px}.slot-grid,.stats-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.button{width:100%}}.app-wrapper{min-height:100vh;padding:32px 16px}.main-content{width:min(1160px,100%);margin:0 auto}.admin-icon-link{display:flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;background:#f5f5f5;color:var(--muted-text);text-decoration:none;transition:.18s ease}.admin-icon-link:hover{background:var(--primary-light);color:var(--primary)}.admin-link{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:14px;background:#f5f5f5;color:var(--muted-text);font-size:.88rem;font-weight:700;text-decoration:none;transition:.18s ease}.admin-link:hover{background:var(--primary-light);color:var(--primary)}.admin-header-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:12px}.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.logout-button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:12px;background:var(--primary-light);color:var(--primary);font-size:.84rem;font-weight:800;cursor:pointer;transition:.18s ease}.logout-button:hover{background:var(--primary);color:#fff}.recent-bookings-section{padding:24px;margin-bottom:24px;border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:0 12px 35px #231e500f}.empty-state-compact{padding:24px;border-radius:16px;background:#f9f9f9;color:var(--muted-text);text-align:center;font-size:.92rem}.empty-state-compact p{margin:0}.view-all-btn{display:block;width:100%;margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--primary);font-size:.92rem;font-weight:700;cursor:pointer;transition:.18s ease}.view-all-btn:hover{background:var(--primary-light)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted-text);font-size:.88rem;font-weight:700;text-decoration:none;transition:.18s ease}.back-link:hover{color:var(--primary)}.admin-tabs{display:flex;gap:8px;margin-bottom:24px;padding:6px;border:1px solid var(--border);border-radius:20px;background:#fff;width:fit-content}.admin-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:14px;background:transparent;color:var(--muted-text);font-size:.92rem;font-weight:700;cursor:pointer;transition:.18s ease}.admin-tab:hover{background:#f5f5f5;color:#000}.admin-tab.active{background:var(--primary);color:#fff}.admin-section{min-height:519px;padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:0 12px 35px #231e500f}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.25rem}.section-header h2 svg{color:var(--primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:280px;border-radius:22px;background:#ffffffa8;color:var(--muted-text);text-align:center}.empty-state svg{opacity:.4}.empty-state h3{margin:0;color:#000;font-size:1.1rem}.empty-state p{margin:0;font-size:.9rem}.bookings-table{border:1px solid var(--border);border-radius:18px;overflow:hidden}.bookings-table-body{max-height:355px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.bookings-table-body .table-row{min-height:71px}.table-header,.table-row{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.55fr 1fr;gap:12px;align-items:center}.table-header{padding:14px 18px;background:#f9f9f9;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-text)}.table-row{padding:16px 18px;border-top:1px solid var(--border);font-size:.92rem}.table-row:hover{background:#fafafa}.td{display:flex;align-items:center;gap:8px}.td svg{flex-shrink:0;color:var(--muted-text)}.booking-actions{flex-wrap:wrap;gap:8px}.calendar-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:38px;height:38px;padding:0;border:1px solid #2563eb;border-radius:12px;background:#eff6ff;color:#2563eb;text-decoration:none;transition:.18s ease}.calendar-btn svg{color:currentColor}.calendar-btn:hover{background:#2563eb;color:#fff;transform:translateY(-1px)}.reschedule-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid #d59a00;border-radius:12px;background:#fff7d6;color:#9a6700;cursor:pointer;transition:.18s ease}.reschedule-btn svg{color:currentColor}.reschedule-btn:hover{background:#d59a00;color:#fff;transform:translateY(-1px)}.cancel-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--danger);border-radius:12px;background:var(--danger-bg);color:var(--danger);cursor:pointer;transition:.18s ease}.cancel-btn svg{color:currentColor}.cancel-btn:hover{background:var(--danger);color:#fff;transform:translateY(-1px)}.reschedule-modal-card{width:min(680px,100%);height:min(840px,calc(100vh - 24px));overflow-y:auto}.reschedule-modal-icon{background:#fff7d6;color:#9a6700}.current-booking-summary{display:grid;gap:5px;margin-top:22px;padding:16px 18px;border:1px solid #f0d886;border-radius:18px;background:#fffdf4}.current-booking-summary span,.reschedule-fields label span,.suggestion-comparison span{color:var(--muted-text);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.current-booking-summary strong{font-size:.96rem}.reschedule-fields{display:grid;grid-template-columns:1.45fr .85fr;gap:14px;margin-top:18px}.reschedule-fields label{display:grid;gap:8px}.suggestion-date-field{position:relative;display:grid;gap:8px}.suggestion-date-field>span{color:var(--muted-text);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.suggestion-date-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:46px;padding:0 13px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--foreground);cursor:pointer;text-align:left;transition:.16s ease}.suggestion-date-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-date-trigger:hover,.suggestion-date-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.suggestion-date-trigger:disabled{background:#f7f7f9;color:var(--muted-text);cursor:not-allowed;box-shadow:none}.suggestion-date-trigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.suggestion-calendar-popover{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(330px,calc(100vw - 72px));padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 18px 46px #231e5033}.suggestion-calendar-header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px}.suggestion-calendar-header strong{text-align:center;font-size:.9rem}.suggestion-calendar-header button{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--secondary);color:var(--primary);cursor:pointer}.suggestion-calendar-header button:hover{background:var(--primary-light)}.suggestion-calendar-weekdays,.suggestion-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.suggestion-calendar-weekdays{margin:12px 0 6px}.suggestion-calendar-weekdays span{color:var(--muted-text);font-size:.68rem;font-weight:800;text-align:center}.suggestion-calendar-grid button{display:grid;aspect-ratio:1;place-items:center;border-radius:10px;background:#f6f6f8;color:#aaa6af;font-size:.78rem;font-weight:750}.suggestion-calendar-grid button.available{border:1px solid var(--ring);background:var(--primary-light);color:var(--primary);cursor:pointer}.suggestion-calendar-grid button.available:hover{background:var(--primary);color:#fff}.suggestion-calendar-grid button.selected{background:var(--primary);color:#fff;box-shadow:0 5px 12px #7c004033}.suggestion-calendar-grid button.outside-month{visibility:hidden}.suggestion-calendar-popover>p{margin:10px 0 0;color:var(--muted-text);font-size:.7rem;line-height:1.4;text-align:center}.reschedule-fields select{width:100%;min-height:46px;padding:0 38px 0 14px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--foreground);font:inherit;outline:0;transition:.16s ease}.reschedule-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.reschedule-fields select:disabled{background:#f7f7f9;color:var(--muted-text);cursor:not-allowed;opacity:1}.reschedule-empty-state{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px 16px;border:1px solid #f0d886;border-radius:16px;background:#fffdf4}.reschedule-empty-state>div{display:grid;gap:4px}.reschedule-empty-state strong{color:#7a5200;font-size:.9rem}.reschedule-empty-state span{color:var(--muted-text);font-size:.8rem;line-height:1.45}.reschedule-empty-state button{flex:0 0 auto;padding:9px 12px;border:1px solid #d59a00;border-radius:11px;background:#fff;color:#8a5d00;font-weight:800;cursor:pointer}.reschedule-empty-state button:hover{background:#fff7d6}.reschedule-error{margin-top:16px;padding:12px 14px;border-radius:14px;background:#fff0f0;color:var(--danger);font-size:.86rem;font-weight:700}.suggestion-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.suggestion-comparison>div{display:grid;gap:5px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fafafa}.suggestion-comparison .suggestion-comparison-new{border-color:#f0d886;background:#fffdf4}.suggestion-comparison strong,.suggestion-comparison small{display:block}.suggestion-comparison strong{font-size:.86rem}.suggestion-comparison small{color:var(--muted-text);font-size:.84rem;font-weight:700}.button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.export-section-header{align-items:flex-start}.export-section-header p{margin:8px 0 0;color:var(--muted-text);font-size:.92rem}.export-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:16px;margin-bottom:16px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fafafa}.export-date-field{display:flex;flex-direction:column;gap:8px}.export-date-field span{color:var(--muted-text);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.export-date-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--foreground);font:inherit}.export-date-field input:focus{outline:2px solid var(--ring);border-color:var(--primary)}.export-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;background:var(--primary);color:#fff;font-size:.9rem;font-weight:800;text-decoration:none;cursor:pointer;transition:.18s ease}.export-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.export-button:disabled{opacity:.45;cursor:not-allowed}.export-status{margin-bottom:16px;color:var(--muted-text);font-size:.92rem}.export-status strong{color:var(--primary)}.export-status.error{color:var(--danger)}.export-table .table-header,.export-table .table-row{grid-template-columns:1.2fr .8fr 1fr 1.4fr}.export-empty-state{min-height:220px}.calendar-card{padding:24px;border:1px solid var(--border);border-radius:22px;background:#fff}.day-actions{display:flex;gap:12px;margin-bottom:20px}.day-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:.85rem;font-weight:700;cursor:pointer;transition:.18s ease}.day-action-btn.enable{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}.day-action-btn.enable:hover{background:var(--primary);color:#fff}.day-action-btn.disable{background:#f5f5f5;color:var(--muted-text);border:1px solid #ccc}.day-action-btn.disable:hover{background:#e0e0e0;color:#333}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-nav h3{margin:0;font-size:1.1rem}.calendar-title-group{display:flex;align-items:center;justify-content:center;gap:8px}.calendar-nav button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:transparent;color:var(--muted-text);cursor:pointer;transition:.18s ease}.calendar-nav button:hover{background:var(--primary-light);color:var(--primary)}.calendar-nav .today-button{width:30px;height:30px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--primary)}.calendar-nav .today-button:hover{border-color:var(--primary);background:var(--primary-light)}.calendar-day-name{text-align:center;font-size:.75rem;font-weight:800;color:var(--muted-text)}.calendar-day.weekday{background:#f9f9f9;color:#666;cursor:pointer;opacity:1}.calendar-day.weekday:hover{background:#e8e8e8;color:#333}.calendar-day.weekend{background:#f5f5f5;color:#bbb;cursor:not-allowed;opacity:.6}.calendar-day.has-slots{background:#fff;color:#000}.calendar-day.day-enabled{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.calendar-day.day-enabled:hover{background:var(--primary);color:#fff}.calendar-day.day-enabled .dot{background:var(--primary)}.calendar-day .dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.slots-card{padding:24px;border:1px solid var(--border);border-radius:22px;background:#fff}.slots-card .slots-header{flex-direction:column;align-items:flex-start}.slots-card .slots-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.1rem}.slots-card .slots-header h3 svg{color:var(--primary)}.slots-card .slots-header p{margin:4px 0 0}.admin-slot-grid{grid-template-columns:repeat(4,1fr)}.slot-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;border:2px solid var(--border);border-radius:16px;background:#fff;cursor:pointer;transition:.18s ease}.slot-btn:hover:not(:disabled){transform:translateY(-2px)}.slot-btn.available{border-color:var(--primary);background:var(--primary-light)}.slot-btn.available:hover:not(:disabled){background:var(--primary);color:#fff}.slot-btn.unavailable{border-color:#ccc;background:#f5f5f5;color:var(--muted-text)}.slot-btn.unavailable:hover:not(:disabled){background:#eee}.slot-btn.booked{border-color:var(--danger);background:var(--danger-bg);color:var(--danger);cursor:not-allowed;opacity:.8}.slot-btn .slot-time{font-size:.88rem;font-weight:700}.slot-btn .slot-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.slot-btn .slot-status.available{color:var(--primary)}.slot-btn .slot-status.unavailable{color:var(--muted-text)}.slot-btn .slot-status.booked{color:var(--danger)}.slot-legend{display:flex;gap:20px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted-text)}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot.available{background:var(--primary-light);border:2px solid var(--primary)}.legend-dot.unavailable{background:#f5f5f5;border:2px solid #ccc}.legend-dot.booked{background:var(--danger-bg);border:2px solid var(--danger)}@media(max-width:900px){.auth-card{grid-template-columns:1fr;width:min(680px,100%)}.auth-brand-panel{min-height:330px}.table-header,.table-row,.export-table .table-header,.export-table .table-row{grid-template-columns:1fr 1fr;gap:8px}.export-controls{grid-template-columns:1fr 1fr}.export-button{grid-column:1 / -1}.table-header .th:nth-child(n+3),.table-row .td:nth-child(n+3){grid-column:span 1}.admin-slot-grid{grid-template-columns:repeat(3,1fr)}.slot-legend{flex-wrap:wrap;gap:12px}}@media(max-width:620px){.auth-shell{padding:16px}.auth-card{border-radius:24px}.auth-brand-panel,.auth-signin-panel{padding:30px 24px}.auth-brand-panel{min-height:300px}.admin-header-row{align-items:flex-start}.reschedule-fields,.suggestion-comparison{grid-template-columns:1fr}.admin-tabs{width:100%}.admin-tab{flex:1;justify-content:center}.export-controls{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.admin-slot-grid{grid-template-columns:repeat(2,1fr)}}
