: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: #4F6EF7;--color-accent-hover: #6B85FF;--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: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--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: #3D5BD9}*,*: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)}.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)}.rooms-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.room-card{background:var(--surface-2);border-radius:var(--radius-lg);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}.room-card:hover{background:var(--surface-hover)}.room-card:active{transform:scale(.99);background:var(--surface-hover)}.room-card__top{padding:var(--spacing-lg);padding-bottom:var(--spacing-md)}.room-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.room-card__name{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.3px;margin:0;line-height:1.3}.room-card__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}.room-card__status--free{background:#22c55e26;color:var(--color-success)}.room-card__status--busy{background:#ef444426;color:var(--color-danger)}.room-card__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.room-card__status-text{line-height:1}.room-card__location{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-muted)}.room-card__location svg{opacity:.7}.room-card__info{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--surface-3);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.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;justify-content:flex-start;align-items:flex-start;padding:var(--spacing-md) var(--spacing-lg);gap:0;position:relative;min-height:40px}.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:block;position:relative;z-index:1}.room-card__mini-timeline__wrapper{position:relative;padding:6px 0;margin-top:18px}.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:2px;padding:0;position:relative;height:12px;width:100%}.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-md);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}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.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:#1c1b23eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:40px;padding:14px;box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);pointer-events:all;position:relative;overflow:hidden;min-width:160px;max-width:200px;width:auto;touch-action:pan-x}.nav-capsule__slider{position:absolute;top:8px;bottom:8px;left:8px;width:calc(50% - 8px);background:linear-gradient(135deg,#4f6ef74d,#4f6ef72e);border-radius:32px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);z-index:0;box-shadow:0 2px 8px #4f6ef733,inset 0 1px #ffffff1a;box-sizing:border-box}.nav-capsule__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:22px 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__item:nth-child(2) .nav-capsule__icon-wrapper{transform:translate(-3px)}.nav-capsule__item:nth-child(3) .nav-capsule__icon-wrapper{transform:translate(3px)}.nav-capsule__label{display:none}.nav-capsule__icon-wrapper .nav__badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger);color:#fff;border-radius:8px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid rgba(28,27,35,.9)}.nav-wrapper{display:none}.nav__icon{width:22px;height:22px;stroke-width:2}.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}.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 10px;background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.profile-card__role-badge svg{color:var(--text-muted)}.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;padding:0 var(--spacing-lg) var(--spacing-lg);gap:2px}.profile-card__detail-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--surface-3);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.profile-card__detail-item:hover{background:var(--surface-hover)}.profile-card__detail-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.profile-card__detail-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-card__detail-label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-card__detail-value{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:none;display:flex;flex-direction:column;gap:var(--spacing-sm);transition:all var(--transition-fast)}.booking-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.booking-card:hover{background:var(--surface-hover)}.booking-card:active{background:var(--surface-hover);transform:scale(.99)}.booking-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin:0}.booking-card__header-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.booking-card__title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);flex:1;min-width:0}.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__time{font-size:var(--font-size-sm);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__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__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)}.modal-backdrop{position:fixed;inset:0;background:#000000bf;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}.modal{width:100%;max-width:400px;max-height:85vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface-2);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:none;box-shadow:var(--shadow-lg);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__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)}.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__input{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)}.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)}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;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F6EF7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:44px}.field__input[type=date]:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B85FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}.field__input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;width:44px;height:100%;opacity:0;cursor:pointer}.field__input[type=date]::-webkit-datetime-edit{color:var(--text-primary);padding:0}.field__input[type=date]::-webkit-datetime-edit-fields-wrapper{display:flex;align-items:center;gap:2px}.field__input[type=date]::-webkit-datetime-edit-text{padding:0 6px;color:var(--color-accent);font-weight:500}.field__input[type=date]::-webkit-datetime-edit-day-field,.field__input[type=date]::-webkit-datetime-edit-month-field,.field__input[type=date]::-webkit-datetime-edit-year-field{padding:4px 6px;border-radius:4px;color:var(--text-primary);background:var(--surface-2);transition:background .15s ease}.field__input[type=date]::-webkit-datetime-edit-day-field:focus,.field__input[type=date]::-webkit-datetime-edit-month-field:focus,.field__input[type=date]::-webkit-datetime-edit-year-field:focus{background:var(--surface-hover);color:var(--text-primary);outline:none}.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-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:var(--spacing-lg);left:var(--spacing-lg);z-index:11000;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(79,110,247,.2);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,#ffffff0a,#ffffff14,#ffffff0a);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}.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:#4f6ef74d;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}}.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(79,110,247,.3);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,#4f6ef71a);border-color:var(--color-accent);box-shadow:0 2px 8px #4f6ef733}.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:#4f6ef74d;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;justify-content:space-between;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}.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-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:hidden;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--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__time{font-size:var(--font-size-sm);color:var(--text-muted);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)}.booking-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.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}.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{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.admin-search__icon{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.admin-search__input{flex:1;padding:var(--spacing-sm) var(--spacing-md);padding-left:36px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm)}.admin-search__input:focus{outline:none;border-color:var(--color-accent)}.admin-filter-row{display:flex;gap:var(--spacing-sm)}.admin-filter-select{flex:1;padding:var(--spacing-sm);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.admin-filter-select:focus{outline:none;border-color:var(--color-accent)}.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-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;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--surface-3);border-top:1px solid var(--border-subtle)}.admin-room-info-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-room-info-item svg{color:var(--text-muted)}.admin-room-info-item--equipment{flex:1;min-width:0}.admin-room-info-item--equipment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-room-info-divider{width:1px;height:20px;background:var(--border-subtle);margin:0 var(--spacing-md)}.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)}.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);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__step{display:flex;flex-direction:column;gap:var(--spacing-lg)}.booking-screen__step--step2{padding-bottom:140px;min-height:calc(100vh - 300px)}.booking-screen__actions{position:sticky;bottom:0;background:var(--surface-0);padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.05);display:flex;gap:var(--spacing-md);z-index:1}.booking-screen__step--step2 .booking-screen__actions{position:relative;bottom:auto;margin-top:var(--spacing-lg)}.booking-screen__actions .btn{flex:1}.time-fields-row{display:flex;gap:var(--spacing-md)}.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--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);cursor:pointer;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:#f59e0b26;color:var(--color-warning);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-warning);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--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;justify-content:space-between;gap:var(--spacing-md)}.admin-booking-room-info{display:flex;align-items:flex-start;gap:var(--spacing-sm);flex:1;min-width:0}.admin-booking-room-info svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.admin-booking-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:2px}.admin-booking-location{font-size:var(--font-size-sm);color:var(--text-muted)}.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-details{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.admin-booking-time-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-booking-time-row svg{color:var(--text-muted);opacity:.6;flex-shrink:0}.admin-booking-user-row{display:flex;align-items:center;gap:var(--spacing-sm)}.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-user-info{flex:1;min-width:0}.admin-booking-user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.admin-booking-user-username{font-size:var(--font-size-xs);color:var(--text-muted)}.admin-booking-title-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-booking-title-row svg{color:var(--text-muted);opacity:.6;flex-shrink:0}.admin-booking-purpose{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-booking-purpose svg{color:var(--text-muted);opacity:.6;flex-shrink:0}.admin-booking-participants{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-booking-participants svg{color:var(--text-muted);opacity:.6;flex-shrink:0}.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)}
