:host,:root{--ol-background-color:white;--ol-accent-background-color:#F5F5F5;--ol-subtle-background-color:rgba(128,128,128,0.25);--ol-partial-background-color:rgba(255,255,255,0.75);--ol-foreground-color:#333333;--ol-subtle-foreground-color:#666666;--ol-brand-color:#00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{position:absolute;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{font-size:12px;text-align:center;bottom:25px}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_e8acdf{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.room-schedule,.schedule-shell{color:#f2f2f2}.schedule-shell{border:1px solid #353535;border-radius:14px;background:#1b1b1b;overflow:hidden}.schedule-shell-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #353535;font-size:13px;font-weight:600}.schedule-expand-button{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #444444;border-radius:7px;color:#d1d1d1;font-size:11px}.schedule-expand-button:hover{background:#333333;color:white}.schedule-toolbar{padding:16px;display:flex;flex-direction:column;gap:12px}.schedule-date-row,.schedule-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-date-nav{display:flex;align-items:center;border:1px solid #404040;border-radius:9px;background:#242424;overflow:hidden}.schedule-date-nav button{min-height:40px;display:flex;align-items:center;justify-content:center;padding:0 10px}.schedule-date-nav button:hover{background:#303030}.schedule-date-nav .schedule-date{gap:8px;font-size:13px;padding:0 6px;white-space:nowrap}.schedule-search{display:flex;align-items:center;gap:8px;flex:1;min-width:120px;height:40px;border:1px solid #404040;padding:0 11px;border-radius:8px;color:#a8a8a8;background:#242424}.schedule-search input{background:transparent;border:0;outline:none;width:100%;min-width:0;color:#f3f3f3;font-size:13px}.schedule-search input::placeholder{color:#929292}.schedule-room-picker select,.schedule-type{color-scheme:dark;background:#242424;border:1px solid #404040;border-radius:8px;padding:9px;color:#e3e3e3;max-width:100%;font-size:12px;min-height:40px}.schedule-toggle{display:flex;gap:8px;align-items:center;position:relative;cursor:pointer;font-size:12px;color:#d1d1d1;white-space:nowrap;min-height:36px}.schedule-toggle input{position:absolute;width:34px;height:20px;opacity:0}.schedule-switch{width:34px;height:20px;border:1px solid #4b4b4b;border-radius:20px;background:#343434;position:relative;transition:background .15s}.schedule-switch:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#a8a8a8;transition:transform .15s}.schedule-toggle input:checked+.schedule-switch{background:#777777;border-color:#888888}.schedule-toggle input:checked+.schedule-switch:after{transform:translateX(14px);background:#ffffff}.schedule-toggle input:focus-visible+.schedule-switch{outline:2px solid #f3f3f3;outline-offset:3px}.schedule-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#bdbdbd}.schedule-legend span{display:flex;align-items:center;gap:5px}.schedule-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.schedule-dot.free{background:#89bd97}.schedule-dot.busy{background:#c4767a}.schedule-dot.reserved{background:#d0ae64}.schedule-grid-scroll{overflow:auto;max-height:520px;scrollbar-color:#555555 #222222}.schedule-grid{width:100%;min-width:1260px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}.schedule-grid thead th{position:sticky;top:0;z-index:2;height:48px;background:#292929;border-bottom:1px solid #444444;border-right:1px solid #383838;color:#d0d0d0;font-weight:500;font-variant-numeric:tabular-nums}.schedule-grid .schedule-room-heading{left:0;z-index:4;width:172px;text-align:left;padding:0 16px;font-weight:600;color:#f4f4f4}.schedule-room-heading span{color:#959595;font-size:10px;margin-left:6px}.schedule-room-name{position:sticky;left:0;z-index:1;width:172px;padding:12px 16px;background:#202020;text-align:left;border-bottom:1px solid #393939;border-right:1px solid #444444}.schedule-room-name>span{display:block;font-weight:500;line-height:1.5}.schedule-room-name small{display:flex;gap:4px;align-items:center;color:#939393;font-size:10px;font-weight:400;margin-top:4px}.schedule-track-cell{padding:0;border-bottom:1px solid #393939;background:#1c1c1c}.schedule-grid tbody tr:nth-child(2n) .schedule-track-cell{background:#212121}.schedule-track{min-height:80px;height:100%;position:relative;background-image:linear-gradient(90deg,#383838 1px,transparent 0);background-size:calc(100% / 13) 100%}.schedule-block{position:absolute;top:8px;bottom:8px;margin-left:4px;padding:8px 10px;border-radius:9px;border:1px solid;text-align:left;overflow:hidden;min-width:3px;display:flex;flex-direction:column;justify-content:center;transition:filter .15s,box-shadow .15s}.schedule-block.free{background:#263b2d;border-color:#5d8669;color:#d4e7d9}.schedule-block.busy{background:#45292e;border-color:#925158;color:#f0d3d6}.schedule-block.reserved{border-style:dashed;background:#413829;border-color:#8f7748;color:#efdfbd}.schedule-block:hover{filter:brightness(1.25);box-shadow:inset 0 0 0 1px currentColor}.schedule-block-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}.schedule-block small{font-size:10px;opacity:.8;margin-top:4px;white-space:nowrap;font-variant-numeric:tabular-nums}.schedule-short{padding:8px 4px}.schedule-short .schedule-block-title,.schedule-short small{visibility:hidden}.schedule-block.free{text-align:center}.schedule-popover[data-state]{width:min(340px,calc(100vw - 32px));padding:16px;background:#252525;border-color:#4b4b4b;color:#f2f2f2;border-radius:12px;z-index:140;box-shadow:0 16px 40px #0008}.schedule-date-popover[data-state]{z-index:140}.schedule-details{display:flex;flex-direction:column;gap:10px}.schedule-details h4{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:8px}.schedule-details p:not(.schedule-detail-room){display:flex;align-items:flex-start;gap:7px;color:#b8b8b8;font-size:12px;line-height:1.6;margin-bottom:5px}.schedule-details svg{flex-shrink:0;margin-top:3px}.schedule-detail-room{color:#b8b8b8;font-size:12px;line-height:1.5}.schedule-detail-type{font-size:10px;color:#c9c9c9;border:1px solid #494949;border-radius:5px;display:inline-block;padding:3px 6px;margin-top:5px}.schedule-empty{padding:40px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#bdbdbd;font-size:13px;text-align:center}.schedule-empty span{font-size:11px;color:#999999}.schedule-mobile{display:none}.schedule-loading{display:flex;flex-direction:column;min-height:0;flex:1}.schedule-placeholder-name{height:14px;width:75%}.schedule-placeholder-caption{height:10px;width:50%;margin-top:6px}.schedule-placeholder-track{display:flex;align-items:center;gap:16px;padding:10px 12px}.schedule-placeholder-track>div{height:58px;flex:2;background:#333333;border:1px solid #3d3d3d;border-radius:9px}.schedule-placeholder-track>div:nth-child(2){flex:3}.schedule-placeholder-track>div:last-child{flex:1}.schedule-grid tbody tr:nth-child(2n) .schedule-placeholder-track>div:first-child{flex:3}.schedule-grid tbody tr:nth-child(2n) .schedule-placeholder-track>div:nth-child(2){flex:1}.schedule-placeholder-picker{width:100%;height:44px}.schedule-placeholder-time{width:32px;height:10px;margin:5px 0 10px auto}@media (prefers-reduced-motion:reduce){.schedule-loading .animate-pulse{animation:none}}.schedule-dialog-overlay[data-state]{z-index:120}.schedule-dialog[data-state]{z-index:130;width:calc(100vw - 48px);max-width:1500px;height:min(900px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;border-radius:18px;gap:0;display:flex;flex-direction:column;overflow:hidden;background:#1b1b1b}.schedule-dialog>button{top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.schedule-dialog-header{padding:22px 28px;border-bottom:1px solid #353535;flex-shrink:0}.schedule-dialog-header h2{font-size:22px;line-height:1.4;margin:0 24px 0 0;font-weight:600}.schedule-expanded{display:flex;flex-direction:column;min-height:0;flex:1}.schedule-expanded .schedule-toolbar{padding:18px 28px;flex-shrink:0;display:grid;grid-template-columns:1fr auto}.schedule-expanded .schedule-date-row,.schedule-expanded .schedule-filter-row{grid-column:1}.schedule-expanded .schedule-legend{grid-column:2;grid-row:1/3;align-self:center;flex-direction:column;font-size:12px;gap:9px;margin-left:24px}.schedule-expanded .schedule-search{max-width:300px}.schedule-expanded .schedule-grid{min-width:1100px}.schedule-expanded .schedule-grid-scroll{flex:1;max-height:none;margin:0 28px;border:1px solid #3b3b3b;border-radius:10px 10px 0 0}.room-schedule button:focus-visible,.room-schedule select:focus-visible,.schedule-expand-button:focus-visible,.schedule-grid-scroll:focus-visible,.schedule-search:focus-within{outline:2px solid #c3c3c3;outline-offset:2px}@media (max-width:768px){.schedule-dialog[data-state]{position:fixed;inset:0;transform:none;animation:none!important;width:100%;height:100dvh;max-height:100dvh;max-width:100%;border-radius:0;border:0}.schedule-dialog-header{padding:max(22px,env(safe-area-inset-top)) 20px 16px}.schedule-dialog-header h2{font-size:18px}.schedule-grid-scroll{display:none}.schedule-mobile{display:block;padding:0 14px 16px}.schedule-expanded .schedule-toolbar,.schedule-toolbar{display:flex;padding:14px;gap:12px}.schedule-expanded{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block}.schedule-expanded .schedule-legend{flex-direction:row;font-size:10px;margin:0;align-self:auto;gap:12px}.schedule-expanded .schedule-search{max-width:none}.schedule-date-nav{width:100%;justify-content:space-between}.schedule-date-nav button{min-height:44px}.schedule-search{flex-basis:100%}.schedule-type{flex:1;min-width:0}.schedule-room-picker{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #3c3c3c;border-radius:12px;background:#242424}.schedule-room-picker select{width:100%;font-size:14px;background:#292929;min-height:44px}.schedule-timeline-heading{display:flex;justify-content:flex-end;gap:12px;align-items:center;padding:14px 0;font-size:14px;font-weight:500}.schedule-timeline-heading small{display:flex;gap:5px;align-items:center;font-size:10px;color:#a1a1a1}.schedule-timeline{list-style:none;padding:0;margin:0}.schedule-timeline-item{display:grid;grid-template-columns:40px 30px minmax(0,1fr);column-gap:9px;padding-bottom:14px;position:relative}.schedule-timeline-item:before{content:"";position:absolute;width:1px;top:29px;bottom:-1px;left:64px;background:#414141}.schedule-timeline-item:last-child:before{bottom:16px}.schedule-timeline-time{padding-top:6px;text-align:right;font-variant-numeric:tabular-nums}.schedule-timeline-time time{display:block;font-size:11px;color:#d3d3d3}.schedule-timeline-time>span{display:block;margin-top:6px;font-size:9px;color:#858585}.schedule-timeline-icon{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%;z-index:1}.schedule-timeline-icon.free{background:#3e674b;color:#def2e3}.schedule-timeline-icon.busy{background:#7c424c;color:#f6d9de}.schedule-timeline-icon.reserved{background:#7a6236;color:#f5e4bd}.schedule-timeline-card{width:100%;text-align:left;padding:13px 12px;min-height:100px;border:1px solid #444444;background:#252525;border-radius:11px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.schedule-timeline-card.free{border-color:#47644f;background:#242e28}.schedule-timeline-card.busy{border-color:#65454e}.schedule-timeline-card.reserved{border-style:dashed;border-color:#6a5b3f}.schedule-card-status{font-size:9px;letter-spacing:.03em;color:#b9b9b9}.free .schedule-card-status{color:#a7ccaf}.busy .schedule-card-status{color:#d7a2ad}.reserved .schedule-card-status{color:#d7c08e}.schedule-timeline-card strong{font-size:13px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.schedule-timeline-card small{font-size:10px;color:#aaaaaa;display:flex;flex-wrap:wrap;gap:4px;font-variant-numeric:tabular-nums}.schedule-card-teacher{font-size:10px;color:#a7a7a7;line-height:1.4}.schedule-day-end{margin-left:89px;font-size:10px;color:#8d8d8d;padding:8px 0}}.map-detail-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;pointer-events:none}.map-detail-panel{display:flex;flex-direction:column;width:min(400px,100%);max-height:calc(100% - 32px);background:#1a1a1a;color:#f2f2f2;border:1px solid #333333;border-radius:12px;box-shadow:0 12px 36px #0008;overflow:hidden;pointer-events:auto}.map-detail-tall{height:min(720px,calc(100% - 32px))}.map-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #333333;flex-shrink:0}.map-detail-title{font-size:16px;font-weight:500;line-height:1.5;min-width:0}.map-detail-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;margin:-8px -8px -8px 0;border-radius:8px;color:#aaaaaa}.map-control-button:hover,.map-detail-close:hover{background:#333333;color:#ffffff}.map-control-button:active,.map-detail-close:active{background:#444444;color:#ffffff}.map-control-button:focus-visible,.map-detail-close:focus-visible{outline:2px solid #cccccc;outline-offset:2px}.map-detail-body{padding:16px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.map-detail-tall .map-detail-body{display:flex;flex-direction:column;flex:1;padding:0}.map-zoom-controls{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;z-index:40;pointer-events:auto}.map-control-button{background:#222222;border:1px solid #333333;color:#ffffff;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background .15s;touch-action:manipulation;user-select:none}.map-zoom-button:first-child{border-radius:8px 8px 0 0}.map-zoom-button:last-child{border-radius:0 0 8px 8px;border-top:0}.map-reset-button.hidden{display:none}.map-reset-button{position:absolute;top:16px;right:56px;z-index:40}@media (max-width:768px){.map-control-button{width:44px;height:44px}.map-reset-button.hidden{display:none}.map-reset-button{right:68px}}@media (prefers-reduced-motion:reduce){.map-control-button{transition:none}}.map-mode-switch{position:absolute;top:16px;left:16px;z-index:40;display:flex;padding:3px;gap:2px;background:#222;border:1px solid #333;border-radius:9px}.map-mode-switch button{min-width:42px;min-height:32px;padding:4px 10px;border-radius:6px;color:#aaa;font-size:12px;touch-action:manipulation}.map-mode-switch button[aria-pressed=true]{background:#444;color:#fff}.campus-3d-pin:focus-visible,.map-mode-switch button:focus-visible{outline:2px solid #ddd;outline-offset:3px}.map-mode-switch button:disabled{opacity:.4}.campus-3d-message{position:absolute;top:64px;left:16px;z-index:40;display:flex;align-items:center;gap:12px;max-width:min(320px,calc(100% - 32px));padding:10px 12px;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#ccc;font-size:12px}.campus-3d-message button{flex-shrink:0;padding:4px}.campus-3d-pin{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;color:#fff;font-family:inherit;font-size:11px;font-weight:600;text-shadow:0 1px 3px #000,0 0 4px #000;cursor:pointer;padding:8px;min-width:36px;min-height:36px}.campus-3d-pin:after{content:"";width:14px;height:14px;border-radius:50%;background:var(--pin-color);border:2px solid #ffffff99;box-shadow:0 1px 5px #0008}.campus-map-3d .maplibregl-ctrl-top-right{top:6px;right:6px}.campus-map-3d .maplibregl-ctrl-group{background:#222;border:1px solid #333;border-radius:8px}.campus-map-3d .maplibregl-ctrl-group button{width:32px;height:32px}.campus-map-3d .maplibregl-ctrl-group button+button{border-color:#333}.campus-map-3d .maplibregl-ctrl-group button:hover{background:#333}.campus-map-3d .maplibregl-ctrl-icon{filter:invert(1)}.campus-map-3d .maplibregl-ctrl-attrib{background:#222;color:#bbb}.campus-map-3d .maplibregl-ctrl-attrib a{color:#ddd}@media (max-width:768px){.map-mode-switch button{min-height:40px}.campus-3d-message{top:74px}.campus-map-3d .maplibregl-ctrl-group button{width:44px;height:44px}}