/* Attendance lists share the selected period and keep the journal first. */
.overview-report-actions{align-items:stretch!important;gap:10px!important}
.overview-report-actions>.btn{min-height:64px!important;height:auto!important;padding:12px 20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;border-radius:10px!important;box-sizing:border-box}
.overview-report-actions>[data-report-refresh]{min-width:146px}
.overview-report-actions .overview-export{min-width:225px}
.attendance-tops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-top:20px}
.attendance-tops-grid .panel{margin:0!important;min-width:0}
.attendance-tops-grid .panel-head{gap:12px;padding:22px 24px}
.attendance-tops-grid h2{font-size:20px!important;line-height:1.35}
.attendance-tops-grid .table td{padding-top:14px;padding-bottom:14px}
.attendance-top-total{color:var(--muted,#6a7891);font-size:13px;white-space:nowrap}
.office-visits-number{font-weight:650;font-size:18px;font-variant-numeric:tabular-nums;text-align:right;padding-right:26px!important}
.office-attendance-top th:last-child{text-align:right}
.attendance-tops-note{font-size:13px;line-height:1.65;color:var(--muted,#6a7891);margin:14px 2px 22px}
.lateness-order{line-height:1.8!important}
.lateness-order strong{font-weight:550;color:var(--text,#23344f)}
[data-analytics-rankings]{margin-top:24px}
@media(max-width:1250px){.overview-report>.panel-head{flex-wrap:wrap!important}.overview-report>.panel-head>div:first-child{width:100%}.overview-report-actions{width:100%;justify-content:flex-end;flex-wrap:nowrap!important}}
@media(max-width:1100px){.attendance-tops-grid{grid-template-columns:1fr}}
@media(max-width:600px){.overview-report-actions{width:100%}.overview-report-actions>.btn{min-width:0!important;flex:1;padding:10px!important}.overview-report-actions .overview-export small{font-size:11px}}

/* Visible quick-period buttons with a persistent selection and keyboard focus. */
.workspace .period-shortcuts{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;align-self:flex-end}
.workspace .period-shortcut-buttons{display:flex;gap:8px}
.workspace .period-shortcut-buttons .period-preset{min-height:44px;min-width:78px;padding:10px 16px;border-radius:9px;font-size:14px;font-weight:600;line-height:22px;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s}
.workspace .period-preset:not(.btn-primary){box-shadow:0 1px 2px #19345b0a}
.workspace .period-preset:not(.btn-primary):hover{box-shadow:0 2px 7px #19345b16;transform:translateY(-1px)}
.workspace .period-preset[aria-pressed=true]{box-shadow:0 2px 5px #19345b20}
.workspace .period-preset:active{transform:translateY(1px)}
.workspace .period-preset:focus-visible{outline:3px solid #91b4ec;outline-offset:3px}
@media(max-width:600px){.workspace .period-shortcuts{width:100%}.workspace .period-shortcut-buttons .period-preset{flex:1;min-width:0}}

/* Rankings follow the journal in one full-width reading column. */
.overview-ranking-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
.overview-ranking-stack>.panel{margin:0!important;min-width:0;width:100%;box-sizing:border-box}
.overview-ranking-stack .panel-head{gap:16px;padding:22px 24px;align-items:center}
.overview-ranking-stack .panel-head h2{font-size:20px!important;line-height:1.35}
.overview-ranking-stack .panel-head p{margin-top:7px}
.overview-ranking-stack .table td{padding-top:14px;padding-bottom:14px}
.overview-ranking-stack .table th{white-space:nowrap}
.overview-ranking-stack .lateness-times-hint{padding-left:24px;padding-right:24px}
.overview-ranking-stack .lateness-order{padding:16px 24px;font-size:13px;color:var(--muted,#6a7891);border-top:1px solid var(--border,#e0e6ef)}
.overview-ranking-stack .lateness-source{font-size:13px;line-height:1.6}
.overview-ranking-stack .lateness-source strong{font-weight:500}
.overview-ranking-stack .office-attendance-top .table{min-width:650px}
.overview-ranking-stack .punctuality-table{min-width:900px}
.punctuality-count strong{font-size:18px;color:var(--accent,#345da2);font-variant-numeric:tabular-nums}
@media(max-width:700px){.overview-ranking-stack .panel-head{flex-wrap:wrap;padding:18px}.overview-ranking-stack .panel-head h2{font-size:18px!important}.overview-ranking-stack .lateness-order{padding:14px 18px}}

/* Attendance: a daily report followed by one comparison workspace. */
body .workspace .page-heading[data-page=overview]{min-height:156px;padding:24px 28px;gap:14px}
body .workspace .page-heading[data-page=overview] h1{font-size:32px;letter-spacing:-.7px}
body .workspace .page-heading[data-page=overview] .atelier-art{width:470px;height:235px;right:-5px}
body .workspace .page-heading[data-page=overview] .page-description{margin-top:8px}
body .workspace .page-heading[data-page=overview]+#filters .period-shortcuts{grid-column:auto}
.overview-report .overview-report-actions>.btn{min-height:56px!important;padding:10px 18px!important}
.overview-report .overview-report-actions>[data-report-refresh]{min-width:132px}
.overview-report .overview-report-actions .overview-export{min-width:218px}
body .overview-report-summary{padding:18px 24px 0;gap:22px;font-size:13px}
body .overview-report-summary strong{font-size:17px;letter-spacing:0}
.overview-report-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px 18px;color:var(--muted);font-size:13px}
.overview-report-caption p{margin:0;line-height:1.5}
.overview-report-caption a{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.overview-report-caption a svg{width:16px;height:16px;transform:rotate(90deg)}
.overview-report-caption a:hover{text-decoration:underline}
body .overview-report-table{min-width:1060px}
body .overview-report-table .person{min-width:198px}
body .overview-report-table th:nth-child(7),body .overview-report-table td:nth-child(7){min-width:154px}
body .overview-report-table th:nth-child(8),body .overview-report-table td:nth-child(8){min-width:145px}

.overview-ranking-panel{margin-top:24px!important;overflow:hidden;scroll-margin-top:20px}
.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px 20px}
body .comparison-heading h2{margin:0;font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.4px;color:var(--ink,var(--text))}
.comparison-heading p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.comparison-period{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.comparison-period svg{width:16px;height:16px;opacity:.8}
.comparison-controls{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:0 26px 20px;border-bottom:1px solid var(--line,var(--border))}
.comparison-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;background:var(--surface-soft,#f5f7fb);border:1px solid var(--line,var(--border));border-radius:13px;max-width:100%;box-sizing:border-box}
.comparison-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 19px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:550;line-height:22px;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}
.comparison-tabs button svg{width:19px;height:19px;flex-shrink:0}
.comparison-tabs button:hover{color:var(--ink,var(--text));background:var(--surface,#fff)}
.comparison-tabs button[aria-selected=true]{color:var(--accent,#345da2);background:var(--surface,#fff);border-color:var(--line,var(--border));box-shadow:0 2px 5px #17335b0c;font-weight:650}
.comparison-tabs button:focus-visible,.comparison-order button:focus-visible,.overview-report-caption a:focus-visible{outline:3px solid var(--focus-ring,#91b4ec);outline-offset:3px}
.comparison-order{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.comparison-order:before{content:'Сортировка';font-size:13px;color:var(--muted);margin-right:4px}
.comparison-order button{padding:7px 13px;min-height:36px;background:var(--surface,#fff);border:1px solid var(--line,var(--border));border-radius:8px;color:var(--muted);font:inherit;font-size:13px;font-weight:550;line-height:20px;cursor:pointer}
.comparison-order button[aria-pressed=true]{color:var(--accent,#345da2);background:var(--accent-soft,#edf3fc);border-color:color-mix(in srgb,var(--accent,#345da2) 40%,var(--line,#dfe6f0))}
.comparison-order button:hover{color:var(--accent)}
.overview-ranking-panel .overview-ranking-stack{display:block;margin:0}
.overview-ranking-panel .overview-ranking-stack>.panel{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent}
.overview-ranking-panel .overview-ranking-stack>.panel>.panel-head{padding:22px 26px 12px;border:0;background:transparent;min-height:0}
body .overview-ranking-panel h3{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.2px;margin:0;color:var(--ink,var(--text))}
.overview-ranking-panel .lateness-source,.overview-ranking-panel .attendance-top-total{font-size:13px;color:var(--muted);line-height:1.5;white-space:nowrap}
.overview-ranking-panel .lateness-times-hint{padding:0 26px 18px;font-size:13px;line-height:1.6}
.overview-ranking-panel .table-wrap{border-top:1px solid var(--line,var(--border))}
.overview-ranking-panel .table th{font-size:12px!important;line-height:1.4;font-weight:600;letter-spacing:0;text-transform:none!important;background:var(--surface-soft,#f7f9fc);padding:13px 16px;white-space:normal}
.overview-ranking-panel .table td{padding:15px 16px;font-size:15px;line-height:1.45}
.overview-ranking-panel .person-name{font-size:15px}
.overview-ranking-panel .table .cell-sub{font-size:12px;line-height:1.5;margin-top:4px}
.overview-ranking-panel .table tbody>tr:not(.lateness-detail-row):hover{background:var(--surface-soft,#f7f9fc)}
.overview-ranking-panel .lateness-leaders-table{min-width:720px}
.overview-ranking-panel .lateness-leaders-table .person{min-width:180px}
.overview-ranking-panel .lateness-frequency{min-width:90px;gap:10px}
.overview-ranking-panel .lateness-frequency>span{width:58px}
.overview-ranking-panel .punctuality-table{min-width:760px}
.overview-ranking-panel .office-attendance-top .table{min-width:620px}
.overview-ranking-panel .lateness-rank{font-size:13px!important;color:var(--muted);width:48px}
.overview-ranking-panel .lateness-days-toggle{font-size:12px;margin-top:5px}
.overview-ranking-panel .panel-foot{padding:16px 26px;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.overview-ranking-panel .statistics-more{margin-left:auto;border-radius:8px;padding:9px 16px;min-height:40px;font-size:14px}
.comparison-method{border-top:1px solid var(--line,var(--border));background:var(--surface-soft,#f7f9fc)}
.comparison-method summary{padding:15px 26px;font-size:13px;font-weight:550;color:var(--muted);cursor:pointer}
.comparison-method summary:hover{color:var(--accent)}
.overview-ranking-panel .comparison-method .lateness-order{border:0;margin:0;padding:0 26px 18px;font-size:13px;line-height:1.75}
.overview-ranking-panel [role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:1400px){body .workspace .page-heading[data-page=overview]+#filters .period-shortcuts{grid-column:1/-1;justify-self:end}}
@media(max-width:800px){.comparison-heading{align-items:flex-start;flex-direction:column;gap:10px;padding:20px}.comparison-controls{padding:0 20px 18px}.comparison-tabs{width:100%;gap:2px}.comparison-tabs button{flex:1;padding:10px;font-size:14px;gap:6px}.comparison-heading h2{font-size:21px}.overview-report-caption{align-items:flex-start;flex-direction:column}.overview-ranking-panel .overview-ranking-stack>.panel>.panel-head{padding:20px 20px 12px}.overview-ranking-panel .lateness-times-hint{padding:0 20px 16px}}
@media(max-width:580px){body .workspace .page-heading[data-page=overview]{min-height:140px;padding:20px}.comparison-tabs{flex-direction:column;align-items:stretch}.comparison-tabs button{justify-content:flex-start}.comparison-order:before{width:100%}.comparison-order button{flex:1}.comparison-period{font-size:12px}.overview-ranking-panel .overview-ranking-stack>.panel>.panel-head{align-items:flex-start;gap:8px;flex-direction:column}body .overview-report-summary{flex-wrap:wrap;gap:10px 16px}body .overview-report-summary>span+span{padding-left:0;border:0}.overview-report .overview-report-actions .btn{min-width:0!important}.overview-report-caption{padding:12px 18px 16px}}
.comparison-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.comparison-day{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;color:var(--muted)}
.comparison-day input{height:46px;width:157px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 10px;font:inherit;font-size:14px}
.comparison-export{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:10px 16px;border-radius:10px!important}
.comparison-export small{display:block;font-size:11px;line-height:1.5;margin-top:3px;opacity:.9}
.comparison-heading .comparison-period{margin-top:8px}
.overview-ranking-panel .arrivals-table{min-width:820px}
@media(max-width:1250px){.comparison-heading{align-items:flex-start;flex-direction:column}.comparison-actions{width:100%;justify-content:flex-start}}
@media(max-width:580px){.comparison-actions{align-items:stretch}.comparison-export{flex:1;justify-content:center}}

.comparison-order.comparison-arrival-status:before{content:'Показать'}

.comparison-caption{margin:-4px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
