*{box-sizing:border-box}body{margin:0;font-family:Arial,"Noto Sans KR",sans-serif;background:#f3f6fa;color:#233044}a{text-decoration:none;color:inherit}.layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#172334;padding:18px 15px;overflow:auto}.brand{height:70px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:8px}.brand img{max-width:100%;max-height:52px;object-fit:contain}.user{background:#101a28;color:#fff;border-radius:9px;padding:12px;margin:16px 0}.user small{display:block;color:#b8c5d4;margin-top:5px}.sidebar nav a{display:block;color:#fff!important;font-weight:800;padding:10px 11px;border-radius:7px}.sidebar nav a:hover{background:#26384e}.sidebar hr{border:0;border-top:1px solid #33445a;margin:14px 0}main{margin-left:230px;padding:0 28px 40px}header{height:84px;display:flex;align-items:center;justify-content:space-between}header h1{margin:0;font-size:27px}header p{margin:5px 0 0;color:#748294}.lang{font-weight:700}.lang span{color:#a2acb8;margin:0 8px}.flash{padding:12px;border-radius:8px;margin-bottom:14px;font-weight:700}.success{background:#e9f8ef;color:#147143}.error{background:#fff0f0;color:#ad2828}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid #dfe5ec;border-radius:11px;box-shadow:0 1px 2px #00000008}.card{padding:18px}.card span{display:block;color:#748294;font-size:13px}.card strong{font-size:32px;display:block;margin-top:8px}.panel{padding:19px;margin:16px 0}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panelhead,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.bars{height:220px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid #e2e7ed}.baritem{flex:1;text-align:center}.baritem em{font-size:10px;color:#7d8997}.track{height:160px;width:28px;background:#edf2f6;margin:4px auto 6px;display:flex;align-items:flex-end;border-radius:5px 5px 0 0;overflow:hidden}.track i{display:block;width:100%;background:#1769aa}.baritem b{font-size:11px}.row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e8ecf1}.row small,td small{display:block;color:#7a8796;margin-top:4px}.total{color:#667587}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:10px;border-bottom:1px solid #e7ebf0;text-align:left;font-size:13px;vertical-align:top}th{background:#f7f9fb;color:#566476}.toolbar{margin:14px 0}.btn,button,.smallbtn{display:inline-block;border:1px solid #cbd5df;background:#fff;color:#33465a;padding:8px 11px;border-radius:7px;font-weight:700;cursor:pointer}.primary,button{background:#1769aa;color:#fff;border-color:#1769aa}.smallbtn{padding:5px 7px;font-size:11px}.danger{background:#fff5f5!important;color:#b42318!important;border-color:#ecc3c3!important}.inline{display:inline}.search{display:flex;gap:8px;margin:10px 0}.search input{max-width:260px}input,select,textarea{width:100%;border:1px solid #cad4df;border-radius:7px;padding:8px 9px;font:inherit;background:#fff}label{font-size:12px;font-weight:800;display:block;margin-bottom:5px}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.placeholder{display:flex;align-items:center;justify-content:center;background:#dfe8f1;color:#52677c;font-weight:900}.badge{padding:4px 7px;border-radius:999px;background:#edf5ef;color:#2e6a40}.badge.red{background:#fff0f0;color:#a72929}.formpanel{max-width:1050px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 16px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.narrow{max-width:520px}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checks label{border:1px solid #dfe5ec;border-radius:8px;padding:9px;font-weight:600}.checks input{width:auto}.typeform{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.typeform label{display:flex;align-items:center;gap:6px}.typeform label input{width:auto}.compact{padding:12px}.compactgrid{display:grid;grid-template-columns:repeat(4,minmax(130px,180px));gap:11px}.leaveform{max-width:850px}.approvalbox{background:#f7f9fb;border:1px solid #e0e5eb;border-radius:9px;padding:14px;margin:16px 0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:10px 12px;border-radius:7px;background:#fff8e8;color:#8c5d13;margin:12px 0}.reject{display:flex;gap:5px;margin-top:5px}.reject input{width:130px}.entform{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.entform label{display:flex;gap:5px;align-items:center}.entform label input{width:auto}.mini{width:70px!important}.redtext{color:#b42318}.inlineform{display:grid;grid-template-columns:180px 1fr 1fr auto;gap:8px}.tabs{display:flex;gap:7px}.tabs a{padding:7px 10px;background:#fff;border:1px solid #d9e0e7;border-radius:7px}.login{width:400px;margin:12vh auto;background:#fff;padding:34px;border-radius:14px;box-shadow:0 12px 35px #00000014}.login img{display:block;max-width:280px;max-height:80px;margin:0 auto 20px}.login h2{text-align:center}.login label{margin-top:13px}.login button{width:100%;margin-top:15px}.login-lang{text-align:center;margin-top:18px}.year{width:100px}@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.formgrid,.typeform,.entform{grid-template-columns:1fr 1fr}.sidebar{width:205px}main{margin-left:205px}}@media(max-width:700px){.sidebar{position:relative;width:100%}main{margin:0;padding:0 14px 30px}.cards,.formgrid,.typeform,.compactgrid,.twocol,.checks,.entform,.inlineform{grid-template-columns:1fr}.toolbar,.search{align-items:stretch;flex-direction:column}}
.modal{display:none;position:fixed;inset:0;background:#0008;z-index:1000;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modalbox{position:relative;background:#fff;border-radius:14px;max-width:620px;width:100%;padding:26px;box-shadow:0 20px 70px #0005}.modalx{position:absolute;right:12px;top:10px;background:transparent!important;border:0!important;color:#334!important;font-size:24px;padding:3px 8px}.gradegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.gradecard{background:#f7f9fb;border:1px solid #dfe5ec;border-radius:9px;padding:13px;text-align:center}.gradecard span{display:block;color:#657487;font-size:12px}.gradecard b{font-size:25px;margin:5px}.gradecard small{color:#7d8997}.wide{grid-column:1/-1}.conditional{display:none;border:1px solid #e1e7ee;background:#f8fafc;padding:12px;border-radius:8px}.checkline{display:flex!important;align-items:center;gap:7px;font-weight:700}.checkline input{width:auto!important}.entform small{display:block;color:#7a8796;margin-top:4px}.formpanel h3{margin-top:28px;padding-bottom:8px;border-bottom:1px solid #e0e6ed}.formpanel h3:first-child{margin-top:0}

.approval-home{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}.approval-card{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:22px;box-shadow:0 3px 12px #0000000a}.approval-card:hover{border-color:#93b9d9;box-shadow:0 6px 20px #00000012}.approval-icon{width:58px;height:58px;border-radius:13px;background:#eaf3fb;color:#1769aa;display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:900}.approval-card h2{margin:0 0 6px}.approval-card p{margin:0;color:#748294}.approval-card strong{font-size:30px;color:#1769aa}.approval-card small{grid-column:3;text-align:right}.purchase-total{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin:18px 0;padding:12px 16px;background:#f2f7fb;border-radius:9px}.purchase-total strong{font-size:25px}.purchase-table{min-width:2400px}.purchase-table input{min-width:90px}.purchase-table td:nth-child(3) input,.purchase-table td:nth-child(4) input,.purchase-table td:nth-child(12) input,.purchase-table td:nth-child(14) input,.purchase-table td:nth-child(17) input{min-width:180px}.warn{color:#b85b00}.employee-tools{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding:13px;background:#f7f9fb;border-radius:9px}.checkrow{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #e7ebf0;font-size:14px}.checkrow input{width:auto}.tabs .active{background:#1769aa;color:#fff;border-color:#1769aa}
@media(max-width:800px){.approval-home{grid-template-columns:1fr}}

.foreign-section{background:#f5f9fc;border:1px solid #d9e6f0;border-radius:10px;padding:14px;margin-top:8px}.foreign-section h4{margin:0 0 12px}.purchase-choice .approval-card{min-height:150px}.search select{min-width:180px}.approvalbox small{display:block;color:#738193;margin-top:6px}
.approval-line-preview{min-height:22px;margin:7px 0 12px;padding:7px 10px;background:#eef5fb;border-left:3px solid #1769aa;color:#27445f;font-size:13px;font-weight:700}.approval-line-preview:empty{display:none}
.approval-line-editor{max-width:980px}.approval-line-basic{display:grid;grid-template-columns:2fr 1fr;gap:16px}.approval-default{display:flex;align-items:center;gap:8px;margin:16px 0;padding:11px 13px;background:#f7f9fb;border:1px solid #e1e7ed;border-radius:8px}.approval-default input{width:auto}.approval-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #dbe2e9;margin:20px 0 10px}.approval-editor-head h3{margin:0 0 5px}.approval-editor-head p{margin:0 0 10px;color:#6d7b89}.approval-editor-head span{margin-bottom:10px;color:#1769aa;font-size:12px;font-weight:800}.approval-step-list{display:grid;gap:10px}.approval-step-list .approver-step{grid-template-columns:68px minmax(180px,.8fr) minmax(300px,1.4fr) auto;padding:14px;border:1px solid #dce3ea;background:#fbfcfd;border-radius:9px;margin:0}.step-number{text-align:center}.step-number b{display:block;width:32px;height:32px;line-height:32px;margin:auto;border-radius:50%;background:#1769aa;color:#fff}.step-number small{display:block;margin-top:4px;color:#748294}.step-order-buttons{display:flex;gap:5px}.approval-step-list [hidden]{display:none!important}@media(max-width:800px){.approval-line-basic{grid-template-columns:1fr}.approval-step-list .approver-step{grid-template-columns:55px 1fr}.approval-step-list .approver-step>div:nth-child(3){grid-column:2}.step-order-buttons{grid-column:2}}
.approval-page-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 16px}.approval-page-actions>div{display:flex;gap:8px;flex-wrap:wrap}.purchase-start-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.purchase-start-guide b{font-size:18px}.purchase-start-guide p{margin:6px 0 0;color:#6d7b89}.purchase-start-guide a{color:#1769aa;font-weight:800}.purchase-start-options{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.purchase-start-card{position:relative;display:grid;grid-template-columns:54px 1fr;gap:15px;min-height:230px;padding:24px;background:#fff;border:1px solid #dce3ea;border-top:3px solid #93a4b5;box-shadow:0 3px 12px #1526380a;transition:.18s ease}.purchase-start-card:hover{transform:translateY(-2px);border-color:#1769aa;box-shadow:0 8px 22px #1769aa18}.purchase-start-card.recommended{border-top-color:#1769aa}.choice-number{position:absolute;right:16px;top:14px;color:#c0cad4;font-size:26px;font-weight:900}.choice-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#edf4fa;color:#1769aa;font-size:24px}.purchase-start-card small{color:#1769aa;font-weight:800}.purchase-start-card h2{margin:8px 0;font-size:20px}.purchase-start-card p{min-height:48px;color:#6d7b89;line-height:1.55}.purchase-start-card strong{display:block;margin-top:20px;color:#1769aa}@media(max-width:850px){.approval-page-actions,.purchase-start-guide{align-items:stretch;flex-direction:column}.purchase-start-options{grid-template-columns:1fr}.purchase-start-card{min-height:auto}}
.approval-page-actions{border-bottom:1px solid #d9e1e8;padding:0 4px 9px}.approval-page-actions .btn{border:0!important;border-radius:0;background:transparent!important;color:#33465a!important;padding:8px 5px;box-shadow:none}.approval-page-actions .btn:hover{color:#1769aa!important}.approval-page-actions .btn.primary{color:#1769aa!important;border-bottom:2px solid #1769aa!important}.page-back-button>.btn,.backbar>.btn{border:0;background:transparent;color:#40556a;padding:8px 2px;border-radius:0}.page-back-button>.btn:hover,.backbar>.btn:hover{color:#1769aa}
.sticky-actionbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;background:rgba(255,255,255,.96);border:1px solid #dfe5ec;border-radius:10px;box-shadow:0 3px 12px #0000000d}.top-scroll{overflow-x:auto;overflow-y:hidden;height:18px;margin-bottom:4px}.top-scroll>div{height:1px}.purchase-table thead th{position:sticky;top:0;z-index:5;background:#f4f7fa}.purchase-table th:first-child,.purchase-table td:first-child{position:sticky;left:0;z-index:6;background:#fff}.purchase-table th:nth-child(3),.purchase-table td:nth-child(3){position:sticky;left:45px;z-index:5;background:#fff}.evidence-box{margin:18px 0;padding:16px;border:1px solid #dfe5ec;border-radius:10px;background:#fafcfe}.evidence-row{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:12px;align-items:center;margin:9px 0}.important-note{margin-top:10px;padding:10px;background:#fff2e8;border-left:4px solid #d97706;font-weight:700}.success-note,.evidence-guide{padding:12px;background:#edf8f0;border-radius:8px;margin:8px 0}.readonly-box{padding:10px 12px;background:#f2f5f8;border:1px solid #dfe5ec;border-radius:7px;min-height:40px}.approver-step{display:grid;grid-template-columns:55px 1fr 1fr auto;gap:8px;align-items:center;margin:9px 0}.mini-btn{padding:5px 8px}.login-help{text-align:center;margin-top:12px}.profile-progress{height:8px;background:#e5e7eb;border-radius:5px;overflow:hidden}.profile-progress i{display:block;height:100%;background:#1769aa}

/* Phase 1 update - 2026-08-14 */
.dashboard-top{grid-template-columns:repeat(3,minmax(150px,220px));justify-content:start}.dashcard{padding:14px 16px}.dashcard strong{font-size:27px}.approval-cards{grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px}.mini-card{padding:12px 14px}.mini-card strong{font-size:24px}.mini-card small{display:block;color:#7a8796;margin-top:4px}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.compact-panel{padding:15px;margin:12px 0}.compact-panel h2{margin-top:0}.compact-grade{padding:9px}.compact-grade b{font-size:22px}.contract-panel .row{padding:7px 0}.leave-summary{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.medical-panel{border-top:3px solid #1769aa}.hr-hub{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:13px;margin:4px 0 18px}.hr-card{display:block;background:#fff;border:1px solid #dfe5ec;border-radius:11px;padding:17px;text-decoration:none;color:#26384e}.hr-card:hover{border-color:#76a9d1;box-shadow:0 3px 12px #0000000b}.hr-card b{display:block;font-size:17px;margin-bottom:6px}.hr-card span{font-size:12px;color:#748294}.hr-summary{grid-template-columns:repeat(3,minmax(150px,220px));justify-content:start}.backbar{display:flex;justify-content:flex-start;margin:0 0 12px}.nav-main{background:#173d66}.status-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf3f8;color:#34536e;font-weight:700;font-size:12px}
@media(max-width:1100px){.leave-summary{grid-template-columns:repeat(3,1fr)}.hr-hub{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-top,.approval-cards,.leave-summary,.hr-hub,.hr-summary{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}

.header-actions{display:flex;align-items:center;gap:14px}.profile-menu{position:relative}.profile-menu summary{cursor:pointer;padding:8px 10px;border:1px solid #dbe3ec;border-radius:8px;background:#fff}.profile-menu-box{position:absolute;right:0;top:40px;background:#fff;border:1px solid #dde5ed;border-radius:9px;box-shadow:0 8px 24px #0002;padding:6px;width:170px;z-index:50}.profile-menu-box a{display:block;padding:8px 10px;text-decoration:none}.approval-tabs{display:flex;gap:8px;flex-wrap:wrap}.approval-tabs a{background:#fff;border:1px solid #dbe4ed;border-radius:9px;padding:10px 14px;text-decoration:none;color:#203040}.approval-tabs b{margin-left:8px;background:#e9f1f8;border-radius:12px;padding:3px 7px}.compact-grade{min-height:72px!important;padding:8px!important}.gradegrid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))!important}.clickable-card{text-decoration:none;color:inherit}.choice-row{display:flex;gap:20px}

/* === UNISEM integrated update 2026-08-14 === */
.sidebar{background:#fff!important;border-right:1px solid #e2e8f0!important}
.sidebar .user{background:#f4f7fb!important;color:#15345b!important;border:1px solid #e0e7ef!important}
.sidebar .user small{color:#5f7184!important}
.sidebar nav a{color:#15345b!important;background:#fff!important;border:1px solid transparent}
.sidebar nav a:hover{background:#eef4fa!important;border-color:#e0e8f0}
.sidebar nav .nav-main{background:#fff!important;color:#15345b!important}
.sidebar hr{border-top-color:#e1e7ed!important}
header p:empty{display:none}
.dash-top-approvals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.dash-kpi{background:#fff;border:1px solid #dfe6ed;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;color:#1f3146}
.dash-kpi strong{font-size:24px;color:#165d91}
.dash-row{display:grid;gap:12px;margin-bottom:12px}.dash-row-3{grid-template-columns:1fr 1fr .8fr}.dash-row-main{grid-template-columns:1.75fr .85fr}.dash-row-bottom{grid-template-columns:1.25fr .75fr}
.approved-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:8px}.approved-summary>div{background:#f6f9fc;border-radius:8px;padding:8px}.approved-summary span,.approved-summary b,.approved-summary em{display:block}.approved-summary em{font-style:normal;color:#6c7988;font-size:11px}
.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-metrics>div{background:#f6f9fc;border-radius:8px;padding:10px}.mini-metrics span{display:block;color:#6b7786;font-size:11px}.mini-metrics b{font-size:21px}
.leave-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.leave-summary-grid>div{background:#f6f9fc;border-radius:8px;padding:11px}.leave-summary-grid span{display:block;color:#697786;font-size:12px}.leave-summary-grid strong{font-size:22px}
.grade-donut-wrap{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:center}.grade-donut{width:108px;height:108px;border-radius:50%;position:relative}.grade-donut:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff}.grade-table>div{display:grid;grid-template-columns:1fr auto auto;gap:7px;padding:5px 0;border-bottom:1px solid #edf1f5}.grade-table em{font-style:normal;color:#6f7b88}
.dash-grade-small{min-height:0!important}.dash-current-leave{min-height:330px}.dash-leave-large{min-height:330px}.count-badge{background:#e8f2fa;color:#145e92;padding:5px 9px;border-radius:14px}
.clickable-card{text-decoration:none;color:inherit}
.page-back-button{margin:10px 0 14px}.page-back-button button,.page-back-button .btn{background:#fff!important;color:#15345b!important;border:1px solid #cfd8e2!important}
.compact-actions{display:flex;gap:8px;flex-wrap:wrap}.approval-create{padding:14px 18px}.approval-tabs{gap:7px}
.profile-save-actions{margin-top:32px;padding-top:10px;text-align:center}.profile-save-actions button{min-width:180px;padding:11px 18px}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-grid label{border:1px solid #e0e6ec;border-radius:8px;padding:9px;font-weight:600}.check-grid input{width:auto}
.retirement-actions{margin-top:28px}
.reset-panel{margin:40px auto}.danger-notice{background:#fff4f4;color:#9f2525;border:1px solid #efcaca}
@media(max-width:1100px){.dash-row-3,.dash-row-main,.dash-row-bottom{grid-template-columns:1fr}.dash-top-approvals{grid-template-columns:repeat(2,1fr)}}

/* ===== ACTUAL UPDATE 2026-08-14 ===== */
.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:6px 7px}
.compact-main .panel{padding-top:12px;padding-bottom:12px}.compact-bars{height:120px!important}.compact-bars .track{height:82px!important}
.employee-search-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) auto;gap:8px;align-items:end}
.discipline-compact .formgrid{gap:9px}.discipline-compact textarea{min-height:58px}
.committee-choice{display:flex;align-items:center;gap:12px;margin:12px 0 8px}.committee-choice label{display:flex;gap:5px;align-items:center;margin:0}.committee-choice input{width:auto}
.discipline-actions{display:flex;justify-content:flex-end;gap:36px;margin-top:28px;padding-top:12px;border-top:1px solid #edf1f5}
.discipline-summary-line{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:6px;padding:10px 14px!important}
.discipline-summary-line>div{padding:7px 10px;border-right:1px solid #e6ebf0}.discipline-summary-line>div:last-child{border-right:0}.discipline-summary-line span{display:block;font-size:11px;color:#74808b}.discipline-summary-line b{font-size:14px}
.notice-check{display:flex;align-items:center}.notice-check label{display:inline-flex!important;align-items:center;gap:6px!important;margin:0!important}.notice-check input{width:auto!important;margin:0!important}
.import-error{background:#fff1f1}
@media(max-width:900px){.employee-search-row{grid-template-columns:1fr}.discipline-summary-line{grid-template-columns:1fr 1fr}.discipline-actions{gap:10px;flex-direction:column}}

/* === Verification update: one-screen admin dashboard === */
main{padding-top:12px!important}
header{margin-bottom:8px!important;min-height:52px!important}
header h1{font-size:22px!important;margin-bottom:0!important}
.dash-top-approvals{gap:7px!important;margin-bottom:7px!important}
.dash-kpi{padding:8px 11px!important;min-height:48px!important}
.dash-kpi strong{font-size:20px!important}
.dash-row{gap:7px!important;margin-bottom:7px!important}
.compact-panel,.dash-leave-large,.dash-current-leave{padding:10px 12px!important}
.panel h2{font-size:15px!important;margin:0 0 7px!important}
.row{padding:5px 0!important;font-size:12px!important}
.row small{font-size:10px!important}
.mini-metrics>div{padding:7px!important}.mini-metrics b{font-size:18px!important}
.compact-main{grid-template-columns:1.5fr .9fr!important}
.compact-leave-summary{min-height:0!important}
.leave-summary-table{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.leave-summary-table>div{background:#f6f9fc;border-radius:7px;padding:8px}
.leave-summary-table span{display:block;font-size:11px;color:#6e7a86}.leave-summary-table b{font-size:19px}.leave-summary-table em{font-size:10px;font-style:normal;color:#7b8793}
.leave-summary-table .total{background:#edf5fb}
.dash-current-leave{min-height:0!important;max-height:175px;overflow:hidden}
.dash-grade-small{padding-bottom:8px!important}.grade-donut{width:88px!important;height:88px!important}.grade-donut:after{inset:20px!important}.grade-donut-wrap{grid-template-columns:95px 1fr!important}
.dash-row-bottom .panel{max-height:145px;overflow:hidden}
@media(min-width:1400px) and (min-height:850px){
  main{height:calc(100vh - 1px);overflow:hidden}
}


/* ===== 2026-08-14 SCROLL SCOPE FIX ===== */
/* All normal screens must scroll. */
html,body{min-height:100%;height:auto!important;overflow-y:auto!important;overflow-x:auto!important}
.layout{min-height:100vh!important;height:auto!important;overflow:visible!important}
main{height:auto!important;min-height:100vh!important;overflow:visible!important}

/* Only the SYSTEM ADMIN dashboard is visually compressed to one screen. */
.admin-dashboard-page{
    height:calc(100vh - 86px);
    max-height:calc(100vh - 86px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.admin-dashboard-page .dash-top-approvals{flex:0 0 auto}
.admin-dashboard-page .dash-row{flex:0 0 auto}

/* Compact dashboard rows without clipping the grade donut. */
.admin-dashboard-page .dash-row-3{min-height:142px;max-height:154px}
.admin-dashboard-page .compact-main{min-height:154px;max-height:166px}
.admin-dashboard-page .dash-row-bottom{
    min-height:132px;
    max-height:142px;
    overflow:visible!important;
}
.admin-dashboard-page .dash-row-bottom .panel{
    min-height:128px!important;
    max-height:138px!important;
    overflow:visible!important;
}
.admin-dashboard-page .dash-grade-small{
    min-height:128px!important;
    max-height:138px!important;
    overflow:visible!important;
}
.admin-dashboard-page .grade-donut-wrap{
    min-height:94px!important;
    overflow:visible!important;
    align-items:center!important;
}
.admin-dashboard-page .grade-donut{
    width:84px!important;
    height:84px!important;
    min-width:84px!important;
    min-height:84px!important;
    flex:0 0 84px!important;
    overflow:visible!important;
}
.admin-dashboard-page .grade-donut:after{inset:19px!important}
.admin-dashboard-page .grade-table>div{padding:3px 0!important;font-size:11px!important}

/* Dashboard lists are intentionally clipped only inside the dashboard cards. */
.admin-dashboard-page .dash-current-leave{
    min-height:150px!important;
    max-height:162px!important;
    overflow:hidden!important;
}
.admin-dashboard-page .compact-panel{overflow:hidden!important}

/* Outside dashboard, never inherit dashboard clipping. */
body :not(.admin-dashboard-page) .dash-row-bottom .panel{overflow:visible}
@media(max-width:1399px), (max-height:849px){
    .admin-dashboard-page{
        height:auto;
        max-height:none;
        overflow:visible;
    }
}

/* ===== MONDAY ACTUAL UPDATE 2026-08-17 ===== */
/* Normal pages always scroll. */
html,body{height:auto!important;min-height:100%!important;overflow:auto!important}
.layout,main{height:auto!important;min-height:100vh!important;overflow:visible!important}

/* Only admin dashboard is compressed on normal desktop screens. */
.admin-dashboard-page{
  --dgap:clamp(6px,.6vw,12px);
  --dpad:clamp(8px,.75vw,14px);
  --dtitle:clamp(13px,1vw,17px);
  height:calc(100vh - 82px);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(138px,1.05fr) minmax(140px,.9fr) minmax(140px,.9fr);
  gap:var(--dgap);
}
.admin-dashboard-page .dash-top-approvals{margin:0!important;gap:var(--dgap)!important}
.admin-dashboard-page .dash-row{margin:0!important;gap:var(--dgap)!important;min-height:0!important;max-height:none!important}
.admin-dashboard-page .panel{padding:var(--dpad)!important;min-height:0!important;max-height:none!important}
.admin-dashboard-page .panel h2{font-size:var(--dtitle)!important}
.admin-dashboard-page .dash-current-leave,
.admin-dashboard-page .dash-row-bottom .panel,
.admin-dashboard-page .dash-grade-small{max-height:none!important;min-height:0!important;overflow:hidden!important}
.admin-dashboard-page .grade-donut-wrap{grid-template-columns:minmax(88px,9vw) 1fr!important;min-height:0!important;overflow:visible!important}
.admin-dashboard-page .grade-donut{
  width:clamp(82px,7.2vw,118px)!important;height:clamp(82px,7.2vw,118px)!important;
  min-width:82px!important;min-height:82px!important;
}
.admin-dashboard-page .grade-donut:after{inset:clamp(19px,1.7vw,28px)!important}
.admin-dashboard-page .row{padding:clamp(3px,.35vh,6px) 0!important}
@media(max-width:1200px),(max-height:760px){
  .admin-dashboard-page{height:auto;overflow:visible;display:block}
  .admin-dashboard-page .dash-row,.admin-dashboard-page .dash-top-approvals{margin-bottom:8px!important}
}

/* Employee deletion */
.employee-delete-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.5fr) auto auto;gap:8px;align-items:center}
.delete-confirm-box{display:flex;gap:10px;align-items:end;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.delete-confirm-box label{margin-right:auto}
.empcheck{width:auto!important}

/* Employee import preview */
.import-summary{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;margin-bottom:12px}
.import-summary>div{padding:10px;border:1px solid #e1e7ee;border-radius:8px;background:#f8fafc}
.import-summary span{display:block;font-size:12px;color:#687786}.import-summary b{font-size:22px}
.import-summary .ok{background:#f2fbf4}.import-summary .warn{background:#fff9eb}.import-summary .err{background:#fff3f3}
.import-warning{background:#fff9eb}.import-commit{margin-top:16px;display:flex;gap:14px;align-items:center;justify-content:flex-end}

/* Committee attendee double-click picker */
.committee-member-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.committee-member-picker>input,.committee-member-picker>small{grid-column:1/-1}
.member-search-results,.member-selected-list{border:1px solid #d8e0e8;border-radius:8px;min-height:150px;max-height:220px;overflow:auto;background:#fff}
.member-result{padding:8px 10px;border-bottom:1px solid #eef2f5;cursor:pointer}.member-result:hover{background:#edf5fb}
.member-selected-title{grid-column:2;font-weight:700}
.selected-member{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border-bottom:1px solid #eef2f5}.selected-member button{padding:4px 8px}
@media(max-width:800px){
  .employee-delete-filters{grid-template-columns:1fr}
  .committee-member-picker{grid-template-columns:1fr}
  .member-selected-title{grid-column:1}
}

/* ===== HOTFIX 2026-08-17 ===== */
/* Recent leave table: never clip text vertically; one-line ellipsis horizontally. */
.admin-dashboard-page .compact-table{table-layout:fixed;width:100%}
.admin-dashboard-page .compact-table th,
.admin-dashboard-page .compact-table td{height:28px!important;line-height:1.25!important;vertical-align:middle!important;padding:5px 7px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-dashboard-page .compact-table th:nth-child(1){width:25%}
.admin-dashboard-page .compact-table th:nth-child(2){width:34%}
.admin-dashboard-page .compact-table th:nth-child(3){width:13%}
.admin-dashboard-page .compact-table th:nth-child(4){width:28%}
.admin-dashboard-page .recent-status .status-badge{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}

/* Dynamic rank donut must not be overridden by old fixed CSS background. */

/* Committee attendee search button */
.member-search-bar{display:grid;grid-template-columns:1fr auto;gap:7px;grid-column:1/-1}
.member-search-bar input{min-width:0}
.member-search-bar button{white-space:nowrap}

/* Search forms / normal pages remain scrollable. */
body:not(.dashboard-only) main{overflow:visible}
.expiry-focus{background:#fff4d6!important}.expiry-focus b{color:#8a4b00}.expiry-focus .doc-status{display:inline-block;margin-top:4px}

/* ===== VACATION WORKFLOW ACTUAL UPDATE 2026-08-17 ===== */
.individual-evidence{display:grid;gap:8px;margin-top:8px}
.evidence-group{display:none;border:1px solid #e1e7ed;border-radius:8px;padding:8px;background:#fbfcfd}
.evidence-upload-row{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr);gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid #edf1f4}
.evidence-upload-row:last-child{border-bottom:0}
.evidence-upload-row span{font-weight:650}.optional-evidence{display:none}
@media(max-width:700px){.evidence-upload-row{grid-template-columns:1fr}}

/* ===== FULL INTEGRATED UPDATE 2026-08-17 ===== */
.member-search-results{min-height:0!important;max-height:220px}
.employee-import-schema table input{min-width:110px}
.employee-import-schema code{white-space:nowrap}

/* ===== NEXT INTEGRATED UPDATE 2026-08-17 ===== */
.committee-decision-box{width:100%!important;min-height:190px!important;grid-column:1/-1;resize:vertical}
.localized-file-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.localized-file-name{font-size:.92rem;color:#586573}
.grade-resident-chart{display:grid;gap:9px}
.grade-row{display:grid;grid-template-columns:minmax(90px,140px) 1fr 45px;align-items:center;gap:10px}
.grade-bar-wrap{height:18px;background:#edf1f5;border-radius:9px;overflow:hidden}
.grade-bar{height:100%;background:currentColor;border-radius:9px;min-width:2px}
@media(max-width:700px){.grade-row{grid-template-columns:80px 1fr 35px}.committee-decision-box{min-height:150px!important}}

/* ===== APP3 FULL UPDATE 2026-08-17 ===== */
.grade-headcount-card{margin-bottom:12px}.grade-bars{display:grid;gap:7px}.grade-bar-row{display:grid;grid-template-columns:minmax(70px,120px) 1fr 40px 55px;gap:8px;align-items:center}.grade-bar-track{height:16px;background:#edf1f5;border-radius:8px;overflow:hidden}.grade-bar-track i{display:block;height:100%;background:#6c7d90;border-radius:8px}.grade-bar-row em{font-style:normal;color:#687786;font-size:12px}.attention-list{display:grid;gap:4px}.attention-list a{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:7px;text-decoration:none}.attention-list a:hover{background:#f4f7fa}.attention-list b{min-width:32px;text-align:center}.committee-decision-box{width:100%!important;min-height:220px!important;resize:vertical}.committee-presets{grid-column:1/-1;border-top:1px solid #e6ebef;padding-top:8px;display:grid;gap:7px}.preset-buttons{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.preset-save{display:grid;grid-template-columns:1fr auto;gap:6px}.action-inline-manager{grid-column:1/-1}.action-inline-manager select{width:100%}.action-inline-manager details{margin-top:7px}.action-manager-list{display:grid;gap:6px;margin-top:8px}.action-manage-row{display:grid;grid-template-columns:1fr 1fr 70px auto auto;gap:5px;align-items:center}.settlement-checks label{padding:8px;border:1px solid #e2e8ee;border-radius:7px;background:#fafcfd}@media(max-width:900px){.grade-bar-row{grid-template-columns:80px 1fr 35px}.grade-bar-row em{display:none}.action-manage-row{grid-template-columns:1fr 1fr}.committee-decision-box{min-height:160px!important}}

/* ===== FINAL VERIFIED UPDATE 2026-08-17 ===== */
.admin-dashboard-page .compact-main{grid-template-columns:1.35fr 1fr!important}
.admin-dashboard-page .daily-attention{min-width:0}
.admin-dashboard-page .compact-leave-summary{min-width:0}
.attention-list{display:grid;gap:5px}
.attention-list>a{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:7px;background:#f7f9fb;text-decoration:none}
.attention-empty{padding:12px;text-align:center;color:#687582}
.leave-month-grid{display:grid;grid-template-rows:repeat(2,minmax(38px,1fr));grid-auto-flow:column;grid-auto-columns:minmax(105px,1fr);gap:6px;min-height:82px}
.leave-month-item{background:#f6f9fc;border-radius:7px;padding:6px 7px;min-width:0}
.leave-month-item span{display:block;font-size:11px;color:#6e7a86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leave-month-item b{font-size:17px}.leave-month-item em,.leave-month-total em{font-size:10px;font-style:normal;color:#7b8793}
.leave-month-total{margin-top:7px;background:#edf5fb;border-radius:7px;padding:7px 9px;display:flex;align-items:center;gap:6px}
.leave-month-total span{margin-right:auto;font-size:11px;color:#5d6b78}.leave-month-total b{font-size:18px}
.grade-headcount-card .grade-bar-row{display:grid;grid-template-columns:minmax(72px,95px) 1fr 40px 58px;gap:9px;align-items:center}
.grade-headcount-card .grade-bar-row>span{white-space:nowrap;overflow:visible;min-width:72px}
.grade-headcount-card .grade-bars{display:grid;gap:7px}
.employee-headcount-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.employee-headcount-charts .grade-headcount-card{margin-bottom:0;min-width:0}.tenure-headcount-card .grade-bar-track i{background:#2877a8}@media(max-width:900px){.employee-headcount-charts{grid-template-columns:1fr}}

/* V6 light workspace redesign: preserve the original logo and keep navigation white. */
body{background:#f1f3f5;color:#1f2d3d}
.sidebar{background:#fff!important;border-right:1px solid #d8dde3!important;padding:18px 15px}
.brand{background:#fff;border-radius:0;padding:8px}
.brand img{max-width:100%;max-height:52px;object-fit:contain}
.sidebar .user{background:#f5f7f9!important;color:#183553!important;border:1px solid #dde3e9!important;border-radius:3px}
.sidebar nav a{border-radius:2px!important}
.sidebar nav a:hover{background:#f0f3f6!important;border-color:#e0e5ea!important}
.sidebar nav .nav-main{background:#f5f7f9!important}
main{background:#f1f3f5}
main>header{background:#fff;border-bottom:1px solid #d8dde3;margin:0 -28px 18px;padding:0 28px;height:72px}
header h1{font-size:23px;font-weight:700}
.profile-menu summary,.btn,button,.smallbtn,input,select,textarea{border-radius:3px}
.card,.panel{border-color:#d8dde3;border-radius:3px;box-shadow:none}
.approval-redesign{padding-bottom:24px}
.approval-commandbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 0 18px}
.approval-commandbar h2{margin:0;font-size:18px}.approval-commandbar p{margin:6px 0 0;color:#6a7582;font-size:13px}
.approval-commandbar .compact-actions{gap:0;align-items:center}
.approval-commandbar .compact-actions .btn{position:relative;background:transparent;color:#455566;border:0;border-radius:0;padding:8px 15px;box-shadow:none}
.approval-commandbar .compact-actions .btn+.btn:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:#cfd6dd}
.approval-commandbar .compact-actions .btn:hover{background:transparent;color:#1769aa}
.approval-commandbar .compact-actions .btn.primary{background:transparent;color:#1769aa;border:0;border-bottom:2px solid #1769aa;padding-bottom:6px}
.approval-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746;margin-bottom:18px}
.approval-summary-strip>a{padding:14px 16px;border-right:1px solid #d8dde3;min-height:92px}.approval-summary-strip>a:last-child{border-right:0}.approval-summary-strip span,.approval-summary-strip small{display:block}.approval-summary-strip span{font-size:13px}.approval-summary-strip strong{display:block;font-size:24px;color:#1769aa;margin:7px 0 3px}.approval-summary-strip small{color:#6a7582;font-size:12px}.approval-summary-strip>a:hover{background:#f4f8fb}
.approval-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.approval-document-panel{background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746;min-width:0}
.approval-section-title{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}.approval-section-title h2{font-size:16px;margin:0}.approval-section-title a{font-size:12px;color:#1769aa;font-weight:700}
.approval-document-panel table{min-width:520px}.approval-document-panel th{background:#f5f6f8}.approval-document-panel th,.approval-document-panel td{padding:10px 16px}
@media(max-width:1000px){.approval-summary-strip{grid-template-columns:repeat(2,1fr)}.approval-summary-strip>a:nth-child(2){border-right:0}.approval-summary-strip>a:nth-child(-n+2){border-bottom:1px solid #d8dde3}.approval-document-grid{grid-template-columns:1fr}}
@media(max-width:700px){main>header{margin:0 -14px 16px;padding:0 14px}.approval-commandbar{align-items:flex-start;flex-direction:column}.approval-summary-strip{grid-template-columns:1fr}.approval-summary-strip>a{border-right:0;border-bottom:1px solid #d8dde3}.approval-summary-strip>a:last-child{border-bottom:0}}
#employeeForeignInfo{margin-top:10px}
.localized-file-wrap{display:inline-flex!important;align-items:center;gap:9px;flex-wrap:wrap}
.localized-file-btn{white-space:nowrap}
.localized-file-name{white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){
 .admin-dashboard-page .compact-main{grid-template-columns:1fr!important}
 .leave-month-grid{grid-template-rows:repeat(2,minmax(36px,1fr));grid-auto-columns:minmax(100px,1fr)}
}

/* ===== APP4 LATEST UPDATE 2026-08-17 ===== */
.sick-evidence-box{margin:12px 0}
.sick-evidence-box .evidence-upload-row{display:grid;grid-template-columns:minmax(260px,.8fr) 1fr;gap:12px;align-items:center}
.existing-evidence{margin-top:8px;padding:7px 9px;background:#f4f8fb;border-radius:7px}
.foreigner-status-card .mini-metrics>div{min-width:0}
.foreigner-status-card small{display:block;margin-top:3px}
@media(max-width:700px){.sick-evidence-box .evidence-upload-row{grid-template-columns:1fr}}

/* ===== POST-VERIFY DASHBOARD 1:1 WIDTH UPDATE 2026-08-17 ===== */
.admin-dashboard-page .compact-main{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.admin-dashboard-page .daily-attention,
.admin-dashboard-page .compact-leave-summary{
  min-width:0;
}
@media(max-width:1100px){
  .admin-dashboard-page .compact-main{
    grid-template-columns:1fr!important;
  }
}

/* ===== EMPLOYEE IMPORT SCHEMA I18N FIX 2026-08-17 ===== */
.internal-field-code{
  display:block;
  margin-top:3px;
  font-size:10px;
  color:#8a96a3;
  white-space:nowrap;
}

/* ===== HR VACATION MANAGEMENT HUB 2026-08-17 ===== */
.vacation-admin-hub{margin-bottom:18px}
.vacation-admin-summary{grid-template-columns:repeat(5,minmax(130px,1fr))}
.vacation-admin-toolbar{margin-bottom:12px}
@media(max-width:1100px){
  .vacation-admin-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}
}
@media(max-width:650px){
  .vacation-admin-summary{grid-template-columns:1fr}
}

/* ===== FIRST LOGIN PASSWORD SETUP 2026-08-17 ===== */
.first-password p{line-height:1.55}
.first-password small{display:block;margin-top:-5px;margin-bottom:7px;color:#6d7985}
.login-help{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}

/* ===== FIRST LOGIN EMPLOYEE NO + BIRTH DATE 2026-08-17 ===== */
.import-login-note{padding:9px 11px;background:#f4f8fb;border-radius:7px;margin-bottom:12px}
.first-password input[type=date]{width:100%}

/* ===== ANNUAL LEAVE ADJUSTMENT MANAGEMENT 2026-08-19 ===== */
.annual-leave-filters{display:grid;grid-template-columns:130px minmax(220px,1fr) minmax(180px,260px) auto;gap:10px;align-items:end}
.annual-leave-management-table{min-width:1500px}
.annual-leave-management-table th:nth-child(1){min-width:170px}
.annual-leave-management-table th:nth-child(7){min-width:130px}
.annual-leave-management-table th:nth-child(8){min-width:320px}
.annual-adjust-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.annual-adjust-summary>span{padding:7px 10px;border-radius:7px;background:#eef5fb}
.adjust-needs-grant,.adjust-needs-approval{background:#fff8e8!important;color:#8c5d13}
.adjust-delta-cell input{width:105px;min-width:105px}.adjust-delta-cell small{margin-top:5px}
.adjust-reason-fields{display:grid;grid-template-columns:130px minmax(170px,1fr);gap:6px}
.adjust-reason-fields select,.adjust-reason-fields input{min-width:0;width:100%}
.apply-adjustment-btn{min-width:68px;white-space:nowrap;font-weight:700}
.positive-days{color:#147143;font-weight:700}.negative-days{color:#b42318;font-weight:700}
.notice-inline{display:inline-block;padding:7px 9px;border-radius:7px;background:#fff8e8;color:#8c5d13}
.adjustment-history-panel{border-top:3px solid #1769aa}
.grant-run-history-panel{border-top:3px solid #52677c}.grant-run-history-table{min-width:1300px}
.run-status{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;white-space:nowrap}
.run-status.running{background:#fff8e8;color:#8c5d13}.run-status.completed{background:#e9f8ef;color:#147143}.run-status.failed{background:#fff0f0;color:#ad2828}
.run-error{max-width:320px;white-space:normal;word-break:break-word}
@media(max-width:900px){.annual-leave-filters{grid-template-columns:1fr}.adjust-reason-fields{grid-template-columns:1fr}.annual-leave-management-table th:nth-child(8){min-width:260px}}

/* ===== EMPLOYEE INTEGRATED PROFILE 2026-08-19 ===== */
.employee-profile-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto;gap:10px;align-items:end}
.attendance-record-filters{grid-template-columns:140px 140px minmax(220px,1fr)}.attendance-record-filters .attendance-record-search{grid-column:1/3}.attendance-record-filters>button{justify-self:start;width:auto;min-width:110px}.attendance-filter-actions{grid-column:3;display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:8px;align-items:end}.attendance-filter-actions button{white-space:nowrap}
.attendance-summary-cards{gap:12px;margin-bottom:16px}.attendance-summary-card{display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:center;padding:16px;border-top-width:3px}.attendance-summary-card>i{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;font-style:normal;font-weight:900;font-size:18px}.attendance-summary-card strong{font-size:27px;margin:3px 0 2px}.attendance-summary-card small{display:block;color:#7a8796;font-size:11px}.attendance-summary-work{border-top-color:#2e8b57}.attendance-summary-work>i{background:#e8f6ee;color:#257349}.attendance-summary-rest{border-top-color:#61758a}.attendance-summary-rest>i{background:#edf1f5;color:#52677c}.attendance-summary-missing{border-top-color:#dc8b24}.attendance-summary-missing>i{background:#fff3df;color:#a86108}.attendance-summary-check{border-top-color:#d14d4d}.attendance-summary-check>i{background:#fdecec;color:#b43232}.attendance-filter-panel{background:linear-gradient(180deg,#fff 0,#fbfdff 100%)}.attendance-filter-panel .panelhead{margin-bottom:14px}.attendance-filter-panel .panelhead h2{margin:0;font-size:17px}.attendance-filter-panel .panelhead small{color:#748294}.attendance-history-panel .panelhead{padding-bottom:12px;border-bottom:1px solid #e7ebf0}.attendance-history-panel .panelhead h2{margin:0}.attendance-history-table{margin-top:4px}.attendance-history-table tbody tr:hover td{background:#f7fbff}.attendance-history-table th{white-space:nowrap}.attendance-history-table td{vertical-align:middle}.attendance-shift-badge{display:inline-block;min-width:54px;text-align:center;padding:4px 8px;border-radius:999px;background:#eaf3fb;color:#1769aa;font-weight:800}.attendance-history-table .badge.red{display:inline-block;margin:1px 0}
.attendance-sync-status{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow-x:auto;margin:8px 0;font-size:13px}.attendance-sync-status>span:not(.badge):before{content:"·";margin-right:8px;color:#9aa6b2}.attendance-sync-help{margin:6px 0 12px;color:#748294;font-size:12px}
.attendance-summary{grid-template-columns:repeat(6,minmax(120px,1fr));max-width:none}
.attendance-alert-reply{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,2fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e7ebf0}.attendance-alert-reply small{display:block;color:#748294;margin-top:4px}.attendance-alert-reply>span{grid-column:2/4;color:#566476}
.attendance-popup-reply{display:flex;gap:8px;align-items:center}.attendance-popup-reply input{min-width:240px}
.employee-profile-list{min-width:720px}.employee-profile-list tr.selected td{background:#eef6fd}
.employee-profile-hero{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.employee-profile-hero .profile-photo{width:72px;height:72px;border-radius:12px}
.employee-profile-hero small{display:block;color:#6d7985;margin-top:3px}
.profile-readonly-grid{margin-bottom:8px}
.employee-profile-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 18px;border-bottom:1px solid #d7e0ea}
.employee-profile-tabs a{padding:10px 16px;font-weight:800;color:#5d6b7a;border-bottom:3px solid transparent;margin-bottom:-1px}
.employee-profile-tabs a:hover{color:#1769aa}
.employee-profile-tabs a.active{color:#1769aa;border-bottom-color:#1769aa}
.employee-profile-year{display:flex;gap:10px;align-items:end;margin:0 0 14px}
.employee-profile-leave-cards{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:0 0 18px}
.employee-profile-leave-cards .card{background:#f5f8fb;border:1px solid #e2e8ef;border-radius:10px;padding:12px}
.employee-profile-leave-cards .card span{display:block;color:#6d7985;font-size:12px}
.employee-profile-leave-cards .card strong{display:block;font-size:22px;margin-top:4px}
.doc-status{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px}
.doc-status.ok{background:#e9f8ef;color:#147143}
.doc-status.expiring{background:#fff8e8;color:#8c5d13}
.doc-status.expired{background:#fff0f0;color:#ad2828}
.doc-status.empty{background:#eef2f6;color:#6d7985}
.profile-coming-soon{padding:18px 4px;color:#6d7985}
.profile-file-list{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}
.profile-file-list li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#f5f8fb;border:1px solid #e2e8ef;border-radius:10px}
.profile-file-name{font-weight:700}
.profile-file-list small{color:#6d7985}
@media(max-width:1100px){.employee-profile-leave-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.employee-profile-filters{grid-template-columns:1fr}.attendance-record-filters .attendance-record-search,.attendance-filter-actions{grid-column:auto}.attendance-filter-actions{grid-template-columns:1fr}.attendance-alert-reply{grid-template-columns:1fr}.attendance-alert-reply>span{grid-column:auto}.employee-profile-leave-cards{grid-template-columns:repeat(2,1fr)}.attendance-summary-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.attendance-summary-cards{grid-template-columns:1fr 1fr}.attendance-summary-card{grid-template-columns:36px 1fr;padding:12px;gap:9px}.attendance-summary-card>i{width:34px;height:34px;border-radius:10px;font-size:14px}.attendance-summary-card strong{font-size:23px}.attendance-summary-card small{display:none}.attendance-filter-panel .panelhead{align-items:flex-start;flex-direction:column}.attendance-history-table{min-width:680px}}

/* ===== V6 FLAT DASHBOARD REDESIGN 2026-08-19 ===== */
.admin-dashboard-page,.user-dashboard-page{color:#263545}
.admin-dashboard-page .dash-top-approvals{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:0!important;background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746}
.admin-dashboard-page .dash-kpi{border:0;border-right:1px solid #d8dde3;border-radius:0;padding:11px 15px;background:#fff}
.admin-dashboard-page .dash-kpi:last-child{border-right:0}.admin-dashboard-page .dash-kpi:hover{background:#f5f7f9}.admin-dashboard-page .dash-kpi strong{color:#1769aa;font-size:22px}
.admin-dashboard-page .panel,.user-dashboard-page .panel{background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746;border-radius:0;box-shadow:none}
.admin-dashboard-page .panelhead,.user-dashboard-page .panelhead{border-bottom:1px solid #e1e5e9;padding-bottom:8px;margin-bottom:4px}
.admin-dashboard-page .smallbtn,.user-dashboard-page .btn{position:relative;background:transparent!important;color:#526273!important;border:0!important;border-radius:0;padding:6px 10px;box-shadow:none}
.admin-dashboard-page .smallbtn:hover,.user-dashboard-page .btn:hover{color:#1769aa!important}
.user-dashboard-page .panelhead>div{display:flex;align-items:center}.user-dashboard-page .panelhead>div .btn+.btn:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:#cfd6dd}
.user-dashboard-page .panelhead>div .btn.primary{color:#1769aa!important;border-bottom:2px solid #1769aa!important;padding-bottom:4px}
.admin-dashboard-page .attention-list>a{background:#fff;border-bottom:1px solid #edf0f3;border-radius:0;padding:6px 4px}.admin-dashboard-page .attention-list>a:last-child{border-bottom:0}.admin-dashboard-page .attention-list>a:hover{background:#f5f7f9}
.admin-dashboard-page .attention-list b{color:#1769aa}.admin-dashboard-page .leave-month-item{background:#f5f6f8;border-radius:0}.admin-dashboard-page .leave-month-total{background:#edf3f7;border-radius:0}
.admin-dashboard-page .mini-metrics>div{background:#f7f8fa!important;border-radius:0!important}.admin-dashboard-page .status-badge{border-radius:2px}
.user-dashboard-page .panel{padding:16px;margin:0 0 16px}.user-dashboard-page .panel h2{font-size:16px!important}.user-dashboard-page table th{background:#f5f6f8}
.user-dashboard-page>section:first-of-type .cards{gap:0;border:1px solid #d8dde3;border-top:2px solid #253746;background:#fff}.user-dashboard-page>section:first-of-type .card{border:0;border-right:1px solid #d8dde3;border-radius:0}.user-dashboard-page>section:first-of-type .card:last-child{border-right:0}
@media(max-width:1000px){.admin-dashboard-page .dash-top-approvals{grid-template-columns:repeat(2,1fr)}.admin-dashboard-page .dash-kpi:nth-child(2){border-right:0}.admin-dashboard-page .dash-kpi:nth-child(-n+2){border-bottom:1px solid #d8dde3}}
@media(max-width:700px){.admin-dashboard-page .dash-top-approvals{grid-template-columns:1fr}.admin-dashboard-page .dash-kpi{border-right:0;border-bottom:1px solid #d8dde3}.admin-dashboard-page .dash-kpi:last-child{border-bottom:0}.user-dashboard-page>section:first-of-type .cards{display:grid;grid-template-columns:1fr}.user-dashboard-page>section:first-of-type .card{border-right:0;border-bottom:1px solid #d8dde3}.user-dashboard-page>section:first-of-type .card:last-child{border-bottom:0}}

/* ===== V6 FLAT WORKSPACE COMPONENTS 2026-08-19 ===== */
.panel,.card{border-radius:0;box-shadow:none}
main>.panel,main>.grid2>.panel,main>.formpanel,main>.toolbar+section.panel{border-radius:0;border-top:2px solid #253746;box-shadow:none}
main>.cards{gap:0;background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746}
main>.cards>.card{border:0;border-right:1px solid #d8dde3;background:#fff}main>.cards>.card:last-child{border-right:0}main>.cards>.card strong{color:#1769aa}
.panelhead{border-bottom:1px solid #e1e5e9;padding-bottom:9px;margin-bottom:8px}.panelhead h2{margin-bottom:0!important}
.panel table th{background:#f5f6f8;color:#465565}.panel table tr:last-child td{border-bottom:0}
.page-back-button,.backbar{margin-bottom:10px}
.page-back-button .btn,.backbar .btn,.sticky-actionbar>a.btn{background:transparent!important;color:#526273!important;border:0!important;border-radius:0;padding:6px 2px}
.page-back-button .btn:hover,.backbar .btn:hover,.sticky-actionbar>a.btn:hover{color:#1769aa!important}
.toolbar>.compact-actions,.toolbar>div:not(.search){display:flex;align-items:center;gap:0;flex-wrap:wrap}
.toolbar>a.btn,.toolbar>.compact-actions>a.btn,.toolbar>div:not(.search)>a.btn,.panelhead a.btn,.panelhead a.smallbtn,.employee-tools a.btn{position:relative;background:transparent!important;color:#526273!important;border:0!important;border-radius:0;padding:7px 12px;box-shadow:none}
.toolbar>a.btn:hover,.toolbar>.compact-actions>a.btn:hover,.toolbar>div:not(.search)>a.btn:hover,.panelhead a.btn:hover,.panelhead a.smallbtn:hover,.employee-tools a.btn:hover{color:#1769aa!important}
.toolbar>a.btn+a.btn:before,.toolbar>.compact-actions>a.btn+a.btn:before,.toolbar>div:not(.search)>a.btn+a.btn:before,.employee-tools a.btn+a.btn:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:1px;background:#cfd6dd}
.toolbar a.btn.primary,.panelhead a.btn.primary{color:#1769aa!important;border-bottom:2px solid #1769aa!important;padding-bottom:5px}
.toolbar a.btn.danger{color:#ad2828!important;border-bottom:2px solid #d9a4a4!important}
.sticky-actionbar{border-radius:0;box-shadow:none;border-color:#d8dde3}
.hr-hub{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:0;background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746}
.hr-card{border:0;border-right:1px solid #d8dde3;border-bottom:1px solid #d8dde3;border-radius:0;box-shadow:none;padding:17px 18px;min-height:86px}
.hr-card:hover{background:#f5f7f9;border-color:#d8dde3;box-shadow:none}.hr-card b{color:#263545}.hr-card span{line-height:1.45}
.hr-summary{gap:0;background:#fff;border:1px solid #d8dde3;border-top:2px solid #253746}.hr-summary .card{border:0;border-right:1px solid #d8dde3;border-radius:0;background:#fff}.hr-summary .card:last-child{border-right:0}.hr-summary .card strong{color:#1769aa}
.formpanel{background:#fff}.formpanel h3{color:#263545;border-bottom:1px solid #d8dde3;padding-bottom:9px}.formpanel .approvalbox,.formpanel .evidence-box,.formpanel .conditional{border-radius:0;background:#f7f8fa}
.formpanel>.actions,.formpanel form>.actions{border-top:1px solid #e1e5e9;padding-top:14px}
.formpanel>.actions .btn,.formpanel form>.actions .btn{background:transparent;color:#526273;border:0}.formpanel>.actions button,.formpanel form>.actions button{border-radius:2px}
.employee-tools{background:#f7f8fa;border-radius:0;border:1px solid #d8dde3}
.filters{background:#fff}.filters button,.search button{border-radius:2px}.search select,.search input,.filters select,.filters input{border-radius:2px}
.status-badge,.badge,.doc-status,.run-status{border-radius:2px}
.notice,.import-login-note,.readonly-box{border-radius:2px}
.employee-profile-leave-cards{gap:0;border:1px solid #d8dde3;border-top:2px solid #253746}.employee-profile-leave-cards .card{border:0;border-right:1px solid #d8dde3;border-radius:0;background:#fff}.employee-profile-leave-cards .card:last-child{border-right:0}.employee-profile-leave-cards .card strong{color:#1769aa}
.profile-file-list{gap:0;border-top:2px solid #253746}.profile-file-list li{border-radius:0;background:#fff;border-color:#d8dde3;border-top:0}
.login{border-radius:0;border:1px solid #d8dde3;border-top:3px solid #253746;box-shadow:none}.login img{border-radius:0}.profile-menu summary,.profile-menu-box,.modalbox{border-radius:2px}.profile-menu-box{box-shadow:0 8px 20px #00000014}
@media(max-width:1000px){.hr-hub{grid-template-columns:repeat(2,1fr)}.hr-summary{display:grid!important;grid-template-columns:repeat(2,1fr)!important}.hr-summary .card{border-bottom:1px solid #d8dde3}}
@media(max-width:700px){.hr-hub{grid-template-columns:1fr}.hr-card{border-right:0}.hr-summary{grid-template-columns:1fr!important}.hr-summary .card{border-right:0}main>.cards{grid-template-columns:1fr}main>.cards>.card{border-right:0;border-bottom:1px solid #d8dde3}.employee-profile-leave-cards .card{border-right:0;border-bottom:1px solid #d8dde3}.toolbar>.compact-actions,.toolbar>div:not(.search){align-items:flex-start;flex-direction:column}.toolbar>.compact-actions>a.btn+a.btn:before,.toolbar>div:not(.search)>a.btn+a.btn:before{display:none}}

/* ===== COMPACT EMPLOYEE HEADCOUNT CHARTS 2026-08-19 ===== */
.employee-headcount-charts{gap:14px;margin-bottom:14px}
.employee-headcount-charts .grade-headcount-card{padding:14px 16px;border-top:3px solid #765b9b;background:#fff}.employee-headcount-charts .tenure-headcount-card{border-top-color:#2877a8}
.employee-headcount-charts .panelhead{margin-bottom:10px;padding-bottom:9px}.employee-headcount-charts .panelhead h2{font-size:15px!important}.employee-headcount-charts .panelhead>span{font-size:12px;color:#607080}
.employee-headcount-charts .grade-bars{gap:2px}
.employee-headcount-charts .grade-bar-row{grid-template-columns:minmax(76px,104px) minmax(90px,1fr) 28px 48px;gap:9px;min-height:24px;padding:3px 4px;border-bottom:1px solid #f0f2f4}
.employee-headcount-charts .grade-bar-row:last-child{border-bottom:0}.employee-headcount-charts .grade-bar-row:hover{background:#f7f9fa}
.employee-headcount-charts .grade-bar-row>span{font-size:12px;color:#344556;white-space:nowrap}.employee-headcount-charts .grade-bar-row>b{font-size:12px;text-align:right;color:var(--hc,#2877a8)}.employee-headcount-charts .grade-bar-row>em{font-size:11px;text-align:right;color:#7a8793}
.employee-headcount-charts .grade-bar-track{height:8px;border-radius:999px;background:#e8edf1;overflow:hidden}.employee-headcount-charts .grade-bar-track i{height:100%;border-radius:999px;background:var(--hc,#2877a8)}
.employee-headcount-charts .grade-bar-row:nth-child(6n+1){--hc:#2877a8}.employee-headcount-charts .grade-bar-row:nth-child(6n+2){--hc:#16867a}.employee-headcount-charts .grade-bar-row:nth-child(6n+3){--hc:#5d8f3e}.employee-headcount-charts .grade-bar-row:nth-child(6n+4){--hc:#d18a24}.employee-headcount-charts .grade-bar-row:nth-child(6n+5){--hc:#c45f5a}.employee-headcount-charts .grade-bar-row:nth-child(6n+6){--hc:#765b9b}
@media(max-width:700px){.employee-headcount-charts .grade-bar-row{grid-template-columns:76px minmax(70px,1fr) 26px}.employee-headcount-charts .grade-bar-row>em{display:none}}

/* ===== UNIFIED TEXT ACTIONS 2026-08-20 ===== */
/* Links move between screens or open details, so keep them light and text based. */
a.btn,a.smallbtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent!important;color:#526273!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:7px 6px;text-decoration:none;line-height:1.2}
a.btn:hover,a.smallbtn:hover{background:transparent!important;color:#1769aa!important;text-decoration:none}
a.btn:focus-visible,a.smallbtn:focus-visible{outline:2px solid #8bb9dc;outline-offset:2px}
a.btn.primary,a.smallbtn.primary{background:transparent!important;color:#1769aa!important;border-bottom:2px solid #1769aa!important;padding-bottom:5px}
a.btn.danger,a.smallbtn.danger{background:transparent!important;color:#ad2828!important;border-bottom:1px solid #d9a4a4!important}

/* Compact table and inline actions use the same text treatment. */
button.smallbtn{background:transparent!important;color:#526273!important;border:0!important;border-bottom:1px solid #c8d1d9!important;border-radius:0!important;box-shadow:none!important;padding:5px 4px}
button.smallbtn:hover{color:#1769aa!important;border-bottom-color:#1769aa!important}
button.smallbtn.danger{color:#ad2828!important;border-bottom-color:#d9a4a4!important}

/* Back/cancel controls are navigation, not primary operations. */
.page-back-button>button,.backbar>button,button.btn[type="button"]:not(.localized-file-btn){background:transparent!important;color:#526273!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:7px 3px}
.page-back-button>button:hover,.backbar>button:hover,button.btn[type="button"]:not(.localized-file-btn):hover{color:#1769aa!important;background:transparent!important}
.actions>a.btn{background:transparent!important;color:#526273!important;border:0!important}

/* Submit, save, approve and apply buttons remain filled to show a real operation. */
form button:not([type="button"]):not(.smallbtn):not(.danger),button[type="submit"]:not(.smallbtn):not(.danger){border-radius:2px;box-shadow:none}
.table-actions{white-space:nowrap}.table-actions>a,.table-actions>form{vertical-align:middle}.table-actions .smallbtn{min-width:34px;margin:0 2px}

/* ===== INTERNAL ANNOUNCEMENTS 2026-08-20 ===== */
.comm-audience{display:grid;gap:12px}.comm-check{display:inline-flex;align-items:center;gap:8px;width:auto;margin:4px 0;font-weight:600;white-space:nowrap;cursor:pointer}.comm-check input[type="checkbox"]{width:auto!important;min-width:14px;flex:0 0 auto;margin:0}
.comm-external-attendees{border-top:1px solid #e1e7ed;padding-top:14px}.comm-external-attendees .panelhead{margin-bottom:10px}.comm-external-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-top:8px;align-items:center}
@media(max-width:800px){.comm-external-row{grid-template-columns:1fr}.comm-external-row .smallbtn{justify-self:start}}
.comm-chip-source{max-height:220px;overflow:auto;padding:8px 10px;background:#f7f9fb;border:1px solid #e1e7ed}
.comm-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;margin:8px 0}
.comm-chip{display:inline-block;padding:4px 8px;background:#eef5fb;border-left:3px solid #1769aa;font-size:12px;font-weight:700}
.comm-cal{width:100%;border-collapse:collapse;table-layout:fixed}
.comm-cal th,.comm-cal td{border:1px solid #e1e7ed;vertical-align:top;height:92px;padding:6px}
.comm-cal th{height:auto;background:#f4f7fa;text-align:center}
.comm-cal th:nth-child(6),.comm-cal td:nth-child(6) .comm-day-num{color:#1769aa}
.comm-cal th:nth-child(7),.comm-cal td:nth-child(7) .comm-day-num{color:#c0392b}
.comm-cal .muted{color:#9aa6b2}.comm-cal a{display:block;font-size:12px;margin:2px 0}
.comm-week td{height:140px}
.comm-view-nav a{margin-right:10px}
.comm-filter-nav{margin:8px 0 12px}.comm-filter-nav a{margin-right:12px;color:#1769aa;font-weight:700}
.comm-filter-nav a.active{text-decoration:underline}
.comm-leave{display:block;color:#2c6e4f;font-size:11px;font-weight:700;margin:2px 0}
.comm-leave-more{display:block;color:#5b6b7a;font-size:11px}
.flash.warning,.warning{background:#fff8e8;color:#8c5d13}
.comm-rsvp-nav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.comm-rsvp-nav .smallbtn{background:#fff;color:#33465a;border-color:#cbd5df}
.comm-rsvp-nav .smallbtn.active{background:#1769aa;color:#fff;border-color:#1769aa}
.comm-rsvp-counts{font-weight:700}
.comm-minutes-missing{color:#c0392b;font-size:11px;font-weight:800}
.comm-minutes-form .comm-action-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:8px}
.comm-day-num{display:inline-block;font-weight:800;margin-right:4px}
.comm-lunar{display:block;color:#9aa6b2;font-size:11px;font-weight:400}
.comm-holiday .comm-day-num,.comm-holiday>b{color:#c0392b}
.comm-makeup .comm-day-num,.comm-makeup>b{color:#d97600}
.comm-holiday-name{display:block;color:#c0392b;font-size:11px;font-weight:700}
.comm-makeup-name{display:block;color:#d97600;font-size:11px;font-weight:700}
.comm-cal a.comm-event{color:#1769aa;font-weight:700}
.comm-cal a.comm-work-schedule{display:block;padding:3px 6px;border-radius:5px;background:#eee9ff;color:#5a3ea6;font-size:11px;font-weight:700;line-height:1.3}.comm-cal a.comm-work-schedule b{font-weight:900}.comm-cal a.comm-work-schedule span{display:block;margin-top:2px}.comm-work-schedule-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#eee9ff;color:#5a3ea6;font-weight:800}.comm-work-schedule-list{min-width:520px;margin-bottom:16px}.comm-work-schedule-list th{white-space:nowrap}
@media(max-width:800px){.comm-cal td{height:72px;font-size:12px}.comm-audience,.formgrid.profile-readonly-grid{grid-template-columns:1fr}}

/* Dashboard communication cleanup: natural height prevents new sections from overlapping. */
.admin-dashboard-page{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
}
.admin-dashboard-page>.dash-top-approvals,
.admin-dashboard-page>.dash-row,
.admin-dashboard-page>.communication-dashboard-alerts{
  margin-bottom:14px!important;
}
.admin-dashboard-page .dash-row-bottom{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
}
.communication-dashboard-alerts{padding:12px 14px!important}
.communication-dashboard-alerts>.panelhead{margin-bottom:10px}
.communication-alert-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:10px;
}
.communication-alert-grid>.panel{
  margin:0!important;
  padding:10px 12px!important;
  border-top:1px solid #d8dde3!important;
  background:#fafbfc!important;
  overflow:visible!important;
}
.communication-alert-grid>.panel .row:last-child{border-bottom:0}
.dashboard-alert-attendance-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-bottom:14px}
.dashboard-alert-attendance-row>.panel{min-width:0;margin:0!important}
.today-attendance-panel{padding:12px 14px!important}
.today-attendance-panel>.panelhead{margin-bottom:10px}
.today-attendance-count{margin:0 0 8px}
.today-attendance-list .row{color:inherit;text-decoration:none}
.today-attendance-list .row:hover{background:#f4f7fa}
.today-attendance-more{display:block;padding:9px 0;color:#1769aa;font-size:12px;font-weight:800}
@media(max-width:700px){
  .communication-alert-grid,
  .admin-dashboard-page .dash-row-bottom,
  .dashboard-alert-attendance-row{grid-template-columns:1fr!important}
}

/* ===== CS WORK LOGS 2026-08-20 ===== */
.cs-work-log-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end}
.cs-filter-actions{display:flex;align-items:center;gap:10px}
.cs-work-log-table{min-width:1900px}.cs-work-log-table th{white-space:nowrap}.cs-work-log-table td{max-width:260px;white-space:normal;word-break:break-word}
.cs-detail-link{color:#1769aa;font-weight:800}.cs-work-log-form{max-width:none}.cs-work-log-form textarea{resize:vertical}
.cs-work-log-detail{max-width:none}.cs-work-log-detail .readonly-box{white-space:pre-wrap;word-break:break-word}
.cs-option-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:0 28px;align-items:start}
.cs-option-tabs{display:flex;flex-direction:column;gap:0;margin:0;padding:0 20px 0 0;background:none;border:none;border-right:1px solid #e4e8ec}
.cs-option-tabs a{display:block;padding:10px 4px 10px 0;border:none;border-bottom:2px solid transparent;color:#33465a;font-weight:700;text-decoration:none;background:none;white-space:nowrap;line-height:1.35}
.cs-option-tabs a:hover{color:#1769aa;background:none}
.cs-option-tabs a.active{color:#1769aa;background:none;border-bottom-color:#1769aa}
.cs-option-main{min-width:0;max-width:100%;overflow-x:hidden}
.cs-option-main>.panel:first-child{margin-top:0}
.cs-work-chain-stack{display:flex;flex-direction:column;gap:20px}
.cs-work-chain-stack>.panel,.cs-work-chain-search-panel{margin-top:0}
.cs-work-chain-work-type{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 14px;max-width:100%;min-width:0}
.cs-work-chain-work-type select{min-width:220px;max-width:100%}
.cs-work-chain-tablewrap{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cs-work-chain-table{min-width:2400px;width:100%;table-layout:fixed;border-collapse:collapse}
.cs-work-chain-table th,.cs-work-chain-table td{vertical-align:middle;padding:6px 8px}
.cs-work-chain-table input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.cs-work-chain-table .table-actions{white-space:nowrap}
.cs-work-chain-table .cs-work-chain-save{width:72px;text-align:center}
.cs-work-chain-table .cs-work-chain-toggle{width:88px;text-align:center}
.cs-connected-table-block{margin-bottom:8px}
.cs-connected-table-block>.top-scroll{margin-bottom:4px}
.cs-work-chain-table .col-code{width:110px}
.cs-work-chain-table .col-label{min-width:140px}
.cs-work-chain-table .col-sort{width:64px;min-width:64px;max-width:72px}
.cs-work-chain-table .col-status,.cs-work-chain-table th.col-status,.cs-work-chain-table td.col-status{width:56px;min-width:56px;max-width:72px}
.cs-work-chain-table .col-save,.cs-work-chain-table th.col-save,.cs-work-chain-table td.col-save{width:64px;min-width:64px;max-width:72px;padding-left:4px;padding-right:4px}
.cs-work-chain-table .col-toggle,.cs-work-chain-table th.col-toggle,.cs-work-chain-table td.col-toggle{width:80px;min-width:80px;max-width:96px;padding-left:4px;padding-right:4px}
.cs-charge-reason-tablewrap{overflow-x:visible}
.cs-work-chain-table.cs-charge-reason-table{min-width:0;width:100%;table-layout:fixed}
.cs-charge-reason-table th,.cs-charge-reason-table td{overflow:hidden;padding:6px 6px}
.cs-charge-reason-table input,.cs-charge-reason-table select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.cs-charge-reason-table .mini{min-width:0;width:100%}
.cs-charge-reason-table .cs-lazy-parent-select{min-width:0}
.cs-charge-reason-table .col-code{width:76px;min-width:64px;max-width:88px}
.cs-charge-reason-table .cs-charge-reason-code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-charge-reason-table .col-charge-type{width:76px;min-width:64px;max-width:96px}
.cs-charge-reason-table .cs-charge-type-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-charge-reason-table .col-reason-label{width:auto;min-width:0}
.cs-charge-reason-table .col-sort{width:56px;min-width:52px;max-width:64px}
.cs-charge-reason-table .col-status,.cs-charge-reason-table th.col-status,.cs-charge-reason-table td.col-status{width:52px;min-width:48px;max-width:64px}
.cs-charge-reason-table .col-save,.cs-charge-reason-table th.col-save,.cs-charge-reason-table td.col-save{width:56px;min-width:52px;max-width:64px;padding-left:4px;padding-right:4px}
.cs-charge-reason-table .col-toggle,.cs-charge-reason-table th.col-toggle,.cs-charge-reason-table td.col-toggle{width:72px;min-width:68px;max-width:84px;padding-left:4px;padding-right:4px}
.cs-charge-reason-table .cs-work-chain-save,.cs-charge-reason-table .cs-work-chain-toggle{width:auto}
.cs-charge-reason-table .status-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-charge-reason-table th{font-size:12px;line-height:1.25;white-space:normal;word-break:keep-all}
.cs-work-chain-meta{font-size:11px;color:#748294;margin-top:4px;word-break:break-all}
.cs-work-chain-shared-note{margin:0 0 12px}
.cs-scrubber-edit-meta .full-width{grid-column:1/-1}
.cs-scrubber-history .cs-history-field-list{margin:0;padding-left:18px}
.cs-scrubber-history .cs-history-field-list li{margin:2px 0}
.cs-history-table td{vertical-align:top}
.cs-option-add{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;align-items:end;max-width:100%;min-width:0}
.cs-option-add>*,.cs-option-add input,.cs-option-add select,.cs-option-add button{min-width:0;max-width:100%;box-sizing:border-box}
.cs-option-add button{justify-self:start}
.cs-option-search{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 14px}
.cs-option-search input{min-width:260px}
.cs-pagination{display:flex;align-items:center;gap:10px;margin:14px 0 0}
.attendance-sync-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attendance-sync-actions form{margin:0}.attendance-history-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.sync-error-message{display:block;max-width:420px;margin-top:5px;color:#b42318;white-space:normal}
.cs-lazy-parent-select{min-width:180px}
.cs-option-table{min-width:1050px}.cs-option-table input{min-width:180px}.cs-option-table .mini{min-width:80px}
.cs-master-upload{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.cs-master-upload-scope{min-width:200px}
.cs-master-subtabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 16px;border-bottom:1px solid #d7e0ea}
.cs-master-subtabs a{padding:8px 14px;font-weight:800;color:#5d6b7a;border-bottom:3px solid transparent;margin-bottom:-1px;text-decoration:none}
.cs-master-subtabs a:hover{color:#1769aa}
.cs-master-subtabs a.active{color:#1769aa;border-bottom-color:#1769aa}
.cs-master-group-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.35fr);gap:16px;align-items:start}
.cs-master-group-panel,.cs-master-member-panel{min-width:0;min-height:0;overflow:visible}
.cs-master-group-panel .tablewrap,.cs-master-member-panel .tablewrap{width:100%;overflow-x:auto}
.cs-master-group-panel .cs-master-compact-table{width:100%;min-width:720px}
.cs-master-member-panel .cs-master-compact-table{width:100%;min-width:760px}
.cs-master-group-panel tr.is-selected td{background:#eef6fd}
.cs-group-select{display:flex;flex-direction:column;gap:3px;min-width:120px;padding:5px 7px;border-left:3px solid transparent;border-radius:4px;color:#33465a;font-weight:800;text-decoration:none}
.cs-group-select:hover,.cs-master-group-panel tr.is-selected .cs-group-select{border-left-color:#1769aa;background:#e2f0fb;color:#1769aa}
.cs-group-select code{font-weight:600;color:inherit}
.cs-group-select span{font-size:12px;color:#b42318}
.cs-master-compact-table{min-width:640px}
.cs-master-compact-table input{min-width:110px}
.cs-master-compact-table .mini{min-width:70px}
.cs-master-compact-table code{word-break:break-all}
@media(max-width:1100px){.cs-master-group-layout{grid-template-columns:1fr}}
.cs-equipment-lookup{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 14px;max-width:100%}
.cs-equipment-lookup-search{display:flex;align-items:center;gap:10px;width:min(650px,100%);max-width:100%}
.cs-equipment-lookup-search #equipmentSearchQuery{flex:1 1 auto;min-width:0;width:100%;max-width:580px;box-sizing:border-box}
.cs-equipment-lookup-search #equipmentSearchButton{flex:0 0 auto}
.cs-equipment-lookup #equipmentSearchResults{width:min(650px,100%);max-width:100%;min-width:0;box-sizing:border-box}
.cs-equipment-lookup #equipmentSearchResults[hidden]{display:none!important}
.cs-equipment-lookup-status{font-weight:700;color:#526273;width:min(650px,100%);max-width:100%}
.cs-equipment-selection-summary{width:min(650px,100%);max-width:100%;padding:8px 12px;background:#eef5fb;border:1px solid #c5d9ea;border-radius:4px;font-size:13px;color:#2a4a6a;word-break:break-word;box-sizing:border-box}
.cs-work-log-form .cs-locked-field{background:#f5f7fa;color:#4a5868;cursor:not-allowed}
.cs-work-log-form .cs-locked-display{margin-top:0}
.cs-work-log-form .cs-form-section{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid #e1e5e9}
.cs-work-log-form .cs-form-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.cs-work-log-form .cs-form-section>h3{margin-top:0}
.cs-chain-flow-guide{font-size:12px;color:#748294;margin:0 0 12px;line-height:1.5}
.cs-chain-hierarchy-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}
.cs-chain-step--root select:disabled{background:#f5f7fa;color:#748294;cursor:not-allowed}
.cs-tail-chain-status{color:#8a4b08;font-size:13px;min-height:1.2em}
.cs-tail-chain-bundle[hidden]{display:none}
.cs-tail-chain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cs-tail-chain-item label{display:block;margin-bottom:4px;font-weight:700}
.cs-classification-chain .cs-chain-step[hidden]{display:none}
@media(max-width:700px){.cs-tail-chain-grid,.cs-chain-hierarchy-row{grid-template-columns:1fr}}
.cs-preview-counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cs-preview-table{min-width:1200px}.cs-preview-table td{vertical-align:top}.cs-import-preview .field-error{margin-top:4px;color:#b42318;max-width:320px}
.cs-import-preview button:disabled{opacity:.45;cursor:not-allowed}
.cs-equipment-section{margin:0 0 22px;background:#fff;border:1px solid #d8dde3;border-top:3px solid #1769aa}
.cs-equipment-section--chiller{border-top-color:#8a96a3}
.cs-equipment-section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px 10px;border-bottom:1px solid #e1e5e9}
.cs-equipment-section-head h2{margin:0;font-size:18px;color:#253746}
.cs-equipment-section-head p{margin:0;color:#748294;font-size:13px}
.cs-equipment-section .hr-hub{margin:0;border:0;border-top:0}
.cs-equipment-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef1f4;color:#607080;font-size:12px;font-weight:800}
.cs-equipment-coming-soon{padding:22px 18px;color:#748294;background:#f7f8fa}
.cs-equipment-coming-soon p{margin:0}
.cs-scrubber-installations-table{min-width:1500px}.cs-scrubber-installations-table th{white-space:nowrap}
.cs-scrubber-installation-detail .formgrid{align-items:start}
@media(max-width:1050px){.cs-work-log-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .cs-charge-reason-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cs-work-chain-table.cs-charge-reason-table{min-width:720px}
  .cs-option-layout{grid-template-columns:1fr;gap:0}
  .cs-option-tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:0;margin:0 0 14px;padding:0 4px 0 0;border-right:0;border-bottom:1px solid #d9e1e8;scrollbar-width:thin}
  .cs-option-tabs a{flex:0 0 auto;padding:10px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}
  .cs-option-tabs a.active{border-bottom-color:#1769aa}
  .cs-option-main>.panel:first-child{margin-top:16px}
}
@media(max-width:768px){.cs-equipment-lookup-search{width:100%}.cs-equipment-lookup-search #equipmentSearchQuery{max-width:none}.cs-equipment-lookup #equipmentSearchResults,.cs-equipment-lookup-status,.cs-equipment-selection-summary{width:100%}}
@media(max-width:700px){.cs-work-log-filters,.cs-option-add{grid-template-columns:1fr}.cs-filter-actions{align-items:stretch}.cs-master-upload{align-items:stretch;flex-direction:column}.cs-master-upload input,.cs-master-upload select,.cs-master-upload button{width:100%;min-width:0}}

/* ===== EMPLOYEE MOBILE WORKSPACE ===== */
.mobile-bottom-nav{display:none}
.mobile-employee-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:14px;background:linear-gradient(125deg,#143d67,#1769aa);color:#fff;border-radius:14px}
.mobile-employee-hero p{margin:0 0 4px;color:#cfe4f5;font-size:13px}
.mobile-employee-hero h2{margin:0;font-size:24px}
.mobile-employee-hero>span{padding:7px 10px;border:1px solid #ffffff38;border-radius:999px;background:#ffffff12;font-size:12px;font-weight:800}
.mobile-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:14px}
.mobile-quick-card{position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:11px;align-items:center;padding:17px;background:#fff;border:1px solid #d8e1e9;border-radius:13px;text-decoration:none;color:inherit}
.mobile-quick-card.primary{border-color:#8db8d9;background:#f4f9fd}
.mobile-quick-card.warn{border-color:#e8c89a;background:#fffaf3}
.mobile-quick-card b,.mobile-quick-card small{grid-column:2}
.mobile-quick-card small{margin-top:3px;color:#748294}
.mobile-quick-icon{grid-row:1/3;display:grid!important;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f2fa;color:#1769aa!important;font-size:24px;font-weight:400}
.mobile-leave-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.mobile-leave-numbers>div{padding:8px 16px;border-right:1px solid #e5e9ed}
.mobile-leave-numbers>div:first-child{padding-left:0}
.mobile-leave-numbers>div:last-child{border:0}
.mobile-leave-numbers span{display:block;color:#748294;font-size:12px}
.mobile-leave-numbers strong{display:inline-block;margin:6px 2px 0 0;font-size:26px}
.mobile-leave-numbers small{color:#748294}
.mobile-leave-numbers .remaining strong{color:#1769aa}
.mobile-work-log-item{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid #e8edf1;text-decoration:none;color:inherit}
.mobile-training-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid #e8edf1;text-decoration:none;color:inherit}
.mobile-work-log-item:last-child,.mobile-training-item:last-child{border-bottom:0}
.mobile-work-log-item time{font-size:12px;color:#748294}
.mobile-work-log-item div{min-width:0}
.mobile-work-log-item b,.mobile-work-log-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-training-item div{min-width:0}
.mobile-training-item b,.mobile-training-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-work-log-item span,.mobile-training-item span{margin-top:4px;color:#748294;font-size:12px}
.mobile-work-log-item em{font-style:normal;color:#526273;font-size:12px}
.mobile-training-item em{font-style:normal;font-size:12px;font-weight:700;color:#526273}
.mobile-training-item em.overdue{color:#b42318}
.mobile-training-item em.pending{color:#9a6700}
.mobile-training-counts{display:flex;gap:10px;margin:0 0 10px}
.mobile-training-count{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f4f6f8;font-size:12px;color:#526273}
.mobile-training-count b{font-size:16px;font-weight:800;color:#13273d}
.mobile-training-count.overdue{background:#fdecec;color:#b42318}
.mobile-training-count.overdue b{color:#b42318}
.mobile-training-count.pending{background:#fff6e5;color:#9a6700}
.mobile-training-count.pending b{color:#9a6700}
.mobile-empty-state{text-align:center;padding:25px 8px;color:#748294}
.mobile-empty-state b,.mobile-empty-state a{display:block}
.mobile-empty-state a{margin-top:10px;color:#1769aa;font-weight:800}
.mobile-leave-summary .panelhead>a,.mobile-work-log-list .panelhead>a,.mobile-training-list .panelhead>a{color:#1769aa;font-size:12px;font-weight:800}
.mobile-quick-card.primary{color:#233044}
@media(max-width:700px){
  body{padding-bottom:76px;background:#f4f6f8}
  .sidebar{display:none}
  main>header{height:60px!important;min-height:60px!important;margin-bottom:12px!important}
  header h1{font-size:19px!important}
  header p{display:none}
  .header-actions .lang{display:none}
  .profile-menu summary{font-size:12px}
  .mobile-bottom-nav{position:fixed;z-index:900;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:68px;padding:6px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dbe2e8;box-shadow:0 -5px 18px #23304412}
  .mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#637283;font-size:11px;text-decoration:none}
  .mobile-bottom-nav a>span{font-size:22px;line-height:22px;color:#40566d}
  .mobile-bottom-nav a>b{font-size:10px}
  .mobile-bottom-nav .mobile-nav-primary>span{display:grid;place-items:center;width:34px;height:34px;margin-top:-18px;border-radius:50%;background:#1769aa;color:#fff;box-shadow:0 3px 10px #1769aa55}
  .mobile-employee-hero{margin:0 -2px 12px;padding:19px 18px;border-radius:12px}
  .mobile-employee-hero h2{font-size:21px}
  .mobile-employee-hero>span{display:none}
  .mobile-quick-actions{gap:9px}
  .mobile-quick-card{grid-template-columns:36px 1fr;padding:14px 12px;column-gap:8px}
  .mobile-quick-icon{width:36px;height:36px;border-radius:9px}
  .mobile-quick-card small{display:none}
  .mobile-leave-summary,.mobile-work-log-list,.mobile-training-list{margin:11px 0;padding:16px}
  .mobile-leave-numbers>div{padding:6px 10px}
  .mobile-leave-numbers strong{font-size:23px}
  .desktop-training-summary-panel{display:none}
  .user-dashboard-page>section.panel:not(.mobile-leave-summary):not(.mobile-work-log-list):not(.mobile-training-list){overflow:hidden}
  .cs-work-log-form{padding:15px;margin-bottom:82px}
  .cs-work-log-form h3,.cs-work-log-form .cs-form-section>h3{position:sticky;top:60px;z-index:4;margin:22px -15px 13px;padding:10px 15px;background:#f5f8fa}
  .cs-work-log-form .formgrid{gap:14px}
  .cs-work-log-form input,.cs-work-log-form select,.cs-work-log-form textarea{min-height:46px;font-size:16px}
  .cs-work-log-form .actions{position:sticky;bottom:72px;z-index:8;margin:20px -15px -15px;padding:11px 15px;background:#fff;border-top:1px solid #dbe2e8}
  .cs-work-log-form .actions .btn,.cs-work-log-form .actions button{flex:1;text-align:center;min-height:46px}
  .cs-work-log-tablewrap table{min-width:0}
  .cs-work-log-table thead{display:none}
  .cs-work-log-table,.cs-work-log-table tbody,.cs-work-log-table tr,.cs-work-log-table td{display:block;width:100%}
  .cs-work-log-table tr{margin-bottom:10px;padding:12px;border:1px solid #dbe2e8;border-radius:10px}
  .cs-work-log-table td{padding:3px 0;border:0}
  .cs-work-log-table td:first-child{color:#748294;font-size:12px}
  .cs-work-log-table td:nth-child(2){font-size:16px}
  .cs-work-log-table td:nth-child(n+6){display:none}
  .cs-top-scroll{display:none}
}
@media(min-width:701px){.mobile-training-list{display:none}}

/* ===== TRAINING SIGNATURE PAD ===== */
.training-signature-pad{border:1px solid #cfd8e3;border-radius:8px;background:#fff;max-width:560px;width:100%}
.training-signature-pad canvas{display:block;width:100%;height:160px;touch-action:none;cursor:crosshair}
.training-signature-actions{display:flex;align-items:center;gap:10px;padding:8px 10px;border-top:1px solid #e6ebf0}
.training-signature-preview img{max-width:320px;max-height:120px;display:block}

/* ===== TRAINING SIGNATURE REPORT ===== */
.train-sig-report-wrap{max-width:1200px;margin:0 auto}
.train-sig-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
.train-sig-report-toolbar>div{display:flex;gap:8px}
.train-sig-report-page{background:#fff;border:1px solid #dfe5ec;border-radius:10px;padding:14px 16px 18px;margin:0 0 18px}
.train-sig-report-head{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}
.train-sig-report-head h1{margin:0 0 6px;font-size:18px;color:#13273d}
.train-sig-report-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
.train-sig-report-meta>div{display:flex;gap:6px;align-items:baseline;font-size:12px}
.train-sig-report-meta dt{margin:0;color:#6c7988;font-weight:700}
.train-sig-report-meta dd{margin:0;font-weight:800;color:#13273d}
.train-sig-report-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(10,minmax(58px,1fr));gap:5px}
.train-sig-report-cell{display:grid;grid-template-rows:auto 1fr;min-height:58px;border:1px solid #cfd8e3;border-radius:4px;padding:3px 4px;background:#fff;overflow:hidden}
.train-sig-report-cell-no{font-size:9px;line-height:1;color:#8a96a3;font-weight:800}
.train-sig-report-cell-info{display:flex;flex-direction:column;gap:1px;font-size:9px;line-height:1.2;color:#33465a}
.train-sig-report-name{font-weight:800;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.train-sig-report-empno,.train-sig-report-dept{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.train-sig-report-cell-sig{display:flex;align-items:center;justify-content:center;min-height:24px}
.train-sig-report-cell-sig img{max-width:100%;max-height:28px;object-fit:contain}
.train-sig-report-cell-empty{background:#fafbfc}
@media print{
  @page{size:A4 landscape;margin:8mm}
  body{background:#fff!important;color:#13273d!important}
  .sidebar,header,.flash,.no-print,.page-back-button{display:none!important}
  main{margin:0!important;padding:0!important}
  .train-sig-report-wrap{max-width:none;margin:0}
  .train-sig-report-page{border:0;border-radius:0;padding:0;margin:0;page-break-after:always;break-after:page}
  .train-sig-report-page:last-child{page-break-after:auto;break-after:auto}
  .train-sig-report-head h1{font-size:14px}
  .train-sig-report-meta{font-size:10px}
  .train-sig-report-grid{gap:3px;height:calc(210mm - 8mm - 8mm - 28px)}
  .train-sig-report-cell{min-height:0;border-color:#b8c4d0;padding:2px 3px}
  .train-sig-report-cell-sig img{max-height:22px}
}
.part-flow{margin:0 0 18px;padding:14px 18px;border-radius:12px;background:#eef6fc;color:#174f78;font-weight:700;word-spacing:5px}.part-flow b{color:#2d78ad}.part-summary{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.part-error-row{background:#fff1f0!important}.part-error-row td:last-child{color:#b42318;font-weight:700}.part-summary span{color:#52616d}.part-home-upload-links{grid-column:1/-1;margin:-4px 0 2px}.part-home-upload-links a{font-size:13px;font-weight:700;color:#1769aa}.part-inventory-main{display:flex;flex-direction:column;gap:10px;min-width:0}.part-inventory-page .part-inventory-download{margin:0;max-width:1050px}.part-inventory-list-tools{display:flex;justify-content:flex-end;align-items:center;margin:8px 0 4px}.part-inventory-search{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.part-inventory-search select,.part-inventory-search input[type=date],.part-inventory-search input[type=month]{width:auto;min-width:120px}.part-inventory-query{display:flex;align-items:center;gap:6px}.part-inventory-query input{width:270px}.part-inventory-query button{flex:0 0 auto}.part-inventory-table{margin-top:4px}.part-inventory-summary p{margin:0;color:#52616d}.part-stock-upload-form{padding:14px 18px}.part-stock-upload-form .formgrid{gap:9px 16px}.part-stock-upload-form .actions{margin-top:10px}.part-stock-upload-form .muted{margin:10px 0 0}.part-stock-preview .panelhead{margin-bottom:10px}.part-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px}.part-page-toolbar>div{display:flex;gap:8px;align-items:center}.part-outbound-form{padding:14px 18px}.part-outbound-form .formgrid{gap:12px 16px}.part-outbound-form .muted{margin:10px 0 0}.part-file-field{display:flex;align-items:center;gap:14px;margin-top:6px}.part-file-field span{flex:0 0 auto;font-size:12px}.part-file-field input{width:auto;min-width:320px}.part-outbound-confirm,.part-history-search{display:flex;align-items:flex-end;gap:8px}.part-outbound-confirm label,.part-history-search label{margin:0}.part-outbound-confirm select{min-width:180px}.part-history-search input{width:150px}.part-replacement-search{padding:14px 18px}.part-replacement-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px}.part-replacement-search .formgrid{gap:9px 16px}@media(max-width:700px){.part-inventory-search,.part-inventory-list-tools{align-items:stretch;flex-direction:column}.part-inventory-query,.part-inventory-query input,.part-inventory-search select,.part-inventory-search input[type=date],.part-inventory-search input[type=month]{width:100%}.part-page-toolbar,.part-outbound-confirm,.part-history-search{align-items:stretch;flex-direction:column}.part-file-field{align-items:flex-start;flex-direction:column}.part-file-field input{width:100%;min-width:0}}
.cs-part-picker,.cs-part-dialog-search{display:flex;gap:8px;align-items:center}.cs-part-picker input,.cs-part-dialog-search input{flex:1;min-width:0}.cs-part-dialog{width:min(1100px,94vw);max-height:86vh;border:0;border-radius:10px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.cs-part-dialog::backdrop{background:rgba(15,23,42,.45)}.cs-part-dialog .tablewrap{max-height:58vh;margin-top:12px}.cs-part-dialog .panelhead button{font-size:22px;border:0;background:transparent}.cs-part-dialog-search{margin-top:10px}
.cs-export-dialog{width:min(560px,92vw);border:0;border-radius:10px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.cs-export-dialog::backdrop{background:rgba(15,23,42,.45)}.cs-history-table{min-width:1900px}.cs-history-table th{white-space:nowrap}
.work-schedule-panel .sticky-actionbar{flex-wrap:wrap;margin-top:12px}.work-schedule-toolgroup{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.work-schedule-actions{display:flex;gap:10px;align-items:center}.ws-tool-btn{padding:6px 10px;font-size:13px;font-weight:700}.ws-clear-btn{background:#f4f6f8}.ws-help{font-size:12px;color:#6d7b89}.ws-dirty-badge{background:#fff3cd;color:#8a5b00}.work-schedule-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:10px}.work-schedule-table{min-width:max(100%,720px)}.work-schedule-table thead th{position:sticky;top:0;z-index:5;background:#f4f7fa;text-align:center;min-width:42px;padding:6px 4px}.work-schedule-table .ws-sticky-col{position:sticky;left:0;z-index:6;background:#fff;min-width:150px;max-width:200px;text-align:left;white-space:normal}.work-schedule-table thead .ws-sticky-col{z-index:7;background:#f4f7fa}.work-schedule-cell{cursor:pointer;text-align:center;min-width:42px;padding:4px 2px;vertical-align:middle;position:relative}.work-schedule-cell.ws-selected{outline:2px solid #1769aa;outline-offset:-2px;background:#e8f3fc}.work-schedule-cell.ws-weekend,.ws-day-head.ws-weekend,.ws-count-cell.ws-weekend{background:#f3f6f9}.work-schedule-cell.ws-leave{background:linear-gradient(135deg,#fff8f0 0,#fff 55%)}.ws-leave-tag{display:block;font-size:9px;color:#b45309;line-height:1.1;margin-top:2px}.ws-cell-text{font-weight:700;font-size:12px}.ws-day-num{display:block;font-weight:800}.ws-emp-cell small{display:block;color:#6d7b89;font-size:11px}.ws-count-row td,.ws-count-row th{font-size:10px;color:#526273;padding:4px 2px;vertical-align:top}.ws-count-cell{white-space:normal;line-height:1.25}
.ws-head-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ws-status-count{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}.ws-status-count.ws-status-draft{background:#fff3cd;color:#8a5b00}.ws-status-count.ws-status-published{background:#e6f4ea;color:#1e6b3a}.ws-head-links{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.ws-batch-panel{margin:12px 0;padding:12px 14px;border:1px solid #dfe5ec;border-radius:10px;background:#fafcfe}.ws-batch-title{margin:0 0 8px;font-size:15px}.ws-batch-fields{align-items:end}.ws-batch-weekdays{grid-column:1/-1}.ws-weekday-group{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:4px}.ws-weekday-label{font-size:13px;font-weight:600}.ws-batch-btn{width:auto}.ws-published-note{margin:8px 0 0;font-size:12px}.ws-pattern-meta{display:block;font-size:9px;font-weight:600;line-height:1.1;color:#6d7b89}.ws-pattern-select{min-width:120px;font-size:13px}.ws-save-btn,.ws-publish-btn,.ws-batch-btn{width:auto}.ws-publish-btn{background:#1e6b3a;color:#fff;border-color:#1e6b3a}.ws-publish-btn:disabled{opacity:.55;cursor:not-allowed}.work-schedule-table .ws-check-col{left:0;min-width:36px;max-width:36px;text-align:center;padding:4px 2px}.work-schedule-table .ws-emp-col{left:36px;min-width:150px;max-width:200px}.work-schedule-cell.ws-status-draft{background:linear-gradient(180deg,#fffef8 0,#fff 100%)}.work-schedule-cell.ws-status-published{background:linear-gradient(180deg,#f4fbf6 0,#fff 100%)}.ws-status-tag{display:block;font-size:8px;line-height:1.1;margin-top:1px;font-weight:700}.ws-status-tag-draft{color:#8a5b00}.ws-status-tag-published{color:#1e6b3a}.work-schedule-history-panel .tablewrap{margin-top:10px}.work-schedule-history-table th{white-space:nowrap}.ws-history-change{min-width:160px}.ws-history-shift,.ws-history-status{display:block;font-size:12px;line-height:1.35}.ws-history-action{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f6;color:#3d4f61}.ws-history-action-publish{background:#e6f4ea;color:#1e6b3a}.ws-history-action-delete{background:#fdecea;color:#b42318}
.attendance-view-tabs{margin-bottom:16px}.my-work-schedule-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.my-work-schedule-overview .card{display:flex;flex-direction:column;gap:7px}.my-work-schedule-overview .card strong{font-size:25px;margin-top:0}.my-work-schedule-overview .card small{color:#6d7b89}.my-work-schedule-overview .my-ws-leave-tag{align-self:flex-start;font-style:normal}.my-work-schedule-filters{align-items:end}.my-work-schedule-note{margin:0 0 10px;font-size:13px;color:#6d7b89}.my-work-schedule-table th{white-space:nowrap}.my-ws-unconfirmed{color:#6d7b89;font-weight:600;font-size:13px}.my-ws-leave-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#fff3e0;color:#b45309;font-size:12px;font-weight:700}.my-work-schedule-table tr.my-ws-weekend td{background:#f8fafc}.my-work-schedule-table tr.my-ws-leave td{background:linear-gradient(135deg,#fff8f0 0,#fff 55%)}.my-work-schedule-cards{display:none;gap:10px}.my-ws-card{border:1px solid #dfe5ec;border-radius:10px;padding:12px 14px;background:#fff}.my-ws-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.my-ws-card header b{font-size:15px}.my-ws-card header span{font-size:13px;color:#6d7b89}.my-ws-card dl{margin:0;display:grid;gap:6px}.my-ws-card dl>div{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:13px}.my-ws-card dt{margin:0;color:#6d7b89;font-weight:600}.my-ws-card dd{margin:0}.my-ws-card.my-ws-weekend{background:#f8fafc}.my-ws-card.my-ws-leave{background:linear-gradient(135deg,#fff8f0 0,#fff 55%)}@media(max-width:700px){.my-work-schedule-overview{grid-template-columns:1fr}.my-work-schedule-table-wrap{display:none}.my-work-schedule-cards{display:grid}}
