:root{color:#fff;background:#17120f;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(160deg,#17120f,#2b1b15);min-height:100vh;margin:0}.app{max-width:760px;min-height:100vh;margin:auto;padding:18px 14px 90px}header{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{color:#ffbd8c;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}h1{margin:2px 0 0;font-size:30px}.primary{color:#24110b;background:linear-gradient(135deg,#ff7a5f,#ffb36d);border:0;font-weight:900;box-shadow:0 12px 30px #0005}button,input,select,textarea{color:#fff;font:inherit;background:#ffffff10;border:1px solid #ffffff18;border-radius:18px;padding:13px}button{cursor:pointer}input,select,textarea{outline:none;width:100%}select option{color:#111}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.stats div,.card,.service,.dayCard,.empty,.serviceForm{background:#fffaf40f;border:1px solid #ffffff18;border-radius:24px;padding:14px;box-shadow:0 14px 40px #0004}.stats div{flex-direction:column;gap:4px;display:flex}.stats svg{color:#ffb36d}.stats span{font-size:20px;font-weight:900}.stats small,.card small,.service span,.dayCard span{color:#d8c7bd}.rail{gap:8px;padding-bottom:8px;display:flex;overflow:auto}.rail button{color:#d8c7bd;min-width:98px}.rail .sel{color:#21120d;background:#fff;font-weight:900}.list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.card{text-align:left;flex-direction:column;gap:6px;display:flex}.card.done{border-color:#41d6a4}.card.cancelled{opacity:.55}.actions{gap:6px;margin-top:6px;display:flex;overflow:auto}.actions button{white-space:nowrap;padding:8px 10px;font-size:12px}.gridDays{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.dayCard{text-align:left;flex-direction:column;gap:7px;min-height:130px;display:flex}.serviceForm{grid-template-columns:1fr 82px 92px;gap:8px;display:grid}.serviceForm button{color:#20120d;background:#fff;grid-column:1/-1;font-weight:900}.service{justify-content:space-between;gap:10px;margin-top:10px;display:flex}.modal{z-index:40;background:#0009;align-items:flex-end;display:flex;position:fixed;inset:0}.formModal{z-index:60}.sheet{background:#241610;border:1px solid #ffffff20;border-radius:28px 28px 0 0;flex-direction:column;gap:10px;width:100%;max-width:760px;margin:auto;padding:18px;display:flex}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.loading{color:#111;background:#fff;border-radius:999px;padding:10px 18px;font-weight:900;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}.error{color:#fff;background:#ff5252;border-radius:18px;margin-top:12px;padding:12px}nav{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#1d130fee;border-top:1px solid #ffffff18;justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{color:#d8c7bd;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;width:110px;font-size:12px;display:flex}nav button.active{color:#21120d;background:#fff;font-weight:900}nav svg{width:18px;height:18px}@media (width<=420px){h1{font-size:24px}.gridDays{grid-template-columns:1fr}.serviceForm{grid-template-columns:1fr 74px 84px}.primary{padding:12px 14px}}.statsSwitch{color:#ffbd8c;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 -6px;font-weight:800;display:flex}.statsSwitch button{background:#ff8a3d22;border-color:#ffbd8c55;border-radius:999px;padding:8px 14px;font-weight:900}@media (width<=520px){.serviceForm{grid-template-columns:1fr}.serviceForm button,.serviceForm .hint{grid-column:1}.service.editable{grid-template-columns:1fr;display:grid}.service.editable .actions{justify-content:stretch}.service.editable .actions button{flex:1}}.dayTools{justify-content:flex-end;margin:10px 0;display:flex}.dayTools button,.danger{align-items:center;gap:8px;display:inline-flex}.danger{color:#ffd7cf!important;background:#ff5c3d22!important;border-color:#ff8a7a!important}.closedBanner{color:#ffd7c8;background:#ff6b3d22;border:1px solid #ff9f7a66;border-radius:20px;padding:12px;font-weight:800}.calendarPage{z-index:2;flex-direction:column;gap:10px;display:flex;position:relative}.monthBar{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;display:grid}.monthBar b{text-align:center;text-transform:capitalize;font-size:20px}.monthBar button{z-index:4;touch-action:manipulation;pointer-events:auto;padding:8px;font-size:26px;line-height:1;position:relative}.weekHead,.monthGrid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.monthViewport{z-index:3;height:522px;position:relative;overflow:hidden}.monthStack{--drag-y:0px;height:300%;transform:translateY(calc(-33.333% + var(--drag-y)));will-change:transform;grid-template-rows:repeat(3,1fr);display:grid}.monthPanel{height:100%;display:flex;overflow:hidden}.monthGrid{z-index:3;flex:1;grid-template-rows:repeat(6,1fr);height:100%;position:relative}.weekHead span{text-align:center;color:#d8c7bd;font-size:12px;font-weight:800}.monthCell{z-index:1;text-align:left;touch-action:manipulation;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fffaf40c;border-radius:18px;flex-direction:column;gap:3px;min-height:82px;padding:8px 6px;display:flex;position:relative}.monthCell.picked{outline-offset:-3px;outline:2px solid #fff}.monthCell .num{font-size:16px;font-weight:900}.monthCell small{color:#f4dfd1;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.monthCell.muted{opacity:.38}.monthCell.booked{background:linear-gradient(150deg,#ffb36d26,#fffaf40f);border-color:#ffb36d99}.monthCell.closed{background:repeating-linear-gradient(135deg,#ff5c3d24 0 8px,#fffaf40f 8px 16px);border-color:#ff705d99}.monthCell.closed .num{color:#ffd2c9}.lock,.count{border-radius:999px;width:max-content;padding:2px 5px;font-size:10px}.lock{color:#ffd2c9;background:#ff5c3d38}.count{color:#ffddb8;background:#ffb36d33}.legend{color:#d8c7bd;flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.bookedDot{background:#ffb36d}.closedDot{background:#ff705d}.dayModal{align-items:flex-end}.daySheet{border-radius:28px 28px 0 0;width:min(760px,100%);max-height:82vh;overflow:auto}.sheetHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheetHead h2{margin:0}.sheetHead button{width:44px;height:44px;padding:0;font-size:26px}.dayState{border-radius:18px;padding:12px;font-weight:900}.dayState.open{color:#c8ffe9;background:#2de39b1c;border:1px solid #2de39b55}.dayState.closed{color:#ffd7cf;background:#ff5c3d22;border:1px solid #ff705d66}.compact{margin-top:10px}.compact .card{box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed}.service.editable{align-items:center}.service.editable>div{flex-direction:column;gap:4px;display:flex}.service.editable button{white-space:nowrap;padding:10px 12px}.service.editable input{padding:10px}.service.editable .check{color:#d8c7bd;align-items:center;gap:8px;display:flex}.service.editable .check input{width:auto}.service.editable .actions{grid-column:1/-1;justify-content:flex-end;display:flex}@media (width<=520px){.app{padding:12px 10px calc(112px + env(safe-area-inset-bottom))}.stats{gap:7px;margin:10px 0}.stats div{border-radius:18px;padding:10px}.calendarPage{gap:7px;padding-bottom:8px}.monthBar{grid-template-columns:42px 1fr 42px}.monthBar b{font-size:18px}.monthViewport{height:clamp(286px,100dvh - 322px,354px)}.monthGrid,.weekHead{gap:3px}.monthCell{border-radius:12px;min-height:0;padding:6px 5px}.monthCell small{display:none}.monthCell .num{font-size:14px}.lock,.count{font-size:8px}.service.editable{grid-template-columns:1fr;display:grid}.service.editable .actions{justify-content:stretch}.service.editable .actions button{flex:1}}.calendarPage{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.monthGrid,.monthCell{-webkit-user-select:none;user-select:none}.monthBar,.monthStack{--drag-y:0px}.monthBar b{will-change:transform,opacity;transform:translateY(calc(var(--drag-y) * .16));transition:transform .34s cubic-bezier(.18,.78,.18,1);display:block}.monthBar.dragging b{transition:none}.monthStack{transition:transform .34s cubic-bezier(.18,.78,.18,1)}.monthStack.dragging{transition:none}.monthStack.settleNext{transform:translateY(-66.666%)}.monthStack.settlePrev{transform:translateY(0)}.monthStack.noTransition,.monthBar.noTransition b{transition:none!important}.monthBar.settleNext b{opacity:.25;transform:translateY(-12px)}.monthBar.settlePrev b{opacity:.25;transform:translateY(12px)}@media (width<=520px) and (height<=650px){.monthViewport{height:clamp(210px,100dvh - 372px,354px)}.monthCell{gap:1px;min-height:0;padding:4px}.monthCell .num{font-size:13px}.legend{display:none}}@media (prefers-reduced-motion:reduce){.monthStack,.monthBar b{transition:none!important}}.monthViewport{padding-right:0}@media (width<=520px){.tab-calendar .stats{display:none}.tab-calendar header{margin-bottom:8px}.tab-calendar .monthViewport{height:clamp(320px,100dvh - 230px,430px)}.tab-calendar .monthCell{min-height:44px}}.phoneLine{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.phoneLine button{white-space:nowrap;font-weight:800}.hint{color:#ffbd8c;margin:-4px 0 2px;line-height:1.35;display:block}input[type=tel]{letter-spacing:.02em}@media (width<=430px){.phoneLine{grid-template-columns:1fr}.phoneLine button{width:100%;padding:11px}}
