@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css?family=Orbitron);*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}@font-face{font-family:Graphik Web;font-stretch:normal;font-style:normal;font-weight:500;src:url(/static/media/Graphik-Medium-Web.4557e2355f8593be8460.eot);src:url(/static/media/Graphik-Medium-Web.4557e2355f8593be8460.eot?#iefix) format("embedded-opentype"),url(/static/media/Graphik-Medium-Web.11d926d36b60d6bfffaa.woff2) format("woff2"),url(/static/media/Graphik-Medium-Web.f26acfce370f8dd954f9.woff) format("woff")}@font-face{font-family:Graphik Web;font-stretch:normal;font-style:normal;font-weight:400;src:url(/static/media/Graphik-Regular-Web.b9602c00355868f1e5b4.eot);src:url(/static/media/Graphik-Regular-Web.b9602c00355868f1e5b4.eot?#iefix) format("embedded-opentype"),url(/static/media/Graphik-Regular-Web.e4f81c154e13790a4d0c.woff2) format("woff2"),url(/static/media/Graphik-Regular-Web.be9e9d64c63f655d3c70.woff) format("woff")}.App{--io-offwhite:#ebe8e3;--bg:var(--io-offwhite);--bg-surface:#fff;--text:#242424;--text-secondary:#747474;--accent:#0000d2;--accent-secondary:#365fd9;--border:#c3d1ce;--input-bg:#f4f4f4;--booking-bg:#8a8a8a;--booking-bg-past:#d9d9d9;--booking-text:#fff;--booking-text-past:#8a8a8a;--font-heading:"Manrope",sans-serif;--font-body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--radius-card:12px;--radius-button:50px;--link-color:#0000d2;--hover-surface:#0000d214;--card-border-hover:#0000d2;--available-bg:#0000d2;--available-text:#fff;--unavailable-bg:#fff5f5;--unavailable-border:#fcc;--unavailable-text:#c00;--tooltip-bg:#242424;--tooltip-text:#fff;--now-line-color:#0000d2;--flames-display:none;--marauder-filter:none;--header-bg:#fff;--header-border:1px solid #c3d1ce;--header-gap:20px;--header-padding:20px 40px;--h1-weight:800;--h1-size:28px;--h1-letter-spacing:-0.5px;--device-bg:#fff;--device-border:1px solid #0000;--device-width-desktop:calc(12.5% - 7px);--device-padding:16px 12px;--device-font-size:14px;--device-img-size:72px;--device-img-border:2px solid #ebe8e3;--devices-padding:30px 40px;--devices-gap:8px;--devices-justify:flex-start;--rooms-margin:0 40px;--rooms-padding:30px 0;--timeline-bg:#fff;--timeline-radius:16px;--timeline-padding:24px;--timeline-border:1px solid #c3d1ce;--room-bar-bg:#f4f4f4;--room-bar-radius:8px;--room-bar-height:34px;--booking-inset:2px;--booking-radius:calc(var(--room-bar-radius) - 1px);--booking-divider:var(--booking-inset) solid #0000;--room-h2-size:14px;--icon-bg:#f4f4f4;--icon-hover-bg:#dccfc2;--icon-radius:50%;--icon-size:40px;--icon-padding:6px;--marauder-icon-filter:none;--nav-icon-cursor:pointer;--input-radius:50px;--input-border:2px solid #c3d1ce;--input-padding:10px 20px;--input-focus-border:#0000d2;--marauder-padding:30px 40px;--marauder-gap:20px;--marauder-map-radius:12px;--marauder-name-color:#242424;--marauder-img-border:2px solid #fff;--marauder-img-shadow:0 2px 8px #0003}.App.theme-classic{--bg:#000;--bg-surface:#0000;--text:#f9f9f9;--text-secondary:#ccc;--accent:#f9f9f9;--accent-secondary:#fff;--border:#fff;--input-bg:#0000;--booking-bg:#fff;--booking-bg-past:#555;--booking-text:#000;--booking-text-past:#ccc;--font-heading:"Orbitron",sans-serif;--font-body:"Graphik Web",sans-serif;--radius-card:0px;--radius-button:1px;--link-color:#f9f9f9;--hover-surface:#ffffff1a;--card-border-hover:#fff;--available-bg:#ffffff1a;--available-text:#f9f9f9;--unavailable-bg:#ff00001a;--unavailable-border:#ff00004d;--unavailable-text:#f99;--tooltip-bg:#fff;--tooltip-text:#000;--now-line-color:#fff;--flames-display:block;--marauder-filter:invert(1);--header-bg:#0000;--header-border:none;--header-gap:3em;--header-padding:1em;--h1-weight:400;--h1-size:28px;--h1-letter-spacing:normal;--device-bg:#0000;--device-border:none;--device-width-desktop:calc(12.5% - var(--devices-gap)*7/8);--device-padding:10px;--device-font-size:inherit;--device-img-size:80%;--device-img-border:none;--devices-padding:30px 0;--devices-gap:12px;--devices-justify:flex-start;--rooms-margin:0 60px;--rooms-padding:30px 0;--timeline-bg:#0000;--timeline-radius:0;--timeline-padding:0;--timeline-border:none;--room-bar-bg:#0000;--room-bar-radius:0;--room-bar-height:40px;--booking-inset:0px;--booking-radius:0;--booking-divider:1px solid #000;--room-h2-size:1.4em;--icon-bg:#0000;--icon-hover-bg:#0000;--icon-radius:0;--icon-size:36px;--icon-padding:0;--marauder-icon-filter:invert(1);--nav-icon-cursor:pointer;--input-radius:1px;--input-border:1px solid #ccc;--input-padding:0.5em;--input-focus-border:#ccc;--marauder-padding:30px 0;--marauder-gap:0;--marauder-map-radius:0;--marauder-name-color:inherit;--marauder-img-border:none;--marauder-img-shadow:none}*{box-sizing:border-box}a,a:visited{color:var(--link-color);text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.6}body{background-color:var(--bg);font-family:var(--font-body)}body,h1{color:var(--text)}h1{cursor:pointer;display:inline-block;font-family:var(--font-heading);font-size:var(--h1-size);font-weight:var(--h1-weight);letter-spacing:var(--h1-letter-spacing);margin:0}.top-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;padding:24px 40px 16px}.theme-classic .top-bar{padding:1em 1em .65em}@media (min-width:1100px){.top-bar{display:grid;grid-template-columns:1fr auto 1fr;justify-content:normal}.top-bar .sort-toggle-pill{justify-self:center}.top-bar .peeps-search{justify-self:end}}.logo-heading{display:block;flex-shrink:0}header{display:none}.theme-classic header{margin:1em;padding:0;text-align:center}header input{background:var(--input-bg);border:var(--input-border);border-radius:var(--input-radius);color:var(--text);font-family:var(--font-body);font-size:16px;outline:none;padding:var(--input-padding);transition:border-color .3s ease}header input:focus{border-color:var(--input-focus-border)}header input::placeholder{color:var(--text-secondary)}.theme-classic header input{margin-left:1em}.app-footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;padding:40px 40px 20px;text-align:center}.theme-classic .app-footer{padding:2em 1em 1em}.footer-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:inline-block;font-family:var(--font-body);font-size:14px;padding:0;text-decoration:none;transition:opacity .3s ease}.footer-link:hover{opacity:.6}.roadmap{margin:0 auto;max-width:720px;padding:40px 40px 20px}.theme-classic .roadmap{padding:2em 1em}.roadmap-header{align-items:baseline;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.roadmap-header h2{color:var(--text);font-family:var(--font-heading);font-size:24px;font-weight:700;margin:0}.theme-classic .roadmap-header h2{font-weight:400}.roadmap-progress{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0;white-space:nowrap}.roadmap-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.roadmap-item{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);display:flex;gap:14px;padding:14px 16px}.theme-classic .roadmap-item{border:1px solid var(--border);border-radius:0}.roadmap-checkbox{align-items:center;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--border);color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:22px;justify-content:center;width:22px}.roadmap-item-done .roadmap-checkbox{background:var(--accent);box-shadow:none}.theme-classic .roadmap-checkbox{border-radius:0}.theme-classic .roadmap-item-done .roadmap-checkbox{background:#fff;color:#000}.roadmap-item-title{color:var(--text);font-size:15px;font-weight:600}.roadmap-item-done .roadmap-item-title{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border)}.flames{background-image:url(/static/media/flamedivider.5216f363c4160a667696.gif);background-position:bottom;background-repeat:repeat-x;bottom:0;content:" ";display:var(--flames-display);height:30px;position:fixed;width:100%;z-index:2}.App{margin:0 auto 30px;max-width:1600px;min-height:100vh}.message-wrapper{padding:40px 20px;text-align:center}.peeps-search{background:var(--bg-surface);border:none;border-radius:var(--radius-button);color:var(--text);flex-shrink:0;font-family:var(--font-body);font-size:14px;outline:none;padding:12px 20px;transition:box-shadow .24s cubic-bezier(.22,1,.36,1);width:220px}.peeps-search::placeholder{color:var(--text-secondary)}.peeps-search:focus-visible{outline:2px solid var(--text);outline-offset:2px}.theme-classic .peeps-search{background:#0000;border:1px solid #fff;border-radius:1px;color:#fff}.theme-classic .peeps-search::placeholder{color:#ccc}.sort-toggle-pill{background:var(--bg-surface);border-radius:var(--radius-button);display:inline-flex;gap:2px;padding:4px}.sort-toggle-btn{background:#0000;border:none;border-radius:var(--radius-button);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:600;padding:8px 20px;transition:background-color .24s cubic-bezier(.22,1,.36,1),color .24s cubic-bezier(.22,1,.36,1)}.sort-toggle-btn.active{background:var(--input-bg);color:var(--text)}.sort-toggle-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.theme-classic .sort-toggle-pill{background:#0000;border:1px solid #fff;border-radius:1px;padding:0}.theme-classic .sort-toggle-btn{border-radius:0;color:#ccc}.theme-classic .sort-toggle-btn.active{background:#fff;color:#000}.sort-toggle-icon{display:block;height:26px;image-rendering:pixelated;object-fit:contain;width:26px}.theme-classic .sort-toggle-btn:has(.sort-toggle-icon){align-items:center;display:inline-flex;padding:10px 28px}.sort-toggle-icon-marauder{filter:invert(1)}.sort-toggle-btn.active .sort-toggle-icon-marauder{filter:none}.coin.coin-easter-egg{background:none;height:18px;opacity:.35;padding:0;transition:opacity .2s ease;width:18px}.coin.coin-easter-egg:hover{background:none;opacity:1}.connection-status{align-items:center;display:flex;gap:8px}.connection-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.connection-dot-online{animation:connection-pulse-online 1.6s ease-out infinite;background:var(--accent);box-shadow:0 0 0 0 var(--accent)}.connection-dot-connecting{animation:connection-pulse-connecting 1.1s ease-out infinite;background:#e8902e;box-shadow:0 0 0 0 #e8902e}.connection-dot-offline{background:#c00}.connection-label{color:var(--text-secondary);font-family:var(--font-body);font-size:14px;font-weight:500}@keyframes connection-pulse-online{0%{box-shadow:0 0 0 0 #0000d280}to{box-shadow:0 0 0 6px #0000d200}}@keyframes connection-pulse-connecting{0%{box-shadow:0 0 0 0 #e8902e80}to{box-shadow:0 0 0 6px #e8902e00}}.theme-classic .connection-dot-online{animation:connection-pulse-online-classic 1.6s ease-out infinite;background:#f9f9f9}@keyframes connection-pulse-online-classic{0%{box-shadow:0 0 0 0 #f9f9f980}to{box-shadow:0 0 0 6px #f9f9f900}}.devices-wrapper{display:flex;flex-wrap:wrap;gap:var(--devices-gap);justify-content:var(--devices-justify);padding:var(--devices-padding)}.device-wrapper{color:var(--text);font-size:var(--device-font-size);font-weight:500;text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;width:var(--device-width-desktop)}.device-photo-frame{position:relative;transition:transform .24s cubic-bezier(.22,1,.36,1);will-change:transform}.device-photo{aspect-ratio:1/1;background:var(--device-bg);border-radius:var(--radius-card);overflow:hidden;transition:box-shadow .3s ease;width:100%}.device-wrapper:hover .device-photo{box-shadow:0 4px 16px var(--hover-surface)}.theme-classic .device-wrapper:hover .device-photo{box-shadow:none}.theme-classic .device-photo-frame{transform:none!important;transition:none}.device-photo img{display:block;height:100%;object-fit:cover;width:100%}.device-name-tag{align-items:baseline;background:var(--device-bg);border-radius:var(--radius-button);bottom:10px;box-shadow:0 2px 8px #0000001f;color:var(--text);display:flex;font-size:var(--device-font-size);font-weight:600;gap:6px;left:10px;padding:6px 14px;position:absolute;white-space:nowrap}.device-room{font-size:12px}.device-room,.room-number{color:var(--text-secondary);font-weight:500}.floor-card{cursor:pointer}.floor-card .device-photo{background:#dccfc2}.floor-card-photo{align-items:center;display:flex;justify-content:center}.floor-card-number{color:#242424;font-family:var(--font-heading);font-size:48px;font-weight:800;line-height:1}.theme-classic .floor-card-number{color:#000}.theme-classic .floor-card .device-photo{background:#fff}.theme-classic .device-room{color:#fff}.theme-classic .device-name-tag{background:none;border:none;border-radius:0;box-shadow:none;justify-content:center;padding:6px 0 0;position:static}.last-seen-wrapper{color:var(--text-secondary);font-size:12px;margin-top:14px}.location-wrapper a{color:var(--link-color);font-size:12px;font-weight:600}.offline{padding:60px 20px;text-align:center}.offline p{margin:0}.offline-title{color:var(--text);font-size:var(--device-font-size);font-weight:600}.coin,.marauder,.mushroom{align-items:center;background:var(--icon-bg);border-radius:var(--icon-radius);cursor:var(--nav-icon-cursor);display:inline-flex;height:var(--icon-size);justify-content:center;padding:var(--icon-padding);position:relative;transition:background-color .3s ease,transform .2s ease;width:var(--icon-size)}.coin:hover,.marauder:hover,.mushroom:hover{background:var(--icon-hover-bg);cursor:pointer}.marauder{filter:var(--marauder-icon-filter)}.coin-clicked,.marauder-clicked,.mushroom-clicked{transform:scale(.9);transition:transform .15s ease}.theme-classic .coin-clicked,.theme-classic .marauder-clicked,.theme-classic .mushroom-clicked{top:-4px;transform:none;transition:top .2s linear}.theme-toggle{background:#0000;border:2px solid var(--accent);border-radius:50px;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 16px;transition:background-color .3s ease,color .3s ease,opacity .3s ease;white-space:nowrap}.theme-toggle:hover{opacity:.6}.rooms{margin:var(--rooms-margin);padding:var(--rooms-padding);position:relative}.rooms-timeline-container{background:var(--bg-surface);border-radius:var(--radius-card);padding:var(--timeline-padding);position:relative;z-index:1}.rooms-body{align-items:flex-start;display:flex;gap:16px}.room-labels-column{display:flex;flex-direction:column;flex-shrink:0;padding-top:20px}.room-label-row{align-items:center;display:flex;height:var(--room-bar-height);margin-bottom:8px}.theme-classic .room-label-row{margin-bottom:.5em}.room-labels-column>.room-label-row:last-child,.rooms-scroll-inner>.room-track-row:last-child{margin-bottom:0}.theme-classic .room-labels-column>.room-label-row:last-child,.theme-classic .rooms-scroll-inner>.room-track-row:last-child{margin-bottom:80px}.rooms-scroll-area{flex:1 1;min-width:0;overflow-x:auto;overflow-y:visible;padding-top:20px}.rooms-scroll-inner{position:relative}.room-track-row{margin-bottom:8px}.theme-classic .room-track-row{margin-bottom:.5em}.available-rooms{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);display:flex;gap:16px;margin-bottom:16px;padding:var(--timeline-padding);position:relative;z-index:0}.theme-classic .available-rooms{border:1px solid var(--border);padding:16px}.available-rooms h3{color:var(--text);flex-shrink:0;font-size:14px;font-weight:600;margin:0;white-space:nowrap}.theme-classic .available-rooms h3{font-size:1em;font-weight:400}.available-rooms-links{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;margin:-8px -4px;overflow-x:auto;padding:8px 4px}.available-room-link{align-items:baseline;background-color:var(--device-bg);border:none;border-radius:var(--radius-button);box-shadow:0 2px 8px #0000001f;color:var(--text);display:inline-flex;flex-shrink:0;font-size:var(--device-font-size);font-weight:600;gap:6px;padding:6px 14px;text-decoration:none;transition:box-shadow .3s ease;white-space:nowrap}.available-room-number{color:var(--text-secondary);font-size:12px;font-weight:500}.available-room-link:visited{color:var(--text)}.available-room-link:hover{box-shadow:0 4px 12px #0000002e}.theme-classic .available-room-link{background-color:initial;border:1px solid #fff;box-shadow:none;font-size:inherit;font-weight:400;padding:.5em 1em;text-align:left}.theme-classic .available-room-number{color:#ccc}.theme-classic .available-room-link:hover{background-color:#fff3;box-shadow:none}.unavailable-rooms{background-color:var(--unavailable-bg);border:1px solid var(--unavailable-border);border-radius:var(--radius-card);margin-bottom:24px;padding:16px 20px}.unavailable-rooms h3{color:var(--unavailable-text);font-size:14px;font-weight:600;margin:0 0 8px}.unavailable-rooms-list{display:flex;flex-wrap:wrap;gap:8px}.unavailable-room-link{background-color:initial;border:1px solid var(--unavailable-text);border-radius:var(--radius-button);color:var(--unavailable-text);font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:background-color .3s ease}.unavailable-room-link:hover{background-color:#cc00000d}.room-label-column{align-items:center;display:flex;flex-shrink:0;gap:10px;min-width:200px}.room-label-column h2{color:var(--text);flex-shrink:0;font-size:var(--room-h2-size);font-weight:600;margin:0;white-space:nowrap}.room-label-column h2 a{color:var(--text);text-decoration:none}.room-label-column h2 a:hover{color:var(--accent);opacity:1}.room-occupants{align-items:center;display:flex;flex-shrink:0}.room-occupant-chip{background:var(--device-bg);border-radius:50%;box-shadow:0 0 0 2px var(--bg-surface);flex-shrink:0;height:28px;overflow:hidden;width:28px}.room-occupant-chip:not(:first-child){margin-left:-10px}.room-occupant-chip img{display:block;height:100%;object-fit:cover;width:100%}.theme-classic .room-occupant-chip{border-radius:0;box-shadow:0 0 0 2px #000}.room-wrapper{background:var(--room-bar-bg);border:1px solid var(--border);border-radius:var(--room-bar-radius);height:var(--room-bar-height);overflow:visible;position:relative;width:100%}.theme-classic .room-wrapper{border-color:#ffffff40}.theme-classic .hour-gridline{border-left-color:#ffffff59}.hour-gridline{border-left:1px solid var(--border);bottom:0;pointer-events:none;position:absolute;top:0;z-index:1}.hour-gridline-hour{opacity:.6}.hour-gridline-half{opacity:.3}.hour-gridline-label{color:var(--text-secondary);font-size:11px;left:0;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap}.right-now-line{border-left:2px solid var(--now-line-color);bottom:0;opacity:.7;pointer-events:none;position:absolute;top:0;z-index:3}.right-now-line:before{background:var(--now-line-color);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:-5px;transform:translateX(calc(-50% - 1px));width:10px}.theme-classic .right-now-line{border-left:1px solid #fff;border-right:1px solid #fff;opacity:1}.room-wrapper a{color:var(--booking-text);position:relative;text-decoration:none}.booking-wrapper a{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.booking-wrapper a:hover{opacity:1}.booking-wrapper{align-items:center;background-clip:padding-box;background-color:var(--booking-bg);border:var(--booking-inset) solid #0000;border-radius:var(--booking-radius);bottom:0;color:var(--booking-text);cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:600;justify-content:center;position:absolute;text-align:center;top:0;transition:background-color .15s ease,color .15s ease;z-index:2}.booking-wrapper:focus-within,.booking-wrapper:hover{background-color:var(--accent);color:#fff;z-index:5}.booking-wrapper:focus-within a,.booking-wrapper:hover a{color:inherit}.booking-past{background-color:var(--booking-bg-past);color:var(--booking-text-past)}.booking-past:focus-within,.booking-past:hover{background-color:var(--booking-bg)}.booking-time{font-family:var(--font-body);font-size:11px;font-weight:500;line-height:1.2;padding:0 2px;text-align:center;white-space:normal}.theme-classic .booking-wrapper:focus-within,.theme-classic .booking-wrapper:hover{background-color:var(--booking-bg);box-shadow:inset 0 0 0 2px var(--booking-bg),0 0 0 2px #000;color:var(--booking-text)}.theme-classic .booking-past:focus-within,.theme-classic .booking-past:hover{background-color:var(--booking-bg-past);color:var(--booking-text-past)}.booking-wrapper+.booking-wrapper{border-left:var(--booking-divider)}.rooms>.tooltiptext{animation:tooltip-in-above .18s ease;background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 32px #0000d21f,0 2px 8px #00000014;color:var(--text);display:flex;flex-direction:column;font-family:var(--font-body);font-size:12px;font-weight:500;left:0;line-height:1.35;max-width:280px;min-width:220px;overflow:hidden;padding:0;pointer-events:none;position:fixed;text-align:left;top:0;transform:translate(-50%,calc(-100% - 14px));white-space:normal;width:-webkit-max-content;width:max-content;z-index:20}.rooms>.tooltiptext .tooltip-header{align-items:center;background:linear-gradient(180deg,#0000d20a,#0000);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:14px 16px 10px}.rooms>.tooltiptext .tooltip-avatar{background-color:var(--input-bg);background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;height:40px;width:40px}.rooms>.tooltiptext .tooltip-identity{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.rooms>.tooltiptext .tooltip-name{color:var(--text);font-family:var(--font-heading);font-size:14px;font-weight:800;letter-spacing:-.2px;line-height:1.2}.rooms>.tooltiptext .tooltip-email{color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1.3;word-break:break-all}.rooms>.tooltiptext .tooltip-subject{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;padding:10px 16px}.rooms>.tooltiptext .tooltip-subject-label{color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.rooms>.tooltiptext .tooltip-subject-text{color:var(--text);font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:-.1px;line-height:1.3}.rooms>.tooltiptext .tooltip-meta{align-items:baseline;display:flex;gap:12px;justify-content:space-between;padding:10px 16px}.rooms>.tooltiptext .tooltip-time{font-feature-settings:"tnum";color:var(--accent);font-family:var(--font-heading);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.2px}.rooms>.tooltiptext .tooltip-dash{color:var(--text-secondary);font-weight:500;margin:0 4px}.rooms>.tooltiptext .tooltip-duration{background:var(--input-bg);border-radius:999px;color:var(--text-secondary);font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.rooms>.tooltiptext .tooltip-hint{align-items:center;border-top:1px dashed var(--border);color:var(--text-secondary);display:flex;font-size:10px;font-weight:700;gap:6px;letter-spacing:.5px;margin-top:0;padding:8px 16px 12px;text-transform:uppercase}.rooms>.tooltiptext:before{border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid var(--border);margin-left:-7px}.rooms>.tooltiptext:after,.rooms>.tooltiptext:before{content:"";height:0;left:50%;left:calc(50% + var(--tooltip-arrow-shift, 0px));position:absolute;top:100%;width:0}.rooms>.tooltiptext:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--bg-surface);margin-left:-6px;margin-top:-1px}.theme-classic .rooms>.tooltiptext{background-color:#000;border:1px solid #fff;border-radius:0;box-shadow:4px 4px 0 #fff;color:#fff}.theme-classic .rooms>.tooltiptext .tooltip-header{background:none;border-bottom:1px solid #fff}.theme-classic .rooms>.tooltiptext .tooltip-avatar{filter:grayscale(1) contrast(1.1)}.theme-classic .rooms>.tooltiptext .tooltip-subject{border-bottom:1px solid #fff}.theme-classic .rooms>.tooltiptext .tooltip-hint,.theme-classic .rooms>.tooltiptext .tooltip-name,.theme-classic .rooms>.tooltiptext .tooltip-subject-text,.theme-classic .rooms>.tooltiptext .tooltip-time{color:#fff}.theme-classic .rooms>.tooltiptext .tooltip-dash,.theme-classic .rooms>.tooltiptext .tooltip-duration,.theme-classic .rooms>.tooltiptext .tooltip-email,.theme-classic .rooms>.tooltiptext .tooltip-subject-label{color:#ccc}.theme-classic .rooms>.tooltiptext .tooltip-duration{background:#ffffff1a}.theme-classic .rooms>.tooltiptext .tooltip-hint{border-top:1px dashed #fff}.theme-classic .rooms>.tooltiptext:before{border-top-color:#fff}.theme-classic .rooms>.tooltiptext:after{border-top-color:#000}@keyframes tooltip-in-above{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px))}}@keyframes tooltip-in-below{0%{opacity:0;transform:translate(-50%,8px)}}.rooms>.tooltiptext.tooltip-below{animation-name:tooltip-in-below;transform:translate(-50%,14px)}.rooms>.tooltiptext.tooltip-below:after,.rooms>.tooltiptext.tooltip-below:before{border-top:none;bottom:100%;top:auto}.rooms>.tooltiptext.tooltip-below:before{border-bottom:7px solid var(--border)}.rooms>.tooltiptext.tooltip-below:after{border-bottom:6px solid var(--bg-surface);margin-bottom:-1px;margin-top:0}.theme-classic .rooms>.tooltiptext.tooltip-below:before{border-bottom-color:#fff}.theme-classic .rooms>.tooltiptext.tooltip-below:after{border-bottom-color:#000}.floor-map-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:40px;position:fixed;right:0;top:0;z-index:100}.floor-map-overlay-content{background:#fff;background:var(--bg-surface,#fff);border-radius:var(--radius-card);max-height:90vh;max-width:90vw;overflow:auto;padding:32px;position:relative;width:1344px}.theme-classic .floor-map-overlay-content{background:#000;border:1px solid #fff;border-radius:0}.floor-map-overlay-title{color:var(--text);font-family:var(--font-heading);font-size:20px;font-weight:700;margin:0 0 16px}.theme-classic .floor-map-overlay-title{font-weight:400}.floor-map-overlay-close{background:var(--input-bg);border:none;border-radius:50%;color:var(--text);cursor:pointer;font-size:20px;height:36px;line-height:1;position:absolute;right:16px;top:16px;width:36px}.theme-classic .floor-map-overlay-close{background:#0000;border:1px solid #fff;border-radius:0;color:#fff}.floor-map-overlay .map-wrapper{aspect-ratio:1280/720;position:relative}.marauder-map{display:flex;flex-wrap:wrap;gap:var(--marauder-gap);justify-content:center;padding:var(--marauder-padding)}.floor-map{border-radius:var(--marauder-map-radius);overflow:hidden;position:relative}.marauder-map .floor-map{transform:rotateX(51deg) rotate(43deg);transform-style:preserve-3d;transition:transform .5s ease}.floor-map .device-wrapper{background:#0000;border:none;border-radius:0;font-size:10px;height:20px;left:0;overflow:visible;padding:0;position:absolute;top:0;transition:all .5s ease;width:20px;z-index:1}.marauder-map .floor-map .device-wrapper:hover{box-shadow:none;transform:rotate(-43deg) rotateX(-51deg)}.floor-map .person-name{color:var(--marauder-name-color);font-size:12px;font-weight:600;left:-80px;opacity:0;position:absolute;text-shadow:0 1px 3px #00000080;top:-20px;transition:opacity .3s ease;width:200px}.theme-classic .floor-map .person-name{font-size:14px;font-weight:400;text-shadow:0 0 5px #000;transition:opacity .5s}.floor-map .device-wrapper:hover .person-name{opacity:1}.floor-map .device-wrapper img{border:var(--marauder-img-border);border-radius:50%;box-shadow:var(--marauder-img-shadow);height:100%;width:100%}.floor-map .device-wrapper img,.floor-map .last-seen-wrapper{height:100%;width:100%}.floor-map img[role=presentation]{border-radius:var(--marauder-map-radius);filter:var(--marauder-filter)}.floor-map-overlay .floor-map img[role=presentation]{filter:none}.floor-map-overlay .floor-map .device-wrapper img{border:2px solid #fff;border:2px solid var(--bg-surface,#fff);box-shadow:0 2px 8px #0003}.floor-map-overlay .floor-map .person-name{color:#242424;color:var(--text,#242424)}@media (max-width:1200px){.device-wrapper{width:calc(16.666% - 7px)}.theme-classic .device-wrapper{width:calc(16.66667% - var(--devices-gap)*5/6)}}@media (max-width:940px){.device-wrapper{width:calc(20% - 7px)}.theme-classic .device-wrapper{width:calc(20% - var(--devices-gap)*4/5)}.top-bar{padding:16px 20px 12px}.devices-wrapper{padding:20px}.rooms{margin-left:20px;margin-right:20px}header{gap:12px;justify-content:space-between;padding:16px 20px}.theme-classic header{gap:0;padding:1em}h1{font-size:22px}}@media (max-width:760px){.device-wrapper{width:calc(33.333% - 6px)}.theme-classic .device-wrapper{width:calc(25% - var(--devices-gap)*3/4)}.top-bar{padding:16px 16px 12px}.devices-wrapper{padding:20px 16px}.rooms,.theme-classic .devices-wrapper{padding:20px 0}.rooms{margin-left:16px;margin-right:16px}.theme-classic .rooms{margin-left:1em;margin-right:1em;padding:20px 0}.rooms-timeline-container{border-radius:12px;padding:16px}.theme-classic .rooms-timeline-container{border-radius:0;padding:0}.room-label-column{gap:6px;min-width:120px}.room-label-column h2{font-size:12px}.theme-classic .room-label-column h2{font-size:.7em}.booking-wrapper{height:100%}.theme-classic .booking-wrapper{min-height:45px}.right-now-line{left:0;left:calc(100%*var(--time-position, 0)/100)}.marauder-map{padding:20px 16px}.theme-classic .marauder-map{padding:20px 0}header{flex-wrap:wrap;gap:8px}header input{order:10;width:100%}}.dashboard-container{--dash-bg:#ebe8e3;--dash-surface:#fff;--dash-border:#c3d1ce;--dash-text:#242424;--dash-text-secondary:#747474;--dash-accent:#0000d2;--dash-accent-2:#365fd9;--dash-accent-3:#5b7fe1;--dash-accent-4:#8ba3eb;--dash-error:#c00;--dash-error-bg:#fff5f5;--dash-error-border:#fcc;--dash-moved-bg:#0000d214;--dash-moved-highlight:#0000d233;--dash-font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--dash-radius:16px;--dash-radius-sm:8px;--dash-hover-bg:#f4f4f4;--dash-bar-bg:#f4f4f4;--dash-bar-radius:50px;--dash-scrollbar-thumb:#c3d1ce;--dash-scrollbar-hover:#747474}.theme-classic .dashboard-container{--dash-bg:#1e1e1e;--dash-surface:#252526;--dash-border:#3e3e42;--dash-text:#d4d4d4;--dash-text-secondary:#858585;--dash-accent:#4ec9b0;--dash-accent-2:#4fc1ff;--dash-accent-3:#dcdcaa;--dash-accent-4:#c586c0;--dash-error:#f48771;--dash-error-bg:#3e1e1e;--dash-error-border:#f48771;--dash-moved-bg:#4ec9b033;--dash-moved-highlight:#4ec9b080;--dash-font:"Monaco","Menlo","Consolas",monospace;--dash-radius:0;--dash-radius-sm:3px;--dash-hover-bg:#0000;--dash-bar-bg:#3e3e42;--dash-bar-radius:3px;--dash-scrollbar-thumb:#3e3e42;--dash-scrollbar-hover:#4e4e52}.dashboard-container{background:var(--dash-bg);color:var(--dash-text);font-family:var(--dash-font);font-size:14px;line-height:1.6;margin:0 auto;max-width:1600px;padding:30px 40px}.theme-classic .dashboard-container{font-size:13px;line-height:1.5;padding:20px}.dashboard-container .status-bar{align-items:center;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:16px 24px}.theme-classic .dashboard-container .status-bar{border:2px solid var(--dash-accent);padding:12px 16px}.dashboard-container .status-item{align-items:center;display:flex;gap:8px}.dashboard-container .status-label{color:var(--dash-text-secondary);font-weight:500}.dashboard-container .status-value{color:var(--dash-accent);font-weight:700}.theme-classic .dashboard-container .status-value{color:#4fc1ff}.dashboard-container .status-time{color:var(--dash-text-secondary);font-weight:500}.theme-classic .dashboard-container .status-time{color:#dcdcaa}.dashboard-container .floor-chart{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);margin-bottom:20px;padding:20px 24px}.theme-classic .dashboard-container .floor-chart{padding:12px}.dashboard-container .floor-chart-title{color:var(--dash-text);font-size:16px;font-weight:700;margin-bottom:16px}.theme-classic .dashboard-container .floor-chart-title{color:var(--dash-accent);font-size:inherit;margin-bottom:12px}.dashboard-container .floor-bar{align-items:center;display:flex;gap:12px;margin-bottom:10px}.theme-classic .dashboard-container .floor-bar{margin-bottom:8px}.dashboard-container .floor-label{color:var(--dash-text);font-size:13px;font-weight:600;min-width:80px}.dashboard-container .floor-bar-container{background:var(--dash-bar-bg);border-radius:var(--dash-bar-radius);flex:1 1;height:24px;overflow:hidden;position:relative}.theme-classic .dashboard-container .floor-bar-container{height:20px}.dashboard-container .floor-bar-fill{border-radius:var(--dash-bar-radius);height:100%;transition:width .3s ease}.dashboard-container .floor-count{color:var(--dash-text);font-weight:700;min-width:40px;text-align:right}.dashboard-container .floor-1{background:var(--dash-accent)}.dashboard-container .floor-2{background:var(--dash-accent-2)}.dashboard-container .floor-3{background:var(--dash-accent-3)}.dashboard-container .floor-4{background:var(--dash-accent-4)}.dashboard-container .floor-5{background:var(--dash-accent);opacity:.7}.dashboard-container .floor-6{background:var(--dash-error)}.theme-classic .dashboard-container .floor-5{opacity:1}.dashboard-container .main-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr;margin-bottom:20px}.dashboard-container .people-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.dashboard-container .people-column{max-height:500px;overflow-y:auto}.dashboard-container .section{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);min-height:300px;padding:20px 24px}.theme-classic .dashboard-container .section{padding:12px}.dashboard-container .section-title{border-bottom:1px solid var(--dash-border);color:var(--dash-text);font-size:16px;font-weight:700;margin-bottom:12px;padding-bottom:12px}.theme-classic .dashboard-container .section-title{color:var(--dash-accent);font-size:inherit;margin-bottom:8px;padding-bottom:8px}.dashboard-container .event-log{max-height:500px;overflow-y:auto}.dashboard-container .event-item{align-items:center;border-radius:var(--dash-radius-sm);display:flex;gap:10px;margin-bottom:4px;padding:6px 8px;transition:background-color .2s ease}.dashboard-container .event-item:hover{background-color:var(--dash-hover-bg)}.theme-classic .dashboard-container .event-item{border-radius:0;gap:8px;margin-bottom:3px;padding:2px 0}.dashboard-container .event-icon{font-weight:700;min-width:20px;text-align:center}.dashboard-container .event-icon.connected{color:var(--dash-accent)}.dashboard-container .event-icon.disconnected{color:var(--dash-error)}.dashboard-container .event-icon.moved{color:var(--dash-accent-2)}.theme-classic .dashboard-container .event-icon.moved{color:#dcdcaa}.dashboard-container .event-type{font-size:12px;font-weight:600;letter-spacing:.5px;min-width:100px;text-transform:uppercase}.dashboard-container .event-type.connected{color:var(--dash-accent)}.dashboard-container .event-type.disconnected{color:var(--dash-error)}.dashboard-container .event-type.moved{color:var(--dash-accent-2)}.theme-classic .dashboard-container .event-type{font-size:inherit;letter-spacing:normal;text-transform:none}.theme-classic .dashboard-container .event-type.moved{color:#dcdcaa}.dashboard-container .event-time{color:var(--dash-text-secondary);font-size:12px;font-weight:500;min-width:70px}.theme-classic .dashboard-container .event-time{font-size:11px}.dashboard-container .event-name{color:var(--dash-text);flex:1 1;font-weight:600}.theme-classic .dashboard-container .event-name{color:var(--dash-accent);font-weight:400}.dashboard-container .event-floor{color:var(--dash-text-secondary);font-size:12px}.theme-classic .dashboard-container .event-floor{font-size:11px}.dashboard-container .person-item{align-items:center;border-radius:var(--dash-radius-sm);display:flex;gap:8px;margin-bottom:2px;padding:6px 8px;transition:all .3s ease}.dashboard-container .person-item:hover{background-color:var(--dash-hover-bg)}.theme-classic .dashboard-container .person-item{border-radius:0;margin-bottom:3px;padding:2px 0}.dashboard-container .person-item.person-moved{animation:personMoveAnimation 2s ease-out;background:var(--dash-moved-bg);border-radius:var(--dash-radius-sm);margin:2px 0;padding:6px 8px}.theme-classic .dashboard-container .person-item.person-moved{padding:4px 8px}@keyframes personMoveAnimation{0%{background:var(--dash-moved-highlight);box-shadow:0 0 12px var(--dash-moved-bg);transform:scale(1.02)}50%{background:var(--dash-moved-bg);transform:scale(1.01)}to{background:var(--dash-moved-bg);box-shadow:none;transform:scale(1)}}.dashboard-container .person-dot{color:var(--dash-accent);font-size:10px;font-weight:700;min-width:20px}.dashboard-container .person-name{color:var(--dash-text);flex:1 1;font-weight:500}.theme-classic .dashboard-container .person-name{color:var(--dash-accent)}.dashboard-container .person-location{color:var(--dash-text-secondary);font-size:12px}.theme-classic .dashboard-container .person-location{font-size:11px}.dashboard-container .floors-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(6,1fr);margin-bottom:20px}.dashboard-container .floor-column{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);display:flex;flex-direction:column;min-height:200px;padding:16px}.theme-classic .dashboard-container .floor-column{padding:12px}.dashboard-container .floor-column-title{align-items:center;border-bottom:2px solid var(--dash-border);border-radius:var(--dash-radius-sm);color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:40px;justify-content:center;margin-bottom:12px;padding:10px 0;text-align:center}.dashboard-container .floor-column-title.floor-1{background:var(--dash-accent);border-bottom:none}.dashboard-container .floor-column-title.floor-2{background:var(--dash-accent-2);border-bottom:none}.dashboard-container .floor-column-title.floor-3{background:var(--dash-accent-3);border-bottom:none}.dashboard-container .floor-column-title.floor-4{background:var(--dash-accent-4);border-bottom:none}.dashboard-container .floor-column-title.floor-5{background:var(--dash-accent);border-bottom:none;opacity:.8}.dashboard-container .floor-column-title.floor-6{background:var(--dash-error);border-bottom:none}.theme-classic .dashboard-container .floor-column-title{background:#0000;border-bottom:1px solid var(--dash-border);border-radius:0;color:var(--dash-text);margin-bottom:8px;opacity:1;padding:8px 0}.dashboard-container .floor-empty{color:var(--dash-text-secondary);font-size:13px;font-style:italic;padding:8px 0}.dashboard-container .error{background:var(--dash-error-bg);border:1px solid var(--dash-error-border);border-radius:var(--dash-radius);color:var(--dash-error);font-weight:600;margin-bottom:20px;padding:16px 20px}.theme-classic .dashboard-container .error{padding:12px}.dashboard-container .dash-btn{border:2px solid var(--dash-accent);border-radius:var(--dash-bar-radius);cursor:pointer;font-family:var(--dash-font);font-size:12px;font-weight:600;padding:8px 16px;transition:opacity .3s ease}.dashboard-container .dash-btn:hover{opacity:.7}.dashboard-container .dash-btn-primary{background:var(--dash-accent);color:var(--dash-surface)}.dashboard-container .dash-btn-primary.active{background:var(--dash-accent);color:#fff}.dashboard-container .dash-btn-ghost{background:#0000;color:var(--dash-accent)}.theme-classic .dashboard-container .dash-btn{border:1px solid var(--dash-accent);border-radius:0;font-size:11px;padding:6px 12px}.theme-classic .dashboard-container .dash-btn-primary{background:var(--dash-bar-bg);color:var(--dash-accent)}.theme-classic .dashboard-container .dash-btn-primary.active{background:var(--dash-accent);color:#1e1e1e}.dashboard-container .event-log::-webkit-scrollbar,.dashboard-container .people-column::-webkit-scrollbar,.dashboard-container .people-list::-webkit-scrollbar{width:6px}.dashboard-container .event-log::-webkit-scrollbar-track,.dashboard-container .people-column::-webkit-scrollbar-track,.dashboard-container .people-list::-webkit-scrollbar-track{background:#0000}.dashboard-container .event-log::-webkit-scrollbar-thumb,.dashboard-container .people-column::-webkit-scrollbar-thumb,.dashboard-container .people-list::-webkit-scrollbar-thumb{background:var(--dash-scrollbar-thumb);border-radius:50px}.dashboard-container .event-log::-webkit-scrollbar-thumb:hover,.dashboard-container .people-column::-webkit-scrollbar-thumb:hover,.dashboard-container .people-list::-webkit-scrollbar-thumb:hover{background:var(--dash-scrollbar-hover)}.theme-classic .dashboard-container .event-log::-webkit-scrollbar,.theme-classic .dashboard-container .people-column::-webkit-scrollbar,.theme-classic .dashboard-container .people-list::-webkit-scrollbar{width:8px}.theme-classic .dashboard-container .event-log::-webkit-scrollbar-track,.theme-classic .dashboard-container .people-column::-webkit-scrollbar-track,.theme-classic .dashboard-container .people-list::-webkit-scrollbar-track{background:#1e1e1e}@media (max-width:1200px){.dashboard-container .main-content{grid-template-columns:1fr}.dashboard-container .people-container{grid-template-columns:repeat(2,1fr)}.dashboard-container .floors-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.dashboard-container{padding:16px}.theme-classic .dashboard-container{padding:10px}.dashboard-container .people-container{grid-template-columns:1fr}.dashboard-container .floors-grid{grid-template-columns:repeat(2,1fr)}.dashboard-container .status-bar{border-radius:12px;padding:12px 16px}.theme-classic .dashboard-container .status-bar{border-radius:0}.dashboard-container .section{border-radius:12px;padding:16px}.theme-classic .dashboard-container .section{border-radius:0;padding:12px}.dashboard-container .floor-chart{border-radius:12px;padding:16px}.theme-classic .dashboard-container .floor-chart{border-radius:0;padding:12px}.dashboard-container .floor-column{border-radius:12px}.theme-classic .dashboard-container .floor-column{border-radius:0}}
/*# sourceMappingURL=main.374ea437.css.map*/