*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:#182c3b;background:#f3f6fa;font-size:16px}body{margin:0}a{color:#006e74;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:11px 18px;font-weight:600;cursor:pointer;font-size:.9rem;gap:8px}button:hover,.button:hover{filter:brightness(.94)}.primary{background:#007b79;color:white}.quiet{background:#eef3f7;color:#284452;border-color:#d9e2e9}.danger{background:#fff0f0;color:#a72330}.full{width:100%}:focus-visible{outline:3px solid #eeac37;outline-offset:3px}input,select,textarea{width:100%;padding:11px;border:1px solid #c8d4df;border-radius:7px;background:white;color:#192e3c;margin-top:7px;min-height:44px}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:16px}textarea{resize:vertical}h1{font-size:2rem;letter-spacing:-.05em;margin:9px 0 12px}h2{font-size:1.18rem;margin:0 0 18px}h3{font-size:1rem}p{line-height:1.65}.muted{color:#5d7080}.small,small{font-size:.82rem}small{display:block;color:#657787;margin-top:5px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:#007b79}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#102b3c;color:white;padding:34px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;color:inherit;font-size:1.45rem;font-weight:750;letter-spacing:-.04em}.brand-icon{background:#20b4a3;color:#102b3c;border-radius:11px;padding:6px 12px;font-size:1.3rem}.nav-label{font-size:.7rem;color:#92acbc;letter-spacing:.12em;margin:54px 12px 16px}nav a{display:flex;align-items:center;gap:13px;color:#c1d2df;padding:14px 12px;border-radius:8px;margin:5px 0;font-size:.91rem}nav a:hover,nav a.active{background:#204556;color:#fff}.sidebar-foot{margin-top:auto;font-size:.8rem;line-height:1.8;color:#d6e2e9}.sidebar-foot span{color:#90aaba}.workspace{margin-left:242px}header{display:flex;justify-content:flex-end;gap:30px;align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;padding:18px 40px}header strong{font-size:.9rem}header small{font-size:.75rem}main{padding:34px 40px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.page-heading p{margin:0}.panel{background:#fff;border:1px solid #e1e8ef;border-radius:13px;padding:25px;margin-bottom:22px;box-shadow:0 3px 8px #17314703}.filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:18px}.filters label{margin:0;flex:1;min-width:130px}.filters button{margin-bottom:1px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0 30px}.stat{padding:24px;background:white;border:1px solid #e1e8ef;border-radius:12px;border-top:3px solid #0d8b87}.stat span{color:#536b7a;font-size:.88rem}.stat strong{display:block;font-size:2.4rem;letter-spacing:-.04em;margin:15px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0;gap:15px}.section-heading h2,.section-heading h3{margin:0}.table-wrap{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-size:.76rem;letter-spacing:.025em;background:#f8fafc;color:#637785;padding:16px 22px}td{padding:19px 22px;border-top:1px solid #ebeff4}td strong{font-weight:600}.badge{display:inline-block;background:#edf2f6;color:#425a6a;border-radius:20px;padding:6px 10px;font-size:.76rem;white-space:nowrap}.badge.present{background:#e4f5f0;color:#08634f}.badge.late,.badge.early{background:#fff3d8;color:#895700}.badge.review{background:#ffe9e7;color:#a03728}.empty{text-align:center;padding:44px 20px;color:#637887}.empty span{font-size:2rem;color:#16968d}.empty p{max-width:470px;margin:auto}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.notice{border:1px solid #e9cc8b;background:#fff9e9;color:#76521d;border-radius:8px;padding:16px;line-height:1.6;margin-bottom:22px}.success{background:#e7f6ed;color:#16613c;border-color:#a3d8bb}.error{background:#fff0ef;color:#9f2929;border-color:#e9b6b1}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}summary{font-weight:650;cursor:pointer;margin-bottom:20px}.approval-form{display:flex;align-items:flex-end;gap:10px;margin-top:20px}.approval-form label{flex:1;margin-bottom:0}.camera-frame{background:#102b3c;min-height:200px;border-radius:10px;margin-bottom:15px;overflow:hidden;color:#d6e2e9;text-align:center}.camera-frame video{width:100%;max-height:320px;display:block}.camera-frame p{padding:14px}hr{border:0;border-top:1px solid #e1e8ef;margin:28px 0}.pagination{margin:10px 0 24px}.pagination nav{display:flex;justify-content:space-between;gap:12px}.pagination nav a{color:#006e74;background:#fff}.guest main{padding:0;max-width:none}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-intro{background:#102b3c;color:white;padding:60px 10%;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{margin-bottom:100px}.login-intro .eyebrow{color:#6cd7c5}.login-intro h1{font-size:3.1rem;line-height:1.16;letter-spacing:-.05em;margin:20px 0}.login-intro p{color:#bad0dc;max-width:410px}.login-detail{margin-top:45px;line-height:2.4;color:#b6ccd8;font-size:.9rem}.login-form{max-width:440px;width:100%;margin:auto;padding:35px}.login-form h2{font-size:1.7rem;margin:13px 0}.login-form form{margin-top:35px}.login-form .small{margin-top:25px}.request-list article{margin-bottom:16px}
@media(min-width:1600px){main{padding:45px 60px}}
@media(max-width:1100px){.sidebar{width:210px;padding:28px 14px}.workspace{margin-left:210px}main{padding:28px 22px}.stats{gap:10px}.stat{padding:18px}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:16px;display:block}.brand{font-size:1.2rem}.sidebar nav{display:flex;overflow:auto;gap:4px;margin-top:13px}.sidebar nav a{white-space:nowrap;margin:0;padding:10px;font-size:.8rem}.nav-label,.sidebar-foot{display:none}.workspace{margin:0}header{padding:13px 20px;justify-content:space-between}main{padding:24px 16px}.page-heading{display:block}.page-heading .button{margin-top:18px;width:100%}h1{font-size:1.75rem}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat strong{font-size:2rem;margin:10px 0}.stat small{font-size:.75rem}.two-columns,.form-grid{grid-template-columns:1fr}.panel{padding:19px}.table-wrap{padding:8px 18px}table thead{display:none}table,tbody,tr,td{display:block}tr{padding:14px 0;border-bottom:1px solid #e1e8ef}td{border:0;padding:7px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}td:before{content:attr(data-label);color:#708491;font-size:.78rem}td small{margin:0}td[colspan]{display:block}.filters label{min-width:42%}.filters button{width:100%}.approval-form{flex-wrap:wrap}.approval-form label{flex-basis:100%}.login-shell{grid-template-columns:1fr}.login-intro{padding:28px}.login-intro .brand{margin:0 0 30px}.login-intro h1{font-size:2rem}.login-intro p,.login-detail{display:none}.login-form{padding:34px 26px}.guest .notice{margin:15px}}

[hidden]{display:none!important}
#camera{aspect-ratio:3/4;object-fit:cover;max-height:420px;width:100%}
/* Responsive navigation and focused attendance workspace. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-toggle,.mobile-brand,.menu-close{display:none}.sidebar{z-index:40}.drawer-backdrop{position:fixed;inset:0;background:#071c2ba6;z-index:35;border:0;border-radius:0}.header-user{margin-left:auto}.attendance-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 18px;width:100%;max-width:520px}.attendance-heading h1{font-size:1.55rem;margin:0 0 5px}.attendance-heading time{font-size:.8rem;color:#647786}.attendance-page .workspace{height:100dvh;display:flex;flex-direction:column}.attendance-page header{flex:none}.attendance-page main{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;padding:24px}.attendance-card{width:100%;max-width:520px;min-height:0;flex:1;max-height:760px;margin:0 auto;background:white;border:1px solid #dce5ec;border-radius:22px;box-shadow:0 12px 40px #19384c0b;padding:12px;display:flex;flex-direction:column}.attendance-card .camera-frame{position:relative;min-height:120px;flex:1;margin:0;border-radius:14px;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at center,#234958,#102b3c)}.attendance-card #camera{height:100%;width:auto;max-width:100%;max-height:none;min-height:0;aspect-ratio:3/4;object-fit:cover}.attendance-card #camera-status{position:absolute;bottom:6px;left:12px;right:12px;margin:0;padding:8px;font-size:.78rem;background:#102b3cbd;border-radius:8px}.face-guide{pointer-events:none;position:absolute;inset:12% 22% 16%;border:2px dashed #b8e6dc70;border-radius:48%;max-width:230px;margin:auto}.camera-control{position:absolute;top:10px;right:10px;background:#ffffff1a;color:white;border:1px solid #ffffff40;padding:8px 12px;min-height:40px}.capture-footer{flex:none;padding:8px 4px 0}.location-strip{display:flex;align-items:center;gap:8px}.location-strip button{width:40px;min-height:40px;padding:8px}.location-strip p{font-size:.76rem;line-height:1.3;margin:0;color:#506b79}.capture-options{display:flex;align-items:center;gap:12px;margin-top:8px}.capture-options select{flex:1;max-width:200px;margin:0;min-height:42px}.capture-options .badge{margin-left:auto}#face-status{font-size:.82rem;line-height:1.3;margin:7px 0;min-height:17px}#face-start,#face-frame{min-height:48px;border-radius:12px}.attendance-page .notice{padding:8px;margin:0 0 6px}.attendance-page main>.notice{flex:none}
@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;display:flex;flex-direction:column;padding:28px 18px;transform:translateX(-105%);transition:transform .18s ease;overflow-y:auto}.sidebar.is-open{transform:translateX(0)}.sidebar nav{display:block;overflow:visible;margin:20px 0}.sidebar nav a{margin:4px 0;padding:14px;font-size:.94rem;white-space:normal}.sidebar .brand{font-size:1.4rem;padding-right:26px}.sidebar-foot{display:block}.menu-close{display:block;position:absolute;right:8px;top:20px;background:transparent;color:white;font-size:1.6rem;padding:5px 12px}.menu-toggle{display:inline-flex;min-height:44px;min-width:44px;padding:8px;font-size:1.25rem}.mobile-brand{display:block;font-size:1.1rem;font-weight:750;color:#183b4c}header{padding:10px 12px;gap:10px;min-height:64px}.header-user{min-width:0}.header-user strong{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.header-user small{font-size:.67rem}header form{display:none}.sidebar:after{content:'';display:block;min-height:12px}.attendance-page main{padding:12px;max-height:none}.attendance-heading{margin-bottom:10px}.attendance-heading h1{font-size:1.3rem}.attendance-heading .button{padding:8px 12px;min-height:40px;font-size:.8rem}.attendance-card{padding:8px;border-radius:18px;max-height:none}.capture-footer{padding:7px 2px 0}.attendance-heading time{font-size:.73rem}.capture-options{margin-top:6px}.capture-options select{min-height:40px;padding:8px}#face-status{font-size:.76rem}body.drawer-open{overflow:hidden}}
@media(max-height:550px) and (max-width:760px){.attendance-page .workspace{height:auto;min-height:100dvh}.attendance-page .camera-frame{height:160px;flex:none}.attendance-page main{flex:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

.drawer-logout{display:none}@media(max-width:760px){.drawer-logout{display:block;margin:8px 0 20px}}
.sidebar{overflow-y:auto}.sidebar>.brand,.sidebar>nav{flex-shrink:0}.sidebar-foot{padding-top:24px}.settings-nav{margin:5px 0}.settings-nav summary{display:flex;align-items:center;gap:13px;margin:0;padding:14px 12px;border-radius:8px;color:#c1d2df;font-size:.91rem;list-style:none;min-height:44px}.settings-nav summary::-webkit-details-marker{display:none}.settings-nav summary:hover,.settings-nav[open]>summary{background:#204556;color:white}.submenu-chevron{margin-left:auto;transition:transform .15s}.settings-nav[open] .submenu-chevron{transform:rotate(180deg)}.settings-links{margin:7px 0 10px 18px;border-left:1px solid #436170;padding-left:8px}.settings-links a{font-size:.8rem;line-height:1.4;padding:10px;margin:2px 0;min-height:40px}.settings-links a[aria-current=page]{background:#246363;color:#fff}.settings-form{max-width:1100px}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.settings-form-grid label{min-width:0}.settings-form-grid input,.settings-form-grid select{max-width:100%}@media(max-width:760px){.settings-nav summary{font-size:.94rem}.sidebar .settings-links a{font-size:.85rem;padding:11px 10px;margin:2px 0;min-height:44px}.settings-form-grid{grid-template-columns:1fr}.settings-form button[type=submit],.settings-form .primary{width:100%}.sidebar .settings-nav{margin-top:6px}}
.face-record{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:28px;max-width:1000px}.face-record-photo{background:#eef4f7;border-radius:12px;overflow:hidden;align-self:start}.face-record-photo img{display:block;width:100%;height:auto}.face-record-photo p{padding:24px;margin:0}.face-record-info{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:12px 18px}.face-record-info dt{color:#567084}.face-record-info dd{margin:0;overflow-wrap:anywhere}@media(max-width:760px){.face-record{grid-template-columns:1fr;gap:20px}.face-record-photo{width:100%;max-width:240px;margin:auto}.face-record-info{grid-template-columns:1fr;gap:4px}.face-record-info dd{margin-bottom:12px}.face-record .button{display:block;text-align:center}}
.password-reset{margin-top:12px;width:100%;min-width:0}.password-reset summary{cursor:pointer;color:#006e74;padding:10px 0;font-weight:600}.password-reset form{min-width:230px;max-width:360px;padding:16px;background:#f3f6fa;border:1px solid #dde6ef;border-radius:10px}.password-reset form label:first-of-type{margin-top:16px}@media(max-width:760px){.password-reset form{min-width:0;max-width:none}.password-reset button{width:100%}}
.settings-group{margin:4px 0}.settings-nav .settings-group>summary{padding:10px 8px;font-weight:600;min-height:44px;cursor:pointer}.settings-group-links{border-left:1px solid #55717f;margin-left:10px;padding-left:6px}.settings-group:not([open])>summary .submenu-chevron{transform:none}.settings-group[open]>summary .submenu-chevron{transform:rotate(180deg)}.review-card{margin-bottom:18px}.review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.review-heading h2{margin:0 0 6px}.review-signal{display:block;color:#8a5100;font-size:13px;margin:6px 0}.review-decision{max-width:720px}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.review-actions button{min-height:44px}.reject{color:#a32626;border-color:#e5bcbc}.review-history{border-top:1px solid #dce5ec;margin-top:18px;padding-top:14px}.review-history summary{cursor:pointer;min-height:32px}.hierarchy-form{width:100%;max-width:400px}.hierarchy-form select{max-width:100%}.review-card p,.review-card small,.hierarchy-form label{overflow-wrap:anywhere}@media(max-width:760px){.review-heading{flex-direction:column}.review-actions button{flex:1}.review-card{padding:16px}.hierarchy-form{max-width:none}.settings-nav .settings-group>summary{font-size:14px}.review-card textarea{width:100%}}
/* Capture guides align to the exact 480x640 centered image sent to the server. */
.guided-camera{position:relative;height:420px;display:flex;align-items:center;justify-content:center}
.camera-viewport{position:relative;flex:none;overflow:hidden;max-width:100%;max-height:100%}
.guided-camera .camera-viewport #camera{width:100%;height:100%;max-height:none;max-width:none;aspect-ratio:auto;object-fit:cover;transform:none}
.guided-camera .face-guide{inset:15% 18% 18%;max-width:none;border:2px solid #d4fff0bb;box-shadow:0 0 0 999px #071b2b24}
.capture-guide{position:absolute;inset:0;pointer-events:none}
.capture-guide[hidden],#face-cancel[hidden]{display:none}
.capture-steps{position:absolute;top:5%;left:24%;right:24%;display:flex;gap:6px}
.capture-steps i{height:4px;flex:1;background:#ffffff70;border-radius:8px}
.capture-steps .current{background:#ffcc66}.capture-steps .complete{background:#fff}
.pose-target{position:absolute;top:43%;left:50%;width:48px;height:48px;transform:translate(-50%,-50%);background:#063f48dd;border:1px solid #e4fff6;border-radius:50%;color:#fff;display:grid;place-items:center}
.pose-target svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pose-arrow{display:none}
.capture-guide[data-direction="kiri"] .pose-target{left:12%}
.capture-guide[data-direction="kanan"] .pose-target{left:88%}
.capture-guide:not([data-direction="tengah"]) .pose-arrow{display:block}
.capture-guide:not([data-direction="tengah"]) .pose-center{display:none}
.capture-guide[data-direction="kiri"] svg{transform:scaleX(-1)}
.pose-instruction{position:absolute;bottom:3%;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 12px;background:#102b3ce8;border-radius:10px;font-size:13px;text-align:left;color:white}
#pose-countdown{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:#ffdb8b}
.guided-camera #camera-status{position:absolute;bottom:6px;left:12px;right:12px;margin:0;padding:8px;font-size:.78rem;background:#102b3cbd;border-radius:8px}
.guided-camera:has(.capture-guide:not([hidden])) #camera-status{visibility:hidden}
.capture-controls{display:flex;gap:8px}.capture-controls #face-start{flex:1;min-width:0}.capture-controls #face-cancel{flex:none;min-height:48px}
.enrollment-capture{max-width:520px;margin:0 auto}.enrollment-capture .guided-camera{height:min(52dvh,440px);min-height:180px}
@media(max-width:760px){.attendance-card .guided-camera{height:auto}.pose-instruction{font-size:12px;padding:6px 8px}.pose-target{width:40px;height:40px}.pose-target svg{width:30px;height:30px}}

/* Compact management tables retain a true column layout on small screens. */
.page-heading,.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.compact-table{padding:0;overflow:hidden}.table-toolbar{display:flex;align-items:end;gap:12px;padding:16px;flex-wrap:wrap;background:linear-gradient(110deg,#168da8,#2873b8);color:#fff;border-radius:12px 12px 0 0;margin:12px 0}.table-toolbar label{flex:1;min-width:130px;margin:0}.table-toolbar input,.table-toolbar select{margin-bottom:0}.table-toolbar .quiet{background:#fff;color:#123244}.data-table{display:table!important;width:100%;border-collapse:collapse;min-width:640px}.data-table thead{display:table-header-group!important}.data-table tbody{display:table-row-group!important}.data-table tfoot{display:table-footer-group!important}.data-table tr{display:table-row!important}.data-table th,.data-table td{display:table-cell!important;text-align:left;padding:12px!important;border-bottom:1px solid #e7edf2;vertical-align:middle}.data-table td:before{display:none!important}.data-table tbody tr:nth-child(even){background:#f7f9fb}.data-table small,.data-table td>a{display:block}.data-table td{min-width:70px}.report-table td,.report-table th{text-align:center;white-space:nowrap}.holiday-cell{background:#dfe3e8!important}.crud-modal{border:1px solid #d9e4eb;border-radius:18px;padding:24px;width:min(760px,calc(100vw - 28px));max-height:90dvh;overflow:auto;color:#153342;box-sizing:border-box}.crud-modal::backdrop{background:#102a3bb3}.modal-heading{margin-bottom:16px}.crud-modal form>button{margin-top:16px}.crud-modal label{display:block;margin-bottom:12px}.crud-modal input,.crud-modal select{width:100%}.table-wrap{max-width:100%;overflow-x:auto}.report-totals{margin-top:20px}@media(max-width:600px){.crud-modal{padding:16px}.page-heading>div{display:flex;gap:8px;flex-wrap:wrap}.table-toolbar{padding:12px}.compact-table .pagination{padding:10px}.data-table td,.data-table th{padding:10px!important}}

.crud-modal .menu-checkbox{display:flex;gap:10px;align-items:center}.crud-modal .menu-checkbox input{width:auto}

.table-pagination{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:16px}.page-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #c8d9e5;border-radius:50%;text-decoration:none}.page-number.current{background:#187ca3;color:white}

@media(min-width:1100px){#report-filters>.settings-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.report-table td{min-width:32px}.data-table td{white-space:nowrap}.data-table .password-reset{white-space:normal;min-width:150px}

/* Desktop workspaces use 90% of the area beside the sidebar. */
@media(min-width:1101px){
 body:not(.attendance-page) .workspace>main{width:90%;max-width:none;margin-inline:auto;padding:34px 0}
 .workspace .settings-form{max-width:none}
 .workspace .filters,.workspace form.table-toolbar{flex-wrap:nowrap;align-items:flex-end}
 .workspace .filters label,.workspace form.table-toolbar label{min-width:0}
 .workspace .filters input,.workspace .filters select{min-width:0}
 .workspace .filters button,.workspace form.table-toolbar button{flex-shrink:0}
 #report-filters>.settings-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
}
@media(min-width:1280px){
 #report-filters>.settings-form-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
 .request-entry .form-grid{grid-template-columns:1.15fr 1.15fr 1fr 1fr .85fr 1.5fr;gap:12px;align-items:end}
 #report-filters>.settings-form-grid label,.request-entry .form-grid label{min-width:0;font-size:.8rem}
 #report-filters>.settings-form-grid input,#report-filters>.settings-form-grid select,.request-entry .form-grid input,.request-entry .form-grid select{min-width:0;width:100%;padding-inline:8px;font-size:.8rem}
}
.report-secondary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.report-secondary>details{flex:1;min-width:200px}
.report-secondary>details>summary{margin:10px 0}
#report-filters .table-toolbar{margin:0;padding:0;background:none;align-items:center;gap:8px}
#report-filters .table-toolbar .quiet{border-color:#c8d4df}

.requests-table .request-reason{white-space:normal;min-width:220px;max-width:360px;overflow-wrap:anywhere}
.requests-table .request-actions{white-space:normal;min-width:190px}
.requests-table .request-actions summary{margin:0;color:#006e74}
.requests-table .approval-form{min-width:240px;max-width:320px;flex-wrap:wrap;margin-top:12px}
.requests-table .approval-form label{flex-basis:100%}
.requests-table .request-actions>form{margin-top:8px}

.attendance-page .capture-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.attendance-page .capture-options select{width:100%;min-width:0;max-width:none}.attendance-page #face-capture>.badge{font-size:10px;margin-top:4px}.settings-form label[hidden]{display:none}
@media (min-width:761px){main:has(.settings-form){display:flex;flex-direction:column}main:has(.settings-form)>.settings-form{order:1}main:has(.settings-form)>.panel.table-wrap{order:2}.settings-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.settings-form-grid label{min-width:0}.review-table td{vertical-align:top}.review-table .review-decision{min-width:190px}.review-snapshot{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #d6e1e8}.inline-status{display:inline-block;margin-left:4px}.inline-status button{color:#a23b3b}}
@media (max-width:1100px) and (min-width:761px){.settings-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.review-snapshot{width:64px;height:64px}.review-table .review-decision{min-width:0}.inline-status{display:inline-block;margin-top:4px}}
.employee-form-grid{grid-template-columns:1fr!important;gap:14px 0}.employee-form-grid label{max-width:760px}
.sidebar .settings-links>.settings-direct-link{font-size:.91rem;font-weight:600;padding:10px 8px;min-height:44px}@media(max-width:760px){.sidebar .settings-links>.settings-direct-link{font-size:14px}}
.settings-subgroup{margin:3px 0}.settings-nav .settings-subgroup>summary{padding:9px 8px;font-size:.8rem;min-height:40px;cursor:pointer}.settings-subgroup-links{border-left:1px solid #6a8491;margin-left:12px;padding-left:6px}.settings-subgroup-links a{font-size:.76rem}.settings-subgroup:not([open])>summary .submenu-chevron{transform:none}.settings-subgroup[open]>summary .submenu-chevron{transform:rotate(180deg)}@media(max-width:760px){.settings-nav .settings-subgroup>summary{font-size:13px;min-height:44px}.settings-subgroup-links a{font-size:13px}}
.role-manager{padding:0 18px 18px}.role-manager .permission-heading{padding-left:0;padding-right:0}.role-create{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px}.role-create button{height:42px}.role-chips{display:flex;flex-wrap:wrap;gap:8px}.role-chip{display:flex;align-items:center;gap:10px;border:1px solid #cbd8e5;border-radius:24px;padding:7px 10px 7px 18px;background:#f7f9fc}.role-chip span{display:flex;align-items:center;gap:7px}.role-chip small{font-size:.72rem;color:#65758b}.role-chip form{margin:0}.role-delete{border:0;background:#fee2e2;color:#a61b1b;border-radius:50%;width:25px;height:25px;line-height:1;padding:0;font-size:18px}.permission-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.permission-heading h2{margin:0}.role-matrix{min-width:720px}.role-matrix th:first-child{width:40%;text-align:left}.role-matrix td,.role-matrix thead th:not(:first-child){text-align:center}.role-matrix input[type=checkbox]{width:18px;height:18px;accent-color:#008cba;margin:0;cursor:pointer}.role-matrix input:disabled{cursor:default}.permission-note{padding:0 18px 16px}@media(max-width:760px){.role-create{grid-template-columns:1fr}.role-create button{width:100%}.role-chip small{display:none}}
