@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho+B1:wght@600;800&display=swap";:root{color-scheme:light;font-family:IBM Plex Sans JP,Yu Gothic,sans-serif;--paper: #f7f4ee;--surface: #fdfbf7;--ink: #221e19;--ink-2: #6b645b;--ink-3: #9b948a;--line: #e5dfd4;--line-strong: #d8d1c3;--ai: #3a4e7a;--ai-dark: #2c3b5e;--ai-soft: #eaedf4;--danger: #c33f2e;--danger-soft: #f7e5e2;--success: #3e8e5a;--success-soft: #e4f0e8;--mono: "IBM Plex Mono", monospace;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;height:100%}button,input,select{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(58,78,122,.24);outline-offset:2px}.app-shell{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(rgba(34,30,25,.034) 1px,transparent 1px);background-size:22px 22px}.topbar{z-index:30;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:22px;min-height:68px;padding:10px 28px;border-bottom:1px solid var(--line);background:#fdfbf7f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-lockup{display:flex;align-items:baseline;gap:12px}.brand-mark{font-family:Shippori Mincho B1,serif;font-size:23px;font-weight:800;letter-spacing:-.03em}.brand-mark span{color:var(--ai)}.brand-tagline{color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.13em}.day-tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.day-tab{display:flex;gap:7px;align-items:baseline;padding:7px 15px;border-radius:8px;background:transparent;color:var(--ink-2);font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease}.day-tab small{font-family:var(--mono);font-size:9px;font-weight:400;opacity:.65}.day-tab.active{color:var(--surface);background:var(--ink)}.calendar-controls{display:flex;align-items:center;gap:7px}.date-lens,.view-tabs{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.date-lens>button,.view-tab{display:grid;place-items:center;min-width:29px;height:29px;border-radius:8px;color:var(--ink-2);background:transparent;font-size:10px;font-weight:700}.date-lens>button:hover,.view-tab:hover{color:var(--ink);background:var(--surface)}.date-lens .today-jump{display:none;width:auto;padding:0 8px}.date-lens label{display:flex;align-items:center;gap:5px;height:29px;padding:0 7px;border-radius:7px;color:var(--ai);background:var(--surface)}.date-lens input{width:112px;border:0;color:var(--ink);background:transparent;font-family:var(--mono);font-size:9px;outline:none}.view-tab{display:block;width:auto;padding:0 9px}.view-tab.active{color:#fff;background:var(--ink)}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.identity-passport{position:relative}.identity-passport summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:164px;height:39px;padding:5px 10px;border:1px solid rgba(58,78,122,.24);border-radius:11px;color:var(--ai-dark);background:linear-gradient(135deg,var(--surface),var(--ai-soft));cursor:pointer;list-style:none}.identity-passport summary::-webkit-details-marker{display:none}.identity-passport summary>span{min-width:0}.identity-passport summary strong,.identity-passport summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-passport summary strong{font-size:9px}.identity-passport summary small{margin-top:2px;color:var(--ink-3);font-family:var(--mono);font-size:6px;text-transform:uppercase}.identity-passport[open] summary{border-color:var(--ai);box-shadow:0 0 0 3px #3a4e7a14}.identity-menu{position:absolute;z-index:80;top:47px;right:0;width:326px;overflow:hidden;border:1px solid rgba(58,78,122,.23);border-radius:15px;background:#fdfbf7fc;box-shadow:0 21px 56px #221e1938;animation:panel-in .18s ease-out both}.identity-menu-head{padding:14px 15px 12px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#eaedf4d6,#fdfbf7eb)}.identity-menu-head small,.identity-menu-head strong,.identity-menu-head span{display:block}.identity-menu-head small{color:var(--ai);font-family:var(--mono);font-size:7px;letter-spacing:.13em}.identity-menu-head strong{margin-top:5px;font-family:Shippori Mincho B1,serif;font-size:15px}.identity-menu-head span{margin-top:3px;color:var(--ink-3);font-family:var(--mono);font-size:7px}.identity-session{display:grid;gap:9px;padding:11px 15px;border-bottom:1px solid var(--line);background:#f7f4ee94}.identity-session-row{display:flex;align-items:end;justify-content:space-between;gap:10px}.identity-session-row span small,.identity-session-row span strong,.identity-permissions>small{display:block}.identity-session-row small,.identity-permissions>small{color:var(--ai);font-family:var(--mono);font-size:6px;letter-spacing:.12em}.identity-session-row strong{margin-top:3px;font-size:8px}.identity-session-row code,.identity-correlation{color:var(--ink-3);font-family:var(--mono);font-size:6px}.identity-session-row code{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-permissions>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.identity-permissions span{padding:4px 7px;border:1px solid rgba(58,78,122,.16);border-radius:999px;color:var(--ai-dark);background:var(--ai-soft);font-size:7px;font-weight:700}.identity-correlation{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-profiles{display:grid;gap:3px;padding:7px}.identity-profiles button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;min-height:52px;padding:7px 9px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left}.identity-profiles button:hover{border-color:var(--line);background:var(--paper)}.identity-profiles button.selected{border-color:#3e8e5a3b;background:var(--success-soft)}.identity-profiles i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:var(--ai);background:var(--ai-soft);font-family:var(--mono);font-size:8px;font-style:normal}.identity-profiles button.selected i{color:#fff;background:var(--success)}.identity-profiles strong,.identity-profiles small{display:block}.identity-profiles strong{font-size:9px}.identity-profiles small{margin-top:2px;color:var(--ink-3);font-size:7px;line-height:1.35}.top-action,.runtime-pill{display:inline-flex;align-items:center;gap:7px;height:35px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink-2);background:var(--paper);font-size:11px;font-weight:600}.top-action{transition:border-color .16s ease,color .16s ease,background .16s ease}.top-action:hover{border-color:var(--ink-3);color:var(--ink)}.top-action.active{border-color:var(--ai);color:#fff;background:var(--ai)}.runtime-pill{border-color:#3e8e5a3d;background:var(--success-soft);color:#356f49;font-family:var(--mono);font-size:9px;letter-spacing:.04em}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.status-dot.online{background:var(--success);box-shadow:0 0 0 4px #3e8e5a1f;animation:status-breathe 2.6s ease-in-out infinite}.board-scroll{flex:1;overflow:auto;padding:27px 28px 248px}.board{position:relative;min-width:920px;max-width:1320px;margin:0 auto}.board-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:17px}.board-kicker{margin:0 0 3px;color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.11em}.board-title-row h1{margin:0;font-family:Shippori Mincho B1,serif;font-size:clamp(23px,2vw,29px);font-weight:800;letter-spacing:.01em}.demo-controls{display:flex;gap:8px}.new-booking-button,.explorer-button,.reset-button,.demo-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:9px;font-size:11px;font-weight:600}.explorer-button{border:1px solid var(--line-strong);color:var(--ai-dark);background:#f8f9fdd1}.explorer-button:hover,.explorer-button:focus-visible{border-color:var(--ai);background:var(--ai-soft);outline:none;transform:translateY(-1px)}.new-booking-button{border:1px solid var(--ink);color:#fff;background:var(--ink);box-shadow:0 5px 16px #221e192b}.new-booking-button:hover:not(:disabled),.new-booking-button:focus-visible{border-color:var(--ai);background:var(--ai-dark);outline:none;transform:translateY(-1px)}.reset-button{border:1px solid var(--line);color:var(--ink-2);background:#fdfbf7b8}.demo-button{color:#fff;background:var(--ai);box-shadow:0 5px 16px #2c3b5e2e}.demo-conductor{position:relative;display:grid;grid-template-columns:minmax(250px,1.08fr) minmax(360px,1.6fr) auto;align-items:center;gap:18px;min-height:108px;margin:-2px 0 16px;padding:15px 16px 15px 18px;overflow:hidden;border:1px solid rgba(58,78,122,.3);border-left:4px solid var(--ai);border-radius:14px;background:linear-gradient(112deg,#eaedf4f5,#fdfbf7f7 58%);box-shadow:0 12px 32px #2c3b5e17}.demo-conductor:after{position:absolute;top:-42px;right:22%;width:165px;height:165px;border:1px solid rgba(58,78,122,.07);border-radius:50%;content:"";pointer-events:none}.demo-conductor.complete{border-left-color:var(--success)}.demo-conductor.error{border-left-color:var(--danger)}.demo-conductor-head{min-width:0}.demo-conductor-head>div{min-width:0}.demo-conductor-head p{margin:0 0 5px;color:var(--ai);font-family:var(--mono);font-size:8px;font-weight:500;letter-spacing:.1em}.demo-conductor-head h2{margin:0;font-size:15px;line-height:1.25}.demo-close{position:absolute;z-index:2;top:8px;right:8px;display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:8px;background:#fdfbf7c7}.demo-intro{margin:0;color:var(--ink-2);font-size:10px;line-height:1.5}.demo-warning{position:absolute;bottom:8px;left:18px;margin:0;color:var(--ink-3);font-size:7px}.demo-live-status{display:flex;align-items:center;gap:9px;min-width:0;color:var(--ai)}.demo-live-status>span{display:block;min-width:0}.demo-live-status strong,.demo-live-status small{display:block}.demo-live-status strong{color:var(--ink);font-size:10px}.demo-live-status small{margin-top:3px;overflow:hidden;color:var(--ink-3);font-family:var(--mono);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.demo-conductor.complete .demo-live-status{color:var(--success)}.demo-conductor.error .demo-live-status{color:var(--danger)}.demo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.demo-steps li{display:flex;align-items:center;gap:7px;min-width:0;color:var(--ink-3);font-size:8px;line-height:1.25}.demo-steps li i{display:grid;flex:0 0 23px;place-items:center;width:23px;height:23px;border:1px solid var(--line-strong);border-radius:7px;font-family:var(--mono);font-size:8px;font-style:normal;background:var(--surface)}.demo-steps li.active{color:var(--ink);font-weight:600}.demo-steps li.active i{border-color:var(--ai);color:#fff;background:var(--ai)}.demo-steps li.done{color:var(--success)}.demo-steps li.done i{border-color:#3e8e5a47;color:var(--success);background:var(--success-soft)}.demo-conductor-actions{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:7px}.demo-conductor-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-2);background:var(--surface);font-size:9px;font-weight:600;white-space:nowrap}.demo-conductor-actions .demo-start{border-color:var(--ai);color:#fff;background:var(--ai)}.demo-conductor-actions .demo-stop{border-color:#c33f2e59;color:var(--danger);background:var(--danger-soft)}.timeline-frame{position:relative;overflow:visible;border:1px solid var(--line);border-radius:16px;background:#fdfbf7e0;box-shadow:0 13px 36px #221e190e}.timeline-head,.timeline-row{display:grid;grid-template-columns:178px 1fr}.timeline-head{min-height:41px;border-bottom:1px solid var(--line)}.room-column-title{display:flex;align-items:center;padding-left:19px;border-right:1px solid var(--line);color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.12em}.hour-head{display:grid;grid-template-columns:repeat(12,1fr);align-items:center;color:var(--ink-3);font-family:var(--mono);font-size:9px}.hour-head span{transform:translate(-15px);text-align:center}.hour-head span:first-child{transform:translate(-2px)}.hour-head span:last-child{transform:translate(4px)}.timeline-row{min-height:82px;border-bottom:1px solid var(--line)}.timeline-row:last-of-type{border-bottom:0}.room-label{display:flex;align-items:center;gap:11px;padding:13px 17px;border-right:1px solid var(--line);background:#f7f4ee7a}.room-swatch{width:8px;height:34px;flex:none;border-radius:7px;opacity:.86}.room-label div{min-width:0}.room-label strong,.room-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-label strong{font-size:12px;font-weight:700}.room-label small{margin-top:4px;color:var(--ink-3);font-size:9px}.timeline-track{position:relative;overflow:hidden;min-height:82px;background-image:linear-gradient(to bottom,transparent 49%,rgba(229,223,212,.35) 50%,transparent 51%)}.timeline-slot-grid{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(22,minmax(0,1fr))}.timeline-slot-grid button{position:relative;min-width:0;border:0;border-right:1px solid rgba(229,223,212,.24);border-radius:0;color:var(--ai);background:transparent}.timeline-slot-grid button span{display:grid;place-items:center;width:18px;height:18px;margin:auto;border:1px solid rgba(58,78,122,.22);border-radius:50%;background:#fdfbf7eb;opacity:0;font-family:var(--mono);font-size:11px;font-weight:700;transform:scale(.72);transition:opacity .12s ease,transform .12s ease}.timeline-slot-grid button:hover:not(:disabled),.timeline-slot-grid button:focus-visible{background:linear-gradient(to bottom,#e8ecf78a,#e8ecf729);outline:1px solid rgba(58,78,122,.24);outline-offset:-1px}.timeline-slot-grid button:hover:not(:disabled) span,.timeline-slot-grid button:focus-visible span{opacity:1;transform:scale(1)}.timeline-slot-grid button:disabled{cursor:default}.hour-line{position:absolute;top:0;bottom:0;width:1px;background:var(--line);opacity:.7;pointer-events:none}.booking-block{position:absolute;z-index:2;top:calc(13px + var(--booking-lane) * 31px);left:var(--booking-left);width:var(--booking-width);min-width:48px;height:28px;overflow:hidden;padding:4px 8px 3px;border:1px solid color-mix(in srgb,var(--room-color) 62%,#ffffff);border-left:3px solid var(--room-color);border-radius:7px;color:color-mix(in srgb,var(--room-color) 48%,#221e19);background:color-mix(in srgb,var(--room-color) 14%,#fdfbf7);box-shadow:0 2px 6px #221e190f;animation:booking-land .43s cubic-bezier(.2,.9,.3,1.08) both;animation-delay:calc(var(--stagger) * 55ms);text-align:left}.booking-block:hover,.booking-block:focus-visible{z-index:9;border-color:var(--ai);box-shadow:0 5px 14px #2c3b5e2e;outline:none;transform:translateY(-1px)}.booking-block strong,.booking-block span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-block strong{font-size:9px;line-height:10px}.booking-block strong svg{display:inline-block;margin-right:3px;vertical-align:-1px}.booking-block span{margin-top:1px;font-family:var(--mono);font-size:7px;opacity:.72}.booking-block.conflict{z-index:4;border-color:var(--danger);animation:booking-land .43s cubic-bezier(.2,.9,.3,1.08) both,conflict-pulse 1.45s ease-in-out .6s infinite}.conflict-flag{position:absolute;z-index:8;top:calc(58px + var(--flag-row) * 82px);left:calc(165px + var(--flag-left));transform:translate(-50%);padding:4px 7px;border-radius:5px 5px 5px 0;color:#fff;background:var(--danger);font-size:8px;font-weight:700;letter-spacing:.02em;box-shadow:0 3px 10px #c33f2e38}.now-line{position:absolute;z-index:7;top:0;bottom:0;width:1px;background:var(--danger);pointer-events:none}.now-line:before{position:absolute;top:-3px;left:-3px;width:7px;height:7px;border-radius:50%;background:var(--danger);content:""}.now-line span{position:absolute;top:3px;left:5px;color:var(--danger);font-family:var(--mono);font-size:7px;font-weight:500}.board-loading{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:16px;color:var(--ink-3);background:var(--surface);font-family:var(--mono);font-size:10px}.week-frame,.month-frame{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fdfbf7e6;box-shadow:0 13px 36px #221e190e}.week-grid{display:grid;grid-template-columns:178px repeat(7,minmax(104px,1fr))}.week-head{min-height:49px;border-bottom:1px solid var(--line);background:#f7f4ee9e}.week-room-heading,.week-room-label{border-right:1px solid var(--line)}.week-room-heading{display:flex;align-items:center;padding-left:19px;color:var(--ink-3);font-family:var(--mono);font-size:9px;letter-spacing:.12em}.week-day{display:grid;place-content:center;gap:2px;border-right:1px solid var(--line);background:transparent;text-align:center}.week-day:last-child,.week-cell:last-child{border-right:0}.week-day strong{font-size:10px}.week-day small{color:var(--ink-3);font-family:var(--mono);font-size:8px}.week-day.active{color:var(--ai-dark);background:var(--ai-soft);box-shadow:inset 0 -2px var(--ai)}.week-room{min-height:91px;border-bottom:1px solid var(--line)}.week-room:last-child{border-bottom:0}.week-room-label{display:grid;grid-template-columns:7px minmax(0,1fr);align-content:center;gap:3px 9px;padding:12px 16px;background:#f7f4ee66}.week-room-label>span{grid-row:1 / span 2;width:7px;height:34px;border-radius:6px}.week-room-label strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.week-room-label small{color:var(--ink-3);font-size:8px}.week-cell{display:flex;flex-direction:column;gap:5px;min-width:0;padding:7px;border-right:1px solid var(--line);background:transparent;text-align:left}.week-cell:hover{background:var(--ai-soft)}.week-free{align-self:center;margin:auto;color:var(--success);font-family:var(--mono);font-size:7px;opacity:.62}.week-booking{display:block;overflow:hidden;padding:5px 6px;border-left:3px solid var(--room-color);border-radius:5px;color:var(--ink-2);background:color-mix(in srgb,var(--room-color) 12%,var(--surface));font-size:8px;text-overflow:ellipsis;white-space:nowrap}.week-booking strong{display:block;margin-bottom:2px;color:var(--ink);font-family:var(--mono);font-size:7px}.week-booking strong em{float:right;padding:1px 4px;border-radius:999px;color:#fff;background:var(--danger);font-size:5px;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.week-booking.conflict{border-left-color:var(--danger);color:var(--danger);background:var(--danger-soft);box-shadow:inset 0 0 0 1px #b83d3129}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-weekdays{min-height:36px;border-bottom:1px solid var(--line);background:#f7f4eea6}.month-weekdays span{display:grid;place-items:center;color:var(--ink-3);font-family:var(--mono);font-size:8px;letter-spacing:.05em}.month-day{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:92px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;text-align:left}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day:hover{background:var(--ai-soft)}.month-day.outside{color:var(--ink-3);background:#f7f4ee6b}.month-day.active{box-shadow:inset 0 0 0 2px var(--ai);background:color-mix(in srgb,var(--ai-soft) 62%,var(--surface))}.month-date{align-self:flex-start;font-family:var(--mono);font-size:10px;font-weight:500}.month-load{margin:7px 0 5px;color:var(--ink-2);font-size:8px;font-weight:700}.month-stamps{display:flex;gap:3px;height:4px;margin-bottom:5px}.month-stamps i{width:18px;border-radius:4px}.month-day small{overflow:hidden;margin-top:2px;color:var(--ink-3);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.floor-map{position:absolute;z-index:18;top:70px;right:18px;width:344px;padding:14px;border:1px solid var(--line-strong);border-radius:16px;background:#fdfbf7fa;box-shadow:0 18px 52px #221e192e;animation:panel-in .26s ease-out both}.booking-folio{position:fixed;z-index:55;top:82px;right:22px;bottom:22px;width:min(390px,calc(100vw - 44px));overflow:auto;border:1px solid rgba(58,78,122,.27);border-radius:17px;background:#fdfbf7fb;box-shadow:0 24px 68px #221e1938,0 4px 14px #2c3b5e17;animation:folio-in .27s cubic-bezier(.2,.88,.28,1) both}.booking-explorer{position:fixed;z-index:55;top:82px;right:22px;bottom:22px;width:min(410px,calc(100vw - 44px));overflow:auto;border:1px solid rgba(58,78,122,.27);border-radius:17px;background:#fdfbf7fc;box-shadow:0 24px 68px #221e1938,0 4px 14px #2c3b5e17;animation:folio-in .27s cubic-bezier(.2,.88,.28,1) both}.booking-explorer:before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#d98a9e,var(--ai) 52%,var(--ink));content:""}.explorer-head{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:11px 15px 10px 18px;border-bottom:1px solid var(--line);background:#fdfbf7f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.explorer-head small{color:var(--ai);font-family:var(--mono);font-size:7px;letter-spacing:.13em}.explorer-head h2{margin:3px 0 0;font-family:Shippori Mincho B1,serif;font-size:19px;line-height:1.1}.explorer-head>button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;color:var(--ink-2);background:var(--paper-2)}.explorer-tabs{position:sticky;z-index:4;top:68px;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:9px 17px;border-bottom:1px solid var(--line);background:#fdfbf7f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.explorer-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid transparent;border-radius:9px;color:var(--ink-3);background:transparent;font-size:9px;font-weight:700}.explorer-tabs button.active{border-color:#3a4e7a38;color:var(--ai-dark);background:var(--ai-soft);box-shadow:0 3px 10px #2c3b5e12}.explorer-body{padding:14px 17px 20px}.booking-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.explorer-search{grid-column:1 / -1;display:flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink-3);background:#fff}.explorer-search:focus-within{border-color:var(--ai);box-shadow:0 0 0 3px #3a4e7a17}.explorer-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:10px}.booking-search-controls>select,.room-discovery-controls input,.room-discovery-controls select{min-height:34px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-2);background:#fff;font-size:9px}.booking-search-controls>select{padding:0 8px}.mine-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;min-width:98px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2)}.mine-toggle button{border:0;border-radius:6px;color:var(--ink-3);background:transparent;font-size:8px;font-weight:700}.mine-toggle button.active{color:#fff;background:var(--ink)}.explorer-result-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;color:var(--ink-3);font-family:var(--mono);font-size:7px;letter-spacing:.06em;text-transform:uppercase}.explorer-result-heading span{display:inline-flex;align-items:center;gap:5px}.explorer-result-heading strong{color:var(--ai);font-size:7px}.explorer-loading,.explorer-empty{display:flex;min-height:132px;align-items:center;justify-content:center;gap:8px;padding:20px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--ink-3);background:#f8f6f18c;font-size:9px;text-align:center}.explorer-empty{flex-direction:column;line-height:1.6}.booking-result-list,.room-result-list{display:grid;gap:7px}.booking-result-list article{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.booking-result-main{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;border:0;color:var(--ink);background:transparent;text-align:left}.booking-result-main>i{width:4px;height:38px;border-radius:4px;background:linear-gradient(#d98a9e,#8b7fb8)}.booking-result-main>span:nth-child(2){display:grid;gap:2px;min-width:0}.booking-result-main strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.booking-result-main small{color:var(--ink-3);font-size:8px}.booking-result-main time{color:var(--ink-2);font-family:var(--mono);font-size:7px}.booking-open-label{color:var(--ai);font-size:7px;font-weight:700}.booking-result-main:hover{background:var(--ai-soft)}.booking-result-list article>a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:28px;border-top:1px solid var(--line);color:var(--ai-dark);background:var(--paper-2);font-size:8px;font-weight:700;text-decoration:none}.booking-search-card>.markdown-message{padding:13px 15px 7px}.chat-booking-results{display:grid;gap:6px;padding:7px 12px 13px}.chat-booking-results>div{display:grid;grid-template-columns:minmax(0,1fr) 30px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.chat-booking-results button{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding:8px 9px;border:0;color:var(--ink);background:transparent;text-align:left}.chat-booking-results button:hover{background:var(--ai-soft)}.chat-booking-results button>span{display:grid;gap:2px;min-width:0}.chat-booking-results strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.chat-booking-results small{color:var(--ink-3);font-size:7px}.chat-booking-results time{color:var(--ink-2);font-family:var(--mono);font-size:7px;white-space:nowrap}.chat-booking-results a{display:grid;place-items:center;border-left:1px solid var(--line);color:var(--ai);background:var(--paper-2)}.room-discovery-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.room-discovery-controls label{display:grid;gap:5px}.room-discovery-controls label>span,.equipment-filter>span{color:var(--ink-3);font-family:var(--mono);font-size:7px;letter-spacing:.06em;text-transform:uppercase}.room-discovery-controls input,.room-discovery-controls select{width:100%;padding:0 8px}.discovery-area{grid-column:1 / -1}.equipment-filter{margin-top:12px}.equipment-filter>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.equipment-filter button{display:inline-flex;align-items:center;gap:4px;min-height:27px;padding:0 8px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);background:#fff;font-size:7px;font-weight:700}.equipment-filter button.active{border-color:var(--ai);color:var(--ai-dark);background:var(--ai-soft)}.room-result-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;text-align:left}.room-result-list>button:hover:not(:disabled){border-color:var(--ai);background:var(--ai-soft);transform:translate(-2px)}.room-result-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:var(--ai)}.room-result-list>button>span:nth-child(2){display:grid;gap:2px;min-width:0}.room-result-list strong{font-size:10px}.room-result-list small{display:flex;align-items:center;gap:3px;color:var(--ink-3);font-size:8px}.room-result-list em{overflow:hidden;color:var(--ink-2);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.room-book-label{display:inline-flex;align-items:center;gap:4px;color:var(--ai-dark);font-size:7px;font-weight:700}.booking-folio:before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--ai),#8b7fb8 48%,#d98a9e);content:""}.new-booking-folio:before{background:linear-gradient(var(--ink),var(--ai) 58%,#d98a9e)}.new-booking-intro{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:15px 17px 13px;padding:11px 12px;border:1px solid rgba(58,78,122,.18);border-radius:11px;background:linear-gradient(135deg,#e8ecf7d1,#f8f6f1b8)}.new-booking-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:var(--ink);box-shadow:0 4px 11px #221e1929}.new-booking-intro>span:last-child{display:grid;gap:3px;min-width:0}.new-booking-intro strong{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.new-booking-intro small{color:var(--ink-3);font-size:8px;line-height:1.45}.new-booking-fields{padding-top:1px}.duration-rail{margin:13px 17px}.duration-rail>span{display:block;margin-bottom:6px;color:var(--ink-3);font-family:var(--mono);font-size:7px;letter-spacing:.07em;text-transform:uppercase}.duration-rail>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.duration-rail button{min-height:32px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-2);background:var(--surface);font-size:8px;font-weight:700}.duration-rail button:hover,.duration-rail button:focus-visible,.duration-rail button.active{border-color:var(--ai);color:var(--ai-dark);background:var(--ai-soft);outline:none}.new-booking-actions{padding:0 17px 18px}.new-booking-actions .folio-save{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:39px;border:1px solid var(--ink);border-radius:9px;color:#fff;background:var(--ink);box-shadow:0 6px 17px #221e1929;font-size:9px;font-weight:700}.new-booking-actions .folio-save:hover:not(:disabled),.new-booking-actions .folio-save:focus-visible{border-color:var(--ai);background:var(--ai-dark);outline:none}.folio-head{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:11px 15px 10px 18px;border-bottom:1px solid var(--line);background:#fdfbf7f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.folio-head small{color:var(--ai);font-family:var(--mono);font-size:7px;letter-spacing:.13em}.folio-head h2{margin:2px 0 0;font-family:Shippori Mincho B1,serif;font-size:18px}.folio-head button{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:var(--ink-2);background:var(--paper)}.folio-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:170px;color:var(--ink-3);font-size:10px}.folio-version{display:flex;align-items:center;justify-content:space-between;margin:15px 17px 12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:8px}.folio-version span{color:var(--ink-3)}.folio-version strong{padding:3px 7px;border-radius:999px;color:var(--ai-dark);background:var(--ai-soft)}.folio-permission{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;margin:0 17px 13px;padding:9px 10px;border:1px solid;border-radius:10px}.folio-permission.allowed{color:#34734a;border-color:#3e8e5a45;background:var(--success-soft)}.folio-permission.read-only{color:#8a392e;border-color:#c33f2e38;background:var(--danger-soft)}.folio-permission strong,.folio-permission small{display:block}.folio-permission strong{font-size:9px}.folio-permission small{margin-top:3px;color:var(--ink-2);font-size:7px}.folio-permission code{font-family:var(--mono);font-size:7px}.folio-editor{min-width:0;margin:0;padding:0;border:0}.folio-editor:disabled{opacity:.68}.folio-editor:disabled input,.folio-editor:disabled select{color:var(--ink-2);background:var(--paper)}.folio-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 17px}.folio-fields label{display:grid;gap:5px;min-width:0}.folio-fields label:nth-child(-n+3),.folio-fields .folio-wide{grid-column:1 / -1}.folio-fields label>span{color:var(--ink-3);font-family:var(--mono);font-size:7px;letter-spacing:.07em;text-transform:uppercase}.folio-fields .folio-field-hint{color:var(--ink-3);font-size:8px;line-height:1.45}.folio-fields input,.folio-fields select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);background:var(--surface);font-size:10px;outline:none}.folio-fields input:focus,.folio-fields select:focus{border-color:var(--ai);box-shadow:0 0 0 3px #3a4e7a17}.folio-rhythm{margin:13px 17px;padding:12px;border:1px solid rgba(58,78,122,.18);border-radius:11px;background:linear-gradient(135deg,#e8ecf7c7,#f8f6f1b8)}.folio-group{margin:13px 17px;padding:12px;border:1px solid rgba(55,111,102,.23);border-radius:11px;background:linear-gradient(145deg,#e5f1edd1,#f8f6f1b8)}.group-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;color:#2f6d62}.group-title>svg{padding:7px;width:30px;height:30px;border-radius:50%;background:var(--paper-bright);box-shadow:inset 0 0 0 1px #376f662e}.group-title strong,.group-title small{display:block}.group-title strong{font-size:11px}.group-title small{margin-top:2px;color:var(--ink-3);font-family:var(--mono);font-size:8px}.group-title b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:#37796d;font-family:var(--mono);font-size:9px}.room-binding-rail{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:11px}.room-binding-rail:before{position:absolute;top:50%;right:18%;left:18%;height:1px;background:#37796d3b;content:""}.room-binding-rail button{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;min-height:47px;padding:6px 7px;border:1px solid rgba(55,111,102,.13);border-radius:9px;color:var(--ink-2);background:#fdfcf8eb;text-align:left;cursor:pointer}.room-binding-rail button.active{border-color:#488b7e;color:#285e55;box-shadow:0 3px 10px #285e551a}.room-binding-rail i{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(55,111,102,.25);border-radius:50%;font-family:var(--mono);font-size:7px;font-style:normal}.room-binding-rail button.active i{color:#fff;border-color:#37796d;background:#37796d}.room-binding-rail strong,.room-binding-rail small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-binding-rail strong{font-size:8px}.room-binding-rail small{margin-top:3px;color:var(--ink-3);font-family:var(--mono);font-size:7px}.group-constraints{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(55,111,102,.13)}.group-constraints>label>span,.group-constraints>div>span{display:block;margin-bottom:5px;color:var(--ink-3);font-family:var(--mono);font-size:7px;text-transform:uppercase}.group-constraints input{width:100%;height:29px;border:1px solid rgba(55,111,102,.18);border-radius:7px;padding:0 8px;background:var(--paper-bright);font-size:8px}.group-constraints>div>div{display:flex;flex-wrap:wrap;gap:4px}.group-constraints button{min-height:22px;padding:3px 6px;border:1px solid rgba(55,111,102,.16);border-radius:999px;color:var(--ink-3);background:var(--paper-bright);font-size:7px;cursor:pointer}.group-constraints button.active{color:#fff;border-color:#37796d;background:#37796d}.group-preview{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin-top:9px;padding:8px;border-radius:8px;font-size:8px}.group-preview.open{color:#2c6c53;background:#4b976c1c}.group-preview.blocked{color:#9d3528;background:var(--danger-soft)}.group-preview.checking{color:var(--ink-3);background:#3a4e7a12}.group-preview strong,.group-preview small{display:block}.group-preview small{margin-top:4px;color:var(--ink-2);font-family:var(--mono);font-size:7px;line-height:1.35}.rhythm-title{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;color:var(--ai-dark)}.rhythm-title>svg{padding:7px;width:30px;height:30px;border-radius:50%;background:var(--paper-bright);box-shadow:inset 0 0 0 1px #3a4e7a24}.rhythm-title strong,.rhythm-title small{display:block}.rhythm-title strong{font-size:11px}.rhythm-title small{margin-top:2px;color:var(--ink-3);font-family:var(--mono);font-size:8px;text-transform:capitalize}.scope-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:11px;padding:3px;border-radius:9px;background:#3a4e7a14}.scope-rail button{min-height:31px;padding:5px;border:0;border-radius:7px;color:var(--ink-3);background:transparent;font-size:8px;cursor:pointer}.scope-rail button.active{color:var(--ai-dark);background:var(--paper-bright);box-shadow:0 2px 7px #2c3b5e1f;font-weight:700}.rhythm-fields{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px;margin-top:11px}.rhythm-fields select,.rhythm-fields input{width:100%;min-width:0;height:34px;border:1px solid rgba(58,78,122,.18);border-radius:8px;padding:0 9px;background:var(--paper-bright);color:var(--ink);font-size:9px}.rhythm-fields label{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:5px;color:var(--ink-3);font-size:8px}.rhythm-fields .rhythm-create{grid-column:1 / -1;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:34px;border:1px solid var(--ai);border-radius:8px;color:#fff;background:var(--ai);font-size:9px;font-weight:700;cursor:pointer}.rhythm-fields .rhythm-create:disabled{opacity:.42;cursor:not-allowed}.rhythm-conflict{display:grid;grid-template-columns:auto 1fr;gap:7px;margin-top:9px;padding:8px;border-radius:8px;color:#9d3528;background:var(--danger-soft);font-size:8px}.rhythm-conflict strong,.rhythm-conflict label{display:block}.rhythm-conflict label{margin-top:5px;color:var(--ink-2);cursor:pointer}.rhythm-conflict input{margin:0 5px 0 0;vertical-align:-2px}.series-occurrences{margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fdfbf7b8}.series-occurrences>small{color:var(--ink-3);font-family:var(--mono);font-size:6px;letter-spacing:.12em;text-transform:uppercase}.series-occurrences>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:7px}.series-occurrences span{display:grid;gap:3px;min-width:0;padding:7px;border:1px solid rgba(62,142,90,.18);border-radius:7px;background:var(--success-soft)}.series-occurrences strong{overflow:hidden;font-family:var(--mono);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.series-occurrences em{color:var(--success);font-size:7px;font-style:normal;font-weight:700}.series-occurrences span.conflict{border-color:#b83d3140;background:var(--danger-soft)}.series-occurrences span.conflict em{color:var(--danger)}.folio-availability{display:grid;grid-template-columns:auto 1fr;gap:9px;margin:14px 17px 0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:9px}.folio-availability.open{border-color:#3e8e5a4d;color:#34734a;background:var(--success-soft)}.folio-availability.occupied{border-color:#c33f2e4d;color:#9d3528;background:var(--danger-soft)}.folio-availability.checking{color:var(--ink-3);background:var(--paper)}.folio-availability strong,.folio-availability small{display:block}.folio-availability small{margin-top:3px;font-size:8px}.folio-notice{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin:10px 17px 0;padding:9px 10px;border-radius:9px;font-size:9px}.folio-notice.success{color:#34734a;background:var(--success-soft)}.folio-notice.error{color:#9d3528;background:var(--danger-soft)}.folio-notice button{grid-column:2;display:inline-flex;align-items:center;gap:4px;justify-self:start;padding:4px 6px;border-radius:5px;color:inherit;background:#ffffff8c;font-size:7px;font-weight:700}.folio-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:14px 17px 0}.folio-actions button,.folio-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink-2);background:var(--paper);font-size:9px;font-weight:700;text-decoration:none}.folio-actions .folio-save{grid-column:1 / -1;border-color:var(--ai);color:#fff;background:var(--ai)}.folio-actions .folio-cancel{grid-column:1 / -1;border-color:#c33f2e47;color:var(--danger);background:var(--danger-soft)}.folio-history{margin:17px;padding-top:13px;border-top:1px solid var(--line)}.folio-history h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:10px}.folio-history>p{margin:0;color:var(--ink-3);font-size:8px}.folio-history>div{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid var(--line)}.folio-history i{width:6px;height:6px;margin-top:4px;border-radius:50%;background:var(--ai);box-shadow:0 0 0 3px var(--ai-soft)}.folio-history strong,.folio-history small{display:block}.folio-history .audit-actor{color:var(--ai);font-family:var(--mono)}.folio-history .audit-id{overflow:hidden;max-width:210px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap}.permission-card{width:min(470px,calc(100vw - 98px));padding-bottom:14px}.permission-card.denied{border-color:#c33f2e47}.permission-card.denied .card-header{color:#8f392e;background:var(--danger-soft)}.permission-stamp{display:inline-flex;align-items:center;gap:7px;margin:14px 16px 7px;padding:5px 8px;border-radius:999px;color:#34734a;background:var(--success-soft);font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.07em}.permission-card.denied .permission-stamp{color:#9d3528;background:var(--danger-soft)}.permission-card h3{margin:0 16px 7px;font-size:15px}.permission-roles{display:flex;flex-wrap:wrap;gap:5px;margin:0 16px 8px}.permission-roles code{padding:3px 6px;border-radius:999px;color:var(--ai-dark);background:var(--ai-soft);font-family:var(--mono);font-size:7px}.permission-card p{margin:0 16px;color:var(--ink-3);font-family:var(--mono);font-size:7px}.folio-history strong{font-size:8px;text-transform:capitalize}.folio-history small{margin-top:2px;color:var(--ink-3);font-size:7px;line-height:1.4}.folio-history time{color:var(--ink-3);font-family:var(--mono);font-size:6px;white-space:nowrap}.floor-map-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.floor-map-head div{display:flex;align-items:center;gap:7px}.floor-map-head strong{font-size:12px}.floor-map-head span{color:var(--ink-3);font-family:var(--mono);font-size:9px}.floor-map-head button{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--paper)}.map-grid{position:relative;display:grid;grid-template-columns:1fr 66px 1fr;grid-template-rows:91px 91px;gap:7px;padding:8px;border:1px solid var(--line);border-radius:12px;background-color:#f2eee6;background-image:linear-gradient(90deg,rgba(34,30,25,.025) 1px,transparent 1px),linear-gradient(rgba(34,30,25,.025) 1px,transparent 1px);background-size:12px 12px}.map-room{display:flex;flex-direction:column;justify-content:center;padding:10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface)}.map-room:nth-child(2){grid-column:3}.map-room:nth-child(3){grid-row:2}.map-room:nth-child(4){grid-column:3;grid-row:2}.map-room span{color:var(--ink-3);font-family:var(--mono);font-size:8px}.map-room strong{margin:6px 0 2px;font-size:11px}.map-room small{color:var(--ink-2);font-size:8px}.map-room.free{border-color:#3e8e5a70;box-shadow:inset 0 0 0 1px #3e8e5a14,0 0 18px #3e8e5a26;animation:room-glow 2.6s ease-in-out infinite}.map-room.free strong{color:var(--success)}.map-room.busy{opacity:.58;filter:grayscale(.3)}.map-core{position:absolute;top:8px;bottom:8px;left:50%;display:grid;place-items:center;width:66px;transform:translate(-50%);border:1px dashed var(--line-strong);color:var(--ink-3);font-family:var(--mono);font-size:8px;line-height:1.5;text-align:center}.chat-layer{position:absolute;z-index:40;right:0;bottom:0;left:0;pointer-events:none}.thread-fade{position:absolute;right:0;bottom:0;left:0;height:250px;background:linear-gradient(to bottom,transparent,rgba(247,244,238,.9) 45%,var(--paper) 78%);pointer-events:none}.chat-stack{position:relative;width:min(660px,calc(100vw - 32px));margin:0 auto 17px;pointer-events:auto}.chat-layer.hidden{display:flex;justify-content:flex-end;padding:0 20px 20px}.chat-launcher{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:8px 12px;border:1px solid rgba(58,78,122,.24);border-radius:999px;color:#fff;background:var(--ai);box-shadow:0 10px 28px #2c3b5e33;pointer-events:auto;font-size:9px;font-weight:700}.chat-launcher:hover,.chat-launcher:focus-visible{background:var(--ai-dark);outline:none;transform:translateY(-1px)}.chat-launcher small{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;color:var(--ai-dark);background:#fff;font-family:var(--mono);font-size:7px}.conversation-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 14px);min-height:39px;margin:0 7px;padding:6px 7px 6px 12px;border:1px solid rgba(58,78,122,.18);border-radius:12px;color:var(--ai-dark);background:#fdfbf7f5;box-shadow:0 6px 18px #221e1914;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.conversation-bar>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.conversation-bar span{display:flex;align-items:baseline;gap:8px;min-width:0}.conversation-bar strong{color:var(--ink);font-size:9px}.conversation-bar small{overflow:hidden;color:var(--ink-3);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.conversation-bar.has-proof{flex-wrap:wrap}.conversation-proof-strip{order:3;display:flex;flex:1 0 100%;align-items:center;gap:5px;padding-top:6px;border-top:1px solid var(--line)}.conversation-proof-strip span,.conversation-proof-strip button{display:inline-flex;align-items:center;gap:4px;min-width:0;padding:4px 6px;border:1px solid rgba(58,78,122,.16);border-radius:999px;color:var(--ai-dark);background:var(--ai-soft);font-family:var(--mono);font-size:6px;font-weight:700;white-space:nowrap}.conversation-proof-strip span svg{color:var(--success)}.conversation-proof-strip button{margin-left:auto;border-color:var(--line-strong);color:var(--ink-2);background:var(--surface)}.conversation-proof-strip button:hover{border-color:var(--ai);color:var(--ai-dark)}.conversation-actions{display:flex;gap:3px;flex:0 0 auto}.conversation-actions button,.composer-expand,.composer-hide{display:grid;place-items:center;width:27px;height:27px;border:1px solid transparent;border-radius:8px;color:var(--ink-3);background:transparent}.conversation-actions button:hover,.conversation-actions button:focus-visible,.composer-expand:hover,.composer-expand:focus-visible,.composer-hide:hover,.composer-hide:focus-visible{border-color:var(--line-strong);color:var(--ai-dark);background:var(--ai-soft);outline:none}@media(min-width:901px){.app-shell.folio-open .chat-layer{right:434px}}.thread{display:flex;flex-direction:column;gap:12px;max-height:52vh;overflow:auto;padding:10px 7px 12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.chat-layer:not(.open) .thread{display:none}.user-row{display:flex;justify-content:flex-end}.user-bubble{max-width:82%;padding:10px 14px;border-radius:14px 14px 4px;color:var(--surface);background:var(--ink);box-shadow:0 4px 13px #221e1924;font-size:12px;line-height:1.65;animation:bubble-in .26s ease-out both}.assistant-row{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:flex-start;gap:9px;animation:bubble-in .28s ease-out both}.assistant-avatar{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(58,78,122,.2);border-radius:10px;color:#fff;background:var(--ai);font-family:Shippori Mincho B1,serif;font-size:13px;font-weight:800;box-shadow:0 4px 10px #2c3b5e2b}.assistant-content{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.assistant-bubble,.thinking-bubble{padding:9px 12px;border:1px solid var(--line);border-radius:4px 13px 13px;color:var(--ink);background:var(--surface);box-shadow:0 4px 12px #221e1912;font-size:12px;line-height:1.6}.markdown-bubble{width:min(100%,545px);padding:10px 12px 8px}.assistant-message{min-width:0}.assistant-markdown{overflow-wrap:anywhere}.assistant-markdown>:first-child,.assistant-markdown>:first-child>:first-child{margin-top:0}.assistant-markdown>:last-child,.assistant-markdown>:last-child>:last-child{margin-bottom:0}.assistant-markdown p,.assistant-markdown ul,.assistant-markdown ol,.assistant-markdown blockquote,.assistant-markdown pre,.assistant-markdown .markdown-table-wrap{margin:0 0 9px}.assistant-markdown h1,.assistant-markdown h2,.assistant-markdown h3,.assistant-markdown h4{margin:13px 0 6px;line-height:1.3;letter-spacing:-.01em}.assistant-markdown h1{font-size:16px}.assistant-markdown h2{font-size:14px}.assistant-markdown h3,.assistant-markdown h4{font-size:12px}.assistant-markdown ul,.assistant-markdown ol{padding-left:20px}.assistant-markdown li+li{margin-top:3px}.assistant-markdown a{color:var(--ai);font-weight:600;text-decoration-thickness:1px;text-underline-offset:2px}.assistant-markdown blockquote{padding:6px 9px;border-left:3px solid var(--ai);color:var(--ink-2);background:var(--ai-soft)}.assistant-markdown code{padding:1px 4px;border:1px solid var(--line);border-radius:4px;color:var(--ai-dark);background:var(--paper);font-family:var(--mono);font-size:.86em}.assistant-markdown pre{overflow-x:auto;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#28251f}.assistant-markdown pre code{padding:0;border:0;color:#f7f4ee;background:transparent}.markdown-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.assistant-markdown table{width:100%;min-width:360px;border-collapse:collapse;font-size:10px}.assistant-markdown th,.assistant-markdown td{padding:6px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.assistant-markdown th:last-child,.assistant-markdown td:last-child{border-right:0}.assistant-markdown tr:last-child td{border-bottom:0}.assistant-markdown th{color:var(--ai-dark);background:var(--ai-soft);font-family:var(--mono);font-size:8px;letter-spacing:.03em;text-transform:uppercase}.message-copy{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 5px;border-radius:5px;color:var(--ink-3);background:transparent;font-family:var(--mono);font-size:7px;opacity:0;transition:color .15s ease,background .15s ease,opacity .15s ease}.markdown-bubble:hover .message-copy,.message-copy:focus-visible{opacity:1}.message-copy:hover{color:var(--ai);background:var(--ai-soft)}.tool-pill-group{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}.tool-pill{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:4px 7px;border:1px solid rgba(58,78,122,.19);border-radius:999px;color:var(--ai-dark);background:#eaedf4db;box-shadow:0 2px 7px #2c3b5e12;font-family:var(--mono);font-size:8px;font-weight:500}.tool-pill-icon{color:var(--ai)}.tool-pill-check{color:var(--success)}.navigation-pill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:min(100%,390px);padding:8px 10px;border:1px solid rgba(58,78,122,.28);border-radius:10px;color:var(--ai-dark);background:var(--ai-soft);box-shadow:0 4px 12px #2c3b5e17;text-align:left}.navigation-pill span,.navigation-pill strong,.navigation-pill small{display:block;min-width:0}.navigation-pill strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.navigation-pill small{margin-top:2px;color:var(--ink-3);font-family:var(--mono);font-size:7px}.navigation-pill:hover{border-color:var(--ai);background:color-mix(in srgb,var(--ai-soft) 72%,white)}.question-card{position:relative;width:min(100%,545px);overflow:hidden;border:1px solid rgba(58,78,122,.34);border-radius:14px;color:var(--ink);background:color-mix(in srgb,var(--surface) 91%,var(--ai-soft));box-shadow:0 12px 30px #2c3b5e21,0 2px 7px #221e190d}.question-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--ai);content:""}.question-card.answered{border-color:#3a8f5b4d}.question-card.answered.compact{width:fit-content;min-width:210px;max-width:min(100%,420px);border-radius:11px;background:color-mix(in srgb,var(--surface) 88%,var(--success-soft));box-shadow:0 5px 15px #221e1912}.question-card.answered:before{background:var(--success)}.question-card-header{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 13px 0 15px;border-bottom:1px solid rgba(58,78,122,.13);background:color-mix(in srgb,var(--ai-soft) 76%,var(--surface))}.question-card-header>div{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.question-card-header small{color:var(--ai-dark);font-family:var(--mono);font-size:7px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.question-card-header strong{color:var(--danger);font-size:8px}.question-card-icon{display:grid;place-items:center;width:23px;height:23px;flex:0 0 auto;border:1px solid rgba(58,78,122,.16);border-radius:7px;color:#fff;background:var(--ai)}.answered .question-card-icon{background:var(--success)}.question-answered-summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px 12px 7px 14px}.question-answered-summary>span:last-child{display:grid;gap:2px;min-width:0}.question-answered-summary small{color:var(--success);font-family:var(--mono);font-size:7px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.question-answered-summary strong{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.question-context{margin:12px 15px 0;color:var(--ink-2);font-size:10px;line-height:1.55}.question-context p{margin:0}.question-stack{display:grid;gap:14px;padding:14px 15px 15px}.question-block{display:grid;gap:9px}.question-header-chip{justify-self:start;padding:2px 6px;border:1px solid rgba(58,78,122,.16);border-radius:999px;color:var(--ai-dark);background:var(--ai-soft);font-family:var(--mono);font-size:7px;letter-spacing:.04em;text-transform:uppercase}.question-block h3{margin:0;font-size:14px;line-height:1.4;letter-spacing:-.01em}.question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.question-options button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;min-height:48px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);background:var(--surface);text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.question-options button:hover:not(:disabled),.question-options button:focus-visible{border-color:var(--ai);box-shadow:0 4px 12px #2c3b5e1a;outline:none;transform:translateY(-1px)}.question-options button.selected{border-color:var(--ai);background:var(--ai-soft);box-shadow:inset 0 0 0 1px #3a4e7a14}.question-options button>span{align-self:center;font-size:10px;font-weight:700}.question-options button>small{grid-column:1;color:var(--ink-3);font-size:8px;line-height:1.35}.question-options button>svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--success)}.question-input{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);background:var(--surface);font:inherit;font-size:11px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.question-input:focus{border-color:var(--ai);box-shadow:0 0 0 3px #3a4e7a1a}.question-submit,.question-answered{display:inline-flex;align-items:center;gap:6px;margin:0 15px 15px;min-height:31px;padding:6px 10px;border-radius:8px;font-size:9px;font-weight:700}.question-submit{border:1px solid var(--ai);color:#fff;background:var(--ai)}.question-submit:hover:not(:disabled),.question-submit:focus-visible{background:var(--ai-dark);outline:none}.question-submit:disabled,.question-options button:disabled,.question-input:disabled{cursor:not-allowed;opacity:.62}.question-answered{color:var(--success);background:var(--success-soft)}.thinking-bubble{display:flex;align-items:center;gap:4px;color:var(--ink-3);font-size:10px}.thinking-bubble span{width:4px;height:4px;border-radius:50%;background:var(--ai);animation:dot-wave 1s ease-in-out infinite}.thinking-bubble span:nth-child(2){animation-delay:.12s}.thinking-bubble span:nth-child(3){margin-right:3px;animation-delay:.24s}.thinking-bubble button{margin-left:7px;padding:4px 7px;border:1px solid rgba(195,63,46,.25);border-radius:7px;color:var(--danger);background:var(--danger-soft);font-size:8px;font-weight:700}.signal-card{width:min(100%,545px);overflow:hidden;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:0 10px 28px #221e191c,0 2px 7px #221e190d}.signal-card h3{margin:12px 15px 5px;font-size:12px}.card-header{display:flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-bottom:1px solid var(--line);color:var(--ai);background:var(--ai-soft)}.card-header span{font-family:var(--mono);font-size:7px;font-weight:500;letter-spacing:.1em}.card-header code{margin-left:auto;padding:3px 6px;border:1px solid rgba(58,78,122,.16);border-radius:5px;background:#ffffff7a;font-family:var(--mono);font-size:8px}.plan-steps{padding:11px 14px 13px}.plan-steps>div{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:30px}.plan-steps>div>i{position:absolute;z-index:0;top:23px;bottom:-8px;left:9px;width:1px;background:var(--line-strong)}.step-check{z-index:1;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#fff;background:var(--success)}.plan-steps strong{font-size:10px;font-weight:600}.plan-steps code{color:var(--ink-3);font-family:var(--mono);font-size:8px}.conflict-card{border-color:#c33f2e5c}.conflict-card .card-header{color:var(--danger);background:var(--danger-soft)}.conflict-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 14px 13px}.booking-mini{position:relative;min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.booking-mini em{position:absolute;top:5px;right:5px;padding:2px 4px;border-radius:4px;color:var(--ink-3);background:var(--surface);font-family:var(--mono);font-size:6px;font-style:normal}.booking-mini strong,.booking-mini span,.booking-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-mini strong{padding-right:30px;font-size:10px}.booking-mini span{margin-top:7px;font-family:var(--mono);font-size:8px}.booking-mini small{margin-top:3px;color:var(--ink-3);font-size:7px}.overlap-mark{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-45%);padding:3px 5px;border:2px solid var(--surface);border-radius:5px;color:#fff;background:var(--danger);font-family:var(--mono);font-size:6px}.danger-button{width:calc(100% - 28px);margin:0 14px 14px;padding:8px;border-radius:8px;color:#fff;background:var(--danger);font-size:10px;font-weight:700}.resolved-note{display:flex;align-items:center;gap:7px;margin:0 14px 14px;padding:8px 10px;border-radius:8px;color:var(--success);background:var(--success-soft);font-size:10px;font-weight:700}.conflict-card.resolved{border-color:#3e8e5a61}.conflict-card.resolved .card-header{color:var(--success);background:var(--success-soft)}.card-window{margin:0 15px 10px;color:var(--ink-3);font-family:var(--mono);font-size:8px}.candidate-list{display:grid;gap:6px;padding:0 11px 12px}.candidate-list button{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;text-align:left;background:var(--paper);transition:transform .16s ease,border-color .16s ease,background .16s ease}.candidate-list button:hover{transform:translateY(-1px);border-color:var(--ai);background:var(--ai-soft)}.candidate-color{width:7px;height:30px;border-radius:6px}.candidate-list strong,.candidate-list small{display:block}.candidate-list strong{font-size:10px}.candidate-list small{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--ink-3);font-size:8px}.candidate-list em{align-self:flex-start;padding:3px 5px;border-radius:5px;color:var(--success);background:var(--success-soft);font-family:var(--mono);font-size:6px;font-style:normal}.candidate-action{position:absolute;right:9px;bottom:7px;color:var(--ai);font-size:7px;font-weight:700;opacity:0;transition:opacity .16s ease}.candidate-list button:hover .candidate-action{opacity:1}.booking-card{border-color:#3e8e5a5c}.booking-card .card-header{color:var(--success);background:var(--success-soft)}.booking-card-main{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px 10px}.booking-room-dot{width:8px;height:43px;border-radius:7px}.booking-card h3{margin:0;font-size:12px}.booking-card p{margin:4px 0 3px;color:var(--ink-2);font-size:9px}.booking-card code{color:var(--ink-3);font-family:var(--mono);font-size:7px}.landed-check{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:var(--success);box-shadow:0 0 0 6px #3e8e5a1a}.undo-button{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 28px);margin:0 14px 12px;padding:7px;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);background:var(--paper);font-size:9px;font-weight:600}.booking-card.cancelled{opacity:.65}.booking-card.cancelled .booking-card-main{text-decoration:line-through}.lifecycle-card{padding-bottom:12px;border-color:#3a4e7a4d}.lifecycle-card h3,.lifecycle-card p,.lifecycle-card>small{margin-right:14px;margin-left:14px}.lifecycle-card p{margin-top:4px;margin-bottom:3px;color:var(--ink-2);font-size:9px}.lifecycle-card>small{color:var(--ink-3);font-family:var(--mono);font-size:7px}.lifecycle-stamp{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin:11px 14px 0;padding:7px 9px;border-radius:8px;color:var(--success);background:var(--success-soft);font-size:9px;font-weight:700}.series-card{border-color:#5348944d;background:linear-gradient(140deg,var(--paper-bright),rgba(236,234,248,.92))}.series-card:before{background:#675da6}.series-orbit{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:11px;color:#51478d}.series-orbit>svg{padding:7px;width:31px;height:31px;border-radius:50%;background:#675da61f}.series-orbit span{font-size:10px;font-weight:700}.series-orbit code{padding:3px 7px;border-radius:999px;background:#675da61a;font-size:8px}.series-card h3{margin:0;text-transform:capitalize}.series-card p{margin:5px 0;color:var(--ink-2);font-size:9px}.series-card>small{color:var(--ink-3);font-family:var(--mono);font-size:8px}.group-card{border-color:#37796d52;background:linear-gradient(140deg,var(--paper-bright),rgba(226,241,236,.94))}.group-card:before{background:#37796d}.group-knot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:11px;color:#2f6d62}.group-knot>svg{padding:7px;width:31px;height:31px;border-radius:50%;background:#37796d1f}.group-knot span{font-size:10px;font-weight:700}.group-knot code{padding:3px 7px;border-radius:999px;background:#37796d1a;font-size:8px}.group-card h3{margin:0}.group-card p{margin:5px 0;color:var(--ink-2);font-size:9px}.group-card>small{color:var(--ink-3);font-family:var(--mono);font-size:8px}.lifecycle-stamp code{font-family:var(--mono);font-size:7px}.room-table{padding:8px 12px 12px}.room-table>div{display:grid;grid-template-columns:7px minmax(120px,1fr) 1fr auto;align-items:center;gap:8px;min-height:31px;border-bottom:1px solid var(--line)}.room-table>div:last-child{border-bottom:0}.room-table>div>span{width:6px;height:20px;border-radius:5px}.room-table strong{font-size:9px}.room-table small{color:var(--ink-3);font-size:8px}.room-table em{display:flex;align-items:center;gap:3px;color:var(--ink-2);font-size:8px;font-style:normal}.composer{position:relative}.composer-dock-actions{position:absolute;z-index:2;top:-10px;right:-9px;display:flex;gap:3px}.composer-expand,.composer-hide{width:23px;height:23px;border-color:var(--line);border-radius:999px;background:var(--surface);box-shadow:0 3px 9px #221e1917}.composer-core{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:7px 8px 7px 16px;border:1px solid var(--line-strong);border-radius:17px;color:var(--ai);background:#fdfbf7f7;box-shadow:0 14px 42px #221e1926,0 3px 10px #221e1912;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.composer-core input{min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.composer-core input::placeholder{color:var(--ink-3)}.send-button{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;color:#fff;background:var(--ai);transition:transform .16s ease,background .16s ease}.send-button:not(:disabled):hover{transform:translateY(-1px);background:var(--ai-dark)}.suggestions{display:flex;justify-content:center;gap:6px;overflow-x:auto;padding:8px 5px 0;scrollbar-width:none}.suggestions button{display:inline-flex;align-items:center;gap:5px;max-width:255px;overflow:hidden;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);background:#fdfbf7e6;box-shadow:0 2px 6px #221e190a;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.suggestions button:first-child{color:var(--ai);border-color:#3a4e7a40;background:var(--ai-soft)}.toast{position:fixed;z-index:80;top:82px;left:50%;display:flex;align-items:center;gap:7px;transform:translate(-50%);padding:9px 13px;border:1px solid rgba(62,142,90,.26);border-radius:10px;color:#2f7046;background:#e4f0e8fa;box-shadow:0 8px 24px #221e191f;font-size:10px;font-weight:600;animation:toast-in .26s ease-out both}.spin{animation:spin .9s linear infinite}@keyframes booking-land{0%{opacity:0;transform:translateY(-13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes folio-in{0%{opacity:0;transform:translate(16px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes conflict-pulse{0%,to{box-shadow:0 0 #c33f2e14}50%{box-shadow:0 0 0 4px #c33f2e3d}}@keyframes room-glow{0%,to{box-shadow:inset 0 0 0 1px #3e8e5a14,0 0 12px #3e8e5a1a}50%{box-shadow:inset 0 0 0 1px #3e8e5a24,0 0 22px #3e8e5a3b}}@keyframes status-breathe{0%,to{opacity:.64}50%{opacity:1}}@keyframes dot-wave{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.day-tabs,.calendar-controls{grid-column:1 / -1;grid-row:2;justify-self:center;margin-bottom:2px}.top-actions{grid-column:2;grid-row:1}.runtime-pill{display:none}.topbar{padding:9px 15px}.board-scroll{padding:22px 16px 242px}}@media(max-width:1120px){.identity-passport summary{min-width:39px;width:39px;padding:0;place-items:center}.identity-passport summary>span{display:none}}@media(max-width:560px){.brand-tagline{display:none}.top-action{width:35px;padding:0;justify-content:center;font-size:0}.top-action svg{width:16px}.identity-menu{position:fixed;top:63px;right:9px;left:9px;width:auto}.calendar-controls{width:100%;justify-content:space-between}.date-lens input{width:102px}.view-tab{padding:0 8px}.board-title-row{align-items:flex-start;width:calc(100vw - 32px);flex-direction:column}.board-day .room-column-title,.board-day .room-label{position:sticky;left:0;z-index:14;background:#fdfbf7fa;box-shadow:8px 0 16px #221e190a}.board-day .booking-block{min-width:72px}.demo-controls{width:100%;flex-wrap:wrap}.new-booking-button,.explorer-button{flex:1;justify-content:center}.board.board-month{min-width:0}.board-month .month-frame{border-radius:11px}.board-month .month-weekdays{min-height:29px}.board-month .month-day{min-height:69px;padding:5px 4px}.board-month .month-date{font-size:8px}.board-month .month-load{margin:5px 0 4px;font-size:6px;line-height:1.25}.board-month .month-stamps{gap:2px;height:3px}.board-month .month-stamps i{width:8px}.board-month .month-day small{display:none}.reset-button{width:34px;padding:0;justify-content:center;font-size:0}.demo-button{padding:0 10px;font-size:9px}.chat-stack{width:calc(100vw - 18px);margin-bottom:9px}.thread{max-height:56vh;padding-right:2px;padding-left:2px}.signal-card,.markdown-bubble,.question-card{max-width:calc(100vw - 59px)}.question-options{grid-template-columns:1fr}.message-copy{opacity:1}.suggestions{justify-content:flex-start}.floor-map{position:fixed;top:116px;right:9px;left:9px;width:auto}.booking-folio,.booking-explorer{top:116px;right:9px;bottom:9px;left:9px;width:auto;border-radius:14px}.folio-head{min-height:60px}.folio-fields{gap:9px}}@media print{@page{size:landscape;margin:12mm}html,body,#root,.app-shell{height:auto;overflow:visible;background:#fff}.topbar,.chat-layer,.demo-controls,.floor-map,.booking-folio,.toast{display:none!important}.board-scroll{overflow:visible;padding:0}.board{min-width:0;max-width:none}.board-title-row{margin-bottom:10mm}.timeline-frame,.week-frame,.month-frame{break-inside:avoid;border-color:#aaa;box-shadow:none}.booking-block,.status-dot{animation:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.privacy-toggle{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;margin:12px 17px;padding:10px;border:1px solid rgba(58,78,122,.17);border-radius:10px;color:var(--ink-2);background:#e8ecf77a;cursor:pointer}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#f7f4ede6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-gate>div{position:relative;width:min(520px,100%);padding:38px;border:1px solid #d9d2c5;border-radius:24px;background:#fffdfa;box-shadow:0 24px 80px #2c28222e;text-align:center}.login-language{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d9d2c5;border-radius:999px;color:#49618d;background:#fffdfa;font:700 11px/1 monospace;letter-spacing:.08em;cursor:pointer}.login-language:hover{border-color:#6079a8;background:#f2f4f9}.login-language:focus-visible{outline:3px solid rgba(73,97,141,.18);outline-offset:2px}.auth-gate p{color:#49618d;font:700 11px/1.4 monospace;letter-spacing:.16em}.auth-gate h1{margin:10px 0;font-size:clamp(24px,5vw,38px)}.auth-gate span{display:block;color:#706b63;line-height:1.6}.login-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 14px;border-radius:16px;color:#314d80;background:#eef1f8;box-shadow:inset 0 0 0 1px #314d801f}.login-form{display:grid;gap:14px;margin-top:24px;text-align:left}.login-form label{display:grid;gap:7px}.login-form b{color:#4a4741;font-size:12px}.login-form input{width:100%;padding:13px 14px;border:1px solid #d9d2c5;border-radius:12px;outline:none;background:#fff;color:#27241f;font:inherit}.login-form input:focus{border-color:#6079a8;box-shadow:0 0 0 3px #49618d1f}.login-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:4px;border:0;border-radius:12px;background:#314d80;color:#fff;font-weight:700;cursor:pointer}.login-form button:disabled{opacity:.55;cursor:not-allowed}.login-error{padding:10px 12px;border-radius:10px;color:#8a2f2a;background:#fbecea;font-size:12px;line-height:1.45}.privacy-toggle>input{width:14px;height:14px;accent-color:var(--ai)}.privacy-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--ai-dark);background:#fff;box-shadow:inset 0 0 0 1px #3a4e7a21}.privacy-toggle>span:last-child{display:grid;gap:2px}.privacy-toggle strong{font-size:9px}.privacy-toggle small{color:var(--ink-3);font-size:7px;line-height:1.45}.folio-privacy{margin:12px 17px 0}
