:root{color-scheme:light;--bg:#f2f6fa;--surface:#fff;--soft:#f5f8fb;--text:#122033;--muted:#68798b;--line:#dce6ef;--blue:#2481cc;--blue-soft:#e7f3fc;--green:#2e9d63;--green-soft:#e8f7ef;--red:#c74848;--red-soft:#fdecec;--shadow:0 12px 34px rgba(38,65,90,.10);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit}.shell{width:min(680px,100%);min-height:100vh;margin:0 auto;padding:0 14px calc(34px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 2px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px}.brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--blue);font-weight:700}.brand>div{display:flex;flex-direction:column}.brand strong{font-size:14px}.brand small,.section-title small,.intro p,.week-nav small,.editor-head small,.window-summary small{color:var(--muted);font-size:11px}.icon-button,.week-nav>button{width:38px;height:38px;border:0;border-radius:50%;color:var(--blue);background:var(--blue-soft);cursor:pointer;font-size:22px}.intro{padding:22px 4px 16px}.intro h1{margin:5px 0 7px;font-size:31px;line-height:1.05;letter-spacing:-.035em}.intro p{margin:0;font-size:13px;line-height:1.45}.intro .eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card{margin-bottom:14px;padding:17px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.accent-card{background:linear-gradient(145deg,var(--surface),var(--blue-soft))}.accent-card p,.warning-copy,.hint{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{margin:3px 0 0;font-size:18px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;padding:4px;border-radius:14px;background:var(--soft)}.segmented button{min-height:42px;border:0;border-radius:11px;color:var(--muted);background:transparent;cursor:pointer}.segmented button.active{color:white;background:var(--blue);box-shadow:0 5px 14px rgba(36,129,204,.22)}.week-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:14px}.week-nav>div{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.week-nav strong{font-size:13px}.day-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}.day-strip.seven{grid-template-columns:repeat(7,1fr)}.day-strip button{min-width:0;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:var(--soft);cursor:pointer}.day-strip.seven button{min-height:58px}.day-strip button small{color:var(--muted);font-size:9px;text-transform:uppercase}.day-strip button b{font-size:15px}.day-strip button em{color:var(--green);font-size:8px;font-style:normal;white-space:nowrap}.day-strip button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.day-strip button:disabled{cursor:not-allowed;opacity:.38;filter:saturate(.2)}.availability{display:flex;flex-direction:column;gap:10px}.period{padding:12px;border-radius:14px;background:var(--soft)}.period-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.period-head strong{font-size:12px}.period-head span{color:var(--muted);font-size:10px;text-align:right}.start-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.start-grid button,.time-grid button{min-width:0;min-height:38px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface);cursor:pointer;font-size:11px}.start-grid button.active,.time-grid button.active{border-color:var(--blue);color:white;background:var(--blue)}.empty{padding:24px 14px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--soft);text-align:center;font-size:12px;line-height:1.5}.primary{width:100%;min-height:49px;margin-top:15px;border:0;border-radius:14px;color:white;background:var(--blue);cursor:pointer;font-weight:650}.primary:disabled{cursor:not-allowed;opacity:.42}.primary.done{background:var(--green)}.text-button{padding:5px;border:0;color:var(--blue);background:transparent;cursor:pointer;font-size:11px}.danger-text{color:var(--red)}.list{display:flex;flex-direction:column;gap:9px;margin-top:13px}.booking{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.booking-head{display:flex;justify-content:space-between;gap:10px}.booking-head>div{display:flex;flex-direction:column;gap:3px}.booking-head strong{font-size:13px}.booking-head small,.booking-meta{color:var(--muted);font-size:10px}.status{height:max-content;padding:4px 7px;border-radius:999px;color:var(--blue);background:var(--blue-soft);font-size:9px}.status.confirmed{color:var(--green);background:var(--green-soft)}.status.cancelled,.status.rejected,.status.expired{color:var(--red);background:var(--red-soft)}.booking-actions{display:flex;gap:7px;margin-top:11px}.booking-actions button{flex:1;min-height:36px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface);cursor:pointer;font-size:11px}.booking-actions button.approve{border-color:var(--green);color:white;background:var(--green)}.booking-actions button.cancel{border-color:var(--red);color:var(--red);background:var(--red-soft)}.editor-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 9px}.editor-head>div{display:flex;flex-direction:column;gap:2px}.legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:9px;color:var(--muted);font-size:9px}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:8px;height:8px;border-radius:50%}.available-dot{background:var(--blue)}.booked-dot{background:var(--green)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.time-grid button.booked{border-color:var(--green);color:var(--green);background:var(--green-soft);cursor:not-allowed}.window-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px;border-radius:11px;background:var(--blue-soft)}.window-summary strong{color:var(--blue);font-size:11px;text-align:right}.durations-title{margin-top:15px}.warning-copy{padding:9px 10px;border-radius:10px;color:var(--red);background:var(--red-soft)}.loading{min-height:60vh;display:grid;place-content:center;justify-items:center;color:var(--muted);font-size:12px}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.notice{margin-top:30px;padding:24px;border-radius:18px;background:var(--surface);text-align:center}.notice p{color:var(--muted);font-size:13px}.toast{position:fixed;z-index:50;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 28px));padding:12px 14px;border-radius:13px;color:white;background:#182333;box-shadow:0 12px 30px rgba(0,0,0,.22);transform:translateX(-50%);font-size:12px}.hidden{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:430px){.shell{padding-inline:10px}.card{padding:14px}.intro h1{font-size:28px}.day-strip.seven{gap:3px}.day-strip.seven button{min-height:54px;border-radius:11px}.day-strip button em{font-size:7px}.start-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0b1220;--surface:#172033;--soft:#202b40;--text:#f4f7fb;--muted:#a0aec1;--line:#344158;--blue:#54a9eb;--blue-soft:#173650;--green:#58cf8b;--green-soft:#173d2b;--red:#ff8585;--red-soft:#4a2529;--shadow:0 12px 34px rgba(0,0,0,.28)}}
