:root{--surface-0: #0F0D15;--surface-1: #141219;--surface-2: #1C1B23;--surface-3: #25232D;--surface-hover: #2D2B37;--text-primary: #FFFFFF;--text-secondary: #8E8E93;--text-muted: #5A5A5E;--color-accent: #3B55E6;--color-accent-hover: #5E74F6;--color-success: #34C759;--color-warning: #FF9F0A;--color-danger: #FF453A;--timeline-busy-top: rgba(239, 68, 68, .7);--timeline-busy-bottom: rgba(239, 68, 68, .5);--timeline-busy-line: rgba(239, 68, 68, .95);--timeline-busy-divider: rgba(239, 68, 68, .26);--timeline-busy-divider-strong: rgba(239, 68, 68, .4);--timeline-free-fill: rgba(52, 199, 89, .15);--timeline-past-fill: rgba(128, 128, 128, .15);--timeline-mini-past-fill: rgba(80, 80, 80, .25);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 14px;--spacing-lg: 18px;--spacing-xl: 26px;--spacing-2xl: 34px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 50px;--shadow-sm: 0 1px 2px rgba(14, 20, 58, .25);--shadow-md: 0 4px 12px rgba(14, 20, 58, .3);--shadow-lg: 0 8px 24px rgba(14, 20, 58, .4);--transition-fast: .15s ease;--transition-normal: .25s ease;--color-bg: var(--surface-0);--color-panel: var(--surface-1);--color-panel-light: var(--surface-2);--color-panel-hover: var(--surface-hover);--color-text: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--text-tertiary: var(--text-muted);--color-border: var(--border-default);--color-ok: var(--color-success);--color-error: var(--color-danger);--separator: var(--border-subtle);--shadow-accent: var(--shadow-md);--color-accent-light: var(--color-accent-hover);--color-accent-dark: #2A3FB8}.glass{background:#1c1b23a6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html{font-size:var(--font-size-base)}html,body,#root{height:100%;width:100%;overflow:hidden;position:fixed;overscroll-behavior:none;-webkit-overflow-scrolling:touch;background:var(--surface-0);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;letter-spacing:-.01em}#root{position:relative;z-index:1;display:flex;flex-direction:column}.app-container{width:100%;height:100%;max-width:430px;margin:0 auto;background-color:var(--color-bg);overflow:hidden;position:relative;display:flex;flex-direction:column}.app-root{height:100%;width:100%;display:flex;flex-direction:column;padding:var(--spacing-md);padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden;box-sizing:border-box}.page{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.page::-webkit-scrollbar{display:none}.header{background:transparent;border-radius:0;padding:var(--spacing-md) var(--spacing-md);border:none}.header__content{display:flex;flex-direction:column;gap:2px}.header__title{font-size:var(--font-size-2xl);font-weight:700;margin:0;line-height:1.15;letter-spacing:-.5px;color:var(--text-primary)}.header__subtitle{font-size:var(--font-size-xs);color:var(--text-muted);margin:0;line-height:1.4}.content{background:transparent;border-radius:0;padding:var(--spacing-md);border:none;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.content::-webkit-scrollbar{display:none}.content{-ms-overflow-style:none;scrollbar-width:none}.screen{display:flex;flex-direction:column;gap:var(--spacing-xl)}.screen-transition{will-change:transform,opacity}.screen-transition--from-right{animation:screenSlideFromRight .25s ease-out}.screen-transition--from-left{animation:screenSlideFromLeft .25s ease-out}@keyframes screenSlideFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes screenSlideFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section__title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--spacing-xs)}.room-filters{display:flex;align-items:center;gap:var(--spacing-sm);padding:0;flex-shrink:0}.room-filters .filter-chip:not(.filter-chip--reset){min-width:0;flex-shrink:1}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;height:34px;box-sizing:border-box;border-radius:20px;font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;border:1px solid var(--border-default);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.filter-chip:active{transform:scale(.96)}.filter-chip--dropdown{gap:4px}.filter-chip__chevron{opacity:.5;flex-shrink:0}.filter-chip__label{overflow:hidden;text-overflow:ellipsis;max-width:120px}.filter-chip--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.filter-chip--active .filter-chip__chevron{opacity:.8}.filter-chip--reset{border-color:var(--color-danger);color:var(--color-danger);width:34px;height:34px;padding:0;font-size:13px;justify-content:center;flex-shrink:0;border-radius:50%}.filter-chip__dot{width:6px;height:6px;border-radius:50%}.filter-chip__dot--free{background:var(--color-success)}.filter-sheet-overlay{position:fixed;inset:0;background:#0000;z-index:9000;display:flex;align-items:flex-end;transition:background .25s ease}.filter-sheet-overlay--active{background:#00000073}.filter-sheet{width:100%;background:#1c1b23cc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid rgba(255,255,255,.08);padding:8px 16px calc(env(safe-area-inset-bottom,0px) + 16px);transform:translateY(100%);transition:transform .25s cubic-bezier(.25,.46,.45,.94);will-change:transform}.filter-sheet__handle{width:36px;height:4px;border-radius:2px;background:#ffffff26;margin:0 auto 12px}.filter-sheet__title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.filter-sheet__options{display:flex;flex-direction:column;gap:2px}.filter-sheet__option{display:flex;align-items:center;width:100%;padding:12px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;text-align:left}.filter-sheet__option:active{background:#ffffff0d}.filter-sheet__option--active{color:var(--color-accent);font-weight:600;background:#3b55e61f}.capacity-slider{padding:8px 24px 4px}.capacity-slider__value{text-align:center;font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.capacity-slider__track{position:relative;height:40px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.capacity-slider__rail{position:absolute;top:50%;left:0;right:0;height:4px;border-radius:2px;background:#ffffff1a;transform:translateY(-50%)}.capacity-slider__fill{position:absolute;top:50%;left:0;height:4px;border-radius:2px;background:var(--color-accent);transform:translateY(-50%);transition:width .15s ease}.capacity-slider__dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:background .15s ease}.capacity-slider__dot--active{background:var(--color-accent)}.capacity-slider__thumb{position:absolute;top:50%;width:28px;height:28px;border-radius:50%;background:var(--color-accent);box-shadow:0 2px 8px #3b55e666;transform:translate(-50%,-50%);transition:left .15s ease;pointer-events:none}.capacity-slider__labels{position:relative;height:20px;margin-top:4px}.capacity-slider__label{position:absolute;transform:translate(-50%);font-size:12px;color:var(--text-secondary);opacity:.5;transition:all .15s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.capacity-slider__label:first-child{transform:translate(0)}.capacity-slider__label:last-child{transform:translate(-100%)}.capacity-slider__label--active{color:var(--color-accent);opacity:1;font-weight:600}.capacity-slider__done{width:100%;margin-top:16px;padding:12px;border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.capacity-slider__done:active{opacity:.85}.rooms-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@keyframes roomCardIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.room-card{animation:roomCardIn .3s cubic-bezier(.25,.46,.45,.94) both}.room-card:nth-child(1){animation-delay:0ms}.room-card:nth-child(2){animation-delay:40ms}.room-card:nth-child(3){animation-delay:80ms}.room-card:nth-child(4){animation-delay:.12s}.room-card:nth-child(5){animation-delay:.16s}.room-card:nth-child(6){animation-delay:.2s}.room-card:nth-child(7){animation-delay:.24s}.room-card:nth-child(8){animation-delay:.28s}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-state{animation:fadeSlideIn .35s ease-out both}.room-card{background:var(--surface-2);border-radius:28px;padding:0;border:none;display:flex;flex-direction:column;transition:all var(--transition-fast);position:relative;overflow:hidden;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 28px #0e143a38}.room-card:hover{background:var(--surface-hover)}.room-card:active{transform:scale(.98);background:var(--surface-hover)}.room-card__name{font-size:var(--font-size-base);font-weight:600;color:#fff;letter-spacing:-.2px;margin:0;line-height:1.3}.room-card__caption{position:absolute;bottom:var(--spacing-sm);left:var(--spacing-sm);right:var(--spacing-sm);z-index:2;display:flex;align-items:flex-end;gap:6px}.room-card__caption-pill{padding:7px 11px;border-radius:10px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:1;min-width:0;max-width:70%}.room-card__caption-pill .room-card__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card__caption-location{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.room-card__caption-location{display:flex;align-items:center;gap:4px;margin-top:3px}.room-card__caption-location svg{color:#fff9;flex-shrink:0}.room-card__caption-sep{color:#ffffff4d}.room-card__caption-equipment{display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:4px;flex:1;min-width:0}.room-card__caption-eq-chip{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffbf}.room-card__caption-eq-chip svg{opacity:.7;flex-shrink:0}.room-card__status{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:2;display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0}.room-card__status--free{background:#00000073;color:var(--color-success);border:none}.room-card__status--busy{background:#00000073;color:var(--color-danger);border:none}.room-card__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.room-card__status-text{line-height:1}.room-card__caption-location span{font-size:var(--font-size-xs);color:#ffffffb3;white-space:nowrap}.room-card__caption-location svg{color:#ffffffb3;opacity:.7;flex-shrink:0}.room-card__info{display:none}.room-card__info-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary)}.room-card__info-item svg{color:var(--text-muted)}.room-card__info-item--equipment{flex:1;min-width:0}.room-card__info-item--equipment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card__info-divider{width:1px;height:20px;background:var(--border-subtle);margin:0 var(--spacing-md)}.room-card__actions{display:flex;flex-direction:column;padding:20px var(--spacing-md) 6px;gap:0;position:relative}.room-card__arrow{display:none}.room-card__mini-timeline{flex:1 1 auto;min-width:120px;width:100%;margin-right:0;max-width:none;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;height:100%}.room-card__mini-timeline__wrapper{position:relative;padding:4px 0}.room-card__mini-timeline__wrapper--has-current-time:before{content:"";position:absolute;top:4px;left:var(--current-time-position, 0%);right:0;bottom:4px;border-radius:0 5px 5px 0;border:2px solid rgba(52,199,89,.4);border-left:none;border-top:2px solid rgba(52,199,89,.4);border-bottom:2px solid rgba(52,199,89,.4);pointer-events:none;z-index:2}.room-card__mini-timeline__wrapper--has-current-time:after{content:"";position:absolute;top:4px;left:-2px;width:calc(var(--current-time-position, 0%) + 2px);bottom:4px;border-radius:5px 0 0 5px;border:2px solid rgba(100,100,100,.4);border-right:none;border-top:2px solid rgba(100,100,100,.4);border-bottom:2px solid rgba(100,100,100,.4);pointer-events:none;z-index:2}.room-card__mini-timeline__track{position:relative;height:10px;min-height:10px;background:var(--timeline-free-fill);border-radius:5px;border:2px solid rgba(52,199,89,.4);overflow:hidden;display:flex;width:100%;box-shadow:0 1px 2px #0000000d}.room-card__mini-timeline__track--has-current-time{border:none;position:relative;background:linear-gradient(to right,var(--timeline-past-fill) 0%,var(--timeline-past-fill) var(--current-time-position, 0%),var(--timeline-free-fill) var(--current-time-position, 0%),var(--timeline-free-fill) 100%)}.room-card__mini-timeline__track--has-current-time:before{content:"";position:absolute;top:-2px;left:var(--current-time-position, 0%);right:-2px;bottom:-2px;border-radius:0 5px 5px 0;border:2px solid rgba(52,199,89,.4);border-left:none;pointer-events:none;z-index:3}.room-card__mini-timeline__track--has-current-time:after{content:"";position:absolute;top:-2px;left:-2px;width:calc(var(--current-time-position, 0%) + 2px);bottom:-2px;border-radius:5px 0 0 5px;border:2px solid rgba(100,100,100,.4);border-right:none;pointer-events:none;z-index:3}.room-card__mini-timeline__slot{flex:1;height:100%;position:relative}.room-card__mini-timeline__slot:not(.room-card__mini-timeline__slot--no-divider):not(.room-card__mini-timeline__slot--hour-start){border-right:1px solid rgba(52,199,89,.2)}.room-card__mini-timeline__slot--past:not(.room-card__mini-timeline__slot--no-divider):not(.room-card__mini-timeline__slot--hour-start){border-right:1px solid rgba(100,100,100,.3)!important}.room-card__mini-timeline__slot--hour-start{border-right:2px solid rgba(34,160,69,.6)!important}.room-card__mini-timeline__slot--no-divider:not(.room-card__mini-timeline__slot--hour-start){border-right:none!important}.room-card__mini-timeline__slot--occupied{background:linear-gradient(180deg,var(--timeline-busy-top) 0%,var(--timeline-busy-bottom) 100%)}.room-card__mini-timeline__slot--occupied:after{content:none}.room-card__mini-timeline__slot--occupied:not(.room-card__mini-timeline__slot--no-divider):not(.room-card__mini-timeline__slot--hour-start){border-right-color:var(--timeline-busy-divider)}.room-card__mini-timeline__slot--occupied.room-card__mini-timeline__slot--hour-start{border-right-color:var(--timeline-busy-divider-strong)!important}.room-card__mini-timeline__slot--intersecting.room-card__mini-timeline__slot--occupied{position:relative;background:linear-gradient(to right,transparent 0%,transparent var(--past-percent, 0%),var(--timeline-busy-top) var(--past-percent, 0%),var(--timeline-busy-bottom) 100%)!important}.room-card__mini-timeline__slot--intersecting.room-card__mini-timeline__slot--occupied:after{background:linear-gradient(to right,transparent 0%,transparent var(--past-percent, 0%),var(--timeline-busy-line) var(--past-percent, 0%),var(--timeline-busy-line) 100%)!important}.room-card__mini-timeline__slot--past{background:transparent!important}.room-card__mini-timeline__slot--past.room-card__mini-timeline__slot--occupied{background:linear-gradient(180deg,#64646499,#50505080)!important}.room-card__mini-timeline__slot--past.room-card__mini-timeline__slot--hour-start{border-right-color:#64646499!important}.room-card__mini-timeline__slot--past.room-card__mini-timeline__slot--occupied:after{background:#64646499!important}.room-card__mini-timeline__current-time{position:absolute;top:-4px;bottom:-4px;width:2px;background:#007aff;z-index:10;pointer-events:none;box-shadow:0 0 3px #007aff99}.room-card__mini-timeline__current-time:before{content:"";position:absolute;top:0;left:-2px;width:5px;height:5px;background:#007aff;border-radius:50%;box-shadow:0 0 4px #007affcc}.room-card__mini-timeline__labels{display:block;margin-top:1px;padding:0;position:relative;height:12px;width:100%;flex-shrink:0}.room-card__mini-timeline__label{font-size:10px;color:var(--text-muted);text-align:center;position:absolute;white-space:nowrap}.room-card__mini-timeline__label:nth-child(1){left:0%;transform:translate(0);text-align:left}.room-card__mini-timeline__label:nth-child(2){left:calc((7 + 1) / 48 * 100%);transform:translate(-50%)}.room-card__mini-timeline__label:nth-child(3){left:calc((15 + 1) / 48 * 100%);transform:translate(-50%)}.room-card__mini-timeline__label:nth-child(4){left:50%;transform:translate(-50%)}.room-card__mini-timeline__label:nth-child(5){left:calc((31 + 1) / 48 * 100%);transform:translate(-50%)}.room-card__mini-timeline__label:nth-child(6){left:calc((39 + 1) / 48 * 100%);transform:translate(-50%)}.room-card__mini-timeline__label:nth-child(7){left:100%;transform:translate(-100%);text-align:right}.room-card__schedule{padding:var(--spacing-sm) 0}.room-card__schedule-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--spacing-sm)}.room-card__schedule--empty{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic;display:flex;align-items:center;padding:var(--spacing-md);background:#34c7591a;border-radius:var(--radius-sm);border:1px dashed rgba(52,199,89,.3)}.schedule-row{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-top:1px solid var(--separator)}.schedule-row:first-child{border-top:none;padding-top:0}.schedule-row__time{font-size:var(--font-size-xs);color:var(--text-muted)}.schedule-row__title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.schedule-row__status{font-size:var(--font-size-xs);padding:3px 8px;border-radius:6px;display:inline-block;width:fit-content}.status-pending{color:var(--color-warning);background:#ff9f0a26;border:1px solid rgba(255,159,10,.3)}.status-approved{color:var(--color-ok);background:#34c75926;border:1px solid rgba(52,199,89,.3)}.status-rejected{color:var(--color-danger);background:#ff453a26;border:1px solid rgba(255,69,58,.3)}.status-cancelled{color:var(--text-muted);background:#8e8e9326;border:1px solid rgba(142,142,147,.3)}.btn{padding:12px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-3);color:var(--text-primary);cursor:pointer;font-weight:500;font-size:var(--font-size-sm);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-default)}.btn:active:not(:disabled){transform:scale(.98)}.admin-panel-modal .btn:active:not(:disabled),.admin-screen .btn:active:not(:disabled){transform:none}@media(hover:none)and (pointer:coarse){.btn:hover:not(:disabled):not(:focus-visible){background:var(--surface-3);border-color:var(--border-default)}.btn--primary:hover:not(:disabled):not(:focus-visible){background:var(--color-accent);border-color:var(--color-accent)}.btn--secondary:hover:not(:disabled):not(:focus-visible){background:var(--surface-2);border-color:var(--border-subtle)}.btn--outline:hover:not(:disabled):not(:focus-visible){background:transparent;border-color:var(--border-default)}.btn--ok:hover:not(:disabled):not(:focus-visible){background:var(--color-success);border-color:var(--color-success)}.btn--danger:hover:not(:disabled):not(:focus-visible){background:transparent;border-color:var(--color-danger)}}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600;padding:14px 24px;box-shadow:0 4px 16px #334cdb59}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 4px 20px #334cdb73}.btn--primary:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 8px #334cdb4d}.btn--sm{padding:8px 12px;font-size:var(--font-size-xs)}.btn--ok{background:var(--color-success);border-color:var(--color-success);color:#fff}.btn--ok:hover:not(:disabled){background:#16a34a;border-color:#16a34a}.btn--secondary{background:var(--surface-2);border-color:var(--border-subtle);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-default)}.btn--outline{background:transparent;border-color:var(--border-default);color:var(--text-primary)}.btn--outline:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-default)}.btn--danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.btn--booking{white-space:nowrap}.nav-capsule-wrapper{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 var(--spacing-lg) calc(var(--spacing-lg) + env(safe-area-inset-bottom,12px));z-index:1000;pointer-events:none;background:transparent;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;transform:translateY(0);opacity:1}.nav-capsule-wrapper--visible{transform:translateY(0)!important;opacity:1!important}.nav-capsule-wrapper--hidden{transform:translateY(calc(100% + 20px))!important;opacity:0!important;pointer-events:none!important}.nav-capsule{display:flex;align-items:stretch;background:linear-gradient(180deg,#ffffff0a,#ffffff03,#ffffff05),#0a0a0ea6;-webkit-backdrop-filter:blur(32px) saturate(180%);backdrop-filter:blur(32px) saturate(180%);border-radius:40px;padding:8px;box-shadow:0 6px 24px #00000040,0 1px 3px #0000001f,inset 0 .5px #ffffff1a,inset 0 -.5px #ffffff08;border:.5px solid rgba(255,255,255,.08);pointer-events:all;position:relative;overflow:hidden;min-width:160px;max-width:200px;width:auto}.nav-capsule__slider{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);background:#334cdbd9;border-radius:32px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);z-index:0;box-shadow:0 2px 12px #334cdb59,inset 0 1px #ffffff26;box-sizing:border-box}.nav-capsule__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:10px 0;background:transparent;border:none;cursor:pointer;position:relative;z-index:1;color:var(--text-muted);transition:color .25s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-sizing:border-box}.nav-capsule__item:hover:not(.is-active){color:var(--text-secondary)}.nav-capsule__item:active{transform:scale(.95)}.nav-capsule__item.is-active{color:var(--text-primary)}.nav-capsule__icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:22px;flex-shrink:0}.nav-capsule__icon{width:22px;height:22px;stroke-width:2;transition:transform .2s ease;display:block;flex-shrink:0}.nav-capsule__item.is-active .nav-capsule__icon{transform:scale(1.05)}.nav-capsule__label{display:none}.nav__label{font-size:var(--font-size-xs);letter-spacing:.2px}.nav__badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger);color:#fff;border-radius:8px;font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;justify-content:center}.liquid-glass{position:relative}.liquid-glass--bend,.liquid-glass--face,.liquid-glass--edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.liquid-glass__content{position:relative;z-index:1}.profile-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:0;border:none;position:relative;overflow:hidden}.profile-card__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);position:relative;z-index:1}.profile-card__avatar{width:72px;height:72px;border-radius:50%;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;border:2.5px solid var(--color-accent);box-shadow:0 0 16px #3b55e64d,0 0 4px #3b55e626;padding:2px}.profile-card__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-card__avatar-fallback{width:100%;height:100%;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:600;color:var(--text-secondary)}.profile-card__avatar-ring{display:none}.profile-card__main-info{flex:1;min-width:0}.profile-card__name{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);letter-spacing:-.3px;margin:0 0 var(--spacing-xs) 0;line-height:1.3}.profile-card__role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#ffffff14;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary)}.profile-card__role-badge--manager{background:#4f6ef726;color:var(--color-accent)}.profile-card__role-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.profile-card__header-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0}.profile-card__action-btn{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);position:relative}.profile-card__action-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.profile-card__action-btn:active{transform:scale(.95)}.profile-card__action-btn--notifications .notifications-button__badge,.profile-card__action-btn .notifications-button__badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:var(--color-danger);color:#fff;border-radius:8px;font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface-2)}.profile-card__details{display:flex;flex-direction:column;gap:0;padding:0 var(--spacing-lg) var(--spacing-lg);margin-top:2px;border-top:1px solid var(--border-subtle)}.profile-card__detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border-subtle);gap:var(--spacing-md)}.profile-card__detail-row:last-child{border-bottom:none}.profile-card__detail-label{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.profile-card__detail-value{font-size:var(--font-size-sm);color:var(--text-primary);text-align:right;word-break:break-word}.profile-card__settings{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--border-subtle);margin-top:var(--spacing-sm)}.profile-card__setting-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--surface-3);border-radius:var(--radius-md)}.profile-card__setting-info{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.profile-card__setting-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent)}.profile-card__setting-text{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-card__setting-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.profile-card__setting-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.profile-card__toggle{width:48px;height:28px;background:var(--surface-2);border:none;border-radius:14px;position:relative;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.profile-card__toggle:hover{background:var(--surface-hover)}.profile-card__toggle--active{background:var(--color-accent)}.profile-card__toggle--active:hover{background:var(--color-accent-hover)}.profile-card__toggle-slider{position:absolute;top:3px;left:3px;width:22px;height:22px;background:var(--text-primary);border-radius:50%;transition:transform var(--transition-fast)}.profile-card__toggle--active .profile-card__toggle-slider{transform:translate(20px)}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:0;border:none;display:flex;flex-direction:column;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.booking-card__image{position:relative;height:100px;background-size:cover;background-position:center;flex-shrink:0}.booking-card__image-top{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:2;display:flex;align-items:center;gap:6px}.booking-card__image-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:none;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.booking-card__image-close:active{opacity:.7}.booking-card__image-badge{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.booking-card__image-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.booking-card__image-badge--approved{color:var(--color-success)}.booking-card__image-badge--pending{color:var(--color-warning)}.booking-card__image-badge--rejected{color:var(--color-danger)}.booking-card__image-badge--cancelled{color:var(--text-muted)}.booking-card__image-caption{position:absolute;bottom:var(--spacing-sm);left:var(--spacing-sm);z-index:2;padding:5px 9px;border-radius:8px;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.booking-card__image-name{font-size:var(--font-size-base);font-weight:600;color:#fff;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-card__image-location{display:flex;align-items:center;gap:5px;font-size:var(--font-size-xs);color:#ffffffb3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-card__image-location svg{opacity:.7;flex-shrink:0}.booking-card__content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-card__info-block{background:var(--surface-3);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin:0}.booking-card__title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);flex:1;min-width:0}.booking-card__time-compact{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.booking-card__time-compact svg{color:var(--text-muted);flex-shrink:0}.booking-card__info-divider{height:1px;background:var(--border-subtle);margin:2px 0}.booking-card__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.booking-card__meta-item{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary)}.booking-card__meta-item svg{color:var(--text-muted);flex-shrink:0}.booking-card__meta-item--success{color:var(--color-success);background:#22c55e1a}.booking-card__meta-item--success svg{color:var(--color-success)}.booking-card__meta-dot{display:none}.booking-card__meta-sep{color:var(--text-muted);font-size:var(--font-size-sm)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;flex-shrink:0;height:24px;box-sizing:border-box}.status-badge__icon{font-size:10px}.booking-card .status-badge,.status-pending .status-badge{background:#f59e0b26;color:var(--color-warning)}.status-approved .status-badge{background:#22c55e26;color:var(--color-success)}.status-rejected .status-badge{background:#ef444426;color:var(--color-danger)}.status-cancelled .status-badge{background:var(--surface-3);color:var(--text-muted)}.booking-card__details{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:0}.booking-card__detail-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.booking-card__detail-row svg{flex-shrink:0;color:var(--text-muted);margin-top:2px}.booking-card__rejection-reason{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#ef444414;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-card__rejection-reason-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);opacity:.9}.booking-card__rejection-reason-label svg{flex-shrink:0;opacity:.8}.booking-card__rejection-reason-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;padding-left:18px}.booking-card__calendar-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity var(--transition-fast)}.booking-card__calendar-btn:active{opacity:.8}.booking-card__edit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.booking-card__edit-btn:active{opacity:.7}.booking-card__participants-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.booking-card__participant{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;padding:3px 8px;border-radius:6px;background:var(--surface-2, rgba(255,255,255,.04))}.booking-card__participant-badge{font-size:.75rem;padding:1px 6px;border-radius:8px;display:inline-flex;align-items:center;gap:3px}.participant-status--pending .booking-card__participant-badge{color:var(--color-warning, #f0a500);background:#f0a50026}.participant-status--confirmed .booking-card__participant-badge{color:var(--color-success, #4caf50);background:#4caf5026}.participant-status--declined .booking-card__participant-badge{color:var(--color-danger, #f44336);background:#f4433626}.booking-card__participation-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color, rgba(255,255,255,.08))}.booking-card__participation-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px}.booking-card__participation-status{margin-top:var(--spacing-sm);padding:6px 10px;border-radius:8px;font-size:.82rem;text-align:center}.participation-status--confirmed{color:var(--color-success, #4caf50);background:#4caf501a}.participation-status--declined{color:var(--text-muted);background:#ffffff0a}.booking-card--invitation{border-left:3px solid var(--color-accent)}.section-title--invitations{display:flex;align-items:center;gap:var(--spacing-sm)}.invitation-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:var(--font-size-xs);font-weight:600;background:var(--color-accent);color:#fff}.booking-card__close{height:24px;width:24px;border-radius:6px;border:none;background:transparent;color:var(--color-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.7;box-sizing:border-box;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.booking-card__close:hover{background:#4f6ef726;opacity:1}.booking-card__close:active{background:#4f6ef740;transform:scale(.95);opacity:1}.booking-card__edit{height:24px;width:24px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.7;flex-shrink:0;-webkit-tap-highlight-color:transparent}.booking-card__edit:active{background:#ffffff1a;transform:scale(.95);opacity:1}.booking-card__status{font-size:var(--font-size-xs);padding:4px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;width:fit-content}.booking-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#0a0a1e8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-lg);animation:fadeIn .2s ease;overflow:hidden;overscroll-behavior:contain;touch-action:none}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.modal-backdrop{background:#000c}}.modal{width:100%;max-width:400px;max-height:85vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#1c1b23d9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:28px;padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 48px #0e143a59;touch-action:pan-y;position:relative}.modal__title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg);color:var(--text-primary);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-subtle)}.modal__body,.modal__content{display:flex;flex-direction:column;gap:var(--spacing-md)}.modal__subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-lg)}.modal__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-edit-fields{display:flex;flex-direction:column;gap:12px}.profile-edit-field{display:flex;flex-direction:column;gap:4px}.profile-edit-field__label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);padding-left:2px}.profile-edit-field__input{width:100%;padding:13px 16px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-3);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none}.profile-edit-field__input::placeholder{color:var(--text-muted)}.profile-edit-field__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #3b55e626}.profile-edit-field:focus-within .profile-edit-field__label{color:var(--color-accent)}.profile-edit-field__req{color:var(--color-danger);font-weight:600}.modal__section{padding:var(--spacing-md);background:var(--surface-3);border-radius:var(--radius-sm)}.modal__section-title{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.modal__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-subtle)}.modal__actions .btn{flex:1}.modal__header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-subtle)}.modal__header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.modal__footer{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-subtle);flex-wrap:wrap}.modal__footer .btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);white-space:nowrap}.modal__footer .btn svg{flex-shrink:0}.field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field__label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.field__required{color:var(--color-danger);display:inline-block;transition:opacity .25s ease,transform .25s ease;opacity:1;transform:scale(1)}.field__required--hidden{opacity:0;transform:scale(0)}.field__input{width:100%;max-width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:all var(--transition-fast);box-sizing:border-box}.field__input:hover{border-color:var(--border-default)}.field__input:focus{border-color:var(--text-muted);background:var(--surface-hover)}.field__input::placeholder{color:var(--text-muted)}.field__textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;resize:vertical;min-height:60px;transition:all var(--transition-fast);box-sizing:border-box}.field__textarea:focus{border-color:var(--text-muted);background:var(--surface-hover)}.field__textarea::placeholder{color:var(--text-muted)}select.field__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}select.field__input:disabled{opacity:.5;cursor:not-allowed}select.field__input option{background:var(--color-panel);color:var(--text-primary);padding:8px}.field__input--error{border-color:var(--color-danger)}.field__input--error:focus{box-shadow:0 0 0 3px #ff453a33}.field__input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;cursor:pointer;color-scheme:dark}.field__input[type=date],.field__input[type=time]{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden}.field__input[type=date]::-webkit-datetime-edit,.field__input[type=time]::-webkit-datetime-edit{width:100%;min-width:0;overflow:hidden}.field__input[type=date]::-webkit-datetime-edit-fields-wrapper,.field__input[type=time]::-webkit-datetime-edit-fields-wrapper{width:100%;min-width:0;overflow:hidden}.field__input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;filter:invert(1);opacity:.6}.field__input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;cursor:pointer;color-scheme:dark}.field__input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;padding:4px;margin-left:8px}.field__input[type=time]::-webkit-datetime-edit{color:var(--text-primary)}.field__input[type=time]::-webkit-datetime-edit-fields-wrapper{display:flex;align-items:center}.field__input[type=time]::-webkit-datetime-edit-hour-field,.field__input[type=time]::-webkit-datetime-edit-minute-field{padding:2px 4px;color:var(--text-primary)}.field__error{font-size:var(--font-size-xs);color:var(--color-danger);display:flex;align-items:center;gap:4px}.field__error:before{content:"⚠"}.moderation-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--separator);overflow-x:auto;scrollbar-width:none}.moderation-tabs::-webkit-scrollbar{display:none}.moderation-tab{padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.moderation-tab:hover{color:var(--text-primary)}.moderation-tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.moderation-badge{min-width:20px;height:20px;padding:0 6px;background:var(--color-danger);color:#fff;border-radius:10px;font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;justify-content:center}.moderation-filter{margin-bottom:var(--spacing-md)}.moderation-filter__input{width:100%;font-size:.9rem}.moderation-item{padding:var(--spacing-lg);background:var(--surface-2);border:none;border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.moderation-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.moderation-item__title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);flex:1;min-width:0;word-break:break-word}.moderation-item__status{font-size:var(--font-size-xs);padding:4px 8px;border-radius:var(--radius-sm);background:#ff9f0a26;flex-shrink:0;white-space:nowrap;color:var(--color-warning)}.moderation-item__content{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-md)}.moderation-item__row{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.moderation-item__row:last-child{margin-bottom:0}.moderation-item__row svg{flex-shrink:0;opacity:.7;margin-top:2px}.moderation-item__actions{display:flex;gap:var(--spacing-sm)}.notifications-dropdown{padding:0;display:flex;flex-direction:column;width:90vw;max-width:420px;min-height:200px;max-height:min(80vh,600px);animation:notificationModalSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes notificationModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notifications-dropdown__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--separator);flex-shrink:0}.notifications-dropdown__title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.notifications-dropdown__header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.notifications-dropdown__action-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.notifications-dropdown__action-btn:hover{background:var(--surface-3);color:var(--text-primary)}.notifications-dropdown__action-btn:active{transform:scale(.9)}.notifications-dropdown__close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.notifications-dropdown__close:hover{background:var(--surface-3);color:var(--text-primary)}.notifications-dropdown__close:active{transform:scale(.9)}.notifications-dropdown__content{overflow-y:auto;overflow-x:hidden;flex:1;padding:var(--spacing-md);min-height:0}.notifications-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.notification-item{padding:var(--spacing-md);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);position:relative;transition:all var(--transition-fast);animation:notificationItemFadeIn .4s cubic-bezier(.16,1,.3,1) both;opacity:0}.notification-item--animate{animation:notificationItemFadeIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes notificationItemFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.notification-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.notification-item:hover{background:var(--surface-hover);border-color:var(--border-default);transform:translateY(-1px)}.notification-item:active{background:var(--surface-hover);transform:translateY(0)}.notification-item--read{opacity:.65}.notification-item--read:hover,.notification-item--read:active{opacity:.85}.notification-item__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.notification-item__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);line-height:1.4}.notification-item__message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;word-wrap:break-word}.notification-item__time{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.notification-item__delete{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;opacity:.6}.notification-item:hover .notification-item__delete{opacity:1}.notification-item__delete:hover{background:#ff453a26;color:var(--color-danger)}.notification-item__delete:active{transform:scale(.9)}.toast-container{position:fixed;top:max(var(--spacing-lg),env(safe-area-inset-top,0px));left:var(--spacing-lg);right:var(--spacing-lg);z-index:10500;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:380px;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--surface-2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:0 8px 32px #0006,0 2px 8px #0003;pointer-events:all;animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transition:all .2s ease}.toast:hover{transform:translateY(-1px);box-shadow:0 12px 40px #00000073,0 4px 12px #00000040}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor;opacity:.9}.toast--success{color:var(--color-ok);background:linear-gradient(135deg,rgba(52,199,89,.12) 0%,var(--surface-2) 100%)}.toast--error{color:var(--color-danger);background:linear-gradient(135deg,rgba(255,69,58,.12) 0%,var(--surface-2) 100%)}.toast--info{color:var(--color-accent);background:linear-gradient(135deg,rgba(0,122,255,.12) 0%,var(--surface-2) 100%)}.toast__icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.9}.toast__icon svg{width:100%;height:100%}.toast__message{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);line-height:1.4}.toast__close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:all .2s ease;flex-shrink:0;opacity:.6}.toast__close:hover{background:#ffffff14;color:var(--text-primary);opacity:1}.toast__close:active{transform:scale(.9)}.toast__close svg{width:14px;height:14px}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--text-muted)}.spinner{width:24px;height:24px;border:2px solid rgba(59,85,230,.25);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner--inline{display:inline-block;width:16px;height:16px;margin-right:var(--spacing-xs);vertical-align:middle}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-state__icon{font-size:48px;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state__text{color:var(--text-muted);font-size:var(--font-size-base)}.skeleton{background:linear-gradient(90deg,#3b55e60a,#5e74f61a,#3b55e60a);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.alert{padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.alert--error{background:#ff453a26;border:1px solid rgba(255,69,58,.3);color:var(--color-danger)}.alert--ok{background:#34c75926;border:1px solid rgba(52,199,89,.3);color:var(--color-ok)}.access-check-screen,.access-denied-screen{position:fixed;inset:0;background:#0f0d15;background:var(--color-bg, #0F0D15);display:flex;align-items:center;justify-content:center;z-index:10000}.access-check-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg, 16px);color:#8e8e93;color:var(--text-muted, #8E8E93);font-size:16px}.access-check-content .spinner{width:40px;height:40px;border-width:3px}.access-denied-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);text-align:center;padding:var(--spacing-2xl);max-width:350px}.access-denied-icon{font-size:64px;opacity:.7}.access-denied-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary)}.access-denied-message{font-size:var(--font-size-base);color:var(--text-muted);line-height:1.5}.onboarding{position:fixed;inset:0;background:var(--surface-0);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-xl)}.onboarding__card{width:100%;max-width:400px;animation:fadeIn .4s ease-out}.onboarding__step{display:flex;flex-direction:column;gap:var(--spacing-lg)}.onboarding__step--welcome,.onboarding__step--waiting{align-items:center;text-align:center}.onboarding__icon{margin-bottom:var(--spacing-sm)}.onboarding__title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.onboarding__desc{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.5}.onboarding__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.onboarding__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.onboarding__label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.onboarding__input{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--font-size-base);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.onboarding__input:focus{border-color:var(--color-accent)}.onboarding__input::placeholder{color:var(--text-muted)}.onboarding__btn{margin-top:var(--spacing-sm);width:100%;padding:14px;font-size:var(--font-size-base);border-radius:var(--radius-pill)}.timeline-container{margin:var(--spacing-md) 0}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.timeline-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.timeline-subtitle{font-size:var(--font-size-xs);color:var(--text-muted)}.timeline{position:relative;padding:var(--spacing-md) 0}.timeline__track{position:relative;height:48px;background:#34c7590f;border-radius:var(--radius-md);border:1px solid rgba(52,199,89,.15);overflow:hidden;display:flex}.timeline__slot{flex:1;height:100%;border-right:1px solid var(--border-subtle);transition:background .15s ease;position:relative}.timeline__slot:last-child{border-right:none}.timeline__slot--hour-start{border-right:1px solid var(--border-default)}.timeline__slot--occupied{background:linear-gradient(180deg,#f8717180,#f871714d)}.timeline__slot--occupied:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#f87171}.timeline__grid{position:absolute;inset:0;display:flex}.timeline__hour-block{flex:1;border-right:1px solid var(--border-subtle);position:relative}.timeline__hour-block:last-child{border-right:none}.timeline__hour-block--occupied{background:linear-gradient(180deg,#f8717166,#f8717133)}.timeline__hour-block--occupied:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#f87171}.timeline__segment{position:absolute;top:0;bottom:0;background:linear-gradient(180deg,#f8717180,#f871714d);border-left:2px solid #f87171;border-right:2px solid #f87171;z-index:2}.timeline__segment:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#f87171}.timeline__labels{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);padding:0 2px}.timeline__label{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;width:24px;margin-left:-12px}.timeline__label:first-child{margin-left:0;text-align:left}.timeline__label:last-child{margin-left:-24px;text-align:right}.timeline-legend{display:flex;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.timeline-legend__item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary)}.timeline-legend__dot{width:12px;height:12px;border-radius:3px}.timeline-legend__dot--free{background:#34c7594d;border:1px solid rgba(52,199,89,.5)}.timeline-legend__dot--busy{background:#f8717166;border:1px solid rgba(248,113,113,.6)}.timeline-bookings{margin-top:var(--spacing-lg)}.timeline-bookings__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.timeline-bookings__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timeline-booking-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#f871711a;border-radius:var(--radius-sm);border-left:3px solid #f87171}.timeline-booking-item__time{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap}.timeline-booking-item__title{font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.timeline-empty__icon{font-size:32px;margin-bottom:var(--spacing-sm);opacity:.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideIn{0%{transform:translate(-120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in,.animate-fade-in-up{animation:fadeIn .4s ease forwards}.muted{color:var(--text-muted);font-size:var(--font-size-sm)}.content::-webkit-scrollbar{width:4px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:2px}button:focus-visible,input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:#3b55e659;color:var(--text-primary)}@media(max-width:480px){.app-root{padding:var(--spacing-sm);padding-bottom:env(safe-area-inset-bottom,0px)}.header{padding:var(--spacing-lg)}.content{padding:var(--spacing-md)}.modal{max-width:calc(100vw - 32px);padding:var(--spacing-lg)}.nav-capsule__item{padding:8px 16px}.nav-capsule{min-width:180px}.notifications-dropdown{max-width:calc(100vw - 32px)}.toast-container{max-width:calc(100vw - 36px)}}@media(max-width:360px){.filter-chip__label{max-width:70px}.modal{padding:var(--spacing-md)}}.nav__indicator{position:absolute;bottom:26px;left:0;width:24px;height:2px;background-color:var(--color-accent);border-radius:1px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);will-change:transform}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-slide-up{animation:slideUp .5s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.touch-active{transform:scale(.97);opacity:.9}.stat-card--action.touch-active,.stat-card--action.touch-active *,.stat-card--clickable.touch-active,.stat-card--clickable.touch-active *,.stat-card--clickable.touch-active:after,.admin-panel-button.touch-active,.admin-panel-button.touch-active *,.admin-panel-button.touch-active:after,.admin-section__back.touch-active,.admin-panel-header__close.touch-active,.filter-btn.touch-active,.admin-tab.touch-active,.admin-panel-modal .btn.touch-active,.admin-screen .btn.touch-active{transform:none!important;opacity:1}.room-card:active,.booking-item:active{transform:scale(.97);transition:transform .1s ease}button:not(.admin-panel-button):not(.admin-section__back):not(.admin-panel-header__close):not(.filter-btn):not(.stat-card--clickable):not(.stat-card--action):not(.admin-tab):not(.btn):active{transform:scale(.97);transition:transform .1s ease}.swiping *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.scroll-zone{touch-action:pan-x;overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-zone::-webkit-scrollbar{display:none}.app-container{width:100%;height:100%;background-color:var(--color-bg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.admin-panel-button{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-lg);margin:var(--spacing-lg) 0;background:linear-gradient(135deg,#4f6ef726,#4f6ef70d);border:1px solid rgba(59,85,230,.35);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.admin-panel-button:after{content:"";position:absolute;inset:0;pointer-events:none;transition:transform .2s ease;z-index:0}.admin-panel-button:hover{background:linear-gradient(135deg,#4f6ef740,#3b55e61f);border-color:var(--color-accent);box-shadow:0 2px 8px #3b55e640}.admin-panel-button:hover:after{transform:translateY(-1px)}.admin-panel-button:active{box-shadow:0 1px 4px #4f6ef726}.admin-panel-button:active:after{transform:translateY(0)}.admin-panel-button>*{position:relative;z-index:1}@media(hover:none)and (pointer:coarse){.admin-panel-button:hover{background:linear-gradient(135deg,#4f6ef726,#4f6ef70d);border-color:#3b55e659;box-shadow:none}}.admin-panel-button svg:first-child{color:var(--color-accent);flex-shrink:0}.admin-panel-button span{flex:1;text-align:left}.admin-panel-button svg:last-child{color:var(--text-muted);flex-shrink:0}.admin-panel-overlay{position:fixed;inset:0;background:var(--color-bg);z-index:1000;display:flex;flex-direction:column}.admin-panel-modal{background:var(--color-bg);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.admin-screen{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.admin-screen__content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-panel-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--separator);background:var(--color-panel);flex-shrink:0}.admin-panel-header__title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-panel-header__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.admin-panel-header__close:hover{background:#ffffff26;color:var(--text-primary)}.admin-panel-header__close:active{background:#fff3}.admin-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.admin-panel-content .admin-tabs{display:none!important}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.admin-overview{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xl)}.admin-overview__section-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.admin-attention-empty{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-lg);color:#10b981;font-size:var(--font-size-sm);font-weight:500}.admin-attention-list{display:flex;flex-direction:column;gap:6px}.admin-attention-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:background .15s,transform .1s}.admin-attention-row:active{transform:scale(.98);background:var(--surface-2)}.admin-attention-row__left{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary)}.admin-attention-row__dot{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex-shrink:0;animation:attention-pulse 2s ease-in-out infinite}@keyframes attention-pulse{0%,to{opacity:1}50%{opacity:.4}}.admin-attention-row__label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.admin-attention-row__right{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-muted)}.admin-attention-row__count{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}.admin-overview-stats{display:flex;align-items:center;justify-content:space-around;padding:var(--spacing-lg);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.admin-overview-stats__item{display:flex;flex-direction:column;align-items:center;gap:2px}.admin-overview-stats__value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary)}.admin-overview-stats__label{font-size:var(--font-size-xs);color:var(--text-muted)}.admin-overview-stats__divider{width:1px;height:32px;background:var(--border-subtle)}.admin-utilization{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.admin-utilization__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.admin-utilization__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.admin-utilization__toggle{display:flex;gap:4px;background:var(--surface-2);border-radius:var(--radius-sm);padding:2px}.admin-utilization__btn{padding:4px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .15s}.admin-utilization__btn--active{background:var(--color-accent);color:#fff}.admin-nav-list{display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.admin-nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background .15s}.admin-nav-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.admin-nav-item:active{background:var(--surface-2)}.admin-nav-item__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.admin-nav-item__icon--bookings,.admin-nav-item__icon--users,.admin-nav-item__icon--rooms{background:var(--color-accent)}.admin-nav-item__icon--logs,.admin-nav-item__icon--zones{background:#ffffff14;color:var(--text-secondary)}.admin-nav-item__content{flex:1;min-width:0}.admin-nav-item__label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.admin-nav-item__meta{font-size:var(--font-size-xs);color:var(--text-muted)}.admin-nav-item__arrow{color:var(--text-muted);flex-shrink:0}.admin-stats{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.stats-grid,.admin-stats-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{background:var(--color-panel);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);border:none}.stat-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-radius:var(--radius-sm);color:var(--text-muted)}.stat-card__content{flex:1;min-width:0}.stat-card__value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);line-height:1.2}.stat-card__label{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.stat-card--clickable{cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;border:2px solid transparent;position:relative;overflow:visible;box-sizing:border-box}.stat-card--clickable:after{content:"";position:absolute;inset:0;pointer-events:none;transition:transform .2s ease;z-index:0}.stat-card--clickable:hover{background:var(--surface-2);border-color:var(--color-accent);box-shadow:0 4px 12px #00000026}.stat-card--clickable:hover:after{transform:translateY(-2px)}.stat-card--clickable:active{box-shadow:0 2px 6px #0000001a}.stat-card--clickable:active:after{transform:translateY(0)}.stat-card--clickable .stat-card__icon{background:var(--color-accent);color:#fff;transition:background .2s ease;position:relative;z-index:1}.stat-card--bookings .stat-card__icon{background:#f59e0b}.stat-card--profiles .stat-card__icon{background:#8b5cf6}.stat-card--access .stat-card__icon{background:#10b981}.stat-card--users .stat-card__icon{background:var(--color-accent)}.stat-card--rooms .stat-card__icon{background:#3b82f6}.stat-card--logs .stat-card__icon{background:#6b7280}.stat-card--zones .stat-card__icon{background:#ec4899}.stat-card__badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-danger);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 6px #ff453a66}.stat-card--clickable:hover .stat-card__icon{background:var(--color-accent-dark)}.stat-card--action{cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;border:2px solid transparent;position:relative;overflow:hidden;box-sizing:border-box}.stat-card--action:after{content:"";position:absolute;inset:0;pointer-events:none;transition:transform .2s ease;z-index:0}.stat-card--action:hover{background:var(--surface-2);border-color:var(--color-accent);box-shadow:0 4px 12px #00000026}.stat-card--action:hover:after{transform:translateY(-2px)}.stat-card--action:active{box-shadow:0 2px 6px #0000001a}.stat-card--action:active:after{transform:translateY(0)}.stat-card--action .stat-card__icon{background:var(--color-accent);color:#fff;transition:background .2s ease;position:relative;z-index:1}.stat-card--action:hover .stat-card__icon{background:var(--color-accent-dark)}.stat-card--action .stat-card__label{color:var(--text-primary);font-weight:500;white-space:nowrap;position:relative;z-index:1}.stat-card--action:hover .stat-card__label{color:var(--text-primary)}.admin-content{padding:var(--spacing-md)}.admin-section__back{width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;margin:0;margin-right:var(--spacing-sm);flex-shrink:0}.admin-section__back:hover{background:var(--surface-3);color:var(--text-primary)}.admin-section__back:active{background:var(--surface-hover)}.admin-section{margin-bottom:var(--spacing-xl)}.admin-section__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.admin-section__title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.admin-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-panel);border-radius:var(--radius-lg);border:none}.admin-item__avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.admin-item__avatar img{width:100%;height:100%;object-fit:cover}.admin-item__avatar span{font-size:var(--font-size-lg);font-weight:600;color:#fff;text-transform:uppercase}.admin-item__info{flex:1;min-width:0}.admin-item__name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.admin-item__username{font-weight:400;color:var(--text-muted);font-size:var(--font-size-sm)}.admin-item__meta{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.booking-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);overflow-x:auto;padding-bottom:var(--spacing-sm)}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-panel);border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-btn:hover,.filter-btn:active{background:var(--color-panel-hover)}.filter-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}@media(hover:none)and (pointer:coarse){.filter-btn:hover{background:var(--color-panel)}.admin-section__back:hover{background:transparent;color:var(--text-muted)}.admin-panel-header__close:hover{background:var(--surface-3);color:var(--text-muted)}.stat-card--clickable:hover{background:var(--color-panel);border-color:transparent;box-shadow:none}.stat-card--clickable:hover:after{transform:none}.stat-card--clickable:hover .stat-card__icon{background:var(--color-accent)}.stat-card--action:hover{background:var(--color-panel);border-color:transparent;box-shadow:none}.stat-card--action:hover:after{transform:none}.stat-card--action:active{background:var(--surface-2);border-color:var(--color-accent);box-shadow:0 2px 6px #0000001a}.stat-card--action:active:after{transform:translateY(0)}.stat-card--clickable:active{background:var(--surface-2);border-color:var(--color-accent)}.stat-card--clickable:active:after{transform:translateY(0)}.stat-card--action:hover .stat-card__icon{background:var(--surface-3);color:var(--color-accent)}.stat-card--action:hover .stat-card__label{color:var(--color-accent)}.admin-panel-button:hover:after{transform:none}}.booking-card--admin{padding:var(--spacing-lg)}.booking-card__room{font-size:var(--font-size-sm);color:var(--color-accent);margin-bottom:var(--spacing-xs)}.booking-card__user{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.booking-card__purpose{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--separator)}.rooms-list,.admin-rooms-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-rooms-count{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-xs)}.admin-room-item{display:flex;flex-direction:row;align-items:stretch;gap:var(--spacing-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-panel);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:border-color .15s ease}.admin-room-item:hover{border-color:var(--color-accent)}.admin-room-info{flex:1;min-width:0}.admin-room-name{font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}.admin-room-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.admin-room-location{color:var(--text-secondary)}.admin-room-capacity{color:var(--text-tertiary)}.admin-room-equipment{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:4px}.admin-room-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:6px}.admin-room-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.admin-room-badge--active{background:#22c55e26;color:var(--color-ok)}.admin-room-badge--inactive{background:#ef444426;color:var(--color-danger)}.admin-room-actions{display:flex;gap:var(--spacing-xs);align-items:stretch}.admin-room-actions .btn{align-self:stretch;padding-left:24px;padding-right:24px}.btn--success{background:var(--color-ok);color:#fff;border-color:var(--color-ok)}.btn--success:hover{background:#2db84d}.field__hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs);display:block}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-tabs{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);margin:var(--spacing-md) var(--spacing-md) var(--spacing-lg);background:var(--color-panel);border-radius:var(--radius-lg);flex-shrink:0}.admin-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--spacing-sm) var(--spacing-xs);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);min-width:0;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.admin-tab:hover{background:var(--color-panel-hover);color:var(--text-primary)}.admin-tab:active{background:var(--color-panel-hover)}@media(hover:none){.admin-tab:hover{background:transparent;color:var(--text-muted)}.admin-tab.is-active:hover{background:var(--color-accent);color:#fff}.room-card:hover,.booking-card:hover{background:var(--surface-2)}.notification-item:hover{background:var(--surface-2);border-color:var(--border-subtle);transform:none}.notification-item--read:hover{opacity:.65}.admin-profile-request-item:hover,.admin-access-request-item:hover,.admin-booking-item:hover,.admin-room-item:hover{background:var(--surface-2);border-color:var(--border-subtle);transform:none;box-shadow:none}.notification-item:hover .notification-item__delete{opacity:.6}.admin-log-item:hover{background:var(--surface-2)}.user-select-item:hover{background:var(--color-panel)}}.admin-tab.is-active{background:var(--color-accent);color:#fff}.admin-tab__icon{width:18px;height:18px;flex-shrink:0}.admin-tab__label{font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-tab__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger);color:#fff;border-radius:8px;font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;justify-content:center}.admin-user-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-panel);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);gap:var(--spacing-md)}.admin-user-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.admin-user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.admin-user-avatar-fallback{width:100%;height:100%;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;color:var(--text-secondary)}.admin-user-info{flex:1;min-width:0}.admin-user-name{font-weight:500;color:var(--text-primary)}.admin-user-username{margin-left:var(--spacing-xs);color:var(--text-muted);font-weight:400}.btn-chat-link{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-primary, #2481cc);cursor:pointer;padding:2px 4px;margin-left:4px;border-radius:4px;opacity:.7;transition:opacity .15s;vertical-align:middle}.btn-chat-link:hover,.btn-chat-link:active{opacity:1}.admin-user-phone{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.admin-user-actions{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-sm)}.admin-users-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-users-count{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.admin-filters{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.admin-search-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.admin-search{display:flex;align-items:center;position:relative;flex:1;min-width:0}.admin-search__icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.admin-search__input{width:100%;height:40px;box-sizing:border-box;padding:0 38px 0 40px;background:var(--surface-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.admin-search__input::placeholder{color:var(--text-muted)}.admin-search__input:focus{outline:none;border-color:var(--color-accent)}.admin-search__clear{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--surface-2);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.admin-date-picker{position:relative;display:flex;align-items:center;flex-shrink:0}.admin-date-picker__input{height:40px;box-sizing:border-box;padding:0 12px;background:var(--surface-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-secondary);color-scheme:dark;-webkit-appearance:none;appearance:none;width:130px;transition:border-color var(--transition-fast)}.admin-date-picker__input--empty{color:transparent}.admin-date-picker__input--empty::-webkit-datetime-edit{color:transparent}.admin-date-picker:before{content:"Дата";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--font-size-sm);pointer-events:none;z-index:1;display:none}.admin-date-picker:has(.admin-date-picker__input--empty):before{display:block}.admin-date-picker__input:focus{outline:none;border-color:var(--color-accent)}.admin-date-picker__input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.admin-date-picker__clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--surface-2);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:2}.admin-filter-row{display:flex;gap:var(--spacing-sm)}.admin-filter-select{flex:1;height:40px;box-sizing:border-box;padding:0 12px;background:var(--surface-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);-webkit-appearance:none;appearance:none}select.admin-filter-select{padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.admin-filter-select:focus{outline:none;border-color:var(--color-accent)}.admin-filter-select::placeholder{color:var(--text-muted)}input[type=date].admin-filter-select{color-scheme:dark}input[type=date].admin-filter-select::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.admin-user-item--extended{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.admin-user-item--extended .admin-user-actions{width:100%;justify-content:flex-end;margin-left:0}.admin-user-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.admin-user-org{color:var(--text-tertiary)}.admin-user-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:6px}.admin-user-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.admin-user-badge--has_access{background:#22c55e26;color:var(--color-ok)}.admin-user-badge--pending{background:#facc1526;color:#facc15}.admin-user-badge--no_phone,.admin-user-badge--no_access{background:#9ca3af26;color:var(--text-secondary)}.admin-user-badge--admin{background:#9333ea26;color:#a855f7}.admin-user-badge--banned{background:#ef444426;color:var(--color-danger)}.admin-rooms-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-room-item{display:flex;align-items:stretch;gap:0;background:var(--surface-2);border-radius:var(--radius-lg);padding:0;border:none;transition:all var(--transition-fast);position:relative;overflow:hidden}.admin-room-item:hover{background:var(--surface-hover)}.admin-room-item--inactive{opacity:.6}.admin-room-thumb{width:80px;flex-shrink:0;align-self:stretch;overflow:hidden;background:var(--surface-3)}.admin-room-thumb img{width:100%;height:100%;object-fit:cover}.admin-room-thumb__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.5}.admin-room-content{flex:1;display:flex;flex-direction:column;min-width:0}.admin-room-top{padding:var(--spacing-lg);padding-bottom:var(--spacing-md)}.admin-room-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.admin-room-name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.3px;margin:0;line-height:1.3}.admin-room-status{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.admin-room-status--inactive{background:#ef444426;color:var(--color-danger)}.admin-room-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.admin-room-status-text{line-height:1}.admin-room-location{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-muted)}.admin-room-location svg{opacity:.7}.admin-room-info{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-sm)}.admin-room-info-item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-secondary);padding:0 var(--spacing-lg)}.admin-room-info-item svg{color:var(--text-muted)}.admin-room-equipment-chips{display:flex;flex-wrap:wrap;gap:4px;padding:0 var(--spacing-lg) var(--spacing-sm)}.admin-room-equipment-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:12px;font-size:10px;color:var(--text-secondary);white-space:nowrap}.admin-room-equipment-chip svg{color:var(--text-muted);flex-shrink:0}.admin-room-actions{display:flex;gap:0;flex-shrink:0;align-self:stretch}.admin-room-edit-btn{width:56px;height:100%;align-self:stretch;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border:none;border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:#fff;transition:all var(--transition-fast)}.admin-room-edit-btn:hover{background:var(--color-accent-hover)}.admin-room-edit-btn:active{opacity:.8}.admin-requests-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-request-item{background:var(--color-panel);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-request-user{font-weight:500;color:var(--text-primary)}.admin-request-changes{font-size:var(--font-size-sm);color:var(--text-secondary);display:grid;gap:4px}.admin-request-changes strong{color:var(--text-primary)}.admin-request-date{font-size:var(--font-size-xs);color:var(--text-tertiary)}.admin-request-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.admin-logs-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-log-item{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);border:none;transition:all var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-log-item:hover{background:var(--surface-hover)}.admin-log-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.admin-log-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-log-badge--booking{background:#3b82f626;color:#3b82f6}.admin-log-badge--access{background:#22c55e26;color:var(--color-success)}.admin-log-badge--role{background:#a855f726;color:#a855f7}.admin-log-badge--profile{background:#f59e0b26;color:var(--color-warning)}.admin-log-badge--default{background:#6b728026;color:var(--text-muted)}.admin-log-time{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;font-weight:500}.admin-log-body{display:flex;flex-direction:column;gap:6px}.admin-log-row{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.admin-log-row svg{color:var(--text-muted);flex-shrink:0;opacity:.6}.admin-log-row strong{color:var(--text-primary);font-weight:600}.admin-log-row--muted{color:var(--text-muted);font-size:var(--font-size-xs);padding-left:22px}.admin-log-row--executor{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-subtle)}.zones-panel__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.zones-panel__manager{background:var(--surface-2);border-radius:var(--radius-md);overflow:hidden}.zones-panel__manager-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;-webkit-tap-highlight-color:transparent}.zones-panel__manager-info{display:flex;align-items:center;gap:var(--spacing-sm)}.zones-panel__manager-name{font-weight:500}.zones-panel__manager-count{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--surface-3);padding:2px 8px;border-radius:8px}.zones-panel__groups{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:0 var(--spacing-lg) var(--spacing-md)}.zones-panel__group-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:16px;font-size:var(--font-size-sm);border:1px solid var(--border-default);background:var(--surface-3);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.zones-panel__group-chip--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.zones-panel__group-chip:disabled{opacity:.5}.zones-panel__hint{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.user-select-search{position:relative;margin-bottom:var(--spacing-md)}.user-select-search__input{width:100%;padding:var(--spacing-md);padding-left:40px;background:var(--color-panel);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm)}.user-select-search__input:focus{outline:none;border-color:var(--color-accent)}.user-select-search__icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--font-size-base)}.user-select-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-select-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-panel);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.user-select-item:hover{background:var(--color-panel-hover);border-color:var(--color-accent)}.user-select-item__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-select-item__avatar img{width:100%;height:100%;object-fit:cover}.user-select-item__avatar span{font-size:var(--font-size-sm);font-weight:600;color:#fff;text-transform:uppercase}.user-select-item__info{flex:1;min-width:0}.user-select-item__name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-select-item__meta{font-size:var(--font-size-xs);color:var(--text-muted)}.user-select-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.admin-modal-backdrop{position:fixed;inset:0;background:#000000b3;z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:none}.admin-user-modal{background:var(--color-panel);border-radius:var(--radius-xl);width:100%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-user-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);padding-bottom:var(--spacing-md);flex-shrink:0}.admin-user-modal__header .modal__title{margin:0;font-size:var(--font-size-lg);font-weight:600}.admin-user-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-panel-hover);border:none;border-radius:50%;color:var(--text-muted);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.admin-user-modal__close:hover{background:var(--color-panel-light);color:var(--text-primary)}.admin-user-modal__close:disabled{opacity:.5;cursor:not-allowed}.admin-user-modal .modal__form{padding:0 var(--spacing-lg) var(--spacing-lg);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@supports (height: 100dvh){.admin-user-modal{max-height:70dvh}}.admin-user-modal .user-select-list{flex:1;min-height:120px;max-height:220px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-user-modal .user-select-search{flex-shrink:0}.admin-user-modal .user-select-search__input{transition:border-color .15s ease}.admin-user-modal .user-select-search__input:focus{border-color:var(--color-accent);outline:none}.user-select-item:active{transform:scale(.98);background:var(--color-panel-hover)}.booking-screen{position:fixed;inset:0;background:var(--surface-0);z-index:10000;display:flex;flex-direction:column;overflow:hidden}.booking-screen__header{position:relative;width:100%;margin-top:0;padding:0}.booking-screen__header-image{width:100%;height:200px;background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);background-size:cover;background-position:center}.booking-screen__header-close{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg);z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all var(--transition-fast)}.booking-screen__header-close:hover{background:#000000b3}.booking-screen__content{flex:1;background:var(--surface-0);position:relative;z-index:1;padding:var(--spacing-xl);padding-top:var(--spacing-lg);padding-bottom:80px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.booking-screen__content-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl);letter-spacing:-.5px}.booking-screen__content-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:calc(-1 * var(--spacing-lg));margin-bottom:var(--spacing-xl)}.booking-screen__step{display:flex;flex-direction:column;gap:var(--spacing-lg);flex:1}.booking-screen__step--step2{padding-bottom:140px;min-height:calc(100vh - 300px)}.booking-screen__actions{position:fixed;bottom:0;left:0;right:0;background:var(--surface-0);padding:var(--spacing-md) var(--spacing-xl);padding-bottom:max(var(--spacing-lg),env(safe-area-inset-bottom,16px));border-top:1px solid rgba(255,255,255,.05);display:flex;gap:var(--spacing-md);z-index:10;transition:transform .25s ease,opacity .25s ease}.booking-screen__actions--hidden{transform:translateY(100%);opacity:0;pointer-events:none}.booking-screen__step--step2{padding-bottom:20px}.booking-screen__actions .btn{flex:1}.time-fields-row{display:flex;gap:var(--spacing-md)}.participant-picker{position:relative}.participant-picker__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.participant-tag{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:16px;padding:3px 8px 3px 3px;font-size:.82rem}.participant-tag__avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.participant-tag__name{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.participant-tag__remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;margin-left:2px;opacity:.7}.participant-tag__remove:hover{opacity:1}.participant-picker__input-wrap{position:relative}.participant-picker__spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.participant-picker__dropdown{position:relative;z-index:100;background:var(--surface-1, #1e1e2e);border:1px solid var(--border-color, rgba(255,255,255,.15));border-radius:10px;margin-top:4px;max-height:200px;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.participant-picker__option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;color:var(--text-primary, #fff);cursor:pointer;font-size:.9rem;text-align:left;transition:background .1s}.participant-picker__option:hover,.participant-picker__option:focus{background:var(--surface-2, rgba(255,255,255,.06))}.participant-picker__option-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0}.participant-picker__option-avatar--placeholder{background:var(--surface-3, rgba(255,255,255,.1))}.participant-picker__option-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-fields-row .field{flex:1}.duration-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.duration-buttons .btn{flex:1}.booking-timeline{margin:var(--spacing-lg) 0}.booking-timeline__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm);letter-spacing:.2px}.booking-timeline__wrapper{position:relative;padding:8px 0}.booking-timeline__wrapper--has-current-time:before{content:"";position:absolute;top:6px;left:var(--current-time-position, 0%);right:0;bottom:6px;border-radius:0 5px 5px 0;border:2px solid rgba(52,199,89,.4);border-left:none;border-top:2px solid rgba(52,199,89,.4);border-bottom:2px solid rgba(52,199,89,.4);pointer-events:none;z-index:2}.booking-timeline__wrapper--has-current-time:after{content:"";position:absolute;top:6px;left:-2px;width:calc(var(--current-time-position, 0%) + 2px);bottom:6px;border-radius:5px 0 0 5px;border:2px solid rgba(100,100,100,.4);border-right:none;border-top:2px solid rgba(100,100,100,.4);border-bottom:2px solid rgba(100,100,100,.4);pointer-events:none;z-index:2}.booking-timeline__track{position:relative;height:10px;min-height:10px;background:var(--timeline-free-fill);border-radius:5px;border:2px solid rgba(52,199,89,.4);overflow:hidden;display:flex;width:100%;box-shadow:0 1px 2px #0000000d}.booking-timeline__track--has-current-time{border:none;position:relative;background:linear-gradient(to right,var(--timeline-past-fill) 0%,var(--timeline-past-fill) var(--current-time-position, 0%),var(--timeline-free-fill) var(--current-time-position, 0%),var(--timeline-free-fill) 100%)}.booking-timeline__slot{flex:1;height:100%;position:relative}.booking-timeline__slot:not(.booking-timeline__slot--no-divider):not(.booking-timeline__slot--hour-start){border-right:1px solid rgba(52,199,89,.2)}.booking-timeline__slot--hour-start{border-right:2px solid rgba(34,160,69,.6)!important}.booking-timeline__slot--no-divider:not(.booking-timeline__slot--hour-start){border-right:none!important}.booking-timeline__slot--selected{background:linear-gradient(180deg,#ffc800a6,#ffaa008c)}.booking-timeline__slot--selected:after{content:none}.booking-timeline__slot--occupied{background:linear-gradient(180deg,var(--timeline-busy-top) 0%,var(--timeline-busy-bottom) 100%)}.booking-timeline__slot--occupied:after{content:none}.booking-timeline__slot--occupied:not(.booking-timeline__slot--no-divider):not(.booking-timeline__slot--hour-start){border-right-color:var(--timeline-busy-divider)}.booking-timeline__slot--occupied.booking-timeline__slot--hour-start{border-right-color:var(--timeline-busy-divider-strong)!important}.booking-timeline__slot--intersecting.booking-timeline__slot--occupied{position:relative;background:linear-gradient(to right,transparent 0%,transparent var(--past-percent, 0%),var(--timeline-busy-top) var(--past-percent, 0%),var(--timeline-busy-bottom) 100%)!important}.booking-timeline__slot--intersecting.booking-timeline__slot--occupied:after{background:linear-gradient(to right,transparent 0%,transparent var(--past-percent, 0%),var(--timeline-busy-line) var(--past-percent, 0%),var(--timeline-busy-line) 100%)!important}.booking-timeline__slot--past{background:transparent!important}.booking-timeline__slot--past.booking-timeline__slot--occupied{background:linear-gradient(180deg,#64646480,#50505066)!important;opacity:.7}.booking-timeline__slot--past.booking-timeline__slot--occupied:after{background:#64646499!important}.booking-timeline__slot--past.booking-timeline__slot--hour-start{border-right-color:#64646480!important}.booking-timeline__slot--past{border-right-color:#6464644d!important}.booking-timeline__current-time{position:absolute;top:0;bottom:0;width:2px;background:#007aff;z-index:10;pointer-events:none;box-shadow:0 0 4px #007aff99}.booking-timeline__current-time:before{content:"";position:absolute;top:-2px;left:-2px;width:6px;height:6px;background:#007aff;border-radius:50%;box-shadow:0 0 6px #007affcc}.booking-timeline__labels{display:block;margin-top:var(--spacing-sm);padding:0;position:relative;height:16px;width:100%}.booking-timeline__label{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;position:absolute;white-space:nowrap;margin-top:2px}.booking-timeline__label:nth-child(1){left:0%;transform:translate(0);text-align:left}.booking-timeline__label:nth-child(2){left:calc((7 + 1) / 48 * 100%);transform:translate(-50%);text-align:center}.booking-timeline__label:nth-child(3){left:calc((15 + 1) / 48 * 100%);transform:translate(-50%);text-align:center}.booking-timeline__label:nth-child(4){left:50%;transform:translate(-50%);text-align:center}.booking-timeline__label:nth-child(5){left:calc((31 + 1) / 48 * 100%);transform:translate(-50%);text-align:center}.booking-timeline__label:nth-child(6){left:calc((39 + 1) / 48 * 100%);transform:translate(-50%);text-align:center}.booking-timeline__label:nth-child(7){left:100%;transform:translate(-100%);text-align:right}.admin-profile-requests-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-profile-request-item{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.admin-profile-request-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-profile-request-item:hover{background:var(--surface-hover);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-profile-request-item:active{background:var(--surface-hover);transform:translateY(0);box-shadow:var(--shadow-sm)}.admin-profile-request-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-profile-request-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.admin-profile-request-avatar{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--surface-3);display:flex;align-items:center;justify-content:center;position:relative}.admin-profile-request-avatar img{width:100%;height:100%;object-fit:cover}.admin-profile-request-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover))}.admin-profile-request-info{flex:1;min-width:0}.admin-profile-request-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:2px}.admin-profile-request-username{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.admin-profile-request-time{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.admin-profile-request-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);background:#4f6ef726;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.admin-profile-request-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-profile-request-changes{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.admin-profile-request-change-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.admin-profile-request-change-row svg{color:var(--text-muted);flex-shrink:0;opacity:.6}.admin-profile-request-change-row strong{color:var(--text-primary);font-weight:600}.admin-profile-request-change-row .text-muted{color:var(--text-muted);font-style:italic}.modal--medium{max-width:500px;width:90vw}.modal--large{max-width:600px;width:90vw}.modal--large .modal__footer{gap:var(--spacing-md)}.modal--large .modal__footer .btn{flex:1;min-width:120px}.profile-request-user-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--surface-2);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.profile-request-user-avatar{width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--surface-3);display:flex;align-items:center;justify-content:center;position:relative}.profile-request-user-avatar img{width:100%;height:100%;object-fit:cover}.profile-request-user-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover))}.profile-request-user-details{flex:1;min-width:0}.profile-request-user-name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:2px}.profile-request-user-username{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.profile-request-user-time{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.profile-request-comparison{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-request-comparison-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.profile-request-field{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.profile-request-field-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.profile-request-field-label svg{color:var(--text-muted);opacity:.7}.profile-request-field-values{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.profile-request-field-value{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:var(--spacing-sm);border-radius:var(--radius-sm);background:var(--surface-3)}.profile-request-field-value--old{border-left:3px solid var(--text-muted)}.profile-request-field-value--new{border-left:3px solid var(--color-accent)}.profile-request-field-value-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.profile-request-field-value-text{font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-word}.profile-request-field-value-text .text-muted{color:var(--text-muted);font-style:italic}.profile-request-field-arrow{font-size:var(--font-size-lg);color:var(--color-accent);font-weight:600;flex-shrink:0}.profile-request-reject-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:#ff453a1a;border-radius:var(--radius-md);border:1px solid rgba(255,69,58,.2);margin-bottom:var(--spacing-lg)}.profile-request-reject-icon{color:var(--color-danger)}.profile-request-reject-info h4{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.profile-request-reject-info p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.field__label--required:after{content:" *";color:var(--color-danger)}.admin-access-requests-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-access-request-item{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.admin-access-request-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-access-request-item:hover{background:var(--surface-hover);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-access-request-item:active{background:var(--surface-hover);transform:translateY(0);box-shadow:var(--shadow-sm)}.admin-access-request-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-access-request-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.admin-access-request-avatar{width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--surface-3);display:flex;align-items:center;justify-content:center;position:relative}.admin-access-request-avatar img{width:100%;height:100%;object-fit:cover}.admin-access-request-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover))}.admin-access-request-info{flex:1;min-width:0}.admin-access-request-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:2px}.admin-access-request-username{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.admin-access-request-phone{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:4px}.admin-access-request-phone svg{color:var(--text-muted);opacity:.6}.admin-access-request-time{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.admin-access-request-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);background:#4f6ef726;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.admin-access-request-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse 2s infinite}.admin-access-request-actions{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.admin-access-request-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.admin-bookings-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-booking-item{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.admin-booking-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-booking-item:hover{background:var(--surface-hover);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.admin-booking-item:active{background:var(--surface-hover);transform:translateY(0);box-shadow:var(--shadow-sm)}.admin-booking-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-booking-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.admin-booking-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-booking-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.admin-booking-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.admin-booking-user-name{font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-booking-meta{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.admin-booking-time{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-muted)}.admin-booking-purpose{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.admin-booking-purpose svg{flex-shrink:0;opacity:.7}.admin-booking-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.admin-booking-status--pending{background:#f59e0b26;color:var(--color-warning)}.admin-booking-status--approved{background:#22c55e26;color:var(--color-success)}.admin-booking-status--rejected{background:#ff453a26;color:var(--color-danger)}.admin-booking-status--cancelled{background:#8e8e9326;color:var(--text-muted)}.admin-booking-user-avatar{width:32px;height:32px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--surface-3);display:flex;align-items:center;justify-content:center;position:relative}.admin-booking-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-booking-user-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover))}.admin-booking-actions{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle);flex-wrap:wrap}.admin-booking-actions .btn{flex:1;min-width:100px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.connection-status{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;animation:slideDown .3s ease-out}.connection-status--offline{background:#ef4444f2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.connection-status--online{background:#34c759f2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideDown .3s ease-out,fadeOutUp .5s ease-in 2.5s forwards}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes fadeOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.booking-step2-collapsible{display:flex;flex-direction:column;gap:var(--spacing-lg);max-height:500px;opacity:1;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,margin .35s cubic-bezier(.4,0,.2,1)}@media(pointer:coarse){.booking-step2-collapsible--hidden{max-height:0;opacity:0;margin-top:calc(-1 * var(--spacing-lg))}}.booking-summary{display:flex;align-items:center;gap:var(--spacing-md);padding:10px 14px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.booking-summary__item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.booking-summary__item svg{color:var(--color-accent);flex-shrink:0}.booking-summary__divider{width:1px;height:16px;background:var(--border-subtle);flex-shrink:0}.purpose-field,.purpose-field__input-wrap{position:relative}.purpose-field__dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:4px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 24px #0000004d}.purpose-field__option{display:block;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background .1s ease}.purpose-field__option+.purpose-field__option{border-top:1px solid var(--border-subtle)}.purpose-field__option:active,.purpose-field__option:hover{background:var(--surface-3)}.purpose-field__option--active{color:var(--color-accent);font-weight:500;background:#4f6ef714}.booking-toggles{display:flex;gap:var(--spacing-sm)}.booking-toggle-card{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.booking-toggle-card:active{transform:scale(.97)}.booking-toggle-card--active{background:#4f6ef71f;border-color:var(--color-accent);color:var(--color-accent)}.booking-toggle-card--active svg{color:var(--color-accent)}.slide-section{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1)}.recurrence-weeks{display:flex;flex-direction:column;gap:6px}.recurrence-weeks__label{font-size:var(--font-size-xs);color:var(--text-muted)}.recurrence-weeks__options{display:flex;gap:6px;flex-wrap:wrap}.recurrence-weeks__option{padding:5px 14px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--surface-2);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.recurrence-weeks__option:active{transform:scale(.95)}.recurrence-weeks__option--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.utilization-table{width:100%;border-collapse:collapse}.utilization-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--color-border, rgba(255,255,255,.08))}.utilization-row:last-child{border-bottom:none}.utilization-row__name{font-size:14px;font-weight:500;color:var(--color-text-primary, #fff)}.utilization-row__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted, #777)}.utilization-bar{height:6px;border-radius:3px;background:var(--color-border, rgba(255,255,255,.1));overflow:hidden}.utilization-bar__fill{height:100%;border-radius:3px;background:var(--color-primary, #6366f1);transition:width .4s ease}.booking-created-modal__icon{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.booking-created-modal__details{background:var(--surface-3);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-created-modal__row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.booking-created-modal__label{font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0}.booking-created-modal__value{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);text-align:right}.booking-created-modal__status{display:inline-flex;align-items:center;font-size:var(--font-size-xs);color:var(--color-warning);background:#ff9f0a1f;padding:3px 8px;border-radius:99px}.delete-confirm-modal__warning{display:flex;align-items:flex-start;gap:var(--spacing-sm);background:#ff453a1a;border:1px solid rgba(255,69,58,.25);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-danger);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.notification-filter-tabs{display:flex;gap:6px;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}.notification-filter-tabs::-webkit-scrollbar{display:none}.notification-filter-tab{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:99px;font-size:var(--font-size-xs);font-weight:500;background:var(--surface-3);color:var(--text-secondary);border:none;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.notification-filter-tab--active{background:var(--color-accent);color:#fff}.notification-filter-tab__count{background:#fff3;border-radius:99px;padding:0 5px;font-size:10px;line-height:16px}.notification-item--clickable{cursor:pointer}.notification-item--clickable:hover{background:var(--surface-hover)}.notifications-clear-confirm{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ff453a14;border-bottom:1px solid rgba(255,69,58,.15);font-size:var(--font-size-sm);color:var(--color-danger)}.notifications-clear-confirm__actions{display:flex;gap:6px}.rejection-templates{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-sm)}.rejection-template-btn{padding:5px 10px;border-radius:99px;font-size:var(--font-size-xs);background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.rejection-template-btn--active,.rejection-template-btn:hover{background:#ff453a26;color:var(--color-danger);border-color:#ff453a59}.profile-diff-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);padding:4px 0;font-size:var(--font-size-sm)}.profile-diff-row__label{color:var(--text-muted);flex-shrink:0;min-width:90px}.profile-diff-row__values{display:flex;align-items:center;gap:6px;flex-wrap:wrap;text-align:right}.profile-diff-row--changed .profile-diff-row__label{color:var(--color-warning)}.profile-diff-row__old{color:var(--text-muted);text-decoration:line-through;font-size:var(--font-size-xs)}.profile-diff-row__arrow{color:var(--text-muted);font-size:var(--font-size-xs)}.profile-diff-row__new{color:var(--color-warning);font-weight:500}.profile-diff-row__unchanged{color:var(--text-primary)}.moderation-filters{display:flex;flex-wrap:wrap;gap:8px;padding:var(--spacing-sm) var(--spacing-md)}.moderation-filters .field__input,.moderation-filters .btn{flex:1 1 auto;min-width:100px}.admin-filters--logs{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--spacing-md)}.admin-filters--logs .admin-filters-row{display:flex;gap:8px}.admin-filters--logs .admin-filter-select{flex:1;min-width:0}.admin-filters--logs .btn{flex-shrink:0;height:40px}.onboarding__desc--muted{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.onboarding__btn--back{margin-top:var(--spacing-sm)}.room-card__image{width:100%;height:180px;background-size:cover;background-position:center;position:relative;flex-shrink:0}.room-card__image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.45),transparent);pointer-events:none;z-index:1}.room-card__image--placeholder{background:linear-gradient(135deg,var(--surface-3) 0%,var(--surface-2) 100%)}.room-card__image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.room-card__equipment-chips{display:flex;flex-wrap:nowrap;gap:4px;padding:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.room-card__equipment-chips::-webkit-scrollbar{display:none}.room-card__equipment-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:var(--surface-2);border:none;border-radius:10px;font-size:10px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.room-card__equipment-chip svg{color:var(--text-muted);flex-shrink:0}.room-card__next-free{padding:2px 0 0;font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.room-card__next-free--free{color:var(--color-success)}.room-card__next-free--busy{color:var(--color-warning)}.room-card__mini-timeline__slot--interactive{cursor:pointer}.room-card__mini-timeline__slot--interactive:hover{background:#34c75940}.room-card__mini-timeline__slot--interactive:active{background:#34c75966}.booking-screen__room-info{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-xl);background:var(--surface-1);border-bottom:1px solid var(--border-subtle);overflow:hidden;max-height:200px;transition:max-height .3s ease,padding .3s ease,opacity .3s ease}.booking-screen__room-info--hidden{max-height:0;padding-top:0;padding-bottom:0;opacity:0;border-bottom:none}.booking-screen__room-info-main{display:flex;flex-direction:column;gap:2px}.booking-screen__room-info-name{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.booking-screen__room-info-meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap}.booking-screen__room-info-meta-item{display:inline-flex;align-items:center;gap:4px}.booking-screen__room-info-meta-item svg{color:var(--text-muted)}.booking-screen__room-info-equipment{display:flex;align-items:center;gap:8px}.booking-screen__room-info-equip-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-muted)}.booking-screen__editing-badge{display:inline-flex;align-items:center;padding:4px 12px;background:#f59e0b26;color:var(--color-warning);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.booking-timeline__slot--interactive{cursor:pointer;transition:background .1s ease}.booking-timeline__slot--interactive:active{background:#34c75959!important}.room-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.room-group__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-1);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.room-group__header:hover{background:var(--surface-2)}.room-group__header:active{transform:scale(.99)}.room-group__header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.room-group__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.room-group__count{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--surface-3);padding:2px 8px;border-radius:10px}.room-group__chevron{color:var(--text-muted);transition:transform .25s ease;flex-shrink:0}.room-group__chevron--open{transform:rotate(180deg)}.room-group__content{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);overflow:hidden;transition:max-height .3s ease,opacity .25s ease}.room-group__content--collapsed{max-height:0;opacity:0;margin:0;gap:0}.rooms-grid--ungrouped{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.rooms-grouped{display:flex;flex-direction:column;gap:var(--spacing-lg)}.empty-state__icon{font-size:48px;margin-bottom:var(--spacing-lg);opacity:.5;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.empty-state__icon svg{opacity:.6}.empty-state__icon--circle{width:80px;height:80px;border-radius:50%;background:#4f6ef714;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg)}.empty-state__cta{margin-top:var(--spacing-md)}.empty-state__cta .btn{font-size:var(--font-size-sm)}.swipeable-card{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.swipeable-card__action{position:absolute;right:0;top:0;bottom:0;width:120px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.swipeable-card__action--cancel{background:var(--color-danger);color:#fff}.swipeable-card__action--approve{background:var(--color-success);color:#fff}.swipeable-card__inner{position:relative;z-index:1;transition:transform .3s ease}@keyframes statusFlashGreen{0%{box-shadow:0 0 #34c75966}50%{box-shadow:0 0 0 4px #34c75933}to{box-shadow:0 0 #34c75900}}@keyframes statusFlashRed{0%{box-shadow:0 0 #ff453a66}50%{box-shadow:0 0 0 4px #ff453a33}to{box-shadow:0 0 #ff453a00}}@keyframes statusFlashOrange{0%{box-shadow:0 0 #ff9f0a66}50%{box-shadow:0 0 0 4px #ff9f0a33}to{box-shadow:0 0 #ff9f0a00}}.booking-card--status-flash-approved{animation:statusFlashGreen .6s ease-out}.booking-card--status-flash-rejected{animation:statusFlashRed .6s ease-out}.booking-card--status-flash-pending{animation:statusFlashOrange .6s ease-out}.toast__action{background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.toast__action:hover{background:#ffffff40}.toast__action:active{transform:scale(.95)}.booking-card__close,.booking-card__edit{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.booking-screen__header-close{min-width:44px;min-height:44px}.room-card__caption-location span,.profile-card__detail-value,.booking-card__detail-row span{-webkit-user-select:text;-moz-user-select:text;user-select:text}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.room-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.filter-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nav-capsule__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:20px}.equipment-checkboxes{display:flex;flex-wrap:wrap;gap:6px}.equipment-checkbox{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.equipment-checkbox:active{transform:scale(.96)}.equipment-checkbox svg{color:var(--text-muted);flex-shrink:0;transition:color var(--transition-fast)}.equipment-checkbox--active{background:#4f6ef726;border-color:var(--color-accent);color:var(--text-primary)}.equipment-checkbox--active svg{color:var(--color-accent)}.toast__close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.mgr-rooms{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mgr-rooms__card{background:var(--surface-2);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s ease}.mgr-rooms__card--open{box-shadow:0 4px 20px #0e143a40}.mgr-rooms__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.mgr-rooms__header-left{display:flex;align-items:center;gap:10px;min-width:0}.mgr-rooms__name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mgr-rooms__badge{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--surface-3);padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.mgr-rooms__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .25s ease}.mgr-rooms__chevron--open{transform:rotate(180deg)}.mgr-rooms__body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.mgr-rooms__assigned{display:flex;flex-direction:column;gap:0;background:var(--surface-3);border-radius:var(--radius-sm);overflow:hidden}.mgr-rooms__assigned-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.mgr-rooms__assigned-item:last-child{border-bottom:none}.mgr-rooms__assigned-info{display:flex;flex-direction:column;gap:1px;min-width:0}.mgr-rooms__assigned-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.mgr-rooms__assigned-meta{font-size:10px;color:var(--text-muted)}.mgr-rooms__remove-btn{width:28px;height:28px;border-radius:50%;border:none;background:#ff453a1f;color:var(--color-danger);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.mgr-rooms__remove-btn:active{background:#ff453a40}.mgr-rooms__hint{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;padding:10px 0}.mgr-rooms__search{position:relative}.mgr-rooms__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.mgr-rooms__search-input{width:100%;padding:10px 12px 10px 36px;font-size:var(--font-size-sm);font-family:inherit;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-primary);outline:none;transition:border-color .2s ease;box-sizing:border-box;-webkit-user-select:text;user-select:text}.mgr-rooms__search-input:focus{border-color:var(--color-accent)}.mgr-rooms__search-input::placeholder{color:var(--text-muted)}.mgr-rooms__list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:none;-ms-overflow-style:none}.mgr-rooms__list::-webkit-scrollbar{display:none}.mgr-rooms__room{display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease;-webkit-tap-highlight-color:transparent;text-align:left;width:100%}.mgr-rooms__room:active{background:var(--surface-3)}.mgr-rooms__room--active{background:#3b55e614}.mgr-rooms__room--active:active{background:#3b55e626}.mgr-rooms__room-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-default);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;color:#fff}.mgr-rooms__room-check--on{background:var(--color-accent);border-color:var(--color-accent)}.mgr-rooms__room-info{display:flex;flex-direction:column;gap:1px;min-width:0}.mgr-rooms__room-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.mgr-rooms__room-meta{font-size:10px;color:var(--text-muted)}.text-muted{color:var(--text-muted);font-style:italic}
