:root{--bg: #f4f1ec;--surface: #ffffff;--surface-soft: #fbf8f3;--ink: #1f1b18;--muted: #756b60;--line: #e4d8c8;--gold: #c79b4b;--gold-dark: #9b7430;--green: #1f8f5f;--green-bg: #e8f7ef;--red: #b74242;--red-bg: #fdecec;--shadow: 0 18px 40px rgba(52, 35, 12, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Georgia,Times New Roman,serif}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:10;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:#101010;color:#fff;box-shadow:0 8px 28px #0000002e}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:#111}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav a,.ghost{color:#e9e9e9;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 12px;background:transparent;cursor:pointer}.nav a.active,.nav a:hover,.ghost:hover{background:var(--gold);color:#111;border-color:var(--gold)}.user-pill{color:#111;background:#e8d5b3;border-radius:999px;padding:8px 12px;font-size:13px}.page-shell{width:min(1240px,calc(100% - 32px));margin:28px auto}.card,.booking-panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}.hero h1{font-size:clamp(38px,6vw,68px);line-height:.95;margin:10px 0 18px;max-width:800px}.hero-card{background:#1b1b1b;color:#fff}.clean-list{padding:0;margin:0;list-style:none;display:grid;gap:14px}.clean-list li{display:grid;gap:4px;padding:14px;border-radius:16px;background:#ffffff14}.clean-list span{color:#d6d6d6}.eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.22em;color:#8b6b33;font-weight:800;font-size:13px}h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.intro-text{line-height:1.45;margin-bottom:24px}.small-note{font-size:14px;margin:12px 0 0}.large{font-size:18px}.actions,.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.toolbar{align-items:end;justify-content:space-between;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ded3c2;background:#fff;color:#151515;text-decoration:none;border-radius:14px;padding:12px 16px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #34230c1a}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--gold);border-color:var(--gold);color:#111}.btn.danger{background:#f8d7da;color:#842029;border-color:#f1aeb5}.btn.small,.btn.subtle{padding:8px 12px;border-radius:999px;font-size:13px}.btn.subtle{background:var(--surface-soft)}.btn.wide{width:100%;margin-top:12px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form,.form-stack{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label{display:grid;gap:7px;font-weight:700}input,select,textarea{border:1px solid #d7cbbb;border-radius:14px;padding:12px 14px;background:#fff;color:#1d1d1d;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c79b4b29}textarea{min-height:100px;resize:vertical}.alert{border-radius:14px;padding:12px 14px;margin:12px 0}.alert.error{background:#f8d7da;color:#842029}.alert.success{background:#d1e7dd;color:#0f5132}.booking-shell{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);gap:20px;align-items:start}.booking-panel{min-height:520px}.booking-panel-form h1{font-size:32px;margin-bottom:10px}.calendar-panel{background:linear-gradient(180deg,#fff,#fffdf9)}.calendar-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.calendar-topline h2{margin:0 0 6px;font-size:27px;text-transform:capitalize}.calendar-kpi{min-width:96px;padding:12px 14px;border-radius:18px;background:#141414;color:#fff;text-align:center;box-shadow:0 10px 24px #00000024}.calendar-kpi strong{display:block;font-size:28px;line-height:1;color:#e8d5b3}.calendar-kpi span{display:block;margin-top:4px;font-size:12px;color:#e7e0d4}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px}.day-card{display:grid;gap:2px;justify-items:center;border:1px solid var(--line);border-radius:16px;padding:10px 6px;background:var(--surface-soft);color:var(--ink);cursor:pointer;transition:.16s ease}.day-card:hover{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 8px 18px #34230c14}.day-card span{font-size:12px;text-transform:uppercase;color:var(--muted)}.day-card strong{font-size:20px;line-height:1}.day-card small{color:var(--muted);text-transform:capitalize}.day-card.today{border-style:dashed}.day-card.active{background:var(--gold);color:#111;border-color:var(--gold)}.day-card.active span,.day-card.active small{color:#2b210f}.legend-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:10px 0 16px;color:var(--muted);font-size:14px}.legend-row span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.legend-dot.available{background:var(--green)}.legend-dot.occupied{background:var(--red)}.legend-dot.chosen{background:var(--gold)}.calendar-message{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;border:1px dashed var(--line);border-radius:20px;background:var(--surface-soft);color:var(--muted);padding:24px}.calendar-message strong{color:var(--ink);font-size:18px}.calendar-message.warning{background:#fff8e8}.calendar-message.loading{background:#fffdf7}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid #eadcc8;border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.slots-area{display:grid;gap:20px}.slot-group{display:grid;gap:10px}.slot-group-title{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.slot-group-title small{font-weight:700;letter-spacing:0;text-transform:none}.time-grid-pro{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.slot-card{position:relative;display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:18px;padding:13px 14px;background:#fff;cursor:pointer;min-height:86px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;overflow:hidden}.slot-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--line)}.slot-card strong{font-size:21px;line-height:1}.slot-card span{color:var(--muted);font-size:13px}.slot-card em{align-self:end;justify-self:start;font-style:normal;font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px}.slot-card.available{background:var(--green-bg);border-color:#1f8f5f47}.slot-card.available:before{background:var(--green)}.slot-card.available em{color:#0f5132;background:#1f8f5f1f}.slot-card.available:hover{transform:translateY(-2px);box-shadow:0 14px 26px #1f8f5f24;border-color:var(--green)}.slot-card.occupied{background:var(--red-bg);border-color:#b7424247;cursor:not-allowed;opacity:.9}.slot-card.occupied:before{background:var(--red)}.slot-card.occupied em{color:#842029;background:#b742421f}.slot-card.selected{background:#fff4d8;border-color:var(--gold);box-shadow:0 0 0 4px #c79b4b33,0 16px 32px #34230c1f;transform:translateY(-2px)}.slot-card.selected:before{background:var(--gold)}.selected-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#fff4d8;border:1px solid #ead39d;margin-top:4px}.selected-summary span{color:var(--muted)}.selected-summary strong{color:#4b3510}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee2d3;vertical-align:top}th{color:#7b5d2a;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#e9ecef}.badge.ok{background:#d1e7dd;color:#0f5132}.badge.no{background:#f8d7da;color:#842029}.stat{background:#fff;border-radius:20px;padding:18px;border:1px solid var(--line)}.stat strong{display:block;font-size:34px;margin-top:8px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.slot{border:1px solid #d8c8b0;border-radius:14px;padding:12px;background:#fff;cursor:pointer;text-align:left}.slot:hover,.slot.selected{border-color:var(--gold);box-shadow:0 0 0 3px #c79b4b2e}.slot.unavailable{opacity:.48;background:#f3d1d1;cursor:not-allowed}@media(max-width:1020px){.booking-shell{grid-template-columns:1fr}.booking-panel{min-height:auto}}@media(max-width:860px){.hero,.grid.two,.grid.three,.form-row{grid-template-columns:1fr}.topbar{height:auto;padding:16px;align-items:flex-start;flex-direction:column}.day-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.time-grid-pro{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media(max-width:520px){.page-shell{width:min(100% - 20px,1240px);margin:18px auto}.day-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-topline{flex-direction:column}}.day-card.closed{background:var(--red-bg);border-color:#b7424259;color:#842029}.day-card.closed span,.day-card.closed small{color:#842029}.day-card.closed:hover{border-color:var(--red);box-shadow:0 8px 18px #b742421a}.day-card.closed.active{background:#f1b7b7;border-color:var(--red);color:#5f1717}.day-card.closed.active span,.day-card.closed.active small{color:#5f1717}.notification-list{display:grid;gap:14px}.notification-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #eadfce;border-radius:18px;padding:16px;background:#fffaf4}.notification-card.unread{border-color:#c79b4b;background:linear-gradient(180deg,#fff8e8,#fffdf8);box-shadow:0 12px 24px #c79b4b1f}.notification-card h3{margin:0 0 4px}.notification-card p:last-child{margin-bottom:0}.actions.compact{margin:0;justify-content:flex-end}@media(max-width:680px){.notification-card{grid-template-columns:1fr}.actions.compact{justify-content:flex-start}}.auth-page{min-height:calc(100vh - 56px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);gap:24px;align-items:center}.auth-hero{min-height:360px;display:flex;flex-direction:column;justify-content:center}.auth-brand{display:flex;align-items:center;gap:16px;margin-bottom:18px}.brand-mark.public{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#c79b4b;color:#111;font-weight:900;box-shadow:0 12px 24px #c79b4b38}.auth-card{align-self:center}.auth-links{display:grid;gap:8px;margin-top:10px}@media(max-width:900px){.auth-page{grid-template-columns:1fr;align-items:start}.auth-hero{min-height:auto}}.panel-head-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.panel-head-actions h1{margin-bottom:0}.panel-head-actions .btn{white-space:nowrap}@media(max-width:760px){.panel-head-actions{flex-direction:column;align-items:stretch}.panel-head-actions .btn{width:100%}}.admin-page{display:grid;gap:18px}.admin-hero-card{background:linear-gradient(135deg,#151515,#29231a);color:#fff;border-radius:26px;padding:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;box-shadow:0 18px 42px #120e082e}.admin-hero-card .muted{color:#d8d0c4;max-width:660px}.admin-hero-card .eyebrow{color:#e8c985}.admin-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.admin-form{position:sticky;top:18px}.service-preview{display:grid;gap:4px;padding:14px;border-radius:18px;background:#fff7e8;border:1px solid #ead39d}.service-preview span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.service-list{display:grid;gap:12px}.service-card-admin{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid #eadfce;border-radius:20px;padding:16px;background:#fffdf9}.service-card-admin.disabled{background:#f7f1e9;opacity:.82}.service-title-line,.appointment-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-title-line h3,.appointment-title-line h3{margin:0}.service-actions,.appointment-actions,.admin-filter-row,.admin-date-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-date-tools{justify-content:flex-end}.admin-date-tools input{min-width:160px}.admin-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.quick-admin-card{display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.quick-admin-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 18px 34px #34230c1f}.quick-admin-card span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#fff4d8;color:#6e4d13;font-weight:900}.quick-admin-card small{color:var(--muted);line-height:1.35}.admin-appointment-list{display:grid;gap:14px}.admin-appointment-card{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:start;border:1px solid #eadfce;border-radius:22px;padding:16px;background:#fffdf9}.admin-appointment-card.cancelled{background:#f8eeee;border-color:#efc7c7}.appointment-time-block{display:grid;justify-items:center;gap:4px;border-radius:18px;background:#1c1c1c;color:#fff;padding:14px 10px}.appointment-time-block strong{font-size:22px}.appointment-time-block span{color:#dfd7cc;font-size:13px}.appointment-main{display:grid;gap:12px}.appointment-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-meta-grid span{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:var(--surface-soft);color:var(--ink);overflow-wrap:anywhere}.appointment-meta-grid b{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.cancel-box{display:grid;gap:10px;padding:14px;border-radius:18px;background:#fff5f5;border:1px solid #f1c7c7}.empty-card{display:grid;gap:6px;padding:22px;border-radius:20px;background:var(--surface-soft);border:1px dashed #d8c8b0;color:var(--muted)}.empty-card strong{color:var(--ink)}@media(max-width:980px){.admin-grid,.admin-hero-card,.admin-appointment-card{grid-template-columns:1fr}.admin-form{position:static}.admin-date-tools{justify-content:flex-start}.admin-summary-row,.appointment-meta-grid{grid-template-columns:1fr}}@media(max-width:620px){.service-card-admin{grid-template-columns:1fr}.service-actions,.appointment-actions,.admin-filter-row,.admin-date-tools{align-items:stretch;flex-direction:column}.service-actions .btn,.appointment-actions .btn,.admin-filter-row .btn,.admin-date-tools .btn,.admin-date-tools input{width:100%}.admin-hours-page{max-width:1180px;margin:0 auto}.admin-hero{background:linear-gradient(135deg,#15120d,#2a2116);color:#fff;border-radius:24px;padding:28px 32px;margin-bottom:24px;box-shadow:0 24px 50px #0000001f}.admin-hero h1{margin:0;font-size:42px}.admin-hero p{max-width:680px;color:#ffffffc7}.weekly-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.day-hours-card{background:#fff;border:1px solid #eadfce;border-radius:24px;padding:24px;box-shadow:0 20px 45px #241c1214}.day-hours-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.day-hours-header h2{margin:0;font-size:28px}.switch-row{min-width:150px}.status-open,.status-closed{display:inline-block;font-weight:800;font-size:13px;padding:7px 11px;border-radius:999px;margin-bottom:8px}.status-open{color:#065f46;background:#d9f3e7}.status-closed{color:#9f1239;background:#ffe0e6}.time-section{border-top:1px solid #efe3d2;padding-top:16px;margin-top:16px}.time-section h3{margin:0 0 4px}.muted{color:#7d7062;margin:0 0 14px}.disabled-day{opacity:.52}.day-hours-preview{background:#fff8e9;border:1px solid #ead7ad;border-radius:16px;padding:14px 16px;margin-top:18px;display:grid;gap:5px}@media(max-width:900px){.weekly-hours-grid{grid-template-columns:1fr}.admin-hero h1{font-size:34px}}}.hours-admin-page{max-width:1180px;margin:0 auto;padding:8px 0 40px}.hours-admin-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(135deg,#15120d,#2a2116);color:#fff;border-radius:28px;padding:30px 34px;margin-bottom:22px;box-shadow:0 24px 55px #241c1226}.hours-admin-hero h1{margin:0;font-size:clamp(34px,4vw,52px);line-height:.95}.hours-admin-hero p:not(.eyebrow){max-width:680px;margin:14px 0 0;color:#ffffffc7;font-size:16px}.hours-alert{max-width:1180px;margin:0 auto 18px}.hours-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.hours-day-card{display:grid;gap:18px;background:#fff;border:1px solid #eadfce;border-radius:26px;padding:24px;box-shadow:0 22px 48px #241c1214}.hours-day-card.closed{background:snow;border-color:#efcfd2}.hours-day-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.hours-day-title{display:flex;gap:14px;align-items:center}.hours-day-short{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#15120d;color:#f4d18d;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 28px #15120d2e}.hours-day-title h2{margin:0;font-size:28px}.hours-day-title p{margin:4px 0 0;color:#74695b}.hours-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:82px;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}.hours-status-pill.open{background:#d9f3e7;color:#065f46}.hours-status-pill.closed{background:#ffe0e6;color:#9f1239}.hours-toggle{display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;background:#f4efe8;border:1px solid #eadfce}.hours-toggle button{border:0;background:transparent;border-radius:999px;padding:11px 16px;font-weight:900;cursor:pointer;color:#6c6054}.hours-toggle button.active{background:#cf9f42;color:#1d160d;box-shadow:0 8px 20px #cf9f423d}.hours-day-card.closed .hours-toggle button.active{background:#f5c9d0;color:#8a102b}.hours-ranges{display:grid;gap:14px}.hours-range-card{border:1px solid #eadfce;border-radius:20px;padding:16px;background:#fffdf9}.hours-range-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px}.hours-range-heading h3{margin:0;font-size:19px}.hours-range-heading span{color:#7d7062;font-size:13px}.hours-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hours-time-grid label{display:grid;gap:7px;font-weight:900}.hours-time-grid input{width:100%;min-height:48px;border:1px solid #dacbb9;border-radius:16px;padding:0 14px;background:#fff;color:#181410;font:inherit;font-weight:800}.hours-preview{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:18px;padding:14px 16px;background:#fff8e9;border:1px solid #ead7ad}.hours-preview.closed{background:#fff1f3;border-color:#efcfd2}.hours-preview span{color:#7d7062;font-weight:800}.hours-preview strong{text-align:right}.hours-preview-separator{display:inline-block;margin:0 8px;color:#b98d35!important}.hours-save-button{width:100%;justify-content:center;min-height:48px}.hours-save-button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:980px){.hours-week-grid{grid-template-columns:1fr}.hours-admin-hero{flex-direction:column}}@media(max-width:560px){.hours-day-card,.hours-admin-hero{border-radius:22px;padding:20px}.hours-day-top,.hours-range-heading,.hours-preview{flex-direction:column;align-items:flex-start}.hours-time-grid{grid-template-columns:1fr}.hours-preview strong{text-align:left}}.calendar-message.closure{border-color:#f1aeb5;background:linear-gradient(135deg,#fff1f2,#fff7ed);color:#7f1d1d}.calendar-message.closure strong{color:#991b1b;font-size:22px}.calendar-message.closure span{max-width:520px;font-size:16px;line-height:1.45}.calendar-message.closure small{color:#7c2d12;font-weight:700}.login-dark-page{position:fixed;inset:0;z-index:100;min-height:100vh;background:radial-gradient(circle at 20% 15%,rgba(199,155,75,.18),transparent 28%),radial-gradient(circle at 82% 82%,rgba(199,155,75,.12),transparent 32%),#070707;display:grid;place-items:center;padding:34px 18px;overflow:auto}.login-brand-top{position:fixed;top:28px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;color:#fff;text-align:left}.login-brand-top img{width:68px;height:68px;object-fit:contain;border-radius:50%;box-shadow:0 12px 30px #c79b4b40}.login-brand-top span{display:block;text-transform:uppercase;letter-spacing:.16em;color:#d8b365;font-size:12px;font-weight:900}.login-brand-top strong{display:block;font-size:24px;line-height:1;letter-spacing:.02em}.login-card{width:min(460px,100%);margin-top:92px;background:#fff;border:1px solid rgba(232,213,179,.7);border-radius:28px;padding:32px;box-shadow:0 28px 70px #0000006b;display:grid;gap:16px}.login-card h1{font-size:48px;margin:0}.login-subtitle{margin:0 0 8px;color:var(--muted);line-height:1.45}.login-links{display:grid;gap:10px;justify-items:center;margin-top:8px;color:var(--muted)}.login-links a{color:#7b5d2a;font-weight:900;text-decoration:none}.login-links a:hover{text-decoration:underline}.login-links .guest-login-button{margin-top:4px;display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:0 26px;border-radius:999px;background:#c99b3d;color:#111;box-shadow:0 10px 24px #c99b3d38;text-decoration:none}.login-links .guest-login-button:hover{background:#b98a2e;text-decoration:none;transform:translateY(-1px)}.dev-reset-link{margin-top:8px;font-size:13px;word-break:break-word}.profile-page{max-width:1120px;margin:0 auto}.profile-hero{margin-bottom:22px}.side-user.active{background:#c79b4b;color:#111;border-color:#c79b4b}@media(max-width:680px){.login-brand-top{top:18px;width:calc(100% - 28px);justify-content:center}.login-brand-top img{width:56px;height:56px}.login-brand-top strong{font-size:20px}.login-card{padding:24px;border-radius:22px}.login-card h1{font-size:34px}.auth-or{display:block;margin:8px 0 10px;color:#7a6140;font-weight:700;font-size:18px}}.booking-limit-note{margin:-4px 0 12px;color:var(--muted);font-size:14px}.day-card.disabled,.day-card:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}.day-card.disabled:hover,.day-card:disabled:hover{transform:none;box-shadow:none;border-color:var(--line)}.subscription-page .admin-hero-card{margin-bottom:22px}.subscription-admin-grid{align-items:start}.subscription-preview-box{background:#fff8e9;border:1px solid #ead7ad;border-radius:16px;padding:14px 16px;display:grid;gap:6px;color:#5f4b2a}.subscription-list{display:grid;gap:16px}.subscription-card{border:1px solid #eadfce;border-radius:22px;padding:18px;background:#fffdf8;box-shadow:0 12px 30px #241c120f}.subscription-card.disabled{opacity:.68;background:#f7f1e7}.subscription-card-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.subscription-card-main h3{margin:0 0 4px;font-size:22px}.subscription-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.subscription-detail-grid span{background:#fbf4e8;border:1px solid #efe0c9;border-radius:14px;padding:10px 12px;display:grid;gap:3px}.subscription-detail-grid strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a6a36}@media(max-width:900px){.subscription-detail-grid{grid-template-columns:1fr}}.clean-subscription-page{gap:26px;max-width:1280px;margin:0 auto}.clean-subscription-page .admin-form,.clean-subscription-page form{position:static}.subscription-hero-clean{margin-bottom:4px}.subscription-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:6px 0 -8px}.subscription-section-title h2{margin:0 0 6px;font-size:30px}.subscription-section-title .muted{margin:0;max-width:820px}.subscription-section-title.with-space{margin-top:12px}.subscription-services-grid,.subscription-management-grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(520px,1.1fr);gap:22px;align-items:start}.subscription-management-grid{grid-template-columns:minmax(520px,1fr) minmax(520px,1fr)}.subscription-card-panel{overflow:visible;display:grid;gap:18px}.subscription-form-card{align-self:start}.subscription-form-card h3,.subscription-card-panel h3{margin:0;font-size:25px}.subscription-form-card label{min-width:0}.subscription-form-card input,.subscription-form-card select,.subscription-form-card textarea{width:100%;min-width:0}.subscription-input-grid{display:grid;gap:14px;width:100%}.subscription-input-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-input-grid.three-cols{grid-template-columns:1fr .75fr .95fr}.subscription-preview-box.compact{margin-top:0}.subscription-actions{margin-top:2px}.subscription-panel-head{margin-bottom:0;align-items:center}.subscription-service-list.clean,.subscription-list.clean{display:grid;gap:14px}.subscription-service-card.clean{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center;border:1px solid #eadfce;border-radius:20px;padding:16px;background:#fffdf8;box-shadow:0 10px 24px #241c120d}.subscription-service-card.clean.disabled{opacity:.7;background:#f8f2e8}.subscription-service-info{display:grid;gap:4px;min-width:0}.subscription-service-info strong{font-size:19px;overflow-wrap:anywhere}.subscription-service-info span{color:var(--muted)}.subscription-card-actions{grid-column:1 / -1;justify-content:flex-start}.subscription-card.clean{display:grid;gap:14px;padding:20px;border-radius:22px}.subscription-card-main{margin-bottom:0}.subscription-card-main h3{font-size:24px}.subscription-detail-grid.clean{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.subscription-detail-grid.clean span{min-width:0}.subscription-notes{margin:0;line-height:1.45}.clean-subscription-page .empty-card{min-height:150px}@media(max-width:1180px){.subscription-services-grid,.subscription-management-grid{grid-template-columns:1fr}}@media(max-width:760px){.clean-subscription-page{gap:18px}.subscription-input-grid.two-cols,.subscription-input-grid.three-cols,.subscription-detail-grid.clean,.subscription-service-card.clean{grid-template-columns:1fr}.subscription-panel-head{align-items:stretch}}.service-admin-grid{align-items:start}.service-editor-card,.service-catalog-panel{min-width:0}.service-catalog-panel{display:grid;gap:22px}.service-catalog-section{display:grid;gap:12px}.service-catalog-title{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #eadfce;padding-bottom:10px}.service-catalog-title h3{margin:0;font-size:22px}.service-catalog-title span{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#fff4d8;color:#7a560f;font-weight:900}.service-card-admin.subscription-kind{border-left:5px solid #cda044;background:#fffaf0}.compact-empty{min-height:110px}.subscriptions-clean-page{max-width:1260px;margin:0 auto;display:grid;gap:28px}.subscriptions-clean-page .admin-hero-card{margin-bottom:0}.admin-feedback-top{margin:0}.subscription-create-card,.subscription-active-panel{display:grid;gap:22px;overflow:visible;min-width:0}.subscription-card-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:22px;align-items:start;padding-bottom:18px;border-bottom:1px solid #eadfce}.subscription-card-header h2,.subscription-active-panel h2{margin:0 0 8px;font-size:31px}.subscription-card-header .muted,.subscription-active-panel .muted{margin:0}.subscription-side-note{background:#fff8e9;border:1px solid #ead7ad;border-radius:18px;padding:16px 18px;display:grid;gap:6px;color:#5f4b2a}.subscription-side-note strong{color:#2a241d}.subscription-side-note span{line-height:1.45}.subscription-form-section{display:grid;gap:14px;padding:18px 0 0}.subscription-form-section h3{margin:0;font-size:22px}.subscription-create-card label{min-width:0}.subscription-create-card input,.subscription-create-card select,.subscription-create-card textarea{width:100%;min-width:0}.subscription-form-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding-top:4px}.subscription-form-footer .btn{min-width:220px}.subscription-inline-toast{border-radius:18px;padding:16px 18px;display:grid;gap:5px;box-shadow:0 14px 30px #241c1214;border:1px solid transparent}.subscription-inline-toast strong{font-size:18px}.subscription-inline-toast span{line-height:1.45}.subscription-inline-toast.error{background:#fff0f1;color:#8f1d2c;border-color:#f4b8c0}.subscription-inline-toast.success{background:#eaf8f0;color:#0f5d3d;border-color:#bde7cf}.subscription-active-panel{overflow:visible}.subscription-active-panel .subscription-list.active-list{max-height:none;overflow:visible;padding-right:0}.active-subscription-card{background:#fffdf8}.active-subscription-card .subscription-card-main{align-items:flex-start}.active-subscription-card .subscription-detail-grid.clean{margin-top:14px}.subscription-active-panel .empty-card{margin-top:4px}@media(max-width:1050px){.subscription-card-header,.subscription-form-footer{grid-template-columns:1fr}.subscription-form-footer .btn{width:100%;min-width:0}}@media(max-width:760px){.subscriptions-clean-page{gap:20px}.subscription-card-header h2,.subscription-active-panel h2{font-size:27px}}.admin-subscription-workspace{width:min(1180px,calc(100vw - 48px));margin:0 auto;display:grid;gap:24px}.admin-subscription-hero{background:linear-gradient(135deg,#111,#2b2419);color:#fff;border-radius:26px;padding:32px 36px;box-shadow:0 24px 60px #16100929}.admin-subscription-hero h1{margin:0 0 12px;font-size:clamp(34px,4vw,54px);line-height:.95}.admin-subscription-hero p:not(.eyebrow){max-width:760px;margin:0;color:#ffffffc7;font-size:17px;line-height:1.45}.enterprise-panel{background:#fff;border:1px solid #eadfce;border-radius:26px;padding:28px;box-shadow:0 24px 52px #241c1214;min-width:0;overflow:visible}.enterprise-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding-bottom:22px;border-bottom:1px solid #efe4d5}.enterprise-panel-header.compact{align-items:center}.enterprise-panel-header h2{margin:0 0 8px;font-size:clamp(28px,3vw,40px);line-height:1.05}.enterprise-panel-header p:not(.eyebrow){margin:0;color:#76695c;line-height:1.45}.enterprise-helper-card{flex:0 0 280px;display:grid;gap:6px;padding:16px 18px;border-radius:18px;background:#fff8e9;border:1px solid #ead7ad;color:#6d542a}.enterprise-helper-card span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.enterprise-helper-card strong{color:#2b241b;font-size:16px}.subscription-form-panel{display:grid;gap:24px}.enterprise-form-section{display:grid;gap:16px}.section-title-row{display:flex;align-items:center;gap:12px}.section-title-row span{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#cda044;color:#111;font-weight:900}.section-title-row h3{margin:0;font-size:24px}.enterprise-form-grid{display:grid;gap:18px}.enterprise-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.enterprise-form-grid.three{grid-template-columns:1.1fr .8fr 1fr}.enterprise-form-grid label,.full-width-field{min-width:0;display:grid;gap:8px}.enterprise-form-grid input,.enterprise-form-grid select,.full-width-field input,.full-width-field select,.full-width-field textarea{width:100%;min-width:0;box-sizing:border-box;height:50px;border-radius:14px;border:1px solid #dacbb7;background:#fff;padding:0 16px;font-size:16px;line-height:1.2}.full-width-field textarea{height:auto;min-height:110px;padding:14px 16px;resize:vertical}.subscription-form-summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:16px;align-items:center;padding:18px;border-radius:20px;background:#fbf6ec;border:1px solid #ead7ad}.subscription-form-summary div{display:grid;gap:4px;min-width:0}.subscription-form-summary span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8a6a2e;font-weight:800}.subscription-form-summary strong{overflow-wrap:anywhere}.subscription-form-summary .btn{min-width:190px}.subscription-toast-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-radius:18px;padding:16px 18px;border:1px solid transparent}.subscription-toast-card div{display:grid;gap:4px}.subscription-toast-card strong{font-size:17px}.subscription-toast-card span{line-height:1.45}.subscription-toast-card button{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:inherit}.subscription-toast-card.is-error{background:#fff0f1;color:#8f1d2c;border-color:#f4b8c0}.subscription-toast-card.is-success{background:#eaf8f0;color:#0f5d3d;border-color:#bde7cf}.active-subscriptions-panel{display:grid;gap:22px}.active-subscriptions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;overflow:visible;max-height:none}.enterprise-subscription-card{display:grid;gap:18px;padding:22px;border:1px solid #eadfce;border-radius:22px;background:#fffdf8;min-width:0}.subscription-person-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.subscription-person-row h3{margin:0 0 6px;font-size:25px;line-height:1.1}.subscription-person-row p{margin:0;color:#76695c;overflow-wrap:anywhere}.subscription-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.subscription-info-list div{min-width:0;padding:13px 14px;border-radius:16px;background:#fbf6ec;border:1px solid #ead7ad}.subscription-info-list dt{margin:0 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a6a2e;font-weight:900}.subscription-info-list dd{margin:0;font-size:16px;font-weight:750;overflow-wrap:anywhere}.subscription-note-text{margin:0;color:#76695c;line-height:1.45}.enterprise-subscription-card>.btn{justify-self:start}.enterprise-empty{min-height:120px}@media(max-width:1180px){.active-subscriptions-grid{grid-template-columns:1fr}}@media(max-width:900px){.admin-subscription-workspace{width:min(100% - 24px,680px)}.enterprise-panel,.admin-subscription-hero{padding:22px}.enterprise-panel-header,.enterprise-panel-header.compact{display:grid}.enterprise-helper-card{flex-basis:auto}.enterprise-form-grid.two,.enterprise-form-grid.three,.subscription-form-summary,.subscription-info-list{grid-template-columns:1fr}.subscription-form-summary .btn{width:100%;min-width:0}}.service-admin-grid-polished{grid-template-columns:minmax(360px,460px) minmax(0,1fr);gap:28px;align-items:start}.service-editor-clean{display:grid;gap:24px;padding:28px;overflow:visible}.service-editor-clean .service-form-header{display:grid;gap:8px}.service-editor-clean .service-form-header h2{margin:0;font-size:30px;line-height:1.05}.service-editor-clean .service-form-header .muted{margin:0;line-height:1.45;font-size:15px}.service-form-stack{display:grid;gap:18px}.service-field{display:grid;gap:8px;min-width:0}.service-field>span{font-size:15px;font-weight:800;color:#211a13;line-height:1.2}.service-field input,.service-field select{width:100%;min-width:0;height:52px;border-radius:16px;padding:0 16px;font-size:17px;font-weight:650;background:#fffdf9}.service-two-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.money-input{position:relative;display:flex;align-items:center;min-width:0}.money-input input{padding-right:44px}.money-input span{position:absolute;right:16px;color:#7a6140;font-weight:900;pointer-events:none}.service-form-actions{padding-top:4px}.service-editor-clean .alert{margin:0}.service-card-admin{min-width:0}.service-card-admin .muted{margin:6px 0 0;line-height:1.35}@media(max-width:1100px){.service-admin-grid-polished{grid-template-columns:1fr}.service-editor-clean.admin-form{position:static}}@media(max-width:640px){.service-two-cols{grid-template-columns:1fr}.service-editor-clean{padding:22px}}html,body{max-width:100%;overflow-x:hidden}.card,.booking-panel,.admin-hero-card,.stat,.quick-admin-card,.service-card-admin,.notification-card,.admin-appointment-card,.day-hours-card{min-width:0}@media(max-width:860px){body{font-size:16px}.card,.booking-panel{border-radius:20px;padding:18px;box-shadow:0 12px 28px #34230c12}.eyebrow{margin-bottom:8px;font-size:11px;letter-spacing:.16em}h1{font-size:clamp(30px,9vw,38px)!important;line-height:1.04!important;letter-spacing:-.02em}h2{font-size:clamp(24px,7vw,30px)!important;line-height:1.1!important}h3{font-size:20px;line-height:1.15}.muted,.intro-text,.small-note,.large{font-size:15px;line-height:1.35}input,select,textarea,.btn{min-height:48px;border-radius:14px}.actions,.toolbar{align-items:stretch}.actions .btn,.toolbar .btn{width:100%}.admin-page{gap:14px}.admin-hero-card{border-radius:22px;padding:22px 18px;display:grid;grid-template-columns:1fr;gap:14px;overflow:hidden}.admin-hero-card .muted{display:none}.admin-hero-card .actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.admin-hero-card .actions .btn,.admin-hero-card>.btn{width:100%;white-space:normal;text-align:center}.admin-summary-row,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{border-radius:18px;padding:14px}.stat span{display:block;font-size:13px;line-height:1.2;color:var(--muted)}.stat strong{font-size:34px;margin-top:6px}.admin-quick-grid{grid-template-columns:1fr;gap:10px}.quick-admin-card{grid-template-columns:42px 1fr;align-items:center;gap:12px;border-radius:18px;padding:14px}.quick-admin-card span{grid-row:1 / span 2;width:42px;height:42px;border-radius:14px}.quick-admin-card strong{font-size:18px;line-height:1.15}.quick-admin-card small{display:none}.admin-grid,.service-admin-grid,.service-admin-grid-polished{grid-template-columns:1fr!important;gap:14px}.admin-form{position:static}.service-form-header .muted,.service-editor-card .muted:not(.service-title-line+.muted),.panel-head-actions .muted{display:none}.service-two-cols,.form-row,.grid.two{grid-template-columns:1fr!important;gap:12px}.service-field,label{gap:6px}.service-field>span,label>span{font-size:15px;line-height:1.2}.money-input{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.money-input input{min-width:0;width:100%}.service-form-actions{display:grid;grid-template-columns:1fr;gap:10px}.panel-head-actions{flex-direction:column;align-items:stretch;gap:10px}.service-catalog-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.service-card-admin{grid-template-columns:1fr;gap:12px;border-radius:18px;padding:14px}.service-title-line{gap:8px}.service-title-line h3{overflow-wrap:anywhere}.service-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}.service-actions .btn{width:100%}.booking-shell{grid-template-columns:1fr;gap:14px}.booking-panel-form h1{font-size:30px!important}.calendar-topline{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}.calendar-topline h2{font-size:24px!important}.calendar-kpi{min-width:74px;padding:10px;border-radius:16px}.day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.day-card{min-width:74px;scroll-snap-align:start}.time-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slot-card{min-height:78px;border-radius:16px;padding:12px}.slot-card strong{font-size:19px}.slot-card span{font-size:12px}.table-wrap{max-width:100%;overflow-x:auto}table{min-width:680px}}@media(max-width:460px){.admin-summary-row,.grid.three{grid-template-columns:1fr}.card,.booking-panel{padding:16px}.time-grid-pro{grid-template-columns:1fr}}.home-landing{min-height:calc(100vh - 72px);display:grid;align-content:center;justify-items:center;gap:14px;text-align:center;padding:28px 0 42px}.home-logo{width:clamp(112px,32vw,172px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.18))}.home-landing h1{margin:0;font-size:clamp(42px,10vw,82px);line-height:.9}.home-landing .large{max-width:520px;margin:0 0 12px;font-size:clamp(18px,4.6vw,24px)}.home-actions{width:min(100%,520px);display:grid;gap:12px}.home-actions .btn{width:100%;min-height:54px;font-size:18px}.clients-card{display:grid;gap:16px}.client-toolbar{margin-bottom:0}.client-list{display:grid;gap:12px}.client-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--surface-soft)}.client-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#151515;color:#f4d18d;font-weight:900;letter-spacing:.08em}.client-main{min-width:0}.client-main h3{margin:0 0 4px}.client-main p,.client-main small{margin:0;color:var(--muted);overflow-wrap:anywhere}.compact-hero{align-items:center}@media(max-width:760px){.admin-hero-card.compact-hero{padding:22px}.client-card{grid-template-columns:46px 1fr;align-items:start}.client-avatar{width:46px;height:46px;border-radius:16px}.client-card .btn{grid-column:1 / -1;width:100%}}@media(max-width:520px){.home-landing{align-content:start;padding-top:84px}}.admin-dashboard-page{max-width:1120px;margin:0 auto}.admin-dashboard-hero{align-items:center}.admin-dashboard-hero h1{margin-bottom:0}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-action-card{appearance:none;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:var(--shadow);padding:20px;text-align:left;cursor:pointer;display:grid;gap:6px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.dashboard-action-card span{color:var(--muted);font-weight:800}.dashboard-action-card strong{font-size:clamp(38px,7vw,58px);line-height:.9}.dashboard-action-card small{color:var(--muted);font-weight:700}.dashboard-action-card:hover,.dashboard-action-card.active{border-color:var(--gold);background:#fff8e8;transform:translateY(-2px);box-shadow:0 18px 36px #34230c1f}.dashboard-detail-panel{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:22px}.dashboard-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.dashboard-detail-header h2{margin:0}.compact-message{min-height:120px}.dashboard-appointment-list{display:grid;gap:12px}.dashboard-appointment-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #eadfce;border-radius:20px;background:#fffdf9}.dashboard-appointment-item.cancelled{background:#fff3f3;border-color:#f0c6c6}.appointment-day{min-width:92px;color:var(--muted);font-size:14px;text-transform:capitalize}.small-time{min-width:74px;padding:10px 9px}.small-time strong{font-size:18px}.appointment-compact-main{display:grid;gap:3px;min-width:0}.appointment-compact-main span,.appointment-compact-main small{color:var(--muted);overflow-wrap:anywhere}@media(max-width:860px){.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-appointment-item{grid-template-columns:auto minmax(0,1fr);align-items:start}.dashboard-appointment-item .badge{grid-column:2;justify-self:start}.appointment-day{grid-column:1 / -1;min-width:0}}@media(max-width:520px){.admin-dashboard-hero{padding:22px}.admin-dashboard-hero .actions,.admin-dashboard-hero .btn{width:100%}.dashboard-summary-grid{gap:10px}.dashboard-action-card{padding:16px;border-radius:20px}.dashboard-action-card strong{font-size:44px}.dashboard-detail-panel{padding:16px;border-radius:22px}.dashboard-detail-header{align-items:stretch;flex-direction:column}.dashboard-detail-header .btn{width:100%}}
