*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#233044;font:14px 'Segoe UI',Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#fff;border-right:1px solid #e6ebf0;padding:34px 24px}.brand{text-decoration:none;color:#17483f;font-size:32px;letter-spacing:-1px}.brand span{color:#28ac87}.muted,small{color:#7a8794}.eyebrow,aside>.muted{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#72818e}nav{display:grid;gap:12px;margin-top:48px}nav a{padding:14px 12px;border-radius:9px;color:#4b5c6b;text-decoration:none}nav a:hover{background:#eaf6f1;color:#17765c}.aside-bottom{position:absolute;bottom:35px;line-height:1.8}main{margin-left:225px;padding:0 44px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid #e4e9ee;margin-bottom:28px}header p{margin:7px 0 0;font-size:12px;color:#82909c}.profile{text-align:right;display:flex;align-items:center;gap:16px}.title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0}h1{font-size:32px;letter-spacing:-1px;margin:10px 0}h2{font-size:36px;margin:20px 0 12px}h2 small{font-size:12px;font-weight:400}h3{font-size:17px;margin:0 0 12px}.card{background:white;border:1px solid #e6ebef;border-radius:15px;padding:26px;margin-bottom:24px;box-shadow:0 3px 7px #1b344403}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card:first-child{background:#163f37;color:white}.stats p{font-size:12px;color:#8e9da6}.pill{display:inline-block;background:#e9f6f0;color:#20765c;border-radius:20px;padding:7px 12px;font-size:11px;white-space:nowrap}.warning{background:#fff2de;color:#9b691e}.notice{background:#fff5dd;border:1px solid #f2dfac;padding:13px 18px;border-radius:9px;margin:12px 0;font-size:13px}.error{background:#ffebeb;color:#a62f35;border-color:#f0c5c5}.success{background:#e9f6ef;color:#267451;border-color:#bbdfce}label{display:block;font-size:12px;font-weight:600;color:#5a6977;margin:12px 0}input,select{display:block;width:100%;border:1px solid #dce3e8;border-radius:8px;padding:11px;margin-top:7px;background:white;color:#233044;font:inherit}input:focus,select:focus{outline:2px solid #6bba9f}button,.button{background:#218263;color:white;border:0;border-radius:8px;padding:12px 19px;font:600 13px 'Segoe UI',sans-serif;cursor:pointer;text-decoration:none;display:inline-block}button:hover{background:#17694f}button:disabled{opacity:.5;cursor:wait}.plain{background:none;color:#62727c;padding:5px}.secondary{background:#edf5f1;color:#246d57}.inline{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.inline label{flex:1;min-width:110px}.inline button,.inline .button{margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.check{display:flex;gap:9px;align-items:center}.check input{width:auto;margin:0}.auth{max-width:500px;margin:50px auto;padding:40px}.auth button{width:100%;margin-top:15px}.auth p{line-height:1.7}.attendance{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:4px solid #288869}.attendance form{max-width:300px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#87939d;background:#f8fafb;padding:14px 12px}td{padding:18px 12px;border-bottom:1px solid #eef1f4;vertical-align:top}td small{display:block;margin-top:6px}td details{max-width:260px;overflow-wrap:anywhere}summary{cursor:pointer}.empty{text-align:center;padding:45px}.member,.separated{border-bottom:1px solid #edf0f2;padding:15px 0}.member summary{display:flex;justify-content:space-between;gap:10px}footer{padding:10px 0 30px;color:#8a969e;font-size:11px} @media(max-width:850px){aside{position:static;width:auto;padding:16px 20px;border-bottom:1px solid #ddd}aside>.muted,.aside-bottom{display:none}nav{display:flex;margin:10px 0 0;gap:4px}nav a{padding:8px;font-size:12px}.brand{font-size:25px}main{margin:0;padding:0 18px}header{padding:18px 0}.stats{gap:10px}.stats .card{padding:16px}h1{font-size:27px}.title{align-items:flex-start}.attendance{display:block}.grid{grid-template-columns:1fr}.auth{margin:25px auto;padding:25px}.member summary{display:block}.profile{display:block;font-size:12px}}@media(max-width:500px){.stats{grid-template-columns:1fr}.stats .card{margin-bottom:0}h2{margin:10px 0}.stats{margin-bottom:20px}.title>.pill{display:none}.card{padding:19px}}
/* Company visual identity and responsive controls */
:root{--accent:#d9302c;--ink:#222832;--muted:#66717f;--line:#e9e9ed}body{background:#f6f7f9;color:var(--ink);font-size:14px;line-height:1.5}aside{width:250px;padding:32px 22px;border-color:var(--line)}.brand{display:flex;gap:12px;align-items:center;letter-spacing:0}.brand img{width:48px;height:48px;object-fit:contain}.brand>span{min-width:0}.brand strong{display:block;font-size:16px;color:var(--ink);overflow-wrap:anywhere}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.nav-label{font-size:10px;letter-spacing:1.5px;color:#89919b;font-weight:700;margin:48px 12px 16px}nav{margin:0;gap:8px}nav a{display:flex;align-items:center;gap:12px;font-weight:600;padding:13px 15px;color:#64707d;min-height:46px}nav a>span{font-size:18px;width:20px;text-align:center}nav a.active,nav a:hover{background:#fff0ef;color:#bd2825}nav a.active{box-shadow:inset 3px 0 var(--accent)}.aside-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:#4f5965;left:28px;right:28px}.connection-dot{display:inline-block;width:7px;height:7px;background:#27805a;border-radius:50%;margin-right:5px}main{margin-left:250px;padding:0 40px;max-width:1700px}header{min-height:93px;border-color:var(--line);margin-bottom:26px}.eyebrow{font-size:10px;color:#8a6770;letter-spacing:1.5px}header .eyebrow{color:#79818c}.profile{gap:12px}.profile b{font-size:13px}.profile small{display:block;text-align:left;font-size:11px}.avatar{height:36px;width:36px;display:grid;place-items:center;background:#ffebe9;color:#b92b29;font-weight:700;border-radius:12px}.plain{color:#686e77;border:1px solid var(--line);background:white;padding:8px 11px;font-size:12px;min-height:36px}.plain:hover{background:#fff0ef;color:#bd2825}h1{font-size:32px;line-height:1.22;letter-spacing:-1px}h2{letter-spacing:-1px}h3{font-size:17px}.muted,small{color:var(--muted)}.card{border:1px solid var(--line);box-shadow:0 4px 15px #22283203;border-radius:16px;padding:26px}.title{margin:28px 0 24px}.title p{margin-bottom:0}.stats{gap:18px}.stats .card:first-child{background:linear-gradient(120deg,#bd2623,#e43e35);color:white;border:0}.stats .card:first-child p,.stats .card:first-child small{color:#ffe2df}.stats .card{position:relative}.stats h2{font-size:38px}.stats p{color:var(--muted)}.stats .card>span{font-size:13px;font-weight:600}.stats .card:not(:first-child){border-top:3px solid #e8c6c1}.notice{font-size:12px;background:#fff8e8;border-color:#f1e3bb;padding:13px 17px}.notice.success{background:#edf8f0;border-color:#c5e4cd}.notice.error{background:#fff0ee;border-color:#f4ceca}.pill{background:#edf7f1;color:#29664a;font-weight:600}.pill.warning{background:#fff4e5;color:#906025}button,.button{background:var(--accent);min-height:44px;transition:background .15s,box-shadow .15s;border-radius:9px;padding:12px 19px}button:hover,.button:hover{background:#b92321;box-shadow:0 3px 8px #d9302c20}.secondary{background:#fff0ee;color:#b72b27}.secondary:hover{background:#ffe1de;color:#942420}input,select{font-size:14px;min-height:44px;border-color:#dfe2e7;background:#fff;padding:11px 12px}label{font-size:12px;font-weight:600;color:#505a67}label small{font-weight:400;display:block;margin-top:5px}input:focus,select:focus{outline:2px solid #df635d;outline-offset:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #df635d;outline-offset:3px}.check input{min-height:auto;accent-color:var(--accent)}.attendance{border-top:0;background:linear-gradient(105deg,#fff,#fff5f3);border-left:4px solid var(--accent);padding:32px}.attendance h2{font-size:52px;margin:12px 0}.attendance h2 small{display:block;letter-spacing:0;margin-top:3px}.attendance form{min-width:240px}.attendance button{width:100%;font-size:16px;min-height:56px}.attendance #location-status{font-size:12px;text-align:center}.table-wrap{border:1px solid #edf0f2;border-radius:10px}th{background:#fafafa;color:#68727f;padding:14px;white-space:nowrap}td{padding:18px 14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fdf9f8}.member summary{padding:7px 0;align-items:center;min-height:44px}.member summary:before{content:'+';color:var(--accent);font-weight:700;font-size:18px;margin-right:10px}.member[open] summary:before{content:'−'}.member summary .muted{font-size:12px;margin-left:auto}.member[open]{background:#fcfcfd;border-radius:10px;padding:14px}.member[hidden]{display:none}.empty{padding:40px;color:#747c85}footer{display:flex;align-items:center;gap:9px;font-size:11px;padding:14px 0 28px;color:#828993}footer img{width:20px;height:20px;object-fit:contain}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;max-width:1050px;margin:45px auto 60px}.welcome h1{font-size:clamp(36px,4vw,56px);font-weight:750;line-height:1.14;letter-spacing:-2px;margin:22px 0}.welcome h1 em{font-style:normal;color:var(--accent)}.welcome>p{max-width:330px;line-height:1.8;color:var(--muted)}.welcome-features{display:grid;gap:18px;margin-top:35px}.welcome-features span{font-size:12px;color:#bf302a;display:flex;gap:16px}.welcome-features b{color:#56606d;font-weight:500}.auth{margin:0;padding:34px;width:100%;max-width:430px}.auth h2{font-size:24px;margin:16px 0 4px}.login-logo{width:62px;height:62px;object-fit:contain}.auth .muted{font-size:12px;margin:0 0 25px}.auth label{margin:17px 0}.auth .login-submit{margin-top:12px}.password-field{position:relative}.password-field input{padding-right:94px}.auth .password-toggle{position:absolute;right:4px;top:4px;width:auto;min-height:36px;height:36px;margin:0;padding:5px 9px;background:#fff;color:#6a727d;font-size:11px;box-shadow:none}.login-help{font-size:11px!important;text-align:center;border-top:1px solid var(--line);padding-top:18px;margin-bottom:0;color:#77808c}.login-help b{font-weight:600;color:#505966}.signed-out .auth:only-child{margin:35px auto}.signed-out .notice{max-width:1050px;margin-left:auto;margin-right:auto}
@media(min-width:1500px){main{padding:0 65px}}
@media(max-width:1100px){aside{width:215px;padding:25px 16px}main{margin-left:215px;padding:0 24px}.login-layout{gap:26px}.welcome h1{font-size:40px}.auth{padding:25px}.stats .card{padding:20px}}
@media(max-width:850px){aside{position:static;width:100%;padding:15px 20px}.brand img{width:36px;height:36px}.brand strong{font-size:14px}.brand small{font-size:11px}.nav-label,.aside-bottom{display:none}nav{display:flex;overflow-x:auto;margin:15px 0 0;gap:6px;padding-bottom:2px}nav a{flex-shrink:0;min-height:42px;font-size:12px;padding:10px 12px}nav a>span{font-size:15px;width:auto}nav a.active{box-shadow:inset 0 -2px var(--accent)}main{margin:0;padding:0 20px}header{min-height:78px;margin-bottom:20px}.profile{display:flex}.login-layout{margin:25px auto;gap:26px}.welcome h1{font-size:36px}.welcome-features{gap:12px}.attendance{padding:24px}.attendance form{max-width:none}.attendance h2{font-size:44px}.stats h2{font-size:32px}.member summary{display:flex;flex-wrap:wrap;justify-content:flex-start}.member summary .muted{width:100%;margin-left:22px}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){main{padding:0 14px}aside{padding:14px}.profile .avatar{display:none}.profile b{max-width:140px;display:block;overflow-wrap:anywhere}.profile .plain{font-size:11px;padding:7px}.profile{gap:8px}header p{font-size:10px}.login-layout{display:block}.welcome{margin:30px 7px}.welcome h1{font-size:32px;letter-spacing:-1px}.welcome h1 br{display:none}.welcome h1 br:after{content:' '}.welcome>p{font-size:13px;margin:12px 0}.welcome-features{display:none}.login-layout .auth{max-width:none;padding:26px}.auth .login-logo{width:48px;height:48px}.stats{grid-template-columns:1fr;gap:10px}.stats .card{padding:17px 20px;margin:0;display:grid;grid-template-columns:1fr auto;align-items:center}.stats h2{grid-column:2;grid-row:1/3;margin:0;font-size:30px}.stats p{margin:5px 0;font-size:11px}.card{padding:19px;border-radius:13px}.title{margin:22px 0}h1{font-size:26px}.grid{grid-template-columns:1fr}.inline{gap:8px}.inline label{min-width:120px}.inline button,.inline .button{width:100%;text-align:center}.attendance{padding:24px}.attendance h2{font-size:44px}.attendance form{min-width:0;width:100%}.attendance button{margin-top:12px}.table-wrap{margin:0 -5px}.notice{line-height:1.6}footer{flex-wrap:wrap;font-size:10px}.signed-out header{display:none}.signed-out .notice{margin-top:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.anomaly-row{border-bottom:1px solid #e9e9ed;padding:16px 0}.anomaly-row>summary{display:flex;align-items:center;gap:18px;min-height:44px}.anomaly-row>summary:before{content:'+';color:#d9302c;font-size:20px}.anomaly-row[open]>summary:before{content:'−'}.anomaly-row>summary>b{flex:1}.anomaly-row[open]{background:#fcfcfd;padding:16px;border-radius:10px}.pager{display:flex;gap:16px;align-items:center;justify-content:center;padding-top:22px;font-size:12px}.empty small{display:block;margin-top:8px}@media(max-width:600px){.anomaly-row>summary{flex-wrap:wrap;gap:8px}.anomaly-row>summary>b{flex-basis:70%}.pager{flex-wrap:wrap}.anomaly-row>summary>span{font-size:11px}}
.location-diagnostic{font-size:12px;text-align:left;overflow-wrap:anywhere}.location-diagnostic p{margin:9px 0}.attendance form>button.secondary{margin-top:8px;min-height:40px;font-size:13px}
.selfie-panel{padding:15px;background:#fff4ee;border:1px solid #efdbd4;border-radius:12px;margin-top:14px}.selfie-panel button{margin:5px 0;font-size:13px!important}.selfie-panel p{font-size:12px}[hidden]{display:none!important}

.status-list{list-style:none;margin:0;padding:0;min-width:210px;max-width:360px}.status-list li+li{margin-top:12px;padding-top:10px;border-top:1px solid #edf0f3}.status-list b,.status-list small,.status-list a{display:block}.status-list b{font-size:13px;font-weight:600}.status-list small{margin-top:3px}.status-list a{font-size:12px;margin-top:5px}.status-list details{font-size:12px;margin-top:4px}.status-list details p{overflow-wrap:anywhere}.status-warning{color:#a44316}.anomaly-row:target{outline:2px solid #d9302c;scroll-margin-top:20px}

/* Compact monthly report: stable columns and a two-column status grid. */
.monthly-table{table-layout:fixed;min-width:920px}
.monthly-table th:nth-child(1){width:5%}
.monthly-table th:nth-child(2){width:19%}
.monthly-table th:nth-child(3){width:11%}
.monthly-table th:nth-child(4){width:19%}
.monthly-table th:nth-child(5){width:46%}
.monthly-table td{padding:18px 16px;vertical-align:middle}
.monthly-table th{padding:15px 16px;font-size:10px;letter-spacing:.6px}
.monthly-table td:first-child{color:#87909b;font-variant-numeric:tabular-nums}
.monthly-table td:nth-child(2) b{font-size:13px;line-height:1.5}
.monthly-table td:nth-child(3),.monthly-table td:nth-child(4){font-variant-numeric:tabular-nums}
.monthly-table td:nth-child(4) b{white-space:nowrap;font-size:13px}
.monthly-table tbody tr:hover{background:#fafbfc}
.monthly-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-width:none}
.monthly-status li,.monthly-status li+li{margin:0;padding:10px 12px;border:1px solid #e8edf2;border-radius:9px;background:#f8fafc;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}
.monthly-status li.needs-action{background:#fff9f2;border-color:#f4e3cd}
.monthly-status b{font-size:12px;line-height:1.45}
.monthly-status small{font-size:11px;line-height:1.4;margin:0}
.monthly-status a,.monthly-status a:visited{display:inline-flex;color:#9b3029;text-decoration:none;font-size:11px;font-weight:600;margin:0;min-height:28px;align-items:center;border-radius:5px;padding:2px 0}
.monthly-status a:hover{color:#751a16;text-decoration:underline}
@media(max-width:1100px){.monthly-table{min-width:860px}.monthly-table td,.monthly-table th{padding-left:12px;padding-right:12px}.monthly-status li,.monthly-status li+li{padding:8px 10px}}

.request-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #edf0f2}.request-card small{display:block;margin-top:5px}.request-card p{max-width:650px;overflow-wrap:anywhere}.request-card form{display:flex;gap:8px;flex-shrink:0}@media(max-width:600px){.request-card{align-items:flex-start;flex-direction:column}}

.selfie-panel textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #dfe2e7;border-radius:8px;resize:vertical;margin-top:8px;background:white}.selfie-panel textarea:focus{outline:2px solid #df635d;outline-offset:2px}

.filter-toolbar{display:grid;gap:16px;align-items:end;background:#f8fafc;border:1px solid #edf0f3;border-radius:12px;padding:18px;margin:16px 0 20px}
.filter-three{grid-template-columns:minmax(180px,.85fr) minmax(220px,1.25fr) minmax(190px,1fr) auto}
.filter-two{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.6fr) auto}
.filter-toolbar label{margin:0;min-width:0;font-size:12px}
.filter-toolbar input,.filter-toolbar select{height:46px;margin-top:8px}
.filter-actions{display:flex;gap:8px;align-items:center}
.filter-actions .button,.filter-actions button{height:46px;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap}
.filter-toolbar .filter-help{grid-column:1/-1;margin:0;font-size:11px;color:#75808d;line-height:1.5}
@media(max-width:1200px){.filter-three{grid-template-columns:1fr 1fr}.filter-three .filter-actions{justify-content:flex-end}.filter-two{grid-template-columns:1fr 1fr}.filter-two .filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){.filter-toolbar{grid-template-columns:1fr;padding:14px;gap:14px}.filter-actions{width:100%}.filter-actions button,.filter-actions .button{flex:1}.filter-toolbar .filter-help{grid-column:1}.filter-two .filter-actions{grid-column:1}}

.locations-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.locations-heading h2,.locations-heading h3{margin:0}.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin:24px 0}.location-card{padding:22px;border:1px solid #e2e6ec;border-radius:16px;background:#fff}.location-badge{display:inline-block;border-radius:20px;padding:6px 12px;background:#eaf5ee;color:#226c42;font-size:12px;font-weight:600}.location-badge.inactive{background:#f0f1f4;color:#626b79}.location-coordinates{color:#667085;font-size:14px}.location-card summary,.location-add summary{cursor:pointer;color:#c52a28;font-weight:600;padding:12px 0}.location-card form,.location-add form{margin-top:16px}.location-add{border-top:1px solid #e2e6ec;padding-top:12px}

nav.page-numbers{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.page-numbers .page-number{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 12px;border:1px solid #e2e6ec;border-radius:10px;background:#fff;color:#394455;font-size:14px;font-weight:600;text-decoration:none}.page-numbers a.page-number:hover{background:#fff0f0;border-color:#d9302c;color:#bd2424}.page-numbers .page-number.is-current{background:#d9302c;border-color:#d9302c;color:#fff}.page-numbers a.page-number:focus-visible{outline:3px solid #273c75;outline-offset:3px}.page-numbers .page-gap{padding:0 4px;color:#667085}.page-numbers .page-count{flex-basis:100%;text-align:center;color:#667085;margin-top:6px}

.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin:20px 0}.report-stats .card{padding:22px;margin:0}.report-stats strong{display:block;font-size:23px;margin-top:12px}.report-stats span{color:#667085;font-size:13px}.report-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.report-badges{display:flex;gap:6px;flex-wrap:wrap}.report-badge{display:inline-block;font-size:12px;font-weight:600;border-radius:20px;padding:5px 10px;white-space:nowrap}.report-badge.green{color:#17653c;background:#e8f5ed}.report-badge.red{color:#a52525;background:#ffeded}.report-badge.yellow{color:#815600;background:#fff5d7}.report-badge.blue{color:#1d519a;background:#eaf2ff}.report-badge.gray{color:#4c5563;background:#eceef1}.report-table{min-width:1040px}.report-table th a{color:inherit;text-decoration:none}.report-table td{vertical-align:top}.report-count{color:#667085;text-align:center;margin-top:20px}.report-detail{padding:18px 0;border-bottom:1px solid #e2e6ec}.report-history{background:#f4f8f5;padding:12px;border-radius:8px}.report-definitions{font-size:13px;line-height:1.6}
@media print{aside,header,footer,.report-controls,.report-actions,.pager{display:none!important}main{margin:0!important;padding:0!important;width:100%!important}.card{box-shadow:none!important;border:0!important;padding:8px!important}.table-wrap{overflow:visible!important}.report-table{min-width:0;width:100%;font-size:9px}.report-table td,.report-table th{padding:6px!important}.report-badge{white-space:normal}thead{display:table-header-group}tr,.report-detail{break-inside:avoid}a{color:#000;text-decoration:none}@page{size:A4 landscape;margin:12mm}}

.report-filter-heading{margin-bottom:24px}.report-filter-heading h2{font-size:18px;margin:0 0 6px}.report-filter-heading p{color:#667085;font-size:13px;margin:0}.report-controls .report-filters{grid-template-columns:minmax(210px,1.5fr) minmax(190px,1.2fr) minmax(155px,1fr) minmax(155px,1fr) minmax(155px,1fr);gap:18px;align-items:start}.report-controls .report-filters>label{margin:0;min-width:0;display:flex;flex-direction:column;gap:9px;font-size:13px}.report-controls input,.report-controls select{height:48px;margin:0;width:100%;box-sizing:border-box;border-radius:10px}.report-filter-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #edf0f4;padding-top:18px;margin-top:4px}.report-filter-footer p{margin:0;font-size:12px}.report-filter-footer .filter-actions{display:flex;gap:10px;align-items:center}.report-filter-footer button,.report-filter-footer .button{min-height:44px;padding:12px 20px;margin:0}
@media(max-width:1250px){.report-controls .report-filters{grid-template-columns:repeat(6,minmax(0,1fr))}.report-controls .report-filters>label{grid-column:span 2}.report-controls .report-filters>label:nth-of-type(4),.report-controls .report-filters>label:nth-of-type(5){grid-column:span 3}}
@media(max-width:600px){.report-controls .report-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-controls .report-filters>label,.report-controls .report-filters>label:nth-of-type(4),.report-controls .report-filters>label:nth-of-type(5){grid-column:span 1}.report-controls .report-filters>label:first-of-type{grid-column:1/-1}.report-filter-footer{align-items:stretch;flex-direction:column}.report-filter-footer .filter-actions{justify-content:flex-end}}

/* Main navigation: scoped so report pagination keeps its own layout. */
aside{overflow-y:auto}
aside .nav-label{margin:34px 14px 14px;font-size:11px;letter-spacing:1.5px}
aside .main-nav{display:grid;gap:6px;margin:0}
aside .main-nav .menu-link{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 14px;border-radius:12px;color:#647084;box-shadow:none;transition:background .15s,color .15s}
aside .main-nav .menu-icon{width:21px;height:21px;flex:0 0 21px}
aside .main-nav .menu-text{font-size:14px;line-height:1.45;width:auto;text-align:left;font-weight:600}
aside .main-nav .menu-link:hover{background:#f5f6f8;color:#263448}
aside .main-nav .menu-link.active{background:#fff0ef;color:#c62828;box-shadow:inset 3px 0 #dc302e}
aside .main-nav .menu-account{margin-top:14px;border-top:1px solid #e9edf2;border-radius:0 0 12px 12px;padding-top:18px}
@media(max-width:850px){aside .main-nav{display:flex;gap:6px;overflow-x:auto;margin-top:14px;padding:2px 0 6px}aside .main-nav .menu-link{flex:0 0 auto;min-height:44px;padding:10px 12px;gap:8px}aside .main-nav .menu-icon{width:18px;height:18px;flex-basis:18px}aside .main-nav .menu-text{font-size:12px;white-space:nowrap}aside .main-nav .menu-account{margin:0;border:0;border-radius:12px}aside .main-nav .menu-link.active{box-shadow:inset 0 -3px #dc302e}}

.selfie-table td{vertical-align:middle;padding:12px 14px}.selfie-table img{display:block;width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #e6eaf0}.selfie-table .selfie-delete{font-size:12px;padding:8px 14px;min-height:34px}

.work-break-note{margin-bottom:10px}.work-break-note b{font-size:12px}.work-break-note small{display:block;margin:5px 0}.work-break-form{margin-top:14px}.work-break-form button{min-height:44px}#work-break-controls details>summary{display:inline-block}#work-break-controls [role=status]{line-height:1.6}

/* Scoped presentation for attendance and work-break details only. */
.detail-scroll{border:1px solid #e7ebf0;border-radius:12px;overflow-x:auto;margin-top:18px}
.attendance-detail-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px;line-height:1.65}
.attendance-detail-table th{background:#f7f8fa;color:#657287;font-size:11px;letter-spacing:.04em;text-align:left;padding:15px 16px;white-space:nowrap}
.attendance-detail-table td{padding:18px 16px;vertical-align:top;border-bottom:1px solid #e9edf2;min-width:90px;max-width:320px;overflow-wrap:anywhere}
.attendance-detail-table tbody>tr:last-child>td{border-bottom:0}
.attendance-detail-table tbody>tr:nth-child(even){background:#fafbfc}
.attendance-detail-table td p{margin:0 0 10px}.attendance-detail-table small{display:block;color:#718096;font-size:12px;margin-top:5px}
.attendance-detail-table details{margin:8px 0}.attendance-detail-table summary{cursor:pointer;color:#a82b2b;font-weight:600}
.attendance-detail-table table{min-width:300px}.attendance-detail-table form{min-width:250px}
@media(max-width:600px){.attendance-detail-table{font-size:12px}.attendance-detail-table td,.attendance-detail-table th{padding:12px}.detail-scroll{margin-top:12px}}
@media print{.detail-scroll{overflow:visible}.attendance-detail-table{min-width:0;font-size:10px}.attendance-detail-table td,.attendance-detail-table th{padding:6px;min-width:0}}
