.door-workspace{font-size:1rem}
.door-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.door-toolbar-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.door-connection{font-size:.9375rem;color:#40516b}
.door-filters{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:1rem;background:#fff;border:1px solid #dce3ee;border-radius:12px;margin-bottom:1rem}
.door-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.9375rem;font-weight:600;margin:0}
.door-filters .door-room-field{flex:1;min-width:180px}
.door-filters input{font-size:1rem;width:100%;min-width:0;height:42px}
.door-filters .btn{min-height:42px}
.door-table-wrap{background:#fff;border:1px solid #dce3ee;border-radius:12px;overflow:hidden}
.door-table{width:100%;border-collapse:collapse;text-align:left;table-layout:auto}
.door-table th{background:#f1f5fb;color:#354869;font-size:.9375rem;font-weight:650;padding:.85rem 1rem;border-bottom:1px solid #dce3ee}
.door-table td{padding:.85rem 1rem;font-size:1rem;line-height:1.5;border-bottom:1px solid #edf0f5;overflow-wrap:anywhere}
.door-table td:first-child{color:#03308b;min-width:105px}
.door-table tr:last-child td{border-bottom:0}
.door-table time{font-variant-numeric:tabular-nums}
.door-uploaded{display:block;font-size:.875rem;color:#68778b;margin-top:.2rem}
.door-empty{padding:2rem 1rem;text-align:center;color:#56667f;font-size:1rem}
.door-pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.door-pager-controls{display:flex;align-items:center;gap:.6rem}
.door-last-sync{color:#596981;font-size:.9375rem;margin-top:.75rem}
.door-progress{padding:.8rem 1rem;border-radius:10px;background:#eaf1ff;margin-bottom:1rem;color:#123e86}
.door-progress progress{display:block;width:100%;height:8px;margin-top:.5rem;accent-color:#03308b}
.door-warning{padding:.8rem 1rem;border:1px solid #edcb7b;border-radius:10px;background:#fff8e8;color:#765314;margin-bottom:1rem;font-size:1rem}
.door-config form{display:grid;gap:1rem}
.door-config label{display:flex;flex-direction:column;gap:.4rem;font-size:1rem}
.door-config input{font-size:1rem}
.door-config-note{font-size:.9375rem;color:#596981;margin:0}
.door-schedule{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-top:1px solid #dce3ee;padding-top:1rem;margin-top:1.25rem;font-size:1rem}
.door-workspace [hidden]{display:none!important}
@media(max-width:680px){
 .door-filters{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:.8rem}
 .door-filters .door-room-field{grid-column:1/-1;min-width:0}
 .door-filters .btn{grid-column:1/-1}
 .door-filters input{max-width:100%}
 .door-table thead{display:none}
 .door-table,.door-table tbody{display:block;width:100%}
 .door-table tr{display:grid;grid-template-columns:1fr 1fr;padding:.8rem;gap:.4rem .8rem;border-bottom:1px solid #dce3ee}
 .door-table td{display:block;padding:0;border:0;font-size:1rem;min-width:0}
 .door-table td:first-child{font-size:1.1rem;min-width:0}
 .door-table td:nth-child(2){grid-column:1/-1;grid-row:2}
 .door-table td:nth-child(3){text-align:right}
 .door-table td:nth-child(4){grid-column:1/-1;color:#53647c}
 .door-pager-controls{gap:.4rem}
 .door-pager-controls .btn{padding:.5rem .7rem}
}

/* V16.9 local analytics and administrator-only parameter panel. */
.door-person-field{min-width:160px;flex:1}.door-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.door-chart-caption{grid-column:1/-1;margin:0;font-size:16px;color:#536981}.door-chart{min-width:0;background:white;border:1px solid #d9e4f1;border-radius:12px;padding:16px}.door-chart h4{font-size:17px;margin:0 0 12px}.door-chart-scroll{overflow-x:auto}.door-chart svg{display:block;width:100%;height:auto}.door-chart g:focus{outline:2px solid #b3cffa}.door-chart details{font-size:14px;margin-top:10px}.door-chart-data{display:flex;flex-wrap:wrap;gap:10px;padding-top:10px}.door-chart-data span{padding:7px;background:#f3f7fc}.door-parameter-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.door-config form{grid-template-columns:1fr 1fr;gap:16px}.door-config-note,#doorConfigError{grid-column:1/-1}.door-auto-settings{margin-top:30px;border-top:1px solid #d9e5f2;padding-top:20px;font-size:16px}.door-auto-settings form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.door-auto-settings label:first-child{display:flex;flex-direction:column;gap:8px}.door-auto-settings select{font-size:16px;min-height:44px}#doorConfigError,#doorScheduleError{color:#b42318}
@media(max-width:760px){.door-charts{grid-template-columns:1fr}.door-person-field{grid-column:1/-1;min-width:0}.door-config form{grid-template-columns:1fr}.door-parameter-head{flex-wrap:wrap}.door-auto-settings form{align-items:center}.door-chart{padding:12px}}

.door-hour-grid{grid-column:1/-1}.door-hour-grid table{min-width:850px;width:100%;border-collapse:separate;border-spacing:3px;font-size:13px;text-align:center}.door-hour-grid th,.door-hour-grid td{padding:5px 2px}.door-hour-grid thead th{color:#536b88}.door-hour-grid tbody th{white-space:nowrap}

.door-auto-settings #doorScheduleForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.door-auto-settings #doorScheduleForm label{display:flex;flex-direction:column;gap:5px;min-width:0}.door-auto-settings #doorScheduleForm label.delivery-check{flex-direction:row;align-items:center}.door-auto-settings #doorScheduleForm small{font-size:11px;color:#667c9c}.door-auto-settings #doorScheduleForm input,.door-auto-settings #doorScheduleForm select{min-width:0;max-width:100%}.door-auto-settings #doorScheduleForm .delivery-check input{width:auto}@media(max-width:700px){.door-auto-settings #doorScheduleForm{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Employee opening timeline. Every plotted interval is an estimate, not presence evidence. */
.door-tabs{display:inline-flex;gap:5px;padding:5px;margin:0 0 16px;border:1px solid #cfdeeb;border-radius:14px;background:#f8fbfd}
.door-tabs button{min-height:44px;padding:9px 20px;border:0;border-radius:10px;background:transparent;color:#39536c;font-family:inherit;font-size:1rem;font-weight:650;cursor:pointer;transition:background-color .16s,color .16s,box-shadow .16s}
.door-tabs button:hover{background:#e3eff7;color:#173f65}
.door-tabs button[aria-selected="true"]{background:#4b75a2;color:#fff;box-shadow:0 2px 8px #284a7526}
.door-tabs button:focus-visible{outline:3px solid #2e73cd;outline-offset:2px}
.door-trail-panel{min-width:0}
.door-trail-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 26px;border:1px solid #d3e5f0;border-radius:18px;background:linear-gradient(135deg,#f8fbfd,#eaf3f8)}
.door-trail-eyebrow{color:#52738d;font-size:.76rem;letter-spacing:.16em;font-weight:700}
.door-trail-intro h3{margin:5px 0 6px;color:#263b50;font-size:1.65rem}
.door-trail-intro p{margin:0;color:#4e657a;line-height:1.55}
.door-trail-timezone{white-space:nowrap;color:#486680;font-size:.875rem}
.door-trail-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:10px 16px;margin:0 0 10px;background:#f8fbfd;border:1px solid #d3e5f0;border-radius:16px}
.door-trail-filters label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.9rem;font-weight:650;color:#38536d}
.door-trail-filters label:first-child{flex:0 1 auto;width:calc(12em + 44px);max-width:100%;font-size:1rem}.door-trail-filters label:nth-child(2){flex:0 1 190px}
.door-trail-filters input{width:100%;min-width:0;min-height:44px;font-size:1rem}
.door-trail-filters button{min-height:44px}
.door-trail-explain{margin:10px 2px 18px;color:#4e657a;line-height:1.6;font-size:.9rem}
.door-trail-status{margin:0 2px 10px;color:#345473;font-size:.9rem}
.door-trail-status:empty{display:none}
.door-trail-result{min-width:0;background:#f8fbfd;border:1px solid #d3e5f0;border-radius:18px;overflow:hidden}
.door-trail-result:empty{display:none}
.door-trail-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 20px;background:#eaf3f8;border-bottom:1px solid #d3e5f0;color:#263b50}
.door-trail-summary small{display:block;color:#52738d;font-size:.8rem;font-weight:650}
.door-trail-summary h4{margin:2px 0;font-size:1.25rem}
.door-trail-summary p{margin:0;text-align:right;font-variant-numeric:tabular-nums;line-height:1.65;color:#39566f}
.door-trail-axis{display:flex;justify-content:space-between;margin:12px 20px 0 62px;color:#506a80;font:700 .78rem ui-monospace,monospace;font-variant-numeric:tabular-nums}
.door-trail-list{list-style:none;margin:0;padding:5px 20px 10px}
.door-trail-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid #e0e9f1}
.door-trail-step-number{display:grid;place-items:center;align-self:start;width:27px;height:27px;border-radius:7px;background:#dcebf5;color:#285581;font-size:.875rem;font-weight:750;font-variant-numeric:tabular-nums}
.door-trail-step-body{min-width:0}
.door-trail-step-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.door-trail-step-head strong{color:#263b50;font-size:1rem;margin-right:auto}
.door-trail-step-time{color:#264d75;font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700}
.door-trail-step-duration{color:#4e657a;font-size:.8125rem;min-width:110px;text-align:right}
.door-trail-rail{display:grid;grid-template-columns:repeat(48,minmax(0,1fr));gap:2px;height:13px}
.door-trail-cell{min-width:0;border:1px solid #d6e4ee;border-radius:2px;background:#e6eff5}
.door-trail-cell.occupied{border-color:#5884aa;background:#5884aa}
.door-trail-cell.marker{border-color:#35648f;background:#fff;box-shadow:inset 0 0 0 2px #35648f}
.door-trail-boundary{margin:0;padding:0 20px 12px;color:#576f83;font-size:.8125rem}
@media(max-width:680px){.door-tabs{display:flex;width:100%}.door-tabs button{flex:1;padding:9px 8px}.door-trail-filters{display:grid;grid-template-columns:1fr;padding:14px}.door-trail-filters label,.door-trail-filters button{width:100%}.door-trail-summary{padding:12px 16px}.door-trail-axis{margin:12px 16px 0 58px}.door-trail-list{padding:5px 16px 10px}.door-trail-step{grid-template-columns:32px minmax(0,1fr);gap:10px}.door-trail-step-duration{min-width:0;text-align:left}.door-trail-rail{gap:1px}.door-trail-boundary{padding:0 16px 12px}}
@media(prefers-reduced-motion:reduce){.door-tabs button{transition:none}}
.door-trail-filters label{margin:0}
#doorTrailPerson{text-overflow:ellipsis;padding-inline:12px}
@media(max-width:680px){.door-trail-filters{display:flex;padding:10px;gap:8px}.door-trail-filters label:first-child{width:calc(12em + 36px)}.door-trail-filters label:nth-child(2){flex:1 1 150px;width:auto}.door-trail-filters button{width:auto;margin-left:auto}}
