:root{color:var(--ink);background:var(--cream);font-synthesis:none;--ink:#201a35;--muted:#746f80;--violet:#31264d;--lavender:#ddd9ff;--lilac:#aaa2ed;--cream:#f6f3ed;--paper:#fffefa;--line:#31264d1a;--accent:#31264d;--accent-text:#fff;--glass:#fff9;--card-background:#fffefae6;--soft-background:#31264d12;--soft-note-background:#ddd9ff8f;--soft-note-text:#50466d;--hero-background:linear-gradient(145deg, #fffc, #d7d3fac7), #e6e2ff;--hero-ink:#201a35;--hero-muted:#5d5870;--nav-background:#faf8f3f0;--nav-active-background:linear-gradient(145deg, #4a3b70, #2f2549);--nav-active-shadow:#31264d3d;--link:#655a9d;--glow:#c9c4ff80;--shell-background:#f6f3edd1;--safe-bottom:var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--ink:#f4f1ff;--muted:#b7b0c6;--violet:#bdb5ff;--cream:#181522;--paper:#24202f;--line:#e8e3ff1f;--accent:#7669c8;--accent-text:#fff;--glass:#ffffff14;--card-background:#24202ff0;--soft-background:#e8e3ff17;--soft-note-background:#7669c838;--soft-note-text:#ddd8ee;--hero-background:linear-gradient(145deg, #302b47, #49436f);--hero-ink:#f8f6ff;--hero-muted:#d6d0e7;--nav-background:#181522f5;--nav-active-background:linear-gradient(145deg, #8a7ee0, #675bb8);--nav-active-shadow:#7669c857;--link:#c9c1ff;--glow:#7669c842;--shell-background:#181522e6}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0, var(--glow), transparent 34%), var(--cream);min-width:320px;min-height:100dvh;margin:0}button{color:inherit;font:inherit}button:disabled{cursor:wait;opacity:.58}.offline-banner,.alert{color:var(--soft-note-text);background:var(--soft-note-background);border-radius:14px;margin:0 18px 10px;padding:11px 14px;font-size:.82rem;line-height:1.35}.alert{justify-content:space-between;align-items:center;gap:12px;display:flex}.alert button{cursor:pointer;background:0 0;border:0;font-size:1.35rem}.app-shell{width:min(100%,520px);min-height:100dvh;padding-bottom:calc(94px + var(--safe-bottom));margin:0 auto}.topbar{padding:calc(16px + var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px))) 20px 14px;justify-content:space-between;align-items:center;display:flex}.brand,.back,.text-button{cursor:pointer;background:0 0;border:0}.brand{align-items:center;gap:9px;padding:0;font-weight:750;display:flex}.brand-mark{color:#fff;background:var(--violet);border-radius:50%;place-items:center;width:30px;height:30px;display:inline-grid}.avatar{border:1px solid var(--line);background:var(--glass);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.content{padding:18px 18px 28px}.eyebrow{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:760}.hero{min-height:388px;color:var(--hero-ink);background:var(--hero-background);border-radius:28px;padding:42px 26px 28px;position:relative;overflow:hidden;box-shadow:0 18px 45px #3329531c}.hero h1,.page-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.35rem,10vw,3.35rem);font-weight:520;line-height:.98;position:relative}.hero p{width:78%;color:var(--hero-muted);margin:18px 0 24px;line-height:1.45;position:relative}.hero-star{margin-bottom:30px;font-size:1.25rem;display:block;position:relative}.orb{border-radius:50%;position:absolute;box-shadow:inset -16px -18px 28px #291f4a59,inset 12px 10px 22px #ffffffd9,0 24px 36px #31264d38}.orb-one{background:linear-gradient(135deg,#eceaff,#8178ca);width:182px;height:182px;bottom:-15px;right:-24px}.orb-two{background:linear-gradient(135deg,#fff,#aaa1e2);width:62px;height:62px;bottom:30px;right:104px}.primary,.secondary{cursor:pointer;border-radius:999px;min-height:48px;padding:0 23px;font-weight:720;position:relative}.primary{color:var(--accent-text);background:var(--accent);border:0;box-shadow:0 10px 22px #31264d33}.secondary{border:1px solid var(--line);background:0 0}.wide{width:100%}.section-head{justify-content:space-between;align-items:end;margin:34px 2px 14px;display:flex}.section-head h2{letter-spacing:-.04em;margin:0;font-size:1.7rem;font-weight:550}.text-button{color:var(--link);padding:5px;font-size:.84rem}.booking-card,.request-card,.detail-card{border:1px solid var(--line);width:100%;color:inherit;background:var(--card-background);border-radius:22px;position:relative;box-shadow:0 12px 34px #3329530f}.booking-card{text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.date-tile{color:#fff;background:var(--accent);text-align:center;border-radius:16px;place-content:center;width:58px;height:64px;display:grid}.date-tile b{font-size:1.55rem;line-height:1}.date-tile small{color:#dcd6ee;margin-top:3px}.booking-copy{gap:7px;display:grid}.booking-copy small,.request-card small,.detail-row small,.muted{color:var(--muted)}.chevron{color:var(--muted);font-size:1.8rem}.page-title{margin:6px 0 12px;font-size:clamp(2.2rem,9vw,3rem)}.muted{margin:0 0 24px;line-height:1.45}.week-tabs,.filter-row{background:var(--soft-background);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;display:grid}.field+.week-tabs{margin-top:14px}.week-tabs button,.filter-row button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px}.week-tabs button.active,.filter-row button.active{color:var(--ink);background:var(--paper);font-weight:700;box-shadow:0 5px 14px #31264d14}.date-grid{grid-template-columns:repeat(5,1fr);gap:7px;margin:14px 0 28px;display:grid}.date-grid button{border:1px solid var(--line);background:var(--glass);cursor:pointer;border-radius:17px;place-content:center;gap:6px;min-height:72px;display:grid}.date-grid button.active,.time-grid button.active{border-color:var(--violet);color:var(--accent-text);background:var(--accent)}.date-grid small{font-size:.7rem}.date-grid b{font-size:1.15rem}.subheading{margin:0 0 14px;font-size:1.2rem}.date-scroll{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:14px 0 28px;padding-bottom:3px;display:grid}.date-scroll button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:17px;place-content:center;gap:6px;min-width:0;min-height:72px;padding:0;display:grid}.date-scroll button.active{border-color:var(--accent);color:var(--accent-text);background:var(--accent)}.time-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.time-grid button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:14px;min-height:46px;font-weight:650}.form{gap:16px;margin-top:22px;display:grid}.field{color:var(--ink);gap:7px;font-size:.88rem;font-weight:650;display:grid}.field small{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--paper);font:inherit;border-radius:14px;outline:none;padding:12px 14px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--link);box-shadow:0 0 0 3px var(--soft-background)}.hold-timer{color:#416b54;text-align:center;background:#e0f1e5;border-radius:14px;margin:18px 0 4px;padding:12px 14px;font-weight:700}:root[data-theme=dark] .hold-timer{color:#d7f5df;background:#294637}.hold-timer.expired,.error-text{color:#9a3b49}:root[data-theme=dark] .error-text{color:#ffb9c3}.action-gap{margin-top:12px}.danger{color:#a03445;border-color:#a034454d}.success{text-align:center;padding-top:34px}.success-mark{color:#fff;background:#467758;border-radius:50%;place-content:center;width:68px;height:68px;margin:0 auto 22px;font-size:2rem;display:grid}.soft-note{color:var(--soft-note-text);background:var(--soft-note-background);border-radius:18px;align-items:flex-start;gap:12px;margin:24px 0;padding:16px;display:flex}.soft-note p{margin:0;font-size:.88rem;line-height:1.45}.filter-row{grid-template-columns:repeat(2,1fr);margin:24px 0 14px}.request-card{border:1px solid var(--line);text-align:left;gap:8px;margin-bottom:12px;padding:18px;display:grid}button.request-card{cursor:pointer}.request-card>b{margin-top:4px;font-size:1.08rem}.request-card .chevron{position:absolute;top:50%;right:18px}.admin-request-card{padding-right:42px}.admin-request-card>span:not(.status-pill,.chevron){color:var(--muted)}.admin-filter{margin-top:16px}.booking-status-panel{border:1px solid var(--line);background:var(--soft-background);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 18px;padding:13px 14px;display:flex}.booking-status-panel>small{color:var(--muted);font-weight:650}.booking-status-panel .status,.booking-status-panel .status-pill{flex:none}.admin-actions{border:1px solid var(--line);background:var(--card-background);border-radius:22px;gap:12px;margin:18px 0;padding:18px;display:grid}.admin-actions .subheading{margin:0}.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-action-grid>button{min-height:46px;padding:10px 12px}.admin-action-grid .admin-block{color:#9a3e4c;grid-column:1/-1;min-height:auto}.admin-action-form{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.admin-action-form textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:88px;color:var(--ink);background:var(--paper);font:inherit;border-radius:14px;padding:13px 14px}.admin-action-controls{gap:10px;display:flex}.admin-action-controls>button{flex:1;min-height:44px}@media (width<=370px){.admin-action-grid{grid-template-columns:1fr}.admin-action-grid .admin-block{grid-column:auto}}.muted-card{opacity:.74}.empty{min-height:150px;color:var(--muted);text-align:center;place-content:center;gap:8px;padding:24px;display:grid}.status{border-radius:999px;width:fit-content;padding:7px 10px;font-size:.72rem;font-weight:750}.pending{color:#5b4b8f;background:#e8e4ff}.confirmed{color:#416b54;background:#e0f1e5}.status-clarification_required{color:#8a4d10;background:#ffebca}.status-rejected,.status-expired,.status-cancelled_by_user,.status-cancelled_by_admin{color:#766f7e;background:var(--soft-background)}.status-integration_error{color:#993849;background:#ffe0e5}.status-pending,.status-reconsideration,.status-creating_meeting{color:#5b4b8f;background:#e8e4ff}.status-confirmed{color:#416b54;background:#e0f1e5}.back{color:var(--link);align-items:center;gap:8px;margin:-8px 0 28px;padding:8px 0;display:flex}.back:first-letter{font-size:1.6rem}.detail-card{margin-top:18px;padding:18px}.detail-card p{color:var(--muted);margin:8px 0 0;line-height:1.55}.connections-entry{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:var(--paper);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:0 0 18px;padding:15px;display:grid;box-shadow:0 8px 24px #31264d0f}.connections-entry>span:nth-child(2){gap:4px;min-width:0;display:grid}.connections-entry small,.connection-summary small{color:var(--muted)}.connections-entry-icon{color:#fff;background:var(--nav-active-background);border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.35rem;display:grid}.schedule-entry-icon{background:linear-gradient(145deg,#6b5aa0,#342653)}.schedule-section{border:1px solid var(--line);background:var(--paper);border-radius:20px;margin-top:18px;padding:17px;box-shadow:0 8px 24px #31264d0f}.section-heading-row,.schedule-day-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-section .subheading{margin:0}.schedule-section p{color:var(--muted);margin:7px 0 0;line-height:1.45}.schedule-hint{background:var(--soft-background);border-radius:13px;padding:11px 12px;font-size:.82rem}.schedule-days{gap:10px;margin-top:13px;display:grid}.schedule-day{border:1px solid var(--line);background:var(--shell-background);border-radius:16px;padding:13px}.day-select,.day-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.day-select input,.day-toggle input{width:19px;height:19px;accent-color:var(--violet);margin:0}.day-toggle{color:var(--muted);font-size:.76rem}.schedule-interval,.exception-times{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;align-items:end;gap:8px;margin-top:11px;display:grid}.schedule-interval label,.exception-times label{min-width:0;color:var(--muted);gap:5px;font-size:.72rem;display:grid}.schedule-interval input,.exception-times input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:var(--paper);font:inherit;cursor:pointer;touch-action:manipulation;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:11px;padding:10px 8px}@media (prefers-color-scheme:dark){.schedule-interval input,.exception-times input{--lightningcss-light: ;--lightningcss-dark:initial}}.schedule-interval input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;min-width:24px;min-height:24px}.exception-times input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;min-width:24px;min-height:24px}.exception-times{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:0}.icon-remove{border:1px solid var(--line);color:#9b4949;background:var(--paper);border-radius:11px;place-items:center;width:36px;height:38px;padding:0;font-size:1.25rem;display:grid}.schedule-day-actions{flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.text-action{color:var(--link);text-align:left;background:0 0;border:0;padding:5px 0;font-size:.76rem}.text-action:disabled{opacity:.45}.schedule-save{width:100%;margin-top:15px}.exception-section{margin-bottom:16px}.exception-form{margin-top:13px;padding:0}.exception-form .field{gap:6px}.exception-form .field>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;padding-left:3px;font-size:.68rem;font-weight:750}.exception-form .field input,.exception-form .field select{border-color:var(--line);background-color:var(--paper);border-radius:15px;min-height:52px;font-size:.92rem;font-weight:600;box-shadow:0 6px 18px #31264d0f}.exception-form .field input:focus,.exception-form .field select:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--soft-background)}.exception-form input[type=date]{cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.exception-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial}}.exception-form input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.78;min-width:23px;min-height:23px}.form-success{font-size:.82rem;font-weight:650;color:#34705a!important;margin:-4px 0 0!important}.exception-list{gap:9px;margin-top:14px;display:grid}.exception-card{border:1px solid var(--line);background:var(--shell-background);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.exception-card>span{gap:3px;display:grid}.exception-card small{color:var(--muted)}.schedule-empty{text-align:center;padding:14px}.page-lead{color:var(--muted);margin:-8px 0 20px;line-height:1.5}.connection-summary{background:var(--soft-background);border-radius:18px;align-items:center;gap:12px;margin-bottom:14px;padding:15px 16px;display:flex}.connection-summary>span:last-child{gap:3px;display:grid}.connection-dot{background:#d49335;border-radius:50%;flex:none;width:11px;height:11px;box-shadow:0 0 0 5px #d4933524}.summary-ok .connection-dot{background:#4f8b65;box-shadow:0 0 0 5px #4f8b6524}.summary-critical .connection-dot{background:#b75252;box-shadow:0 0 0 5px #b7525224}.connection-list{gap:12px;display:grid}.connection-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:17px}.connection-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.connection-card h2{margin:0;font-size:1rem}.connection-card p{color:var(--muted);margin:10px 0 0;line-height:1.45}.connection-badge{color:#735318;white-space:nowrap;background:#f6e9c8;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:700}.state-connected{color:#355e45;background:#dcefe2}.state-degraded{color:#793e3e;background:#f3dddd}.connection-action,.connection-refresh{margin-top:14px}.connection-refresh{width:100%}.connection-loading{color:var(--muted)}.detail-row{grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:12px 0;display:grid}.detail-row+.detail-row{border-top:1px solid var(--line)}.detail-row>span:last-child{gap:4px;display:grid}.detail-icon{background:var(--soft-background);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.detail-title{margin-bottom:18px}.messages{margin-top:24px}.message{background:var(--paper);border-radius:16px;width:88%;margin-bottom:10px;padding:13px 15px;box-shadow:0 6px 20px #31264d0f}.message-user{background:var(--soft-note-background);margin-left:auto}.message b{font-size:.76rem}.message p{margin:5px 0;line-height:1.4}.message small{color:var(--muted);font-size:.7rem}.consent{width:min(100%,420px);margin:auto}.consent .primary{margin-top:12px}.bottom-nav{z-index:5;width:100vw;max-width:520px;padding:7px 10px calc(8px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--nav-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(4,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav.admin-nav{grid-template-columns:repeat(5,1fr)}.bottom-nav button{min-height:58px;color:var(--muted);cursor:pointer;background:0 0;border:0;grid-template-rows:34px auto;place-content:center;gap:4px;min-width:0;display:grid}.nav-icon{width:38px;height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;margin:0 auto;display:grid}.nav-icon svg{display:block}.bottom-nav button small{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.1;overflow:hidden}.bottom-nav button.active{color:var(--violet);font-weight:700}.bottom-nav button.active .nav-icon{color:#fff;background:var(--nav-active-background);box-shadow:0 7px 18px var(--nav-active-shadow);border-color:#ffffff29}.bottom-nav button:not(.active):active .nav-icon{color:var(--violet);background:var(--soft-background)}.status-screen{text-align:center;place-content:center;min-height:100dvh;padding:30px;display:grid}.status-screen .brand-mark{margin:0 auto 16px}.status-screen h1{margin:0;font-size:1.7rem}.status-screen p{max-width:320px;color:var(--muted);line-height:1.5}@media (width>=560px){.app-shell{border:1px solid var(--line);background:var(--shell-background);border-radius:30px 30px 0 0;margin-top:20px;overflow:hidden;box-shadow:0 20px 70px #31264d24}}@media (width<=360px){.content{padding-left:12px;padding-right:12px}.date-scroll,.date-grid{gap:4px}.date-scroll button,.date-grid button{border-radius:14px;min-height:66px}.week-tabs{gap:2px}.bottom-nav{padding-left:6px;padding-right:6px}.bottom-nav button small{font-size:.65rem}.bottom-nav.admin-nav button small{font-size:.6rem}.schedule-section{padding:13px}.schedule-day-head{align-items:flex-start}.day-toggle{flex-direction:column;align-items:flex-end;gap:3px}.schedule-interval{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:5px}.schedule-interval input,.exception-times input{padding-left:4px;padding-right:4px;font-size:.78rem}}@media (prefers-reduced-motion:no-preference){button{transition:transform .15s,background .15s}button:active{transform:scale(.97)}}
