:root{--brand: #1d5fd6;--brand-dark: #0b1c3d;--brand-accent: #0d9488;--gold: #eab308;--gold-dark: #a16207;--danger: #c23a4b;--success: #0f8b62;--warn: #a16207;--bg: #eaf5fc;--bg-deep: #d9ecfa;--card-bg: #ffffff;--border: #d9e6f4;--text: #0f2038;--text-muted: #5b7186;--heading: #0b1c3d;--ease: cubic-bezier(.2, .8, .2, 1);--tint-neutral: #e7f0fa;--tint-success-bg: #e6f2eb;--tint-warn-bg: #fdf3e6;--tint-warn-border: #f2ddb3;--tint-danger-bg: #fbeef0;--tint-danger-border: #eccdd3;--tint-info-bg: #eef6f0;--tint-info-border: #cfe8d5;--surface-muted: #eef5fb;--surface-disabled: #eef3f8;--text-disabled: #93a3b5;--btn-secondary-bg: #eaf2fb;--btn-secondary-border: #dbe8f7;--btn-secondary-hover-bg: #dcebfa;--btn-secondary-hover-border: #c7ddf3;--surface-frosted: rgba(255, 255, 255, .85);--gradient-brand: linear-gradient(120deg, var(--brand) 0%, var(--brand-accent) 100%);--gradient-deep: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 100%);--gradient-highlight: linear-gradient(120deg, var(--brand-accent) 0%, var(--gold) 100%)}:root[data-theme=dark]{--brand: #4c8dff;--brand-accent: #14b8a6;--danger: #ff6b81;--success: #34d399;--warn: #fbbf24;--bg: #0b1220;--bg-deep: #060a14;--card-bg: #131b2e;--border: #253552;--text: #dce6f5;--text-muted: #8ea3c2;--heading: #eaf1fc;--tint-neutral: #1c2942;--tint-success-bg: #113328;--tint-warn-bg: #3a2d10;--tint-warn-border: #6b4f14;--tint-danger-bg: #3a1620;--tint-danger-border: #6b2436;--tint-info-bg: #10301f;--tint-info-border: #1f5c3c;--surface-muted: #182338;--surface-disabled: #182338;--text-disabled: #55688a;--btn-secondary-bg: #1c2942;--btn-secondary-border: #2c3f61;--btn-secondary-hover-bg: #253a5c;--btn-secondary-hover-border: #34507d;--surface-frosted: rgba(19, 27, 46, .9)}:root[data-theme=dark] body{background:radial-gradient(circle at 12% -5%,#142038 0%,transparent 42%),radial-gradient(circle at 92% 8%,#0e2b26 0%,transparent 40%),radial-gradient(circle at 50% 105%,#1c1a33 0%,transparent 42%),var(--bg)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(circle at 12% -5%,#cfe8fb 0%,transparent 42%),radial-gradient(circle at 92% 8%,#d7f3ee 0%,transparent 40%),radial-gradient(circle at 50% 105%,#e4ddf7 0%,transparent 42%),var(--bg);background-attachment:fixed;color:var(--text);min-height:100vh}button,input,select{font-family:inherit}:root{--truncate-max-width: 160px}:root[data-room-name-width=compact]{--truncate-max-width: 80px}:root[data-room-name-width=full]{--truncate-max-width: none}.truncate-text{max-width:var(--truncate-max-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}input,select{background:var(--card-bg);color:var(--text)}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.app-shell{max-width:900px;margin:0 auto;padding:20px 20px 100px}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px 20px;border-radius:14px;background:linear-gradient(120deg,var(--room-accent, var(--brand)) 0%,var(--brand) 55%,var(--brand-dark) 100%);box-shadow:0 8px 24px -12px #0b1c3d80;transition:background .3s var(--ease)}.app-header__brand{display:flex;align-items:center;gap:12px}.app-header__logo{width:40px;height:40px;border-radius:9px;object-fit:contain;background:#fff;border:none;padding:4px}.app-header h1{font-size:19px;margin:0;line-height:1.2;color:#fff}.app-header__subtitle{margin:0;font-size:12px;color:#ffffffd9}.tabs{display:flex;flex-wrap:wrap;gap:4px;background:#ffffffeb;border:1px solid rgba(255,255,255,.6);border-radius:9px;padding:4px;box-shadow:0 2px 10px #0b1c3d29}.tab{border:none;background:transparent;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-muted);transition:background .15s var(--ease),color .15s var(--ease)}.tab:hover{background:var(--tint-neutral)}.tab--active{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));color:#fff}.tab--active:hover{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark))}.mobile-nav{position:relative}.mobile-nav__trigger{display:flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(255,255,255,.6);background:#ffffffeb;border-radius:9px;padding:9px 14px;box-shadow:0 2px 10px #0b1c3d29;font-size:14px;font-weight:600;color:var(--brand-dark);cursor:pointer}.mobile-nav__icon{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:18px;height:14px;flex:0 0 auto}.mobile-nav__icon span{display:block;height:2px;border-radius:2px;background:var(--brand-dark);transition:transform .18s var(--ease),opacity .18s var(--ease)}.mobile-nav__icon--open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-nav__icon--open span:nth-child(2){opacity:0}.mobile-nav__icon--open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav__backdrop{position:fixed;inset:0;background:#0b1c3d47;z-index:40}.mobile-nav__dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:41;display:flex;flex-direction:column;gap:2px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 12px 28px -10px #0b1c3d66;animation:popIn .15s var(--ease)}.mobile-nav__item{border:none;background:transparent;text-align:left;padding:10px 12px;border-radius:7px;font-size:14px;color:var(--text);cursor:pointer}.mobile-nav__item:hover{background:var(--tint-neutral)}.mobile-nav__item--active{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));color:#fff}section{margin-bottom:22px}h2{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--heading);margin:0 0 10px;display:flex;align-items:center;gap:8px}h2:before{content:"";display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--gradient-brand);flex:0 0 auto}.room-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.room-card-wrapper{position:relative}.room-card{width:100%;text-align:left;border:1px solid var(--border);border-top:4px solid var(--card-accent, var(--brand));background:var(--card-bg);border-radius:10px;padding:12px;cursor:pointer;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease),background .15s var(--ease)}.room-card__qr-btn{position:absolute;top:8px;right:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer;line-height:1.6}.room-card__qr-btn:hover{border-color:var(--card-accent, var(--brand));color:var(--card-accent, var(--brand))}.room-card:hover{border-color:var(--card-accent, var(--brand));border-top-color:var(--card-accent, var(--brand));transform:translateY(-2px);box-shadow:0 6px 16px -8px var(--card-accent, var(--brand))}.room-card:active{transform:translateY(0) scale(.99)}.room-card--selected{border-color:var(--card-accent, var(--brand));background:var(--card-accent-soft, var(--card-bg));box-shadow:0 0 0 1px var(--card-accent, var(--brand))}.room-card__name{font-weight:600}.room-card__meta{font-size:12px;color:var(--text-muted)}.room-card__equipment{display:flex;gap:4px;margin-top:6px}.room-card__equipment-icon{font-size:13px;line-height:1;opacity:.85}.room-card--time-first{cursor:default}.room-card--time-first:hover{border-color:var(--border);transform:none;box-shadow:none}.room-card__badge{border:none;font:inherit;cursor:pointer;display:inline-block;margin-top:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.room-card__badge--open{background:var(--tint-success-bg);color:var(--success)}.room-card__badge--limited{background:var(--tint-warn-bg);color:var(--warn)}.room-card__repeat{display:block;margin-top:8px;padding:4px 10px;font-size:12px}.room-card__badge--full{background:var(--tint-danger-bg);color:var(--danger)}.room-card__badge--muted{background:var(--tint-neutral);color:var(--text-muted)}.badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge--warn{background:var(--tint-warn-bg);color:var(--warn)}.user-limit-editor{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.user-limit-editor label{display:flex;flex-direction:column;gap:4px;font-size:13px}.user-limit-editor label input[type=number]{width:100px}.user-limit-editor__actions{display:flex;gap:8px}.date-picker{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.date-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border);background:var(--card-bg);border-radius:10px;padding:8px 12px;cursor:pointer;min-width:64px;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease),transform .1s var(--ease)}.date-chip:hover{border-color:var(--room-accent, var(--brand));transform:translateY(-1px)}.date-chip--selected{border-color:var(--room-accent, var(--brand));background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));color:#fff}.date-chip--closed{cursor:not-allowed;opacity:.45;background:var(--card-bg)}.date-chip--closed:hover{border-color:var(--border);transform:none}.date-chip--today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.date-chip--today .date-chip__weekday{color:var(--gold-dark)}.date-chip__weekday{font-size:11px;text-transform:uppercase}.date-chip__day{font-weight:600;font-size:14px}.date-chip__reason{font-size:10px;line-height:1.2;color:var(--text-muted);text-align:center;max-width:84px;white-space:normal;margin-top:2px}.quick-booking{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px}.quick-booking__durations{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.quick-booking__label{font-size:13px;color:var(--text-muted);margin-right:2px}.quick-booking__starts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.quick-booking__chip{border:1px solid var(--room-accent, var(--brand));background:var(--room-accent-soft, #e3effc);color:var(--text);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;transition:background .15s var(--ease),transform .1s var(--ease)}.quick-booking__chip:hover{background:var(--room-accent, var(--brand));color:#fff}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.hour-block{border:1px solid var(--border);border-radius:10px;background:var(--card-bg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s var(--ease)}.hour-block:has(.slot--selected){box-shadow:0 0 0 2px var(--card-accent-soft, var(--room-accent-soft, #e3effc))}.hour-block__full{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:none;border-bottom:1px solid var(--border);background:var(--surface-muted);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s var(--ease),border-color .15s var(--ease)}button.hour-block__full:hover{background:var(--card-accent-soft, var(--room-accent-soft, #e3effc))}.hour-block__full--selected{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));border-bottom-color:transparent}.hour-block__full--selected .hour-block__time,.hour-block__full--selected .hour-block__hint{color:#fff}.hour-block__full--status{cursor:default;flex-direction:column;align-items:flex-start;gap:2px}.hour-block__full--status .hour-block__hint{white-space:normal;overflow:visible;text-overflow:clip}.hour-block__full--booked{background:var(--tint-danger-bg)}.hour-block__full--booked .hour-block__hint{color:var(--danger)}.hour-block__full--partial{background:var(--tint-warn-bg)}.hour-block__full--partial .hour-block__hint{color:var(--warn)}.hour-block__time{font-weight:700;font-size:12px;color:var(--text);white-space:nowrap}.hour-block__hint{color:var(--text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.hour-block__halves{display:flex;flex:1}.hour-block__halves .slot{flex:1;border:none;border-radius:0}.hour-block__halves .slot:first-child{border-right:1px solid var(--border)}.slot{border:1px solid var(--border);border-radius:8px;padding:10px;text-align:left;cursor:pointer;background:var(--card-bg);display:flex;flex-direction:column;gap:4px;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease),transform .1s var(--ease),box-shadow .15s var(--ease)}.slot__time{font-weight:600;font-size:13px}.slot__owner{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.slot__viewer-time{font-size:10px;color:var(--text-muted);font-style:italic}.slot--selected .slot__viewer-time{color:#ffffffbf}.slot--available:hover{border-color:var(--room-accent, var(--brand));transform:translateY(-1px);box-shadow:0 2px 6px -1px var(--room-accent, var(--brand))}.slot--available:active{transform:translateY(0) scale(.98)}.slot--selected{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));border-color:var(--room-accent, var(--brand));color:#fff;transform:scale(1.01)}.slot--selected .slot__owner{color:#ffffffd9}.slot--booked{background:var(--tint-danger-bg);border-color:var(--tint-danger-border);cursor:pointer}.slot--booked:hover{border-color:var(--danger)}.slot--booked .slot__time{color:var(--danger)}.slot--held{background:var(--tint-warn-bg);border-color:var(--tint-warn-border);cursor:pointer}.slot--held .slot__time{color:var(--warn)}.slot__owner--pulse{animation:pulse 1.4s ease-in-out infinite}.swap-request-tag{align-self:flex-start;margin-top:2px;border:none;background:#c4314b1f;color:var(--danger);font-size:10px;font-weight:700;padding:3px 7px;border-radius:999px;cursor:pointer;transition:background .15s var(--ease)}.swap-request-tag:hover{background:#c4314b38}.slot--past{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed}.slot--partial:not(.slot--selected){border-style:dashed;border-color:var(--warn)}.slot__owner--partial{color:var(--warn);font-weight:600}.slot--selected.slot--partial .slot__owner{color:#ffffffe6;font-weight:600}.book-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface-frosted);border-top:3px solid var(--room-accent, var(--brand));box-shadow:0 -8px 24px -14px #0b1c3d66;padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .3s var(--ease)}.btn{border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s var(--ease),transform .1s var(--ease),box-shadow .15s var(--ease),opacity .15s var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn-link{border:none;background:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--brand-dark)}.btn--primary{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));color:#fff;box-shadow:0 4px 14px -6px var(--room-accent, var(--brand))}.btn--primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px -6px var(--room-accent, var(--brand))}.btn--primary:disabled{background:#c3d3e6;box-shadow:none;cursor:not-allowed}.btn--secondary{background:var(--btn-secondary-bg);color:var(--heading);border:1px solid var(--btn-secondary-border)}.btn--secondary:hover:not(:disabled){background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border)}.btn--link{background:transparent;padding:4px 0;color:var(--room-accent, var(--brand));text-decoration:underline;font-size:13px}.btn--link:hover:not(:disabled){opacity:.75}.btn--danger-outline{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn--danger-outline:hover:not(:disabled){background:var(--tint-danger-bg)}.btn:disabled{opacity:.6;cursor:not-allowed}.banner{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.app-header__right{display:flex;align-items:center;gap:10px}.notif-bell{position:relative;flex-shrink:0}.notif-bell__trigger{position:relative;border:none;background:#ffffffeb;border-radius:8px;width:38px;height:38px;font-size:17px;cursor:pointer;box-shadow:0 2px 10px #0000001f;transition:transform .1s var(--ease)}.notif-bell__trigger:hover{transform:translateY(-1px)}.notif-bell__badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center}.notif-backdrop{position:fixed;inset:0;z-index:90;background:#0b1c3d59;animation:fadeIn .15s var(--ease)}.notif-panel{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(380px,100vw);background:var(--card-bg);border-left:1px solid var(--border);box-shadow:-16px 0 40px -14px #0b1c3d59;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s var(--ease)}.notif-panel--open{transform:translate(0)}.notif-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:16px;border-bottom:1px solid var(--border);background:var(--gradient-brand);flex:0 0 auto}.notif-panel__header h3{margin:0;font-size:15px;color:#fff}.notif-panel__subtitle{margin-top:2px;font-size:11.5px;color:#ffffffd9}.notif-panel__push-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border);cursor:pointer;flex:0 0 auto}.notif-panel__header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.notif-panel__mark-all{border:none;background:#ffffff2e;color:#fff;font-size:11px;font-weight:700;cursor:pointer;padding:5px 9px;border-radius:6px;white-space:nowrap}.notif-panel__mark-all:hover{background:#ffffff47}.notif-panel__close{border:none;background:#ffffff2e;color:#fff;width:26px;height:26px;border-radius:6px;font-size:16px;line-height:1;cursor:pointer}.notif-panel__close:hover{background:#ffffff47}.notif-panel .empty-state{padding:20px 16px;margin:0}.notif-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto}.notif-item{border-bottom:1px solid var(--border)}.notif-item--unread{background:var(--room-accent-soft, #e3effc)}.notif-item__row{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s var(--ease)}.notif-item__row:hover{background:#0b1c3d0a}.notif-item__dot{flex:0 0 auto;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--brand)}.notif-item__body{flex:1 1 auto;min-width:0}.notif-item__meta{display:flex;align-items:center;gap:6px;margin-bottom:3px;flex-wrap:wrap}.notif-item__kind{font-size:11px;font-weight:700;color:var(--heading)}.notif-item__urgent{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em}.notif-item__time{margin-left:auto;font-size:10.5px;color:var(--text-muted);white-space:nowrap}.notif-item__text{font-size:13px;color:var(--text);line-height:1.5}.notif-item--expanded .notif-item__text{white-space:pre-wrap}.notif-item__action{margin:0 16px 12px;font-size:12.5px;padding:6px 12px}@media(max-width:480px){.notif-panel{width:100vw}}.toast-stack{position:fixed;top:16px;right:16px;z-index:100;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px))}.toast{--toast-accent: #ffd54a;display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#3355d8,#1f3aa8);border-left:5px solid var(--toast-accent);border-radius:10px;padding:12px 12px 12px 14px;box-shadow:0 14px 34px -12px #1f3aa88c}.toast--success{--toast-accent: #4ade80}.toast--error{--toast-accent: #ff7a7a}.toast--warn,.toast--queue{--toast-accent: #ffd54a}.toast__icon{font-size:15px;color:var(--toast-accent);flex-shrink:0;margin-top:2px}.toast__body{flex:1;min-width:0}.toast__kind{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffd54a;margin-bottom:3px}.toast__text{font-size:13px;line-height:1.45;color:#fff}.toast__action{display:block;margin-top:8px;background:#ffd54a;color:#1f3aa8;border:none;border-radius:6px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;transition:filter .15s var(--ease)}.toast__action:hover{filter:brightness(1.08)}.toast__close{border:none;background:transparent;color:#ffffffb3;font-size:17px;line-height:1;cursor:pointer;padding:0 2px;flex-shrink:0;transition:color .15s var(--ease)}.toast__close:hover{color:#fff}.toast-in{animation:toastIn .22s var(--ease)}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(max-width:640px){.toast-stack{left:12px;right:12px;top:12px;width:auto}}.banner--error{background:var(--tint-danger-bg);color:var(--danger);border:1px solid var(--tint-danger-border)}.banner--info{background:var(--tint-info-bg);color:var(--success);border:1px solid var(--tint-info-border)}.banner--warn{background:var(--tint-warn-bg);color:var(--warn);border:1px solid var(--tint-warn-border)}.booking-panel{background:var(--card-bg);border:2px solid var(--room-accent, var(--brand));border-radius:12px;padding:20px;box-shadow:0 8px 24px -12px var(--room-accent, var(--brand));animation:popIn .18s var(--ease)}.booking-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-panel__header h2{text-transform:none;font-size:16px;letter-spacing:normal;color:var(--text);margin:0}.booking-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:560px){.booking-panel__grid{grid-template-columns:1fr}}.hold-timer{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--text-muted);background:var(--tint-neutral);padding:3px 8px;border-radius:999px;transition:color .2s var(--ease),background .2s var(--ease)}.hold-timer--urgent{color:var(--danger);background:var(--tint-danger-bg);animation:pulse 1s ease-in-out infinite}.waiting-indicator{display:inline-flex;align-items:center;gap:8px}.waiting-indicator__dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex-shrink:0;animation:pulse 1.2s ease-in-out infinite}.lineup{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.lineup__item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--border)}.lineup__item:last-child{border-bottom:none}.lineup__item--current{background:var(--card-accent-soft, var(--room-accent-soft, #e3effc))}.lineup__badge{flex-shrink:0;min-width:32px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);background:var(--tint-neutral);border-radius:999px;padding:2px 6px}.lineup__item--current .lineup__badge{background:var(--room-accent, var(--brand));color:#fff}.lineup__name{flex:1;font-weight:600}.lineup__eta{font-size:12px;color:var(--text-muted);flex-shrink:0}.modal__summary{font-size:13px;color:var(--text-muted)}.modal__slots{font-size:13px;margin:0 0 12px;padding-left:18px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:12px;color:var(--text-muted)}.field__hint{font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.field__error{font-size:12px;color:var(--danger)}.id-tag{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;color:var(--text-muted);background:var(--tint-neutral);border-radius:6px;padding:2px 6px;white-space:nowrap}.field__readonly{font-size:14px;color:var(--text);padding:8px;border-radius:6px;background:var(--tint-neutral)}.field input,.field select{font-size:14px;padding:8px;border-radius:6px;border:1px solid var(--border);color:var(--text);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input:focus,.field select:focus{outline:none;border-color:var(--room-accent, var(--brand));box-shadow:0 0 0 3px var(--card-accent-soft, rgba(57, 86, 140, .15))}.modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.empty-state{color:var(--text-muted);font-size:14px}.my-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.my-bookings-section+.my-bookings-section{margin-top:22px}.my-bookings-section__heading{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.my-booking-card--readonly{opacity:.82}.booking-type-badge--event{background:var(--tint-neutral);color:var(--text-muted)}.my-booking-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);background:var(--card-bg);border-radius:10px;padding:12px;transition:box-shadow .15s var(--ease)}.my-booking-card:hover{box-shadow:0 2px 8px #0000000f}.my-booking-card__body{flex:1}.my-booking-card__title{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-type-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.booking-type-badge--standalone{background:var(--tint-neutral);color:var(--text-muted)}.booking-type-badge--recurring{background:var(--tint-info-bg, var(--tint-neutral));color:var(--room-accent, var(--brand))}.my-booking-card__meta{font-size:12px;color:var(--text-muted)}.my-booking-card__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;flex-shrink:0}.my-booking-card__actions-col{display:flex;flex-direction:column;gap:6px}.my-booking-card__actions .btn{white-space:nowrap}.my-booking-card--series{flex-direction:column;align-items:stretch;gap:10px}.my-booking-card__series-summary{display:flex;align-items:flex-start;gap:12px}.my-bookings--series-dates{margin:0;padding-left:16px;border-left:2px solid var(--border)}.checked-in-badge{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--tint-success-bg);color:var(--success);font-size:12px;font-weight:700;text-align:center;white-space:nowrap}.my-booking-card__slots{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:3px}.my-booking-card__slots li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-muted)}.slot-swap-btn{border:1px solid var(--room-accent, var(--brand));background:var(--tint-info-bg, var(--tint-neutral));border-radius:999px;color:var(--room-accent, var(--brand));font-size:11px;font-weight:700;cursor:pointer;padding:4px 10px;white-space:nowrap;flex-shrink:0;transition:background .15s var(--ease),color .15s var(--ease)}.slot-swap-btn:hover:not(:disabled){background:var(--room-accent, var(--brand));color:#fff}.slot-swap-btn:disabled{opacity:.6;cursor:default}.swap-picker,.reassign-form{margin-top:10px;padding:12px;border:1px dashed var(--border);border-radius:8px;background:var(--bg)}.reassign-form .btn{margin-top:4px}.swap-picker__list{list-style:none;margin:8px 0 0;padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.swap-picker__list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:6px 8px;background:var(--card-bg);border:1px solid var(--border);border-radius:6px}.pending-swap-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:20px;border:2px solid var(--room-accent, var(--brand));border-radius:10px;background:var(--room-accent-soft, #e3effc)}.pending-swap-banner strong{font-size:14px;color:var(--text)}.pending-swap-banner__meta{font-size:12px;color:var(--text-muted);margin:2px 0 6px}.pending-swap-banner p{margin:0;font-size:13px;color:var(--text)}.swap-inbox{margin-bottom:22px}.swap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.swap-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.swap-row__body{flex:1;min-width:0}.swap-row__text{font-size:13px;color:var(--text)}.swap-row__message{margin-top:6px;padding:6px 10px;border-left:3px solid var(--room-accent, var(--brand));background:var(--card-bg);font-size:12px;font-style:italic;color:var(--text-muted);border-radius:0 6px 6px 0}.swap-row__actions{display:flex;gap:8px;flex-shrink:0}.swap-decline-form{margin-top:8px}.swap-decline-form textarea{width:100%;font-size:13px;font-family:inherit;padding:8px;border-radius:6px;border:1px solid var(--border);resize:vertical;margin-bottom:8px}.priority-badge{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.priority-badge--low{background:var(--tint-neutral);color:var(--text-muted)}.priority-badge--high{background:var(--tint-warn-bg);color:var(--warn)}.priority-badge--urgent{background:var(--danger);color:#fff}.avatar{border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;line-height:1}.admin-login{max-width:360px}.admin-login__form{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.admin-login__form input{flex:1;min-width:140px;padding:8px;border-radius:6px;border:1px solid var(--border)}.admin-panel__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.admin-fieldset{border:0;padding:0;margin:0;min-width:0}.admin-section h3{margin:0 0 12px;font-size:14px}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px}.plan-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--bg)}.plan-card--current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.plan-card h4{margin:0;font-size:14px}.plan-card__price{font-size:13px;font-weight:700;color:var(--room-accent, var(--brand))}.plan-card__features{margin:0;padding-left:18px;font-size:12px;color:var(--text-muted);flex:1}.plan-card__features li{margin-bottom:4px}.status-row{display:flex;align-items:center;gap:8px;font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.status-dot--ok{background:var(--success)}.status-dot--off{background:var(--text-muted, #8b8f9a)}.admin-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.admin-list__row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.admin-list--room{gap:14px}.admin-list__row--room{grid-template-columns:1.2fr 1fr 1.2fr 70px auto;border:1px solid var(--border);background:var(--card-bg);border-radius:10px;padding:14px;transition:box-shadow .15s var(--ease)}.admin-list__row--room:hover{box-shadow:0 2px 8px #0000000f}.admin-list__row--team{grid-template-columns:1fr 1fr auto auto}.team-roster{margin:4px 0 14px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.team-roster__list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.team-roster__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.team-roster__add,.admin-list__row--admin,.admin-list__row--wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-list__row--wrap>input{flex:1 1 160px;min-width:140px}.admin-list__row--wrap>.field__hint,.admin-list__row--wrap>.banner{flex-basis:100%}.admin-list__row--admin>div:first-child{flex:1 1 160px;min-width:140px}.admin-list__row input,.admin-list__row select{padding:7px 8px;border-radius:6px;border:1px solid var(--border);font-size:13px;min-width:0}.admin-add-row{display:grid;grid-template-columns:1fr auto;gap:8px}.admin-add-row--room{grid-template-columns:1.2fr 1fr 1.2fr 70px auto}.admin-add-row--team{grid-template-columns:1fr 1fr auto}.admin-add-row--admin{display:flex;flex-wrap:wrap;gap:8px}.admin-add-row--admin input,.admin-add-row--admin select{flex:1 1 140px;min-width:120px}.admin-add-row input,.admin-add-row select{padding:8px;border-radius:6px;border:1px solid var(--border);font-size:13px;min-width:0}.logo-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}.logo-row__controls{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.logo-preview{width:56px;height:56px;border-radius:10px;object-fit:contain;background:var(--bg);border:1px solid var(--border)}.logo-preview--empty{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);text-align:center}.hours-row{display:flex;gap:16px;margin-bottom:4px}.duration-toggle-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.duration-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.room-availability-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}.room-equipment-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.room-kiosk-row{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px}.room-kiosk-row a{color:var(--room-accent, var(--brand));font-weight:600}.link-button{background:none;border:none;padding:0;color:var(--room-accent, var(--brand));font-weight:600;font-size:inherit;cursor:pointer}.room-qr-row{flex-direction:column;align-items:flex-start}.room-qr-row__code{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;padding:12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px}.room-qr-row__code a{word-break:break-all;color:var(--room-accent, var(--brand))}.room-qr-row__title{font-weight:600;margin:0 0 2px}.qr-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.qr-modal{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.qr-modal__close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:22px;line-height:1;color:var(--text-muted);cursor:pointer;padding:4px}.qr-modal__title{margin:4px 0 0}.qr-modal__code{margin:8px 0;padding:12px;background:#fff;border-radius:8px}.qr-modal__link{word-break:break-all;font-size:12px;color:var(--room-accent, var(--brand))}.room-availability-row input[type=text],.room-availability-row input:not([type=checkbox]){flex:1 1 220px;padding:7px 8px;border-radius:6px;border:1px solid var(--border);font-size:13px}.multi-date-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.multi-date-list__row{display:flex;align-items:center;gap:8px}.multi-date-list__row input{padding:7px 8px;border-radius:6px;border:1px solid var(--border);font-size:13px}.series-dates-list{margin-top:8px;padding-left:4px;border-left:2px solid var(--border)}.series-dates-list .admin-list__row{grid-template-columns:1fr auto;padding:4px 0;font-size:13px}.filter-bar{display:flex;flex-direction:column;gap:10px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:16px}.filter-bar__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-bar__row select{padding:7px 10px;border-radius:6px;border:1px solid var(--border);font-size:13px;background:var(--card-bg);color:var(--text)}.period-tabs{display:flex;gap:4px;flex-wrap:wrap}.equipment-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.booking-mode-toggle{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.time-first-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.time-first-controls__slots{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 320px}.time-first-controls__duration{flex:0 0 auto;min-width:160px}.time-first-results{margin-top:20px}.time-first-results h3{margin-bottom:10px}.voice-booking-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.voice-booking-control__transcript{font-style:italic;color:var(--text-muted)}.voice-booking-control__listening{color:var(--brand);font-weight:600}.voice-booking-control__heard{padding:8px 12px;background:var(--tint-success-bg);color:var(--success);border-radius:8px;font-size:13px}.ai-assistant-cluster{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.ai-assistant-fab{position:relative;z-index:2;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 50% 35%,#fff,#e4edfb);box-shadow:0 14px 30px -10px #1d5fd699;transition:transform .15s ease;padding:0;overflow:hidden}.ai-assistant-fab--open{background:var(--gradient-brand, linear-gradient(120deg, var(--brand), var(--brand-accent)))}.ai-assistant-fab:hover{transform:translateY(-2px) scale(1.04)}.ai-assistant-backdrop{position:fixed;inset:0;z-index:1;background:transparent}.ai-assistant-panel{position:relative;z-index:2;width:min(360px,calc(100vw - 48px));max-height:min(480px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px -20px #0f203880;padding:14px;overflow:hidden}.ai-assistant-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ai-assistant-panel__header h3{margin:0;font-size:15px;display:flex;align-items:center;gap:7px}.ai-assistant-panel__close{border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:4px;line-height:1}.ai-assistant-panel__close:hover{color:var(--text)}.ai-assistant-panel__transcript{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:8px 0;min-height:80px}.ai-assistant-msg{max-width:85%;padding:6px 10px;border-radius:10px;font-size:13px;line-height:1.4}.ai-assistant-msg--user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:2px}.ai-assistant-msg--assistant{align-self:flex-start;background:var(--bg);border:1px solid var(--border);border-bottom-left-radius:2px}.ai-assistant-panel__input-row{display:flex;gap:6px;margin-top:8px}.ai-assistant-panel__input-row input{flex:1;min-width:0;padding:8px;border-radius:6px;border:1px solid var(--border)}.chip{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-muted);transition:all .15s var(--ease)}.chip:hover{border-color:var(--room-accent, var(--brand))}.chip--active{background:linear-gradient(120deg,var(--room-accent, var(--brand)),var(--brand-dark));border-color:transparent;color:#fff}.period-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.period-nav__arrow{padding:4px 10px;font-size:16px;line-height:1}.period-nav__label{font-size:13px;font-weight:600;min-width:140px;text-align:center}.history-summary{font-size:13px;color:var(--text-muted);margin:0 0 12px}.table-wrap{overflow-x:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.data-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.data-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);transition:color .15s var(--ease)}.data-table th:hover{color:var(--text)}.data-table__th--active{color:var(--room-accent, var(--brand))}.data-table__sort-arrow{font-size:10px}.data-table td{padding:9px 14px;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--room-accent-soft, #f7f7fb)}.data-table__row--muted td{opacity:.65}.data-table__row--clickable{cursor:pointer}.history-status-filter{max-width:220px;margin-bottom:12px}.meeting-status{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.meeting-status--upcoming{background:var(--tint-info-bg, var(--tint-neutral));color:var(--room-accent, var(--brand))}.meeting-status--checkindue{background:var(--tint-warn-bg);color:var(--warn)}.meeting-status--startingsoon{background:var(--tint-info-bg, var(--tint-neutral));color:var(--room-accent, var(--brand))}.meeting-status--expiringsoon{background:var(--tint-warn-bg);color:var(--danger)}.meeting-status--started,.meeting-status--ongoing{background:var(--tint-warn-bg);color:var(--warn)}.meeting-status--done{background:var(--tint-neutral);color:var(--text-muted)}.meeting-status--expired{background:var(--tint-warn-bg);color:var(--danger)}.meeting-status--cancelled{background:var(--tint-neutral);color:var(--text-muted)}.meeting-status--swapped{background:var(--tint-success-bg);color:var(--success)}.meeting-status--swapreversed{background:var(--tint-warn-bg);color:var(--warn)}.meeting-status--reassigned{background:var(--tint-info-bg, var(--tint-neutral));color:var(--room-accent, var(--brand))}.meeting-status--unknown{background:var(--tint-neutral);color:var(--text-muted)}.feature-availability-table th:not(:first-child){text-align:center}.feature-availability-table__mark{text-align:center;font-size:15px;font-weight:700}.feature-availability-table__yes{color:var(--success)}.feature-availability-table__no{color:var(--text-muted);opacity:.5}.status-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.status-pill--pending{background:var(--tint-warn-bg);color:var(--warn)}.status-pill--approved{background:var(--tint-info-bg, var(--tint-neutral));color:var(--room-accent, var(--brand))}.status-pill--rejected{background:var(--tint-warn-bg);color:var(--danger)}.status-pill--in-development{background:var(--tint-success-bg);color:var(--success)}.status-pill--completed{background:var(--tint-neutral);color:var(--text-muted)}.feature-request-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px}.feature-request-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-request-card__messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.feature-request-message{padding:6px 10px;border-radius:8px;font-size:13px;background:var(--tint-neutral)}.feature-request-message--superadmin{background:var(--tint-info-bg, var(--tint-neutral))}.feature-request-message--developer{background:var(--tint-success-bg, var(--tint-info-bg, var(--tint-neutral)))}.feature-request-card__reply{display:flex;gap:8px}.feature-request-card__reply input{flex:1}.data-table__actions-cell{white-space:nowrap}.history-row-actions{display:flex;gap:6px;flex-wrap:wrap}.btn--tiny{padding:4px 8px;font-size:11px}.data-table__expanded-cell{background:var(--bg);padding:12px 14px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat-tile{background:var(--card-bg);border:1px solid var(--border);border-top:3px solid var(--room-accent, var(--brand));border-radius:10px;padding:14px}.stat-tile__label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.stat-tile__value{font-size:26px;font-weight:700;color:var(--text);line-height:1.1}.stat-tile__value--small{font-size:16px}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.chart-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.chart-card--wide{grid-column:1 / -1}.chart-card h3{margin:0 0 4px;font-size:13px;color:var(--text)}.chart-card__subtitle{font-size:12px;color:var(--text-muted);margin:0 0 12px}.chart-tooltip{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;box-shadow:0 4px 16px #0000001a}.chart-tooltip__label{font-weight:600;margin-bottom:2px}.config-page{max-width:480px;margin:32px auto;padding:0 20px;text-align:center}.config-page__logo{width:56px;height:56px;border-radius:12px;object-fit:contain;margin-bottom:12px}.config-page h1{font-size:20px;margin:0 0 12px;background:linear-gradient(120deg,var(--brand),var(--brand-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.config-page p{font-size:14px;color:var(--text-muted);line-height:1.5}.developer-portal{--dp-1: #6366f1;--dp-2: #06b6d4;--dp-3: #ec4899;--dp-4: #f59e0b;--dp-gradient: linear-gradient(120deg, var(--dp-1) 0%, var(--dp-2) 55%, var(--dp-3) 100%);--dp-gradient-soft: linear-gradient(120deg, color-mix(in srgb, var(--dp-1) 16%, transparent), color-mix(in srgb, var(--dp-2) 16%, transparent));max-width:1360px;margin:28px auto 60px;padding:0 20px 40px}.admin-panel.developer-portal{--dp-1: #f97316;--dp-2: #8b5cf6;--dp-3: #f43f5e;--dp-4: #14b8a6}.developer-portal__topbar{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 26px;margin-bottom:20px;border-radius:22px;color:#fff;background:var(--dp-gradient);background-size:200% 200%;animation:dpAurora 14s ease-in-out infinite;box-shadow:0 20px 45px -22px #6366f1a6}.developer-portal__topbar:before{content:"";position:absolute;inset:-60% -10% auto auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.32),transparent 70%);pointer-events:none}@keyframes dpAurora{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.developer-portal__topbar{animation:none}}.developer-portal__brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.developer-portal__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border-radius:15px;background:#fffffff0;border:1px solid rgba(255,255,255,.6)}.developer-portal__topbar h2{margin:0;color:#fff;font-size:21px;letter-spacing:-.01em}.developer-portal__brand-sub{margin:2px 0 0;font-size:12.5px;color:#ffffffe0}.developer-portal__header-actions{position:relative;z-index:1;display:flex;gap:8px}.developer-portal__header-actions .btn--secondary{background:#ffffff29;border-color:#fff6;color:#fff}.developer-portal__header-actions .btn--secondary:hover:not(:disabled){background:#ffffff47;border-color:#ffffff8c}.role-badge{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;color:#fff}.role-badge--superadmin{background:#ffffff52;border:1px solid rgba(255,255,255,.55)}.role-badge--admin{background:#ffffff24;border:1px solid rgba(255,255,255,.32)}.developer-portal__shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:20px;align-items:start}.developer-portal__nav{position:sticky;top:20px;display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:18px;background:var(--surface-frosted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:0 14px 34px -22px #0f203859}.developer-portal__nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:12px;cursor:pointer;color:var(--text-muted);font-size:13.5px;font-weight:600;text-align:left;transition:background .2s var(--ease),color .2s var(--ease),transform .15s var(--ease),box-shadow .2s var(--ease)}.developer-portal__nav-item:hover{background:var(--dp-gradient-soft);color:var(--text);transform:translate(2px)}.developer-portal__nav-icon{display:inline-flex;flex-shrink:0;line-height:0}.developer-portal__nav-item:not(.developer-portal__nav-item--active):nth-child(4n+1) .developer-portal__nav-icon{color:var(--dp-1)}.developer-portal__nav-item:not(.developer-portal__nav-item--active):nth-child(4n+2) .developer-portal__nav-icon{color:var(--dp-2)}.developer-portal__nav-item:not(.developer-portal__nav-item--active):nth-child(4n+3) .developer-portal__nav-icon{color:var(--dp-3)}.developer-portal__nav-item:not(.developer-portal__nav-item--active):nth-child(4n+4) .developer-portal__nav-icon{color:var(--dp-4)}.developer-portal__nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.developer-portal__nav-item--active{color:#fff;background:var(--dp-gradient);box-shadow:0 10px 24px -10px #6366f1a6}.developer-portal__nav-item--active:hover{transform:none}.developer-portal__nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--dp-3);color:#fff;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.developer-portal__nav-item--active .developer-portal__nav-badge{background:#ffffff52}.developer-portal__content{min-width:0}.developer-portal__tab-panel{animation:dpTabIn .32s var(--ease)}@keyframes dpTabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.developer-portal__tab-panel{animation:none}}@media(max-width:900px){.developer-portal__shell{grid-template-columns:1fr}.developer-portal__nav{position:static;flex-direction:row;overflow-x:auto;gap:6px}.developer-portal__nav-item{flex:0 0 auto}.developer-portal__nav-label{display:none}.developer-portal__nav-item{padding:10px}}.developer-portal .admin-section{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 12px 30px -24px #0f203866;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.developer-portal .admin-section:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--dp-gradient)}.developer-portal .admin-section:hover{box-shadow:0 18px 38px -22px #0f203873}.developer-portal .admin-section h3{display:flex;align-items:center;gap:8px;font-size:15px}.developer-portal .btn--primary{background:var(--dp-gradient);box-shadow:0 8px 20px -8px #6366f18c}.developer-portal .btn--primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 10px 24px -8px #6366f199;transform:translateY(-1px)}.developer-portal .btn--secondary:not(:disabled):hover{transform:translateY(-1px)}.developer-portal .table-wrap{border-radius:14px}.developer-portal .data-table th{background:var(--tint-neutral)}.developer-portal .data-table tr:hover td{background:var(--dp-gradient-soft)}.developer-portal .status-pill{box-shadow:0 0 0 1px #fff6 inset}.developer-portal .stat-tile:nth-of-type(4n+1){--stat-accent: var(--dp-1)}.developer-portal .stat-tile:nth-of-type(4n+2){--stat-accent: var(--dp-2)}.developer-portal .stat-tile:nth-of-type(4n+3){--stat-accent: var(--dp-3)}.developer-portal .stat-tile:nth-of-type(4n+4){--stat-accent: var(--dp-4)}.developer-portal .stat-tile{border-top-color:var(--stat-accent, var(--brand));background:linear-gradient(180deg,color-mix(in srgb,var(--stat-accent, var(--brand)) 9%,var(--card-bg)) 0%,var(--card-bg) 70%)}.developer-portal__login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.developer-portal__login{position:relative;width:100%;max-width:420px;margin:0;padding:36px 32px 32px;border-radius:22px;overflow:hidden;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 32px 80px -30px #0f20388c}.developer-portal__login:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--dp-gradient, linear-gradient(120deg, #6366f1, #06b6d4, #ec4899))}.developer-portal__login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:18px}.developer-portal__login-mark{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;margin-bottom:6px}.developer-portal__login-logo{width:60px;height:60px;border-radius:18px;object-fit:contain;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 12px 28px -10px #6366f159;margin-bottom:6px}.developer-portal__login-mark svg{width:52px;height:52px}.developer-portal__login-brand h2{margin:0;font-size:24px;text-transform:none;letter-spacing:normal;justify-content:center}.developer-portal__login-brand h2:before{content:none}.developer-portal__login-brand .developer-portal__brand-sub{margin:0;color:var(--text-muted)}.developer-portal__login .empty-state{text-align:center}.developer-portal__login .admin-login__form{flex-direction:column;flex-wrap:nowrap}.developer-portal__login .admin-login__form input{min-width:0;padding:11px 12px}.developer-portal__login .admin-login__form .btn--primary{margin-top:2px}.developer-portal__login .btn--primary{background:linear-gradient(120deg,#6366f1,#06b6d4 55%,#ec4899);box-shadow:0 8px 20px -8px #6366f18c}.signup-landing-page{--dp-1: #6366f1;--dp-2: #06b6d4;--dp-3: #ec4899;--dp-4: #f59e0b;--dp-gradient: linear-gradient(120deg, var(--dp-1) 0%, var(--dp-2) 55%, var(--dp-3) 100%);--dp-gradient-soft: linear-gradient(120deg, color-mix(in srgb, var(--dp-1) 16%, transparent), color-mix(in srgb, var(--dp-2) 16%, transparent));--px: .5;--py: .5;padding:0;align-items:stretch;justify-content:stretch;overflow:hidden}.signup-landing__topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 4px 0}.signup-landing__topbar-brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.015em;color:var(--text)}.signup-landing__topbar-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff}.signup-landing__topbar-link{font-size:13px;font-weight:600;color:var(--text-muted)}.signup-landing__topbar-link:hover{color:var(--dp-1)}.signup-landing__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:28px 12px 8px}.signup-landing__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--dp-1);background:var(--dp-gradient-soft);border:1px solid color-mix(in srgb,var(--dp-1) 30%,transparent)}.signup-landing__eyebrow--section{margin-bottom:2px;align-self:center}.signup-landing__hero-title{margin:0;font-size:clamp(38px,5.4vw,62px);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--text)}.signup-landing__hero-title-accent{background:linear-gradient(100deg,var(--dp-1),var(--dp-2),var(--dp-3),var(--dp-2),var(--dp-1));background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:signup-text-flow 9s linear infinite}@keyframes signup-text-flow{to{background-position:260% 50%}}.signup-landing__hero-sub{margin:0;max-width:560px;font-size:16px;line-height:1.55;color:var(--text-muted)}.signup-landing__hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:6px}.signup-landing__cta{padding:13px 28px;font-size:15px;white-space:nowrap;border-radius:14px;background:var(--dp-gradient);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--dp-1) 65%,transparent)}.signup-landing__ghost-link{font-weight:600;font-size:14.5px;color:var(--text);padding-bottom:2px;border-bottom:2px solid transparent}.signup-landing__ghost-link:hover{border-bottom-color:var(--dp-2)}.signup-landing__ghost-link--btn{background:none;border:none;border-bottom:2px solid transparent;padding:0 0 2px;font:inherit;cursor:pointer}.signup-pager{width:100%;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.signup-slide{position:relative;width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.signup-slide__video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.5) saturate(1.1);pointer-events:none}.signup-slide__inner{position:relative;z-index:1;width:100%;max-width:760px;max-height:calc(100dvh - 48px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:36px 32px;border-radius:24px;background:var(--surface-frosted, var(--card-bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:0 30px 60px -40px #0f203859,inset 0 1px #ffffff59,inset 0 -1px #ffffff0f}.signup-slide__inner>*,.signup-bento>*,.signup-landing__plan-grid>*,.signup-steps>*,.signup-roles>*,.signup-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i, 0) * 70ms)}.signup-slide--visible .signup-slide__inner>*,.signup-slide--visible .signup-bento>*,.signup-slide--visible .signup-landing__plan-grid>*,.signup-slide--visible .signup-steps>*,.signup-slide--visible .signup-roles>*,.signup-slide--visible .signup-reveal{opacity:1;transform:translateY(0)}.signup-bento,.signup-landing__plan-grid,.signup-steps,.signup-roles,.signup-hero-split,.signup-landing__hero-title.signup-reveal{opacity:1;transform:none;transition:none}.signup-slide__inner:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--dp-gradient)}.signup-slide__inner--wide{max-width:1180px}.signup-slide__inner--hero{max-width:1120px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;box-shadow:none;padding:0}.signup-slide__inner--hero:before{content:none}.signup-slide__inner--form{max-width:520px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;box-shadow:none;padding:0;align-items:center}.signup-slide__inner--form:before{content:none}.signup-aurora,.signup-grain{position:fixed;inset:0;pointer-events:none;z-index:0}.signup-aurora__orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}.signup-aurora__orb--1{width:46vw;height:46vw;top:-10vh;left:-6vw;background:radial-gradient(circle at 30% 30%,var(--dp-1),transparent 68%);animation:signup-orb-a 26s var(--ease) infinite alternate}.signup-aurora__orb--2{width:40vw;height:40vw;bottom:-12vh;right:-4vw;background:radial-gradient(circle at 60% 40%,var(--dp-2),transparent 68%);animation:signup-orb-b 32s var(--ease) infinite alternate}.signup-aurora__orb--3{width:34vw;height:34vw;top:34%;left:42%;background:radial-gradient(circle at 50% 50%,var(--dp-3),transparent 70%);opacity:.32;animation:signup-orb-c 38s var(--ease) infinite alternate}@keyframes signup-orb-a{to{transform:translate3d(14vw,12vh,0) scale(1.18)}}@keyframes signup-orb-b{to{transform:translate3d(-16vw,-10vh,0) scale(1.12)}}@keyframes signup-orb-c{to{transform:translate3d(-12vw,14vh,0) scale(.86)}}.signup-grain{opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}.signup-progress{position:fixed;inset:0 0 auto;height:3px;z-index:6;pointer-events:none;background:color-mix(in srgb,var(--border) 60%,transparent)}.signup-progress__fill{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--progress, 0));background:var(--dp-gradient);transition:transform .12s linear}.signup-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:5}.signup-rail__item{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:5px 2px;background:none;border:none;cursor:pointer;color:var(--text-muted)}.signup-rail__label{font-size:11.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;opacity:0;transform:translate(6px);transition:opacity .25s var(--ease),transform .25s var(--ease)}.signup-rail__item:hover .signup-rail__label,.signup-rail__item--active .signup-rail__label{opacity:1;transform:translate(0)}.signup-rail__item--active .signup-rail__label{color:var(--text)}.signup-rail__dot{width:8px;height:8px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--text-muted) 45%,transparent);transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.signup-rail__item:hover .signup-rail__dot{background:var(--dp-2)}.signup-rail__item--active .signup-rail__dot{background:var(--dp-1);transform:scale(1.45);box-shadow:0 0 0 4px color-mix(in srgb,var(--dp-1) 18%,transparent)}.signup-pager__arrows{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:5}.signup-pager__arrow{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border);color:var(--text);font-size:16px;cursor:pointer;box-shadow:0 10px 24px -12px #0f203873;transition:opacity .2s var(--ease),transform .2s var(--ease)}.signup-pager__arrow:hover:not(:disabled){transform:translateY(-2px)}.signup-pager__arrow:disabled{opacity:.35;cursor:default}.signup-card{--mx: 50%;--my: 50%;--rx: 0deg;--ry: 0deg;position:relative;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:18px;background:var(--card-bg);border:1px solid var(--border);overflow:hidden;isolation:isolate}.signup-card--interactive{transform-style:preserve-3d;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}.signup-card--interactive:hover{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(6px);border-color:color-mix(in srgb,var(--dp-1) 40%,var(--border));box-shadow:0 26px 50px -28px color-mix(in srgb,var(--dp-1) 55%,transparent)}.signup-card--interactive:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(340px circle at var(--mx) var(--my),color-mix(in srgb,var(--dp-2) 22%,transparent),transparent 70%);transition:opacity .3s var(--ease)}.signup-card--interactive:hover:after{opacity:1}.signup-card__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;font-size:18px;margin-bottom:4px;background:var(--dp-gradient-soft);border:1px solid color-mix(in srgb,var(--dp-1) 22%,transparent)}.signup-card__title{margin:0;font-size:16px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:normal}.signup-card__title:before{content:none}.signup-card__desc{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-muted)}.signup-bento{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}.signup-bento__card:first-child:nth-last-child(3n+2),.signup-bento__card:first-child:nth-last-child(3n+1),.signup-bento__card:last-child:nth-child(3n+1){grid-column:span 2}.signup-bento__card:first-child:last-child{grid-column:span 3}@media(max-width:900px){.signup-bento{grid-template-columns:repeat(2,1fr)}.signup-bento__card:first-child:nth-last-child(3n+2),.signup-bento__card:first-child:nth-last-child(3n+1),.signup-bento__card:last-child:nth-child(3n+1),.signup-bento__card:first-child:last-child{grid-column:span 2}}@media(max-width:560px){.signup-bento{grid-template-columns:1fr}.signup-bento__card:first-child:nth-last-child(3n+2),.signup-bento__card:first-child:nth-last-child(3n+1),.signup-bento__card:last-child:nth-child(3n+1),.signup-bento__card:first-child:last-child{grid-column:span 1}}.signup-steps{position:relative;width:100%;margin:6px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.signup-steps:before{content:"";position:absolute;left:9%;right:9%;top:37px;height:2px;background:var(--dp-gradient);opacity:.35}.signup-steps__num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:6px;border-radius:12px;font-size:15px;font-weight:800;color:#fff;background:var(--dp-gradient);box-shadow:0 10px 22px -12px color-mix(in srgb,var(--dp-1) 80%,transparent)}.signup-roles{width:100%;margin-top:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.signup-roles__count{align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--dp-1);background:var(--dp-gradient-soft);border:1px solid color-mix(in srgb,var(--dp-1) 26%,transparent)}.signup-roles__list{margin:4px 0 0;padding:10px 0 0;border-top:1px solid var(--border);list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text)}.signup-roles__list li{position:relative;padding-left:18px}.signup-roles__list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--dp-2)}.signup-roles__list li.signup-roles__more{color:var(--text-muted);font-weight:600}.signup-roles__list li.signup-roles__more:before{content:none}.signup-marquee{width:100%;max-width:680px;margin-top:20px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.signup-marquee__track{display:flex;width:max-content;animation:signup-marquee 34s linear infinite}.signup-marquee__group{display:flex;gap:10px;padding-right:10px}.signup-marquee__pill{white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--text-muted);padding:7px 14px;border-radius:999px;background:var(--surface-frosted, var(--card-bg));border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes signup-marquee{to{transform:translate(-50%)}}.signup-scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin-top:24px;align-self:center;background:none;border:none;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);transition:color .2s var(--ease)}.signup-scroll-cue:hover{color:var(--dp-1)}.signup-scroll-cue__mouse{width:22px;height:34px;border-radius:12px;border:2px solid currentColor;display:flex;justify-content:center;padding-top:5px;opacity:.7}.signup-scroll-cue__wheel{width:3px;height:7px;border-radius:2px;background:currentColor;animation:signup-wheel 1.8s var(--ease) infinite}@keyframes signup-wheel{0%,to{transform:translateY(0);opacity:1}60%{transform:translateY(9px);opacity:.15}}.signup-cta{position:relative;overflow:hidden}.signup-cta:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:signup-shimmer 4.5s var(--ease) infinite}@keyframes signup-shimmer{0%,55%{transform:translate(0)}to{transform:translate(420%)}}.signup-aurora{transform:translate3d(calc((var(--px) - .5) * -36px),calc((var(--py) - .5) * -28px),0);transition:transform .7s var(--ease)}.signup-cursor-light{position:fixed;top:0;left:0;width:44vmax;height:44vmax;margin:-22vmax 0 0 -22vmax;border-radius:50%;pointer-events:none;z-index:0;opacity:.45;background:radial-gradient(circle,color-mix(in srgb,var(--dp-2) 38%,transparent) 0%,transparent 62%);filter:blur(40px);transform:translate3d(calc(var(--px) * 100vw),calc(var(--py) * 100vh),0);transition:transform .25s var(--ease);will-change:transform}.signup-stars{position:fixed;inset:0;pointer-events:none;z-index:0;transform:translate3d(calc((var(--px) - .5) * 16px),calc((var(--py) - .5) * 12px),0);transition:transform .9s var(--ease)}.signup-stars__dot{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--dp-2);box-shadow:0 0 7px 1px color-mix(in srgb,var(--dp-2) 55%,transparent);left:calc(4% + var(--s) * 6.8%);top:calc(12% + var(--s) * 5.4%);animation:signup-twinkle 5.5s var(--ease) infinite;animation-delay:calc(var(--s) * -.41s)}.signup-stars__dot:nth-child(3n+2){left:calc(10% + var(--s) * 5.9%);top:calc(88% - var(--s) * 5.1%)}.signup-stars__dot:nth-child(3n){width:3px;height:3px;left:calc(96% - var(--s) * 6.6%);top:calc(30% + var(--s) * 3.7%)}@keyframes signup-twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:.75;transform:scale(1)}}.signup-landing__hero-title{perspective:700px}.signup-word{display:inline-block;margin-right:.26em;opacity:0;transform:translateY(.45em) rotateX(-45deg);transform-origin:50% 100%;filter:blur(9px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);transition-delay:calc(var(--w, 0) * 65ms + .15s)}.signup-slide--visible .signup-word{opacity:1;transform:none;filter:blur(0)}.signup-landing__hero-title-accent .signup-word{background:linear-gradient(100deg,var(--dp-1),var(--dp-2),var(--dp-3),var(--dp-2),var(--dp-1));background-size:800% 100%;background-position:calc(var(--w, 0) * 9%) 50%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:signup-word-flow 11s linear infinite}@keyframes signup-word-flow{to{background-position:calc(var(--w, 0) * 9% + 100%) 50%}}.signup-magnet{transform:translate3d(var(--magnet-x, 0px),var(--magnet-y, 0px),0);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.signup-hero-split{width:100%;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:38px;margin:18px 0 8px}.signup-hero-copy{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:15px}.signup-hero-copy .signup-landing__hero-title{font-size:clamp(32px,3.7vw,52px)}.signup-hero-copy .signup-landing__hero-actions{justify-content:flex-start}.signup-hero-copy .signup-marquee{width:100%}.signup-hologram{perspective:1200px;display:flex;justify-content:center}.signup-hologram__panel{position:relative;width:100%;max-width:460px;padding:16px;border-radius:20px;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--card-bg) 92%,transparent),color-mix(in srgb,var(--card-bg) 58%,transparent));border:1px solid color-mix(in srgb,var(--dp-2) 40%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 50px 90px -55px color-mix(in srgb,var(--dp-1) 80%,transparent),inset 0 1px #ffffff4d;transform:rotateY(calc(-15deg + (var(--px) - .5) * 16deg)) rotateX(calc(7deg + (var(--py) - .5) * -10deg));transition:transform .6s var(--ease);animation:signup-holo-float 9s var(--ease) infinite alternate}@keyframes signup-holo-float{0%{translate:0 -7px}to{translate:0 9px}}.signup-hologram__bar{display:flex;align-items:center;gap:6px;margin-bottom:14px}.signup-hologram__dot{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--text) 22%,transparent)}.signup-hologram__dot:first-child{background:color-mix(in srgb,var(--dp-3) 75%,transparent)}.signup-hologram__dot:nth-child(2){background:color-mix(in srgb,var(--dp-4) 75%,transparent)}.signup-hologram__bar-line{flex:1;height:6px;margin-left:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--text) 20%,transparent),transparent)}.signup-hologram__grid{display:flex;flex-direction:column;gap:6px}.signup-hologram__row{display:grid;grid-template-columns:30px repeat(14,minmax(0,1fr));gap:4px;align-items:center}.signup-hologram__room{height:8px;border-radius:999px;background:color-mix(in srgb,var(--dp-1) 50%,transparent)}.signup-hologram__cell{height:15px;border-radius:5px;background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid color-mix(in srgb,var(--text) 11%,transparent);animation:signup-holo-in .5s var(--ease) both;animation-delay:calc(var(--d, 0) * 22ms)}.signup-hologram__cell--booked{background:var(--dp-gradient);border-color:transparent;box-shadow:0 0 14px -3px color-mix(in srgb,var(--dp-2) 75%,transparent)}.signup-hologram__cell--held{background:color-mix(in srgb,var(--dp-4) 28%,transparent);border-color:color-mix(in srgb,var(--dp-4) 62%,transparent);animation:signup-holo-in .5s var(--ease) both,signup-holo-pulse 2.6s var(--ease) 1.2s infinite}@keyframes signup-holo-in{0%{opacity:0;transform:translateY(6px) scaleX(.6)}to{opacity:1;transform:none}}@keyframes signup-holo-pulse{0%,to{opacity:.45}50%{opacity:1}}.signup-hologram__sweep{position:absolute;top:-20%;bottom:-20%;left:-32%;width:26%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);animation:signup-holo-sweep 6s var(--ease) infinite}@keyframes signup-holo-sweep{0%,22%{transform:translate(0) skew(-12deg);opacity:0}30%{opacity:1}85%,to{transform:translate(560%) skew(-12deg);opacity:0}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.signup-slide__inner{animation:signup-slide-depth linear both;animation-timeline:view(block)}}}@keyframes signup-slide-depth{0%{opacity:.3;transform:perspective(1500px) rotateX(7deg) scale(.94)}26%,74%{opacity:1;transform:perspective(1500px) rotateX(0) scale(1)}to{opacity:.3;transform:perspective(1500px) rotateX(-7deg) scale(.94)}}@media(max-width:960px){.signup-hero-split{grid-template-columns:minmax(0,1fr);gap:22px}.signup-hologram__panel{max-width:100%}.signup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.signup-steps:before{display:none}.signup-roles{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.signup-hologram,.signup-cursor-light{display:none}.signup-hero-split{margin:8px 0 0}.signup-steps{grid-template-columns:minmax(0,1fr)}.signup-rail{right:8px}.signup-rail__label{display:none}.signup-pager__arrows{right:10px}.signup-slide__inner{padding:26px 20px}.signup-aurora__orb{filter:blur(60px)}}@media(prefers-reduced-motion:reduce){.signup-aurora__orb,.signup-stars__dot,.signup-marquee__track,.signup-cta:after,.signup-scroll-cue__wheel,.signup-landing__hero-title-accent,.signup-landing__hero-title-accent .signup-word,.signup-landing__plan-card--highlight,.signup-hologram__panel,.signup-hologram__cell,.signup-hologram__cell--held{animation:none!important}.signup-pager{scroll-behavior:auto}.signup-card--interactive:hover{transform:none}.signup-cursor-light{display:none}.signup-aurora,.signup-stars,.signup-magnet,.signup-hologram__panel{transform:none!important;transition:none!important}.signup-hologram__sweep{display:none}.signup-slide__inner,.signup-slide__inner>*,.signup-reveal,.signup-word{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}.signup-landing__panel-title{margin:0 0 4px;text-align:center;text-transform:none;letter-spacing:normal;justify-content:center;font-size:26px;font-weight:800;color:var(--text)}.signup-landing__panel-title:before{content:none}.signup-landing__panel-sub{margin:0 0 18px;text-align:center;max-width:520px;color:var(--text-muted)}.signup-landing__plan-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin-top:8px}.signup-landing__plan-card{gap:6px;padding:18px 16px}@property --plan-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.signup-landing__plan-card--highlight{border:1px solid transparent;background:linear-gradient(var(--card-bg),var(--card-bg)) padding-box,conic-gradient(from var(--plan-angle),var(--dp-1),var(--dp-2),var(--dp-3),var(--dp-4),var(--dp-1)) border-box;box-shadow:0 22px 40px -26px color-mix(in srgb,var(--dp-1) 55%,transparent);animation:signup-plan-spin 7s linear infinite}@keyframes signup-plan-spin{to{--plan-angle: 360deg}}.signup-landing__plan-ribbon{position:absolute;top:-1px;right:18px;padding:5px 12px;border-radius:0 0 8px 8px;font-size:11px;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--dp-gradient)}.signup-landing__plan-name{font-size:17px;font-weight:800;color:var(--text)}.signup-landing__plan-price{font-size:20px;font-weight:800;background:var(--dp-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.signup-landing__plan-promo{font-size:12.5px;padding:6px 10px;border-radius:8px;background:var(--dp-gradient-soft);color:var(--text)}.signup-landing__plan-limits{font-size:12.5px;color:var(--text-muted)}.signup-landing__plan-features{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;flex:1}.signup-landing__plan-features li{position:relative;padding-left:20px;font-size:13px;color:var(--text-muted)}.signup-landing__plan-features li:before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--dp-2)}.signup-landing__form-card{align-self:center;margin-top:8px}.signup-landing__tour{width:100%;margin-top:8px}.signup-landing__tour-body{display:flex;align-items:center;gap:36px}.signup-landing__tour-info{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:10px}.signup-landing__tour-title{margin:4px 0 0;font-size:21px;font-weight:800;text-transform:none;letter-spacing:normal;color:var(--text)}.signup-landing__tour-title:before{content:none}.signup-landing__tour-desc{margin:0;color:var(--text-muted);line-height:1.55}.signup-landing__tour-highlights{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.signup-landing__tour-highlights li{position:relative;padding-left:22px;font-size:13.5px;color:var(--text)}.signup-landing__tour-highlights li:before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--dp-2)}.signup-landing__tour-visual{flex:1 1 340px;min-width:0;display:flex;justify-content:center}.signup-landing__device{width:100%;max-width:420px;border-radius:16px;overflow:hidden;background:var(--bg);border:1px solid var(--border);box-shadow:0 24px 48px -28px #0f203866;animation:signupTourFade .4s var(--ease)}.signup-landing__device--browser{aspect-ratio:16 / 10;display:flex;flex-direction:column}.signup-landing__device--phone{max-width:240px;aspect-ratio:9 / 17;border-radius:28px;border-width:6px;border-color:var(--heading);display:flex;flex-direction:column}.signup-landing__device-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--card-bg);border-bottom:1px solid var(--border);flex:0 0 auto}.signup-landing__device-dot{width:8px;height:8px;border-radius:50%}.signup-landing__device-dot--red{background:#f87171}.signup-landing__device-dot--yellow{background:#fbbf24}.signup-landing__device-dot--green{background:#34d399}.signup-landing__device-url{margin-left:6px;padding:3px 10px;border-radius:999px;background:var(--bg);font-size:10.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signup-landing__device-notch{flex:0 0 auto;height:16px;display:flex;align-items:center;justify-content:center;background:var(--heading)}.signup-landing__device-notch:before{content:"";width:46px;height:5px;border-radius:999px;background:var(--bg);opacity:.5}.signup-landing__device-img{flex:1 1 auto;min-height:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.signup-landing__device--phone .signup-landing__device-img{object-fit:contain;background:var(--card-bg)}@keyframes signupTourFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.signup-landing__tour-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}.signup-landing__tour-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:18px;line-height:1;cursor:pointer}.signup-landing__tour-arrow:hover{border-color:var(--dp-2);color:var(--dp-1)}.signup-landing__tour-dots{display:flex;align-items:center;gap:8px}.signup-landing__tour-dot{position:relative;width:10px;height:10px;padding:0;border:none;border-radius:999px;background:var(--border);overflow:hidden;cursor:pointer;transition:width .2s var(--ease)}.signup-landing__tour-dot--active{width:28px;background:color-mix(in srgb,var(--dp-1) 25%,var(--border))}.signup-landing__tour-dot-progress{position:absolute;inset:0;background:var(--dp-gradient);transform-origin:left center;animation-name:signupTourProgress;animation-timing-function:linear}@keyframes signupTourProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:640px){.signup-landing__hero-title{font-size:32px}.signup-landing__tour-body{flex-direction:column}.signup-landing__device{max-width:320px}}.developer-portal__billing-form{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;padding:12px 4px}.developer-portal__billing-form .field{min-width:140px}.developer-portal__billing-form .field__hint{flex-basis:100%}.developer-portal__subhead{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin:18px 0 8px}.developer-portal__subhead:first-child{margin-top:4px}.developer-portal__details-form,.developer-portal__invoice-form{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;padding:12px 4px}.developer-portal__details-form .field,.developer-portal__invoice-form .field{min-width:140px}.developer-portal__message-form{display:flex;flex-direction:column;gap:8px;padding:4px}.developer-portal__message-form textarea{width:100%}.developer-portal__message-layout{display:grid;grid-template-columns:260px 1fr;gap:16px}@media(max-width:720px){.developer-portal__message-layout{grid-template-columns:1fr}}.developer-portal__message-inbox{display:flex;flex-direction:column;gap:8px}.developer-portal__message-thread{min-width:0}.admin-list__item{padding:8px 10px;border-radius:8px;background:var(--tint-neutral)}.admin-list__item--active{background:var(--tint-info-bg, var(--tint-neutral));outline:2px solid var(--color-primary, #3b6fd4)}.developer-portal__invoice-list{display:flex;flex-direction:column;gap:8px;padding:4px;margin-bottom:4px}.developer-portal__invoice-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg)}.developer-portal__invoice-row>div:first-child{flex:1;min-width:160px}.developer-portal__status-row{display:flex;align-items:center;gap:10px;padding:4px 0}.developer-portal__fab-cluster{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.developer-portal__fab{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#6366f1,#06b6d4 55%,#ec4899);box-shadow:0 14px 30px -10px #6366f1a6;transition:transform .15s ease}.developer-portal__fab:hover{transform:translateY(-2px) scale(1.04)}.developer-portal__fab-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg, #fff)}.developer-portal__fab-backdrop{position:fixed;inset:0;z-index:1;background:transparent}.developer-portal__fab-panel{position:relative;z-index:2;width:min(340px,calc(100vw - 48px));max-height:min(420px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px -20px #0f203880;padding:14px;overflow:hidden}.developer-portal__fab-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.developer-portal__fab-panel-header h3{margin:0;font-size:15px}.developer-portal__fab-panel-close{border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:4px;line-height:1}.developer-portal__fab-panel-close:hover{color:var(--text)}.developer-portal__fab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.developer-portal__fab-list-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:none;background:var(--tint-neutral);border-radius:10px;padding:9px 10px;cursor:pointer;font:inherit;color:var(--text)}.developer-portal__fab-list-item:hover{background:var(--tint-info-bg, var(--tint-neutral))}.developer-portal__fab-list-icon{font-size:16px;flex-shrink:0}.developer-portal__fab-list-body{display:flex;flex-direction:column;gap:1px;min-width:0}.developer-portal__fab-list-body .field__hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.developer-portal__fab-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0}.developer-portal__fab-view-all{margin-top:10px;width:100%}@media(max-width:640px){.developer-portal__fab-cluster{right:16px;bottom:16px}}.developer-portal__search{position:relative;margin-bottom:20px;display:flex;align-items:center;gap:8px}.developer-portal__search>input{flex:1;width:100%;max-width:480px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit}.developer-portal__quickstats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.stat-tile--compact{padding:8px 14px;min-width:120px}.stat-tile--compact .stat-tile__label{margin-bottom:2px}.stat-tile--compact .stat-tile__value{font-size:18px}.developer-portal__search-backdrop{position:fixed;inset:0;z-index:29;background:transparent}.developer-portal__search-results{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(480px,100%);max-height:min(420px,calc(100vh - 200px));overflow-y:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px -20px #0f203880;padding:8px}.developer-portal__search-group{padding:4px 0}.developer-portal__search-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 8px}.developer-portal__search-result{width:100%;display:flex;flex-direction:column;gap:1px;text-align:left;border:none;background:none;border-radius:8px;padding:7px 8px;cursor:pointer;font:inherit;color:var(--text)}.developer-portal__search-result:hover{background:var(--tint-neutral)}.developer-portal__filter-chip{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.developer-portal__search-footer{margin:6px 4px 2px;font-size:11px;color:var(--text-muted)}.developer-portal__palette-backdrop{position:fixed;inset:0;z-index:50;background:#0f172a80;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.developer-portal__palette{width:min(560px,calc(100vw - 48px));max-height:min(480px,76vh);display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 32px 80px -20px #0f203899;overflow:hidden}.developer-portal__palette>input{padding:16px 18px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:16px}.developer-portal__palette>input:focus{outline:none}.developer-portal__palette-results{overflow-y:auto;padding:8px}@media(max-width:640px){.app-shell{padding:12px 12px 88px}.app-header{flex-direction:column;align-items:stretch;padding:14px;gap:10px}.app-header__logo{width:34px;height:34px}.app-header h1{font-size:17px}.app-header__right{width:100%}.mobile-nav{flex:1;min-width:0}.room-picker{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.slot-grid{grid-template-columns:1fr}.hour-block__full:not(.hour-block__full--status) .hour-block__hint{display:none}.hour-block__full{justify-content:flex-start}.booking-panel{padding:14px}.modal__actions{flex-direction:column-reverse}.modal__actions .btn{width:100%}.book-bar{flex-direction:column;align-items:stretch;gap:10px;padding:10px 14px}.book-bar .btn{width:100%}.waiting-indicator{flex-wrap:wrap}.logo-row{flex-direction:column;align-items:flex-start}.hours-row{flex-wrap:wrap;gap:12px}.admin-list__row--room,.admin-add-row--room,.admin-list__row--team,.admin-add-row--team{grid-template-columns:1fr}.filter-bar__row{flex-direction:column;align-items:stretch}.filter-bar__row select{width:100%}.period-nav{margin-left:0;justify-content:space-between;width:100%}.period-nav__label{min-width:0;flex:1}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.chart-grid{grid-template-columns:1fr}.swap-row,.pending-swap-banner{flex-direction:column;align-items:stretch}.swap-row__actions{justify-content:flex-end}.swap-picker__list li{flex-direction:column;align-items:stretch}.my-booking-card__slots li{flex-wrap:wrap}.my-booking-card,.my-booking-card__series-summary{flex-direction:column;align-items:stretch}.my-booking-card__actions{grid-template-columns:1fr;width:100%}.my-booking-card__actions .btn,.my-booking-card__actions .checked-in-badge,.my-booking-card__actions .slot-swap-btn{text-align:center}.my-booking-card__actions-col{padding-top:8px;border-top:1px dashed var(--border)}.my-booking-card__actions-col:first-child{padding-top:0;border-top:none}}.bg-animated{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-animated__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.4;will-change:transform}.bg-animated__blob--1{width:46vmax;height:46vmax;top:-18vmax;left:-14vmax;background:radial-gradient(circle,var(--brand) 0%,transparent 70%);animation:driftA 28s ease-in-out infinite}.bg-animated__blob--2{width:40vmax;height:40vmax;bottom:-16vmax;right:-12vmax;background:radial-gradient(circle,var(--brand-accent) 0%,transparent 70%);animation:driftB 34s ease-in-out infinite}.bg-animated__blob--3{width:30vmax;height:30vmax;top:40%;left:60%;background:radial-gradient(circle,var(--gold) 0%,transparent 72%);opacity:.22;animation:driftC 40s ease-in-out infinite}@keyframes driftA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6vmax,8vmax) scale(1.08)}}@keyframes driftB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-7vmax,-5vmax) scale(1.1)}}@keyframes driftC{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-5vmax,4vmax) scale(.92)}}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.app-loading__mark{width:68px;height:68px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);box-shadow:0 10px 30px -10px var(--brand);animation:markPulse 1.8s var(--ease) infinite}.app-loading__mark svg{width:34px;height:34px}.app-loading__mark--logo{background:#fff;padding:10px;animation:markPulse 1.8s var(--ease) infinite,logoEntrance .6s var(--ease)}.app-loading__logo{width:100%;height:100%;object-fit:contain}@keyframes logoEntrance{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.app-loading__ring{position:absolute;width:68px;height:68px;border-radius:20px;border:2px solid transparent;border-top-color:var(--gold);border-right-color:var(--brand-accent);animation:ringSpin 1.1s linear infinite}.app-loading__mark-wrap{position:relative;display:flex;align-items:center;justify-content:center}.app-loading__title{font-size:15px;font-weight:600;color:var(--heading);letter-spacing:.01em}.app-loading__subtitle{font-size:13px;color:var(--text-muted)}@keyframes markPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes ringSpin{to{transform:rotate(360deg)}}.skeleton{border-radius:10px;background:linear-gradient(90deg,#e3edf7 25%,#f1f6fb 37%,#e3edf7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton--header{height:40px;margin-bottom:20px}.skeleton--block{height:96px;margin-bottom:16px}.fade-in{animation:fadeIn .2s var(--ease)}.slide-in{animation:slideIn .2s var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.help-btn{width:32px;height:32px;border-radius:50%;border:none;background:#ffffffeb;color:var(--brand-dark);font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 2px 10px #0b1c3d29;transition:transform .1s var(--ease),background .15s var(--ease);flex:0 0 auto}.help-btn:hover{background:#fff;transform:translateY(-1px)}.help-btn:active{transform:translateY(0) scale(.95)}.help-btn--active{background:var(--room-accent, var(--brand));color:#fff}.help-btn--active:hover{background:var(--room-accent, var(--brand))}.tour-clickblock{position:fixed;inset:0;z-index:9998;background:transparent}.tour-dim-full{position:fixed;inset:0;z-index:9999;background:#0b1c3d99;pointer-events:none}.tour-spotlight{position:fixed;z-index:9999;border-radius:12px;box-shadow:0 0 0 9999px #0b1c3d99,0 0 0 3px var(--gold);pointer-events:none;transition:top .3s var(--ease),left .3s var(--ease),width .3s var(--ease),height .3s var(--ease)}.tour-card{position:fixed;z-index:10000;background:var(--card-bg);border-radius:14px;padding:18px;box-shadow:0 20px 50px -18px #0b1c3d8c;border:1px solid var(--border)}.tour-card__title{font-weight:700;font-size:15px;color:var(--heading);margin-bottom:8px}.tour-card__body{font-size:13.5px;color:var(--text-muted);line-height:1.5;margin-bottom:16px}.tour-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tour-card__skip{border:none;background:none;color:var(--text-muted);font-size:12.5px;cursor:pointer;text-decoration:underline;padding:0}.tour-card__dots{display:flex;gap:5px}.tour-card__dot{width:6px;height:6px;border-radius:50%;background:var(--border)}.tour-card__dot--active{background:var(--gradient-brand);width:16px;border-radius:3px}.tour-card__nav{display:flex;gap:8px}.tour-card__btn{padding:6px 14px;font-size:13px}@media(max-width:560px){.tour-card__footer{flex-direction:column;align-items:stretch}.tour-card__dots{order:-1;justify-content:center}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.kiosk-picker{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center;color:var(--text)}.kiosk-picker ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font-size:20px}.kiosk-picker a{color:var(--brand)}.kiosk{min-height:100vh;display:flex;flex-direction:column;padding:40px 56px;color:#fff;background:linear-gradient(160deg,var(--room-accent, var(--brand)) 0%,var(--brand-dark) 100%);transition:background .4s var(--ease)}.kiosk--free{background:linear-gradient(160deg,var(--success) 0%,#063d2c 100%)}.kiosk--blocked,.kiosk--disabled{background:linear-gradient(160deg,#4b5563,#1f2937)}.kiosk__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.kiosk__room-name{font-size:clamp(32px,6vw,64px);font-weight:700;letter-spacing:-.01em}.kiosk__clock{font-size:clamp(24px,4vw,40px);font-variant-numeric:tabular-nums;opacity:.9}.kiosk__equipment{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:16px;opacity:.85}.kiosk__status{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.kiosk__status-label{font-size:clamp(36px,8vw,88px);font-weight:800;letter-spacing:-.02em}.kiosk__meeting-title{font-size:clamp(22px,4vw,36px);font-weight:600;max-width:80%}.kiosk__status-detail{font-size:clamp(16px,2.5vw,24px);opacity:.85}.kiosk__next{text-align:center;font-size:clamp(15px,2vw,20px);opacity:.8;padding-top:16px;border-top:1px solid rgba(255,255,255,.25)}
