:root{--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--shadow-sm:0 1px 2px rgba(17,24,39,0.06),0 8px 24px rgba(17,24,39,0.04);--shadow-md:0 1px 2px rgba(17,24,39,0.08),0 14px 34px rgba(17,24,39,0.08);--shadow-lg:0 1px 2px rgba(17,24,39,0.1),0 24px 80px rgba(17,24,39,0.16);--shadow-glow:0 0 30px var(--accent-glow);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms cubic-bezier(0.16,1,0.3,1)}:root,[data-theme=light]{color-scheme:light;--bg:#f4f7f6;--bg-subtle:#e9edf0;--surface:#ffffff;--surface-elevated:#ffffff;--surface-alt:#eef4f2;--text:#171b1f;--text-muted:#566069;--text-subtle:#8a949c;--line:#cfd7d6;--line-subtle:#e2e7e5;--accent:#008c95;--accent-hover:#12a8b2;--accent-strong:#005f66;--accent-glow:rgba(0,140,149,0.18);--accent-subtle:rgba(0,140,149,0.09);--success:#218c5c;--success-bg:rgba(33,140,92,0.1);--danger:#c53d2f;--danger-bg:rgba(197,61,47,0.09);--warning:#b56a00;--warning-bg:rgba(181,106,0,0.11);--focus-ring:rgba(0,140,149,0.18)}[data-theme=dark]{color-scheme:dark;--bg:#111511;--bg-subtle:#1b211e;--surface:#191e1b;--surface-elevated:#212923;--surface-alt:#141916;--text:#eef2ea;--text-muted:#a2ada5;--text-subtle:#69746d;--line:#313b36;--line-subtle:#232b27;--accent:#26c6b5;--accent-hover:#47d8c9;--accent-strong:#7ae7dc;--accent-glow:rgba(38,198,181,0.22);--accent-subtle:rgba(38,198,181,0.12);--success:#62d18f;--success-bg:rgba(98,209,143,0.13);--danger:#ff6a58;--danger-bg:rgba(255,106,88,0.12);--warning:#e7b550;--warning-bg:rgba(231,181,80,0.13);--focus-ring:rgba(38,198,181,0.22);--shadow-sm:0 1px 2px rgba(0,0,0,0.28),0 10px 26px rgba(0,0,0,0.16);--shadow-md:0 1px 2px rgba(0,0,0,0.36),0 18px 42px rgba(0,0,0,0.24);--shadow-lg:0 1px 2px rgba(0,0,0,0.44),0 28px 86px rgba(0,0,0,0.34);--shadow-glow:0 0 30px var(--accent-glow);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}html{font-size:125%}body,html{margin:0;padding:0;color:var(--text);font-family:Aptos,Segoe UI Variable,SF Pro Text,Helvetica Neue,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body,html{background:var(--bg)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}::selection{background:var(--accent);color:#fff}.page{max-width:1440px;margin:0 auto;padding:24px 28px 44px;display:flex;flex-direction:column}.content-wrapper,.page{position:relative;z-index:1;min-height:100vh}.ansi-background{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 82%,transparent),color-mix(in srgb,var(--surface-alt) 70%,transparent)),var(--bg)}.ansi-background pre{position:absolute;max-width:360px;margin:0;color:color-mix(in srgb,var(--accent) 64%,var(--text-muted));font-family:IBM Plex Mono,SF Mono,Cascadia Mono,Menlo,monospace;font-size:10px;line-height:1.08;font-weight:700;opacity:.13;white-space:pre;text-shadow:0 0 18px var(--accent-glow);transform:skewY(-2deg);animation:ansiDrift 9s linear infinite;transition:opacity .22s ease,transform .42s ease,left .9s ease,top .9s ease,scale .9s ease}.ansi-background pre:nth-child(2){justify-self:end;opacity:.1;transform:skewY(2deg) translateX(6%);animation-duration:11s}.ansi-background pre:nth-child(3n){opacity:.08;transform:translateX(-4%);animation-duration:13s}.ansi-background pre:nth-child(4n){opacity:.16;transform:translateY(8px)}.ansi-background pre:nth-child(5n){justify-self:center;color:color-mix(in srgb,var(--warning) 56%,var(--accent))}.ansi-background pre:nth-child(6n){font-size:12px;line-height:1;opacity:.1}.ansi-background pre:nth-child(7n){color:color-mix(in srgb,var(--success) 48%,var(--accent));transform:rotate(-2deg)}.top-bar{justify-content:space-between;margin-bottom:18px;padding:12px 0 18px;border-bottom:1px solid var(--line)}.hero-mini,.top-bar{display:flex;align-items:center}.hero-mini{gap:14px}.company-logo{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);flex:0 0 auto;object-fit:contain;padding:2px}.hero-mini h1{margin:0;font-family:Aptos Display,Segoe UI Variable Display,Aptos,sans-serif;font-size:30px;font-weight:800;line-height:1;letter-spacing:0}.time-display{display:flex;flex-direction:column;align-items:flex-start}.time-current{font-size:17px;font-weight:800;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-tz{font-size:10px;color:var(--text-muted);text-transform:uppercase;font-weight:700;letter-spacing:.08em}.login-trigger{display:flex;align-items:center;gap:8px;padding:9px 12px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.login-trigger:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-dropdown{position:relative}.login-dropdown .login-popup{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-lg);z-index:100;min-width:300px}.login-dropdown.open .login-menu,.login-dropdown.open .login-popup{display:block}.login-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.menu-item{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer;transition:background var(--transition-fast)}.menu-item:hover{background:var(--accent-subtle)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-bg)}.menu-item.disabled{color:var(--text-muted);cursor:default}.login-form-mini{gap:8px}.login-form-mini,.user-avatar{display:flex;align-items:center}.user-avatar{width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%),var(--accent);justify-content:center;font-weight:600;font-size:14px;color:#fff;flex-shrink:0}.user-name{font-weight:500;font-size:14px}.dropdown-arrow{font-size:10px;color:var(--text-muted)}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;grid-gap:24px;gap:24px}.left-column{display:flex;flex-direction:column;gap:24px}.right-column{position:-webkit-sticky;position:sticky;top:20px;align-self:start}.workspace{display:flex;flex-direction:column;gap:24px}.booking-panel{position:relative;overflow:clip;background:linear-gradient(180deg,var(--surface),var(--surface)),var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-sm)}.booking-panel h2{margin:0 0 16px;font-size:17px;font-weight:800;letter-spacing:0}.bookings-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(180deg,var(--surface),var(--surface-alt)),var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-sm);max-height:calc(100vh - 40px)}.bookings-panel h2{margin:0 0 16px;font-size:13px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.08em}.bookings-list{display:flex;flex-direction:column;gap:12px;min-height:0;max-height:min(56vh,520px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.bookings-list::-webkit-scrollbar{width:8px}.bookings-list::-webkit-scrollbar-track{background:transparent}.bookings-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.bookings-list::-webkit-scrollbar-thumb:hover{background:var(--accent)}.booking-actions{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-subtle)}.booking-item{padding:13px;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:0 1px 0 color-mix(in srgb,var(--surface-elevated) 78%,transparent) inset}.booking-room{font-weight:600;font-size:14px;color:var(--accent-strong)}.booking-title{font-size:13px;color:var(--text-muted);margin-top:4px}.booking-time{font-size:12px;color:var(--text);font-weight:800;margin-top:4px}.booking-contact{font-size:12px;color:var(--text-subtle);margin-top:4px}.empty-state{text-align:center;padding:20px;color:var(--text-muted);font-size:14px}.rooms-section{gap:20px}.floor-block,.rooms-section{display:flex;flex-direction:column}.floor-block{gap:10px;padding-block:2px 6px}.floor-block h3{margin:0;font-size:11px;font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.12em}.room-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 12px;margin:-8px -4px -10px;scrollbar-width:none}.room-carousel::-webkit-scrollbar{display:none}.room-carousel::scroll-button(left),.room-carousel::scroll-button(right){position:-webkit-sticky;position:sticky;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-elevated);border:1px solid var(--line);box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-muted);transition:all var(--transition-fast);z-index:10;flex-shrink:0}.room-carousel::scroll-button(left):hover,.room-carousel::scroll-button(right):hover{background:var(--accent);color:#fff;border-color:var(--accent)}.room-card{flex:0 0 auto;width:214px;scroll-snap-align:start}.room-card-inner{display:block;width:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,transparent),var(--surface-alt)),var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;cursor:pointer;position:relative;text-align:left;color:var(--text)}.room-card-inner.free:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.room-card-inner.busy{background:rgba(229,73,58,.05);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}.room-card-inner.busy:hover{border-color:rgba(229,73,58,.4);box-shadow:var(--shadow-md);transform:translateY(-2px)}.room-card-inner.selected{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-subtle) 0,var(--surface) 100%);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-md);transform:scale(.95)}.room-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.room-dot.free{background:var(--success)}.room-dot.busy{background:var(--danger);animation:pulse 2s ease-in-out infinite}.room-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line-subtle);margin-bottom:10px}.room-heading{display:flex;align-items:center;justify-content:space-between}.room-title{font-weight:850;font-size:13px;letter-spacing:0}.room-meta{display:flex;gap:8px;margin-top:6px}.room-badge{border:1px solid var(--line-subtle);border-radius:999px;padding:2px 8px;background:color-mix(in srgb,var(--surface) 78%,transparent);font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.room-active-title{margin-top:8px;font-weight:600;font-size:12px;color:var(--danger)}.room-active-time{margin-top:2px;font-size:11px;color:var(--text-muted)}.room-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(0,140,149,.14),rgba(17,27,31,.18)),rgba(10,12,18,.58);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translateZ(0)}.room-schedule{width:min(880px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 24px 80px rgba(0,0,0,.24)}.room-schedule-hero{position:relative;display:grid;grid-template-columns:minmax(180px,280px) 1fr;grid-gap:20px;gap:20px;padding:18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface) 0,var(--surface-alt) 100%)}.room-schedule-image{width:100%;height:180px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line-subtle)}.room-schedule-copy{align-self:center;padding-right:48px}.room-schedule-kicker{width:-moz-fit-content;width:fit-content;margin-bottom:8px;padding:4px 10px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent-strong);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.room-schedule h2{margin:0;font-family:Aptos Display,Segoe UI Variable Display,Aptos,sans-serif;font-size:34px;line-height:1.1;letter-spacing:0}.room-schedule p{margin:10px 0 0;max-width:520px;color:var(--text-muted);font-size:14px}.room-schedule-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.room-schedule-close:hover{color:var(--text);border-color:var(--accent);transform:rotate(90deg)}.room-day-summary{position:relative;z-index:1;display:flex;justify-content:space-between;flex-wrap:wrap;color:var(--text-muted);font-size:13px;font-weight:600}.room-day-summary,.room-day-switcher{gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-subtle);background:var(--surface)}.room-day-switcher{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px}.day-switch-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--text);padding:9px 13px;cursor:pointer;font-size:12px;font-weight:700;transition:all var(--transition-fast)}.day-switch-button:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.day-switch-button:disabled{cursor:not-allowed;color:var(--text-subtle);opacity:.52}.day-switch-current{display:grid;justify-items:center;grid-gap:2px;gap:2px;min-width:0}.day-switch-current strong{font-size:14px}.day-switch-current span{color:var(--text-muted);font-size:12px;text-align:center}.room-timeline{position:relative;z-index:2;overflow:auto;padding:8px 18px 18px}.timeline-slot{display:grid;grid-template-columns:68px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:stretch;padding:10px 0;border-bottom:1px solid var(--line-subtle)}.timeline-slot:last-child{border-bottom:none}.timeline-hour{padding-top:9px;color:var(--text-muted);font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-body{min-height:44px;display:grid;grid-gap:8px;gap:8px;border-left:3px solid var(--success);border-radius:var(--radius-sm);padding:8px 12px;background:var(--success-bg)}.timeline-slot.busy .timeline-body{border-left-color:var(--danger);background:var(--danger-bg)}.timeline-slot.past .timeline-body{border-left-color:var(--line);background:var(--surface-alt)}.timeline-booking{display:grid;grid-gap:2px;gap:2px}.timeline-booking strong{font-size:13px}.timeline-booking small,.timeline-booking span,.timeline-free{color:var(--text-muted);font-size:12px}.timeline-action{align-self:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:9px 13px;cursor:pointer;font-size:12px;font-weight:600;transition:all var(--transition-fast)}.timeline-action:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.timeline-action:disabled{cursor:not-allowed;color:var(--text-subtle);opacity:.55}::view-transition-group(root),::view-transition-image-pair(root),::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-new(selected-room-image),::view-transition-new(selected-room-title),::view-transition-old(selected-room-image),::view-transition-old(selected-room-title){animation-duration:.42s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.guest-panel{display:flex;justify-content:center;align-items:center;padding:40px;flex:1 1}.guest-panel.deep-link-login{flex-direction:column;gap:16px}.login-center-panel{max-width:360px;width:100%;margin:0 auto;text-align:center}.login-center-panel h2{text-align:center}.guest-panel .panel{max-width:400px;width:100%;text-align:center}.room-login-notice{max-width:420px}.qr-page{max-width:1180px}.qr-actions{display:flex;gap:10px;align-items:center}.qr-print-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:18px;gap:18px}.qr-card{display:grid;grid-template-rows:auto auto auto;grid-gap:16px;gap:16px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(circle at 20% 10%,var(--accent-subtle),transparent 36%),var(--surface);box-shadow:var(--shadow-md);page-break-inside:avoid;break-inside:avoid}.qr-card h2{margin:0;font-family:Aptos Display,Segoe UI Variable Display,Aptos,sans-serif;font-size:28px;line-height:1.1}.qr-card p{margin:12px 0 0;color:var(--text-muted);font-size:13px}.qr-code{width:min(100%,260px);aspect-ratio:1;justify-self:center;padding:10px;border:1px solid var(--line-subtle);border-radius:var(--radius-lg);background:#fff}.qr-link{overflow-wrap:anywhere;padding-top:10px;border-top:1px solid var(--line-subtle);color:var(--text-muted);font-family:IBM Plex Mono,SF Mono,Cascadia Mono,Menlo,monospace;font-size:11px;text-align:center}.panel h2,.panel h3{margin:0 0 14px;font-size:16px;font-weight:600}.stack{display:grid;grid-gap:14px;gap:14px}.booking-choice-block{display:grid;grid-gap:12px;gap:12px}.muted{color:var(--text-muted);font-size:14px}.tabs{display:flex;gap:6px;margin-bottom:18px;background:color-mix(in srgb,var(--bg-subtle) 82%,transparent);padding:5px;border:1px solid var(--line-subtle);border-radius:var(--radius-md)}.tab{flex:1 1;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:0;transition:all var(--transition-fast)}.tab.active,.tab:hover{color:var(--text)}.tab.active{background:var(--surface);box-shadow:var(--shadow-sm)}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent-strong) 42%,var(--accent));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-hover) 42%,var(--accent)),var(--accent-strong)),var(--accent);color:#fff;padding:10px 15px;cursor:pointer;font-size:13px;font-weight:850;transition:all var(--transition-fast);box-shadow:inset 0 1px 0 rgba(255,255,255,.24)}.button.full-width{width:100%}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.button.secondary{background:var(--surface-elevated);color:var(--text);border:1px solid var(--line);box-shadow:none}.button.secondary:hover{background:var(--accent-subtle);border-color:var(--accent)}.field{display:grid;grid-gap:6px;gap:6px}.field label,.field>span{font-size:12px;font-weight:850;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:11px 13px;background:var(--surface-elevated);color:var(--text);font-size:14px;transition:all var(--transition-fast)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.grid-2{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-time-picker{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--accent-subtle) 70%,transparent) 52%,transparent 100%),linear-gradient(135deg,var(--surface) 0,var(--surface-alt) 100%);box-shadow:var(--shadow-sm)}.time-picker-head{display:flex;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--line)}.time-picker-kicker{color:var(--accent-strong);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.time-picker-title{margin-top:4px;font-size:18px;font-weight:850;letter-spacing:0}.time-picker-current{align-self:center;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:8px 12px;color:var(--text);font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-picker-controls{display:grid;grid-template-columns:minmax(180px,240px) 1fr;grid-gap:12px;gap:12px;align-items:end;padding:14px 16px 8px}.field.compact{gap:4px}.duration-group{display:flex;flex-wrap:wrap;gap:8px}.duration-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);padding:10px 14px;cursor:pointer;font-size:13px;font-weight:700;transition:all var(--transition-fast)}.duration-chip.active,.duration-chip:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.time-slot-strip{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-marker-group:after;padding:10px 16px 18px;scrollbar-width:none}.time-slot-strip::-webkit-scrollbar{display:none}.time-slot-strip::scroll-button(left),.time-slot-strip::scroll-button(right){width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-muted);cursor:pointer}.time-slot-strip::scroll-button(left){content:"<"/"Предыдущие слоты"}.time-slot-strip::scroll-button(right){content:">"/"Следующие слоты"}.time-slot-strip::scroll-button(left):hover,.time-slot-strip::scroll-button(right):hover{border-color:var(--accent);background:var(--accent);color:#fff}.time-slot{flex:0 0 136px;min-height:82px;scroll-snap-align:start;container-type:scroll-state;display:grid;align-content:center;grid-gap:4px;gap:4px;border:1px solid rgba(43,181,76,.24);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);padding:12px;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.time-slot::scroll-marker{content:"";width:7px;height:7px;border-radius:50%;background:var(--line)}.time-slot::scroll-marker:target-current{background:var(--accent)}.time-slot.selected,.time-slot:hover{border-color:var(--success);box-shadow:0 0 0 3px var(--success-bg),var(--shadow-md);transform:translateY(-2px)}.time-slot:disabled{cursor:not-allowed;opacity:.62;transform:none;box-shadow:none}.time-slot[data-status=busy]{border-color:rgba(229,73,58,.22);background:var(--danger-bg)}.time-slot span{font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-slot small{color:var(--text-muted);font-size:12px}.time-slot-empty{width:100%;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);padding:18px;text-align:center;font-size:13px}@supports (container-type:scroll-state){.time-slot>*{transition:opacity var(--transition-normal),scale var(--transition-normal)}@container not scroll-state(snapped: x){.time-slot>*{opacity:.7;scale:.96}}}.booking-list,.event-list{display:grid;grid-gap:10px;gap:10px}.item{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-alt) 74%,var(--surface))),var(--surface);box-shadow:0 1px 0 color-mix(in srgb,var(--surface-elevated) 82%,transparent) inset}.item-title{font-weight:850;font-size:14px;letter-spacing:0}.item-meta{font-size:13px;color:var(--text-muted);margin-top:4px}.event-meeting-link{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:8px;color:var(--accent-strong);font-size:13px;font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.event-meeting-link:hover{color:var(--accent)}.item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.enhanced-select{-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}.enhanced-select::picker(select){border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:6px;box-shadow:var(--shadow-lg)}.notice{border-radius:var(--radius-md);padding:14px 18px;background:var(--warning-bg);border:1px solid color-mix(in srgb,var(--warning) 26%,var(--line));color:var(--warning);font-size:14px;font-weight:600}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.access-request-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;grid-gap:10px;gap:10px;margin-top:12px}.access-request-status{margin-top:12px}.error{border-radius:var(--radius-md);background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 24%,var(--line));color:var(--danger)}.error,.success{padding:14px 18px;font-size:14px}.success{border-radius:var(--radius-md);background:var(--success-bg);border:1px solid color-mix(in srgb,var(--success) 24%,var(--line));color:var(--success)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin360{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ansiDrift{0%{translate:0 0}50%{translate:0 -10px}to{translate:0 0}}.animate-in{animation:fadeInUp .4s var(--transition-slow) backwards}@media (max-width:1024px){.main-layout{grid-template-columns:1fr}.right-column{position:static}.booking-item{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}}@media (max-width:768px){.page{padding:16px 16px 32px}.top-bar{flex-direction:column;gap:12px;align-items:flex-start}.room-carousel::scroll-button{display:none}.ansi-background pre{font-size:9px}.ansi-background{-webkit-mask:none;mask:none}.room-overlay{padding:12px;align-items:end}.room-schedule{max-height:calc(100vh - 24px);border-radius:var(--radius-xl)}.room-schedule-hero{grid-template-columns:1fr;gap:12px;padding:14px}.room-schedule-image{height:150px}.room-schedule-copy{padding-right:0}.room-day-summary{flex-direction:column;gap:4px}.room-day-switcher{grid-template-columns:1fr}.day-switch-button{width:100%}.timeline-slot{grid-template-columns:56px minmax(0,1fr)}.timeline-action{grid-column:2;justify-self:start}.access-request-form,.grid-2,.time-picker-controls,.time-picker-head{grid-template-columns:1fr}.time-picker-head{flex-direction:column}.time-picker-current{align-self:flex-start}.time-slot{flex-basis:128px}.tabs{flex-wrap:wrap}.tab{flex:none;width:calc(50% - 2px)}.booking-item{grid-template-columns:1fr}.hero-mini h1{font-size:24px}.room-schedule h2{font-size:26px}}@media (max-width:640px){body{background-size:22px 22px,22px 22px,auto}.page{width:100%;padding:12px 10px 24px}.top-bar{width:100%;gap:10px;margin-bottom:12px;padding:8px 0 12px}.hero-mini{display:grid;grid-template-columns:40px minmax(0,1fr) auto;width:100%;grid-gap:10px;gap:10px}.company-logo{width:40px;height:40px}.hero-mini h1{min-width:0;font-size:21px;line-height:1.08}.time-display{align-items:flex-end}.time-current{font-size:14px}.time-tz{font-size:9px}.login-dropdown,.login-trigger{width:100%}.login-trigger{justify-content:space-between}.login-dropdown .login-popup,.login-menu{left:0;right:auto;width:100%;min-width:0}.left-column,.main-layout,.workspace{gap:12px}.guest-panel{padding:12px 0 24px}.guest-panel .panel,.login-center-panel{width:100%;max-width:none;margin:0}.booking-panel,.bookings-panel{padding:14px;border-radius:var(--radius-md)}.booking-panel h2{margin-bottom:12px;font-size:16px}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;margin-bottom:14px;padding:4px}.tab{width:auto;min-height:42px;padding:8px 5px;font-size:11px;line-height:1.15}.stack{gap:12px}.field input,.field select{min-height:46px;font-size:16px}.button{min-height:44px;padding:10px 13px}.item-actions,.notice-actions{display:grid;grid-template-columns:1fr}.item-actions .button,.notice-actions .button{width:100%}.booking-time-picker{border-radius:var(--radius-md)}.time-picker-head{padding:13px}.time-picker-title{font-size:16px}.time-picker-controls{padding:12px 13px 6px}.duration-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.duration-chip{min-width:0;padding:9px 6px;font-size:12px}.time-slot-strip{gap:8px;padding:8px 13px 16px;margin-inline:-1px}.time-slot{flex-basis:118px;min-height:76px;padding:10px}.time-slot span{font-size:17px}.rooms-tab{display:grid;grid-gap:14px;gap:14px}.floor-block{gap:8px}.floor-block .room-carousel{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;overflow:visible;scroll-snap-type:none;padding:0;margin:0}.room-card{width:100%;scroll-snap-align:none}.room-card-inner{display:grid;grid-template-columns:108px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding:10px}.room-image{grid-row:span 3;aspect-ratio:4/3;margin-bottom:0}.room-title{font-size:13px}.room-overlay{padding:0;align-items:stretch}.room-schedule{width:100%;max-height:100dvh;border-radius:0;border-inline:none}.room-schedule-hero{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}.room-schedule-image{height:88px}.room-schedule-copy{min-width:0;padding-right:34px}.room-schedule h2{font-size:20px}.room-schedule p{display:none}.room-schedule-close{top:12px;right:12px;width:32px;height:32px}.room-day-switcher{grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}.day-switch-current{grid-column:1/-1;grid-row:1}.day-switch-button{grid-row:2;min-height:40px;padding:8px 10px}.room-day-summary{padding:10px 12px;font-size:12px}.room-timeline{padding:4px 12px 16px}.timeline-slot{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:8px 0}.timeline-hour{font-size:12px}.timeline-body{padding:8px 10px}.timeline-action{grid-column:2;width:100%;min-height:38px;padding:8px 10px}.bookings-panel{max-height:none}.bookings-list{max-height:min(48vh,420px);padding-right:2px}.booking-actions .button{width:100%}.ansi-background pre{font-size:8px;opacity:.07}}@media (max-width:420px){.hero-mini{grid-template-columns:36px minmax(0,1fr)}.company-logo{width:36px;height:36px}.hero-mini h1{font-size:19px}.time-display{grid-column:1/-1;align-items:flex-start;margin-left:46px}.duration-group{grid-template-columns:repeat(2,minmax(0,1fr))}.tab{font-size:10px}.room-schedule-hero{grid-template-columns:1fr}.room-schedule-image{width:calc(100% - 46px);height:126px}}@media print{:root,[data-theme=dark],[data-theme=light]{--bg:#ffffff;--surface:#ffffff;--text:#111111;--text-muted:#444444;--line:#c9c9c9;--line-subtle:#dddddd;--accent:#111111;--accent-subtle:#f4f4f4;color-scheme:light}html{font-size:100%}body{background:#ffffff}.ansi-background,.no-print{display:none!important}.page.qr-page{max-width:none;min-height:auto;padding:0}.qr-print-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:12mm}.qr-card{min-height:128mm;padding:10mm;border:1px solid #c9c9c9;border-radius:6mm;background:#ffffff;box-shadow:none;page-break-inside:avoid}.qr-card h2{font-size:24pt}.qr-card p,.qr-link{color:#444444}.qr-code{width:64mm}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ansi-background pre{animation:none!important}}.login-settings{padding:12px;border-bottom:1px solid var(--line);margin-bottom:4px}.settings-group{margin-bottom:12px}.settings-group:last-child{margin-bottom:0}.settings-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.settings-options{display:flex;gap:4px}.settings-select{width:100%;padding:8px 12px;background:var(--bg-subtle);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:14px;cursor:pointer}.settings-select:hover{background:var(--accent-subtle)}.settings-input{width:100%;margin-top:8px;padding:8px 12px;background:var(--bg-subtle);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:14px}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-option{flex:1 1;padding:8px 12px;background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);text-align:center;font-weight:800}.settings-option:hover{background:var(--surface-alt)}.settings-option.active,.settings-option:hover{border-color:var(--accent);transform:translateY(-1px)}.settings-option.active{background:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--accent-subtle)}.settings-option:active{transform:translateY(1px) scale(.96)}.theme-options .settings-option{font-size:16px}.background-options .settings-option{font-size:12px;letter-spacing:.04em;text-transform:uppercase}