.employee-name{display:block;color:var(--muted);margin-top:3px}
.import-help{font-size:13px;color:var(--muted);max-width:820px}
#import-table{max-height:360px;margin:16px 0}
#import-report p{margin-bottom:8px;font-size:13px}
#import-commit{margin-top:8px}
#admin-users td:last-child{min-width:160px}
#admin-users td:last-child button{display:block;margin:5px 0;text-align:left}

@media(max-width:800px){
  .topbar{min-height:44px;padding:6px 10px;gap:4px 10px;flex-wrap:wrap}
  .brand{font-size:14px;gap:7px;line-height:1.2}
  .brand small{display:none}
  .brand-icon{width:27px;height:27px;font-size:18px;border-radius:8px}
  .account{gap:6px;max-width:58%}
  .account span{font-size:11px;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account .secondary{padding:5px 10px;font-size:12px}
  .topbar nav{display:none}
  body.authenticated .topbar nav{display:flex;flex-basis:100%;margin:1px 0 0;gap:5px}
  .nav{font-size:11px;padding:5px 8px}
  main{padding:6px 8px 12px;min-height:0}
  #map-page .page-heading{margin:0 0 6px;gap:0}
  #map-page .page-heading>div:first-child{display:none}
  .date-picker{padding:3px 6px;border-radius:8px;gap:6px;height:39px}
  .date-picker label>span{display:none}
  .date-picker label{flex:1;text-align:center}
  .date-picker input{font-size:14px;padding:0;margin:0 auto;width:auto;min-width:135px}
  .date-picker .icon-button{height:30px;font-size:22px}
  .workspace{gap:8px}
  .plan-panel{display:flex;flex-direction:column;border-radius:10px}
  .plan-top{order:0;padding:7px 10px 3px;align-items:center}
  .plan-top h2{display:none}
  .plan-top p,.plan-top .text-button{font-size:11px}
  .plan-controls{order:1;padding:4px 8px;flex-wrap:nowrap;gap:6px}
  .view-toggle{padding:2px;gap:2px}
  .view-toggle button{font-size:11px;padding:5px 9px}
  .zoom-controls{gap:3px}
  .zoom-controls button{font-size:10px;padding:3px 6px}
  .zoom-controls button:first-child,.zoom-controls button:last-child{font-size:16px;min-width:26px;line-height:18px}
  .legend{order:2;padding:3px 10px;gap:10px;font-size:10px}
  .legend span{gap:4px;white-space:nowrap}
  .legend i{width:8px;height:8px;border-radius:2px}
  #map{order:3;padding:3px 4px;min-height:0;max-height:calc(100svh - 220px)}
  #map svg{min-width:0;width:100%;height:auto}
  #weeks-overview{order:3;margin:6px 8px;max-height:calc(100svh - 240px)}
  #week-strip{order:4;margin:2px 8px 4px;padding:2px 1px 5px;gap:3px}
  .week-tile{min-width:35px;padding:3px 2px;gap:0;border-radius:5px}
  .week-tile span{font-size:9px}
  .week-tile strong{font-size:12px}
  .week-tile small{display:none}
  .quick-seat-label{order:5;display:flex;margin:2px 10px 8px;align-items:center;justify-content:space-between;gap:12px;font-size:11px}
  .quick-seat-label select{flex:1;max-width:200px;font-size:13px;padding:5px 8px;margin:0;height:31px}
  .plan-foot{display:none}
  body:not(.has-selection) #map-page aside{display:none}
  .selection{padding:11px 12px;border-radius:10px}
  .selection>.eyebrow,.selection #seat-date{display:none}
  .selection h2{font-size:18px;margin-bottom:5px}
  .selection p{font-size:12px;margin-bottom:8px}
  .selection .primary,.selection .danger{font-size:13px;padding:8px 10px;min-height:36px}
  .selection .booking-summary{padding:7px 9px}
  .future-panel{margin-top:8px;padding:12px}
  .future-panel h3{font-size:12px;margin-bottom:4px}
  #future-seat-label{display:none}
  .calendar-week-title{font-size:9px!important;margin:7px 0 5px}
  .calendar-grid{gap:4px}
  .calendar-weekday{font-size:10px}
  .calendar-day{height:28px;font-size:12px}
  .aside-note,footer{display:none}
  #notice{padding:7px 10px;margin-bottom:6px;font-size:12px}
  #admin-page .page-heading,#mine-page .page-heading{margin:12px 4px}
  #admin-page h1,#mine-page h1{font-size:24px}
  .surface{padding:14px;margin-bottom:10px}
  .surface h2{font-size:17px}
  .assignment-form{margin:12px 0;gap:10px}
  .surface>p{font-size:12px}
}

/* Two-week grid uses the entire available workspace on desktop. */
.workspace,.plan-panel{min-width:0}
.weeks-layout .workspace{grid-template-columns:minmax(0,1fr)}
.weeks-layout .workspace>aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.weeks-layout .aside-note{display:none}
#weeks-overview{min-width:0;max-width:100%}
.weeks-table{width:100%;min-width:0!important;table-layout:fixed}
.weeks-table th,.weeks-table td{min-width:0!important;width:auto!important;padding:3px!important;text-align:center}
.weeks-table th:first-child{width:76px!important}
.weeks-table .calendar-day.overview-cell{width:100%;min-width:0;height:30px;margin:0;padding:0}
.weeks-table .calendar-day.chosen{outline:none;box-shadow:none}
.weeks-table .selected-row th{background:#ede9fe;color:#4c1d95}
.weeks-table .calendar-day.selected-cell{outline:3px solid #6d28d9!important;outline-offset:-3px;box-shadow:inset 0 0 0 5px white!important;position:relative;z-index:1}
.weeks-table .selected-cell:after{content:'✓';position:absolute;right:3px;top:0;font-size:11px;font-weight:900;color:#4c1d95}
.weeks-table thead th.chosen{background:#6d28d9;color:white}
.mobile-admin-picker{display:none}
.compact-icon{font-size:22px!important;min-width:36px;min-height:36px;padding:3px 8px!important}
@media(max-width:800px){
 #admin-page .page-heading,#mine-page .page-heading{margin:6px 2px 8px}
 #admin-page .eyebrow,#mine-page .eyebrow,#mine-page .subtitle{display:none}
 #admin-page h1,#mine-page h1{font-size:20px;margin:0}
 .mobile-admin-picker{display:block;width:100%;margin:0 0 8px;padding:8px;font-size:16px}
 #admin-page>.surface:not(.mobile-section-active){display:none}
 .surface{padding:10px;border-radius:10px}
 .surface h2{font-size:15px;margin:0 0 8px}
 .assignment-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:8px 0}
 .assignment-form label{flex:1 1 130px;min-width:0;font-size:11px}
 input,select{max-width:100%;box-sizing:border-box}
 .assignment-form input,.assignment-form select{width:100%;min-width:0;font-size:16px;padding:7px;margin-top:3px}
 .assignment-form button{padding:8px 10px;font-size:12px;min-height:36px}
 .assignment-form fieldset{flex-basis:100%;min-width:0;padding:6px}
 .weekday-options{display:flex;flex-wrap:wrap;gap:8px}
 .weekday-options label{flex:0 0 auto}
 #admin-page .table-scroll,#mine-page .table-scroll{overflow:visible}
 #admin-page table,#mine-page table{display:block;min-width:0;width:100%}
 #admin-page thead,#mine-page thead{display:none}
 #admin-page tbody,#mine-page tbody{display:grid;gap:6px}
 #admin-page tr,#mine-page tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;border:1px solid #e2e8f0;border-radius:8px;padding:8px;min-width:0}
 #admin-page td,#mine-page td{display:block;min-width:0!important;padding:0!important;border:0;overflow-wrap:anywhere;font-size:12px}
 #admin-page td:before,#mine-page td:before{content:attr(data-label);display:block;font-size:10px;color:#64748b}
 #admin-users td:first-child{grid-column:1/-1;font-weight:600}
 #admin-users td:last-child,#audit td:last-child{grid-column:1/-1}
 #admin-users td:last-child{display:flex;flex-wrap:wrap;gap:6px}
 #admin-users td:last-child:before{display:none}
 #admin-users td:last-child button{display:inline-block;margin:0;padding:6px;font-size:11px}
 .assignment-item{padding:6px 0;gap:6px;min-width:0}
 .assignment-item p{font-size:12px;overflow-wrap:anywhere}
 .assignment-item button{font-size:11px;padding:6px;flex-shrink:0}
 #auth-dialog{box-sizing:border-box;width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:20px;overflow:auto}
 #auth-dialog h2{font-size:21px;margin-bottom:8px}
 #auth-dialog p{font-size:12px;margin-bottom:8px}
 #auth-dialog input{font-size:16px;padding:8px}
 .auth-links{gap:6px}
 .auth-links button{font-size:12px}
 .weeks-layout .workspace>aside{display:block}
 .weeks-table{min-width:650px!important}
 #weeks-overview{overflow:auto}
}

/* Reset inherited column flex sizing: a flex-basis in a column is height. */
@media(max-width:800px){
 .assignment-form{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:stretch;gap:10px;height:auto;min-height:0}
 .assignment-form>label,.assignment-form>fieldset,.assignment-form>button{flex:none;align-self:auto;width:100%;min-width:0;min-height:0;margin:0}
 .assignment-form>label{font-size:12px}
 .assignment-form>button{width:auto;justify-self:start;min-height:40px}
 .assignment-form input,.assignment-form select{height:40px;margin-top:4px}
 .assignment-form input[type=checkbox]{width:20px;height:20px;margin:0 4px 0 0;flex:none}
 .assignment-form fieldset{padding:0}
 .weekday-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 .weekday-options label{font-size:11px;min-width:0;gap:2px;justify-content:center;flex-wrap:wrap}
 .weekday-options input[type=checkbox]{margin:0}
 .assignment-form legend{margin-bottom:6px}
 #employee-form,#technical-form,#role-form{padding-bottom:10px;border-bottom:1px solid var(--line)}
 .assignment-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
 .assignment-item button{max-width:105px;line-height:1.25}
}

#map-user-label{margin:0 0 12px;max-width:420px;font-weight:600}#map-user{font-size:16px;padding:8px}@media(max-width:800px){#map-user-label{font-size:11px;margin-bottom:6px;max-width:none}#map-user{height:36px;margin-top:3px}}

#map .blocked .desk{fill:#cbd5e1;stroke:#64748b}#map .blocked .label{fill:#64748b}
#map .restricted .desk{fill:#fff1bf;stroke:#c8a34d}#map .restricted .label{fill:#7a601c}
.calendar-day.blocked{background:#cbd5e1;color:#64748b}.calendar-day.restricted{background:#fff1bf;color:#7a601c}
#map .selected .desk{stroke:#744eb0;stroke-width:3}
#groups-options{display:flex;flex-wrap:wrap;gap:10px}#groups-options input{width:auto;height:auto}

#user-edit-form>label{margin:12px 0}#user-edit-email{overflow-wrap:anywhere}#user-edit-groups{display:flex;flex-wrap:wrap;gap:10px}#user-edit-groups input{display:inline;width:auto;margin:0 4px 0 0}@media(max-width:800px){#user-edit-dialog{width:calc(100% - 20px);padding:20px;max-height:calc(100dvh - 20px);overflow:auto}#user-edit-dialog input[type=text]{font-size:16px}}

#attendance-strip{display:flex;align-items:center;gap:10px;margin-bottom:12px}#attendance-strip span{font-size:12px}
.analytics-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}.analytics-card{padding:12px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:4px}.analytics-card strong{font-size:23px;color:var(--green)}.analytics-card span{font-size:12px;color:var(--muted)}#analytics-table{margin-top:12px}#analytics-coverage{font-size:12px;color:var(--muted)}
@media(max-width:800px){#attendance-strip{margin:4px 0 8px;gap:8px}#attendance-strip span{font-size:10px}#checkin{font-size:12px;padding:6px 9px}.analytics-totals{grid-template-columns:1fr 1fr;gap:6px}.analytics-card{padding:8px}.analytics-card strong{font-size:20px}}

.admin-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}.admin-tab{border:0;background:transparent;padding:10px 16px;border-radius:8px;color:var(--muted);font-weight:600}.admin-tab[aria-selected=true]{background:#e6f1eb;color:var(--green)}.admin-tab:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.admin-tools{margin:8px 0 16px}.admin-tools summary,.analytics-details summary{cursor:pointer;font-weight:600;color:var(--green);padding:8px 0}.analytics-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.chart-card{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px}.chart-card h3{margin-bottom:6px}.chart-card p,.chart-card small{font-size:12px}.chart-card svg{display:block;width:100%;height:auto}.chart-wide{grid-column:1/-1}.chart-wide svg{max-height:900px}.analytics-details{margin-top:14px}.analytics-details>label{margin:8px 0}.admin-tools .assignment-form{margin:10px 0}
@media(max-width:800px){.admin-tabs{display:none}.analytics-charts{grid-template-columns:1fr;gap:8px}.chart-wide{grid-column:auto}.chart-card{padding:10px}.chart-card p,.chart-card small{font-size:11px}.chart-wide svg{max-height:none}}

@media(min-width:801px){
 .topbar{min-height:58px;height:58px;padding:7px 3%;gap:16px}.brand{font-size:16px}.brand-icon{width:32px;height:32px;font-size:21px}.nav{padding:8px 12px}.account .secondary{padding:6px 10px}
 body.map-active main{height:calc(100dvh - 58px);min-height:0;max-width:1600px;padding:8px 2% 10px;display:flex;flex-direction:column;overflow:hidden}
 body.map-active footer{display:none}
 body.map-active #notice{position:fixed;top:65px;right:18px;max-width:440px;z-index:20;padding:8px 12px;box-shadow:0 5px 20px #22312e22}
 body.map-active #attendance-strip{margin:0 0 4px;min-height:30px}body.map-active #checkin{padding:4px 10px;font-size:12px}body.map-active #checkin-status{font-size:11px}
 #map-page{flex:1;min-height:0;display:flex;flex-direction:column}
 #map-page .page-heading{margin:0 0 6px;min-height:43px;gap:12px}#map-page .eyebrow,#map-page .subtitle{display:none}#map-page h1{font-size:22px;margin:0;letter-spacing:-.4px}
 #map-page .date-picker{padding:3px 7px;gap:6px;border-radius:9px}#map-page .date-picker label>span{display:none}#map-page .date-picker input{font-size:14px}#map-page .date-picker .icon-button{height:30px}
 #map-user-label{display:flex;align-items:center;gap:10px;max-width:540px;margin:0 0 6px;font-size:11px;min-height:32px}#map-user{flex:1;min-width:180px;font-size:13px;height:31px;margin:0;padding:4px 8px}
 #map-page .workspace{flex:1;min-height:0;gap:14px;grid-template-columns:minmax(0,1fr) 270px}
 #map-page .plan-panel{height:100%;min-height:0;display:flex;flex-direction:column;border-radius:12px}
 #map-page .plan-top{padding:8px 14px 2px;align-items:center}#map-page .plan-top h2{font-size:13px;margin:0}#map-page .plan-top p{font-size:11px}#map-page .plan-top .text-button{font-size:18px!important;min-height:27px}
 #map-page .plan-controls{padding:2px 12px 5px;gap:8px;flex-wrap:nowrap}#map-page .view-toggle button{padding:4px 10px;font-size:11px}#map-page .zoom-controls button{padding:2px 7px}
 #map-page #week-strip{margin:0 12px 4px;padding:2px 1px 4px;gap:4px;flex-shrink:0}#map-page .week-tile{min-width:29px;padding:2px;gap:0;border-radius:5px}#map-page .week-tile strong{font-size:12px}#map-page .week-tile span{font-size:9px}#map-page .week-tile small{display:none}
 #map-page .legend{padding:2px 14px;gap:12px;font-size:10px;flex-shrink:0}#map-page .legend i{width:9px;height:9px}
 #map-page #map{flex:1;min-height:0;max-height:none;padding:2px 6px;display:flex;align-items:center;justify-content:center;overflow:auto}
 #map-page #map svg{display:block;width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:100%;max-height:100%}
 #map-page #map.map-zoomed{display:block}#map-page #map.map-zoomed svg{max-width:none;max-height:none}
 #map-page .plan-foot{font-size:9px;margin:0;padding:2px 14px 5px;flex-shrink:0}
 #map-page aside{min-height:0;max-height:100%;overflow:auto}#map-page .selection{padding:14px}#map-page .selection .eyebrow{display:none}#map-page .selection h2{font-size:21px;margin-bottom:7px}#map-page .selection p{font-size:12px;margin-bottom:8px}#map-page .selection #seat-date{margin:10px 0;padding-top:9px;font-size:12px}#map-page .selection button{font-size:12px;padding:8px}#map-page .aside-note{display:none}
 #map-page .future-panel{margin-top:8px}.weeks-layout #map-page .workspace{grid-template-columns:1fr}.weeks-layout #map-page #weeks-overview{flex:1;min-height:0;max-height:none;margin:5px 12px;overflow:auto}.weeks-layout #map-page aside{display:none}
}

.assignment-item p{flex:1}.assignment-item button{white-space:nowrap}#assignment-edit-form>label,#assignment-edit-form>fieldset{margin:12px 0}#assignment-edit-days{display:flex;flex-wrap:wrap;gap:10px}#assignment-edit-days input{display:inline;width:auto;margin:0 4px 0 0}
@media(max-width:800px){.assignment-item{grid-template-columns:minmax(0,1fr) auto auto}.assignment-item button{max-width:95px;white-space:normal}#assignment-edit-dialog{width:calc(100% - 20px);padding:20px;max-height:calc(100dvh - 20px);overflow:auto}#assignment-edit-dialog select{font-size:16px}}

@media(min-width:801px){
 #map-page .plan-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto minmax(0,1fr) auto}
 #map-page .plan-top{grid-column:1;grid-row:1;padding-bottom:5px}
 #map-page .plan-controls{grid-column:2;grid-row:1;padding-top:5px}
 #map-page #week-strip{grid-column:1/-1;grid-row:2}
 #map-page .legend{grid-column:1/-1;grid-row:3}
 #map-page #map,#map-page #weeks-overview{grid-column:1/-1;grid-row:4}
 #map-page .plan-foot{grid-column:1/-1;grid-row:5}
 #map-page #map .label{font-size:26px}
}

#multi-open{margin-top:8px}#multi-dialog{width:650px;max-height:calc(100dvh - 24px);overflow:auto}#multi-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0}#multi-dates label{padding:7px 4px;border:1px solid var(--line);border-radius:7px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px}#multi-dates input,#multi-skip{width:auto;display:inline;margin:0}#multi-report{max-height:200px;overflow:auto;margin:10px 0}#multi-report p{font-size:12px;margin:4px 0}#multi-commit{margin-top:12px}@media(max-width:800px){#multi-dialog{width:calc(100% - 16px);padding:18px}#multi-dates{grid-template-columns:repeat(4,minmax(0,1fr))}}

.seat-settings{display:grid;gap:8px}.seat-setting{display:grid;grid-template-columns:90px minmax(140px,1fr) 100px auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e3e9e7}.seat-setting select{width:100%;min-width:0}.seat-setting [hidden]{display:none!important}@media(max-width:600px){.seat-setting{grid-template-columns:76px minmax(0,1fr)}.seat-setting button{grid-column:2}.seat-setting select:nth-of-type(2){grid-column:2}}

#checkin-dialog{width:440px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto}#checkin-dialog select{width:100%;margin:8px 0 14px}#checkin-dialog .primary{width:100%}

.analytics-seat-map{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.analytics-seat-map p{font-size:12px}.analytics-map-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.analytics-map-tools select{width:auto}.analytics-map-viewport{overflow:auto;max-width:100%;border-radius:10px;background:#fcfdfd}.analytics-map-viewport svg{width:100%;height:auto;display:block}.analytics-map-viewport.expanded svg{min-width:1280px}.analytics-map-viewport [data-seat-id]{cursor:pointer}.analytics-map-viewport [data-seat-id]:focus{outline:none}.analytics-map-viewport .analytics-chosen .desk,.analytics-map-viewport [data-seat-id]:focus .desk{stroke:#744eb0;stroke-width:3;fill:#f4effb}.analytics-map-detail{overflow:auto;margin-top:10px}.analytics-map-detail table{min-width:580px;font-size:12px}.analytics-map-detail small{font-size:11px}.analytics-map-detail th,.analytics-map-detail td{padding:8px}.analytics-map-detail table tr{display:table-row!important}.analytics-map-detail table td{display:table-cell!important}.analytics-map-detail td:before{display:none!important}@media(max-width:800px){.analytics-seat-map{padding:8px}.analytics-map-tools button,.analytics-map-tools select{font-size:12px;padding:8px}}

.seat-photo-tools{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seat-photo-tools label{font-size:12px}.seat-photo-tools input{font-size:12px;max-width:240px}#seat-photo-dialog{width:800px;max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);overflow:auto}#seat-photo-dialog img{display:block;width:100%;height:auto;max-height:75dvh;object-fit:contain}#seat-photo-open{margin:8px 0}.analytics-map-detail thead{display:table-header-group!important}

.seat-photo-panel h3{margin-bottom:8px}.seat-photo-preview{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.seat-photo-preview img{display:block;width:100%;height:auto;border-radius:8px}.seat-photo-preview:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.seat-photo-panel{margin-top:8px}

.brand-icon.company-logo{background:transparent;border-radius:0;object-fit:contain}
