:root{--ink:#17201d;--muted:#68736f;--line:#dce3df;--bg:#f4f6f5;--panel:#fff;--green:#176b4d;--green-soft:#e6f2ec;--orange:#bd5d20;--red:#b53c3c;--blue:#376aa6;--shadow:0 8px 24px rgba(21,46,36,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:14px/1.5 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eef3f0}.login-panel{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:var(--shadow)}.brand-mark{width:48px;height:48px;background:var(--green);color:#fff;border-radius:7px;display:grid;place-items:center;font-size:23px;font-weight:700}.login-panel h1{margin:18px 0 0;font-size:25px}.login-panel p{margin:3px 0 22px;color:var(--muted)}label{display:grid;gap:6px;font-weight:600;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #cbd5d0;border-radius:5px;background:#fff;padding:10px 11px;color:var(--ink)}textarea{min-height:82px;resize:vertical}.button{border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:9px 13px;display:inline-flex;justify-content:center;align-items:center;gap:7px}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.danger{color:var(--red)}.button:disabled{background:#dce2df;border-color:#dce2df;color:#7c8882;cursor:not-allowed}.wide{width:100%}.form-error{min-height:21px;color:var(--red);margin-top:9px}.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.app aside{position:sticky;top:0;height:100vh;background:#152a22;color:#e8f0ec;padding:20px 13px;display:flex;flex-direction:column}.brand{padding:0 10px 18px;border-bottom:1px solid #344a41}.brand b{display:block;font-size:20px}.brand small{color:#9eb1a9}.app nav{padding-top:13px;display:grid;gap:4px}.nav-button{border:0;background:transparent;color:#bdd0c8;text-align:left;padding:10px 12px;border-radius:5px}.nav-button:hover,.nav-button.active{background:#2b493d;color:#fff}.logout{margin-top:auto;border:1px solid #40594f;background:transparent;color:#c4d4cd;border-radius:5px;padding:9px}.app main{min-width:0}.app header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 27px;position:sticky;top:0;z-index:5}.app header h1{font-size:19px;margin:0}.app header small{color:var(--muted)}.identity{display:flex;gap:9px;align-items:center}.identity i{font-style:normal;background:var(--green-soft);color:var(--green);padding:3px 8px;border-radius:20px;font-size:12px}.content{width:100%;padding:24px 27px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px}.page-head h2{font-size:22px;margin:0}.page-head p{margin:3px 0 0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.metric{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px}.metric span,.metric small{color:var(--muted)}.metric b{font-size:26px;display:block;margin:6px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:16px}.panel-title{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-title h3{font-size:15px;margin:0}.panel-body{padding:16px}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:12px;text-align:left;color:var(--muted);background:#f8faf9;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid #edf0ee}tr:last-child td{border-bottom:0}.tag{display:inline-flex;border-radius:20px;padding:2px 8px;background:#edf1ef;color:#54615c;font-size:12px}.tag.ok{background:#e3f2ea;color:var(--green)}.tag.warn{background:#fff0df;color:#9e501e}.tag.no{background:#fbe6e6;color:#a63333}.tag.blue{background:#e7eef8;color:var(--blue)}.clock-layout{display:grid;grid-template-columns:minmax(310px,430px) 1fr;gap:17px}.clock-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.clock-header{background:var(--green);color:#fff;padding:20px}.clock-header small{color:#cde1d8}.clock-header .clock-person-label{display:block;color:#fff;font-weight:700}.clock-body{padding:18px}.clock-now{font-size:34px;font-weight:700;margin:6px 0}.shift-box{border:1px solid var(--line);border-radius:5px;padding:13px;background:#f8faf9}.clock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.clock-action{height:76px;border:0;border-radius:6px;background:var(--green);color:#fff;font-weight:700}.clock-action.out{background:#fff;color:var(--green);border:1px solid var(--green)}.clock-action:disabled{background:#dce2df;color:#7c8782;border-color:#dce2df}.location{font-size:12px;color:var(--muted);margin-top:6px}.timeline{display:grid;gap:0;margin-top:16px}.timeline-item{border-left:2px solid #cbded5;padding:0 0 18px 15px;position:relative}.timeline-item:before{content:"";width:8px;height:8px;position:absolute;left:-5px;top:6px;border-radius:50%;background:var(--green)}.timeline-item p{margin:0}.timeline-item small{color:var(--muted)}.clock-person-control{display:grid;gap:2px;padding:10px 12px;border-left:3px solid var(--green);background:#f4f8f6}.clock-person-control span,.clock-person-control small{color:var(--muted)}.clock-person-control b{font-size:16px}.request-form{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.request-form label{margin:0}.full{grid-column:1/-1}.notice{border-left:3px solid var(--orange);background:#fff8ef;padding:11px 13px;margin-bottom:15px;color:#74401e}.empty{text-align:center;padding:38px;color:var(--muted)}.toast{position:fixed;right:22px;bottom:22px;background:#172a23;color:#fff;padding:11px 15px;border-radius:5px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:30}.toast.show{opacity:1;transform:none}.icon-button,.mobile-navigation{display:none}.audit-list{display:grid;gap:11px}.audit-item{border-left:2px solid var(--green);padding-left:11px}.audit-item p{margin:0}.audit-item small{color:var(--muted)}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:13px}.toolbar input{max-width:310px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px}.compact-select{width:auto;min-width:90px;padding:6px 8px}
.nav-group{display:grid;gap:3px}.nav-parent{width:100%;border:0;background:transparent;color:#bdd0c8;padding:11px 12px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:700}.nav-parent:hover,.nav-parent.child-active{color:#fff;background:#203b30}.nav-parent i{font-style:normal;font-size:20px;line-height:1;transition:transform .18s}.nav-group.expanded .nav-parent{background:#203b30;color:#fff}.nav-group.expanded .nav-parent i{transform:rotate(90deg)}.nav-children{display:none;gap:3px;padding:2px 0 5px 9px}.nav-group.expanded .nav-children{display:grid}.nav-children .nav-button{position:relative;font-size:13px;padding:9px 12px 9px 20px}.nav-children .nav-button:before{content:"";position:absolute;left:7px;top:50%;width:4px;height:4px;border-radius:50%;background:#607d71}.nav-children .nav-button.active:before{background:#fff}.nav-main{font-weight:700}
.app aside nav{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#7e968b transparent}.nav-scroll-hint{padding:7px 10px 5px;color:#9eb1a9;font-size:11px;text-align:center;border-top:1px solid #344a41}.nav-button.restricted{color:#8fa39a;cursor:not-allowed}.nav-button.restricted:hover{background:transparent;color:#8fa39a}.nav-button.restricted small{float:right;font-size:10px;font-weight:400;opacity:.85}.nav-section-title{padding:13px 12px 4px;color:#769087;font-size:11px}.workbench-welcome{display:flex;align-items:center;justify-content:space-between;background:#174f3b;color:#fff;padding:18px 20px;margin:-24px -27px 18px;border-bottom:3px solid #d78b3c}.workbench-welcome p,.workbench-welcome h2{margin:0}.workbench-welcome p{color:#bdd9cd;margin-bottom:3px}.workbench-welcome span{color:#dcebe5}.workbench-welcome-actions{display:flex;align-items:center;gap:12px}.workbench-miniapp-button{border-color:#fff;background:#fff;color:#087b68;font-weight:700;white-space:nowrap}.workbench-miniapp-button:hover{background:#eef8f4}.miniapp-entry-dialog{width:min(560px,calc(100% - 24px))}.miniapp-entry-status{display:grid;gap:0;margin:18px 0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.miniapp-entry-status>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.miniapp-entry-status>div:last-child{border-bottom:0}.miniapp-entry-status span{color:var(--muted)}.miniapp-entry-status b{overflow-wrap:anywhere}.dashboard-shortcuts{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 18px;margin-bottom:17px}.dashboard-shortcuts .section-heading{margin-bottom:5px}.dashboard-shortcut-group{display:grid;grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:start;padding:11px 0;border-top:1px solid #edf0ee}.dashboard-shortcut-group:first-child{border-top:0}.dashboard-shortcut-group h4{margin:9px 0 0;font-size:13px;color:var(--muted)}.dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px}.dashboard-shortcut{min-width:0;min-height:54px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left}.dashboard-shortcut:hover{border-color:#79aa97;background:#f5faf8}.dashboard-shortcut>span{width:32px;height:32px;border-radius:5px;display:grid;place-items:center;background:#e5eef8;color:#315f91;font-weight:700}.dashboard-shortcut:nth-child(4n+2)>span{background:#fff0df;color:#9e501e}.dashboard-shortcut:nth-child(4n+3)>span{background:#e3f2ea;color:var(--green)}.dashboard-shortcut:nth-child(4n)>span{background:#f4e9e9;color:#9b4545}.dashboard-shortcut b{min-width:0;font-size:13px;overflow-wrap:anywhere}.dashboard-shortcut small{color:var(--blue);white-space:nowrap}.dashboard-shortcut.restricted{cursor:not-allowed;background:#f5f7f6;color:#77827d}.dashboard-shortcut.restricted:hover{border-color:var(--line);background:#f5f7f6}.dashboard-shortcut.restricted>span{background:#e7ebe9;color:#77827d}.dashboard-shortcut.restricted small{color:#8b9590}.workspace-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 18px;margin-bottom:17px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h3{font-size:16px;margin:0}.section-heading span{font-size:12px;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:10px}.app-tile{height:110px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:left;padding:12px;display:grid;grid-template-rows:34px auto auto;align-items:start}.app-tile:hover{border-color:#9ab5aa;background:#f8fbf9}.app-tile span{width:34px;height:34px;border-radius:6px;background:#e5eef8;color:#315f91;display:grid;place-items:center;font-weight:700}.app-tile:nth-child(4n+2) span{background:#fff0df;color:#9e501e}.app-tile:nth-child(4n+3) span{background:#e3f2ea;color:var(--green)}.app-tile:nth-child(4n) span{background:#f4e9e9;color:#9b4545}.app-tile b{margin-top:8px}.app-tile small{color:var(--muted)}.dashboard-lower{grid-template-columns:1fr 1fr}.text-button{border:0;background:transparent;color:var(--blue);padding:0}.todo-summary,.directory-summary{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.todo-summary b,.directory-summary b{font-size:24px}.todo-summary span,.directory-summary span{color:var(--muted)}.todo-summary i,.directory-summary i{height:26px;border-left:1px solid var(--line);margin:0 8px}.audit-list.compact{max-height:180px;overflow:auto}.message-layout{display:grid;grid-template-columns:190px 1fr;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:460px}.message-filter{padding:10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.message-filter button{border:0;background:transparent;text-align:left;padding:10px;border-radius:5px;color:var(--muted);display:flex;justify-content:space-between}.message-filter button.active{background:var(--green-soft);color:var(--green)}.message-list{display:block}.message-item{width:100%;border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:15px 18px;display:grid;grid-template-columns:48px 1fr auto;gap:13px;text-align:left;align-items:center}.message-item:hover{background:#f8faf9}.message-level{font-size:12px;color:var(--orange)}.message-item b,.message-item p{display:block;margin:0}.message-item p,.message-item small{color:var(--muted)}.search-input{min-width:280px}.directory-summary{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 17px;margin-bottom:15px}.contact-group{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 17px;margin-bottom:12px}.contact-list{display:grid;grid-template-columns:repeat(2,1fr);column-gap:30px}.contact-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf0ee}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e6eef5;color:#315f91;font-weight:700}.contact-row p{margin:1px 0 0;color:var(--muted);font-size:12px}.contact-row a{color:var(--green);text-decoration:none}.payroll-flow{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 18px;margin-bottom:16px}.payroll-flow div{position:relative;display:flex;align-items:center;gap:8px;color:var(--muted)}.payroll-flow div:after{content:"";height:1px;background:var(--line);position:absolute;left:90px;right:12px}.payroll-flow div:last-child:after{display:none}.payroll-flow span{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;z-index:1}.payroll-flow .done{color:var(--green)}.payroll-flow .done span{background:var(--green);border-color:var(--green);color:#fff}.payroll-flow .current b{color:var(--ink)}.metric-status{font-size:22px!important}.payroll-results table td:first-child small,.payroll-results table td:nth-child(5) small,table td small{display:block;color:var(--muted)}.row-warning{background:#fffaf4}.payroll-empty{display:grid;gap:4px}.salary-dialog{width:min(760px,calc(100% - 24px));border:0;border-radius:7px;padding:0;box-shadow:0 24px 60px rgba(0,0,0,.2)}.salary-dialog::backdrop{background:rgba(10,24,19,.48)}.salary-dialog form{padding:20px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px}.dialog-head h3,.dialog-head p{margin:0}.dialog-head p{color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px}.salary-dialog .icon-button{display:block}.payslip{max-width:860px;margin:0 auto;background:#fff;border-top:4px solid var(--green);box-shadow:var(--shadow)}.payslip-head{display:flex;align-items:flex-end;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.payslip-head h2,.payslip-head p{margin:2px 0}.payslip-head span,.payslip-head p{color:var(--muted)}.payslip-head> b{font-size:25px;color:var(--green)}.payslip-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:20px 24px}.payslip-columns h3{font-size:14px}.payslip-columns p{display:flex;justify-content:space-between;border-bottom:1px solid #edf0ee;padding:9px 0;margin:0}.payslip footer{display:flex;gap:24px;justify-content:flex-end;padding:14px 24px;background:#f8faf9;color:var(--muted)}
.stage-rules{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px}.stage-rules div{padding:14px 18px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 10px}.stage-rules div:last-child{border-right:0}.stage-rules span{color:var(--muted)}.stage-rules b{font-size:22px;color:var(--blue)}.stage-rules small{grid-column:1/-1;color:var(--muted)}.row-danger{background:#fff3f3}.standard-layout{display:grid;grid-template-columns:minmax(480px,.9fr) 1.1fr;gap:24px;align-items:start}.standard-layout .request-form{padding-right:20px;border-right:1px solid var(--line)}
.app-center{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:17px;padding:15px 0 12px}.app-center>.section-heading{padding:0 18px;margin-bottom:8px}.app-center-tabs{display:flex;gap:4px;padding:0 12px;border-bottom:1px solid #edf0ee}.app-center-tabs button{border:0;background:transparent;padding:10px 12px;color:var(--muted);position:relative}.app-center-tabs button.active{color:var(--ink);font-weight:700;background:#f1f3f2;border-radius:5px 5px 0 0}.app-center-tabs button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:#3389d6}.app-center-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:5px 16px;padding:18px 20px 8px}.app-center-item{height:58px;border:0;background:#fff;display:flex;align-items:center;gap:11px;padding:7px 8px;border-radius:6px;text-align:left}.app-center-item:hover{background:#f5f8f7}.app-center-icon{width:38px;height:38px;flex:0 0 38px;border-radius:8px;display:grid;place-items:center;font-size:18px;font-weight:800;color:#fff}.app-center-icon.sky{background:#2da7e8}.app-center-icon.blue{background:#237be5}.app-center-icon.amber{background:#f2a516}.app-center-icon.gold{background:#efb024}.app-center-icon.royal{background:#2489e9}.app-center-icon.coral{background:#ec7658}.app-center-icon.green{background:#259a55}.app-center-icon.teal{background:#2a9b93}.app-center-icon.gray{background:#6c7b75}.app-center-item b{font-size:14px;white-space:nowrap}.work-log-list{display:grid;gap:12px}.work-log-list article{border-bottom:1px solid var(--line);padding:0 2px 14px}.work-log-list article:last-child{border-bottom:0}.work-log-list header{display:flex;align-items:center;justify-content:space-between}.work-log-list header div{display:flex;gap:9px;align-items:center}.work-log-list header span,.work-log-list time{color:var(--muted);font-size:12px}.work-log-list article>p{margin:10px 0;white-space:pre-wrap}.work-log-list dl{display:grid;grid-template-columns:48px 1fr;margin:5px 0;color:var(--muted)}.work-log-list dt{font-weight:700}.work-log-list dd{margin:0;white-space:pre-wrap}.course-list{display:grid}.course-row{display:grid;grid-template-columns:44px minmax(220px,1fr) auto;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.course-row:last-child{border-bottom:0}.course-icon{width:40px;height:40px;border-radius:8px;background:#259a55;color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800}.course-info p{margin:2px 0;color:var(--muted);font-size:12px}.progress-track{height:5px;max-width:420px;background:#e7ece9;margin-top:7px;border-radius:4px;overflow:hidden}.progress-track i{display:block;height:100%;background:#3389d6}.course-row form{display:grid;grid-template-columns:90px 90px auto auto;gap:8px;align-items:end}.course-row form label{margin:0;font-size:11px;color:var(--muted)}.course-row form input{padding:6px 8px}
.attendance-kpis{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px}.attendance-kpis div{padding:18px;border-right:1px solid var(--line)}.attendance-kpis div:last-child{border-right:0}.attendance-kpis span{display:block;color:var(--muted);font-size:12px}.attendance-kpis b{display:block;font-size:28px;margin-top:8px}.attendance-shortcuts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.attendance-shortcuts button{height:48px;border:1px solid var(--line);background:#fff;border-radius:5px;font-weight:600}.attendance-shortcuts button:hover{border-color:#94b4a7;background:#f6faf8}.simple-list{display:grid}.simple-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf0ee}.simple-list>div:last-child{border-bottom:0}.simple-list span{color:var(--muted);font-size:12px}.attendance-proof{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:42px 50px;min-height:520px}.attendance-proof header{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:13px}.attendance-proof header b{font-size:25px}.attendance-proof header span{color:var(--muted)}.attendance-proof>p{font-size:16px;line-height:2;margin:30px 0}.attendance-proof>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.attendance-proof>div span{padding:18px 12px;color:var(--muted);border-right:1px solid var(--line)}.attendance-proof>div span:last-child{border-right:0}.attendance-proof>div b{display:block;color:var(--ink);font-size:20px;margin-top:5px}.attendance-proof footer{display:flex;justify-content:space-between;margin-top:70px;color:var(--muted)}code{font-family:"Cascadia Mono",Consolas,monospace;color:#315f91}
.attendance-group-list{padding:0}.group-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.group-list-toolbar>div{display:flex;align-items:center;gap:10px}.group-list-toolbar span{color:var(--muted);font-size:12px}.group-list-toolbar select{width:120px}.group-list-toolbar input{width:220px}.group-name-button{border:0;background:transparent;color:#1671cf;font-weight:700;padding:0}.attendance-group-list td{height:70px}.attendance-group-list td:last-child{display:flex;align-items:center;gap:14px}.attendance-group-list .text-button{white-space:nowrap}.salary-dialog #attendanceGroupMembers{min-height:190px}
.attendance-group-dialog{width:min(1040px,calc(100% - 28px));max-height:92vh;overflow:hidden;position:relative}.attendance-group-dialog .group-editor-form{padding:0;max-height:92vh;overflow:auto;display:block}.attendance-group-dialog .dialog-head{padding:20px 22px 15px;background:#fff;position:sticky;top:0;z-index:4}.group-editor-basic{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 22px}.group-setting-block{padding:18px 22px;border-top:10px solid #f2f4f3;background:#fff}.group-setting-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.group-setting-head h4,.person-picker-panel h4{margin:0;font-size:15px}.group-setting-head span,.person-picker-panel header span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.member-chip-list{display:flex;flex-wrap:wrap;gap:8px;max-height:175px;overflow:auto;min-height:44px;align-content:flex-start}.member-chip{display:grid;grid-template-columns:28px auto 20px;grid-template-rows:auto auto;column-gap:8px;align-items:center;border:1px solid var(--line);background:#f8faf9;padding:7px 7px 7px 8px;border-radius:5px}.member-chip .mini-avatar{grid-row:1/3}.member-chip b{font-size:13px}.member-chip small{color:var(--muted);font-size:11px}.member-chip button{grid-column:3;grid-row:1/3;border:0;background:transparent;color:#7b8983;font-size:18px;padding:0}.mini-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dfeae6;color:#245d49;font-size:11px;font-weight:700;flex:0 0 28px}.setting-hint{color:var(--muted);font-size:12px;margin:10px 0 0}.empty-inline{color:var(--muted);padding:10px 2px}.primary-manager-field{max-width:480px}.sub-manager-list{display:grid;gap:10px;margin-top:14px}.sub-manager-row{border:1px solid var(--line);padding:12px 14px}.sub-manager-row header{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;margin-bottom:10px}.sub-manager-row header span{display:block;color:var(--muted);font-size:11px}.text-button.danger{color:#b44343}.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:8px 12px;background:#f7f9f8;padding:10px}.permission-grid label{display:flex;align-items:center;gap:7px;margin:0;font-weight:400;font-size:12px}.permission-grid input{width:auto}.group-time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.attendance-group-dialog>.group-editor-form>.dialog-actions{position:sticky;bottom:0;z-index:4;background:#fff;padding:14px 22px;margin:0;box-shadow:0 -6px 18px rgba(20,42,33,.07)}.group-person-picker{position:absolute;inset:0;z-index:10;background:rgba(14,29,23,.48);display:grid;place-items:center;padding:20px}.group-person-picker[hidden]{display:none}.person-picker-panel{width:min(760px,100%);max-height:min(720px,88vh);background:#fff;display:grid;grid-template-rows:auto auto minmax(180px,1fr) auto;box-shadow:0 22px 55px rgba(0,0,0,.22);border-radius:6px;overflow:hidden}.person-picker-panel header{display:flex;align-items:flex-start;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.person-picker-toolbar{display:flex;gap:9px;padding:12px 18px;border-bottom:1px solid var(--line)}.person-picker-toolbar input{flex:1}.person-picker-list{overflow:auto;padding:4px 18px}.person-picker-row{display:grid;grid-template-columns:18px 28px 1fr auto;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #edf0ee;margin:0}.person-picker-row input{width:auto}.person-picker-row span b,.person-picker-row span small{display:block}.person-picker-row span small,.person-picker-row i{font-size:11px;color:var(--muted);font-style:normal}.person-picker-panel footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:13px 18px;border-top:1px solid var(--line)}.person-picker-panel footer span{margin-right:auto;color:var(--muted)}
.schedule-console{background:#fff;border:1px solid #dfe6e2;border-radius:4px;margin-bottom:14px;box-shadow:0 1px 2px rgba(30,53,44,.04)}.schedule-console-row{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:15px 18px;border-bottom:1px solid #e5ebe7;align-items:center}.schedule-console-row>label{margin:0}.schedule-console-row>div>span{display:block;font-weight:700;margin-bottom:8px}.shift-palette{display:flex;gap:7px;flex-wrap:wrap}.shift-chip{border:2px solid transparent;border-radius:5px;padding:7px 10px;color:#fff;font-weight:700}.shift-chip.selected{outline:3px solid rgba(32,53,45,.18);border-color:#fff}.shift-color-1{background:#f0bd00!important;color:#fff!important}.shift-color-2{background:#42b8e8!important;color:#fff!important}.shift-color-3{background:#ec3b87!important;color:#fff!important}.shift-color-4{background:#0da391!important;color:#fff!important}.shift-color-5{background:#7c63d4!important;color:#fff!important}.shift-color-6{background:#3184cf!important;color:#fff!important}.shift-chip.rest{background:#fff;color:var(--ink);border-color:var(--line)}.shift-chip.clear{background:#e7ebe9;color:#4b5853;border-color:#d4dcd8}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 18px;background:#fbfcfb}.schedule-toolbar>div{display:flex;gap:8px;margin-left:auto}.schedule-toolbar input{width:170px}.schedule-board{background:#fff;border:1px solid #dfe6e2;border-radius:4px;padding:0;overflow:hidden}.schedule-grid-wrap{max-height:650px;overflow:auto}.schedule-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-grid th,.schedule-grid td{border-right:1px solid #e6ebe8;border-bottom:1px solid #e6ebe8;padding:0;text-align:center;background:#fff}.schedule-grid thead th{position:sticky;top:0;z-index:3;width:46px;min-width:46px;height:54px;background:#f7f9f8}.schedule-grid thead th b,.schedule-grid thead th span{display:block}.schedule-grid thead th span{font-weight:400;color:var(--muted)}.schedule-grid thead th.weekend{background:#fff9f9}.schedule-grid thead th.weekend b,.schedule-grid thead th.weekend span{color:#d43b3b}.schedule-grid .employee-column{position:sticky;left:0;z-index:2;width:132px;min-width:132px;max-width:132px;padding:8px 10px;text-align:left;background:#fff}.schedule-grid thead .employee-column{z-index:5;background:#f7f9f8;text-align:center}.schedule-grid .employee-column b,.schedule-grid .employee-column small{display:block}.schedule-grid .employee-column small{color:var(--muted);font-weight:400}.schedule-cell{width:46px;height:44px;border:0;background:#fff;color:var(--ink);font-size:12px;font-weight:700;padding:2px}.schedule-cell:hover{box-shadow:inset 0 0 0 2px #246fa8}.schedule-cell.unscheduled{background:#f8faf9;color:#a1aba6;font-weight:400}.schedule-cell.rest{background:#fff;color:#26302c}.schedule-cell.leave{background:#8a6dcc;color:#fff}
.schedule-context-menu{position:fixed;z-index:50;width:220px;max-height:290px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 38px rgba(10,31,23,.2);padding:7px}.schedule-context-menu>b{display:block;padding:7px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.schedule-context-menu button{width:100%;border:0;background:#fff;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;text-align:left;padding:8px;border-radius:4px}.schedule-context-menu button:hover{background:#f2f6f4}.schedule-context-menu button i{width:14px;height:14px;border-radius:3px}.schedule-context-menu button i.rest{background:#fff;border:1px solid #9ca9a3}.schedule-context-menu button i.leave{background:#8a6dcc}.schedule-context-menu button i.clear{background:#d8dfdc}.schedule-context-menu button small{color:var(--muted)}
@media(max-width:900px){.app{display:block}.app aside{display:none}.app.menu-open aside{display:flex;position:fixed;left:0;top:0;bottom:0;width:250px;z-index:20;box-shadow:12px 0 30px rgba(0,0,0,.2)}.app header{height:62px;padding:0 14px}.icon-button{display:block;border:0;background:none;font-size:20px}.identity i{display:none}.content{padding:16px 13px 78px}.workbench-welcome{margin:-16px -13px 16px}.metrics{grid-template-columns:1fr 1fr}.grid-2,.clock-layout,.dashboard-lower,.standard-layout{grid-template-columns:1fr}.standard-layout .request-form{padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}.app-grid{grid-template-columns:repeat(4,1fr)}.app-center-grid{grid-template-columns:repeat(3,1fr);padding:14px 12px}.app-center-item{height:76px;flex-direction:column;justify-content:center;gap:5px;text-align:center}.app-center-icon{width:36px;height:36px;flex-basis:36px}.attendance-kpis{grid-template-columns:repeat(3,1fr)}.attendance-kpis div:nth-child(3){border-right:0}.attendance-kpis div:nth-child(-n+3){border-bottom:1px solid var(--line)}.attendance-shortcuts{grid-template-columns:repeat(3,1fr)}.group-list-toolbar{align-items:stretch;flex-direction:column}.group-list-toolbar>div{width:100%}.group-list-toolbar select,.group-list-toolbar input{flex:1;width:auto}.schedule-console-row{grid-template-columns:1fr}.schedule-toolbar{align-items:stretch;flex-wrap:wrap}.schedule-toolbar>div{width:100%;margin-left:0}.schedule-toolbar input{flex:1;width:auto}.attendance-proof{padding:28px 24px}.attendance-proof>div{grid-template-columns:1fr 1fr}.attendance-proof>div span:nth-child(2){border-right:0}.attendance-proof>div span:nth-child(-n+2){border-bottom:1px solid var(--line)}.course-row{grid-template-columns:42px 1fr}.course-row form{grid-column:1/-1;grid-template-columns:1fr 1fr auto auto}.mobile-navigation{position:fixed;display:flex;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:10;overflow:auto;padding:4px}.mobile-navigation .nav-button{color:var(--muted);flex:1;min-width:74px;text-align:center;padding:8px 5px;font-size:12px}.mobile-navigation .nav-button.active{background:var(--green-soft);color:var(--green)}.page-head{align-items:flex-start;flex-direction:column}.message-layout{grid-template-columns:1fr}.message-filter{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto}.contact-list{grid-template-columns:1fr}.payroll-flow,.stage-rules{overflow:auto;grid-template-columns:repeat(4,minmax(130px,1fr))}.payroll-flow{grid-template-columns:repeat(5,minmax(130px,1fr))}.payroll-flow div:after{display:none}.payslip-columns{grid-template-columns:1fr}.request-form{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:520px){.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:12px}.metric b{font-size:21px}.app-grid{grid-template-columns:repeat(3,1fr)}.app-tile{height:104px;padding:10px}.app-center-grid{grid-template-columns:repeat(3,1fr);gap:8px}.app-center-item b{font-size:12px}.course-row form{grid-template-columns:1fr 1fr}.course-row form .tag,.course-row form .button{align-self:end}.clock-actions{grid-template-columns:1fr 1fr}.identity span{font-size:12px}.message-item{grid-template-columns:42px 1fr}.message-item small{display:none}.contact-row{grid-template-columns:38px 1fr}.contact-row a{grid-column:2}.payslip-head{align-items:flex-start;flex-direction:column;gap:12px}.payslip footer{justify-content:flex-start;flex-wrap:wrap}}

.payslip-head>b{display:grid;justify-items:end;gap:2px}.payslip-head>b small{font-size:12px;font-weight:500;color:var(--muted)}.payslip-template-dialog{width:min(820px,calc(100% - 24px))}.payslip-template-field-head,.payslip-template-field{display:grid;grid-template-columns:60px minmax(180px,1fr) minmax(150px,190px) 82px;align-items:center;gap:10px}.payslip-template-field-head{padding:0 10px;color:var(--muted);font-size:12px}.payslip-template-fields{display:grid;max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:6px}.payslip-template-field{padding:8px 10px;border-bottom:1px solid var(--line);background:#fff}.payslip-template-field:last-child{border-bottom:0}.payslip-template-field input,.payslip-template-field select{width:100%;min-width:0}.payslip-field-toggle{display:flex;justify-content:center}.payslip-field-toggle input{width:18px;height:18px}.payslip-field-order{display:flex;gap:5px}.payslip-field-order .icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--green);font-size:17px}.payslip-field-order .icon-button:disabled{color:#adb7b2;background:#f4f6f5}.payslip-template-dialog .dialog-actions{align-items:center}.payslip-template-dialog #resetPayslipTemplate{margin-right:auto}
@media(max-width:720px){.payslip-template-field-head{display:none}.payslip-template-field{grid-template-columns:42px minmax(0,1fr) 72px}.payslip-template-field select{grid-column:2}.payslip-field-order{grid-column:3;grid-row:1/3}.payslip-template-dialog .dialog-actions{flex-wrap:wrap}.payslip-template-dialog #resetPayslipTemplate{width:100%;margin-right:0}}

.roster-custom-section-title{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}.roster-custom-section-title #addRosterCustomField{margin-left:auto}.roster-custom-section-title .button{padding:7px 11px;font-size:13px}.roster-custom-fields{display:grid;gap:8px}.roster-custom-empty{padding:16px;border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fafcfb}.roster-custom-field{display:grid;grid-template-columns:minmax(160px,1fr) 150px minmax(200px,1.35fr) 38px;align-items:end;gap:10px;padding:10px;border:1px solid var(--line);background:#f9fbfa}.roster-custom-field label{margin:0}.roster-custom-field>.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #f0c7c7;border-radius:4px;background:#fff;color:#b43c3c;font-size:18px}.roster-custom-field>.icon-button:hover{background:#fff3f3}@media(max-width:720px){.roster-custom-section-title span{width:100%}.roster-custom-section-title #addRosterCustomField{margin-left:0}.roster-custom-section-title .button{flex:1}.roster-custom-field{grid-template-columns:1fr 1fr 38px}.roster-custom-field label:nth-child(3){grid-column:1/3}.roster-custom-field>.icon-button{grid-column:3;grid-row:1/3;align-self:center}}

.payslip-template-dialog{width:min(1000px,calc(100% - 24px))}.payslip-template-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.payslip-template-toolbar span{color:var(--muted);font-size:13px}.payslip-template-field-head,.payslip-template-field{grid-template-columns:54px minmax(150px,1fr) 150px minmax(210px,1.2fr) 118px}.payslip-system-source{padding:9px 10px;color:var(--muted);background:#f4f7f5;border-radius:4px}.payslip-custom-source{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(150px,1.15fr);gap:7px}.payslip-custom-source select,.payslip-custom-source input{min-width:0;width:100%}.payslip-template-field.custom{background:#f7fbf8}.payslip-field-order .icon-button.danger{color:#b43c3c;border-color:#f0c7c7}
.payslip-template-field.just-added{animation:payslip-field-highlight 1.8s ease}@keyframes payslip-field-highlight{0%,35%{background:#dff5e6;box-shadow:inset 4px 0 #20844e}100%{background:#f7fbf8;box-shadow:inset 4px 0 transparent}}
.payslip-global-source{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #b9dec9;background:#f0faf4}.payslip-global-source b,.payslip-global-source small{display:block}.payslip-global-source small{margin-top:4px;color:var(--muted);font-size:12px}.payslip-global-source select{width:220px;min-width:220px}.payslip-custom-source.single{display:block}.payslip-custom-source.single select,.payslip-custom-source.single input{width:100%}
.roster-employee-dialog #addRosterCustomField{display:none}.roster-employee-dialog .roster-custom-section-title small{margin-left:auto;color:var(--muted);font-weight:400}.roster-employee-dialog [data-custom-label]:disabled,.roster-employee-dialog [data-custom-type]:disabled{color:#34463d;background:#edf3ef;opacity:1}.roster-schema-dialog{width:min(720px,calc(100% - 24px))}.roster-schema-notice{padding:11px 13px;border-left:3px solid var(--green);background:#edf7f1;color:#466052;font-size:13px}.roster-schema-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-schema-toolbar span{color:var(--muted);font-size:13px}.roster-schema-fields{display:grid;gap:8px;max-height:420px;overflow:auto}.roster-schema-field{display:grid;grid-template-columns:minmax(220px,1fr) 150px 120px;align-items:end;gap:10px;padding:11px;border:1px solid var(--line);background:#f9fbfa}.roster-schema-field label{margin:0}.roster-schema-field>span{align-self:center;color:var(--muted);font-size:12px;text-align:right}@media(max-width:720px){.roster-employee-dialog .roster-custom-section-title small{width:100%;margin-left:0}.roster-schema-toolbar{align-items:stretch;flex-direction:column}.roster-schema-field{grid-template-columns:1fr 120px}.roster-schema-field>span{grid-column:1/3;text-align:left}.roster-schema-toolbar .button{width:100%}}
.fixed-onboarding-entry{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:28px;padding:22px 26px;background:#f2faf5}.fixed-onboarding-copy h3{margin:4px 0 6px;font-size:20px}.fixed-onboarding-copy p{max-width:760px;margin:0;color:var(--muted);line-height:1.7}.fixed-onboarding-kicker{display:inline-block;color:var(--green);font-size:12px;font-weight:750}.fixed-onboarding-flow{display:flex;align-items:center;gap:9px;margin:16px 0}.fixed-onboarding-flow span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:650}.fixed-onboarding-flow b{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:12px}.fixed-onboarding-flow i{color:#88a598;font-style:normal}.fixed-onboarding-entry code{display:block;padding:10px 12px;border:1px solid var(--line);background:#fff;overflow-wrap:anywhere}.fixed-onboarding-actions{display:flex;gap:8px;margin-top:12px}.fixed-onboarding-actions .button{text-decoration:none}.fixed-onboarding-entry figure{margin:0;text-align:center}.fixed-onboarding-entry figure img{width:190px;height:190px;padding:7px;border:1px solid var(--line);background:#fff}.fixed-onboarding-entry figcaption{margin-top:7px;color:var(--muted);font-size:12px}@media(max-width:820px){.fixed-onboarding-entry{grid-template-columns:1fr}.fixed-onboarding-entry figure{grid-row:1}.fixed-onboarding-flow{align-items:flex-start;flex-direction:column}.fixed-onboarding-flow i{display:none}.fixed-onboarding-actions{display:grid;grid-template-columns:1fr 1fr}.fixed-onboarding-entry figure img{width:170px;height:170px}}
@media(max-width:720px){.payslip-global-source{align-items:stretch;flex-direction:column}.payslip-global-source select{width:100%;min-width:0}.payslip-template-toolbar{align-items:stretch;flex-direction:column}.payslip-template-toolbar .button{width:100%}.payslip-template-field{grid-template-columns:38px minmax(0,1fr) 108px}.payslip-template-field>[data-field-label]{grid-column:2}.payslip-template-field>[data-field-section]{grid-column:2}.payslip-template-field>.payslip-custom-source,.payslip-template-field>.payslip-system-source{grid-column:1/4}.payslip-template-field>.payslip-field-order{grid-column:3;grid-row:1/3}.payslip-custom-source{grid-template-columns:1fr}.payslip-template-dialog .dialog-actions .button{flex:1}}
@media(max-width:760px){.attendance-group-dialog{width:calc(100% - 12px);max-height:96vh}.attendance-group-dialog .group-editor-form{max-height:96vh}.group-editor-basic,.group-time-grid{grid-template-columns:1fr}.group-setting-head{align-items:flex-start;flex-direction:column}.permission-grid{grid-template-columns:1fr 1fr}.person-picker-row{grid-template-columns:18px 28px 1fr}.person-picker-row>i{grid-column:3}.person-picker-toolbar{align-items:stretch;flex-direction:column}.member-chip{width:100%}}
@media print{body{background:#fff}.app aside,.app header,.mobile-navigation,.page-head,.toast{display:none!important}.app,.app main{display:block}.content{padding:0;max-width:none}.content>*:not(.attendance-proof){display:none!important}.attendance-proof{display:block!important;border:0;max-width:none;min-height:0;padding:20mm}}
.person-picker-row[hidden]{display:none}
.schedule-group-list{padding:0}.schedule-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.schedule-list-toolbar>div{display:flex;align-items:center;gap:10px}.schedule-list-toolbar>div:first-child span{color:var(--muted);font-size:12px}.schedule-list-toolbar label{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px}.schedule-list-toolbar input{width:180px}.schedule-period-control{display:flex;align-items:center;gap:7px}.schedule-period-control label{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:12px;white-space:nowrap}.schedule-period-control select{width:100px;margin:0}.schedule-period-control label:last-child select{width:76px}.schedule-group-list table{table-layout:fixed}.schedule-group-list th:nth-child(1){width:18%}.schedule-group-list th:nth-child(2){width:10%}.schedule-group-list th:nth-child(3){width:62%}.schedule-group-list th:nth-child(4){width:10%}.schedule-group-list tbody tr:nth-child(odd){background:#f7f8f8}.schedule-group-list td{padding:20px 16px;vertical-align:middle}.schedule-group-list td:first-child small{display:block;margin-top:4px;color:var(--muted)}.schedule-group-list td:nth-child(2) strong{font-size:18px}.schedule-group-times{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:8px 26px}.schedule-group-times span{display:grid;grid-template-columns:90px 105px auto;align-items:center;gap:8px;font-size:13px}.schedule-group-times small{color:var(--muted)}.schedule-entry{font-size:14px;font-weight:700}.schedule-group-list [hidden]{display:none}
@media(max-width:760px){.schedule-list-toolbar{align-items:stretch;flex-direction:column}.schedule-list-toolbar>div{flex-wrap:wrap}.schedule-list-toolbar input{flex:1;width:auto}.schedule-group-list table{min-width:760px}.schedule-group-times{grid-template-columns:1fr}}
.nav-parent,.nav-main{font-size:15px;padding-left:20px}.nav-parent{padding-right:14px}.nav-children{padding-left:14px}.nav-children .nav-button{font-size:14px;padding-left:27px}.nav-children .nav-button:before{left:11px}
.nav-subgroup{display:grid;gap:2px}.nav-subgroup-parent{width:100%;border:0;background:transparent;color:#c5e8dc;padding:8px 12px 8px 22px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:12px;font-weight:700}.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#076552;color:#fff}.nav-subgroup-parent i{font-style:normal;font-size:16px;line-height:1;transition:transform .18s}.nav-subgroup.expanded .nav-subgroup-parent i{transform:rotate(90deg)}.nav-subgroup-pages{display:none;gap:2px;padding-bottom:3px}.nav-subgroup.expanded .nav-subgroup-pages{display:grid}.nav-subgroup-pages .nav-button{padding-left:38px;font-size:13px}.nav-subgroup-pages .nav-button:before{left:22px}
.attendance-rule-center{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;background:#fff;padding:22px 0}.attendance-rule-center button{height:82px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px 16px;display:grid;grid-template-columns:40px 1fr 7px;align-items:center;gap:10px;text-align:left}.attendance-rule-center button:hover{border-color:#91afa3;background:#f8faf9}.attendance-rule-center button>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#edf0ef;color:#718079;font-size:18px}.attendance-rule-center button b,.attendance-rule-center button small{display:block}.attendance-rule-center button small{color:var(--muted);font-size:11px;margin-top:3px}.attendance-rule-center button i{width:7px;height:7px;border-radius:50%;background:#f05a28}.attendance-rule-list{padding:0}.rule-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px}.rule-list-toolbar input{width:250px}.attendance-rule-list th:nth-child(1){width:20%}.attendance-rule-list th:nth-child(2){width:49%}.attendance-rule-list th:nth-child(3){width:21%}.attendance-rule-list th:nth-child(4){width:10%}.attendance-rule-list td{padding:17px 16px;vertical-align:middle}.attendance-rule-list td:first-child small{margin-top:4px;color:var(--muted)}.attendance-rule-list td:last-child{display:flex;align-items:center;gap:15px}.rule-content-lines{display:grid;gap:3px;white-space:normal}.rule-content-lines span{display:block}.rule-scope{white-space:normal}.disabled-action{color:#b6bfbb}.attendance-rule-list footer{padding:13px 18px}.attendance-rule-list [hidden]{display:none}.attendance-rule-dialog{width:min(780px,calc(100% - 24px))}.rule-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.rule-options-grid label{margin:0}.rule-type-options{display:flex;align-items:center;gap:18px;background:#f7f9f8;padding:11px 12px}.rule-type-options>span{font-weight:700}.rule-type-options label,.rule-scope-groups label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.rule-type-options input,.rule-scope-groups input{width:auto}.rule-scope-groups{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:8px;padding:10px 12px;background:#f7f9f8;max-height:150px;overflow:auto}.rule-scope-groups>span{grid-column:1/-1;font-weight:700}.rule-scope-groups[hidden]{display:none}
@media(max-width:900px){.attendance-rule-center{grid-template-columns:repeat(2,1fr)}.rule-options-grid{grid-template-columns:1fr}.attendance-rule-list table{min-width:850px}}
@media(max-width:520px){.attendance-rule-center{grid-template-columns:1fr}.rule-list-toolbar{align-items:stretch;flex-direction:column}.rule-list-toolbar input{width:100%}.rule-scope-groups{grid-template-columns:1fr}.rule-type-options{align-items:flex-start;flex-direction:column;gap:8px}}
.holiday-rule-overlay{position:fixed;inset:0;z-index:40;background:rgba(16,31,25,.25);display:flex;justify-content:flex-end}.holiday-rule-overlay[hidden]{display:none}.holiday-rule-overlay>aside{width:min(700px,92vw);height:100%;background:#fff;box-shadow:-12px 0 35px rgba(0,0,0,.15);overflow:auto}.holiday-rule-overlay header{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.holiday-rule-overlay header h3{margin:0}.holiday-rule-overlay header span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.holiday-rule-overlay .icon-button{display:block}.holiday-year{display:flex;align-items:center;gap:10px;padding:16px 20px}.holiday-year button{border:0;background:transparent;font-size:23px}.holiday-detail-table{padding:0 20px 24px}.holiday-detail-head,.holiday-detail-table article{display:grid;grid-template-columns:90px 1fr 50px;gap:14px;align-items:center}.holiday-detail-head{background:#f3f5f4;color:var(--muted);padding:11px 12px}.holiday-detail-table article{padding:18px 12px;border-bottom:1px solid var(--line)}.holiday-detail-table article>div{display:grid;gap:3px}.holiday-detail-table article>div span{display:block}.other-rule-page{display:grid;gap:14px}.other-rule-page>section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 18px}.other-rule-selectors{display:grid;grid-template-columns:1fr 1fr;gap:18px}.other-rule-selectors>div>b{display:block;margin-bottom:8px}.rule-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:150px;overflow:auto;background:#f7f9f8;padding:10px}.rule-check-grid label,.rule-radio-list label{display:flex;align-items:center;gap:7px;margin:0;font-weight:400}.rule-check-grid input,.rule-radio-list input{width:auto}.rule-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:13px 0;border-bottom:1px solid #edf0ee}.rule-toggle-row:last-child{border-bottom:0}.rule-toggle-row>span b,.rule-toggle-row>span small{display:block}.rule-toggle-row>span small{color:var(--muted);font-size:11px;margin-top:2px}.rule-toggle-row input{position:absolute;opacity:0;pointer-events:none}.rule-toggle-row i{width:40px;height:22px;border-radius:12px;background:#c5cdca;position:relative;flex:0 0 40px}.rule-toggle-row i:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.18s}.rule-toggle-row input:checked+i{background:#198fdd}.rule-toggle-row input:checked+i:after{left:20px}.rule-radio-list{display:grid;gap:12px}.other-grace-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.other-rule-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:13px 18px;display:flex;justify-content:flex-end}.other-rule-page [type=checkbox],.other-rule-page [type=radio]{accent-color:var(--green)}
@media(max-width:760px){.other-rule-selectors,.other-grace-grid{grid-template-columns:1fr}.holiday-detail-head,.holiday-detail-table article{grid-template-columns:70px minmax(260px,1fr) 45px}.holiday-detail-table{overflow:auto}.rule-check-grid{grid-template-columns:1fr}}
.holiday-detail-status{color:var(--green);font-size:12px}
[hidden]{display:none!important}.app .holiday-rule-overlay>aside{position:relative;top:auto;height:100%;padding:0;display:block;color:var(--ink);background:#fff}.other-rule-actions{position:static}
#mobileNavigation{display:none}#mobileNavigation[hidden]{display:none!important}@media(max-width:900px){#mobileNavigation{display:flex}}
.smart-hr-header{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:14px;display:grid;grid-template-columns:1fr minmax(280px,420px);gap:16px;position:relative}.smart-hr-greeting{display:flex;align-items:center;gap:12px}.smart-hr-greeting h2,.smart-hr-greeting p{margin:0}.smart-hr-greeting p{color:var(--muted);margin-top:3px}.profile-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;background:#e6eef5;color:#315f91;font-weight:800}.smart-hr-search{position:relative}.smart-hr-search input{height:42px}.smart-hr-search>div{position:absolute;left:0;right:0;top:46px;z-index:15;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);max-height:330px;overflow:auto}.smart-hr-search>div button{width:100%;border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left}.smart-hr-search>div button:hover{background:#f7f9f8}.smart-hr-search>div span,.smart-hr-search>div small{display:block}.smart-hr-search>div small{color:var(--muted)}.hr-structure-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);background:#f4f6f8;border-radius:5px;overflow:hidden}.hr-structure-strip>div{padding:10px 14px;border-right:1px solid #e2e6e9}.hr-structure-strip>div:last-child{border-right:0}.hr-structure-strip span,.hr-structure-strip b{display:block}.hr-structure-strip span{font-size:12px;color:var(--muted)}.hr-structure-strip b{font-size:22px;margin-top:3px}.smart-hr-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:15px}.smart-hr-tabs button{border:0;background:transparent;padding:10px 4px;position:relative;color:var(--muted)}.smart-hr-tabs button.active{color:var(--ink);font-weight:700}.smart-hr-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ink)}.smart-hr-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.smart-hr-main{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.25fr);gap:14px;align-items:start}.smart-hr-side{display:grid;gap:14px}.smart-hr-module{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}.smart-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.smart-module-head>div{display:flex;align-items:center;gap:8px}.smart-module-head h3{font-size:15px;margin:0}.module-symbol{width:25px;height:25px;border-radius:5px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}.module-symbol.amber{background:#e59a19}.module-symbol.coral{background:#db7157}.module-symbol.blue{background:#347fc1}.module-symbol.green{background:#309764}.module-symbol.gold{background:#b98628}.recruitment-funnel{display:grid;gap:6px;justify-items:center;padding:5px 0}.recruitment-funnel>div{width:var(--funnel-width);min-height:42px;background:#e7f0f8;color:#295f8d;display:flex;align-items:center;justify-content:space-between;padding:7px 14px;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.recruitment-funnel>div:nth-child(2){background:#d8e9f8}.recruitment-funnel>div:nth-child(3){background:#c8e0f4}.recruitment-funnel>div:nth-child(4){background:#b8d4ed}.recruitment-funnel b{font-size:16px}.recruitment-module footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:12px}.payroll-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payroll-snapshot-grid>div{background:#f5f7f8;padding:12px;border-radius:5px}.payroll-snapshot-grid span,.payroll-snapshot-grid b{display:block}.payroll-snapshot-grid span{color:var(--muted);font-size:12px}.payroll-snapshot-grid b{font-size:20px;margin-top:4px}.payroll-snapshot-grid .small-value{font-size:16px}.team-structure-list{display:grid}.team-structure-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0ee}.productivity-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #edf0ee;margin-bottom:14px}.productivity-summary>div{padding:10px;border-right:1px solid #edf0ee}.productivity-summary>div:last-child{border-right:0}.productivity-summary b,.productivity-summary span{display:block}.productivity-summary b{font-size:20px}.productivity-summary span{font-size:11px;color:var(--muted)}.productivity-summary .danger b{color:var(--red)}.productivity-ranking{display:grid;gap:10px}.productivity-ranking>div{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:9px}.productivity-ranking span,.productivity-ranking small{display:block}.productivity-ranking small{color:var(--muted);font-size:10px}.productivity-ranking i{height:7px;background:#e8edeb;border-radius:5px;overflow:hidden}.productivity-ranking em{display:block;height:100%;background:#3288ca}.productivity-ranking b{text-align:right}.training-overview{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:18px}.training-ring{--training-rate:0;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#fff 61%,transparent 62%),conic-gradient(#2d9562 calc(var(--training-rate)*1%),#e1e7e4 0)}.training-ring b,.training-ring span{display:block;text-align:center}.training-ring b{font-size:22px}.training-ring span{font-size:11px;color:var(--muted)}.training-overview p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:9px 0;border-bottom:1px solid #edf0ee}.training-overview p span{color:var(--muted)}.hr-todo-list{display:grid}.hr-todo-list button{border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:11px 0;display:flex;align-items:center;justify-content:space-between;text-align:left}.hr-todo-list span,.hr-todo-list small{display:block}.hr-todo-list small{color:var(--muted);font-size:11px;margin-top:2px}.hr-todo-list button>b{font-size:20px}.hr-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 7px}.hr-quick-grid button{border:0;background:#fff;display:grid;justify-items:center;gap:6px;padding:5px}.hr-quick-grid button>span{width:34px;height:34px;border-radius:50%;background:#edf3f7;color:#2e6d9f;display:grid;place-items:center;font-weight:800}.hr-quick-grid button>b{font-size:12px}.personal-hr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.personal-profile{grid-column:1/-1;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:13px}.personal-profile h3,.personal-profile p{margin:0}.personal-profile p,.personal-profile>div>span{color:var(--muted)}.personal-stat-band{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--line);border-radius:6px}.personal-stat-band>div{padding:15px;border-right:1px solid var(--line)}.personal-stat-band>div:last-child{border-right:0}.personal-stat-band span,.personal-stat-band b{display:block}.personal-stat-band span{color:var(--muted);font-size:12px}.personal-stat-band b{font-size:18px;margin-top:5px}@media(max-width:1180px){.smart-hr-layout{grid-template-columns:1fr}.smart-hr-side{grid-template-columns:1fr 1fr}.smart-hr-main{grid-template-columns:1fr 1fr}}@media(max-width:900px){.smart-hr-header{grid-template-columns:1fr}.smart-hr-search,.hr-structure-strip{grid-column:1}.hr-structure-strip{grid-template-columns:repeat(3,1fr)}.hr-structure-strip>div:nth-child(3){border-right:0}.smart-hr-main,.smart-hr-side,.personal-hr-grid{grid-template-columns:1fr}.personal-profile,.personal-stat-band{grid-column:1}.personal-stat-band{grid-template-columns:repeat(3,1fr)}.personal-stat-band>div:nth-child(3){border-right:0}.productivity-summary{grid-template-columns:1fr 1fr}.productivity-summary>div:nth-child(2){border-right:0;border-bottom:1px solid #edf0ee}.productivity-summary>div:first-child{border-bottom:1px solid #edf0ee}}@media(max-width:520px){.smart-hr-header{padding:13px}.hr-structure-strip{grid-template-columns:1fr 1fr}.hr-structure-strip>div:nth-child(2n){border-right:0}.hr-structure-strip>div:nth-child(3){border-right:1px solid #e2e6e9}.smart-hr-main{grid-template-columns:1fr}.training-overview{grid-template-columns:105px 1fr}.training-ring{width:98px;height:98px}.productivity-ranking>div{grid-template-columns:88px 1fr 38px}.personal-stat-band{grid-template-columns:1fr 1fr}.personal-stat-band>div:nth-child(2n){border-right:0}.personal-stat-band>div:nth-child(3){border-right:1px solid var(--line)}.personal-profile{grid-template-columns:46px 1fr}.personal-profile .button{grid-column:1/-1}.hr-quick-grid{grid-template-columns:repeat(3,1fr)}}
.shift-management-list{padding:0}.shift-management-list>.section-heading{padding:17px 18px 0}.shift-management-list th:last-child{width:120px}.shift-row-actions{display:flex;align-items:center;gap:18px;white-space:nowrap}
.shift-drawer{width:min(610px,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border:0;border-left:1px solid var(--line);padding:0;box-shadow:-18px 0 48px rgba(15,35,27,.18)}.shift-drawer::backdrop{background:rgba(13,28,22,.24)}.shift-drawer form{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.shift-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.shift-drawer-head h3,.shift-drawer-head p{margin:0}.shift-drawer-head h3{font-size:18px}.shift-drawer-head p{color:var(--muted);font-size:12px;margin-top:4px}.shift-drawer-head .icon-button{display:block}.shift-drawer-body{overflow:auto;padding:20px 22px}.shift-drawer-body>label{margin-bottom:19px}.shift-drawer-body label i,.shift-time-heading i{color:var(--red);font-style:normal}.shift-drawer-body label small{display:block;color:var(--muted);font-weight:400;font-size:12px}.shift-time-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ee;padding-top:18px;margin-bottom:10px}.shift-time-heading b{font-size:15px}.shift-segment-list{display:grid;gap:10px}.shift-segment-card{display:grid;grid-template-columns:1fr 1fr auto;gap:10px 12px;background:#f7f9f8;border:1px solid #e5ebe7;border-radius:5px;padding:14px}.shift-segment-card>div{grid-column:1/-1;display:flex;align-items:baseline;gap:8px}.shift-segment-card>div b{font-size:14px}.shift-segment-card>div small{font-size:11px;color:var(--muted)}.shift-segment-card>label{margin:0;font-size:12px}.shift-segment-card>label input{padding:8px 9px}.remove-segment{grid-column:3;grid-row:1;border:0;background:transparent;color:var(--red);font-size:21px;line-height:1;padding:0}.shift-rest-config{border-top:1px solid #edf0ee;margin-top:18px;padding-top:16px}.shift-rest-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.shift-rest-head>b{font-size:15px;margin-right:auto}.shift-rest-head label{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500}.shift-rest-head input{width:auto}.shift-rest-list{display:grid;gap:8px}.shift-rest-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;background:#f7f9f8;border:1px solid #e5ebe7;border-radius:5px;padding:10px 12px}.shift-rest-row label{margin:0;font-size:12px}.shift-rest-row input{padding:8px 9px}.shift-rest-row button{border:0;background:transparent;color:var(--red);font-size:20px;line-height:1;padding:7px 0}.shift-rest-hint{color:var(--muted);font-size:12px;margin:9px 0 0}.shift-work-summary{display:grid;grid-template-columns:1fr 1fr;background:#f3f8f5;border:1px solid #dce9e1;margin-top:14px}.shift-work-summary>div{padding:13px 14px;border-right:1px solid #dce9e1}.shift-work-summary>div:last-child{border-right:0}.shift-work-summary span,.shift-work-summary small,.shift-work-summary b{display:block}.shift-work-summary span,.shift-work-summary small{font-size:12px;color:var(--muted)}.shift-work-summary b{font-size:18px;color:var(--green);margin:3px 0}.shift-advanced{margin-top:16px;border-top:1px solid #edf0ee;padding-top:13px}.shift-advanced summary{font-weight:700;cursor:pointer}.shift-advanced p{color:var(--muted);font-size:12px;line-height:1.7}.shift-drawer-footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--line);background:#fff}
@media(max-width:600px){.shift-drawer{width:100vw}.shift-drawer-body,.shift-drawer-head,.shift-drawer-footer{padding-left:16px;padding-right:16px}.shift-segment-card{grid-template-columns:1fr 1fr}.shift-segment-card>div{grid-column:1/-1}.remove-segment{grid-column:2;grid-row:1;justify-self:end}.shift-rest-row{grid-template-columns:1fr 1fr auto}.shift-work-summary{grid-template-columns:1fr}.shift-work-summary>div{border-right:0;border-bottom:1px solid #dce9e1}.shift-work-summary>div:last-child{border-bottom:0}}
.group-shift-picker{margin-top:15px;padding:14px;background:#f7f9f8;border:1px solid var(--line)}.group-shift-picker>b{display:block;margin-bottom:10px}.group-shift-picker>div{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}.group-shift-picker label{display:flex;align-items:center;gap:9px;margin:0;background:#fff;border:1px solid #e1e6e3;padding:10px 11px;font-weight:400}.group-shift-picker input{width:auto}.group-shift-picker span b,.group-shift-picker span small{display:block}.group-shift-picker span small,.group-shift-picker p{color:var(--muted);font-size:11px}.group-shift-picker p{margin:10px 0 0}.group-rule-toggles{border-top:1px solid #edf0ee}.group-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:15px}.group-rule-grid label{margin:0}.clock-shift-select{margin:12px 0 0;font-size:12px}.clock-shift-select select{margin-top:4px;background:#fff}.attendance-group-dialog #groupRuleSettings .rule-toggle-row input{width:auto}@media(max-width:760px){.group-shift-picker>div,.group-rule-grid{grid-template-columns:1fr}}
.group-rule-config{display:flex;min-width:0;flex-direction:column}.group-rule-config>div{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.group-rule-config>div>b{font-size:13px}.group-rule-config>label{font-size:11px;color:var(--muted)}.group-rule-config>label select{width:100%;height:46px;margin-top:4px;box-sizing:border-box;color:var(--ink);font-size:13px}.group-rule-config>small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}.group-setting-action.button.small{display:inline-flex;width:56px;height:30px;flex:0 0 56px;align-items:center;justify-content:center;padding:0;border:1px solid #69a18f;border-radius:4px;background:#fff;color:#12624f;font-size:13px;font-weight:700;line-height:1}.group-setting-action.button.small:hover:not(:disabled){border-color:#0f5749;background:#edf8f4;color:#0f5749}
.group-rule-operation-table{border:1px solid var(--line);background:#fff}.group-rule-operation-head,.group-rule-operation-row{display:grid;grid-template-columns:1fr 1.6fr 1fr 58px;align-items:center;gap:12px;padding:11px 13px}.group-rule-operation-head{background:#f5f7f6;color:var(--muted);font-size:12px}.group-rule-operation-row{min-height:58px;border-top:1px solid var(--line);font-size:13px}.group-rule-operation-row>span{color:#4f6259;line-height:1.5}.group-rule-operation-row .text-button{justify-self:start;font-weight:700}.group-rule-operation-editor{display:grid;gap:14px;padding:15px;border:1px solid #cfe0d8;background:#f8fbf9}.group-rule-operation-editor[hidden]{display:none}.group-rule-operation-editor>div:first-child b,.group-rule-operation-editor>div:first-child small{display:block}.group-rule-operation-editor>div:first-child small{margin-top:3px;color:var(--muted);font-size:11px}.group-rule-operation-editor>label{margin:0}.group-rule-operation-editor .rule-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.group-rule-operation-editor .rule-type-options{grid-column:1/-1}@media(max-width:680px){.group-rule-operation-head{display:none}.group-rule-operation-row{grid-template-columns:1fr auto}.group-rule-operation-row>span{grid-column:1/-1}.group-rule-operation-editor .rule-options-grid{grid-template-columns:1fr}}
.missed-clock-rule-form{display:grid;gap:0;border:1px solid #e1e7e4;background:#fff}.missed-clock-rule-form .missed-clock-enabled{padding:15px 18px;border-bottom:1px solid #edf0ee}.missed-clock-rule-form .missed-clock-enabled input{width:auto}.missed-clock-rule-form>section{display:grid;gap:10px;padding:15px 18px;border-bottom:1px solid #edf0ee}.missed-clock-rule-form>section:last-child{border-bottom:0}.missed-clock-inline{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#34483f}.missed-clock-inline input{width:76px;min-width:76px;margin:0}.missed-clock-inline select{width:auto;min-width:86px;margin:0}.missed-clock-types{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.missed-clock-types label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.missed-clock-types input{width:auto;margin:0;accent-color:#168fe5}@media(max-width:520px){.missed-clock-rule-form>section,.missed-clock-rule-form .missed-clock-enabled{padding:13px}.missed-clock-inline{align-items:flex-start;flex-direction:column}.missed-clock-inline input,.missed-clock-inline select{width:100%}}

/* Attendance-group editor: configuration sections follow the existing attendance flow. */
.group-config-button{margin-left:6px;padding:0;border:0;background:transparent;color:#1677d2;font-size:13px;font-weight:500;vertical-align:baseline}.group-config-button:hover{text-decoration:underline}
.settings-button,.group-setting-action.button.small,.group-config-button,[data-permission-id]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:72px!important;height:32px!important;padding:0 11px!important;border:1px solid #69a18f!important;border-radius:4px!important;background:#fff!important;color:#12624f!important;font-size:13px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;vertical-align:middle}.settings-button:before,.group-setting-action.button.small:before,.group-config-button:before,[data-permission-id]:before{content:"⚙";font-size:13px;font-weight:400;line-height:1}.settings-button:hover:not(:disabled),.group-setting-action.button.small:hover:not(:disabled),.group-config-button:hover:not(:disabled),[data-permission-id]:hover:not(:disabled){border-color:#0f5749!important;background:#edf8f4!important;color:#0f5749!important;text-decoration:none!important}.settings-button:disabled,.group-setting-action.button.small:disabled,.group-config-button:disabled,[data-permission-id]:disabled{border-color:#cbd5d1!important;background:#f3f5f4!important;color:#9aa6a1!important;cursor:not-allowed}.position-card-actions .settings-button{min-width:82px!important}
.attendance-time-settings{margin-top:14px;padding:14px;border:1px solid var(--line);background:#f7f9f8}.attendance-time-setting-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.attendance-time-settings>p,.attendance-time-settings small{color:var(--muted);font-size:12px}.attendance-time-settings fieldset{border:0;border-top:1px solid #e3e9e5;border-bottom:1px solid #e3e9e5;padding:12px 0;margin:14px 0}.attendance-time-settings fieldset legend{font-weight:700;padding:0}.attendance-time-settings fieldset label,.attendance-time-settings fieldset small{display:block;margin:7px 0}.attendance-time-settings fieldset input{width:auto}
.attendance-group-dialog{width:min(1080px,calc(100% - 28px))}.group-setting-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;background:#f8faf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.group-setting-overview>div{padding:14px 22px;border-right:1px solid var(--line)}.group-setting-overview>div:last-child{border-right:0}.group-setting-overview span,.group-responsible-grid span,.setting-inline-note span,.attendance-method-status span{display:block;color:var(--muted);font-size:12px}.group-setting-overview b{display:block;margin-top:5px;font-size:15px}.group-readonly-rows{display:grid;gap:12px}.group-readonly-rows>div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;background:#f8faf9;border:1px solid #edf0ee}.member-chip-list.compact{max-height:105px;min-height:0;overflow:auto}.member-chip-list.compact .member-chip{grid-template-columns:24px auto;grid-template-rows:auto auto;padding:5px 7px}.member-chip-list.compact .mini-avatar{width:24px;height:24px;grid-row:1/3;font-size:10px}.member-chip-list.compact .member-chip b{font-size:12px}.member-chip-list.compact .member-chip small{font-size:10px}.group-responsible-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.group-responsible-grid>div{padding:13px 14px;background:#f8faf9;border:1px solid #edf0ee}.group-responsible-grid b{display:block;margin-top:6px;font-size:13px}.group-responsible-grid .group-responsible-permissions{grid-column:1/-1}.group-responsible-permission-label{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #dfe7e2;color:var(--muted);font-size:11px}.group-responsible-permission-text{display:block;margin-top:5px;color:#235642!important;font-size:12px!important;line-height:1.6}.primary-manager-field{margin-top:10px}.active-group-responsible-grid .sub-manager-list{margin-top:6px}.active-group-responsible-grid .sub-manager-row{padding:10px;background:#fff}.setting-inline-note,.attendance-method-status{padding:10px 12px;border:1px solid var(--line);background:#f8faf9;align-self:end}.setting-inline-note b,.attendance-method-status b{display:block;margin-top:4px;font-size:12px}.attendance-method-status small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.group-time-rules{margin-top:15px}.group-clock-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.group-clock-grid>label{margin:0}.rule-select-row{display:grid;grid-template-columns:200px minmax(260px,1fr);align-items:center;gap:14px;max-width:620px;margin:0}.rule-select-row select{margin:0}.attendance-group-dialog .text-button{white-space:nowrap}@media(max-width:760px){.group-setting-overview,.group-responsible-grid,.group-clock-grid{grid-template-columns:1fr}.group-setting-overview>div{border-right:0;border-bottom:1px solid var(--line)}.group-setting-overview>div:last-child{border-bottom:0}.group-readonly-rows>div,.rule-select-row{grid-template-columns:1fr}.group-responsible-grid .group-responsible-permissions{grid-column:auto}.member-chip-list.compact .member-chip{width:100%}}
.attendance-member-picker{margin-top:12px;padding:14px;border:1px solid #d8e2dd;background:#fff}.attendance-member-picker-head,.attendance-member-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-member-picker input{margin:12px 0 8px}.attendance-member-picker-list{max-height:250px;overflow:auto;border-top:1px solid #edf0ee}.attendance-member-picker-row{display:grid;grid-template-columns:18px 30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #edf0ee;margin:0}.attendance-member-picker-row input{width:auto;margin:0}.attendance-member-picker-row span b,.attendance-member-picker-row span small{display:block}.attendance-member-picker-row span small,.attendance-member-picker-row i{color:var(--muted);font-size:11px;font-style:normal}.member-chip .member-chip-remove{width:22px;height:22px;border:0;border-radius:50%;background:#f2e6e3;color:#a23b31;font-size:16px;line-height:1;cursor:pointer}.member-chip .member-chip-remove:hover{background:#efd3cd}@media(max-width:760px){.attendance-member-picker-row{grid-template-columns:18px 28px minmax(0,1fr)}.attendance-member-picker-row i{grid-column:3}.attendance-member-picker-actions{flex-wrap:wrap}}
.attendance-responsible-editor{margin-top:12px;padding:14px;border:1px solid #d8e2dd;background:#f8fbf9}.attendance-responsible-editor-head,.attendance-responsible-sub-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-responsible-editor-head>b,.attendance-responsible-editor-head small{display:block}.attendance-responsible-editor-head small{margin-top:4px;color:var(--muted);font-size:12px}.attendance-responsible-editor>input{margin:12px 0 8px}.attendance-responsible-editor>.attendance-member-picker-list{max-height:260px;background:#fff}.group-responsible-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.group-responsible-label .text-button{font-size:12px}.attendance-responsible-primary{max-width:500px;margin:14px 0}.attendance-responsible-primary label{margin:0}.attendance-responsible-sub-head{border-top:1px solid #e3ebe6;padding-top:13px}.attendance-responsible-sub-head>div{display:flex;align-items:center;gap:8px}.attendance-responsible-sub-head select{min-width:230px;margin:0}.attendance-responsible-sub-list{display:grid;gap:9px;margin-top:10px}.attendance-responsible-sub-list>article{padding:11px 12px;border:1px solid #e0e8e3;background:#fff}.attendance-responsible-sub-list header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.attendance-responsible-sub-list header b,.attendance-responsible-sub-list header small{display:block}.attendance-responsible-sub-list header small{color:var(--muted);font-size:11px;margin-top:2px}@media(max-width:760px){.attendance-responsible-sub-head{align-items:stretch;flex-direction:column}.attendance-responsible-sub-head>div{width:100%}.attendance-responsible-sub-head select{min-width:0;flex:1}}
.group-responsible-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:0;border:1px solid var(--line);background:#fafbf9}.group-responsible-summary>div{padding:12px 14px;border-right:1px solid var(--line)}.group-responsible-summary>div:last-child{border-right:0}.group-responsible-summary span,.group-responsible-summary b{display:block}.group-responsible-summary span{color:var(--muted);font-size:11px}.group-responsible-summary b{margin-top:5px;font-size:13px;line-height:1.55}.group-responsible-drawer{position:absolute;z-index:8;top:0;right:0;bottom:0;width:min(400px,92%);overflow:auto;background:#fff;box-shadow:-12px 0 32px rgba(22,45,36,.18);border-left:1px solid var(--line);padding:0 18px 22px}.group-responsible-drawer[hidden]{display:none}.group-responsible-drawer>header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;margin:0 -18px 18px;padding:18px;background:#fff;border-bottom:1px solid var(--line)}.group-responsible-drawer h4{margin:0;font-size:16px}.group-responsible-drawer header span,.group-responsible-drawer small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.drawer-manager-field{display:block;margin-bottom:22px}.drawer-manager-field select{margin-top:8px}.group-responsible-drawer>section,.group-responsible-drawer>fieldset{margin:0 0 22px;padding:0 0 18px;border:0;border-bottom:1px solid var(--line)}.group-responsible-drawer>fieldset legend{padding:0 0 10px;font-weight:700}.drawer-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-section-head b,.drawer-section-head small{display:block}.drawer-multi-select{flex:0 0 auto;border-color:#19725f;background:#fff;color:#165d4f;font-weight:700}.drawer-multi-select:hover:not(:disabled){border-color:#0f5749;background:#eef8f4;color:#0f5749}.drawer-manager-chips{display:flex;width:100%;min-height:44px;box-sizing:border-box;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding:6px 8px;border:1px solid var(--line);background:#fff}.drawer-manager-chips>.empty-inline{color:var(--muted);font-size:12px}.drawer-manager-chip{display:grid;grid-template-columns:28px auto 18px;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:5px 7px;border:1px solid #d8e3de;background:#f5f9f7}.drawer-manager-chip .mini-avatar{grid-row:1/3}.drawer-manager-chip b{font-size:12px}.drawer-manager-chip small{font-size:10px;color:var(--muted)}.drawer-manager-chip button{grid-column:3;grid-row:1/3;border:0;background:transparent;color:#b44343;font-size:17px}.drawer-permission-list{display:grid;gap:9px}.drawer-permission-list label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.drawer-permission-list input{width:auto}@media(max-width:760px){.group-responsible-summary{grid-template-columns:1fr}.group-responsible-summary>div{border-right:0;border-bottom:1px solid var(--line)}.group-responsible-summary>div:last-child{border-bottom:0}.group-responsible-drawer{width:100%}}
.leave-rule-dialog{width:min(1040px,calc(100% - 28px))}.leave-rule-table{border:1px solid var(--line)}.leave-rule-head,.leave-rule-row{display:grid;grid-template-columns:1.15fr .85fr 1fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:11px 14px}.leave-rule-head{background:#f4f7f5;color:var(--muted);font-size:12px;font-weight:700}.leave-rule-row{border-top:1px solid #edf0ee}.leave-rule-row>b small{display:block;margin-top:3px;color:var(--muted);font-weight:400;font-size:11px}.leave-rule-row label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}.leave-rule-row input[type="checkbox"]{width:auto;margin:0}.leave-rule-row input[type="number"]{width:76px;margin:0;padding:6px 7px}.leave-rule-row label>span{color:var(--muted);white-space:nowrap}@media(max-width:760px){.leave-rule-head{display:none}.leave-rule-row{grid-template-columns:1fr 1fr;gap:10px}.leave-rule-row>b{grid-column:1/-1}.leave-rule-row label{justify-content:flex-start}}
.header-leading{display:flex;align-items:center;gap:12px;min-width:0}.page-back{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:20px;line-height:1}.page-back:hover:not(:disabled){border-color:#8eaaa0;background:#f4f8f6}.page-back:disabled{color:#b7c0bc;background:#f3f5f4;cursor:not-allowed}.onboarding-share{display:flex;align-items:center;justify-content:space-between;gap:28px}.onboarding-share h3{margin:0}.onboarding-share p{color:var(--muted)}.onboarding-share code{display:block;max-width:760px;padding:11px 12px;background:#f4f7f5;border:1px solid var(--line);overflow-wrap:anywhere}.onboarding-share small{display:block;color:var(--muted);margin-top:8px}.onboarding-share figure{margin:0;text-align:center;flex:0 0 190px}.onboarding-share img{display:block;width:180px;height:180px;border:1px solid var(--line);padding:5px;background:#fff}.onboarding-share figcaption{font-size:12px;color:var(--muted);margin-top:5px}.row-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.attendance-group-list td:last-child{gap:12px}@media(max-width:760px){.onboarding-share{align-items:flex-start;flex-direction:column}.onboarding-share figure{align-self:center}.header-leading{gap:8px}.page-back{width:32px;height:32px;flex-basis:32px}}
.organization-source-note{border-left-color:#376aa6;background:#f1f6fb;color:#294d73}.organization-tree{padding:0}.organization-tree>.section-heading{padding:17px 18px 0}.organization-warehouse>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);background:#f7f9f8}.organization-warehouse>header,.organization-zone>header{position:static;height:auto;top:auto;z-index:auto}.organization-warehouse>header>div{display:flex;align-items:center;gap:10px}.organization-warehouse h3,.organization-warehouse h4{margin:0}.organization-zones{display:grid}.organization-zone{padding:0 18px;border-bottom:1px solid var(--line)}.organization-zone:last-child{border-bottom:0}.organization-zone>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 0}.organization-zone>header>div:last-child,.organization-team-actions{display:flex;align-items:center;gap:14px}.organization-zone header small{display:block;color:var(--muted);margin-top:2px}.organization-type{display:inline-flex;width:max-content;padding:2px 7px;border:1px solid #cbd9d3;background:#f4f8f6;color:#496159;font-size:11px;border-radius:4px}.organization-team-list{border-top:1px solid #edf0ee}.organization-team{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(120px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #edf0ee}.organization-team:last-child{border-bottom:0}.organization-team-main{display:flex;align-items:center;gap:10px}.organization-team-main>div b,.organization-team-main>div small,.organization-team-leader span,.organization-team-leader b,.organization-team-members span,.organization-team-members small{display:block}.organization-team-main small,.organization-team-leader span,.organization-team-members small{color:var(--muted);font-size:11px}.organization-team-members span{font-weight:700}.organization-member-dialog{width:min(680px,calc(100% - 24px))}.organization-member-picker{max-height:430px;overflow:auto;margin:15px 0;border-top:1px solid var(--line)}.organization-member-picker label{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #edf0ee;margin:0}.organization-member-picker input{width:auto}.organization-member-picker span b,.organization-member-picker span small{display:block}.organization-member-picker span small{color:var(--muted);font-size:11px}@media(max-width:900px){.organization-team{grid-template-columns:1fr 1fr}.organization-team-actions{justify-content:flex-end}.organization-team>.tag{justify-self:end}}@media(max-width:600px){.organization-zone{padding:0 13px}.organization-zone>header{align-items:flex-start;flex-direction:column;gap:9px}.organization-zone>header>div:last-child{width:100%;justify-content:flex-start;padding-bottom:3px}.organization-team-list{clear:both}.organization-team{grid-template-columns:1fr;gap:8px;padding:15px 0}.organization-team-actions{justify-content:flex-start;flex-wrap:wrap}.organization-team>.tag{justify-self:start}}
.organization-tabs{display:flex;align-items:center;gap:24px;height:50px;padding:0 18px;margin:-1px 0 16px;background:#fff;border:1px solid var(--line)}.organization-tabs button{height:50px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:14px}.organization-tabs button.active{color:#a65c10;border-bottom-color:#ef9f27;font-weight:700}.organization-grade-metrics{grid-template-columns:repeat(4,1fr)}.job-grade-tree{padding:0}.job-grade-tree>.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px 0}.job-grade-tree>.section-heading h3{margin:0}.job-grade-tree>.section-heading span{color:var(--muted);font-size:12px}.job-grade-root,.job-grade-children{list-style:none;margin:0;padding:18px}.job-grade-root{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px}.job-grade-node{position:relative;width:min(100%,340px)}.job-grade-root>.job-grade-node{flex:1 1 270px}.job-grade-card{min-height:174px;padding:14px;border:1px solid #d8e0dc;border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(20,42,32,.05)}.job-grade-card:hover{border-color:#efb24f}.job-grade-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.job-grade-card-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.job-grade-card h3{margin:13px 0 4px;font-size:16px}.job-grade-card p{min-height:36px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.job-grade-card>small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.job-grade-members{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0ee}.job-grade-members b{color:#a65c10}.job-grade-members span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.job-grade-children{display:grid;gap:14px;padding:24px 0 0 22px;margin-left:20px;border-left:1px solid #cbd9d3}.job-grade-children>.job-grade-node{width:100%}.job-grade-children>.job-grade-node:before{content:'';position:absolute;left:-22px;top:34px;width:21px;border-top:1px solid #cbd9d3}.job-grade-current-members{margin-top:16px;padding:13px;background:#f7f9f8;border:1px solid var(--line)}.job-grade-current-members h4,.job-grade-member-picker h4{margin:0 0 8px;font-size:13px}.job-grade-current-members>div>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e3e9e5}.job-grade-current-members>div>div:last-child{border-bottom:0}.job-grade-current-members b,.job-grade-current-members small{display:block}.job-grade-current-members small{margin-top:2px;color:var(--muted);font-size:11px}.job-grade-member-picker{margin-top:16px}.job-grade-member-picker .organization-member-picker{margin:0}.job-grade-member-picker .organization-member-picker label{padding-left:2px}@media(max-width:900px){.organization-grade-metrics{grid-template-columns:repeat(2,1fr)}.job-grade-root{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.job-grade-root>.job-grade-node{width:auto}}@media(max-width:600px){.organization-tabs{gap:8px;padding:0 12px;margin-bottom:12px}.organization-tabs button{flex:1}.job-grade-tree>.section-heading{align-items:flex-start;flex-direction:column;padding:14px 13px 0}.job-grade-root{display:grid;grid-template-columns:1fr;padding:13px}.job-grade-root>.job-grade-node{width:100%}.job-grade-card-actions{flex-wrap:wrap;justify-content:flex-end}.job-grade-card{min-height:0}.job-grade-children{margin-left:10px;padding-left:16px}.job-grade-children>.job-grade-node:before{left:-17px;width:16px}.job-grade-current-members>div>div{align-items:flex-start;flex-direction:column;gap:6px}.organization-grade-metrics{grid-template-columns:1fr 1fr}}
.position-metrics{grid-template-columns:repeat(4,1fr)}.position-tree{padding:0}.position-tree>.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 0}.position-tree>.section-heading h3{margin:0}.position-tree>.section-heading span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.position-root,.position-children{list-style:none;margin:0}.position-root{display:grid;justify-items:center;gap:0;padding:20px}.position-node{position:relative;width:min(100%,390px)}.position-root>.position-node{width:min(100%,390px)}.position-card{min-height:152px;padding:14px;border:1px solid #d8e0dc;border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(20,42,32,.05)}.position-card:hover{border-color:#efb24f}.position-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.position-card-actions{display:flex;align-items:center;gap:8px}.position-person{display:flex;align-items:center;gap:10px;margin-top:14px}.position-person>span{width:38px;height:38px;flex:0 0 38px;border-radius:6px;background:#fff0df;color:#a65c10;display:grid;place-items:center;font-weight:800}.position-person h3,.position-person p{margin:0}.position-person h3{font-size:16px}.position-person p{margin-top:2px;color:var(--muted);font-size:11px}.position-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:10px;border-top:1px solid #edf0ee;color:var(--muted);font-size:11px}.position-children{display:grid;justify-items:center;gap:0;padding:30px 0 0}.position-children>.position-node{width:min(100%,390px);padding-top:25px}.position-children>.position-node:before{content:'';position:absolute;left:50%;top:0;height:25px;border-left:1px solid #8fb9a9}.position-children>.position-node:first-child:after{content:'';position:absolute;left:50%;top:0;width:1px;height:1px;background:#8fb9a9}.organization-person-dialog{width:min(620px,calc(100% - 24px))}@media(max-width:900px){.position-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.position-tree>.section-heading{align-items:flex-start;flex-direction:column;padding:14px 13px 0}.position-root{padding:13px}.position-card{min-height:0}.position-card-actions{gap:5px}.position-card-actions .text-button{padding:3px}.position-metrics{grid-template-columns:1fr 1fr}}
.attendance-org-tree{padding:0}.attendance-org-tree>.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 0}.attendance-org-tree>.section-heading h3{margin:0}.attendance-org-tree>.section-heading span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.attendance-org-root,.attendance-org-children{list-style:none;margin:0;padding:18px}.attendance-org-root{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px}.attendance-org-node{position:relative;width:min(100%,360px)}.attendance-org-root>.attendance-org-node{flex:1 1 300px}.attendance-org-card{min-height:142px;padding:14px;border:1px solid #d8e0dc;border-left:4px solid #ef9f27;border-radius:6px;background:#fff;box-shadow:0 4px 12px rgba(20,42,32,.05)}.attendance-org-card.zone{border-left-color:#376aa6;background:#f7fbff}.attendance-org-card.team{border-left-color:#1d9e75;background:#f8fbf9}.attendance-org-card:hover{border-color:#efb24f}.attendance-org-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.attendance-org-count{color:var(--muted);font-size:11px}.attendance-org-card h3{margin:13px 0 8px;font-size:16px}.attendance-org-card p{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px}.attendance-org-card p b{color:var(--ink)}.attendance-org-card small{display:block;min-height:17px;margin-top:12px;padding-top:9px;border-top:1px solid #edf0ee;color:var(--muted);font-size:11px;line-height:1.5}.attendance-org-children{display:grid;gap:14px;padding:24px 0 0 22px;margin-left:20px;border-left:1px solid #cbd9d3}.attendance-org-children>.attendance-org-node{width:100%}.attendance-org-children>.attendance-org-node:before{content:'';position:absolute;left:-22px;top:34px;width:21px;border-top:1px solid #cbd9d3}@media(max-width:900px){.attendance-org-root{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-org-root>.attendance-org-node{width:auto}}@media(max-width:600px){.attendance-org-tree>.section-heading{align-items:flex-start;flex-direction:column;padding:14px 13px 0}.attendance-org-root{display:grid;grid-template-columns:1fr;padding:13px}.attendance-org-root>.attendance-org-node{width:100%}.attendance-org-card{min-height:0}.attendance-org-children{margin-left:10px;padding-left:16px}.attendance-org-children>.attendance-org-node:before{left:-17px;width:16px}.attendance-org-tree>.section-heading .text-button{padding-left:0}}
.app .smart-hr-side{position:static;top:auto;height:auto;background:transparent;color:var(--ink);padding:0;display:grid;gap:14px}@media(max-width:1180px){.app .smart-hr-side{grid-template-columns:1fr 1fr}}@media(max-width:900px){.app .smart-hr-side{display:grid;grid-template-columns:1fr}}
.roster-metrics{grid-template-columns:repeat(6,1fr)}.roster-metrics .metric{padding:13px}.roster-metrics .metric b{font-size:23px}.roster-table-section{padding:0}.roster-toolbar{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--line)}.roster-toolbar input{min-width:250px;flex:1}.roster-toolbar select{width:145px}.roster-query-button{min-width:72px;white-space:nowrap}.roster-toolbar span{margin-left:auto;color:var(--muted);white-space:nowrap}.roster-table{min-width:1560px}.roster-table th:last-child{width:84px}.roster-table td{vertical-align:middle;max-width:270px}.roster-table td small{white-space:normal;overflow-wrap:anywhere}.roster-table th:last-child,.roster-table td:last-child{position:sticky;right:0;z-index:1;min-width:84px;background:#fff;box-shadow:-8px 0 12px rgba(21,46,36,.05)}.roster-table th:last-child{z-index:2;background:#f8faf9}.roster-person{display:flex;align-items:center;gap:10px}.roster-person>span{width:34px;height:34px;flex:0 0 34px;border-radius:6px;background:#e7eff5;color:#326a99;display:grid;place-items:center;font-weight:800}.roster-person b,.roster-person small{display:block}.roster-employee-dialog{width:min(920px,calc(100% - 24px));max-height:calc(100vh - 28px);overflow:auto}.roster-form-section{font-size:15px;font-weight:750;padding:12px 0 4px;border-bottom:1px solid var(--line)}.roster-account-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}.roster-account-fields label{margin:0}.roster-invitations{padding:0}.roster-invitations>.section-heading{padding:16px 18px 0}.roster-invitations td:last-child{display:flex;align-items:center;gap:13px}.invitation-result{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:15px;border:1px solid var(--line);background:#f7f9f8}.invitation-result img{width:145px;height:145px;background:#fff;border:1px solid var(--line);padding:5px}.invitation-result span,.invitation-result strong,.invitation-result code,.invitation-result small{display:block}.invitation-result strong{font-size:25px;letter-spacing:1px;margin:2px 0 7px}.invitation-result code{padding:8px;background:#fff;border:1px solid var(--line);overflow-wrap:anywhere}.invitation-result small{color:var(--muted);margin-top:6px}.invitation-result .actions{margin-top:12px}.invitation-result .button{text-decoration:none}.roster-invitation-dialog{width:min(820px,calc(100% - 24px))}@media(max-width:1050px){.roster-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.roster-metrics{grid-template-columns:1fr 1fr}.roster-toolbar{align-items:stretch;flex-direction:column}.roster-toolbar input,.roster-toolbar select{width:100%;min-width:0}.roster-query-button{width:100%}.roster-toolbar span{margin-left:0}.roster-account-fields{grid-template-columns:1fr}.invitation-result{grid-template-columns:1fr}.invitation-result img{justify-self:center}.invitation-result .actions{display:grid;grid-template-columns:1fr 1fr}.invitation-result .actions .primary{grid-column:1/-1}.roster-invitations table{min-width:900px}}
.roster-table-wrap{max-height:560px;overflow:auto;border-bottom:1px solid var(--line)}.roster-table{border-collapse:separate;border-spacing:0}.roster-table thead th{position:sticky;top:0;z-index:3;background:#f8faf9;box-shadow:0 1px 0 var(--line)}.roster-table thead th:last-child{z-index:5}.roster-table td:last-child{z-index:2}.roster-page-size{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-weight:500;white-space:nowrap}.roster-page-size select{width:74px}.roster-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#fff;border-top:1px solid var(--line)}.roster-pager span{color:var(--muted);font-size:12px}.roster-pager>div{display:flex;align-items:center;gap:8px}.roster-pager .button{min-width:78px}@media(max-width:760px){.roster-table-wrap{max-height:520px}.roster-page-size{width:100%;justify-content:space-between}.roster-page-size select{width:100px}.roster-pager{align-items:stretch;flex-direction:column}.roster-pager>div{display:grid;grid-template-columns:1fr 1fr}.roster-pager .button{width:100%}}
.personnel-review{padding:20px}.personnel-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:16px 0}.personnel-review-grid div{padding:10px 0;border-bottom:1px solid #edf0ee;min-width:0}.personnel-review-grid span,.personnel-review-grid b{display:block}.personnel-review-grid span{font-size:12px;color:var(--muted)}.personnel-review-grid b{overflow-wrap:anywhere}@media(max-width:760px){.personnel-review-grid{grid-template-columns:1fr}}
.login-install{padding-top:14px;border-top:1px solid #edf0ee;text-align:center}.login-install small{display:block;color:var(--muted);margin-top:6px}.app-install-panel>.panel-body{display:flex;align-items:center;justify-content:space-between;gap:18px}.app-install-panel>.panel-body>div{display:flex;align-items:center;gap:13px}.app-install-panel img{width:52px;height:52px;border-radius:8px}.app-install-panel p,.app-install-panel b,.app-install-panel small{display:block;margin:0}.app-install-panel small{color:var(--muted);margin-top:2px}.install-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:7px;padding:0;box-shadow:0 24px 60px rgba(0,0,0,.22)}.install-dialog::backdrop{background:rgba(10,24,19,.52)}.install-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid var(--line)}.install-dialog-head h2,.install-dialog-head p{margin:0}.install-dialog-head h2{font-size:19px}.install-dialog-head p{color:var(--muted);margin-top:3px}.install-dialog-close{width:34px;height:34px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:21px;line-height:1}.install-guide-content{padding:18px 22px}.install-guide-content ol{margin:0;padding-left:22px}.install-guide-content li{padding:5px 0}.install-warning{margin:14px 0 0;padding:11px 12px;border-left:3px solid var(--orange);background:#fff8ef;color:#74401e}.install-dialog>.dialog-actions{margin:0 20px;padding:14px 0 20px}.install-dialog>.dialog-actions .button{min-width:96px}@media(display-mode:standalone){.install-entry{display:none!important}}@media(max-width:760px){.app-install-panel>.panel-body{align-items:stretch;flex-direction:column}.app-install-panel>.panel-body>.button{width:100%}.install-dialog{max-height:calc(100vh - 24px)}}
.permission-switch{display:inline-flex;grid-template-columns:none;align-items:center;gap:7px;margin:0;font-weight:500;white-space:nowrap}.permission-switch input{width:16px;height:16px;margin:0}.muted-text{color:var(--muted)}
.approval-designer{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.approval-designer-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--line);background:#fbfcfb}.approval-designer-tabs button{height:58px;padding:0 20px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:15px}.approval-designer-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.approval-designer-body{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:610px}.approval-type-list{padding:16px 12px;background:#f7f9f8;border-right:1px solid var(--line);display:grid;align-content:start;gap:5px}.approval-type-list>div{padding:4px 8px 11px}.approval-type-list b,.approval-type-list small{display:block}.approval-type-list small{margin-top:3px;color:var(--muted);font-size:12px}.approval-type-list button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:0;border-left:3px solid transparent;background:transparent;color:var(--ink);text-align:left;border-radius:4px}.approval-type-list button.active{border-left-color:var(--green);background:#e8f3ed;color:var(--green);font-weight:700}.approval-type-list button small{font-size:11px;color:var(--muted);font-weight:400}.approval-designer-content{min-width:0;padding:20px}.approval-designer-panel{min-height:475px}.approval-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid #edf0ee}.approval-panel-heading h3,.approval-panel-heading p{margin:0}.approval-panel-heading h3{font-size:18px}.approval-panel-heading p{margin-top:4px;color:var(--muted)}.approval-basic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:20px 0}.approval-basic-grid label{margin:0}.approval-basic-grid input[readonly]{background:#f7f9f8;color:#5e6a65}.approval-toggle{display:flex;align-items:flex-start;gap:11px;margin:0;padding:14px 0;border-top:1px solid #edf0ee;font-weight:400}.approval-toggle input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0}.approval-toggle b,.approval-toggle small{display:block}.approval-toggle small{margin-top:4px;color:var(--muted);line-height:1.45}.approval-toggle.compact{margin-top:4px}.approval-form-design{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(380px,1.28fr);gap:24px;padding-top:20px}.approval-phone-preview{width:min(100%,340px);margin:0 auto;border:9px solid #eef1ef;border-radius:24px;background:#f7f8f8;box-shadow:0 8px 22px rgba(20,43,33,.1);overflow:hidden}.approval-phone-head{padding:16px;background:#fff;border-bottom:1px solid var(--line)}.approval-phone-head b,.approval-phone-head small{display:block}.approval-phone-head small{margin-top:4px;color:var(--muted)}.approval-preview-field{padding:14px 16px;background:#fff;border-bottom:1px solid #edf0ee}.approval-preview-field b,.approval-preview-field span{display:block}.approval-preview-field span{margin-top:5px;color:#89948f;font-size:12px}.approval-preview-field em{color:var(--red);font-style:normal;margin-right:3px}.approval-field-list{border:1px solid var(--line);border-radius:5px;overflow:hidden;align-self:start}.approval-field-list article{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:13px 15px;border-bottom:1px solid #edf0ee}.approval-field-list article:last-child{border-bottom:0}.approval-field-list b,.approval-field-list span{display:block}.approval-field-list span{margin-top:3px;color:var(--muted);font-size:12px}.approval-field-list b small{margin-left:7px;color:var(--green);font-size:11px;font-weight:500}.approval-flow-layout{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(300px,1.15fr);gap:30px;padding:24px 10px}.approval-flow-canvas{display:grid;justify-items:center;align-content:start;gap:0;padding:8px 0}.approval-node{width:min(100%,270px);padding:13px 15px;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 4px 12px rgba(20,43,33,.07)}.approval-node b,.approval-node span{display:block}.approval-node span{margin-top:4px;color:var(--muted);font-size:12px}.approval-node.origin{border-top:4px solid #5573a8}.approval-node.leader{border-top:4px solid #e39738}.approval-node.manager{border-top:4px solid var(--green)}.approval-node.cc{border-top:4px solid #3485c6}.approval-node.muted{border-top:4px solid #b9c2bd;background:#f4f6f5;color:#84908a}.approval-flow-canvas>i{width:2px;height:27px;background:#d9e0dc;position:relative}.approval-flow-canvas>i:after{content:"";position:absolute;left:-3px;bottom:-1px;border:4px solid transparent;border-top-color:#d9e0dc}.approval-flow-end{padding:7px 15px;border-radius:16px;background:#f0f3f1;color:#7a8780;font-size:12px}.approval-process-settings{display:grid;align-content:start;gap:16px}.approval-process-settings label{margin:0}.approval-process-settings small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.approval-advanced-list{padding:5px 0}.approval-designer-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:16px;border-top:1px solid var(--line)}
.approval-cc-setting{border:1px solid var(--line);border-radius:6px;background:#fbfcfb;padding:0 12px}.approval-cc-setting .approval-toggle{border:0}.approval-cc-picker{display:grid;gap:9px;padding:0 0 12px}.approval-cc-selected{display:flex;flex-wrap:wrap;gap:7px;min-height:28px}.approval-cc-selected>span{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 7px 5px 10px;border:1px solid #b8d8c8;border-radius:4px;background:#edf7f2;color:#176b4a;font-size:12px}.approval-cc-selected>span button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:#47705e;font-size:17px;line-height:1}.approval-cc-selected>span button:hover{background:#d5ebdf}.approval-cc-picker>input{margin:0}.approval-cc-results{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff}.approval-cc-results>small{display:block;padding:11px 12px;color:var(--muted)}.approval-cc-results>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #edf0ee;background:#fff;text-align:left}.approval-cc-results>button:last-child{border-bottom:0}.approval-cc-results>button:hover{background:#f2f8f5}.approval-cc-results>button span,.approval-cc-results>button b,.approval-cc-results>button small{display:block}.approval-cc-results>button small{margin-top:2px}.approval-cc-results>button i{color:var(--green);font-style:normal;font-size:12px;font-weight:700}
.approval-designer{overflow:visible}.approval-designer-content{display:flex;flex-direction:column}.approval-designer-actions{position:sticky;bottom:0;z-index:4;align-items:center;flex-wrap:wrap;background:var(--panel);padding:12px 0}.approval-save-error{margin-right:auto;color:var(--red);font-size:12px;overflow-wrap:anywhere}.approval-save-error[hidden]{display:none}
.approval-cc-warning{margin:0 0 12px;padding:9px 10px;border-left:3px solid var(--orange);background:#fff8ef;color:#74401e;font-size:12px;overflow-wrap:anywhere}
@media(max-width:900px){.approval-designer-tabs{overflow:auto;padding:0 8px}.approval-designer-tabs button{white-space:nowrap;padding:0 14px}.approval-designer-body{grid-template-columns:1fr}.approval-type-list{display:flex;align-items:center;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.approval-type-list>div{display:none}.approval-type-list button{min-width:max-content}.approval-designer-content{padding:15px}.approval-form-design,.approval-flow-layout{grid-template-columns:1fr}.approval-flow-layout{gap:10px;padding-inline:0}.approval-basic-grid{grid-template-columns:1fr}.approval-field-list article{grid-template-columns:1fr auto}.approval-field-list article>div{grid-column:1/-1}.approval-panel-heading{align-items:flex-start;flex-direction:column}}
.request-special-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;padding:14px;border:1px solid var(--line);background:#f7f9f8}.request-special-fields[hidden]{display:none}.request-special-fields label{margin:0}.request-special-fields .notice{grid-column:1/-1;margin:0}.oa-launcher{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 18px;margin-bottom:17px}.oa-category-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.oa-category{height:82px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:11px 13px;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:1fr 1fr;align-items:center;text-align:left;gap:0 10px}.oa-category:hover,.oa-category.active{border-color:#7ca596;background:#f5faf7}.oa-category>span{grid-row:1/-1;width:40px;height:40px;border-radius:6px;display:grid;place-items:center;font-size:17px;font-weight:800}.oa-category .tone-1{background:#dff1fb;color:#1977b8}.oa-category .tone-2{background:#fff0d6;color:#b66a00}.oa-category .tone-3{background:#e2f2ea;color:#176b4d}.oa-category .tone-4{background:#f9e5e2;color:#a3483d}.oa-category b{align-self:end}.oa-category small{align-self:start;color:var(--muted)}.oa-category.active b{color:var(--green)}.oa-approval-list{padding:0}.oa-approval-list>.section-heading{padding:15px 18px 0}.oa-status-tabs{display:flex;gap:24px;padding:0 18px;border-bottom:1px solid var(--line)}.oa-status-tabs button{height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);display:flex;align-items:center;gap:7px}.oa-status-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.oa-status-tabs b{min-width:21px;height:21px;border-radius:11px;background:#eef2f0;display:grid;place-items:center;font-size:11px}@media(max-width:1000px){.oa-category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.request-special-fields{grid-template-columns:1fr}.oa-category-grid{grid-template-columns:repeat(2,1fr);gap:9px}.oa-category{height:74px;grid-template-columns:38px 1fr;padding:9px}.oa-category>span{width:36px;height:36px}.oa-category small{grid-column:2}.oa-status-tabs{gap:8px;overflow:auto;padding:0 12px}.oa-status-tabs button{flex:1;min-width:94px;justify-content:center}}
.face-review-metrics{grid-template-columns:repeat(5,1fr)}.face-review-workspace{padding:0}.face-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line)}.face-review-toolbar>span{color:var(--muted);white-space:nowrap}.face-review-tabs{display:flex;gap:22px;overflow:auto}.face-review-tabs button{height:50px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}.face-review-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.face-review-tabs b{min-width:21px;height:21px;border-radius:11px;background:#eef2f0;display:grid;place-items:center;font-size:11px}.desktop-face-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.desktop-face-review-card{display:grid;grid-template-columns:142px 1fr;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.face-review-photo{position:relative;min-height:196px;border:0;border-right:1px solid var(--line);background:#eef1ef;padding:0;overflow:hidden}.face-review-photo img{display:block;width:100%;height:100%;min-height:196px;object-fit:cover}.face-review-photo span{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:4px;background:rgba(20,34,29,.78);color:#fff;font-size:11px}.face-review-info{min-width:0;padding:15px;display:flex;flex-direction:column}.face-review-person{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.face-review-person h3,.face-review-person p{margin:0}.face-review-person h3{font-size:17px}.face-review-person p{margin-top:2px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.face-review-info dl{margin:12px 0}.face-review-info dl>div{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:4px 0}.face-review-info dt{color:var(--muted);font-size:12px}.face-review-info dd{margin:0;font-size:12px;overflow-wrap:anywhere}.face-review-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.face-review-empty{display:grid;gap:4px}.desktop-face-photo-dialog{width:min(620px,calc(100% - 24px));border:0;border-radius:7px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.24)}.desktop-face-photo-dialog::backdrop{background:rgba(10,24,19,.58)}.desktop-face-photo-dialog .dialog-head{margin-bottom:14px}.desktop-face-photo-dialog .icon-button{display:block;border:0;background:transparent;font-size:24px}.desktop-face-photo-dialog>img{display:block;max-width:100%;max-height:72vh;margin:0 auto;object-fit:contain;background:#eef1ef}@media(max-width:1180px){.desktop-face-review-grid{grid-template-columns:1fr}.face-review-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.face-review-metrics{grid-template-columns:1fr 1fr}.face-review-toolbar{align-items:flex-start;flex-direction:column;padding:0 12px 10px}.face-review-tabs{width:100%;gap:8px}.face-review-tabs button{min-width:88px;justify-content:center}.desktop-face-review-grid{padding:12px}.desktop-face-review-card{grid-template-columns:110px 1fr}.face-review-photo,.face-review-photo img{min-height:184px}.face-review-info{padding:12px}.face-review-person{align-items:flex-start;flex-direction:column}.face-review-actions .button{flex:1}}
.account-management-table{min-width:1420px}.account-management-table td{vertical-align:middle}.account-management-table .permission-switch{min-width:92px}.account-management-table th:last-child,.account-management-table td:last-child{position:sticky;right:0;z-index:1;background:#fff;white-space:nowrap;box-shadow:-8px 0 12px rgba(21,46,36,.05)}.account-management-table th:last-child{z-index:2;background:#f8faf9}
.account-management-table{min-width:1660px}.account-permission-summary{display:block;max-width:230px;white-space:normal;color:var(--muted);font-size:11px;margin-bottom:5px}.account-permission-dialog{width:min(720px,calc(100% - 24px))}.account-permission-dialog section{padding:16px 0;border-bottom:1px solid var(--line)}.account-permission-dialog section h4{margin:0 0 11px}.account-function-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.account-function-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:9px 10px;border:1px solid var(--line);background:#f8faf9;font-weight:500}.account-function-grid input{width:auto}.account-permission-dialog #accountDataUnitLabel[hidden]{display:none}@media(max-width:700px){.account-function-grid{grid-template-columns:1fr 1fr}}
.account-permission-dialog{width:min(1080px,calc(100% - 24px));max-height:92vh}.account-permission-dialog form{max-height:92vh;overflow:auto}.account-permission-dialog #accountPermissionModules>.module-permission-group{padding:14px 0 0;border:0}.account-permission-dialog #accountPermissionModules>.module-permission-group:last-child{padding-bottom:4px}.account-permission-dialog #accountPermissionModules>.module-permission-group h4{margin-bottom:9px}
.module-permission-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:start}.module-permission-members,.module-permission-workspace{border:1px solid var(--line);background:#fff}.module-permission-members{position:sticky;top:18px}.module-permission-members-head{display:grid;gap:8px;padding:16px;border-bottom:1px solid var(--line)}.module-permission-members-head input{width:100%;height:34px;padding:7px 9px;border:1px solid var(--line);border-radius:4px}.module-permission-members-head small{color:var(--muted);font-size:11px}.module-permission-search-empty{min-height:104px;display:grid;place-items:center;padding:14px;text-align:center}.module-permission-member{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:9px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #eef1ef;background:#fff;text-align:left}.module-permission-member:hover,.module-permission-member.active{background:#fff4df}.module-permission-member.active{box-shadow:inset 3px 0 0 var(--brand)}.module-permission-member>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f0ec;color:#176b4d;font-weight:700}.module-permission-member b,.module-permission-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-permission-member small{margin-top:3px;color:var(--muted);font-size:11px}.module-permission-member i{font-style:normal;color:var(--muted);font-size:12px;text-align:right}.module-permission-pager{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}.module-permission-pager[hidden]{display:none}.module-permission-pager span{grid-column:1/-1;color:var(--muted);font-size:12px;text-align:center}.module-permission-pager .button{width:100%;min-width:0;padding:7px 8px}.module-permission-workspace{min-height:620px;padding:24px}.module-permission-title,.module-role-section,.module-scope-section,.module-permission-section-head,.module-permission-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.module-permission-title{padding-bottom:18px;border-bottom:1px solid var(--line)}.module-permission-title h3{margin:0;font-size:20px}.module-permission-title p,.module-role-section small,.module-scope-section small,.module-permission-section-head small{display:block;margin:4px 0 0;color:var(--muted);font-size:12px}.module-role-section,.module-scope-section,.module-permission-section{padding:20px 0;border-bottom:1px solid var(--line)}.module-role-section select{min-width:150px;height:36px}.module-scope-section{display:grid;grid-template-columns:1fr auto;align-items:start}.module-scope-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.module-scope-options label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 9px;border:1px solid var(--line);background:#fafbf9;font-size:12px}.module-scope-options input{width:auto}.module-scope-section>label{grid-column:2;width:280px;margin-top:12px}.module-scope-section>label[hidden]{display:none}.module-scope-section select{width:100%;height:36px;margin-top:5px}.module-permission-section-head{align-items:flex-start}.module-permission-group{padding:16px 0 0}.module-permission-group h4{margin:0 0 10px;font-size:13px}.module-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-permission-card{display:grid;grid-template-columns:18px 32px minmax(0,1fr);gap:9px;align-items:start;margin:0;padding:12px;border:1px solid var(--line);background:#fafbf9;cursor:pointer}.module-permission-card.selected{border-color:var(--brand);background:#fff4df}.module-permission-card input{width:16px;height:16px;margin:1px 0}.module-permission-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:4px;background:#e7f0ec;color:#176b4d;font-weight:700}.module-permission-card b,.module-permission-card small{display:block}.module-permission-card small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.module-permission-actions{justify-content:flex-end;padding-top:18px}@media(max-width:900px){.module-permission-layout{grid-template-columns:1fr}.module-permission-members{position:static}.module-permission-workspace{min-height:auto;padding:16px}.module-permission-grid{grid-template-columns:1fr}.module-scope-section{grid-template-columns:1fr}.module-scope-options{justify-content:flex-start;margin-top:12px}.module-scope-section>label{grid-column:1;width:100%}}
.attendance-missing-summary{min-height:124px;display:grid;align-content:center;gap:6px;padding:18px;background:#fafbf9}.attendance-missing-summary b{font-size:28px;color:var(--ink)}.attendance-missing-summary span{color:var(--muted);font-size:12px}
.attendance-analysis{overflow:hidden}.attendance-analysis-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px;background:#f8faf9;border:1px solid var(--line)}.attendance-analysis-filters label{gap:5px;margin:0;font-size:12px;color:var(--muted)}.attendance-analysis-filters input,.attendance-analysis-filters select{height:36px;min-width:148px;padding:7px 9px}.attendance-analysis-dimensions{display:flex;border:1px solid var(--line);background:#fff}.attendance-analysis-dimensions button{min-width:42px;height:36px;border:0;border-right:1px solid var(--line);background:#fff}.attendance-analysis-dimensions button:last-child{border-right:0}.attendance-analysis-dimensions button.active{background:#fff0df;color:#74401e;box-shadow:inset 3px 0 0 #ef9f27;font-weight:700}.attendance-analysis-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px;border:1px solid var(--line);background:#fff}.attendance-analysis-metrics>div{padding:13px 15px;border-right:1px solid var(--line)}.attendance-analysis-metrics>div:last-child{border-right:0}.attendance-analysis-metrics span,.attendance-analysis-metrics small{display:block;color:var(--muted);font-size:12px}.attendance-analysis-metrics b{display:block;margin:3px 0;font-size:23px}.attendance-analysis-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;padding-top:18px}.attendance-analysis-grid section{min-width:0}.attendance-analysis-grid h4{margin:0 0 12px;font-size:14px}.attendance-trend{height:190px;display:flex;align-items:end;gap:5px;padding:20px 8px 0;border-bottom:1px solid var(--line);overflow:auto}.attendance-trend>div{height:100%;min-width:42px;flex:1;display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:4px}.attendance-trend i{display:block;width:min(24px,70%);background:#3d8567;min-height:4px}.attendance-trend b{font-size:11px}.attendance-trend span{font-size:10px;color:var(--muted)}.attendance-department-table{display:grid;gap:10px}.attendance-department-table>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,1.4fr) 46px;align-items:center;gap:10px}.attendance-department-table span b,.attendance-department-table span small{display:block}.attendance-department-table span small{margin-top:2px;color:var(--muted);font-size:11px}.attendance-department-table i{height:8px;overflow:hidden;background:#e8efeb}.attendance-department-table em{display:block;height:100%;background:#3d8567}.attendance-department-table>div>b{text-align:right;font-size:12px}@media(max-width:900px){.attendance-analysis-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-analysis-metrics>div:nth-child(3){border-right:0}.attendance-analysis-metrics>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.attendance-analysis-grid{grid-template-columns:1fr}}@media(max-width:520px){.attendance-analysis-filters{align-items:stretch}.attendance-analysis-filters label,.attendance-analysis-filters label input,.attendance-analysis-filters label select{width:100%}.attendance-analysis-metrics{grid-template-columns:1fr 1fr}.attendance-analysis-metrics>div{border-bottom:1px solid var(--line)}.attendance-analysis-metrics>div:nth-child(2n){border-right:0}.attendance-analysis-metrics>div:last-child{grid-column:1/-1}.attendance-analysis-grid{gap:16px}.attendance-department-table>div{grid-template-columns:minmax(90px,1fr) minmax(60px,1fr) 40px}}

/* Desktop navigation selection: warm background and a persistent orange left marker. */
@media(min-width:901px){.app aside nav{align-content:start;grid-auto-rows:min-content}.app aside .nav-button.active,.app aside .nav-button.active:hover{width:100%;min-height:42px;background:#fff0df;color:#74401e;font-weight:700;box-shadow:inset 3px 0 0 #ef9f27}.app aside .nav-children .nav-button.active:before{background:#ef9f27}.app aside .nav-parent.child-active{color:#fff}}

/* Shanghai Zuiqingfeng Health visual system. */
:root{--ink:#152a25;--muted:#64766e;--line:#d7e5de;--bg:#f2f8f5;--panel:#fff;--green:#087b68;--brand:#087b68;--green-soft:#e1f2eb;--orange:#b56a17;--red:#b94842;--blue:#1e70b7;--shadow:0 8px 24px rgba(15,89,72,.08)}
.login-screen{background:#e8f4ef}.app aside{background:#123f35;color:#e8f5ef}.brand{border-bottom-color:#2a5c50}.brand small{color:#b4d3c8}.nav-button{color:#c5ded5}.nav-button:hover{background:#1b5a4b;color:#fff}.logout{border-color:#3b6c60;color:#d4e9e1}.app aside .nav-button.active,.app aside .nav-button.active:hover{background:#dff2ea;color:#076553;box-shadow:inset 3px 0 0 #19a27f}.app aside .nav-children .nav-button.active:before{background:#19a27f}.workbench-welcome{background:#087b68;border-bottom-color:#4fb18d}.notice{background:#f2fbf7;color:#176151;border-left-color:#19a27f}.tag.warn{background:#fff2dc;color:#96530f}

/* Scheduling: heading and configuration action for the selected group's shift list. */
.schedule-shift-title{display:flex;align-items:center;gap:9px;margin-bottom:7px}.schedule-shift-title>span{font-weight:700}.schedule-shift-title .text-button{font-size:12px}

/* Desktop mirror of the employee mobile four-punch timeline. */
.four-punch-sync .section-heading>div{display:grid;gap:2px}.four-punch-time{display:inline-flex;min-width:52px;justify-content:center;border-radius:13px;padding:3px 7px;background:#f1f2f0;color:#7a837e;font-size:12px}.four-punch-time.recorded{background:#e3f2ea;color:var(--green);font-weight:700}

/* Permission workspace: explicit view and operate controls for every module. */
.permission-owner-banner{display:grid;grid-template-columns:max-content max-content 1fr;align-items:center;gap:10px;margin:-2px 0 16px;padding:12px 15px;border:1px solid #efc785;border-left:4px solid var(--brand);background:#fff8ec}.permission-owner-banner span{padding:3px 7px;border-radius:4px;background:#ef9f27;color:#fff;font-size:11px;font-weight:700}.permission-owner-banner b{color:#74401e}.permission-owner-banner small{color:#765e3c}.module-permission-card{grid-template-columns:32px minmax(0,1fr);cursor:default}.module-permission-copy b,.module-permission-copy small{display:block}.module-permission-copy small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.module-permission-toggles{grid-column:1/-1;display:flex;gap:8px;padding-top:9px;border-top:1px solid #e8ece9}.module-permission-toggles label{display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 8px;border:1px solid var(--line);background:#fff;color:#52605a;font-size:12px;font-weight:600}.module-permission-toggles input{width:15px;height:15px;margin:0;accent-color:var(--brand)}.module-permission-toggles label:has(input:checked){border-color:#d89b2f;background:#fff2d9;color:#74401e}@media(max-width:900px){.permission-owner-banner{grid-template-columns:1fr;gap:5px}}
.module-account-picker{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px;font-weight:600}.module-account-picker select{min-width:205px;height:35px;margin:0;background:#fff}.module-group-section{padding:20px 0;border-bottom:1px solid var(--line)}.module-group-section>div:first-child>b,.module-group-section>div:first-child>small{display:block}.module-group-section>div:first-child>small{margin-top:4px;color:var(--muted);font-size:12px}.module-group-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}.module-group-checks label{display:flex;align-items:center;gap:8px;margin:0;padding:9px 10px;border:1px solid var(--line);background:#fafbf9;cursor:pointer}.module-group-checks label:has(input:checked){border-color:#d89b2f;background:#fff4df}.module-group-checks input{width:16px;height:16px;margin:0;accent-color:var(--brand)}.module-group-checks span b,.module-group-checks span small{display:block}.module-group-checks span small{margin-top:2px;color:var(--muted);font-size:11px}.module-group-section>p{margin:10px 0 0;color:#9a6415;font-size:12px;font-weight:600}@media(max-width:1050px){.module-group-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.module-account-picker{grid-column:1/-1;width:100%}.module-account-picker select{width:100%}.module-group-checks{grid-template-columns:1fr}}

/* Permission account and role controls use their own full rows so labels and selected values remain visible. */
.module-permission-title{display:flex;align-items:flex-start}.module-permission-title>div{min-width:0}.module-permission-account-section,.module-role-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,460px);gap:16px;align-items:end;padding:18px 0;border-bottom:1px solid var(--line)}.module-permission-account-section>div,.module-role-section>div{min-width:0}.module-permission-account-section b,.module-permission-account-section small,.module-role-picker span{display:block}.module-permission-account-section small,.module-role-picker span{margin-top:4px;color:var(--muted);font-size:12px}.module-account-picker,.module-role-picker{display:grid;gap:5px;min-width:0;margin:0;color:var(--muted);font-size:12px;font-weight:600}.module-account-picker span{color:var(--muted);font-size:12px}.module-account-picker select,.module-role-picker select{width:100%;min-width:0;height:36px;margin:0;background:#fff}.module-role-section select{flex:none}.module-scope-section>div:first-child{min-width:0}.module-scope-options{max-width:100%}@media(max-width:980px){.module-permission-account-section,.module-role-section{grid-template-columns:1fr;gap:10px}.module-account-picker,.module-role-picker{width:100%}.module-scope-section{grid-template-columns:1fr}.module-scope-options{justify-content:flex-start;margin-top:12px}.module-scope-section>label{grid-column:1;width:100%}}

/* Shift editor: punch-rule controls mirror the attendance decision flow. */
.shift-punch-rules{margin-top:18px;border-top:1px solid #e6ece8;padding-top:17px}.shift-rule-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.shift-rule-title b{font-size:15px}.shift-rule-title span{font-size:11px;color:var(--muted)}.shift-rule-check{grid-template-columns:18px 1fr;align-items:start;gap:8px;margin:0;padding:9px 0;border-bottom:1px solid #edf0ee}.shift-rule-check input,.shift-rule-row input{width:auto;margin:4px 0}.shift-rule-check span b,.shift-rule-check span small{display:block}.shift-rule-check span small,.shift-rule-row label,.shift-rule-grid small{font-size:12px;color:var(--muted);font-weight:400}.shift-rule-row{display:grid;gap:9px;padding:13px 0;border-bottom:1px solid #edf0ee}.shift-rule-row>label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}.shift-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:14px}.shift-rule-grid label{margin:0;font-size:13px}.shift-rule-number>span{display:flex;align-items:center;gap:7px}.shift-rule-number>span input{width:auto;margin:0}.shift-rule-number>span b{font-size:13px}.shift-rule-number>div{display:grid;grid-template-columns:minmax(0,132px) auto;align-items:center;gap:8px;margin-top:7px}.shift-rule-number input[type="number"]{margin:0;padding:8px 9px}.shift-rule-number input:disabled{background:#f3f5f4;color:#9aa39e}.shift-rule-number em{font-size:13px;font-style:normal;color:var(--ink)}.shift-rule-number small{display:block;margin-top:6px}.shift-rule-more{margin-top:13px;color:var(--muted)}.shift-rule-more summary{cursor:pointer;font-size:13px}.shift-rule-more>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.shift-rule-more label{display:grid;grid-template-columns:auto 72px auto;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:400}.shift-rule-more input{padding:7px 8px}@media(max-width:600px){.shift-rule-grid,.shift-rule-more>div{grid-template-columns:1fr}.shift-rule-more label{grid-template-columns:auto 68px auto}}
.shift-punch-count{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #edf0ee}.shift-punch-count b,.shift-punch-count small{display:block}.shift-punch-count b{font-size:13px}.shift-punch-count small{margin-top:4px;color:var(--muted);font-size:12px}.shift-punch-count select{width:min(280px,42%);margin:0}.shift-window-effect{margin:14px 0 0;padding:13px 14px;border:1px solid #cfe3d8;background:#f4faf6;border-radius:6px}.shift-window-effect-head{display:grid;gap:4px}.shift-window-effect-head b{font-size:14px}.shift-window-effect-head small,.shift-window-effect p{color:var(--muted);font-size:12px;line-height:1.6}.shift-window-effect-list{display:grid;gap:7px;margin:11px 0 8px;padding-left:20px;color:#33443b;font-size:12px;line-height:1.55}.shift-window-effect-list li{padding-left:2px}.shift-window-effect-list b{color:var(--ink)}.shift-window-effect p{margin:0;padding-top:9px;border-top:1px solid #dbeae1}@media(max-width:600px){.shift-punch-count{display:grid;gap:8px}.shift-punch-count select{width:100%}.shift-window-effect{padding:12px}.shift-window-effect-list{padding-left:18px}}

/* Desktop palette aligned with the mobile green and light-green theme. */
html,body,.app,.app main{background:#edf8f2}
.app aside{background:#087b68;color:#edf8f2}
.brand{border-bottom-color:#48a491}.brand small,.nav-scroll-hint{color:#c5e8dc}
.nav-button,.nav-parent{color:#d8f0e7}.nav-button:hover,.nav-button.active,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent{background:#076552;color:#fff}
.nav-children .nav-button:before{background:#9bd4c4}.nav-children .nav-button.active{background:#e1f2eb;color:#087b68}.nav-children .nav-button.active:before{background:#087b68}
.logout{border-color:#75c3b0;color:#eefbf6}.app aside nav{scrollbar-color:#9bd4c4 transparent}
.app header{background:#f8fffa;border-bottom-color:#b9dec9}.content{background:#edf8f2}
.panel,.metric,.workspace-section,.app-center,.message-layout,.directory-summary,.contact-group,.payroll-flow,.stage-rules,.attendance-kpis,.attendance-proof,.module-permission-members,.module-permission-workspace{background:#f8fffa;border-color:#b9dec9}
th{background:#e1f2eb;border-bottom-color:#b9dec9}td,.message-item,.contact-row{border-bottom-color:#d9ecdf}
.permission-owner-banner{border-color:#b9dec9;border-left-color:#087b68;background:#e1f2eb}.permission-owner-banner span{background:#087b68}.permission-owner-banner b{color:#075d4d}.permission-owner-banner small{color:#387564}
.module-permission-member{background:#f8fffa;border-bottom-color:#d9ecdf}.module-permission-member:hover,.module-permission-member.active{background:#e1f2eb}.module-permission-member.active{box-shadow:inset 3px 0 0 #087b68}.module-permission-member>span,.module-permission-icon{background:#cfeede;color:#087b68}
.module-scope-options label,.module-permission-card,.module-group-checks label{background:#f8fffa;border-color:#b9dec9}.module-permission-card.selected,.module-group-checks label:has(input:checked){border-color:#087b68;background:#e1f2eb}.module-permission-toggles label:has(input:checked){border-color:#087b68;background:#e1f2eb;color:#075d4d}.module-group-section>p{color:#087b68}

.approval-field-editor{display:grid;gap:7px}.approval-field-editor label{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;margin:0;color:var(--muted);font-size:11px;font-weight:600}.approval-field-editor input{height:32px;padding:6px 8px}.approval-field-editor input[readonly]{background:#eef5f1;color:var(--muted)}.approval-field-editor small{color:var(--muted);font-size:11px}

/* Organization-unit hierarchy: present warehouse and teams as a vertical connected flow. */
.attendance-org-root{display:grid;justify-items:center;gap:0;padding:20px}.attendance-org-root>.attendance-org-node{width:min(100%,420px)}.attendance-org-children{display:grid;justify-items:center;gap:0;padding:30px 0 0;margin:0;border-left:0}.attendance-org-children>.attendance-org-node{width:min(100%,420px);padding-top:25px}.attendance-org-children>.attendance-org-node:before{left:50%;top:0;width:0;height:25px;border-top:0;border-left:1px solid #8fb9a9}.attendance-org-card{position:relative}.attendance-org-card:has(+ .attendance-org-children):after{content:'';position:absolute;left:50%;bottom:-31px;height:30px;border-left:1px solid #8fb9a9}
.attendance-org-card-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.attendance-org-card-actions .text-button{font-weight:700}
.attendance-org-node.draggable{cursor:grab}.attendance-org-node.dragging{opacity:.45;cursor:grabbing}.attendance-org-node.drop-target>.attendance-org-card{border-color:var(--brand);box-shadow:0 0 0 2px rgba(8,123,104,.15)}
.attendance-org-children.department-flow{position:relative;grid-template-columns:repeat(2,minmax(280px,420px));justify-content:center;column-gap:44px;width:min(100%,900px)}.attendance-org-children.department-flow:before{content:'';position:absolute;top:0;left:25%;right:25%;border-top:1px solid #8fb9a9}.attendance-org-children.department-flow>.attendance-org-node{width:100%}
@media(max-width:900px){.attendance-org-children.department-flow{grid-template-columns:1fr;width:100%;column-gap:0}.attendance-org-children.department-flow:before{display:none}}
@media(max-width:600px){.attendance-org-root{padding:13px}.attendance-org-root>.attendance-org-node,.attendance-org-children>.attendance-org-node{width:100%}}

/* Compact hierarchy cards keep the full warehouse-to-team flow visible on one screen. */
.attendance-org-root>.attendance-org-node{width:min(100%,360px)}.attendance-org-card{min-height:122px;padding:12px}.attendance-org-card h3{margin:10px 0 7px;font-size:15px}.attendance-org-card small{margin-top:10px;padding-top:8px}.attendance-org-children:not(.department-flow)>.attendance-org-node{width:min(100%,320px)}.attendance-org-children.department-flow{grid-template-columns:repeat(2,minmax(300px,390px));column-gap:30px;width:min(100%,820px)}.attendance-org-children.team-flow{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 14px;width:100%}.attendance-org-children.team-flow>.attendance-org-node{width:100%;padding-top:22px}.attendance-org-children.team-flow>.attendance-org-node:before{height:22px}.attendance-org-children.team-flow .attendance-org-card{min-height:112px;padding:10px}.attendance-org-children.team-flow .attendance-org-card h3{margin:8px 0 6px;font-size:14px}.attendance-org-children.team-flow .attendance-org-card p{gap:5px;font-size:11px}.attendance-org-children.team-flow .attendance-org-card small{margin-top:8px;padding-top:7px;min-height:15px}.attendance-org-children.team-flow .attendance-org-card-actions{gap:7px;margin-top:7px;padding-top:7px}.attendance-org-children.team-flow .text-button{font-size:12px}
@media(max-width:600px){.attendance-org-root>.attendance-org-node,.attendance-org-children:not(.department-flow)>.attendance-org-node{width:100%}.attendance-org-card{min-height:0}}

/* Account list: keep key identity columns visible while the remaining management fields scroll. */
.account-table-panel>.panel-title{align-items:center}.account-list-toolbar{display:flex;align-items:center;gap:8px;margin:0;flex-wrap:nowrap}.account-list-toolbar select{width:190px;min-width:150px}.account-list-toolbar input{width:280px;min-width:0}.account-management-table{border-collapse:separate;border-spacing:0}.account-management-table th,.account-management-table td{background:#f8fffa}.account-management-table th:nth-child(1),.account-management-table td:nth-child(1){position:sticky;left:0;min-width:154px;width:154px}.account-management-table th:nth-child(2),.account-management-table td:nth-child(2){position:sticky;left:154px;min-width:142px;width:142px}.account-management-table th:nth-child(3),.account-management-table td:nth-child(3){position:sticky;left:296px;min-width:202px;width:202px;box-shadow:8px 0 12px rgba(21,46,36,.05)}.account-management-table td:nth-child(-n+3){z-index:1}.account-management-table th:nth-child(-n+3){z-index:3;background:#e1f2eb}.account-management-table th:last-child,.account-management-table td:last-child{position:static;z-index:auto;background:#f8fffa;box-shadow:none}.account-management-table td:nth-child(1) small{display:block;margin-top:3px;color:var(--muted)}@media(max-width:760px){.account-table-panel>.panel-title{align-items:stretch;flex-direction:column}.account-list-toolbar input,.account-list-toolbar select{width:100%}.account-list-toolbar{width:100%;flex-wrap:wrap}}

.permission-search-mode{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.08)}.permission-mode-button{min-width:0;padding:8px;border:1px solid transparent;border-radius:4px;background:transparent;color:#e9fff5;font-weight:700}.permission-mode-button:hover{background:rgba(255,255,255,.12)}.permission-mode-button.active{border-color:#fff;background:#fff;color:#087b68;box-shadow:0 1px 4px rgba(0,0,0,.14)}.permission-mode-button.active:before{content:'✓';margin-right:5px}.permission-source-label{display:block;margin-top:7px;color:#087b68;font-size:12px}.group-manager-summary{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.group-manager-summary span{color:var(--muted);font-size:12px}.module-permission-member i{min-width:42px}.module-permission-member{grid-template-columns:34px minmax(0,1fr) auto}@media(max-width:760px){.module-permission-title,.module-role-section{align-items:flex-start;flex-direction:column}.group-manager-summary{justify-content:flex-start}}

/* Monthly attendance: each employee has one explicit status for every calendar day. */
.monthly-attendance-panel .panel-title{align-items:flex-start;gap:16px}.monthly-attendance-panel .panel-title>div:first-child{display:grid;gap:3px}.monthly-attendance-panel .panel-title small{color:var(--muted);font-size:12px}.monthly-attendance-legend-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.monthly-attendance-legend{padding:3px 7px;border-radius:3px;background:#edf1ef;color:#54615c;font-size:11px;white-space:nowrap}.monthly-attendance-legend.normal{background:#e3f2ea;color:#076553}.monthly-attendance-legend.late,.monthly-attendance-legend.early{background:#fff2dc;color:#96530f}.monthly-attendance-legend.leave,.monthly-attendance-legend.outing{background:#e7eef8;color:#315f91}.monthly-attendance-legend.rest,.monthly-attendance-legend.future{background:#eef1ef;color:#6e7974}.monthly-attendance-legend.missing{background:#fbe6e6;color:#a63333}.monthly-attendance-table{min-width:3300px;border-collapse:separate;border-spacing:0}.monthly-attendance-table th,.monthly-attendance-table td{background:#f8fffa}.monthly-attendance-table th{height:48px;vertical-align:middle}.monthly-attendance-person{position:sticky;left:0;z-index:3;min-width:144px;width:144px}.monthly-attendance-department{position:sticky;left:144px;z-index:3;min-width:132px;width:132px;box-shadow:8px 0 12px rgba(21,46,36,.05)}.monthly-attendance-table td.monthly-attendance-person{z-index:2}.monthly-attendance-person b,.monthly-attendance-person small{display:block}.monthly-attendance-person small{margin-top:2px;color:var(--muted);font-size:11px}.monthly-attendance-day-head{min-width:58px;width:58px;padding:5px 4px;text-align:center}.monthly-attendance-day-head b,.monthly-attendance-day-head small{display:block}.monthly-attendance-day-head small{margin-top:1px;color:var(--muted);font-size:10px;font-weight:400}.monthly-attendance-day{min-width:58px;width:58px;padding:5px 3px;text-align:center;vertical-align:middle}.monthly-attendance-day b,.monthly-attendance-day small{display:block}.monthly-attendance-day b{font-size:11px;line-height:1.35}.monthly-attendance-day small{max-width:56px;margin:2px auto 0;overflow:hidden;color:inherit;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.monthly-attendance-day.normal,.monthly-attendance-day.overtime,.monthly-attendance-day.corrected{background:#eaf7f0;color:#076553}.monthly-attendance-day.working{background:#e1f2eb;color:#076553}.monthly-attendance-day.late,.monthly-attendance-day.early{background:#fff5e5;color:#96530f}.monthly-attendance-day.leave,.monthly-attendance-day.outing{background:#ebf1fb;color:#315f91}.monthly-attendance-day.rest,.monthly-attendance-day.unscheduled,.monthly-attendance-day.future{background:#f0f3f1;color:#77817c}.monthly-attendance-day.missing{background:#fff0f0;color:#aa4545}.attendance-summary-column{min-width:104px;width:104px;text-align:center;white-space:nowrap}.attendance-overtime-validation{min-width:172px;width:172px}.attendance-overtime-validation b,.attendance-overtime-validation small{display:block}.attendance-overtime-validation small{margin-top:3px;font-size:10px;white-space:normal}.attendance-overtime-validation.passed small{color:#087058}.attendance-overtime-validation.failed{background:#fff0f0;color:#b42318}.attendance-overtime-validation.failed small{color:#b42318}@media(max-width:760px){.monthly-attendance-panel .panel-title{display:grid}.monthly-attendance-legend-list{justify-content:flex-start}.monthly-attendance-person{min-width:116px;width:116px}.monthly-attendance-department{left:116px;min-width:108px;width:108px}}

/* Exception handling: monthly employee-by-day matrix with actionable abnormal cells. */
.exception-status-tabs{display:grid;grid-template-columns:repeat(8,minmax(86px,1fr));margin-bottom:14px;border:1px solid var(--line);background:#fff}.exception-status-tabs button,.exception-status-tabs>div{position:relative;display:grid;gap:6px;place-items:center;min-height:66px;padding:10px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted)}.exception-status-tabs>div{border-right:0}.exception-status-tabs b{font-size:19px;color:var(--ink)}.exception-status-tabs button.active{color:var(--green);box-shadow:inset 0 -3px 0 var(--green)}.exception-status-tabs button.active b{color:var(--green)}.exception-month-panel{padding:0;overflow:hidden}.exception-month-toolbar{display:flex;align-items:end;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:#fff}.exception-month-toolbar label{display:grid;gap:4px;margin:0;font-size:11px;color:var(--muted)}.exception-month-toolbar select{width:150px;height:36px}.exception-month-search{display:flex;gap:7px;margin-left:auto}.exception-month-search input{width:270px;height:36px}.exception-month-toolbar>span{align-self:center;color:var(--muted);font-size:12px;white-space:nowrap}.exception-month-wrap{max-height:610px;overflow:auto}.exception-month-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.exception-month-table th,.exception-month-table td{height:54px;border-right:1px solid #e7ece9;border-bottom:1px solid #e7ece9;background:#fff;text-align:center}.exception-month-table thead th{position:sticky;top:0;z-index:5;height:48px;background:#f3f7f5;color:#53615b}.exception-month-table .monthly-attendance-day-head{min-width:94px;width:94px}.exception-person-column,.exception-id-column,.exception-department-column{position:sticky;text-align:left!important}.exception-person-column{left:0;z-index:3;min-width:132px;width:132px;padding:8px 10px}.exception-id-column{left:132px;z-index:3;min-width:92px;width:92px;padding:8px}.exception-department-column{left:224px;z-index:3;min-width:148px;width:148px;padding:8px;box-shadow:8px 0 12px rgba(21,46,36,.06)}.exception-month-table thead .exception-person-column,.exception-month-table thead .exception-id-column,.exception-month-table thead .exception-department-column{z-index:7;background:#e1f2eb}.exception-person-column b,.exception-person-column small{display:block}.exception-person-column small{margin-top:3px;color:var(--muted);font-size:10px}.exception-month-day{min-width:94px;width:94px;padding:0}.exception-month-day>button,.exception-month-day>div{display:grid;place-content:center;gap:3px;width:100%;height:100%;min-height:53px;padding:5px;border:0;background:transparent;color:inherit}.exception-month-day b,.exception-month-day small{display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exception-month-day b{font-size:11px;line-height:1.35}.exception-month-day small{font-size:9px;font-weight:400}.exception-month-day.normal,.exception-month-day.handled{background:#eff9f3;color:#087058}.exception-month-day.leave,.exception-month-day.outing{background:#edf3fb;color:#315f91}.exception-month-day.rest,.exception-month-day.future{background:#f3f5f4;color:#7b8580}.exception-month-day.exception{background:#fff4f4;color:#d52f2f}.exception-month-day.exception button{cursor:pointer;font-weight:700}.exception-month-day.exception button:hover,.exception-month-day.handled button:hover{box-shadow:inset 0 0 0 2px currentColor}.exception-month-day.handled button{cursor:pointer}.exception-month-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border-top:1px solid var(--line);background:#fff}.exception-month-footer span{color:var(--muted);font-size:12px}.exception-process-dialog{width:min(720px,calc(100% - 24px))}@media(max-width:1000px){.exception-status-tabs{grid-template-columns:repeat(4,1fr)}.exception-status-tabs button:nth-child(4){border-right:0}.exception-status-tabs button{border-bottom:1px solid var(--line)}}@media(max-width:760px){.exception-status-tabs{grid-template-columns:repeat(2,1fr)}.exception-month-toolbar{align-items:stretch;flex-direction:column}.exception-month-toolbar select,.exception-month-search,.exception-month-search input{width:100%}.exception-month-search{margin-left:0}.exception-month-toolbar>span{align-self:flex-start}.exception-person-column{min-width:112px;width:112px}.exception-id-column{left:112px;min-width:82px;width:82px}.exception-department-column{left:194px;min-width:116px;width:116px}.exception-month-footer{align-items:flex-start;flex-direction:column}}

.exception-status-tabs{grid-template-columns:repeat(7,minmax(86px,1fr))}

/* Report management: shared templates, period filters and editable export fields. */
.report-template-section{padding:0;overflow:hidden}.report-manager-toolbar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.report-manager-toolbar input{width:min(360px,60%)}.report-manager-toolbar span{margin-left:auto;color:var(--muted);font-size:12px}.report-template-section td:first-child b,.report-template-section td:first-child small,.report-settings-form small,.report-data-section .section-heading span{display:block}.report-template-section td:first-child small{margin-top:4px;color:var(--muted);font-size:10px}.report-data-section{padding:0;overflow:hidden}.report-data-section>.section-heading{padding:15px 16px;margin:0;border-bottom:1px solid var(--line)}.report-data-section .section-heading span{margin-top:4px;color:var(--muted);font-size:12px}.report-dimension-tabs{display:grid;grid-template-columns:repeat(3,72px);border:1px solid var(--line)}.report-dimension-tabs button{height:34px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-weight:700}.report-dimension-tabs button:last-child{border-right:0}.report-dimension-tabs button.active{background:var(--brand);color:#fff}.report-filter-bar{display:grid;grid-template-columns:160px 180px minmax(220px,1fr) auto;align-items:end;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:#f8fffa}.report-filter-bar label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px}.report-filter-bar input,.report-filter-bar select{width:100%;height:36px;margin:0}.report-preview-table{max-height:560px}.report-preview-table table{min-width:980px}.report-preview-table thead th{position:sticky;top:0;z-index:2}.report-editor-dialog{width:min(820px,calc(100% - 24px))}.report-column-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;border:1px solid var(--line)}.report-column-picker legend{padding:0 6px;font-size:13px;font-weight:800}.report-column-picker label{display:flex;align-items:center;gap:7px;margin:0;padding:8px;background:#f3f8f5;font-size:12px;font-weight:600}.report-column-picker input{width:auto;margin:0}.report-settings-form{align-items:start}.report-settings-form label>small{margin-top:5px;color:var(--muted);font-size:11px;font-weight:400}.report-setting-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-setting-toggles>label{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:9px;margin:0;padding:13px;border:1px solid var(--line);background:#f8fffa}.report-setting-toggles input{width:auto;margin:3px 0 0}.report-setting-toggles b,.report-setting-toggles small{display:block}.report-setting-toggles small{margin-top:4px}@media(max-width:900px){.report-filter-bar{grid-template-columns:1fr 1fr}.report-person-search{grid-column:1/-1}.report-setting-toggles{grid-template-columns:1fr}.report-column-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.report-manager-toolbar{align-items:stretch;flex-direction:column}.report-manager-toolbar input{width:100%}.report-manager-toolbar span{margin-left:0}.report-data-section>.section-heading{align-items:flex-start;flex-direction:column}.report-dimension-tabs{width:100%;grid-template-columns:repeat(3,1fr)}.report-filter-bar{grid-template-columns:1fr}.report-person-search{grid-column:auto}.report-column-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
.report-field-management{padding:0;overflow:hidden}.report-field-management>.section-heading{padding:15px 16px;margin:0;border-bottom:1px solid var(--line)}.report-field-management>.section-heading span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.report-field-toolbar{display:grid;grid-template-columns:280px minmax(240px,1fr) auto;align-items:end;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);background:#f8fffa}.report-field-toolbar label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px}.report-field-toolbar select,.report-field-toolbar input{width:100%;height:36px;margin:0}.report-field-toolbar>span{align-self:center;color:var(--muted);font-size:12px;white-space:nowrap}.report-field-table{min-width:820px;border-collapse:separate;border-spacing:0}.report-field-table th:last-child,.report-field-table td:last-child{position:sticky;right:0;z-index:1;width:132px;background:#f8fffa;box-shadow:-8px 0 12px rgba(21,46,36,.05)}.report-field-table th:last-child{z-index:2;background:#e1f2eb}.report-field-dialog{width:min(680px,calc(100% - 24px))}@media(max-width:760px){.report-field-toolbar{grid-template-columns:1fr}.report-field-toolbar>span{align-self:start}}

/* Per-shift punch-time range editor. */
.shift-time-heading .shift-range-trigger{margin-left:auto;margin-right:12px}.shift-range-dialog{width:min(600px,calc(100% - 24px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:0;border-radius:6px;box-shadow:0 22px 60px rgba(15,35,27,.24)}.shift-range-dialog::backdrop{background:rgba(13,28,22,.42)}.shift-range-dialog form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit}.shift-range-dialog header,.shift-range-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}.shift-range-dialog header h3{margin:0;font-size:18px}.shift-range-dialog header .icon-button{display:block}.shift-range-dialog footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.shift-range-dialog main{display:grid;gap:12px;padding:24px 18px;overflow:auto;background:#fff}.shift-range-card{border:1px solid #e2e6e4;border-radius:6px;background:#f7f8f8;overflow:hidden}.shift-range-card-title{padding:11px 13px;border-bottom:1px solid #e3e7e5;background:#f5f7f6}.shift-range-card-title b{font-size:14px}.shift-range-clock{padding:10px 13px 13px}.shift-range-clock+.shift-range-clock{border-top:1px solid #e5e8e6}.shift-range-time{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.shift-range-time>label:first-child{display:grid;grid-template-columns:66px 160px;align-items:center;gap:0;margin:0;color:var(--muted);font-weight:400}.shift-range-time input[type=time]{padding:7px 10px;background:#fff}.shift-range-required{display:flex;align-items:center;gap:7px;margin:0;color:var(--ink);font-weight:500}.shift-range-required input{width:auto}.shift-range-window{display:grid;grid-template-columns:94px minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:6px;margin-top:9px}.shift-range-window>span{color:var(--muted);font-size:13px}.shift-range-window>i{color:var(--muted);font-style:normal;text-align:center}.shift-range-window label{display:grid;grid-template-columns:auto minmax(92px,1fr);align-items:center;gap:7px;margin:0;color:var(--ink);font-size:13px;font-weight:400}.shift-range-window label b{white-space:nowrap;font-size:13px;font-weight:500}.shift-range-window select{padding:7px 28px 7px 9px;background-color:#fff}@media(max-width:600px){.shift-time-heading{flex-wrap:wrap}.shift-time-heading .shift-range-trigger{order:3;width:100%;margin:4px 0 0;text-align:left}.shift-range-dialog main,.shift-range-dialog header,.shift-range-dialog footer{padding-left:14px;padding-right:14px}.shift-range-time>label:first-child{grid-template-columns:66px minmax(0,150px)}.shift-range-window{grid-template-columns:1fr 18px 1fr}.shift-range-window>span{grid-column:1/-1}.shift-range-window label{grid-template-columns:1fr}.shift-range-window label b{font-size:12px}}
.shift-midday-window{display:grid;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:#fff8fa}.shift-midday-window b,.shift-midday-window small{display:block}.shift-midday-window small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.shift-midday-window-grid{display:grid;grid-template-columns:auto 108px 18px 108px;align-items:end;gap:7px}.shift-midday-window-grid label{display:grid;gap:5px;margin:0;color:var(--muted);font-size:12px}.shift-midday-window-grid label:nth-of-type(2){grid-column:2}.shift-midday-window-grid label:nth-of-type(3){grid-column:1}.shift-midday-window-grid label:nth-of-type(4){grid-column:2}.shift-midday-window-grid label span{visibility:hidden}.shift-midday-window-grid input{width:108px;padding:7px 8px;background:#fff}.shift-midday-window-grid i{font-style:normal;color:var(--muted);text-align:center}@media(max-width:600px){.shift-midday-window-grid{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.shift-midday-window-grid label{min-width:0}.shift-midday-window-grid label:nth-of-type(2){grid-column:3}.shift-midday-window-grid label:nth-of-type(3){grid-column:1}.shift-midday-window-grid label:nth-of-type(4){grid-column:3}.shift-midday-window-grid input{width:100%}}
.shift-daily-punch-times{display:grid;gap:12px;padding:15px 18px;border:1px solid var(--line);background:#fff8fa}.shift-daily-punch-times b,.shift-daily-punch-times small{display:block}.shift-daily-punch-times small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.shift-daily-punch-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.shift-daily-punch-time-grid label{display:grid;gap:5px;margin:0;color:var(--muted);font-size:12px;font-weight:400}.shift-daily-punch-time-grid label b{color:var(--ink);font-size:12px}.shift-daily-punch-label-head{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.shift-daily-range-button{padding:0;border:0;background:transparent;color:var(--green);font-size:11px;line-height:1.2;white-space:nowrap}.shift-daily-range-button:hover,.shift-daily-range-button:focus-visible{text-decoration:underline}.shift-daily-punch-time-grid input{width:100%;padding:8px 9px;background:#fff}.shift-range-list{display:grid;gap:12px}.shift-range-card-focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(18,130,103,.18)}@media(max-width:680px){.shift-daily-punch-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shift-specific rule guide uses the editable work periods and does not alter saved punch-rule fields. */
.shift-punch-rule-guide{margin:12px 0;border:1px solid #cfe4da;background:#f6fbf8}.shift-punch-rule-guide summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;color:#166d57;font-size:13px;font-weight:800}.shift-punch-rule-guide summary small{color:var(--muted);font-size:11px;font-weight:500}.shift-punch-rule-guide-body{padding:0 13px 13px}.shift-punch-rule-guide-body p{margin:0;padding:8px 10px;font-size:12px;line-height:1.55}.shift-punch-rule-priority{border-left:3px solid #168266;background:#e7f5ee;color:#155f4d}.shift-punch-rule-coverage{margin-top:7px!important;border-left:3px solid #85a99b;background:#fff;color:#58655f}.shift-punch-rule-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.shift-punch-rule-guide-list article{min-width:0;padding:9px 10px;border:1px solid #dceae3;background:#fff}.shift-punch-rule-guide-list b{display:flex;align-items:center;gap:6px;color:#204438;font-size:12px}.shift-punch-rule-guide-list b i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dff2e9;color:#126b53;font-size:10px;font-style:normal}.shift-punch-rule-guide-list span{display:block;margin-top:5px;color:#64726b;font-size:11px;line-height:1.55}.shift-punch-rule-empty{color:var(--muted)}@media(max-width:620px){.shift-punch-rule-guide summary{align-items:flex-start;flex-direction:column;gap:3px}.shift-punch-rule-guide-list{grid-template-columns:1fr}}

/* Independent severe-exception and missed-punch settings for each shift. */
.shift-more-settings{display:grid;gap:10px;margin-top:12px}.shift-more-rule{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:6px 14px;margin:0;padding:12px;border:1px solid #e1e9e4;border-radius:5px;background:#f7faf8}.shift-more-rule>span{display:flex;align-items:center;gap:8px}.shift-more-rule>span input{width:auto}.shift-more-rule>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.shift-more-rule>div input{padding:8px 9px}.shift-more-rule em{font-style:normal;font-size:12px}.shift-more-rule small{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.5}.monthly-attendance-legend.severe{background:#fde4e4;color:#b91c1c}.monthly-attendance-day.severe{background:#fde4e4;color:#b91c1c;box-shadow:inset 0 0 0 1px #f4b9b9}.exception-month-day.severe{background:#fde5e5;color:#b91c1c}.exception-month-day.severe button{cursor:pointer;font-weight:700}.exception-month-day.severe button:hover{box-shadow:inset 0 0 0 2px currentColor}@media(max-width:600px){.shift-more-rule{grid-template-columns:1fr}.shift-more-rule>div{max-width:180px}}

/* Monthly attendance confirmation candidate. */
.attendance-confirmation-section .section-heading h3,.attendance-confirmation-section .section-heading span{display:block}.attendance-confirmation-section .section-heading span{margin-top:3px}.attendance-confirmation-dialog,.attendance-confirmation-detail-dialog{width:min(760px,calc(100% - 24px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:0;border-radius:7px;box-shadow:0 22px 60px rgba(15,35,27,.24)}.attendance-confirmation-dialog::backdrop,.attendance-confirmation-detail-dialog::backdrop{background:rgba(13,28,22,.42)}.attendance-confirmation-dialog form{display:grid;grid-template-rows:auto auto auto minmax(180px,1fr) auto;max-height:inherit}.attendance-confirmation-dialog header,.attendance-confirmation-dialog footer,.confirmation-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.attendance-confirmation-dialog header h3,.attendance-confirmation-dialog header p,.confirmation-detail-head h3,.confirmation-detail-head p{margin:0}.attendance-confirmation-dialog header p,.confirmation-detail-head p{margin-top:3px;color:var(--muted);font-size:12px}.attendance-confirmation-dialog .icon-button,.attendance-confirmation-detail-dialog .icon-button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:4px;background:#f1f5f3;color:var(--ink);font-size:21px}.confirmation-picker-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px 0}.confirmation-picker-toolbar label{margin:0;color:var(--muted);font-size:12px}.confirmation-picker-toolbar select,.confirmation-picker-toolbar input{margin-top:4px}.confirmation-picker-actions{display:flex;align-items:center;gap:8px;padding:12px 20px}.confirmation-picker-actions span{margin-left:auto;color:var(--green);font-weight:700}.confirmation-employee-list{display:grid;align-content:start;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.confirmation-employee-list label{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;margin:0;padding:11px 20px;border-bottom:1px solid #edf1ef;font-weight:400}.confirmation-employee-list label:last-child{border-bottom:0}.confirmation-employee-list label:hover{background:#f8fbf9}.confirmation-employee-list input{width:17px;height:17px;margin:0;padding:0}.confirmation-employee-list b,.confirmation-employee-list small{display:block}.confirmation-employee-list small{margin-top:2px;color:var(--muted);font-size:12px}.confirmation-employee-list em{color:var(--muted);font-size:12px;font-style:normal}.attendance-confirmation-dialog footer{justify-content:flex-end;border-bottom:0}.confirmation-detail-head{position:sticky;top:0;background:#fff}.confirmation-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:20px}.confirmation-detail-summary div{padding:15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.confirmation-detail-summary div:nth-child(3n){border-right:0}.confirmation-detail-summary div:nth-last-child(-n+3){border-bottom:0}.confirmation-detail-summary span,.confirmation-detail-summary b{display:block}.confirmation-detail-summary span{color:var(--muted);font-size:12px}.confirmation-detail-summary b{margin-top:5px;font-size:23px}.confirmation-detail-status{margin:0 20px 20px;padding:13px 15px;border-left:3px solid var(--green);background:#f2f8f5}.confirmation-detail-status span{float:right;color:var(--green);font-weight:700}.confirmation-detail-status p{margin:8px 0 0;color:var(--muted)}@media(max-width:640px){.confirmation-picker-toolbar{grid-template-columns:1fr}.confirmation-detail-summary{grid-template-columns:repeat(2,1fr)}.confirmation-detail-summary div:nth-child(3n){border-right:1px solid var(--line)}.confirmation-detail-summary div:nth-child(2n){border-right:0}.confirmation-detail-summary div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.confirmation-detail-summary div:nth-last-child(-n+2){border-bottom:0}}
.confirmation-signature-preview{margin:0 20px 20px;border:1px solid var(--line);background:#fff}.confirmation-signature-preview>div{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid var(--line);background:#f8fbf9}.confirmation-signature-preview span{color:var(--muted);font-size:12px}.confirmation-signature-preview img{display:block;width:100%;height:150px;object-fit:contain;padding:10px;background:#fff}
.payslip-issue-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:14px 18px;border-left:4px solid #b97818;background:#fff8e9}.payslip-issue-status.issued{border-left-color:var(--green);background:#edf7f2}.payslip-issue-status>div:first-child b,.payslip-issue-status>div:first-child span{display:block}.payslip-issue-status>div:first-child span{margin-top:4px;color:var(--muted);font-size:12px}.payslip-issue-status>div:last-child{text-align:right}.payslip-issue-status>div:last-child span,.payslip-issue-status>div:last-child b{display:block}.payslip-issue-status>div:last-child span{color:var(--muted);font-size:12px}.payslip-issue-status>div:last-child b{margin-top:4px}@media(max-width:760px){.payslip-issue-status{align-items:flex-start;flex-direction:column}.payslip-issue-status>div:last-child{text-align:left}}

/* Shared group and employee filters for attendance, reports, proofs and payroll. */
.personnel-filter-bar{display:grid;grid-template-columns:minmax(180px,240px) minmax(220px,1fr) auto;align-items:end;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:#f8fffa}.personnel-filter-bar label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px}.personnel-filter-bar input,.personnel-filter-bar select{width:100%;height:36px;margin:0}.personnel-filter-bar>button{height:36px}.personnel-filter-bar>span{grid-column:1/-1;color:var(--muted);font-size:12px}.proof-filter-section,.payroll-filter-section{padding:0;overflow:hidden}.proof-filter-section .personnel-filter-bar{grid-template-columns:minmax(160px,220px) minmax(200px,1fr) auto minmax(220px,280px);border-bottom:0}.payroll-filter-section .personnel-filter-bar{border-bottom:0}.monthly-attendance-panel>.personnel-filter-bar{border-top:1px solid var(--line)}@media(max-width:760px){.personnel-filter-bar,.proof-filter-section .personnel-filter-bar{grid-template-columns:1fr}.personnel-filter-bar>button{width:100%}}
.attendance-statistics-actions{display:flex;align-items:center;gap:8px}.attendance-statistics-actions input{width:140px;margin:0}@media(max-width:520px){.attendance-statistics-actions{width:100%;flex-wrap:wrap}.attendance-statistics-actions .button,.attendance-statistics-actions input{flex:1;min-width:130px}}

/* Custom annual leave policy and Spring Festival duty adjustments. */
.annual-policy-section{padding:0;margin-bottom:14px}.annual-policy-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px}.annual-policy-head h3,.annual-policy-head p{margin:0}.annual-policy-head p{color:var(--muted);font-size:12px;margin-top:4px}.annual-policy-summary{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 16px}.annual-policy-summary span{padding:7px 9px;border:1px solid #dce8e1;border-radius:4px;background:#f6fbf8;font-size:12px}.annual-policy-toolbar{display:flex;align-items:end;gap:10px;padding:13px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.annual-policy-toolbar label{display:grid;gap:4px;margin:0;font-size:12px}.annual-policy-toolbar label input{width:120px}.annual-policy-toolbar>input{width:300px}.annual-policy-table table{min-width:1320px}.annual-policy-table td{vertical-align:middle}.annual-policy-table td small,.annual-policy-table td b{display:block}.annual-policy-table td small{color:var(--muted);font-size:11px;margin-top:3px}.annual-policy-section>footer{padding:12px 18px;color:var(--muted);font-size:12px}.annual-policy-dialog{width:min(760px,calc(100% - 24px))}.annual-adjustment-dialog{width:min(520px,calc(100% - 24px))}@media(max-width:720px){.annual-policy-head{align-items:stretch;flex-direction:column}.annual-policy-head .button{width:100%}.annual-policy-toolbar{align-items:stretch;flex-direction:column}.annual-policy-toolbar label input,.annual-policy-toolbar>input{width:100%}}

.login-remember{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-weight:400;color:var(--ink);cursor:pointer}.login-remember input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--green)}

/* Password icon represents the current visibility: crossed when hidden, open when visible. */
.login-password-field{position:relative;display:block}.login-password-field input{padding-right:48px}.login-password-field input::-ms-reveal,.login-password-field input::-ms-clear{display:none}.login-password-toggle{position:absolute;right:4px;top:50%;width:40px;height:38px;transform:translateY(-50%);display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted)}.login-password-toggle i{position:relative;width:20px;height:13px;border:2px solid currentColor;border-radius:70% 30%;transform:rotate(45deg)}.login-password-toggle i::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}.login-password-toggle::after{content:"";position:absolute;width:24px;height:2px;background:currentColor;transform:rotate(-45deg)}.login-password-toggle.is-visible{color:var(--green)}.login-password-toggle.is-visible::after{display:none}.login-password-toggle:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:4px}

/* Central dictionaries shared by onboarding and roster forms. */
.custom-config-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:620px;border:1px solid var(--line);background:#fff}.custom-config-tabs{padding:10px;border-right:1px solid var(--line);background:#f4f9f6}.custom-config-tabs button{display:grid;gap:3px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #e0ebe5;background:transparent;text-align:left}.custom-config-tabs button:hover{background:#eaf4ef}.custom-config-tabs button.active{background:var(--green);color:#fff}.custom-config-tabs b{font-size:13px}.custom-config-tabs small{color:inherit;opacity:.75}.custom-config-workspace{padding:20px}.custom-config-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.custom-config-head h3,.custom-config-head p{margin:0}.custom-config-head p{margin-top:4px;color:var(--muted);font-size:12px}.custom-option-list{display:grid;margin:14px 0;border:1px solid var(--line)}.custom-option-row{display:grid;grid-template-columns:38px minmax(220px,1fr) 112px 44px;align-items:end;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.custom-option-row:last-child{border-bottom:0}.custom-option-order{align-self:center;color:var(--muted);font-size:12px;text-align:center}.custom-option-row>label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:11px}.custom-option-row input[type=text],.custom-option-row input:not([type]){width:100%}.custom-option-status{display:flex!important;align-items:center;gap:7px;height:38px;color:var(--ink)!important}.custom-option-status input{width:auto;margin:0}.custom-option-fixed{align-self:center;color:var(--muted);font-size:10px;white-space:nowrap}.custom-option-row .icon-button{align-self:center;display:grid;place-items:center}.custom-config-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:760px){.custom-config-layout{grid-template-columns:1fr}.custom-config-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid var(--line)}.custom-config-workspace{padding:14px}.custom-config-head{align-items:stretch;flex-direction:column}.custom-option-row{grid-template-columns:30px minmax(0,1fr) 96px}.custom-option-row .icon-button,.custom-option-fixed{grid-column:3}.custom-config-actions{flex-direction:column}.custom-config-actions .button{width:100%}}

/* Confirmation delivery workflow candidate. */
.confirmation-workflow-band{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:8px;margin:0 0 16px;padding:16px 18px;border:1px solid #cfe0d8;background:#f4faf7}.confirmation-workflow-band>div{display:grid;gap:4px}.confirmation-workflow-band>div span{color:var(--muted);font-size:12px}.confirmation-workflow-band>div b{font-size:17px}.confirmation-workflow-band>div small{color:var(--muted)}.confirmation-workflow-band>i{color:var(--green);font-size:24px;font-style:normal;text-align:center}.confirmation-workflow-band .overdue b,.confirmation-workflow-band .overdue small{color:var(--coral)}
.confirmation-workflow-dialog{width:min(760px,calc(100vw - 32px))}.confirmation-auto-toggle{display:flex!important;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);background:#f7faf8}.confirmation-auto-toggle input{width:18px;height:18px;margin-top:2px}.confirmation-auto-toggle span,.confirmation-auto-toggle b,.confirmation-auto-toggle small{display:block}.confirmation-auto-toggle small{margin-top:4px;color:var(--muted)}.confirmation-setting-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}.confirmation-setting-groups section{padding:14px;border:1px solid var(--line);background:#fff}.confirmation-setting-groups h4{margin:0 0 12px}.confirmation-setting-groups label{display:grid;grid-template-columns:minmax(110px,1fr) 90px 34px;align-items:center;gap:8px;margin-top:9px}.confirmation-setting-groups input{width:100%}.confirmation-employee-list label.disabled{opacity:.55}.payslip-confirmation-progress{margin-top:16px}.payslip-confirmation-progress .section-heading>span{color:var(--muted);font-size:12px}.payslip-signature-preview{min-width:min(520px,calc(100vw - 72px))}
.payslip-sign-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;border:1px solid var(--line);background:#fff}.payslip-sign-summary>div{padding:14px 16px;border-right:1px solid var(--line)}.payslip-sign-summary>div:last-child{border-right:0}.payslip-sign-summary span,.payslip-sign-summary small,.payslip-sign-summary b{display:block}.payslip-sign-summary span,.payslip-sign-summary small{color:var(--muted);font-size:12px}.payslip-sign-summary b{margin:3px 0;font-size:25px}.payslip-sign-summary .signed b{color:var(--green)}.payslip-sign-summary .pending b{color:#a34f22}.payslip-group-progress{margin-bottom:16px;padding:14px;border:1px solid var(--line);background:#f8faf9}.payslip-group-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.payslip-group-progress-head>div b,.payslip-group-progress-head>div span{display:block}.payslip-group-progress-head>div span{margin-top:2px;color:var(--muted);font-size:12px}.payslip-group-list{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}.payslip-group-filter{min-width:0;border:1px solid var(--line);border-radius:5px;background:#fff;padding:10px 12px;color:var(--ink);text-align:left}.payslip-group-filter b,.payslip-group-filter span,.payslip-group-filter small{display:block;overflow:hidden;text-overflow:ellipsis}.payslip-group-filter span{margin:4px 0;color:#8a421f}.payslip-group-filter span strong{display:inline;color:#a34f22;font-size:18px}.payslip-group-filter small{color:var(--muted);font-size:11px}.payslip-group-filter:hover:not(:disabled),.payslip-group-filter.active{border-color:var(--green);background:var(--green-soft);box-shadow:inset 3px 0 var(--green)}.payslip-group-progress-head .payslip-group-filter{min-width:118px}.payslip-group-filter.complete{opacity:.72}.payslip-progress-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 10px}.payslip-progress-list-head b,.payslip-progress-list-head span{display:block}.payslip-progress-list-head span{margin-top:2px;color:var(--muted);font-size:12px}@media(max-width:980px){.payslip-group-list{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:620px){.payslip-sign-summary{grid-template-columns:1fr}.payslip-sign-summary>div{border-right:0;border-bottom:1px solid var(--line)}.payslip-sign-summary>div:last-child{border-bottom:0}.payslip-group-progress-head{align-items:stretch;flex-direction:column}.payslip-group-progress-head .payslip-group-filter{width:100%}.payslip-group-list{grid-template-columns:1fr}.payslip-progress-list-head{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.confirmation-workflow-band{grid-template-columns:1fr}.confirmation-workflow-band>i{display:none}.confirmation-setting-groups{grid-template-columns:1fr}}

/* Configurable payroll import columns. */
.payslip-import-template-dialog{width:min(820px,calc(100vw - 28px))}.payslip-import-template-field-head,.payslip-import-template-field{display:grid;grid-template-columns:58px minmax(210px,1fr) 110px 126px;align-items:center;gap:10px}.payslip-import-template-field-head{padding:0 10px;color:var(--muted);font-size:12px}.payslip-import-template-fields{display:grid;max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:6px}.payslip-import-template-field{padding:8px 10px;border-bottom:1px solid var(--line);background:#fff}.payslip-import-template-field:last-child{border-bottom:0}.payslip-import-template-field.custom{background:#f5fbf7}.payslip-import-template-field input{width:100%;min-width:0}.payslip-import-template-field input[type=checkbox]{width:18px}.payslip-import-field-kind{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 8px;border:1px solid #d8e5dd;background:#f5f9f7;color:var(--muted);font-size:12px;white-space:nowrap;cursor:pointer}.payslip-import-field-kind input[type=checkbox]{width:16px;height:16px;cursor:pointer}.payslip-import-field-kind:has(input:disabled){cursor:default}.payslip-import-template-dialog #resetPayslipImportTemplate{margin-right:auto}@media(max-width:680px){.payslip-import-template-field-head{display:none}.payslip-import-template-field{grid-template-columns:38px minmax(0,1fr) 112px}.payslip-import-field-kind{grid-column:2}.payslip-import-template-field .payslip-field-order{grid-column:3;grid-row:1/3}.payslip-import-template-dialog .dialog-actions{flex-wrap:wrap}.payslip-import-template-dialog #resetPayslipImportTemplate{width:100%;margin-right:0}}

/* Configurable public onboarding fields. */
.onboarding-form-config-dialog{width:min(860px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}.onboarding-form-config-dialog form{display:grid;grid-template-rows:auto minmax(240px,1fr) auto auto;max-height:inherit}.onboarding-form-config-fields{display:grid;gap:16px;margin:16px 0;overflow:auto}.onboarding-form-config-fields section{border:1px solid var(--line);background:#fff}.onboarding-form-config-fields h4{margin:0;padding:11px 13px;border-bottom:1px solid var(--line);background:#f3f8f5}.onboarding-form-config-head,.onboarding-form-config-row{display:grid;grid-template-columns:84px minmax(220px,1fr) 110px 110px;align-items:center;gap:10px}.onboarding-form-config-head{padding:8px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.onboarding-form-config-row{padding:9px 12px;border-bottom:1px solid #e9efeb}.onboarding-form-config-row:last-child{border-bottom:0}.onboarding-form-config-row>label{margin:0}.onboarding-form-config-row>label:first-of-type{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:8px}.onboarding-form-config-row>label:first-of-type>span{color:var(--muted);font-size:11px}.onboarding-form-config-row input{width:100%;min-width:0}.onboarding-config-toggle{display:flex!important;align-items:center;gap:7px;font-weight:500}.onboarding-config-toggle input{width:17px;height:17px;margin:0}.onboarding-config-toggle input:disabled+span{color:var(--muted)}.onboarding-form-config-dialog .notice{margin:0 0 14px}.onboarding-form-config-dialog #resetOnboardingFormConfig{margin-right:auto}@media(max-width:700px){.onboarding-form-config-head{display:none}.onboarding-form-config-row{grid-template-columns:76px minmax(0,1fr) 88px}.onboarding-form-config-row>label:first-of-type{grid-column:2/4;grid-row:1}.onboarding-form-config-row>.payslip-field-order{grid-column:1;grid-row:1/3}.onboarding-form-config-row>.onboarding-config-toggle{grid-row:2}.onboarding-form-config-dialog .dialog-actions{flex-wrap:wrap}.onboarding-form-config-dialog #resetOnboardingFormConfig{width:100%;margin-right:0}}

/* Compact confirmation used by approval actions; intentionally has no explanatory paragraph. */
.quick-confirm-dialog{width:max-content;min-width:0;max-width:calc(100vw - 24px);padding:0;border:0;border-radius:7px;box-shadow:0 18px 44px rgba(13,28,22,.24)}.quick-confirm-dialog::backdrop{background:rgba(13,28,22,.38)}.quick-confirm-dialog form{display:flex;width:max-content;max-width:100%;justify-content:flex-end;gap:9px;padding:14px}.quick-confirm-dialog .button{min-width:86px}

/* Offboarding archive notes, blacklist control and fixed QR entry. */
.offboarding-share{margin-top:0}.offboarding-archive-dialog{width:min(620px,calc(100vw - 24px))}.offboarding-blacklist-toggle{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;padding:13px;border:1px solid #e5caca;background:#fff8f8}.offboarding-blacklist-toggle input{width:18px;height:18px;margin:3px 0 0}.offboarding-blacklist-toggle b,.offboarding-blacklist-toggle small{display:block}.offboarding-blacklist-toggle b{color:#9e2f2f}.offboarding-blacklist-toggle small{margin-top:3px;color:var(--muted);font-weight:400}.offboarding-archive-dialog textarea{min-height:92px}

/* Keep the classified desktop navigation usable when an expanded group exceeds the viewport. */
.app aside nav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}.app aside .logout{flex:0 0 auto}

/* Training course, question bank and exam management candidate. */
.training-filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:14px;padding:13px 15px;border:1px solid var(--line);background:#fff}.training-filter-bar label{min-width:220px;margin:0;color:var(--muted);font-size:12px}.training-filter-bar select{height:38px;margin-top:4px;padding:7px 10px;color:var(--ink)}.training-filter-bar>span{margin-left:auto;padding-bottom:9px;color:var(--muted);font-size:12px;white-space:nowrap}.training-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.training-section-heading{align-items:center}.training-section-heading>div h3{margin:0}.training-section-heading>div span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.training-course-section .course-list{display:grid}.training-course-row{grid-template-columns:42px minmax(260px,1fr) 110px auto;align-items:center;gap:14px}.training-course-row .course-info>small{display:block;margin:5px 0 9px;color:var(--muted);font-size:12px}.training-course-status{display:grid;justify-items:start;gap:6px}.training-course-status small{color:var(--muted);font-size:11px}.training-course-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.training-course-dialog{width:min(680px,calc(100vw - 28px))}.training-course-dialog textarea{min-height:100px}.training-required-toggle{margin:0}.training-course-dialog #deleteTrainingCourse{margin-right:auto}.training-distribution-dialog{width:min(760px,calc(100vw - 28px))}.training-distribution-dialog form{display:grid;gap:16px}.training-audience-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.training-audience-mode label{margin:0}.training-audience-mode label+label{border-left:1px solid var(--line)}.training-audience-mode input{position:absolute;opacity:0}.training-audience-mode span{display:block;min-height:64px;padding:12px 14px;background:#fff}.training-audience-mode b,.training-audience-mode small{display:block}.training-audience-mode small{margin-top:4px;color:var(--muted)}.training-audience-mode input:checked+span{background:var(--green-soft);box-shadow:inset 0 -3px var(--green);color:var(--green)}.training-audience-picker{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:330px;border:1px solid var(--line)}.training-audience-picker>section{min-width:0;padding:14px}.training-audience-picker>section+section{border-left:1px solid var(--line)}.training-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.training-picker-heading small,.training-picker-heading span{color:var(--muted);font-size:12px}.training-group-picker,.training-person-picker{display:grid}.training-group-picker label,.training-person-picker label{margin:0;border-bottom:1px solid #edf1ef}.training-group-picker label:last-child,.training-person-picker label:last-child{border-bottom:0}.training-group-picker input,.training-person-picker input{width:16px;height:16px;margin:0}.training-group-picker label{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:9px;padding:10px 5px}.training-group-picker span{display:flex;justify-content:space-between;gap:8px}.training-group-picker small{color:var(--muted)}.training-person-picker{max-height:270px;margin-top:8px;overflow:auto}.training-person-picker label{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:9px;padding:9px 5px}.training-person-picker b,.training-person-picker small{display:block}.training-person-picker small{margin-top:3px;color:var(--muted);font-size:11px}@media(max-width:880px){.training-filter-bar label{min-width:0;flex:1}.training-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.training-course-row{grid-template-columns:42px minmax(0,1fr) 100px}.training-course-actions{grid-column:2/4}}@media(max-width:620px){.training-filter-bar{align-items:stretch;flex-direction:column}.training-filter-bar label{width:100%}.training-filter-bar>span{margin:0;padding:0}.training-section-heading{align-items:stretch;flex-direction:column}.training-section-heading .button{width:100%}.training-course-row{grid-template-columns:36px minmax(0,1fr)}.training-course-status{grid-column:2}.training-course-actions{grid-column:1/3}.training-course-actions .button{flex:1}.training-course-dialog .dialog-actions{flex-wrap:wrap}.training-course-dialog #deleteTrainingCourse{width:100%;margin-right:0}.training-audience-mode,.training-audience-picker{grid-template-columns:1fr}.training-audience-mode label+label,.training-audience-picker>section+section{border-left:0;border-top:1px solid var(--line)}.training-audience-picker{min-height:0}.training-person-picker{max-height:230px}}

/* Keep hidden audience radios from inheriting the global 100% input width and widening the dialog. */
.training-audience-mode label{position:relative}.training-audience-mode input{width:1px;height:1px;margin:0;pointer-events:none}
.training-record-section .section-heading{margin-bottom:10px}.training-record-table td:first-child b,.training-record-table td:first-child small{display:block}.training-record-table td:first-child small{margin-top:2px;color:var(--muted);font-size:11px}.training-record-table th:last-child,.training-record-table td:last-child{text-align:right}.training-record-table .button{min-width:96px}.training-action-empty{color:var(--muted)}

/* Attendance confirmation uses one eight-field calculation on desktop, mobile and export. */
.confirmation-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.confirmation-detail-summary div{border:0!important;background:#fff}@media(max-width:640px){.confirmation-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Desktop text hierarchy keeps operational screens readable without loosening compact layouts. */
@media(min-width:769px){
  small{font-size:13px;line-height:1.5}
  .nav-children .nav-button{font-size:15px;line-height:1.5}
  .nav-children .nav-button:before{width:6px;height:6px;transform:translateY(-50%)}
  th{font-size:14px;line-height:1.5}
  .tag{font-size:13px}
  .section-heading span,.training-section-heading>div span{font-size:13px;line-height:1.5}
  .training-filter-bar label,.training-filter-bar select,.training-filter-bar>span{font-size:14px;line-height:1.5}
  .course-info p,.training-course-row .course-info>small{font-size:14px;line-height:1.5}
  .training-course-status small,.training-picker-heading small,.training-picker-heading span,.training-person-picker small,.training-record-table td:first-child small{font-size:13px;line-height:1.5}
}

/* Candidate organization chart: company / warehouse -> department / team -> people. */
.attendance-org-tree{overflow:hidden}.attendance-org-canvas{min-height:360px;padding:22px 24px 30px;overflow:auto;background:#fbfcfc;scrollbar-color:#b9cbc4 #eef3f1;scrollbar-width:thin}.attendance-org-canvas .attendance-org-root,.attendance-org-canvas .attendance-org-children{display:flex;flex-direction:column;align-items:flex-start;justify-items:unset;width:max-content;min-width:0;margin:0;padding:0;gap:12px;border:0;list-style:none}.attendance-org-canvas .attendance-org-root{min-width:100%;padding:4px 0}.attendance-org-canvas .attendance-org-node{position:relative;display:flex;align-items:center;width:auto!important;max-width:none;padding:8px 0}.attendance-org-canvas .attendance-org-root>.attendance-org-node{flex:0 0 auto;width:max-content!important}.attendance-org-canvas .attendance-org-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;width:286px;min-height:0;padding:12px;border:1px solid #d5dfdb;border-left:1px solid #d5dfdb;border-radius:6px;background:#fff;box-shadow:0 3px 10px rgba(20,42,32,.05)}.attendance-org-canvas .attendance-org-card:hover,.attendance-org-canvas .attendance-org-card.selected{border-color:#7eb3a2;box-shadow:0 5px 16px rgba(20,42,32,.09)}.attendance-org-canvas .attendance-org-card.selected{background:#f7fbf9}.attendance-org-canvas .attendance-org-unit-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:6px;background:#fff0df;color:#a65c10;font-size:14px;font-weight:800}.attendance-org-canvas .attendance-org-card.zone .attendance-org-unit-icon{background:#eaf4ff;color:#376aa6}.attendance-org-canvas .attendance-org-card.team .attendance-org-unit-icon{background:#e8f7f1;color:#087b68}.attendance-org-canvas .attendance-org-card-body{min-width:0}.attendance-org-canvas .attendance-org-card-head{min-height:20px}.attendance-org-canvas .attendance-org-count{white-space:nowrap}.attendance-org-canvas .attendance-org-card h3{margin:4px 0 5px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.attendance-org-canvas .attendance-org-card p{gap:6px;font-size:12px}.attendance-org-canvas .attendance-org-card p span{color:var(--muted)}.attendance-org-canvas .attendance-org-card p b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-org-canvas .attendance-org-card-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;gap:4px 10px;margin-top:9px;padding-top:8px}.attendance-org-canvas .attendance-org-card-actions .text-button{padding:2px 0;font-size:12px}.attendance-org-canvas .attendance-org-card-actions .org-focus-button{color:var(--green);font-weight:800}.attendance-org-canvas .attendance-org-card:after{display:none!important}.attendance-org-canvas .attendance-org-children{position:relative;margin-left:44px;padding-left:44px}.attendance-org-canvas .attendance-org-children.department-flow,.attendance-org-canvas .attendance-org-children.team-flow,.attendance-org-canvas .attendance-org-children.person-flow{display:flex;grid-template-columns:none;align-items:flex-start;width:max-content;column-gap:0}.attendance-org-canvas .attendance-org-children.person-flow{max-height:520px;padding-right:9px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#b9cbc4 #eef3f1;scrollbar-width:thin}.attendance-org-canvas .attendance-org-children.department-flow:before{display:none}.attendance-org-canvas .attendance-org-children>.attendance-org-node,.attendance-org-canvas .attendance-org-person-node{position:relative;width:auto!important;padding:6px 0}.attendance-org-canvas .attendance-org-children>.attendance-org-node:before,.attendance-org-canvas .attendance-org-person-node:before{content:'';position:absolute;left:-44px;top:50%;width:44px;height:0;border:0;border-top:1px solid #a9c2b9}.attendance-org-canvas .attendance-org-children>.attendance-org-node:after,.attendance-org-canvas .attendance-org-person-node:after{content:'';position:absolute;left:-44px;top:-6px;bottom:-6px;width:0;border-left:1px solid #a9c2b9}.attendance-org-canvas .attendance-org-children>:first-child:after{top:50%}.attendance-org-canvas .attendance-org-children>:last-child:after{bottom:50%}.attendance-org-canvas .attendance-org-children>:only-child:after{display:none}.attendance-org-canvas .attendance-org-node>.attendance-org-children:before{content:'';position:absolute;left:-44px;top:50%;width:44px;border-top:1px solid #a9c2b9}.attendance-org-canvas .attendance-org-person-node{display:flex;align-items:center;list-style:none}.attendance-org-canvas .attendance-org-person{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:218px;min-height:48px;padding:7px 9px;border:1px solid #dce5e1;border-radius:6px;background:#fff}.attendance-org-canvas .attendance-org-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#eaf4ff;color:#376aa6;font-size:12px;font-weight:800}.attendance-org-canvas .attendance-org-person b,.attendance-org-canvas .attendance-org-person small{display:block;line-height:1.4}.attendance-org-canvas .attendance-org-person b{font-size:13px}.attendance-org-canvas .attendance-org-person small{color:var(--muted);font-size:11px}.attendance-org-canvas .attendance-org-person em{padding:2px 5px;border:1px solid #a8dcc9;border-radius:9px;background:#effaf6;color:#087b68;font-size:10px;font-style:normal;white-space:nowrap}.attendance-org-canvas .empty-person{min-height:48px;width:218px;padding:13px;border:1px dashed #cbd9d3;border-radius:6px;background:#fff;color:var(--muted);font-size:12px}.attendance-org-canvas .attendance-org-node.draggable{cursor:grab}.attendance-org-canvas .attendance-org-node.dragging{cursor:grabbing}
@media(max-width:700px){.attendance-org-tree{overflow:visible}.attendance-org-tree>.section-heading{align-items:flex-start;flex-direction:column}.attendance-org-canvas{min-height:0;padding:14px 12px 20px;overflow:visible}.attendance-org-canvas .attendance-org-root,.attendance-org-canvas .attendance-org-children{display:block;width:100%;min-width:0}.attendance-org-canvas .attendance-org-node,.attendance-org-canvas .attendance-org-root>.attendance-org-node{display:block;width:100%!important;padding:5px 0}.attendance-org-canvas .attendance-org-card{width:100%;max-width:none}.attendance-org-canvas .attendance-org-children,.attendance-org-canvas .attendance-org-children.department-flow,.attendance-org-canvas .attendance-org-children.team-flow,.attendance-org-canvas .attendance-org-children.person-flow{display:block;width:auto;max-height:none;margin:5px 0 0 18px;padding-left:20px;overflow:visible;border-left:1px solid #a9c2b9}.attendance-org-canvas .attendance-org-node>.attendance-org-children:before{display:none}.attendance-org-canvas .attendance-org-children>.attendance-org-node:before,.attendance-org-canvas .attendance-org-person-node:before{left:-20px;width:20px}.attendance-org-canvas .attendance-org-children>.attendance-org-node:after,.attendance-org-canvas .attendance-org-person-node:after{display:none}.attendance-org-canvas .attendance-org-person{width:100%}.attendance-org-canvas .empty-person{width:100%}}

/* Candidate: search and group filtering in the organization personnel editor. */
.organization-member-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,190px) 82px;gap:9px;align-items:center;margin-top:10px}.organization-member-filter input,.organization-member-filter select,.organization-member-filter .button{width:100%;height:38px;margin:0}.organization-member-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:12px}.organization-member-filter-summary span:last-child{color:var(--green);font-weight:700}.organization-member-dialog #attendanceOrganizationMemberPicker{margin-top:8px}.organization-member-dialog #attendanceOrganizationTargetTeamSection{margin-top:18px;padding:14px;border:1px solid #d5e1dc;background:#f6faf8}.organization-member-dialog #attendanceOrganizationTargetTeamSection h4{margin:0 0 10px;font-size:14px}.organization-member-dialog #attendanceOrganizationTargetTeamSection label{display:block;margin:0}.organization-member-help{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.organization-member-picker [data-attendance-personnel-row][hidden]{display:none!important}@media(max-width:600px){.organization-member-filter{grid-template-columns:1fr 1fr}.organization-member-filter input{grid-column:1/-1}.organization-member-filter .button{width:100%}}
.organization-member-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0ee}.organization-member-row label{flex:1;border-bottom:0}.organization-member-row .text-button{flex:0 0 auto;white-space:nowrap}@media(max-width:600px){.organization-member-row{align-items:flex-start}.organization-member-row label{min-width:0}}

/* Candidate: keep the parent-to-branch connector continuous on the desktop chart. */
@media(min-width:701px){.attendance-org-canvas .attendance-org-node>.attendance-org-children.department-flow:before{display:block}}

/* Candidate: XLSX import and export controls for employee leave balances. */
.dashboard-lower{grid-template-columns:1fr}
.dashboard-work-items{padding-bottom:8px}.dashboard-work-items .section-heading{margin-bottom:8px}.dashboard-work-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.dashboard-work-item-list button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.dashboard-work-item-list button:hover b,.dashboard-work-item-list button:hover strong{color:var(--brand)}.dashboard-work-item-list em{display:grid;place-items:center;width:30px;height:30px;border-radius:4px;background:var(--green-soft);color:var(--brand);font-style:normal;font-weight:750}.dashboard-work-item-list b,.dashboard-work-item-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-work-item-list b{font-size:14px}.dashboard-work-item-list small{margin-top:3px;color:var(--muted);font-size:12px}.dashboard-work-item-list strong{color:var(--brand);font-size:12px;white-space:nowrap}.dashboard-work-empty{padding:10px 0 5px;color:var(--muted);font-size:13px}@media(max-width:760px){.dashboard-work-item-list{grid-template-columns:1fr}}
.leave-balance-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:0 0 4px}.leave-balance-actions>span{margin-right:auto;font-weight:700;color:var(--ink)}.leave-balance-actions .button{white-space:nowrap}@media(max-width:640px){.leave-balance-actions{display:grid;grid-template-columns:1fr}.leave-balance-actions>span{margin-right:0}.leave-balance-actions .button{width:100%}}

/* Candidate: complete workbench shortcuts generated from the protected navigation. */
.dashboard-leave-actions{display:grid;grid-template-columns:repeat(2,minmax(180px,240px));gap:10px;padding:8px 0 12px;border-bottom:1px solid #edf0ee}.dashboard-leave-action{min-height:54px}.dashboard-leave-action>span{background:#eef6f2;color:var(--green)}

/* Desktop login uses the requested coral accent; the signed-in desktop theme stays unchanged. */
.login-screen{background:#fff0f4}.login-panel{border-color:#f4c5d3;box-shadow:0 8px 24px rgba(196,70,108,.10)}.login-panel input{border-color:#e9bdcb}.login-panel .brand-mark,.login-panel .button.primary{background:#ff3d70;border-color:#ff3d70}.login-panel .login-password-toggle.is-visible{color:#d34b70}.login-panel .login-password-toggle:focus-visible{outline-color:#ff3d70}

/* Unified coral visual theme; operational and attendance rules are unchanged. */
:root{--ink:#371923;--muted:#80616c;--line:#f3cad7;--bg:#fff5f8;--panel:#fff;--green:#ff3d70;--brand:#ff3d70;--green-soft:#ffe7ee;--orange:#a85a11;--red:#bd3550;--blue:#a7466a;--shadow:0 8px 24px rgba(170,32,78,.11)}
input,select,textarea{border-color:#e7bfcf}.button.primary{background:var(--brand);border-color:var(--brand)}.button:disabled{background:#f2dce4;border-color:#f2dce4;color:#967b85}.login-password-toggle.is-visible{color:var(--brand)}.login-password-toggle:focus-visible{outline-color:var(--brand)}
.app aside{background:#8f1f44;color:#fff4f7}.brand{border-bottom-color:#b84b6b}.brand small{color:#ffd8e4}.nav-button,.nav-parent{color:#ffe1e9}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent{background:#b52a56;color:#fff}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff0f4;color:#b21f4c;box-shadow:inset 3px 0 0 #ff3d70}.nav-children .nav-button:before{background:#f6a3ba}.nav-children .nav-button.active:before{background:#ff3d70}.logout{border-color:#d77391;color:#fff4f7}.app aside nav{scrollbar-color:#e98aa7 transparent}.nav-section-title,.nav-scroll-hint{color:#ffd1df}.nav-button.restricted,.nav-button.restricted:hover{color:#e6a9ba}
.app header{background:#fffafd;border-bottom-color:#f0c6d3}.content{background:#fff5f8}.identity i{background:var(--green-soft);color:#b21f4c}.workbench-welcome{background:#b21f4c;border-bottom-color:#ff8dad}.workbench-welcome p,.workbench-welcome span{color:#ffe5ed}.workbench-miniapp-button{color:#b21f4c}.workbench-miniapp-button:hover{background:#fff0f4}.notice{border-left-color:#ff3d70;background:#fff1f5;color:#8f2748}.dashboard-shortcut,.app-tile,.metric,.panel,.workspace-section,.dashboard-shortcuts,.contact-group,.directory-summary{border-color:#f1c6d2}.dashboard-shortcut:hover,.app-tile:hover{border-color:#ef92ad;background:#fff8fa}.dashboard-shortcut:nth-child(4n+3)>span,.app-tile:nth-child(4n+3) span{background:var(--green-soft);color:#b21f4c}.message-filter button.active{background:var(--green-soft);color:#b21f4c}.tag.ok{background:var(--green-soft);color:#b21f4c}.clock-header,.clock-action{background:var(--brand)}.clock-header small{color:#ffe1e9}.clock-action.out{color:var(--brand);border-color:var(--brand)}.timeline-item:before,.audit-item,.clock-person-control{border-color:var(--brand)}.clock-person-control{background:#fff5f8}.toast{background:#5c1d31}.workbench-category-head button,.text-button,.contact-row a{color:#b21f4c}.contact-row a{border-color:#efb3c4}.custom-config-tabs{background:#fff7f9}.custom-config-tabs button:hover{background:#fff0f4}.confirmation-workflow-band{border-color:#f1bfd0;background:#fff6f8}.confirmation-workflow-band>i{color:var(--brand)}.quick-confirm-dialog{box-shadow:0 18px 44px rgba(81,18,40,.24)}.quick-confirm-dialog::backdrop{background:rgba(81,18,40,.38)}
.nav-subgroup-parent{color:#ffe1e9}.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#b52a56;color:#fff}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#ff3d70;color:#fff;box-shadow:none}.nav-subgroup-pages .nav-button.active:before{background:#fff}

/* Softer coral palette for the unified theme. */
:root{--green:#d96786;--brand:#d96786;--green-soft:#fff0f4;--line:#f1cbd6;--bg:#fff7f9;--shadow:0 8px 24px rgba(171,55,89,.09)}
.login-screen{background:#fff4f7}.login-panel{border-color:#f1cbd6}.login-panel .brand-mark,.login-panel .button.primary{background:#d96786;border-color:#d96786}.app aside{background:#9f4862}.brand{border-bottom-color:#c57489}.nav-button,.nav-parent,.nav-subgroup-parent{color:#ffe7ed}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#b55773}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff4f7;color:#aa4b67;box-shadow:inset 3px 0 0 #d96786}.nav-children .nav-button.active:before{background:#d96786}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#d96786;color:#fff}.workbench-welcome{background:#bd5877;border-bottom-color:#eaa4b6}.workbench-miniapp-button,.workbench-category-head button,.text-button,.contact-row a{color:#aa4b67}.notice{border-left-color:#d96786;background:#fff4f7}.identity i,.message-filter button.active,.tag.ok{color:#aa4b67}.clock-header,.clock-action{background:#d96786}.clock-action.out{color:#d96786;border-color:#d96786}

/* Bright coral-pink palette. */
:root{--green:#ff5a86;--brand:#ff5a86;--green-soft:#ffe9f0;--line:#f4c5d2;--bg:#fff6f9;--shadow:0 8px 24px rgba(206,44,91,.10)}
.login-screen{background:#fff0f5}.login-panel{border-color:#f4c5d2}.login-panel .brand-mark,.login-panel .button.primary{background:#ff5a86;border-color:#ff5a86}.app aside{background:#a93d5f}.brand{border-bottom-color:#ce6b88}.nav-button,.nav-parent,.nav-subgroup-parent{color:#ffebf1}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#c44d70}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff1f5;color:#bd3f65;box-shadow:inset 3px 0 0 #ff5a86}.nav-children .nav-button.active:before{background:#ff5a86}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#ff5a86;color:#fff}.workbench-welcome{background:#cf4b72;border-bottom-color:#ff9ab5}.workbench-miniapp-button,.workbench-category-head button,.text-button,.contact-row a{color:#bd3f65}.notice{border-left-color:#ff5a86;background:#fff2f6}.identity i,.message-filter button.active,.tag.ok{color:#bd3f65}.clock-header,.clock-action{background:#ff5a86}.clock-action.out{color:#ff5a86;border-color:#ff5a86}

/* Light bright-coral palette. */
:root{--green:#f47799;--brand:#f47799;--green-soft:#ffeff4;--line:#f4cdd8;--bg:#fff8fa;--shadow:0 8px 24px rgba(191,59,99,.08)}
.login-screen{background:#fff4f7}.login-panel{border-color:#f4cdd8}.login-panel .brand-mark,.login-panel .button.primary{background:#f47799;border-color:#f47799}.app aside{background:#ad4b68}.brand{border-bottom-color:#d9869c}.nav-button,.nav-parent,.nav-subgroup-parent{color:#fff0f4}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#c76582}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff5f8;color:#b95270;box-shadow:inset 3px 0 0 #f47799}.nav-children .nav-button.active:before{background:#f47799}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#f47799;color:#fff}.workbench-welcome{background:#d65b7d;border-bottom-color:#f5adbf}.workbench-miniapp-button,.workbench-category-head button,.text-button,.contact-row a{color:#b95270}.notice{border-left-color:#f47799;background:#fff5f8}.identity i,.message-filter button.active,.tag.ok{color:#b95270}.clock-header,.clock-action{background:#f47799}.clock-action.out{color:#f47799;border-color:#f47799}

/* Two levels lighter coral palette. */
:root{--green:#f58eaa;--brand:#f58eaa;--green-soft:#fff2f6;--line:#f5d4de;--bg:#fff9fb;--shadow:0 8px 24px rgba(190,75,111,.07)}
.login-screen{background:#fff6f8}.login-panel{border-color:#f5d4de}.login-panel .brand-mark,.login-panel .button.primary{background:#f58eaa;border-color:#f58eaa}.app aside{background:#b45d76}.brand{border-bottom-color:#dc9bae}.nav-button,.nav-parent,.nav-subgroup-parent{color:#fff3f6}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#ce7891}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff7f9;color:#b75d77;box-shadow:inset 3px 0 0 #f58eaa}.nav-children .nav-button.active:before{background:#f58eaa}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#f58eaa;color:#fff}.workbench-welcome{background:#dc6e91;border-bottom-color:#f7bbca}.workbench-miniapp-button,.workbench-category-head button,.text-button,.contact-row a{color:#b75d77}.notice{border-left-color:#f58eaa;background:#fff7f9}.identity i,.message-filter button.active,.tag.ok{color:#b75d77}.clock-header,.clock-action{background:#f58eaa}.clock-action.out{color:#f58eaa;border-color:#f58eaa}

/* Match the desktop sidebar to the adjacent welcome-band color. */
.app aside{background:#dc6e91}.brand{border-bottom-color:#efabc0}.nav-button,.nav-parent,.nav-subgroup-parent{color:#fff7f9}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#c75c80}.logout{border-color:#f3b7c8;color:#fff}

/* Keep the sidebar and welcome band identical, two shades lighter. */
.app aside,.workbench-welcome{background:#e9a2b6;color:#572334}.brand{border-bottom-color:#f5c8d4}.brand small,.nav-section-title,.nav-scroll-hint{color:#74364a}.nav-button,.nav-parent,.nav-subgroup-parent{color:#572334}.nav-button:hover,.nav-parent:hover,.nav-parent.child-active,.nav-group.expanded .nav-parent,.nav-subgroup-parent:hover,.nav-subgroup-parent.child-active,.nav-subgroup.expanded .nav-subgroup-parent{background:#f2b8c8;color:#572334}.app aside .nav-button.active,.app aside .nav-button.active:hover,.nav-children .nav-button.active{background:#fff9fb;color:#9f405d;box-shadow:inset 3px 0 0 #f58eaa}.nav-subgroup-pages .nav-button.active,.nav-subgroup-pages .nav-button.active:hover{background:#f58eaa;color:#572334}.nav-children .nav-button.active:before{background:#f58eaa}.workbench-welcome p,.workbench-welcome span{color:#74364a}.workbench-miniapp-button{color:#9f405d;border-color:#fff;background:#fff}.logout{border-color:#f7d0da;color:#572334}

/* Two shades lighter sidebar and white backgrounds for active navigation. */
.app aside,.workbench-welcome{background:#f3c6d2;color:#572334}.brand{border-bottom-color:#f9dfe6}.brand small,.nav-section-title,.nav-scroll-hint{color:#7c4053}.nav-button,.nav-parent,.nav-subgroup-parent{color:#572334}.nav-button:hover,.nav-parent:hover,.nav-subgroup-parent:hover{background:#f8dce4;color:#572334}.app aside .nav-button.active,.app aside .nav-button.active:hover,.app aside .nav-parent.child-active,.app aside .nav-group.expanded .nav-parent,.app aside .nav-subgroup-parent.child-active,.app aside .nav-subgroup.expanded .nav-subgroup-parent,.app aside .nav-children .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active:hover{background:#fff;color:#9f405d;box-shadow:inset 3px 0 0 #f58eaa}.nav-children .nav-button.active:before{background:#f58eaa}.workbench-welcome p,.workbench-welcome span{color:#7c4053}.logout{border-color:#f8dce4;color:#572334}

/* Five levels lighter: sidebar only. */
.app aside{background:#fdebf0;color:#5d2f3f}.brand{border-bottom-color:#f8d8e1}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#805164}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#5d2f3f}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#f8dce5;color:#5d2f3f}.app aside .nav-button.active,.app aside .nav-button.active:hover,.app aside .nav-parent.child-active,.app aside .nav-group.expanded .nav-parent,.app aside .nav-subgroup-parent.child-active,.app aside .nav-subgroup.expanded .nav-subgroup-parent,.app aside .nav-children .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active:hover{background:#fff;color:#9f405d;box-shadow:inset 3px 0 0 #f58eaa}.app aside .logout{border-color:#f5cbd7;color:#5d2f3f}

/* Ten levels lighter: near-white sidebar with a distinct active marker. */
.app aside{background:#fffafd;color:#512838}.brand{border-bottom-color:#f7dfe6}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#835669}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#512838}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#fff0f4;color:#512838}.app aside .nav-button.active,.app aside .nav-button.active:hover,.app aside .nav-parent.child-active,.app aside .nav-group.expanded .nav-parent,.app aside .nav-subgroup-parent.child-active,.app aside .nav-subgroup.expanded .nav-subgroup-parent,.app aside .nav-children .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active,.app aside .nav-subgroup-pages .nav-button.active:hover{background:#fff;color:#9f405d;box-shadow:inset 3px 0 0 #f58eaa,0 0 0 1px #f6d4de}.app aside .logout{border-color:#f4d4dd;color:#512838}

/* Five more levels lighter: retain only a trace of coral in the sidebar. */
.app aside{background:#fffdfd;color:#512838}.brand{border-bottom-color:#fae9ee}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#8b6070}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#512838}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#fff5f7;color:#512838}.app aside .logout{border-color:#f7e1e8;color:#512838}

/* Five further levels lighter for the desktop navigation rail. */
.app aside{background:#fffefe;color:#512838}.brand{border-bottom-color:#fceff2}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#906675}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#512838}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#fff8fa;color:#512838}.app aside .logout{border-color:#f9e8ed;color:#512838}

/* Five levels deeper: a restrained, still-light coral desktop sidebar. */
.app aside{background:#fffdfd;color:#512838}.brand{border-bottom-color:#fae9ee}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#8b6070}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#512838}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#fff5f7;color:#512838}.app aside .logout{border-color:#f7e1e8;color:#512838}

/* Another five levels deeper: a visibly light coral desktop sidebar. */
.app aside{background:#fdebf0;color:#5d2f3f}.brand{border-bottom-color:#f8d8e1}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#805164}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#5d2f3f}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#f8dce5;color:#5d2f3f}.app aside .logout{border-color:#f5cbd7;color:#5d2f3f}

/* Three levels lighter: softly tinted desktop navigation rail. */
.app aside{background:#fff3f6;color:#572b3a}.brand{border-bottom-color:#f9dfe7}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#86586a}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#572b3a}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#ffeaef;color:#572b3a}.app aside .logout{border-color:#f6d5df;color:#572b3a}

/* Two levels lighter: subtle coral tint for the desktop navigation rail. */
.app aside{background:#fff7f9;color:#572b3a}.brand{border-bottom-color:#fbe7ed}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#8a6070}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#572b3a}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#fff0f4;color:#572b3a}.app aside .logout{border-color:#f8dfe7;color:#572b3a}

/* Five levels deeper: softly defined coral desktop navigation rail. */
.app aside{background:#fdebf0;color:#5d2f3f}.brand{border-bottom-color:#f8d8e1}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#805164}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#5d2f3f}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#f8dce5;color:#5d2f3f}.app aside .logout{border-color:#f5cbd7;color:#5d2f3f}

/* Another five levels deeper: balanced coral desktop navigation rail. */
.app aside{background:#f3c6d2;color:#572334}.brand{border-bottom-color:#f9dfe6}.brand small,.app aside .nav-section-title,.app aside .nav-scroll-hint{color:#7c4053}.app aside .nav-button,.app aside .nav-parent,.app aside .nav-subgroup-parent{color:#572334}.app aside .nav-button:hover,.app aside .nav-parent:hover,.app aside .nav-subgroup-parent:hover{background:#f8dce4;color:#572334}.app aside .logout{border-color:#f8dce4;color:#572334}
@media(max-width:900px){.dashboard-shortcut-group{grid-template-columns:1fr;gap:8px}.dashboard-shortcut-group h4{margin:0}.dashboard-shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:640px){.dashboard-shortcuts{padding:14px 12px}.dashboard-leave-actions,.dashboard-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shortcut{grid-template-columns:30px minmax(0,1fr);padding:8px}.dashboard-shortcut>span{width:30px;height:30px}.dashboard-shortcut small{display:none}}
@media(max-width:360px){.dashboard-leave-actions,.dashboard-shortcut-grid{grid-template-columns:minmax(0,1fr)}}

/* Candidate: digital onboarding assembles existing recruitment and onboarding records. */
.digital-onboarding-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.digital-onboarding-hero>div{max-width:760px}.digital-onboarding-eyebrow{display:block;color:var(--brand);font-size:12px;font-weight:700}.digital-onboarding-hero h3{margin:6px 0 8px;font-size:20px}.digital-onboarding-hero p,.digital-onboarding-entry small{color:var(--muted)}.digital-onboarding-actions,.digital-onboarding-entry-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.digital-onboarding-hero figure{margin:0;text-align:center;flex:0 0 142px}.digital-onboarding-hero img{display:block;width:132px;height:132px;padding:5px;border:1px solid var(--line);background:#fff}.digital-onboarding-hero figcaption{margin-top:5px;color:var(--muted);font-size:12px}.digital-onboarding-metrics{margin-top:18px}.digital-onboarding-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--line);background:#fff}.digital-onboarding-flow article{position:relative;min-height:118px;padding:16px 15px;border-right:1px solid var(--line)}.digital-onboarding-flow article:last-child{border-right:0}.digital-onboarding-flow article>span{display:block;color:var(--brand);font-size:12px;font-weight:800}.digital-onboarding-flow b,.digital-onboarding-flow small{display:block}.digital-onboarding-flow b{margin-top:8px;font-size:14px}.digital-onboarding-flow small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.55}.digital-onboarding-flow i{position:absolute;z-index:1;right:-10px;top:49px;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--brand);font-style:normal}.digital-onboarding-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px;margin-top:18px}.digital-onboarding-todos{display:grid;gap:0;border-top:1px solid var(--line)}.digital-onboarding-todos button{display:grid;grid-template-columns:auto minmax(72px,.45fr) minmax(0,1.5fr) auto;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);cursor:pointer}.digital-onboarding-todos button:hover{background:var(--green-soft)}.digital-onboarding-todos b{font-size:14px}.digital-onboarding-todos small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.digital-onboarding-todos i{color:var(--brand);font-size:20px;font-style:normal}.digital-onboarding-entry code{display:block;overflow-wrap:anywhere;padding:11px;border:1px solid var(--line);background:var(--bg);font-size:12px}.digital-onboarding-entry small{display:block;margin-top:14px;font-size:12px;line-height:1.6}@media(max-width:1040px){.digital-onboarding-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.digital-onboarding-flow article:nth-child(3){border-right:0}.digital-onboarding-flow article:nth-child(-n+3){border-bottom:1px solid var(--line)}.digital-onboarding-flow article:nth-child(3)>i{display:none}.digital-onboarding-grid{grid-template-columns:1fr}}@media(max-width:640px){.digital-onboarding-hero{align-items:flex-start;flex-direction:column;padding:18px}.digital-onboarding-hero figure{align-self:center}.digital-onboarding-flow{grid-template-columns:1fr}.digital-onboarding-flow article,.digital-onboarding-flow article:nth-child(-n+3){min-height:0;border-right:0;border-bottom:1px solid var(--line)}.digital-onboarding-flow article:last-child{border-bottom:0}.digital-onboarding-flow i{right:auto;left:20px;bottom:-10px;top:auto}.digital-onboarding-todos button{grid-template-columns:auto minmax(0,1fr) auto}.digital-onboarding-todos small{grid-column:2;white-space:normal}.digital-onboarding-todos i{grid-column:3;grid-row:1/3}.digital-onboarding-entry-actions .button{flex:1}}

.lifecycle-metrics{margin-bottom:18px}.lifecycle-entry .section-heading{margin-bottom:14px}.lifecycle-form-actions{display:flex;justify-content:flex-end;gap:9px}.lifecycle-entry .request-form{margin:0}.lifecycle-entry .request-form input[type="number"]{min-width:0}.lifecycle-entry .request-form label{min-width:0}@media(max-width:640px){.lifecycle-form-actions{display:grid;grid-template-columns:1fr}.lifecycle-form-actions .button{width:100%}}
.digital-lifecycle-section{margin-top:18px}.digital-lifecycle-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.digital-lifecycle-list article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:14px;border:1px solid var(--line);background:#fff}.digital-lifecycle-list article .text-button{grid-column:2;justify-self:start}.digital-lifecycle-code{display:grid;place-items:center;width:36px;height:36px;background:#fff0f4;color:#c34f70;font-weight:700}.digital-lifecycle-list b,.digital-lifecycle-list small{display:block}.digital-lifecycle-list small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:900px){.digital-lifecycle-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.digital-lifecycle-list{grid-template-columns:1fr}}

/* Native recruitment and onboarding workbench. */
.recruitment-intake-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.recruitment-intake-section> .section-heading{margin-bottom:14px}.recruitment-intake-section h4{margin:0 0 10px;font-size:15px}.recruitment-intake-section .digital-onboarding-grid{margin-top:16px}.recruitment-intake-section .digital-onboarding-grid>div,.recruitment-workbench-lists>section{min-width:0}.compact-request-form{margin:0}.compact-number{width:62px!important;min-width:62px!important;height:34px;margin:0;padding:5px 7px}.recruitment-workbench-lists .table-wrap{max-height:330px;overflow:auto}.recruitment-workbench-lists small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.recruitment-onboarding-review{margin-top:18px}.recruitment-onboarding-review h4{margin:0;font-size:15px}@media(max-width:640px){.recruitment-intake-section{margin-top:20px;padding-top:16px}.recruitment-intake-section .request-form{grid-template-columns:1fr}.recruitment-onboarding-review .section-heading{align-items:flex-start;flex-direction:column}.recruitment-onboarding-review .text-button{padding-left:0}}

/* Personnel operations overview for the digital onboarding module. */
.people-operations-dashboard{display:grid;gap:14px}.people-operations-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.people-operation-metric{min-height:112px;padding:18px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:6px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.people-operation-metric:hover{border-color:var(--primary);background:var(--soft)}.people-operation-metric span,.people-operation-metric small{display:block;color:var(--muted)}.people-operation-metric span{font-size:13px}.people-operation-metric b{display:block;margin:7px 0 6px;font-size:27px;line-height:1;color:var(--text)}.people-operation-metric small{font-size:12px;line-height:1.4}.people-operations-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:14px}.people-operations-grid .workspace-section{margin:0}.people-funnel-list,.people-distribution-list{display:grid;gap:16px;margin-top:18px}.people-funnel-list>div,.people-distribution-list>div{display:grid;grid-template-columns:92px minmax(0,1fr) 34px;gap:10px;align-items:center}.people-funnel-list span,.people-distribution-list span{font-size:13px;color:var(--text)}.people-funnel-list i,.people-distribution-list i{display:block;height:8px;overflow:hidden;border-radius:4px;background:#edf0f3}.people-funnel-list i b,.people-distribution-list i b{display:block;height:100%;min-width:0;border-radius:inherit;background:var(--primary)}.people-funnel-list strong,.people-distribution-list strong{text-align:right;font-size:13px;color:var(--text)}.people-todo-list{display:grid;gap:2px;margin-top:10px}.people-todo-list button{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:10px;align-items:center;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.people-todo-list button:last-child{border-bottom:0}.people-todo-list button:hover b{color:var(--primary)}.people-todo-list em{display:grid;place-items:center;width:30px;height:30px;border-radius:4px;background:var(--soft);color:var(--primary);font-style:normal;font-weight:700}.people-todo-list b,.people-todo-list small{display:block}.people-todo-list b{font-size:14px}.people-todo-list small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.people-todo-list strong{text-align:right;font-size:18px;color:var(--text)}.people-distribution-panel .section-heading{padding-bottom:10px;border-bottom:1px solid var(--line)}@media(max-width:1100px){.people-operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.people-operations-grid{grid-template-columns:1fr}}@media(max-width:640px){.people-operations-dashboard{gap:10px}.people-operations-metrics{gap:8px}.people-operation-metric{min-height:104px;padding:14px}.people-operation-metric b{font-size:23px}.people-operations-grid{gap:10px}.people-funnel-list>div,.people-distribution-list>div{grid-template-columns:78px minmax(0,1fr) 28px;gap:8px}.people-todo-list button{grid-template-columns:30px minmax(0,1fr) 26px}.people-todo-list small{font-size:11px}}

/* Candidate: source-style recruitment and onboarding pipeline, backed by existing records. */
.application-rate-analysis{margin:0 0 22px}.application-rate-actions{display:flex;align-items:end;gap:8px}.application-rate-actions label{gap:4px;margin:0;color:var(--muted);font-size:12px}.application-rate-actions input{height:34px;padding:6px 8px}.application-rate-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.application-rate-metrics>div{min-height:94px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--primary);background:var(--bg)}.application-rate-metrics span,.application-rate-metrics small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.application-rate-metrics b{display:block;margin:7px 0 5px;font-size:26px;line-height:1;color:var(--text)}.application-rate-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px}.application-rate-grid>section,.application-rate-grid>aside{min-width:0;padding:14px;border:1px solid var(--line);background:#fff}.application-rate-subhead{padding-bottom:10px;border-bottom:1px solid var(--line)}.application-rate-subhead h4{margin:0;font-size:15px}.application-rate-subhead span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.application-rate-grid table{margin-top:6px}.application-rate-value{font-weight:700;color:var(--primary)}.application-rate-grid aside{border-left:3px solid var(--primary);background:var(--soft)}.application-rate-grid ul{display:grid;gap:10px;margin:14px 0;padding-left:18px;color:var(--text);font-size:13px;line-height:1.55}.application-rate-grid .text-button{padding-left:0}@media(max-width:900px){.application-rate-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.application-rate-grid{grid-template-columns:1fr}}@media(max-width:640px){.application-rate-analysis .section-heading{align-items:flex-start;flex-direction:column}.application-rate-actions{width:100%;align-items:end}.application-rate-actions label{flex:1}.application-rate-actions .button{white-space:nowrap}.application-rate-metrics{gap:8px}.application-rate-metrics>div{min-height:84px;padding:12px}.application-rate-metrics b{font-size:23px}}
.recruitment-pipeline{margin-bottom:22px;padding:20px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:var(--shadow)}.recruitment-pipeline .section-heading{margin-bottom:16px}.recruitment-pipeline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recruitment-pipeline-metrics>div{min-height:98px;padding:15px;border:1px solid var(--line);border-top:3px solid var(--primary);background:var(--bg)}.recruitment-pipeline-metrics span,.recruitment-pipeline-metrics small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.recruitment-pipeline-metrics b{display:block;margin:7px 0 5px;color:var(--text);font-size:26px;line-height:1}.recruitment-pipeline-note{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:11px 13px;border:1px solid var(--line);border-left:3px solid var(--primary);background:var(--soft);color:var(--muted);font-size:13px;line-height:1.55}.recruitment-pipeline-note b{flex:0 0 auto;color:var(--primary)}.recruitment-pipeline-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-top:18px}.recruitment-pipeline-heading h3{margin:0;font-size:16px}.recruitment-pipeline-heading span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.recruitment-pipeline-filter{display:grid;grid-template-columns:minmax(180px,1fr) 112px auto;gap:8px;align-items:center;min-width:min(100%,440px)}.recruitment-pipeline-filter input,.recruitment-pipeline-filter select{width:100%;height:34px;margin:0}.recruitment-pipeline-steps{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:0;min-width:780px;margin-top:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.recruitment-pipeline-steps span{display:flex;gap:8px;align-items:center;min-height:48px;padding:9px 10px;border-right:1px solid var(--line);color:var(--text);font-size:12px;font-weight:650}.recruitment-pipeline-steps span:last-child{border-right:0}.recruitment-pipeline-steps b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px}.recruitment-pipeline-table{margin-top:0;max-height:500px;border-top:0}.recruitment-pipeline-table table{min-width:1080px}.recruitment-pipeline-table th{white-space:nowrap}.recruitment-pipeline-table td{vertical-align:top}.recruitment-pipeline-table small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.pipeline-qualification{display:inline-block;padding:3px 7px;border-radius:3px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:650}.pipeline-qualification.blocked{background:#fff0f0;color:#bd4354}.pipeline-progress{min-width:148px}.pipeline-progress i{display:block;height:6px;overflow:hidden;border-radius:4px;background:#e9edf1}.pipeline-progress i b{display:block;height:100%;border-radius:inherit;background:var(--primary)}.pipeline-progress strong{display:block;margin-top:6px;font-size:12px}.pipeline-actions{gap:6px}.pipeline-actions .button{min-height:30px;padding:5px 8px;white-space:nowrap;font-size:12px}.pipeline-interview-dialog{width:min(440px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 46px rgba(24,34,46,.24)}.pipeline-interview-dialog::backdrop{background:rgba(20,28,38,.38)}.pipeline-interview-dialog .request-form{padding:18px}.pipeline-interview-dialog .dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.pipeline-interview-dialog h3{margin:0;font-size:17px}.pipeline-interview-dialog .dialog-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.pipeline-interview-dialog .icon-button{flex:0 0 auto}.pipeline-interview-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.recruitment-pipeline [hidden]{display:none!important}@media(max-width:1100px){.recruitment-pipeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-pipeline-heading{align-items:flex-start;flex-direction:column}.recruitment-pipeline-filter{width:100%;max-width:520px}}@media(max-width:640px){.recruitment-pipeline{margin:0 -2px 16px;padding:14px}.recruitment-pipeline .section-heading{align-items:flex-start;flex-direction:column}.recruitment-pipeline-metrics{gap:8px}.recruitment-pipeline-metrics>div{min-height:88px;padding:12px}.recruitment-pipeline-metrics b{font-size:23px}.recruitment-pipeline-note{gap:8px;padding:10px;font-size:12px}.recruitment-pipeline-filter{grid-template-columns:1fr 104px}.recruitment-pipeline-filter .button{grid-column:1/-1}.recruitment-pipeline-steps{overflow:auto}.pipeline-interview-dialog .request-form{grid-template-columns:1fr}.pipeline-interview-dialog .dialog-actions .button{flex:1}}

/* Candidate: digital onboarding registration-channel links. */
.registration-channel-intro{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:6px;background:#fff}.registration-channel-intro h3{margin:0;font-size:18px}.registration-channel-intro p{margin:6px 0 0;color:var(--muted);font-size:13px}.registration-channel-intro>div:last-child{display:grid;gap:3px;min-width:145px;padding-left:18px;border-left:1px solid var(--line);color:var(--muted);font-size:12px}.registration-channel-intro b{color:var(--primary);font-size:14px}.registration-channel-metrics{margin-bottom:16px}.registration-channel-table-section{min-width:0}.registration-channel-filter{display:grid;grid-template-columns:minmax(210px,1fr) 130px 130px auto;gap:9px;align-items:center;margin-bottom:16px}.registration-channel-filter input,.registration-channel-filter select{width:100%;height:34px;margin:0}.registration-channel-table{max-height:540px}.registration-channel-table table{min-width:1080px}.registration-channel-table small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.registration-channel-table code{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary);font-size:12px}.registration-channel-actions .button{min-height:30px;padding:5px 8px;font-size:12px;white-space:nowrap}.registration-channel-dialog{width:min(430px,calc(100% - 28px))}.registration-channel-rule{display:grid;gap:4px;padding:11px 12px;border:1px solid #f1c48d;border-radius:4px;background:#fff8ec;color:#755330;font-size:12px;line-height:1.5}.registration-channel-rule b{color:#a76215}@media(max-width:780px){.registration-channel-intro{align-items:flex-start;flex-direction:column}.registration-channel-intro>div:last-child{padding:10px 0 0;border-top:1px solid var(--line);border-left:0}.registration-channel-filter{grid-template-columns:1fr 1fr}.registration-channel-filter input{grid-column:1/-1}.registration-channel-filter .button{grid-column:1/-1}.registration-channel-dialog .request-form{grid-template-columns:1fr}}
.registration-channel-result-dialog{width:min(580px,calc(100% - 28px))}.registration-channel-result{padding:18px}.registration-channel-result-grid{display:grid;grid-template-columns:184px minmax(0,1fr);gap:18px;align-items:start;margin-top:4px}.registration-channel-result figure{margin:0;text-align:center}.registration-channel-result figure img{display:block;width:168px;height:168px;padding:6px;border:1px solid var(--line);background:#fff}.registration-channel-result figcaption{margin-top:6px;color:var(--muted);font-size:12px}.registration-channel-result-grid>div{display:grid;gap:12px}.registration-channel-result-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.registration-channel-result-grid strong{color:var(--text);font-size:19px;letter-spacing:1px}.registration-channel-result-grid code{display:block;overflow-wrap:anywhere;padding:9px;border:1px solid var(--line);background:var(--bg);color:var(--primary);font-size:12px}.registration-channel-result-grid small{color:var(--muted);font-size:12px;line-height:1.5}.registration-channel-result-actions{display:flex;gap:8px;flex-wrap:wrap}.registration-channel-result-dialog .dialog-actions{display:flex;justify-content:flex-end;margin-top:18px}@media(max-width:560px){.registration-channel-result{padding:15px}.registration-channel-result-grid{grid-template-columns:1fr}.registration-channel-result figure{justify-self:center}.registration-channel-result-actions .button{flex:1}}
.registration-channel-result-dialog{width:min(468px,calc(100% - 28px))}.registration-invite-shell{display:grid;gap:14px}.registration-invite-overview{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.registration-invite-brand{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--primary);color:#fff}.registration-invite-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:#fff;color:var(--primary);font-size:20px;font-weight:800}.registration-invite-brand b,.registration-invite-brand small{display:block}.registration-invite-brand small{margin-top:2px;color:rgba(255,255,255,.82);font-size:12px}.registration-invite-brand i{margin-left:auto;padding:4px 7px;border-radius:3px;background:rgba(255,255,255,.18);font-style:normal;font-size:12px}.registration-invite-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}.registration-invite-stats div{padding:12px 6px;text-align:center}.registration-invite-stats b,.registration-invite-stats span{display:block}.registration-invite-stats b{font-size:20px;line-height:1.2}.registration-invite-stats span{margin-top:4px;color:var(--muted);font-size:12px}.registration-invite-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:6px;background:#fff}.registration-invite-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.registration-invite-card h4{margin:0;font-size:16px}.registration-invite-card p{margin:3px 0 0;color:var(--muted);font-size:12px}.registration-invite-card-head>span{padding:4px 7px;border-radius:3px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:650}.registration-invite-generate{justify-self:center;max-width:245px;border:0;border-radius:4px;background:var(--primary);color:#fff;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}.registration-invite-link{overflow-wrap:anywhere;padding:9px;background:var(--bg);color:var(--text);font-size:12px}.registration-invite-link-actions,.registration-invite-qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.registration-invite-link-actions button,.registration-invite-qr-actions button{min-height:36px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--text);font:inherit;font-weight:650;cursor:pointer}.registration-invite-link-actions button:last-child,.registration-invite-qr-actions button:last-child{border-color:var(--primary);color:var(--primary)}.registration-invite-card figure{justify-self:center;margin:4px 0 0;text-align:center}.registration-invite-card figure img{display:block;width:188px;height:188px;padding:8px;border:1px solid var(--line);background:#fff}.registration-invite-card figcaption{margin-top:6px;color:var(--muted);font-size:12px}.registration-invite-note{color:var(--muted);font-size:12px;line-height:1.5}.registration-invite-note b{color:var(--text)}@media(max-width:560px){.registration-invite-brand{padding:13px}.registration-invite-card{padding:13px}.registration-invite-card figure img{width:174px;height:174px}}
.exception-missing-punch-repair{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:13px;border:1px solid #f0c7d3;border-radius:6px;background:#fff7fa}.exception-missing-punch-repair>b,.exception-missing-punch-repair>small{grid-column:1/-1}.exception-missing-punch-repair small{color:var(--muted)}.exception-manual-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;grid-column:1/-1}@media(max-width:680px){.exception-missing-punch-repair,.exception-manual-fields{grid-template-columns:1fr}}
.exception-month-day.active{background:#edf5fa;color:#285d7c}.exception-month-day.active button,.exception-month-day.normal button{cursor:pointer}.exception-month-day.active button:hover,.exception-month-day.normal button:hover{box-shadow:inset 0 0 0 2px currentColor}.exception-status-adjustment{grid-column:1/-1;margin:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff}.exception-status-adjustment legend{padding:0 5px;color:var(--ink);font-size:13px;font-weight:700}.exception-status-adjustment>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exception-status-adjustment label{display:flex;align-items:center;gap:7px;min-width:0;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:13px}.exception-status-adjustment input{width:auto;margin:0;accent-color:var(--green)}.exception-status-adjustment label:has(input:checked){border-color:var(--green);background:#eef8f3;color:#087058}@media(max-width:680px){.exception-status-adjustment>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.exception-shift-summary{display:grid;grid-template-columns:132px minmax(130px,.55fr) minmax(190px,1fr) minmax(280px,1.45fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.exception-shift-summary-title,.exception-shift-summary-item{display:grid;align-content:center;gap:5px;min-height:86px;padding:13px 14px;border-right:1px solid var(--line)}.exception-shift-summary-item:last-child{border-right:0}.exception-shift-summary-title{background:var(--bg)}.exception-shift-summary-title small,.exception-shift-summary-item>span{color:var(--muted);font-size:12px}.exception-shift-summary-item>b{font-size:15px}.exception-shift-periods,.exception-shift-windows{display:flex;flex-wrap:wrap;gap:6px}.exception-shift-periods span{padding:4px 7px;border:1px solid #dce9e2;border-radius:3px;background:#f8fcfa;color:var(--text);font-size:12px;font-weight:700}.exception-shift-windows span{display:grid;gap:2px;min-width:94px;padding-left:8px;border-left:2px solid var(--primary)}.exception-shift-windows b{font-size:11px}.exception-shift-windows small{color:var(--muted);font-size:11px;white-space:nowrap}.exception-day-punches{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.exception-day-punch-heading{display:flex;gap:10px;align-items:flex-start}.exception-day-punch-heading>div{display:grid;gap:3px}.exception-day-punch-heading .text-button{flex:0 0 auto;padding:0;color:var(--primary);font-size:12px;font-weight:700}.exception-day-punches small{color:var(--muted);font-size:12px}.exception-day-punch-list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exception-day-punch-list span{position:relative;display:grid;gap:3px;min-width:0;padding:9px 10px 9px 15px;border:1px solid #dce9e2;border-radius:4px;background:#fff}.exception-day-punch-list span.missing{border-style:dashed;background:#fafbfa;color:var(--muted)}.exception-day-punch-list i{position:absolute;left:0;top:12px;width:5px;height:22px;background:var(--primary)}.exception-day-punch-list .missing i{background:#c7ceca}.exception-day-punch-list b{font-size:12px}.exception-day-punch-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.exception-day-punch-list time{color:var(--primary);font-size:15px;font-weight:700}.exception-day-punch-list .missing time{color:var(--muted);font-size:13px}.exception-day-punch-empty{margin:0;color:var(--muted);font-size:13px}.exception-punch-detail-dialog{width:min(560px,calc(100% - 24px));padding:20px;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 46px rgba(24,34,46,.24)}.exception-punch-detail-dialog::backdrop{background:rgba(20,28,38,.38)}.exception-punch-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}.exception-punch-detail-head h3,.exception-punch-detail-head p{margin:0}.exception-punch-detail-head p{margin-top:4px;color:var(--muted);font-size:12px}.exception-punch-detail-list{display:grid;max-height:min(54vh,430px);overflow:auto}.exception-punch-detail-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.exception-punch-detail-list article>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg);color:var(--muted);font-size:12px;font-weight:700}.exception-punch-detail-list b,.exception-punch-detail-list small{display:block}.exception-punch-detail-list b{font-size:15px}.exception-punch-detail-list small{margin-top:3px;color:var(--muted);font-size:12px}.exception-punch-detail-list em{max-width:130px;padding:4px 7px;border-radius:3px;background:#f3f5f4;color:#718078;font-size:11px;font-style:normal;text-align:right}.exception-punch-detail-list em.matched{background:#eef8f3;color:#087058}.exception-punch-detail-dialog .dialog-actions{display:flex;justify-content:flex-end;margin-top:16px}@media(max-width:900px){.exception-shift-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.exception-shift-summary-item:nth-child(2){border-right:0}.exception-shift-summary-title,.exception-shift-summary-item:nth-child(2){border-bottom:1px solid var(--line)}}@media(max-width:820px){.exception-day-punch-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.exception-shift-summary{grid-template-columns:1fr}.exception-shift-summary-title,.exception-shift-summary-item{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.exception-shift-summary-item:last-child{border-bottom:0}.exception-punch-detail-list article{grid-template-columns:28px minmax(0,1fr)}.exception-punch-detail-list em{grid-column:2;justify-self:start;text-align:left}}@media(max-width:480px){.exception-day-punch-list{grid-template-columns:1fr}}
.exception-day-punch-list .pending{border-style:dashed;background:#f6f9fb;color:#617680}.exception-day-punch-list .pending i{background:#a7bfcc}.exception-day-punch-list .pending time{color:#617680;font-size:13px}

.exception-shift-summary{grid-template-columns:1fr 1fr}
.exception-shift-summary-title{grid-column:1/-1;min-height:0;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}
.exception-shift-summary-item{min-height:64px}
.exception-shift-summary-item:last-child{border-right:0}
.exception-missing-punch-repair[hidden],.exception-manual-fields[hidden]{display:none!important}
@media(max-width:620px){.exception-shift-summary{grid-template-columns:1fr}.exception-shift-summary-title{grid-column:auto}.exception-shift-summary-item{min-height:0}}

/* Keep the five monthly attendance summary cards together on desktop. */
.attendance-summary-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))!important}.attendance-summary-metrics .metric{min-width:0}.attendance-summary-metrics .metric small{display:block;overflow-wrap:anywhere}@media(max-width:900px){.attendance-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:520px){.attendance-summary-metrics{grid-template-columns:1fr!important}}

/* Explicit shift punch window time controls. */
.shift-range-window-time input[type=time]{padding:7px 9px;background-color:#fff}.shift-range-window-time label{grid-template-columns:auto minmax(110px,1fr)}.shift-range-window-time .shift-range-after-time{grid-column:2/-1}.shift-range-window-time .shift-range-after-time b{white-space:nowrap}@media(max-width:600px){.shift-range-window-time .shift-range-after-time{grid-column:1/-1}}

/* Punch records: keep all three search fields in one desktop row. */
#punchRecordFilters{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(220px,1.3fr) max-content;align-items:end}
#punchRecordFilters>label{min-width:0}
#punchRecordFilters>.actions{align-self:end;flex-wrap:nowrap}
#punchRecordFilters>.actions .button{white-space:nowrap}
@media(max-width:1000px){#punchRecordFilters{grid-template-columns:repeat(2,minmax(0,1fr))}#punchRecordFilters>.actions{justify-content:flex-end}}
@media(max-width:620px){#punchRecordFilters{grid-template-columns:minmax(0,1fr)}#punchRecordFilters>.actions{justify-content:flex-start;flex-wrap:wrap}}

#offboardingForm{grid-template-columns:repeat(3,minmax(0,1fr))}
#offboardingForm>label{min-width:0}
@media(max-width:1100px){#offboardingForm{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#offboardingForm{grid-template-columns:minmax(0,1fr)}}

.punch-record-table .sequence-column{width:64px;text-align:center}
