/* Team page, attendance calendar and Statistics tabs (batch 6) */
.stats-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--text,#10213e) 6%,var(--panel,#fff));margin:0 0 14px}
.stats-tabs button{border:0;background:transparent;padding:8px 18px;border-radius:11px;font-weight:700;font-size:12px;color:var(--muted);cursor:pointer}
.stats-tabs button.active{background:var(--panel,#fff);color:var(--text);box-shadow:0 2px 8px rgba(20,40,60,.1)}
.biz-filter-menu{position:relative;display:inline-block;margin-bottom:10px}
.biz-filter-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--panel,#fff);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;min-width:180px}
.biz-filter-menu summary::after{content:'▾';margin-left:10px;color:var(--muted)}
.biz-filter-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:240px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);box-shadow:0 12px 30px rgba(20,40,60,.16);display:grid;gap:2px}
.biz-filter-list label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:12px;cursor:pointer}
.biz-filter-list label:hover{background:var(--panel3)}
.biz-filter-list i{width:10px;height:10px;border-radius:50%}
.week-bars{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;align-items:end;min-height:150px}
.week-bars>div{display:grid;justify-items:center;gap:4px}
.week-bar{height:100px;width:100%;max-width:46px;display:flex;align-items:flex-end;border-radius:8px;background:var(--panel3)}
.week-bar i{display:block;width:100%;border-radius:8px;background:linear-gradient(180deg,#34c3a5,#1f9d83);min-height:3px}
.week-bars small{color:var(--muted);font-size:10px}
.workload-bar{height:8px;border-radius:99px;background:var(--panel3);overflow:hidden;min-width:90px}
.workload-bar i{display:block;height:100%;background:linear-gradient(90deg,#34c3a5,#e0973a);border-radius:99px}
.reason-bars{display:grid;gap:8px}.reason-bars>div{display:grid;grid-template-columns:200px 1fr 30px;gap:10px;align-items:center;font-size:12px}
.table-scroll{overflow-x:auto}
.team-stats-table td,.team-stats-table th{white-space:nowrap}.team-stats-table td:nth-child(8){white-space:normal;min-width:200px}
.att-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.att-month{display:flex;gap:10px;align-items:center}.att-month strong{min-width:150px;text-align:center}
.att-legend{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto;font-size:11px;color:var(--muted)}.att-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.att-dow,.att-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.att-dow span{font-size:10px;font-weight:700;color:var(--muted);text-align:center;padding:2px 0 6px}
.att-cell{min-height:64px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);padding:6px 8px;display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;font:inherit;color:var(--text)}
.att-cell b{font-size:12px}.att-cell span{font-size:10px;font-weight:700;color:var(--att,var(--muted))}.att-cell small{font-size:9px;color:var(--muted)}
.att-cell[style*="--att"]{background:color-mix(in srgb,var(--att) 14%,var(--panel,#fff));border-color:color-mix(in srgb,var(--att) 45%,var(--line))}
.att-weekend{background:rgba(116,128,142,.07)}.att-blank{border:0;background:transparent;cursor:default}
@media(max-width:700px){.att-cell{min-height:52px;padding:4px}.reason-bars>div{grid-template-columns:120px 1fr 24px}}
/* Statistics: the activity grid uses the width instead of leaving an empty middle */
.stats-activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.activity-calendar .activity-week{display:grid;grid-template-columns:64px repeat(7,minmax(0,1fr));gap:6px;align-items:center}
.activity-calendar .activity-day-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-left:70px;text-align:center}
.activity-calendar .activity-day{width:100%;max-width:none;height:var(--activity-row,25px)}
.att-toolbar select{min-width:170px;padding-right:34px}
@media(max-width:1000px){.stats-activity-layout{grid-template-columns:1fr}}
/* Employee version */
body[data-employee] :is([data-action=newProject],[data-action=customTask],[data-action=addBusiness],[data-action=editBusiness],[data-action=addTeam],[data-viewer-add-task],#toggleEditStructure,#exitStructure,.project-lifecycle-fields,#saveProjectInfo){display:none!important}
body[data-employee] .field:has(#infoProjectCost){display:none!important}
body[data-employee] :is(.task-effort-editor,.task-detail-schedule,.task-dependency-panel){display:none!important}
.clock-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;border:1px solid var(--line);background:var(--panel,#fff)}
.clock-card strong{display:block;font-size:15px}.clock-card span{font-size:12px;color:var(--muted)}
.clock-card.on{background:color-mix(in srgb,#2fa88f 10%,var(--panel,#fff));border-color:color-mix(in srgb,#2fa88f 40%,var(--line))}
.emp-task{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin-top:8px;cursor:pointer;border-left:4px solid var(--business-task-color,#9ba3ad)}
.emp-task-main strong{display:block;font-size:13px}.emp-task-main span{font-size:11px;color:var(--muted)}
.emp-task-actions{display:flex;gap:8px;flex:0 0 auto}
.emp-project-row{display:flex;align-items:center;gap:12px;padding:8px 4px;cursor:pointer}.emp-project-row .mini-progress{flex:1}
.notif-bell{position:relative}.notif-bell .notif-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:99px;background:#d9534f;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.notif-bell .notif-count:empty{display:none}
.notif-row{padding:10px 12px;border-radius:12px;border:1px solid var(--line);margin-bottom:8px;display:grid;gap:2px}.notif-row.unread{background:color-mix(in srgb,#e0973a 12%,var(--panel,#fff))}.notif-row small{color:var(--muted)}
.presence-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
body[data-employee] :is([data-action=recalculate],.header-menu:has([data-action=newProject])){display:none!important}
.daily-quote-card em{font-size:15px}.daily-quote-card span{color:var(--muted);font-size:12px}
.access-denied{display:grid;place-items:center;min-height:70vh;padding:24px}.access-denied .card{max-width:480px}.access-denied h2{margin:0 0 8px}
.bulk-assign{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;color:var(--muted)}
.bulk-assign select{min-width:170px}
.cloud-loading{display:grid;place-items:center;min-height:60vh;color:var(--muted);font-size:14px}
body[data-employee] :is(#detailUndo,#detailRedo){display:none!important}
body[data-employee] .detail-bar{cursor:default!important}
[data-schedule-person]{padding-right:34px;min-width:150px}
.task-scheduled-readout{grid-column:1/-1;margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#eef3fb;color:#243b63;font-size:13px}.task-scheduled-readout span{opacity:.7}
#saveFailBanner{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:9999;display:flex;gap:10px;align-items:center;max-width:min(760px,94vw);padding:10px 14px;border-radius:12px;background:#fdecea;color:#7a1f1a;border:1px solid #f1b5b0;box-shadow:0 8px 24px rgba(0,0,0,.15);font-size:13px}
/* Pay, lunch requests, employee header (batch 8) */
.pay-balance{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:6px 0 14px}
.pay-balance>div{padding:14px 16px;border-radius:14px;background:rgba(47,168,143,.09)}
.pay-balance small{display:block;opacity:.7;font-size:12px}
.pay-balance strong{display:block;font-size:26px;margin:2px 0;color:#0f6b58}
.pay-balance>div:nth-child(n+2) strong{font-size:19px}
.pay-balance span{font-size:12px;opacity:.75}
.pay-pending{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#fff6e5;color:#7a5200;font-size:13px}
.pay-table{width:100%}.pay-table td,.pay-table th{padding:8px 10px;text-align:left;vertical-align:top}
.pay-note{font-size:12px;opacity:.85}.pay-note .small-btn{margin-left:6px}
.pay-total td{border-top:2px solid rgba(0,0,0,.12)}
.pay-prev{margin-top:12px;display:grid;gap:6px}.pay-prev>div{display:flex;gap:14px;align-items:center;font-size:13px}.pay-prev small{opacity:.7}
.pay-rules{margin:10px 0 0;font-size:12px;opacity:.7}
.pay-nav{display:flex;gap:8px;align-items:center}
.pay-requests{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff6e5;display:grid;gap:8px}
.pay-request{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pay-request span{flex:1;min-width:160px}
.pay-field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pay-field-row label{display:grid;gap:4px;font-size:12px}
.notif-actions{display:flex;gap:8px;margin-top:6px}.notif-answer{opacity:.75}
.check-row{display:flex;gap:8px;align-items:center;margin:6px 0}
body[data-employee] .global-metrics{display:grid!important}
body[data-employee] .today-task [data-action=deleteTodayTask]{display:none!important}
.emp-clock-btn.on{background:#e8554a;color:#fff}.emp-clock-btn.done{opacity:.7}
@media(max-width:700px){.pay-balance,.pay-field-row{grid-template-columns:1fr}}
.pay-anchor{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:13px}.pay-anchor label{display:flex;gap:8px;align-items:center;font-weight:600}.pay-anchor span{opacity:.7}
.pay-days{margin-top:10px}.pay-days summary{cursor:pointer;font-weight:600;padding:6px 0}
.att-holiday{color:#7a5200;font-weight:600}.att-none{opacity:.5;font-style:italic}
body[data-employee] .project-drag{display:none!important}body[data-employee] .project-priority-row{cursor:pointer}
.emp-overview{display:grid;gap:12px;padding:6px 2px}.emp-overview h3{margin:0}.emp-code{margin:0;opacity:.7}
.emp-location{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:rgba(47,168,143,.09)}.emp-location span{flex:1;min-width:160px}
.emp-map{height:320px;border-radius:14px;overflow:hidden;background:#e8eef2}
.pay-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.pay-tabs{display:inline-flex;padding:3px;border-radius:12px;background:rgba(0,0,0,.05);gap:2px}.pay-tabs button{border:0;background:transparent;padding:7px 14px;border-radius:9px;font:inherit;font-size:13px;cursor:pointer}.pay-tabs button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:700}
.pay-controls select,.pay-controls input[type=search]{min-width:200px}
.pay-summary{margin:4px 0 12px}.pay-summary>div{display:inline-block;padding:12px 18px;border-radius:14px;background:rgba(47,168,143,.09)}.pay-summary small{display:block;opacity:.7}.pay-summary strong{display:block;font-size:24px;color:#0f6b58}.pay-summary span{font-size:12px;opacity:.75}
.pay-history{margin-top:16px}.pay-history h4{margin:0 0 6px}
.team-strip-details{margin:0 0 14px}.team-strip-details summary{cursor:pointer;font-weight:600;padding:8px 2px}
body[data-employee] .today-effort-tag,body[data-employee] .effort-tag{display:none!important}

/* Statistics > Building types */
.bt-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.bt-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel,#fff);font-size:12px;color:var(--muted)}.bt-chip select{border:0;background:transparent;font-weight:700;color:var(--text);font-size:12.5px}
.bt-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.bt-tile{background:var(--panel,#fff);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.bt-tile small,.bt-tile span{display:block;color:var(--muted);font-size:11.5px}.bt-tile strong{display:block;font-size:21px;margin:3px 0 1px}
.bt-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.bt-row{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr) 92px;gap:12px;align-items:center;width:100%;padding:9px 6px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:8px}.bt-row:last-child{border-bottom:0}.bt-row:hover,.bt-row.open{background:color-mix(in srgb,var(--teal,#23b99a) 9%,transparent)}
.bt-name{font-weight:650;font-size:13.5px}.bt-name small,.bt-val small{display:block;color:var(--muted);font-weight:500;font-size:11px}.bt-val{text-align:right;font-weight:800;font-size:14px}
.bt-track{position:relative;display:block;height:20px;border-radius:8px;background:color-mix(in srgb,var(--text,#10213e) 7%,transparent);overflow:hidden}.bt-bar{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,#4fcdb7,#23b99a)}.bt-avg{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text,#10213e);opacity:.55}
.bt-table{width:100%;border-collapse:collapse;font-size:13px}.bt-table th{text-align:left;color:var(--muted);font-weight:600;font-size:11.5px;padding:0 0 8px;border-bottom:1px solid var(--line)}.bt-table td{padding:10px 0;border-bottom:1px solid var(--line)}.bt-table .r{text-align:right;padding-right:14px}.bt-table tr[data-bt-type]{cursor:pointer}.bt-table tr.open td,.bt-table tr[data-bt-type]:hover td{background:color-mix(in srgb,var(--teal,#23b99a) 9%,transparent)}
.bt-range{position:relative;height:8px;border-radius:6px;background:color-mix(in srgb,var(--text,#10213e) 7%,transparent);margin:4px 0 3px;min-width:110px}.bt-range i{position:absolute;top:0;bottom:0;border-radius:6px;background:#4fcdb7}.bt-range b{position:absolute;top:-3px;width:3px;height:14px;border-radius:2px;background:var(--text,#10213e)}.bt-table small{color:var(--muted);font-size:11px}
.bt-detail{margin-top:16px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;padding:16px 18px}.bt-missing{margin-top:14px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13px}.bt-missing summary{cursor:pointer;font-weight:650}.bt-missing-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.link-btn{background:none;border:0;color:var(--teal-dark,#0f7a62);font-weight:700;cursor:pointer;padding:0;text-align:left;font:inherit}
@media(max-width:1000px){.bt-grid{grid-template-columns:1fr}.bt-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bt-row{grid-template-columns:minmax(90px,1fr) 80px}.bt-track{grid-column:1/-1;grid-row:2}}
.bt-grid .section-title{display:block}.bt-grid .section-title span{display:block;margin-top:2px}.bt-table td.r,.bt-table th.r{white-space:nowrap}.bt-grid{align-items:stretch}.bt-table td small{white-space:nowrap}

/* Building stats: duration table, map panel */
.bt-panel{margin-top:16px}.bt-scroll{overflow-x:auto}.bt-dur-table{min-width:700px}.bt-dur-table tbody tr{cursor:pointer}.bt-dur-table tbody tr.open{background:color-mix(in srgb,var(--text,#10213e) 4%,transparent)}.bt-dur-table th,.bt-dur-table td{padding-right:12px}
.bt-phase{display:flex;gap:2px;height:10px;min-width:160px}.bt-phase i{display:block;height:100%;min-width:3px}
.bt-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--muted)}.bt-legend span{display:inline-flex;align-items:center;gap:5px}.bt-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
/* Statistics filter dropdowns: room for the text before the arrow */
html body #app .bt-chips .bt-chip select[data-bt-filter]:not([multiple]):not([data-x]):not([data-y]){padding-right:36px;min-width:150px;text-overflow:ellipsis;background-position:right 12px center}
