:root{--ink: #17352d;--ink-soft: #66756f;--forest: #173e34;--forest-2: #245b4b;--mint: #d9eee6;--cream: #f4f2ec;--surface: #fffefa;--line: #dedfd8;--coral: #d96955;--coral-soft: #f8e4df;--gold: #f1b96b;--shadow: 0 18px 50px rgba(36, 58, 50, .1);color:var(--ink);font-family:Aptos,Segoe UI,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--cream)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid rgba(217,105,85,.4);outline-offset:3px}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;height:74px;padding:0 clamp(24px,5vw,76px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fffefaf0;border-bottom:1px solid rgba(23,62,52,.11);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;justify-self:start}.brand-button{padding:0;text-align:left;background:transparent;border:0}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:var(--forest);border-radius:12px 12px 12px 4px}.brand>span:last-child{display:grid}.brand strong{font-size:15px;line-height:1.15;letter-spacing:-.01em}.brand small{margin-top:3px;color:var(--ink-soft);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:6px;padding:5px;background:#e9e8e2;border-radius:13px}.nav-item{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 17px;border:0;border-radius:9px;color:#6e7773;background:transparent;font-size:14px;font-weight:650}.nav-item.active{color:var(--forest);background:var(--surface);box-shadow:0 2px 10px #19332b12}.login-button{justify-self:end;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;color:#fff;background:var(--forest);border:0;border-radius:11px;font-size:14px;font-weight:700;box-shadow:0 8px 20px #173e342b}.topbar-actions{display:flex;align-items:center;gap:10px;justify-self:end}.account-area{position:relative}.profile-button{display:flex;align-items:center;gap:9px;padding:4px 7px 4px 4px;color:var(--ink);background:transparent;border:0;border-radius:12px}.profile-button>span:last-child{display:grid;text-align:left}.profile-button small{color:var(--ink-soft);font-size:9px}.profile-button strong{max-width:100px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.avatar{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:var(--forest-2);border-radius:10px;font-size:11px;font-weight:800}.profile-menu{position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:230px;padding:16px;display:grid;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px #1a302933}.profile-menu>strong{font-size:12px}.profile-menu>small{padding-bottom:10px;overflow:hidden;color:var(--ink-soft);font-size:10px;text-overflow:ellipsis;border-bottom:1px solid var(--line)}.profile-menu button{margin-top:5px;padding:8px 0 0;display:flex;align-items:center;gap:7px;color:var(--coral);background:transparent;border:0;font-size:11px;font-weight:700}.notification-area{position:relative}.notification-bell{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:11px;transition:background-color .15s,color .15s}.notification-bell:hover,.notification-bell.has-unread{color:var(--forest);background:#f0efe9}.unread-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;color:#fff;background:var(--coral);border-radius:9px;font-size:10px;font-weight:800;box-shadow:0 2px 6px #d9695566}.notification-popover{position:absolute;z-index:50;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 32px));max-height:440px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px #1a302933;overflow:hidden;animation:modal-in .15s ease-out}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:#faf9f5}.notif-header strong{font-size:13px;color:var(--forest)}.notif-header small{margin-left:6px;color:var(--ink-soft);font-size:11px}.mark-all-button{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;color:var(--forest-2);background:transparent;border:0;font-size:11px;font-weight:700;border-radius:6px}.mark-all-button:hover{background:#eaf3ee}.notif-list{overflow-y:auto;max-height:380px}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid #f0efe9;cursor:pointer;transition:background-color .15s}.notif-item:hover{background:#f7f6f0}.notif-item.unread{background:#fdfaf6}.notif-indicator{width:8px;height:8px;margin-top:5px;flex-shrink:0;border-radius:50%;background:transparent}.notif-item.unread .notif-indicator{background:var(--coral);box-shadow:0 0 0 2px var(--coral-soft)}.notif-content{flex:1;min-width:0}.notif-content strong{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}.notif-content p{margin:0 0 4px;font-size:11px;color:var(--ink-soft);line-height:1.4}.notif-content small{font-size:10px;color:#9aa39f}.notif-empty{padding:36px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-soft);text-align:center}.notif-empty p{margin:0;font-size:12px}.page-wrap{width:min(1530px,calc(100% - 48px));margin:0 auto;padding:48px 0 64px}.page-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:34px}.eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--coral);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.page-intro h1{margin:0;color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:clamp(37px,4vw,59px);font-weight:500;line-height:.99;letter-spacing:-.045em}.page-intro p{width:min(390px,38vw);margin:0 0 5px;color:var(--ink-soft);font-size:15px;line-height:1.65}.system-notice{margin:-10px 0 18px;padding:11px 14px;display:flex;align-items:center;gap:9px;color:#765342;background:#fff4e9;border:1px solid #ecd7c1;border-radius:11px;font-size:11px}.system-notice svg{flex:0 0 auto;color:var(--coral)}.system-notice button{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--forest);background:transparent;border:0;font-size:10px;font-weight:750}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.room-panel,.schedule-panel{background:var(--surface);border:1px solid rgba(23,62,52,.09);box-shadow:var(--shadow)}.room-panel{padding:22px;border-radius:18px 6px 6px 18px}.schedule-panel{min-width:0;border-radius:6px 18px 18px 6px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.section-heading span,.step-label{color:var(--coral);font-size:9px;font-weight:850;letter-spacing:.15em}.section-heading h2,.schedule-top h2{margin:4px 0 0;font-size:19px;letter-spacing:-.02em}.section-heading .room-count{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:0}.room-list{display:grid;gap:12px}.room-card{width:100%;padding:0;overflow:hidden;text-align:left;color:inherit;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,transform .2s,box-shadow .2s}.room-card:hover{transform:translateY(-2px);border-color:#9eb8ad;box-shadow:0 12px 28px #2141361a}.room-card.selected{border:2px solid var(--forest-2);box-shadow:0 10px 24px #245b4b21}.room-image-wrap{position:relative;display:block;height:112px;overflow:hidden}.room-image-wrap:after{content:"";position:absolute;top:55%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#0b231c4d)}.room-image-wrap img{width:100%;height:100%;object-fit:cover}.selected-badge{position:absolute;z-index:1;top:10px;right:10px;display:flex;align-items:center;gap:4px;padding:5px 8px;color:#fff;background:var(--forest);border-radius:20px;font-size:9px;font-weight:750}.room-copy{display:grid;gap:5px;padding:12px 13px 13px}.room-name-row{display:flex;justify-content:space-between;align-items:center}.room-name-row strong{font-size:15px}.room-copy>small{color:var(--ink-soft);font-size:11px}.room-meta{display:flex;align-items:center;gap:5px;margin-top:4px;color:#52645d;font-size:10px;font-weight:600}.room-meta i{width:3px;height:3px;margin:0 3px;background:#a9b0ad;border-radius:50%}.room-note{display:flex;gap:10px;align-items:flex-start;margin-top:17px;padding:13px;color:#53645e;background:#f0efe9;border-radius:11px}.room-note svg{flex:0 0 auto;margin-top:1px;color:var(--coral)}.room-note span{display:grid;gap:3px}.room-note strong{color:var(--ink);font-size:10px}.room-note small{font-size:10px}.schedule-top{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:19px 24px;border-bottom:1px solid var(--line)}.schedule-top p{margin:4px 0 0;color:var(--ink-soft);font-size:11px}.week-controls{display:flex;align-items:center;gap:5px}.week-controls button{height:36px;min-width:36px;display:grid;place-items:center;color:var(--forest);background:#fff;border:1px solid var(--line);border-radius:9px}.week-controls .today-button{padding:0 13px;color:var(--surface);background:var(--forest);border-color:var(--forest);font-size:11px;font-weight:700}.legend{display:flex;align-items:center;gap:17px;min-height:45px;padding:0 24px;color:#55645f;background:#faf9f5;border-bottom:1px solid var(--line);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend small{margin-left:auto;color:#89918e}.dot{display:inline-block;width:7px;height:7px;border-radius:50%}.dot.available{background:#4d9f7a;box-shadow:0 0 0 3px #e4f2eb}.dot.occupied{background:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.dot.past{background:#aeb5b2;box-shadow:0 0 0 3px #eef0ef}.calendar-scroll{max-height:min(760px,calc(100vh - 190px));overflow:auto}.week-grid{min-width:760px;display:grid;grid-template-columns:repeat(5,minmax(145px,1fr))}.day-column{min-width:0;border-right:1px solid var(--line)}.day-column:last-child{border-right:0}.day-column>header{position:sticky;z-index:4;top:0;height:92px;padding:14px 15px;display:grid;grid-template-columns:1fr auto;align-items:center;color:var(--ink-soft);background:var(--surface);border-bottom:1px solid var(--line)}.day-column>header span{font-size:9px;font-weight:850;letter-spacing:.15em}.day-column>header strong{grid-row:1 / 3;grid-column:2;font-family:Georgia,serif;color:var(--ink);font-size:34px;font-weight:500}.day-column>header small{align-self:start;font-size:10px}.day-column>header.today{color:var(--coral);background:#fff8f4;box-shadow:inset 0 3px var(--coral)}.day-summary{position:sticky;z-index:3;top:92px;min-height:31px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;color:#4e846c;background:#f8f8f3;border-bottom:1px solid var(--line);font-size:9px;font-weight:750}.day-summary small{color:#a9776d;font-size:9px;font-weight:650}.slots{padding:10px;display:grid;gap:7px}.time-slot{min-height:58px;padding:8px 10px;display:grid;align-content:center;gap:3px;text-align:left;color:var(--ink);background:#f4f8f5;border:1px solid #dceae3;border-radius:9px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.time-slot .slot-top{display:flex;align-items:center;justify-content:space-between}.time-slot .slot-time{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:760}.time-slot .own-badge{font-size:8px;font-weight:800;background:var(--forest);color:#fff;border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.04em}.time-slot .slot-status-label{padding-left:13px;color:#769185;font-size:9px}.time-slot.available{cursor:pointer}.time-slot.available:hover{transform:translateY(-1px);background:#eaf5ef;border-color:#83b59f;box-shadow:0 4px 10px #4d9f7a1f}.time-slot.occupied{background:#fcf1ee;border-color:#f1d6d0;opacity:1}.time-slot.occupied.has-booking{cursor:pointer}.time-slot.occupied.has-booking:hover{transform:translateY(-1px);border-color:#e09b8d;box-shadow:0 4px 10px #b850421f}.time-slot.is-own{background:#fdf5f2;border-color:#e6beb5}.slot-booking-content{display:grid;gap:2px;padding-left:13px;min-width:0}.slot-booking-content .slot-title{font-size:10px;font-weight:750;color:#9b3d2b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.2}.slot-booking-content .slot-user{display:flex;align-items:center;gap:3px;font-size:8.5px;color:#7a5a54;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-booking-content .slot-user svg{flex-shrink:0;color:#a86b61}.time-slot.past{color:#919b97;background:#f4f4f1;border-color:#e7e7e2;opacity:1}.time-slot.past:not(.has-booking){cursor:not-allowed}.time-slot.past small{color:#a0a7a4}.schedule-loading,.empty-state{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink-soft)}.schedule-loading span{font-size:11px}.empty-state h3,.empty-state p{margin:0}.empty-state h3{color:var(--ink);font-size:15px}.empty-state p{font-size:11px}.bookings-page{width:min(1050px,calc(100% - 48px))}.bookings-heading{margin-bottom:28px;display:flex;justify-content:space-between;align-items:end;gap:28px}.bookings-heading h1{margin:0;color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1;letter-spacing:-.04em}.bookings-heading p{margin:12px 0 0;color:var(--ink-soft);font-size:13px}.secondary-action{min-height:41px;padding:0 16px;display:flex;align-items:center;gap:8px;color:var(--forest);background:transparent;border:1px solid #aebdb6;border-radius:10px;font-size:11px;font-weight:750}.auth-empty{min-height:390px;padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--surface);border:1px solid rgba(23,62,52,.09);border-radius:18px;box-shadow:var(--shadow)}.empty-icon{width:60px;height:60px;display:grid;place-items:center;color:var(--forest-2);background:var(--mint);border-radius:18px}.auth-empty h2{margin:18px 0 7px;font-family:Georgia,serif;font-size:23px;font-weight:500}.auth-empty p{max-width:370px;margin:0 0 22px;color:var(--ink-soft);font-size:12px;line-height:1.6}.bookings-loader{min-height:340px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow)}.booking-list{display:grid;gap:12px}.booking-item{min-height:132px;padding:13px;display:grid;grid-template-columns:150px 62px 1fr auto;gap:20px;align-items:center;background:var(--surface);border:1px solid rgba(23,62,52,.09);border-radius:15px;box-shadow:0 10px 30px #243a3212}.booking-item>img{width:150px;height:104px;object-fit:cover;border-radius:10px}.booking-item.cancelled{opacity:.72;box-shadow:none}.booking-date{display:grid;justify-items:center;padding-right:18px;border-right:1px solid var(--line)}.booking-date strong{font-family:Georgia,serif;font-size:31px;font-weight:500;line-height:1}.booking-date small{margin-top:4px;color:var(--coral);font-size:9px;font-weight:800;text-transform:uppercase}.booking-details h2{margin:5px 0 8px;font-size:15px}.booking-details p{margin:3px 0;display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:10px}.booking-tags{display:flex;align-items:center;gap:6px;margin-bottom:5px;flex-wrap:wrap}.role-pill{padding:3px 7px;border-radius:20px;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.role-pill.organizer{color:#173e34;background:#d9eee6}.role-pill.guest{color:#5a4b77;background:#ede8f5}.booking-organizer-note{color:var(--forest-2)!important;font-weight:600}.booking-participants-row{display:flex;align-items:center;gap:7px;margin-top:5px;color:var(--ink-soft);font-size:10px}.booking-participants-row svg{flex-shrink:0;color:var(--forest-2)}.status-pill{padding:3px 7px;color:#397359;background:#e4f3ea;border-radius:20px;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-pill.cancelled{color:#8d6e67;background:#f2e8e5}.booking-actions{display:flex;flex-direction:column;gap:8px;align-self:center}.edit-button{padding:7px 11px;display:flex;align-items:center;gap:6px;color:var(--forest);background:#eef5f1;border:1px solid #c2dbcf;border-radius:8px;font-size:10px;font-weight:750;transition:background-color .15s,border-color .15s}.edit-button:hover{background:#ddede4;border-color:#a7ccba}.cancel-button{padding:7px 11px;display:flex;align-items:center;gap:6px;color:#a65345;background:#fff4f1;border:1px solid #efd4cd;border-radius:8px;font-size:10px;font-weight:700;transition:background-color .15s}.cancel-button:hover{background:#fae4df}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:20px;display:grid;place-items:center;background:#0c1c17a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .16s ease-out}.modal-card{width:min(100%,480px);overflow:hidden;background:var(--surface);border:1px solid rgba(255,255,255,.28);border-radius:18px;box-shadow:0 30px 90px #06161157;animation:modal-in .2s ease-out}.modal-header{padding:21px 22px 17px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500;letter-spacing:-.02em}.modal-header p{margin:5px 0 0;color:var(--ink-soft);font-size:10px}.icon-button{width:34px;height:34px;display:grid;place-items:center;color:var(--ink-soft);background:#f0efe9;border:0;border-radius:9px}.modal-body{padding:20px 22px 23px}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:7px}.form-stack label>span{color:#394a44;font-size:10px;font-weight:800}.form-stack label em{color:#929996;font-size:9px;font-style:normal;font-weight:500}.form-stack input,.form-stack select,.form-stack textarea{width:100%;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #cfd6d2;border-radius:9px;font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--forest-2);box-shadow:0 0 0 3px #245b4b1f}.form-stack textarea{resize:vertical}.privacy-note{margin:-3px 0 0;color:#7a8581;font-size:9px;line-height:1.5}.recaptcha-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;margin:4px 0}.recaptcha-loading{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-soft);padding:12px 16px;background:#f0efe9;border-radius:9px}.form-alert{padding:10px 11px;display:flex;align-items:flex-start;gap:8px;color:#8b4135;background:#fff0ec;border:1px solid #f0d1ca;border-radius:9px;font-size:10px;line-height:1.45}.form-alert svg{flex:0 0 auto}.primary-action{min-height:44px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--forest);border:0;border-radius:10px;font-size:11px;font-weight:800;box-shadow:0 10px 22px #173e342b}.primary-action.compact{min-height:41px}.primary-action:disabled{cursor:wait;opacity:.65}.booking-summary{padding:8px;display:flex;align-items:center;gap:12px;background:#f0efe9;border-radius:11px}.booking-summary img{width:60px;height:50px;object-fit:cover;border-radius:8px}.booking-summary span{display:grid;gap:3px}.booking-summary strong{font-size:12px}.booking-summary small{color:var(--ink-soft);font-size:10px}.participants-section{display:grid;gap:8px}.participant-search-box{position:relative}.search-spinner{position:absolute;right:12px;top:12px;color:var(--forest-2)}.search-dropdown{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;max-height:210px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #00000024}.dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;background:transparent;border:0;border-bottom:1px solid #f2f2ee;text-align:left;cursor:pointer;transition:background-color .15s}.dropdown-item:last-child{border-bottom:0}.dropdown-item:hover{background:#f0f7f3}.dropdown-avatar{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:var(--forest-2);border-radius:8px;font-size:10px;font-weight:800;flex-shrink:0}.dropdown-info{display:grid;gap:2px;min-width:0}.dropdown-info strong{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-info small{font-size:10px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-empty{padding:12px;text-align:center;color:var(--ink-soft);font-size:11px}.participant-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.participant-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;background:#eef5f1;border:1px solid #cfe0d7;border-radius:16px;font-size:11px;color:var(--forest)}.chip-avatar{width:20px;height:20px;display:grid;place-items:center;color:#fff;background:var(--forest-2);border-radius:50%;font-size:9px;font-weight:800}.chip-name{font-weight:600}.chip-remove{display:grid;place-items:center;width:16px;height:16px;padding:0;margin-left:2px;color:var(--ink-soft);background:transparent;border:0;border-radius:50%;cursor:pointer}.chip-remove:hover{color:var(--coral);background:#d9695526}.capacity-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;color:#925816;background:#fdf5e8;border:1px solid #f3dcaf;border-radius:8px;font-size:10px;line-height:1.4}.capacity-warning svg{flex-shrink:0;margin-top:1px;color:#b7791f}.participants-hint{display:flex;align-items:center;gap:6px;margin:2px 0 0;color:var(--ink-soft);font-size:10px}.participants-hint svg{flex-shrink:0;color:var(--forest-2)}.toast{position:fixed;z-index:120;right:24px;bottom:24px;max-width:min(360px,calc(100vw - 32px));padding:12px 15px;display:flex;align-items:center;gap:9px;color:#fff;background:var(--forest);border:1px solid rgba(255,255,255,.18);border-radius:11px;box-shadow:0 18px 45px #0c241c40;font-size:11px;font-weight:700;animation:modal-in .2s ease-out}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@media(max-width:950px){.topbar{grid-template-columns:1fr auto}.main-nav{position:fixed;z-index:30;left:16px;right:16px;bottom:14px;justify-content:center;box-shadow:0 10px 30px #15302833}.page-wrap{width:min(100% - 28px,760px);padding-top:34px;padding-bottom:100px}.page-intro{align-items:start}.workspace{grid-template-columns:1fr}.room-panel,.schedule-panel{border-radius:17px}.room-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-note{display:none}.calendar-scroll{max-height:none}.bookings-page{width:min(100% - 28px,760px)}}@media(max-width:620px){.topbar{height:66px;padding:0 16px}.brand small{display:none}.brand-mark{width:36px;height:36px}.login-button{width:40px;padding:0;justify-content:center}.login-button:not(:focus){font-size:0;gap:0}.profile-button>span:last-child{display:none}.page-intro{display:block}.page-intro h1{font-size:39px}.page-intro p{width:auto;margin-top:18px}.room-panel{padding:17px}.room-list{grid-template-columns:1fr}.room-image-wrap{height:135px}.schedule-top{align-items:end;padding:17px}.legend{padding:0 17px}.legend small{display:none}.system-notice{align-items:flex-start}.system-notice button{font-size:0}.bookings-heading{display:grid}.booking-item{grid-template-columns:76px 1fr;gap:12px}.booking-item>img{width:76px;height:86px}.booking-date{display:none}.booking-actions{grid-column:1 / -1;flex-direction:row;gap:8px;justify-self:stretch}.booking-actions button{flex:1;justify-content:center}.toast{right:16px;bottom:90px}}.boot-loading{min-height:100vh;display:grid;place-items:center;background:#f7f6f2}.boot-spinner{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--forest)}.boot-spinner p{font-size:13px;font-weight:600;color:var(--ink-soft);margin:0}.login-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 28px 24px;background:radial-gradient(ellipse at 5% 5%,#dce8e0 0%,transparent 52%),#f1f3ef}.login-layout{display:grid;grid-template-columns:1.08fr 1fr;width:100%;max-width:1080px;background:#fff;border:1px solid #e0e7e1;border-radius:26px;box-shadow:0 28px 80px -24px #14312838;overflow:hidden;animation:modal-in .25s ease-out}.login-story{min-width:0;background:#202b31;color:#f8faf7}.login-logo{display:block;width:100%;height:auto}.login-story-content{padding:0 11.4% 35px}.login-eyebrow{display:flex;align-items:center;gap:8px;color:#bdd0c8;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.login-story h2{margin:18px 0 17px;font-size:clamp(32px,3.6vw,46px);font-weight:600;line-height:1.12;letter-spacing:-.045em}.login-story-content>p{margin:0;color:#becac6;font-size:14px;line-height:1.7}.login-room-preview{position:relative;margin-top:30px;overflow:hidden;border:1px solid #54655e;border-radius:14px}.login-room-preview>img{display:block;width:100%;height:155px;object-fit:cover;object-position:center 61%}.login-room-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 12px;color:#e9f0ec;background:#29383d;font-size:10px}.login-room-caption>span:first-child{display:flex;align-items:center;gap:7px;font-weight:600}.login-room-caption>span:last-child{color:#bbccc3}.login-story-footer{display:flex;align-items:center;gap:8px;margin-top:24px;color:#bacbc3;font-size:11px}.login-story-footer>span{width:5px;height:5px;background:#9fbbae;border-radius:50%}.login-card-container{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:54px 48px 34px}.login-header{margin-bottom:31px}.login-access-label{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px;padding:6px 10px;color:#456858;background:#f0f5f1;border:1px solid #e1ebe4;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-access-label>span{width:5px;height:5px;background:#5b886f;border-radius:50%}.login-header h1{margin:0 0 12px;color:#213d32;font-size:30px;font-weight:600;line-height:1.18;letter-spacing:-.035em}.login-header p{margin:0;color:#697770;font-size:13px;line-height:1.7}.login-form{display:grid;gap:20px}.login-field{min-width:0;display:grid;gap:9px}.login-field>label{color:#344c40;font-size:12px;font-weight:650}.login-input-wrap{display:flex;align-items:center;min-width:0;min-height:52px;padding:0 14px;gap:11px;color:#6a7c72;background:#fcfdfb;border:1px solid #dce4de;border-radius:10px;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#648974;box-shadow:0 0 0 3px #e5eee7;background:#fff}.login-input-wrap>svg{flex-shrink:0}.login-input-wrap input{width:100%;min-width:0;padding:14px 0;color:#253c30;background:transparent;border:0;outline:0;font-size:15px}.login-input-wrap input::placeholder{color:#87958c;font-size:13px}.login-password-toggle{display:grid;place-items:center;flex-shrink:0;width:36px;height:40px;margin:0 -7px 0 0;padding:0;color:#74867a;background:transparent;border:0;border-radius:6px}.login-password-toggle:hover{color:#244a36;background:#ecf2ed}.login-form .form-alert{font-size:12px}.login-form .recaptcha-wrapper{margin:1px 0 0;min-width:0}.login-form .recaptcha-loading{max-width:100%;padding:10px;background:#f2f5f1;font-size:10px}.login-form .recaptcha-loading svg{flex-shrink:0}.login-submit-btn{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;color:#fff;background:#264b3b;border:1px solid #264b3b;border-radius:10px;font-size:13px;font-weight:650;box-shadow:0 6px 15px #264b3b24;transition:background-color .15s,box-shadow .15s}.login-submit-btn:hover:not(:disabled){background:#1b3b2c;box-shadow:0 8px 20px #264b3b3b}.login-submit-btn:disabled{cursor:wait;opacity:.65}.login-help{margin:-2px 0 0;color:#78837c;text-align:center;font-size:11px;line-height:1.5}.login-footer{margin-top:29px;padding-top:20px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #ebefeb;color:#738276;font-size:10px;line-height:1.5}.login-footer svg{flex-shrink:0;color:#597b63}.login-page-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin:23px 0 0;color:#7a877e;font-size:10px;letter-spacing:.01em}@media(max-width:1000px){.login-card-container{padding:40px 32px 30px}.login-header h1{font-size:27px}.login-desktop-break{display:none}.login-room-caption>span:last-child{display:none}}@media(max-width:860px){.login-page{padding:28px 20px 20px}.login-layout{grid-template-columns:1fr;max-width:460px;border-radius:22px}.login-story-content{display:none}.login-logo{width:100%}.login-card-container{padding:29px 36px 25px}.login-header{margin-bottom:26px}.login-access-label{margin-bottom:18px}.login-input-wrap input{font-size:16px}.login-page-footer{flex-wrap:wrap;gap:6px;text-align:center}}@media(max-width:420px){.login-page{padding:16px 12px}.login-card-container{padding:26px 22px 24px}.login-header h1{font-size:26px}.login-header p{font-size:12px}.login-footer{font-size:9px}}@media(prefers-reduced-motion:reduce){.login-layout{animation:none}}.booking-detail-modal{display:flex;flex-direction:column;gap:18px}.detail-section{display:flex;flex-direction:column;gap:14px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.detail-value{font-size:13px;color:var(--ink);font-weight:600;display:flex;align-items:center;gap:6px}.detail-value.title-value{font-size:16px;font-weight:700;color:var(--forest)}.detail-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.organizer-dept{font-size:10px;color:var(--ink-soft);margin-left:21px}.detail-notes{margin:0;font-size:11px;line-height:1.5;color:#334155;background:#f8faf9;border:1px solid #e2e8e5;padding:10px 12px;border-radius:8px;white-space:pre-wrap}.detail-participants-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.detail-participant-chip{display:flex;align-items:center;gap:8px;background:#f1f5f3;border:1px solid #d5e3dc;border-radius:8px;padding:5px 10px}.detail-participant-chip .chip-avatar{width:24px;height:24px;font-size:9px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font-weight:700}.detail-participant-chip .chip-info{display:flex;flex-direction:column}.detail-participant-chip .chip-info strong{font-size:11px;color:var(--ink)}.detail-participant-chip .chip-info small{font-size:9px;color:var(--ink-soft)}.detail-modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}.action-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:11px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:all .15s}.action-button.edit-action{color:var(--forest);background:#e8f3ee;border-color:#bad9cc}.action-button.edit-action:hover{background:#d7ebe1}.action-button.cancel-action{color:#c53030;background:#fdf0ee;border-color:#f7c9c2}.action-button.cancel-action:hover{background:#fae1dd}.action-button.close-action{color:#4a5568;background:#edf2f7;border-color:#cbd5e0}.action-button.close-action:hover{background:#e2e8f0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
