:root{--bg: #f5f5f7;--surface: #ffffff;--text: #1a1a1a;--muted: #666;--border: #e0e0e0;--primary: #1a1a1a;--primary-text: #fff;--danger: #c0392b;--success-bg: #e8f5e9;--error-bg: #ffebee}[data-theme=dark]{--bg: #121212;--surface: #1e1e1e;--text: #f0f0f0;--muted: #aaa;--border: #333;--primary: #f0f0f0;--primary-text: #121212;--success-bg: #1b3d1f;--error-bg: #3d1b1b}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:400px}.app-logo{display:block;width:min(180px,70vw);height:auto;margin:0 auto 1rem;border-radius:10px}.login-card h1{margin:0 0 .25rem;font-size:1.5rem}.subtitle{color:var(--muted);margin:0 0 1.5rem;font-size:.9rem}form label{display:block;margin-bottom:.35rem;font-size:.85rem}form input{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);margin-bottom:1rem}button{width:100%;padding:.7rem;border:none;border-radius:8px;background:var(--primary);color:var(--primary-text);font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.link-btn{margin-top:.75rem;background:transparent;color:var(--muted);font-weight:400}.hint{color:var(--muted);font-size:.9rem}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.alert.error{background:var(--error-bg);color:var(--danger)}.alert.success{background:var(--success-bg)}.admin-layout{display:grid;grid-template-columns:220px 1fr;height:100vh;height:100dvh;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1.25rem;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.brand{margin-bottom:1.5rem}.brand-logo{display:block;width:100%;max-width:160px;height:auto;border-radius:8px}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar nav a{padding:.6rem .75rem;border-radius:8px;text-decoration:none;color:var(--muted)}.sidebar nav a.active{background:var(--bg);color:var(--text);font-weight:600}.nav-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;text-align:left}.nav-dropdown-toggle:hover,.nav-dropdown.open .nav-dropdown-toggle,.nav-dropdown.active-section .nav-dropdown-toggle{background:var(--bg);color:var(--text)}.nav-dropdown.active-section .nav-dropdown-toggle{font-weight:600}.nav-dropdown-chevron{font-size:.85rem;line-height:1;transition:transform .2s ease;opacity:.7}.nav-dropdown.open .nav-dropdown-chevron{transform:rotate(180deg)}.nav-dropdown-menu{display:flex;flex-direction:column;gap:.15rem;padding-left:.35rem;border-left:2px solid var(--border);margin:.15rem 0 .25rem .75rem}.nav-dropdown-menu a{padding:.5rem .65rem .5rem .85rem;font-size:.88rem}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem}.sidebar-footer button{font-size:.85rem;background:var(--bg);color:var(--text)}.sidebar-footer .logout{color:var(--danger)}.content{padding:2rem;overflow-y:auto;overflow-x:hidden;min-height:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin:1.5rem 0 2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem}.stat-value{display:block;font-size:1.75rem;font-weight:700}.stat-label{color:var(--muted);font-size:.8rem}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:2rem}.chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem 1.25rem}.chart-panel h4{margin:0 0 1rem;font-size:.95rem}.donut-chart-wrap{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.donut-chart{width:120px;height:120px;border-radius:50%;position:relative;flex-shrink:0}.donut-hole{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;color:var(--muted)}.donut-hole strong{font-size:1.25rem;color:var(--text);line-height:1.1}.donut-legend{list-style:none;margin:0;padding:0;flex:1;min-width:140px}.donut-legend li{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.85rem}.donut-legend li strong{margin-left:auto}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.vertical-bar-chart{display:flex;align-items:flex-end;gap:.5rem;min-height:160px;padding-top:.5rem}.vbar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.vbar-value{font-size:.7rem;color:var(--muted);text-align:center;line-height:1.2}.vbar-track{width:100%;max-width:42px;height:110px;background:var(--bg);border-radius:6px 6px 4px 4px;display:flex;align-items:flex-end;overflow:hidden}.vbar-fill{width:100%;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:4px 4px 0 0;min-height:4px;transition:height .3s ease}.vbar-label{font-size:.72rem;color:var(--muted);text-align:center}.dashboard-report{margin-bottom:2rem}.dashboard-report-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.dashboard-report-header h3{margin:0}.report-summary{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:var(--muted)}.report-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.report-filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}.report-filters input,.report-filters select{padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem}.report-filter-actions{display:flex;align-items:flex-end;gap:.5rem}.report-filter-actions button{width:auto;padding:.55rem 1rem}.report-filter-actions .secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.table-scroll{overflow-x:auto}.empty-row{text-align:center;color:var(--muted);padding:1.5rem!important}.sub-status{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.sub-status-trial{background:#3b82f626;color:#2563eb}.sub-status-active{background:#22c55e26;color:#16a34a}.sub-status-expired{background:#ef444426;color:#dc2626}.sub-status-cancelled{background:#94a3b833;color:#64748b}.sub-status-pending{background:#f59e0b26;color:#d97706}.test-badge{display:inline-block;margin-left:.35rem;padding:.1rem .4rem;border-radius:4px;font-size:.65rem;font-weight:600;background:#f59e0b26;color:#d97706;vertical-align:middle}.dashboard-report-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:2rem}.report-link-card{display:block;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;font-weight:600;transition:border-color .15s,box-shadow .15s}.report-link-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61f}.recent-owners-section{margin-bottom:2rem}.recent-owners-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.recent-owners-header h3{margin:0}.recent-owners-count{font-size:.85rem;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.pagination-info{font-size:.9rem;color:var(--muted)}.pagination button{width:auto;padding:.45rem .9rem}.report-page h2{margin-bottom:.35rem}.report-hint{color:var(--muted);font-size:.9rem;margin:0 0 1.25rem}.report-loading{color:var(--muted);padding:1rem 0}.report-summary-bar{display:flex;flex-wrap:wrap;gap:1.25rem;margin:0 0 1rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:.9rem;color:var(--muted)}.report-filters-compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dashboard-charts-single{grid-template-columns:1fr;max-width:640px}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-size:.8rem;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.inline-form input{padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);min-width:180px}.inline-form button{width:auto;padding:.55rem 1.25rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.actions button{width:auto;padding:.4rem .75rem;font-size:.85rem}.actions .text-link{font-size:.85rem;white-space:nowrap}.actions .secondary{background:var(--bg);color:var(--text)}.actions .danger{background:var(--danger);color:#fff}.generated-password-card{margin:0 0 1rem;padding:1rem 1.15rem;border:1px solid rgba(34,139,34,.35);border-radius:10px;background:#228b2214}.generated-password-title{margin:0 0 .35rem;font-weight:700;color:var(--text)}.generated-password-hint{margin:0 0 .75rem}.generated-password-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.generated-password-value{flex:1;min-width:160px;padding:.65rem .85rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:1.05rem;font-weight:700;letter-spacing:.08em;color:var(--text)}.generated-password-row button{width:auto;padding:.55rem 1rem}@media (max-width: 768px){.admin-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);overflow-y:visible}}.booking-page{max-width:520px;margin:0 auto;padding:1.5rem 1rem 3rem}.booking-header{text-align:center;margin-bottom:1.5rem}.booking-logo{width:min(200px,72vw);height:auto;max-height:200px;object-fit:contain;border-radius:12px;margin-bottom:.75rem}.booking-logo-placeholder{width:min(200px,72vw);height:120px;margin:0 auto .75rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-size:2rem}.booking-slogan{color:var(--muted);margin:0}.booking-hours{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.15rem .85rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a}.booking-hours-head{display:flex;align-items:flex-start;gap:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.booking-hours-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--bg);border:1px solid var(--border);color:var(--text)}.booking-hours-icon svg{width:20px;height:20px}.booking-hours h3{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em}.booking-hours-sub{margin:.2rem 0 0;font-size:.82rem;color:var(--muted)}.booking-hours-list{list-style:none;padding:0;margin:.35rem 0 0}.booking-hours-list li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem;padding:.62rem .35rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:.9rem}.booking-hours-list li:last-child{border-bottom:none}.booking-hours-list li.is-today{background:color-mix(in srgb,var(--primary) 6%,transparent);margin:0 -.35rem;padding-left:.7rem;padding-right:.7rem;border-radius:8px;border-bottom-color:transparent}.booking-hours-day-abbr{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:8px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--bg);border:1px solid var(--border);color:var(--muted)}.booking-hours-list li.is-today .booking-hours-day-abbr{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.booking-hours-day-name{font-weight:600;color:var(--text)}.booking-hours-time{font-variant-numeric:tabular-nums;font-size:.86rem;color:var(--muted);white-space:nowrap}.booking-hours-list li.is-today .booking-hours-time{color:var(--text);font-weight:600}.booking-hours-sep{margin:0 .2rem;opacity:.55}.booking-hours-today{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .45rem;border-radius:999px;background:var(--primary);color:var(--primary-text)}.booking-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.success-card{text-align:center}.booking-confirmation{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;width:100%;max-width:420px}.confirmation-actions button{flex:1;min-width:140px}.confirmation-actions .secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.confirmation-hint{text-align:center;max-width:420px;margin:0}.confirmation-ticket{width:100%;max-width:420px;padding:3px;border-radius:20px;background:linear-gradient(135deg,#c9a227,#f4e4a6 35%,#8b6914);box-shadow:0 12px 40px #0000002e}.confirmation-ticket-inner{background:linear-gradient(180deg,#1a1a1a,#0d0d0d);color:#f5f5f5;border-radius:18px;padding:1.5rem 1.35rem 1.25rem}.confirmation-ticket-header{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem}.confirmation-ticket-logo{width:64px;height:64px;border-radius:14px;object-fit:cover;border:2px solid rgba(201,162,39,.45);flex-shrink:0}.confirmation-ticket-label{margin:0 0 .2rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c9a227;font-weight:700}.confirmation-ticket-shop{margin:0;font-size:1.25rem;line-height:1.2;color:#fff}.confirmation-ticket-slogan{margin:.25rem 0 0;font-size:.82rem;color:#b0b0b0}.confirmation-ticket-datetime{display:flex;flex-direction:column;gap:.25rem;padding:1rem;margin-bottom:1rem;border-radius:12px;background:#c9a2271f;border:1px solid rgba(201,162,39,.28);text-align:center}.confirmation-ticket-date{font-size:.95rem;text-transform:capitalize;color:#e8e8e8}.confirmation-ticket-time{font-size:1.65rem;font-weight:800;color:#f4e4a6;letter-spacing:.04em}.confirmation-ticket-details{display:grid;gap:.75rem;margin:0 0 1rem}.confirmation-ticket-details div{display:grid;gap:.15rem}.confirmation-ticket-details dt{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#888}.confirmation-ticket-details dd{margin:0;font-size:1rem;font-weight:600;color:#fff}.confirmation-ticket-footer{margin:0;padding-top:.75rem;border-top:1px dashed rgba(255,255,255,.15);font-size:.78rem;line-height:1.45;color:#9a9a9a;text-align:center}.booking-back-btn{display:inline-flex;align-items:center;gap:.25rem;margin:0 0 .75rem;padding:0;border:none;background:none;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;width:auto}.booking-back-btn:hover{text-decoration:underline}.booking-back-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.75rem}.booking-back-actions .booking-back-btn{margin:0}.booking-selected-services.compact,.service-total.compact{margin-top:0;margin-bottom:.75rem}.booking-selected-services.compact{font-size:.9rem}.booking-summary{margin:0 0 1.25rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%)}.booking-summary-block+.booking-summary-block{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--border)}.booking-summary-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.booking-summary-subrow{margin-top:.35rem;margin-bottom:0}.booking-summary-subrow .booking-summary-value{font-size:1rem}.booking-summary-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #777)}.booking-summary-value{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.booking-summary-change{padding:.2rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;width:auto}.booking-summary-change:hover{border-color:var(--primary);color:var(--primary)}.booking-summary-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.booking-summary-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.92rem}.booking-summary-total{margin:.65rem 0 0;display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.booking-summary-total strong{font-size:1.05rem;color:var(--text)}.profile-photo-field{margin-bottom:.75rem}.profile-photo-label{display:block;margin-bottom:.5rem;font-weight:600}.profile-photo-row{display:flex;align-items:center;gap:1rem}.profile-photo-preview{width:72px;height:72px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg);border:2px solid var(--border);font-size:1.5rem;font-weight:700;color:var(--text);flex-shrink:0}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-upload{display:inline-flex;align-items:center;padding:.55rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font-size:.9rem;font-weight:600}.profile-photo-upload input{display:none}.team-member-name{display:inline-flex;align-items:center;gap:.65rem}.team-table-avatar{width:36px;height:36px;flex-shrink:0;font-size:.95rem}.admin-subscription-panel .subscription-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem;margin:0 0 1.25rem;padding:.85rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:10px}.subscription-summary div{min-width:0}.subscription-summary dt{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.subscription-summary dd{margin:.2rem 0 0;font-weight:600;font-size:.92rem}.subscription-extend-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.invite-panel h3{margin:0 0 .35rem}.invite-panel-intro{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.invite-panel-icon{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;font-size:1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:12px}.invite-panel-desc{margin:0;line-height:1.5;max-width:52ch}.invite-steps{margin:0 0 1.25rem;padding-left:1.2rem;color:var(--muted);font-size:.88rem;line-height:1.6}.invite-steps li+li{margin-top:.2rem}.invite-generate-btn{width:auto;padding:.65rem 1.15rem;font-size:.92rem}.invite-generated{margin-top:1.25rem;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:10px}.invite-field-label{display:block;margin-bottom:.5rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.invite-link-row{display:flex;gap:.5rem;align-items:stretch}.invite-link-input{flex:1;min-width:0;width:auto;margin-bottom:0;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.invite-link-row button,.invite-copy-btn,.invite-card-actions button,.invite-generate-btn{width:auto;flex-shrink:0}.invite-copy-btn{padding:.65rem 1rem;white-space:nowrap}.invite-copy-btn.is-copied,.invite-card-actions .secondary.is-copied{background:var(--success-bg);color:#2e7d32}.invite-pending-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.invite-pending-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}.invite-pending-header h4{margin:0;font-size:.95rem}.invite-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--muted)}.invite-empty{margin:0;padding:1rem;border-radius:8px;background:var(--bg);color:var(--muted);font-size:.9rem;text-align:center}.invite-cards{display:flex;flex-direction:column;gap:.65rem}.invite-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.invite-card-main{flex:1;min-width:min(100%,220px)}.invite-card-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.25rem}.invite-card-url{display:block;font-size:.84rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;color:var(--text)}.invite-card-expiry{display:block;margin-top:.35rem;font-size:.8rem;color:var(--muted)}.invite-card-actions{display:flex;flex-wrap:wrap;gap:.45rem}.invite-card-actions button{padding:.45rem .85rem;font-size:.85rem}.invite-card-actions .secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.invite-card-actions .danger{background:transparent;color:var(--danger);border:1px solid rgba(192,57,43,.35)}@media (max-width: 560px){.invite-link-row{flex-direction:column}.invite-link-row button,.invite-card-actions{width:100%}.invite-card-actions button{flex:1}}.team-invite-card,.team-invite-success{max-width:440px}.team-invite-shop-logo{display:block;width:72px;height:72px;object-fit:contain;border-radius:12px;margin:0 auto 1rem}.team-invite-form label{display:block;margin-bottom:.75rem}.team-invite-form input{width:100%;margin-top:.25rem}.team-invite-form .profile-photo-field{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.team-invite-form .profile-photo-row{justify-content:center;flex-wrap:wrap}.team-invite-form .profile-photo-label{text-align:center;font-size:.85rem;color:var(--muted);font-weight:500}.team-invite-form .profile-photo-upload{width:auto}.app-download-btn{display:inline-block;margin-top:1rem;padding:.75rem 1.25rem;background:var(--primary);color:var(--primary-text);text-decoration:none;border-radius:8px;font-weight:600;text-align:center}.barber-card-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.barber-card-photo.placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface);font-weight:700}.booking-date-label{margin:-.25rem 0 .75rem}.service-list{display:grid;gap:.5rem;margin:.75rem 0}.service-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer}.service-option-name{flex:1}.service-total{margin:.75rem 0;font-size:1.05rem}.booking-next-btn{width:100%;margin-top:.5rem}.booking-selected-services{margin:0 0 .75rem;padding-left:1.1rem;color:var(--text)}.barber-grid,.slots-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}.barber-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.barber-card{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);cursor:pointer;width:100%;transition:border-color .15s,box-shadow .15s}.barber-card:hover{border-color:var(--primary)}.barber-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:var(--surface)}.barber-card-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;background:var(--surface);border:2px solid var(--border);overflow:hidden}.barber-card-avatar img{width:100%;height:100%;object-fit:cover}.barber-card.active .barber-card-avatar{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.barber-card-name{font-weight:600;text-align:center;line-height:1.25}.barber-btn,.slot-btn{padding:.6rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer;width:auto}.barber-btn.active,.slot-btn.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.booking-form input{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);margin-bottom:.75rem}.booking-form-hint{margin:0 0 .75rem}.booking-email-field{display:block;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.booking-email-field input{display:block;width:100%;margin-top:.35rem;margin-bottom:0;font-weight:400}.booking-form button{margin-top:.5rem}.booking-footer{text-align:center;margin-top:2rem;color:var(--muted)}.settings-form{display:flex;flex-direction:column;gap:.5rem;max-width:360px}.settings-form label{font-size:.85rem;font-weight:600;margin-top:.5rem}.settings-form input{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.settings-form button{margin-top:1rem;width:auto;align-self:flex-start;padding:.65rem 1.25rem}.settings-section-title{margin:1.25rem 0 .5rem;font-size:1rem}.settings-form select{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.inline-hint{margin:.25rem 0 0;font-size:.8rem}.booking-page input[type=date]{width:100%;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-header h2{margin:0}.share-link-row{margin-top:.65rem;max-width:640px}.share-link-label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.share-link-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:stretch}.share-link-input{flex:1;min-width:min(100%,280px);margin:0;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.share-link-open,.share-link-copy{width:auto;flex-shrink:0;padding:.5rem .85rem;font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.share-link-open,.share-link-copy{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;font-weight:600}.share-link-copy.is-copied{background:var(--success-bg);color:#2e7d32;border-color:transparent}.btn-inline{width:auto;padding:.55rem 1rem;font-size:.9rem}.text-link{color:var(--text);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.form-grid input,.form-grid select{padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-weight:400}.checkbox-label{flex-direction:row!important;align-items:center;font-weight:400!important}.checkbox-label input{width:auto;margin-right:.5rem}.form-actions{grid-column:1 / -1;display:flex;gap:.5rem}.form-actions button{width:auto;padding:.55rem 1.25rem}.form-actions .secondary{background:var(--bg);color:var(--text)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn{width:auto;padding:.5rem 1rem;background:var(--surface);color:var(--muted);border:1px solid var(--border)}.tab-btn.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.tab-content{margin-top:.5rem}.shop-logo-preview{width:72px;height:72px;object-fit:contain;border-radius:8px;border:1px solid var(--border)}.schedule-table input[type=time]{padding:.4rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.inline-edit{padding:.75rem 0}.phone-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.phone-input{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-weight:400}.form-grid .phone-field{grid-column:1 / -1}.form-section-title{grid-column:1 / -1;margin:.75rem 0 0;font-size:.95rem;font-weight:700}.form-section-title:first-child{margin-top:0}.logo-preview-box{grid-column:1 / -1;display:flex;align-items:center;gap:1rem}.shop-logo-preview.large{width:96px;height:96px}.booking-form .phone-field{margin-bottom:.75rem}.booking-form .phone-field .phone-input{margin-bottom:0}
