@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_1fdbab{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_1fdbab{--font-sans:"Source Sans 3","Source Sans 3 Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#f3f1ec;--bg-elevated:#fffcf7;--ink:#1c2430;--muted:#5c6b7a;--line:#d5d0c6;--accent:#0f6e56;--accent-soft:#d8f3e7;--open:#c6efce;--open-ink:#006100;--locked:#e8e4dc;--past:#f0eeea;--danger:#9c0006;--danger-bg:#ffc7ce;--mine:#1d4f91;--shadow:0 10px 30px #1c243014}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,#0f6e5614,transparent 40%),linear-gradient(180deg,#f7f4ef 0,var(--bg) 100%);color:var(--ink);font-family:var(--font-sans),"Segoe UI",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.brand{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;margin:0;font-size:1.4rem}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.whoami{color:var(--muted);font-size:.95rem}.btn{appearance:none;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:.55rem .9rem}.btn:hover{border-color:#b7b1a5}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:#f0a8af}.btn:disabled{opacity:.55;cursor:not-allowed}.muted{color:var(--muted)}.error{color:var(--danger);background:var(--danger-bg)}.error,.ok{border-radius:8px;padding:.6rem .8rem}.ok{color:var(--open-ink);background:var(--open)}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--bg-elevated);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:18px;gap:.85rem;padding:1.5rem;display:grid}.login-card h1{font-family:var(--font-display),Georgia,serif;margin:0;font-size:1.7rem}.dev-box{border-top:1px dashed var(--line);gap:.6rem;padding-top:.9rem;display:grid}.select,input:not([type]),input[type=email],input[type=number],input[type=text]{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;min-width:0;padding:.5rem .7rem}.board-meta{margin-bottom:.75rem}.board-alerts{z-index:5;gap:.5rem;margin-bottom:1rem;display:grid;position:sticky;top:.5rem}.board-alerts .error,.board-alerts .ok{box-shadow:var(--shadow);margin:0}.area-nav{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffb8;border-radius:16px;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1.1rem;padding:.3rem;display:grid}.area-tab{appearance:none;font-size:1.02rem;font-weight:700;font-family:var(--font-display),Georgia,serif;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;transition:background .15s,color .15s;display:inline-flex}.area-tab:hover{color:var(--ink)}.area-tab.is-active{color:var(--ink);background:#fff;box-shadow:0 1px #1418200f,0 8px 18px #1418200f}.area-count{color:#0f6e56;min-width:1.35rem;height:1.35rem;font-family:var(--font-sans),system-ui,sans-serif;background:#0f6e561f;border-radius:999px;place-items:center;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-grid}.text-link{appearance:none;color:#1d4f91;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-weight:650;text-decoration:underline}.section-head{margin-bottom:.85rem}.section-head h2{font-size:1.15rem;font-family:var(--font-display),Georgia,serif;margin:0 0 .25rem}.section-head .muted{margin:0;font-size:.95rem}.calendar-section,.mine-section,.open-section{margin-bottom:1.5rem}.mine-empty{background:var(--bg-elevated);border:1px dashed var(--line);border-radius:12px;margin:0;padding:.9rem 1rem}.mine-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.mine-item{background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.mine-info{gap:.15rem;min-width:0;display:grid}.mine-day{text-transform:capitalize}.mine-spot{color:var(--muted);font-size:.92rem}.day-cards{gap:.85rem;display:grid}.day-card{background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:.9rem 1rem 1rem}.day-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.day-card-title{gap:.1rem;margin:0;display:grid}.day-name{font-size:1.15rem;font-family:var(--font-display),Georgia,serif;text-transform:capitalize}.day-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:500}.day-hint{margin:.35rem 0 0;font-size:.85rem}.day-card-desks .desk-room+.desk-room{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.75rem}.desk-room-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.8rem;font-weight:700}.desk-picker{gap:.85rem;display:grid}.spot-btn.spot-btn-free{color:var(--muted);cursor:pointer}.spot-btn.spot-btn-free:hover:not(:disabled){color:#0f6e56;background:#d8f3e7b3}.desk-cal-hint{margin:0 0 .75rem}.modal-backdrop{z-index:40;background:#14182073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(420px,100%);padding:1.15rem 1.2rem 1.2rem;box-shadow:0 20px 50px #14182040}.modal-card h3{font-family:var(--font-display),Georgia,serif;margin:0}.modal-sub{margin:.35rem 0 1rem}.modal-form{gap:.65rem;display:grid}.modal-option{cursor:pointer;align-items:center;gap:.55rem;font-weight:600;display:flex}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.picker-row{flex-wrap:wrap;gap:.5rem;display:flex}.picker-chip{appearance:none;border:1px solid var(--line);text-align:left;cursor:pointer;min-width:7.5rem;box-shadow:var(--shadow);background:#fff;border-radius:14px;gap:.1rem;padding:.65rem .85rem;transition:border-color .15s,transform .15s;display:grid}.picker-chip:hover{border-color:#1d4f9159}.picker-chip.is-active{background:#d8f3e773;border-color:#0f6e568c;outline:2px solid #0f6e5633}.picker-chip-title{text-transform:capitalize;font-size:.95rem;font-weight:700}.picker-chip-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.picker-chip-meta{color:var(--muted);margin-top:.15rem;font-size:.78rem}.room-chip{min-width:9rem}.floorplan{background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:.75rem}.floorplan-banner{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;padding:0 .15rem;display:flex}.floorplan-free{color:var(--muted);font-size:.9rem}.floorplan-stage{aspect-ratio:1;background:#ece8e1;border-radius:12px;width:100%;max-width:720px;margin:0 auto;position:relative;overflow:hidden}.floorplan-img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.desk-hotspot{cursor:pointer;z-index:2;border:2px solid #fffffff2;border-radius:999px;place-content:center;gap:0;width:3.1rem;height:3.1rem;padding:0;transition:transform .12s,box-shadow .12s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #14182038}.desk-hotspot:hover:not(:disabled){z-index:3;transform:translate(-50%,-50%)scale(1.08)}.desk-hotspot:disabled{cursor:default;opacity:.92}.desk-hotspot-label{letter-spacing:.02em;font-size:.72rem;font-weight:800;line-height:1}.desk-hotspot-name{text-overflow:ellipsis;white-space:nowrap;max-width:2.6rem;font-size:.58rem;font-weight:600;line-height:1.1;overflow:hidden}.desk-hotspot-free{color:#fff;background:#0f6e56eb}.desk-hotspot-mine{color:#fff;background:#1d4f91f2}.desk-hotspot-taken{color:#fff;background:#784637e6}.desk-hotspot-permanent{color:#fff;background:#5a5a5aeb}.desk-hotspot-missing{color:#fff;background:#00000059}.desk-hotspot.is-busy{opacity:.55}.floorplan-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem 1rem;margin:.75rem 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.floorplan-legend .lg{vertical-align:-1px;border-radius:999px;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.floorplan-legend .lg.free{background:#0f6e56eb}.floorplan-legend .lg.mine{background:#1d4f91f2}.floorplan-legend .lg.taken{background:#784637e6}.floorplan-legend .lg.permanent{background:#5a5a5aeb}@media (max-width:640px){.desk-hotspot{width:2.55rem;height:2.55rem}.desk-hotspot-label{font-size:.62rem}.desk-hotspot-name{display:none}}.spot-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.spot-row{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;display:flex}.spot-row.is-free{background:#d8f3e759;border-color:#0f6e5647}.spot-row.is-mine{background:#1d4f910f;border-color:#1d4f9159}.spot-row.is-permanent{background:#f3f1ec}.spot-meta{gap:.12rem;min-width:0;display:grid}.spot-label{font-size:.95rem;font-weight:600}.spot-occupant{color:var(--muted);font-size:.9rem}.spot-actions{flex-shrink:0}.btn-sm{border-radius:8px;padding:.4rem .75rem;font-size:.9rem}.calendar-toggle{appearance:none;border:1px solid var(--line);background:var(--bg-elevated);width:100%;color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.calendar-toggle:hover{border-color:#b7b1a5}.calendar-toggle-icon{color:var(--muted)}.table-wrap{border:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:14px;overflow:auto}.booking-table{border-collapse:collapse;width:100%;min-width:720px}.booking-table td,.booking-table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.45rem .55rem}.booking-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#efebe3;font-size:.85rem;position:sticky;top:0}.booking-table tr.status-open td{background:#c6efce47}.booking-table tr.status-locked td{background:#e8e4dc8c}.booking-table tr.status-past td{background:var(--past);color:#7a8490}.col-date{white-space:nowrap;font-variant-numeric:tabular-nums}.col-day{text-transform:capitalize;white-space:nowrap}.spot-btn{width:100%;min-height:2.2rem;font:inherit;color:inherit;text-align:left;background:0 0;border:1px dashed #0000;border-radius:8px;padding:.25rem .4rem}.spot-btn.clickable{cursor:pointer;background:#ffffffa6;border-color:#0f6e5659}.spot-btn.clickable:hover{border-color:var(--accent);background:var(--accent-soft)}.spot-btn.mine{color:var(--mine);font-weight:600}.spot-btn.spot-btn-cancel{cursor:pointer;background:#b02a370f;border:1px dashed #b02a3759}.spot-btn.spot-btn-cancel:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.spot-btn.permanent{cursor:default;font-style:italic}.spot-btn:disabled:not(.permanent){cursor:default}.badge{white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;display:inline-block}.badge.status-open{background:var(--open);color:var(--open-ink)}.badge.status-locked{color:#4d5660;background:#ddd7cc}.badge.status-past{color:#6b7380;background:#e4e1db}.unauthorized{border:1px solid var(--line);max-width:520px;border-radius:16px;margin:4rem auto;padding:1.5rem}.admin-section,.unauthorized{background:var(--bg-elevated);box-shadow:var(--shadow)}.admin-section{border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:1rem 1.1rem 1.2rem}.admin-section h2{margin:0 0 .75rem;font-size:1.1rem}.row{align-items:center;gap:.6rem;display:flex}.row.wrap{flex-wrap:wrap}.stack{gap:.65rem;display:grid}.employee-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.65rem}.check{color:var(--muted);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}@media (max-width:700px){.brand{font-size:1.2rem}.mine-item,.spot-row{flex-wrap:wrap}.mine-item .btn,.spot-actions,.spot-actions .btn{width:100%}}