:root{--color-bg: #0a0d14;--color-panel: #151822;--color-panel-light: #1d2028;--color-panel-hover: #252832;--color-text: #f1f5f9;--color-text-secondary: rgba(241, 245, 249, .9);--color-text-muted: rgba(241, 245, 249, .65);--color-accent: #60a5fa;--color-accent-light: #93c5fd;--color-accent-dark: #3b82f6;--color-ok: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--base-font-size: clamp(14px, 2.5vw, 16px);--base-scale: calc(var(--base-font-size) / 16px);--radius-sm: clamp(8px, .75vw, 12px);--radius-md: clamp(12px, 1vw, 16px);--radius-lg: clamp(16px, 1.25vw, 20px);--radius-xl: clamp(20px, 1.5vw, 24px);--spacing-xs: clamp(3px, .25vw, 4px);--spacing-sm: clamp(6px, .5vw, 8px);--spacing-md: clamp(10px, .75vw, 12px);--spacing-lg: clamp(12px, 1vw, 16px);--spacing-xl: clamp(18px, 1.5vw, 24px);--spacing-2xl: clamp(24px, 2vw, 32px);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{font-size:var(--base-font-size)}html,body,#root{height:100%;width:100%;overflow-x:hidden;background:radial-gradient(ellipse at top,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(139,92,246,.06) 0%,transparent 50%),var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--base-font-size);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;text-rendering:optimizeLegibility}.app-root{height:100%;width:100%;max-width:clamp(320px,100%,900px);margin:0 auto;display:flex;flex-direction:column;padding:var(--spacing-md) var(--spacing-sm);padding-bottom:calc(clamp(72px,15vw,88px) + env(safe-area-inset-bottom,16px));overflow-x:hidden;box-sizing:border-box;min-width:0}.page{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.header{background:var(--color-panel);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header__content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.header__title{font-size:clamp(22px,5vw,28px);font-weight:700;margin:0;line-height:1.2;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-secondary),var(--color-text));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:left}.header__subtitle{font-size:clamp(12px,2.5vw,14px);color:var(--color-text-muted);margin:0;line-height:1.5;font-weight:400;text-align:left}.content{background:var(--color-panel);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-md);flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;box-sizing:border-box;position:relative;z-index:1}.screen{display:flex;flex-direction:column;gap:var(--spacing-xl);animation:fadeIn .5s cubic-bezier(.4,0,.2,1)}.screen--loading{animation:none}.section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section__title{font-size:clamp(14px,3vw,16px);font-weight:600;color:var(--color-text-secondary)}.rooms-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);width:100%;box-sizing:border-box}@media(min-width:640px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){:root{--base-font-size: 16px}.app-root{max-width:900px}}@media(min-width:1200px){.app-root{max-width:1100px}}.room-card{background:var(--color-panel-light);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;gap:var(--spacing-md);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);will-change:transform;box-shadow:0 2px 8px #00000026}.room-card:hover{transform:translate3d(0,-4px,0);box-shadow:0 12px 32px #0006;background:var(--color-panel-hover);border-color:#ffffff1f}.room-card:active{transform:translate3d(0,-2px,0);transition-duration:.1s}.room-card__header{display:flex;flex-direction:column;gap:var(--spacing-xs);position:relative;padding-right:40px}.room-card__name{font-size:clamp(17px,4vw,20px);font-weight:600;color:var(--color-text);letter-spacing:-.01em;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.room-card__meta{font-size:clamp(11px,2.5vw,13px);color:var(--color-text-muted);word-wrap:break-word;overflow-wrap:break-word}.room-card__schedule{font-size:clamp(11px,2.5vw,13px);padding:var(--spacing-sm) 0}.room-card__schedule-title{font-size:clamp(10px,2.2vw,12px);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.room-card__schedule--empty{color:var(--color-text-muted);font-style:italic;display:flex;align-items:center;padding:var(--spacing-md);background:#60a5fa0d;border-radius:var(--radius-sm);border:1px dashed rgba(96,165,250,.2)}.room-card__schedule--empty svg{opacity:.6}.schedule-row{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-top:1px solid rgba(255,255,255,.06)}.schedule-row:first-child{border-top:none;padding-top:0}.schedule-row__time{font-size:clamp(10px,2.2vw,12px);color:var(--color-text-muted)}.schedule-row__title{font-size:clamp(11px,2.5vw,13px);font-weight:500;color:var(--color-text-secondary);word-wrap:break-word;overflow-wrap:break-word}.schedule-row__status{font-size:clamp(9px,2vw,11px);padding:clamp(2px,.3vw,4px) clamp(4px,.8vw,6px);border-radius:6px;display:inline-block;width:fit-content}.status-pending{color:#fbbf24;background:linear-gradient(135deg,#fbbf2433,#fbbf241a);border:1px solid rgba(251,191,36,.3);font-weight:500}.status-approved{color:#34d399;background:linear-gradient(135deg,#34d39933,#34d3991a);border:1px solid rgba(52,211,153,.3);font-weight:500}.status-rejected{color:#f87171;background:linear-gradient(135deg,#f8717133,#f871711a);border:1px solid rgba(248,113,113,.3);font-weight:500}.status-cancelled{color:#9ca3af;background:linear-gradient(135deg,#9ca3af33,#9ca3af1a);border:1px solid rgba(156,163,175,.3);font-weight:500}.room-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-md);gap:var(--spacing-md);flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.06)}.room-card__actions{display:flex;gap:var(--spacing-sm);align-items:center;flex:1;justify-content:flex-end;min-width:0}.room-card__actions{display:flex;gap:var(--spacing-sm);align-items:stretch}.room-card__actions .btn{flex:1;min-width:0;height:clamp(36px,8vw,40px)!important;display:flex;align-items:center;justify-content:center;padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,12px)}.btn--booking{white-space:nowrap;padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,12px);font-size:clamp(11px,2.5vw,13px);overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%;box-sizing:border-box;word-break:keep-all;letter-spacing:0}.room-card__equipment{margin:var(--spacing-sm) 0;padding:var(--spacing-md);background:var(--color-panel);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.room-card:hover .room-card__equipment{border-color:#ffffff1a;background:#ffffff05}.room-card__equipment-label{font-size:clamp(9px,2vw,11px);color:var(--color-text-muted);margin-bottom:var(--spacing-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.room-card__equipment-value{font-size:clamp(12px,2.8vw,14px);color:var(--color-text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.room-card__timeline-container{margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:var(--color-panel);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);width:100%;box-sizing:border-box}.room-card__timeline-label{font-size:11px;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.room-card__timeline{display:flex;gap:1px;height:30px;background:var(--color-bg);border-radius:4px;padding:2px;width:100%;box-sizing:border-box;position:relative}.room-card__timeline-hour{flex:1;min-width:0;background:#22d3991a;border-radius:2px;transition:background-color .2s ease;position:relative;height:100%}.room-card__timeline-segment{position:absolute;top:0;bottom:0;background:#f8717199;border-radius:2px;z-index:1}.room-card__timeline-segment--occupied{background:#f8717199}.room-card__timeline-hour__label{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:9px;color:var(--color-text-muted);white-space:nowrap;pointer-events:none}.room-card__cap{font-size:clamp(11px,2.5vw,13px);color:var(--color-text-muted);font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs);word-wrap:break-word;overflow-wrap:break-word}.room-card__cap:before{content:"👥";font-size:clamp(12px,2.8vw,14px)}.profile-card{background:var(--color-panel-light);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.06);position:relative;z-index:1}.profile-card__main{display:flex;align-items:center;gap:var(--spacing-lg)}.profile-card__avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.1);flex-shrink:0;background:linear-gradient(135deg,var(--color-panel),var(--color-panel-light));display:flex;align-items:center;justify-content:center}.profile-card__avatar img{width:100%;height:100%;object-fit:cover}.profile-card__avatar-fallback{font-size:28px;font-weight:700;color:var(--color-text-secondary)}.profile-card__info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0;padding-right:100px}.profile-card__actions{position:absolute;top:var(--spacing-md);right:var(--spacing-md);display:flex;gap:var(--spacing-sm);z-index:10}.profile-card__name{font-size:22px;font-weight:600;color:var(--color-text-secondary);letter-spacing:-.01em;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.profile-card__role{font-size:14px;color:var(--color-text-muted)}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card{background:var(--color-panel-light);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:var(--spacing-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.booking-card:hover{background:var(--color-panel-hover);border-color:#ffffff1a;transform:translate(4px);box-shadow:var(--shadow-sm)}.booking-card__main{display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-card__title{font-size:clamp(14px,3.2vw,16px);font-weight:600;color:var(--color-text-secondary);word-wrap:break-word;overflow-wrap:break-word}.booking-card__time{font-size:clamp(11px,2.5vw,13px);color:var(--color-text-muted);word-wrap:break-word;overflow-wrap:break-word}.booking-card__status{font-size:clamp(10px,2.2vw,12px);padding:clamp(3px,.6vw,4px) clamp(8px,1.8vw,10px);border-radius:clamp(6px,1.2vw,8px);display:inline-flex;align-items:center;gap:clamp(4px,1vw,6px);width:fit-content;margin-top:var(--spacing-xs)}.status-badge{display:inline-flex;align-items:center;gap:4px}.status-badge__icon{font-size:clamp(10px,2.2vw,12px);line-height:1;flex-shrink:0}.status-badge__text{font-size:inherit;white-space:nowrap}.booking-card__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn{padding:clamp(8px,1.8vw,10px) clamp(12px,3vw,16px);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:var(--color-panel-light);color:var(--color-text);cursor:pointer;font-weight:500;font-size:clamp(12px,2.8vw,14px);white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn:hover:not(:disabled){background:var(--color-panel-hover);border-color:#ffffff26;transform:translate3d(0,-2px,0);box-shadow:0 4px 12px #0000004d}.btn:active:not(:disabled){transform:translateZ(0);transition-duration:.1s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--color-accent-dark),var(--color-accent));border-color:#60a5fa66;color:#fff;font-weight:600;box-shadow:0 2px 8px #60a5fa33}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));box-shadow:0 4px 16px #60a5fa66;transform:translate3d(0,-2px,0)}.btn--sm{padding:clamp(5px,1.2vw,6px) clamp(10px,2.2vw,12px);font-size:clamp(10px,2.2vw,12px)}.btn--ok{background:linear-gradient(135deg,#16a34a,#22c55e);border-color:#22c55e4d;color:#fff}.btn--danger{background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#ef44444d;color:#fff}.btn--ghost{background:transparent;border-color:#ffffff1a}.nav-wrapper{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:var(--spacing-md) var(--spacing-sm) calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));z-index:100;pointer-events:none;isolation:isolate}.nav-wrapper>*{pointer-events:all}.liquid-glass{position:relative;isolation:isolate}.liquid-glass--bend,.liquid-glass--face,.liquid-glass--edge{position:absolute;inset:0;border-radius:inherit}.liquid-glass__content{position:relative;z-index:1}.nav-panel{max-width:900px;padding:var(--spacing-sm);border-radius:var(--radius-xl)}.nav-panel.nav-panel--glass .liquid-glass--bend{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#1a1d29cc,#222530e6)}.nav-panel.nav-panel--glass .liquid-glass--face{background:transparent;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0009,inset 0 0 0 1px #ffffff0d}.nav-panel.nav-panel--glass .liquid-glass--edge{box-shadow:inset 0 0 0 1px #ffffff14}.nav{display:flex;justify-content:space-around;align-items:center;gap:var(--spacing-sm)}.nav__item{border:none;background:transparent;color:var(--color-text-muted);border-radius:50%;width:clamp(48px,11vw,56px);height:clamp(48px,11vw,56px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;position:relative;will-change:transform,background,color;flex-shrink:0}.nav__item.is-active{color:var(--color-text);background:#7dd3fc33;box-shadow:0 4px 16px #0006,inset 0 0 0 1px #7dd3fc4d}.nav__item.is-active:after{content:"";position:absolute;inset:-2px;border-radius:50%;background:linear-gradient(135deg,#7dd3fc4d,#3b82f633);z-index:-1;opacity:.5;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.nav__item:active{transform:scale3d(.92,.92,1);transition-duration:.1s}.nav__item:hover:not(.is-active){background:#ffffff0d;color:var(--color-text)}.nav__icon{width:clamp(20px,4.5vw,24px);height:clamp(20px,4.5vw,24px);stroke-width:2;flex-shrink:0}.profile-card__edit-btn svg,.notifications-button svg,.btn svg{width:clamp(16px,3.5vw,20px);height:clamp(16px,3.5vw,20px);flex-shrink:0}.nav__item.is-active .nav__icon{transform:scale(1.1)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000!important;padding:var(--spacing-lg);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeIn .2s ease}.modal{width:100%;max-width:clamp(320px,90vw,520px);max-height:calc(100vh - var(--spacing-lg) * 2);overflow-y:auto;overflow-x:hidden;background:var(--color-panel);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d inset;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative;margin:auto;flex-shrink:0;box-sizing:border-box;z-index:10001!important}.modal__form,.modal__form .field{width:100%;box-sizing:border-box}.modal__form .field__input{width:100%;max-width:100%;box-sizing:border-box}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.modal::-webkit-scrollbar-thumb:hover{background:#ffffff26}.modal__title{font-size:clamp(19px,4.5vw,22px);font-weight:600;margin-bottom:var(--spacing-xl);color:var(--color-text-secondary);letter-spacing:-.01em;padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1);word-wrap:break-word;overflow-wrap:break-word}.modal__form{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;box-sizing:border-box}.modal__actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1)}.field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field__label{font-size:clamp(11px,2.5vw,13px);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);display:block;word-wrap:break-word;overflow-wrap:break-word}.field__input{width:100%;max-width:100%;padding:clamp(10px,2.2vw,12px) clamp(12px,3vw,16px);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:var(--color-panel-light);color:var(--color-text);font-size:clamp(12px,2.8vw,14px);font-family:inherit;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;min-width:0}.field__input:hover{border-color:#ffffff26;background:var(--color-panel-hover)}.field__input:focus{border-color:var(--color-accent);background:var(--color-panel-hover);box-shadow:0 0 0 4px #60a5fa26;transform:translateY(-1px)}.field__input::placeholder{color:var(--color-text-muted)}.field__input--error{border-color:var(--color-danger);background:#ff7b7b0d}.field__input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px #ff7b7b26}.field__error{font-size:clamp(10px,2.2vw,12px);color:var(--color-danger);margin-top:-8px;display:flex;align-items:center;gap:clamp(3px,.6vw,4px);word-wrap:break-word;overflow-wrap:break-word}.field__error:before{content:"⚠";font-size:clamp(12px,2.8vw,14px);flex-shrink:0}.alert{padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:clamp(11px,2.5vw,13px);border:1px solid transparent;word-wrap:break-word;overflow-wrap:break-word}.alert--error{background:#ff7b7b26;border-color:#ff7b7b4d;color:var(--color-danger)}.alert--ok{background:#7ee7a126;border-color:#7ee7a14d;color:var(--color-ok)}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--color-text-muted);font-size:clamp(12px,2.8vw,14px)}.loading-indicator .spinner{width:clamp(28px,6vw,32px);height:clamp(28px,6vw,32px);border-width:clamp(2px,.5vw,3px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;min-height:clamp(160px,35vw,200px)}.empty-state__icon{font-size:clamp(48px,12vw,64px);margin-bottom:var(--spacing-lg);opacity:.4;filter:grayscale(.2);transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;line-height:1}.empty-state:hover .empty-state__icon{transform:scale(1.1) translateY(-4px);opacity:.6}.empty-state__text{color:var(--color-text-muted);font-size:clamp(13px,3vw,15px);font-weight:500;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.spinner{width:clamp(18px,4vw,20px);height:clamp(18px,4vw,20px);border:clamp(2px,.4vw,2px) solid rgba(255,255,255,.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner--inline{width:14px;height:14px;border-width:2px;display:inline-block;vertical-align:middle;margin-right:6px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in,.animate-fade-in-up,.animate-scale-in{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.screen{contain:layout style paint}.modal,.room-card,.booking-card{contain:layout style}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translateZ(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1);will-change:opacity}.animate-fade-in-up{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) forwards;will-change:opacity,transform;animation-fill-mode:both}.room-card.animate-fade-in-up,.profile-card.animate-fade-in-up,.booking-card.animate-fade-in-up{opacity:0;transform:translate3d(0,12px,0)}.room-card:has(.skeleton),.booking-card:has(.skeleton){animation:none!important;opacity:1!important;transform:none!important}.screen--fade-in{animation:fadeIn .5s cubic-bezier(.4,0,.2,1);will-change:opacity}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);will-change:opacity,transform;transform-origin:center center}.animate-fade-in-up,.animate-fade-in,.screen--fade-in,.animate-scale-in{animation-fill-mode:both;animation-iteration-count:1}.animate-fade-in-up{animation-delay:calc(var(--animation-delay, 0) * .05s)}.muted{color:var(--color-text-muted);font-size:clamp(11px,2.5vw,13px);word-wrap:break-word;overflow-wrap:break-word}*{scroll-behavior:smooth}@media(max-width:359px){.app-root{padding:var(--spacing-sm) var(--spacing-xs)}.header{padding:var(--spacing-md) var(--spacing-sm)}.content{padding:var(--spacing-md)}.modal{padding:var(--spacing-md);max-width:calc(100vw - var(--spacing-md) * 2)}.rooms-grid{gap:var(--spacing-sm)}}@media(max-width:480px){:root{--base-font-size: 14px}.nav__item{width:clamp(44px,10vw,52px);height:clamp(44px,10vw,52px)}.nav__icon{width:clamp(18px,4vw,22px);height:clamp(18px,4vw,22px)}.profile-card__avatar{width:clamp(52px,11vw,60px);height:clamp(52px,11vw,60px)}.app-root{padding:var(--spacing-sm);padding-bottom:calc(88px + env(safe-area-inset-bottom,12px))}.header{padding:var(--spacing-md)}.header__title{font-size:clamp(20px,4.5vw,24px)}.content{padding:var(--spacing-md)}.modal-backdrop{padding:var(--spacing-sm);box-sizing:border-box}.modal{padding:var(--spacing-md);max-width:calc(100vw - var(--spacing-sm) * 2);max-height:calc(100vh - var(--spacing-sm) * 2);width:calc(100vw - var(--spacing-sm) * 2);box-sizing:border-box;margin:0}.modal__title{font-size:clamp(17px,3.8vw,20px);margin-bottom:var(--spacing-md)}.profile-card__edit-btn svg,.notifications-button svg{width:clamp(14px,3vw,18px);height:clamp(14px,3vw,18px)}.screen{gap:var(--spacing-md)}.modal__form{width:100%;max-width:100%;box-sizing:border-box;padding:0;margin:0}.modal__form .field{width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}.modal__form .field__label{font-size:clamp(10px,2.2vw,12px);margin-bottom:var(--spacing-xs)}.modal__form .field__input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;font-size:14px}.modal__form input[type=date],.modal__form input[type=time]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px 12px!important}.timeline-container{padding:var(--spacing-md)!important;margin:var(--spacing-md) 0!important}.timeline-label{font-size:clamp(10px,2.2vw,12px);margin-bottom:var(--spacing-sm)}.btn{padding:10px 12px;font-size:13px}.btn--booking{padding:10px 8px;font-size:12px;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-card__actions .btn{padding:10px 8px!important;font-size:12px!important;min-width:0!important;max-width:100%!important}.room-card{padding:var(--spacing-md)}.room-card__title{font-size:18px}.room-card__description{font-size:13px}.profile-card{padding:var(--spacing-md)}.profile-card__title{font-size:20px}}.access-check-screen,.access-denied-screen{position:fixed;inset:0;background:var(--color-bg);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);color:var(--color-text-muted)}.access-denied-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);text-align:center;padding:var(--spacing-2xl);max-width:400px}.access-denied-icon{font-size:64px;opacity:.7}.access-denied-title{font-size:24px;font-weight:600;color:var(--color-text);margin:0}.access-denied-message{font-size:16px;color:var(--color-text-muted);line-height:1.5;margin:0}@media(max-width:480px){.access-denied-content{padding:var(--spacing-xl)}.access-denied-icon{font-size:48px}.access-denied-title{font-size:20px}.access-denied-message{font-size:14px}}.notification-item{padding:var(--spacing-md)}.field{width:100%;max-width:100%;box-sizing:border-box}.field__input{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}input[type=date],input[type=time],input[type=datetime-local]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date]::-webkit-calendar-picker-indicator{padding:0;margin:0}.timeline{height:50px}.timeline-hour{font-size:10px}label.field{width:100%;max-width:100%;box-sizing:border-box}label.field input{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}form,.modal__form,.modal__form>*{max-width:100%;box-sizing:border-box}.modal input,.modal select,.modal textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.modal__form .field,.modal__form label,.modal__form .field__input{width:100%!important;max-width:100%!important;box-sizing:border-box!important}} .content::-webkit-scrollbar{width:6px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.content::-webkit-scrollbar-thumb:hover{background:#ffffff26}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:#7dd3fc4d;color:var(--color-text)}.toast-container{position:fixed;top:calc(var(--spacing-md) + env(safe-area-inset-top,0px));right:var(--spacing-md);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;width:calc(100% - var(--spacing-md) * 2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);background:var(--color-panel);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);pointer-events:all;animation:slideInRight .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor}.toast--success{color:var(--color-ok);border-left-color:var(--color-ok)}.toast--error{color:var(--color-danger);border-left-color:var(--color-danger)}.toast--info{color:var(--color-accent);border-left-color:var(--color-accent)}.toast__icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast__icon svg{width:100%;height:100%}.toast__message{flex:1;font-size:14px;line-height:1.5;color:var(--color-text)}.toast__close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast__close:hover{background:#ffffff1a;color:var(--color-text)}.toast__close svg{width:16px;height:16px}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.skeleton{background:linear-gradient(90deg,var(--color-panel-light) 0%,var(--color-panel-hover) 50%,var(--color-panel-light) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:480px){.toast-container{left:var(--spacing-sm);right:var(--spacing-sm);width:calc(100% - var(--spacing-sm) * 2)}}.timeline-container{margin:var(--spacing-md) 0;padding:var(--spacing-lg);background:var(--color-panel-light);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);width:100%;box-sizing:border-box}.timeline-label{font-size:clamp(11px,2.5vw,13px);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);word-wrap:break-word;overflow-wrap:break-word}.timeline{position:relative;height:60px;width:100%;box-sizing:border-box}.timeline--detailed{height:80px}.timeline__background{position:absolute;top:30px;left:0;right:0;height:32px;background:#22d39926;border-radius:var(--radius-sm);border:1px solid rgba(34,211,153,.2);overflow:hidden}.timeline__divider{position:absolute;top:0;bottom:0;width:1px;background:#ffffff26;z-index:1}.timeline__segment{position:absolute;top:0;bottom:0;border-radius:0;z-index:2}.timeline__segment--occupied{background:#f87171b3;border:1px solid rgba(248,113,113,.9);box-shadow:0 0 4px #f871714d}.timeline__labels{position:absolute;top:0;left:0;right:0;height:28px;display:flex;align-items:center}.timeline__label{position:absolute;font-size:11px;color:var(--color-text-muted);transform:translate(-50%);font-weight:500}.timeline-hour{flex:1;min-width:0;position:relative;background:#22d3991a;border-radius:3px;transition:background-color .2s ease}.timeline-hour--occupied{background:#f8717166}.timeline-hour__label{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:10px;color:var(--color-text-muted);white-space:nowrap;pointer-events:none}.duration-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.room-card__occupancy{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm)}.occupancy-dot{display:block;width:clamp(8px,1.8vw,10px);height:clamp(8px,1.8vw,10px);border-radius:50%;background:var(--color-ok);box-shadow:0 0 clamp(6px,1.5vw,8px) var(--color-ok)}.room-card__occupancy--busy .occupancy-dot{background:var(--color-danger);box-shadow:0 0 8px var(--color-danger)}.profile-card__edit-btn{background:var(--color-panel);border:1px solid rgba(255,255,255,.1);color:var(--color-text);width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.profile-card__edit-btn:hover{background:var(--color-panel-hover);color:var(--color-text);border-color:#fff3;transform:scale(1.05)}.profile-details{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1)}.profile-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(255,255,255,.05)}.profile-row:last-child{border-bottom:none}.profile-row__label{font-size:clamp(12px,2.8vw,14px);color:var(--color-text-muted);font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.profile-row__value{font-size:clamp(12px,2.8vw,14px);color:var(--color-text);text-align:right;word-wrap:break-word;overflow-wrap:break-word;max-width:60%}.moderation-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.moderation-tabs::-webkit-scrollbar{display:none}.moderation-tabs{scroll-behavior:smooth}.moderation-tab{position:relative;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--color-text-muted);font-size:clamp(12px,2.8vw,14px);font-weight:500;cursor:pointer;border-bottom:clamp(2px,.4vw,2px) solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap;flex-shrink:0;min-width:fit-content}.moderation-tab:hover{color:var(--color-text)}.moderation-tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.moderation-badge{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(18px,4vw,20px);height:clamp(18px,4vw,20px);padding:0 clamp(4px,1vw,6px);background:var(--color-danger);color:#fff;border-radius:clamp(9px,2vw,10px);font-size:clamp(9px,2vw,11px);font-weight:600;flex-shrink:0}.moderation-content{margin-top:var(--spacing-lg)}.moderation-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.moderation-item{padding:var(--spacing-lg);background:var(--color-panel);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md)}.moderation-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.moderation-item__title{font-size:clamp(14px,3.2vw,16px);font-weight:600;color:var(--color-text);word-wrap:break-word;overflow-wrap:break-word}.moderation-item__status{font-size:clamp(10px,2.2vw,12px);padding:clamp(3px,.6vw,4px) clamp(6px,1.5vw,8px);border-radius:var(--radius-sm);background:#fbbf2433;color:var(--color-warning);white-space:nowrap;flex-shrink:0}.moderation-item__content{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:clamp(12px,2.8vw,14px);color:var(--color-text-muted);word-wrap:break-word;overflow-wrap:break-word}.moderation-item__actions{display:flex;gap:var(--spacing-sm)}.notifications-button{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);background:var(--color-panel);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:all .2s ease;padding:0}.notifications-button:hover{background:var(--color-panel-hover);border-color:#fff3}.notifications-button__badge{position:absolute;top:clamp(-3px,-.8vw,-4px);right:clamp(-3px,-.8vw,-4px);display:inline-flex;align-items:center;justify-content:center;min-width:clamp(18px,4vw,20px);height:clamp(18px,4vw,20px);padding:0 clamp(4px,1vw,6px);background:var(--color-danger);color:#fff;border-radius:clamp(9px,2vw,10px);font-size:clamp(9px,2vw,11px);font-weight:600;border:clamp(2px,.4vw,2px) solid var(--color-panel);flex-shrink:0}.notifications-dropdown{padding:0;display:flex;flex-direction:column;overflow:hidden}.notifications-dropdown__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md) var(--spacing-xl);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.notifications-dropdown__title{font-size:clamp(14px,3.2vw,16px);font-weight:600;color:var(--color-text);word-wrap:break-word;overflow-wrap:break-word}.notifications-dropdown__close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.notifications-dropdown__close:hover{background:#ffffff1a;color:var(--color-text)}.notifications-dropdown__content{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding:var(--spacing-md)}.notifications-dropdown__content::-webkit-scrollbar{width:6px}.notifications-dropdown__content::-webkit-scrollbar-track{background:transparent}.notifications-dropdown__content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.notifications-dropdown__content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.notifications-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.notification-item{padding:var(--spacing-md);background:var(--color-panel-light);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);display:flex;justify-content:space-between;gap:var(--spacing-md);transition:all .2s ease}.notification-item--read{opacity:.6}.notification-item__content{flex:1;min-width:0}.notification-item__title{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.notification-item__message{font-size:13px;color:var(--color-text-muted);margin-bottom:var(--spacing-xs);word-wrap:break-word}.notification-item__time{font-size:11px;color:var(--color-text-muted)}.notification-item__actions{display:flex;gap:var(--spacing-xs);align-items:flex-start;flex-shrink:0}.notification-action-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--color-text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease;width:32px;height:32px}.notification-action-btn:hover{background:var(--color-panel-hover);border-color:#fff3;color:var(--color-text)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav__badge{position:absolute;top:clamp(-3px,-.8vw,-4px);right:clamp(-3px,-.8vw,-4px);display:inline-flex;align-items:center;justify-content:center;min-width:clamp(16px,3.5vw,18px);height:clamp(16px,3.5vw,18px);padding:0 clamp(3px,.8vw,4px);background:var(--color-danger);color:#fff;border-radius:9px;font-size:10px;font-weight:600;border:2px solid var(--color-panel)}.nav__item{position:relative}.field__hint{font-size:11px;color:var(--color-text-muted);margin-top:var(--spacing-xs)}
