:root{font-family:Tahoma,Leelawadee UI,Segoe UI,sans-serif;color:#1d2926;background:#f4f3ee;font-synthesis:none;--green:#173f35;--mint:#dce9e3;--gold:#e6ad3d;--line:#e5e3dc}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:#153a32;color:#fff;padding:25px 17px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand .mark{background:#efbb4e;color:#173f35;width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font:700 23px DM Sans}.brand strong{display:block;font:700 18px DM Sans;letter-spacing:.6px}.brand span{display:block;font-size:10px;color:#a9c1b9;letter-spacing:1px;text-transform:uppercase}.company{display:flex;align-items:center;gap:10px;padding:13px;background:#214a40;border:1px solid #315a50;border-radius:12px;margin-bottom:22px}.company div{flex:1;min-width:0}.company small,.company b{display:block}.company small{font-size:10px;color:#a9c1b9}.company b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-label{font-size:10px;color:#86a39a;text-transform:uppercase;letter-spacing:1px;margin:10px 12px 5px}.sidebar nav button{border:0;color:#c8d8d3;background:transparent;border-radius:9px;padding:10px 12px;display:flex;gap:12px;align-items:center;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#f1ba4e;color:#173f35;font-weight:600}.sidebar nav button em{margin-left:auto;border-radius:12px;background:#d76650;color:#fff;padding:1px 7px;font-style:normal;font-size:11px}.sync-card{margin-top:auto;background:#214a40;border:1px solid #315a50;border-radius:12px;padding:13px}.sync-head{display:flex;align-items:center;gap:8px;font-size:12px}.sync-card p{font-size:10px;color:#afc6bf;margin:5px 0}.sync-card button{border:0;background:transparent;color:#efbb4e;padding:3px 0;display:flex;align-items:center;gap:5px;font-size:11px}main{margin-left:258px;min-height:100vh}header{height:82px;background:#fff;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}header small{color:#8a9692;font-size:11px}header h1{font-size:20px;margin:2px 0}.header-actions{display:flex;align-items:center;gap:11px}.network{color:#28765c;background:#e9f5ef;padding:5px 10px;border-radius:20px;font-size:11px;display:flex;gap:5px;align-items:center}.network.offline{color:#a65b42;background:#faede8}.icon-btn,.mobile-menu{border:1px solid var(--line);background:#fff;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;position:relative}.bell i{position:absolute;width:7px;height:7px;background:#db6650;border:2px solid white;border-radius:50%;right:7px;top:7px}.profile{display:flex;gap:9px;align-items:center;border-left:1px solid var(--line);padding-left:13px}.avatar{width:37px;height:37px;border-radius:10px;background:#dfece6;color:#245847;display:grid;place-items:center;font-weight:700}.avatar.amber{background:#f5e5cb;color:#a26733}.avatar.large{width:45px;height:45px;border-radius:13px}.profile b,.profile span{display:block}.profile b{font-size:12px}.profile span{font-size:10px;color:#84918d}.mobile-menu{display:none}.content{padding:29px 32px 55px;max-width:1500px;margin:auto}.welcome{background:linear-gradient(120deg,#1a463b,#285d4f);border-radius:18px;color:#fff;padding:25px 29px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 30px #173f3518;position:relative;overflow:hidden}.welcome:after{content:"S";position:absolute;font:700 170px DM Sans;color:#fff08;right:200px;top:-60px}.welcome p{color:#efbb4e;margin:0 0 2px;font-size:13px}.welcome h2{margin:0 0 8px;font-size:24px}.welcome span{color:#b7cdc6;font-size:12px}.welcome-time{text-align:right}.welcome-time strong{display:block;font:600 36px DM Sans}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;gap:14px;align-items:center}.stat-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px}.stat-icon.green{background:#e3f0e9;color:#39745f}.stat-icon.orange{background:#faeadb;color:#ba7143}.stat-icon.blue{background:#e4ebf3;color:#547391}.stat-icon.purple{background:#eee5ee;color:#866583}.stat strong,.stat b,.stat span{display:block}.stat strong{font:700 24px DM Sans;float:left;margin-right:7px}.stat b{font-size:11px;margin:3px 0}.stat span{font-size:10px;color:#87918e;clear:both}.grid-main{display:grid;grid-template-columns:.8fr 1.2fr;gap:17px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #efede8;padding-bottom:14px;margin-bottom:14px}.panel-title h3,.section-head h3{margin:0;font-size:15px}.panel-title p,.section-head p{margin:3px 0 0;color:#8c9692;font-size:10px}.time-panel{text-align:center}.time-panel .panel-title{text-align:left}.clock{font:600 39px DM Sans;margin-top:18px}.date{font-size:11px;color:#84918d}.location-ok{display:inline-flex;align-items:center;gap:5px;background:#eaf4ef;color:#39745f;border-radius:20px;padding:6px 11px;font-size:10px;margin:16px}.primary,.secondary,.ghost{border:0;border-radius:9px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}.primary{background:#1d5143;color:#fff}.primary:hover{background:#153a32}.time-panel>.primary{width:100%}.compact{padding:9px 15px}.secondary{background:#f3e7df;color:#a85f42}.ghost{background:#f0efeb;color:#52605b}.link{border:0;background:transparent;color:#336b59;font-size:11px;display:flex;align-items:center;gap:4px}.approval,.record{display:flex;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid #f0eee9}.approval:last-child,.record:last-child{border:0}.grow{flex:1}.approval b,.approval span,.record b,.record span{display:block}.approval b,.record b{font-size:11px}.approval .grow span,.record .grow span{font-size:10px;color:#8b9692;margin-top:3px}.doc-icon,.record-icon{width:37px;height:37px;border-radius:10px;background:#edf0f5;color:#58718b;display:grid;place-items:center}.doc-icon.green{background:#e5efe9;color:#39745f}.pill{font-style:normal;display:inline-block!important;border-radius:15px;padding:4px 9px;font-size:9px!important;white-space:nowrap}.pill.pending{background:#faead5;color:#a66c31}.pill.success{background:#e4f1ea;color:#327059}.section-head{margin:22px 0 11px}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.module-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;align-items:center;gap:11px;text-align:left;color:inherit}.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #192d2510}.module-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff}.module-icon svg{width:20px}.module-card div:nth-child(2){flex:1}.module-card b,.module-card span{display:block}.module-card b{font-size:12px}.module-card span{font-size:9px;color:#88938f;margin-top:3px}.module-card>svg{width:16px;color:#9aa29f}.fab{position:fixed;bottom:25px;right:28px;background:#e7af42;color:#173f35;border:0;border-radius:25px;padding:12px 18px;display:flex;gap:8px;align-items:center;font-weight:700;box-shadow:0 8px 25px #93691445}.fab svg{width:18px}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-intro h2{margin:0;font-size:21px}.page-intro p{margin:5px 0 0;color:#84908c;font-size:12px}.attendance-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check-card{text-align:center}.big-date{color:#6e7c77;font-size:13px}.big-clock{font:600 50px DM Sans;margin:8px}.map-placeholder{background:linear-gradient(135deg,#edf2ed,#e1ebe5);border:1px dashed #9db3aa;border-radius:13px;min-height:125px;display:flex;align-items:center;justify-content:center;gap:10px;color:#326654}.map-placeholder>svg{width:35px;height:35px}.map-placeholder b,.map-placeholder span{display:block;text-align:left}.map-placeholder b{font-size:12px}.map-placeholder span{font-size:10px;color:#71827b}.check-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.record-icon.in{background:#e3f0e9;color:#39745f}.record-icon.out{background:#faeadb;color:#ba7143}.record-icon svg{width:18px}.empty{display:grid;place-items:center;color:#9aa5a1;padding:50px}.empty svg{opacity:.35}.empty p{font-size:11px}.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.balance{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;position:relative}.balance span,.balance strong{display:block}.balance span{font-size:11px;color:#687570}.balance strong{font:700 26px DM Sans;margin:7px 0}.balance strong small{font:500 10px Anuphan;color:#89948f}.ring{position:absolute;right:18px;top:16px;width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--c) var(--p),#eeeee9 0);display:grid;place-items:center}.ring:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;background:#fff;border-radius:50%}.ring b{z-index:1;font:600 10px DM Sans}.progress{height:4px;background:#eeeee9;border-radius:3px;overflow:hidden}.progress i{display:block;height:100%;border-radius:3px}.balance>small{font-size:9px;color:#929c98}.table-panel{padding-bottom:5px}.table{overflow-x:auto}.tr{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .6fr .8fr;align-items:center;min-width:700px;border-bottom:1px solid #efeee9;padding:12px 5px;font-size:11px}.tr.th{color:#82908b;font-size:9px;text-transform:uppercase}.person{display:flex;align-items:center;gap:9px}.person i{width:30px;height:30px;border-radius:8px;background:#e3ede8;color:#316451;display:grid;place-items:center;font-style:normal;font-weight:700}.toolbar{display:flex;margin-bottom:15px}.searchbox{border:1px solid var(--line);border-radius:9px;display:flex;gap:8px;align-items:center;padding:8px 12px;width:330px}.searchbox svg{width:16px;color:#8b9692}.searchbox input{border:0;outline:0;width:100%;font-size:11px}.employee-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.employee{border:1px solid #ebe9e3;border-radius:12px;padding:14px;display:flex;align-items:center;gap:11px}.employee>div:nth-child(2){flex:1}.employee b,.employee span,.employee small{display:block}.employee b{font-size:12px}.employee span{font-size:10px;color:#687671;margin:3px 0}.employee small{font-size:9px;color:#98a19e}.coming{background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;padding:65px 25px}.coming-icon{width:70px;height:70px;background:#e2eee8;color:#28624f;border-radius:20px;display:grid;place-items:center;margin:auto}.coming-icon svg{width:32px;height:32px}.eyebrow{display:block;color:#a77927;font:600 10px DM Sans;letter-spacing:1.6px;margin-top:20px}.coming h2{font-size:27px;margin:6px}.coming>p{color:#77847f;font-size:12px}.feature-row{display:flex;justify-content:center;gap:12px;margin:25px}.feature-row div{border:1px solid var(--line);border-radius:9px;padding:10px 13px;display:flex;align-items:center;gap:7px;font-size:10px}.feature-row svg{width:15px;color:#39745f}.phase-note{display:inline-block;background:#f7f1e4;color:#8c672b;border-radius:20px;padding:7px 15px;font-size:10px}.modal-bg,.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12231f99;z-index:40;display:grid;place-items:center;padding:20px}.modal{width:min(500px,100%);background:#fff;border-radius:17px;padding:22px;box-shadow:0 25px 70px #0003}.modal-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:15px}.modal-head h3{margin:0}.modal-head p{font-size:10px;color:#82908b;margin:4px 0}.modal-head button{background:transparent;border:0}.modal label{display:block;font-size:11px;font-weight:600;margin:12px 0}.modal input,.modal select,.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid #dcded9;border-radius:8px;padding:9px;outline:0}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#4d7d6d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;right:25px;top:95px;background:#183e35;color:#fff;border-radius:10px;padding:12px 17px;display:flex;align-items:center;gap:8px;z-index:60;box-shadow:0 10px 30px #0002;font-size:11px}.toast svg{color:#efbb4e}@media(max-width:1050px){.stats,.module-grid{grid-template-columns:repeat(2,1fr)}.grid-main,.employee-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:.25s}.sidebar.open{transform:none}.backdrop{display:block;z-index:15}main{margin-left:0}.mobile-menu{display:grid}header{padding:0 16px;height:70px}header>div:first-of-type{display:none}.profile>div:last-child,.header-actions>.icon-btn:first-of-type{display:none}.content{padding:18px 14px 80px}.welcome{padding:19px}.welcome h2{font-size:18px}.welcome-time strong{font-size:25px}.welcome:after{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:12px;gap:9px}.stat-icon{width:37px;height:37px}.stat-icon svg{width:18px}.stat strong{font-size:19px}.module-grid,.attendance-layout,.balance-grid{grid-template-columns:1fr}.module-grid{gap:8px}.page-intro{align-items:flex-start}.page-intro p{max-width:230px}.employee-grid{grid-template-columns:1fr}.feature-row{flex-direction:column;margin:20px}.profile{border:0;padding:0}.welcome-time span{display:none}}@media(max-width:430px){.stats{grid-template-columns:1fr}.welcome{display:block}.welcome-time{text-align:left;margin-top:12px}.header-actions{gap:6px}.network{font-size:0;padding:8px}.network svg{width:17px}.form-row{grid-template-columns:1fr}.page-intro{gap:10px}.page-intro .compact{font-size:0;padding:10px}.page-intro .compact svg{margin:0}}.sales-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.sales-kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.sales-kpis span,.sales-kpis strong,.sales-kpis small{display:block}.sales-kpis span{font-size:10px;color:#7d8a85}.sales-kpis strong{font:700 22px DM Sans;margin:5px 0}.sales-kpis small{font-size:9px;color:#929b98}.sales-kpis .line-kpi{background:#e9f5ef;border-color:#d1e8dc}.line-kpi strong{font:600 12px Anuphan;display:flex;align-items:center;gap:6px;color:#28765c}.line-kpi i{width:7px;height:7px;border-radius:50%;background:#36b86f}.quotation-panel{padding:0;overflow:hidden}.quotation-tools{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:4px;background:#f2f1ed;padding:3px;border-radius:9px}.filter-tabs button{border:0;background:transparent;border-radius:7px;padding:6px 10px;font-size:9px;color:#687570}.filter-tabs button.active{background:#fff;color:#235947;box-shadow:0 1px 4px #0001;font-weight:600}.quote-table{overflow-x:auto}.quote-row{min-width:850px;width:100%;display:grid;grid-template-columns:1.1fr 1.7fr .8fr 1fr 1.2fr .8fr;align-items:center;text-align:left;border:0;border-bottom:1px solid #efeee9;background:#fff;padding:13px 18px;color:inherit;font-size:10px}.quote-row:not(.quote-head):hover{background:#fafaf7}.quote-head{background:#f8f7f3;color:#84908c;font-size:9px;text-transform:uppercase}.quote-row b,.quote-row small{display:block}.quote-row small{color:#919b97;margin-top:3px;font-size:9px}.quote-row .money{font:600 11px DM Sans}.quote-row>span:last-child{display:flex;align-items:center;justify-content:space-between}.quote-row>span:last-child svg{width:14px;color:#99a29f}.pill.draft{background:#edf0ef;color:#697772}.quote-modal{width:min(620px,100%)}.form-row.three{grid-template-columns:.6fr 1fr 1fr}.quote-total{background:#f5f4ef;border-radius:10px;padding:12px;margin-top:12px;text-align:right}.quote-total span{font-size:10px;color:#6e7b76;margin-left:15px}.quote-total span b{color:#25332f}.quote-total strong{display:block;color:#1d5143;margin-top:7px;font-size:16px}.detail-modal{width:min(680px,100%)}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);background:#f6f5f1;border-radius:10px;padding:12px;margin-bottom:15px}.detail-meta small,.detail-meta b{display:block}.detail-meta small{font-size:9px;color:#88938f}.detail-meta b{font-size:10px;margin-top:3px}.detail-items{border:1px solid var(--line);border-radius:9px;overflow:hidden}.di{display:grid;grid-template-columns:2fr .5fr 1fr 1fr;padding:10px;border-bottom:1px solid var(--line);font-size:10px}.di:last-child{border:0}.di.head{background:#f4f3ef;color:#7b8782;font-size:9px}.detail-sum{width:260px;margin:14px 0 14px auto}.detail-sum span,.detail-sum strong{display:flex;justify-content:space-between;padding:4px;font-size:10px}.detail-sum strong{border-top:1px solid var(--line);font-size:14px;color:#1d5143;margin-top:4px;padding-top:8px}.line-notice{background:#e9f5ef;color:#28765c;border-radius:9px;padding:9px 12px;font-size:10px;display:flex;align-items:center;gap:7px}.line-notice svg{width:16px}.line-button{background:#20a866}.approval-result{background:#e8f4ed;color:#24604c;border:1px solid #cce4d8;border-radius:9px;padding:10px 12px;display:flex;align-items:center;gap:9px}.approval-result svg{width:19px;flex:none}.approval-result b,.approval-result span{display:block}.approval-result b{font-size:10px}.approval-result span{font-size:8px;margin-top:3px;color:#5f776e}@media(max-width:900px){.sales-kpis{grid-template-columns:repeat(2,1fr)}.quotation-tools{align-items:stretch;gap:10px;flex-direction:column}.quotation-tools .searchbox{width:100%}}@media(max-width:500px){.sales-kpis{grid-template-columns:1fr 1fr}.filter-tabs{overflow:auto}.form-row.three{grid-template-columns:1fr}.detail-meta{grid-template-columns:1fr;gap:9px}.detail-sum{width:100%}}.document-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a514f;z-index:80;overflow:auto;padding:70px 20px 35px}.document-toolbar{position:fixed;z-index:90;top:0;left:0;right:0;height:58px;background:#fff;display:flex;align-items:center;justify-content:center;gap:25px;box-shadow:0 2px 12px #0003}.document-toolbar span{font-size:11px;color:#6d7975}.quotation-document{position:relative;width:210mm;min-height:297mm;margin:auto;background:#fff;color:#17211e;padding:13mm 14mm 10mm;box-shadow:0 8px 35px #0004;font-family:Anuphan,sans-serif}.doc-company{position:static;height:auto;background:#fff;border:0;padding:0;display:grid;grid-template-columns:27mm 1fr 42mm;gap:5mm;align-items:center}.doc-company img{width:25mm;height:25mm;object-fit:contain}.doc-company-name h1,.print-company-fallback h1{font-size:17px;margin:0;color:#cc292b}.doc-company-name strong,.print-company-fallback strong{font:700 10px DM Sans;color:#526dba}.doc-company-name p,.print-company-fallback p{font-size:8px;margin:2px 0;color:#27332f}.print-company-fallback{display:none}.doc-title{text-align:right}.doc-title h2{font-size:24px;color:#173f35;margin:0}.doc-title span{font:700 11px DM Sans;letter-spacing:2px;color:#c53030}.doc-rule{height:3px;background:linear-gradient(90deg,#d62e31 0,#d62e31 45%,#f1d32b 45%,#f1d32b 70%,#506fd0 70%);margin:5mm 0}.doc-info{display:grid;grid-template-columns:1.4fr 1fr;border:1px solid #8d9793}.doc-customer{padding:4mm}.doc-customer h3{font-size:9px;background:#edf1ef;padding:2mm;margin:-4mm -4mm 3mm}.doc-customer p{font-size:9px;margin:2mm 0}.doc-number{border-left:1px solid #8d9793}.doc-number p{display:grid;grid-template-columns:1fr 1.2fr;padding:2.1mm 3mm;margin:0;border-bottom:1px solid #d9dcda;font-size:8px}.doc-number p:last-child{border:0}.doc-number span{color:#68736f}.doc-table{width:100%;border-collapse:collapse;margin-top:4mm;table-layout:fixed}.doc-table th{background:#173f35;color:#fff;font-size:8px;padding:2mm;border:1px solid #173f35}.doc-table th:first-child{width:12mm}.doc-table th:nth-child(3){width:17mm}.doc-table th:nth-child(4),.doc-table th:nth-child(5){width:29mm}.doc-table th small{font-size:6px;font-weight:400;color:#cfddd8}.doc-table td{border:1px solid #9ba29f;padding:2.5mm;font-size:8px}.doc-table td:not(:nth-child(2)){text-align:center}.doc-table td:nth-child(4),.doc-table td:nth-child(5){text-align:right}.doc-table .blank-row{height:9mm}.doc-bottom{display:grid;grid-template-columns:1.2fr .8fr;margin-top:3mm;gap:4mm}.doc-terms h3{font-size:9px;margin:0 0 2mm}.doc-terms p{font-size:8px;margin:1.2mm 0}.doc-amount-text{margin-top:4mm;background:#f1f2ef;padding:2mm;font-size:8px}.doc-summary{border:1px solid #9ba29f}.doc-summary p{display:flex;justify-content:space-between;margin:0;padding:2.2mm;font-size:8px;border-bottom:1px solid #d7dad8}.doc-summary p:last-child{border:0}.doc-summary .grand{background:#173f35;color:#fff;font-size:10px}.doc-thanks{text-align:center;font-size:8px;margin:6mm 0 5mm;color:#57625e}.doc-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:7mm;text-align:center}.doc-signatures>div{font-size:8px}.doc-signatures span,.doc-signatures b,.doc-signatures small{display:block}.doc-signatures .sign-line{height:17mm;border-bottom:1px solid #68736f}.doc-signatures b{margin:2mm 0;font-weight:500}.doc-signatures small{font-size:7px;color:#67736e}.doc-footer{margin-top:8mm;padding-top:2mm;border-top:1px solid #b9bfbc;text-align:center;font:600 7px DM Sans;color:#65716c;letter-spacing:.5px}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff}body>#root{display:none!important}.no-print{display:none!important}.document-overlay{position:static!important;display:block!important;background:#fff;padding:0!important;overflow:visible!important}.quotation-document{box-shadow:none;margin:0!important;width:210mm;height:297mm;min-height:0;page-break-after:avoid;break-after:avoid}.doc-company-name{display:none!important}.print-company-fallback{display:block!important;position:absolute;top:13mm;left:46mm;width:100mm;z-index:4;color:#17211e!important}.print-company-fallback h1{color:#c51f29!important;font-size:18px!important}.print-company-fallback strong{color:#365cbb!important}.print-company-fallback p{color:#17211e!important;font-size:8px!important}@page{size:A4 portrait;margin:0}}@media(max-width:850px){.document-overlay{padding:65px 8px 20px}.quotation-document{transform-origin:top left}.document-toolbar{gap:8px;padding:0 8px}.document-toolbar span{display:none}}.quote-editor{width:min(920px,96vw);max-height:92vh;overflow:auto}.item-editor-head{display:flex;align-items:center;justify-content:space-between;margin:15px 0 7px}.item-editor-head b,.item-editor-head span{display:block}.item-editor-head b{font-size:11px}.item-editor-head span{font-size:9px;color:#85908c;margin-top:2px}.item-editor-head button{border:1px solid #b9d2c8;background:#edf6f2;color:#27624e;border-radius:8px;padding:7px 10px;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600}.item-editor{border:1px solid #dfe1dc;border-radius:10px;overflow:hidden}.item-row{display:grid;grid-template-columns:42px minmax(190px,2fr) 90px 125px 125px 38px;gap:7px;align-items:center;padding:7px;border-bottom:1px solid #ecece8}.item-row:last-child{border:0}.item-row input{width:100%;border:1px solid #dfe1dc;border-radius:7px;padding:8px;font-size:10px;outline:0}.item-row input:focus{border-color:#4d7d6d}.item-labels{background:#f5f4f0;color:#78847f;padding-top:6px;padding-bottom:6px;font-size:8px}.item-no{text-align:center;font:600 11px DM Sans;color:#697671}.item-row strong{text-align:right;font:600 10px DM Sans}.delete-item{border:0;background:transparent;color:#b96a5d;width:32px;height:32px;border-radius:7px;display:grid;place-items:center}.delete-item:hover{background:#faebe8}.delete-item:disabled{opacity:.25;cursor:not-allowed}.quote-options{display:grid;grid-template-columns:180px 1fr;gap:12px}.quote-options label{margin-bottom:0}@media(max-width:750px){.quote-editor{width:100%;max-height:95vh}.item-editor{overflow-x:auto}.item-row{min-width:700px}.quote-options{grid-template-columns:1fr}}.access-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.access-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.access-summary strong,.access-summary span{display:block}.access-summary strong{font:700 24px DM Sans;color:#214f42}.access-summary span{font-size:10px;color:#7f8b87}.access-row{display:grid;grid-template-columns:1.25fr .8fr 1.15fr 130px 180px;gap:12px;align-items:end;padding:14px 3px;border-bottom:1px solid var(--line)}.access-row:last-child{border:0}.line-person{display:flex;align-items:center;gap:10px;align-self:center}.line-avatar{position:relative;flex:0 0 43px;width:43px;height:43px;border-radius:12px;overflow:hidden}.line-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.line-person b,.line-person span{display:block}.line-person b{font-size:12px}.line-person span{font-size:9px;color:#87928e;margin-top:3px}.access-row label{font-size:9px;color:#74817c}.access-row select,.access-row input{display:block;width:100%;border:1px solid #dcded9;border-radius:8px;padding:8px;margin-top:4px;font-size:10px}.line-permission-checks{display:flex;flex-direction:column;gap:4px;align-self:center}.line-permission-checks label{display:flex;align-items:center;gap:6px}.line-permission-checks input{display:inline-block;width:auto;margin:0;accent-color:#1e5a48}.access-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;min-height:34px}.approve-btn,.reject-btn{border:0;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:600}.approve-btn{background:#1e5a48;color:#fff}.approve-btn:disabled{opacity:.4}.reject-btn{background:#f6e8e4;color:#aa5948}.security-note{display:flex;align-items:center;gap:10px;background:#e9f4ee;color:#2a6652;border-radius:11px;padding:13px;margin-top:14px}.security-note svg{width:19px}.security-note b,.security-note span{display:block}.security-note b{font-size:11px}.security-note span{font-size:9px;margin-top:2px}@media(max-width:900px){.access-row{grid-template-columns:1fr 1fr}.access-actions{justify-content:flex-start}}@media(max-width:520px){.access-summary{grid-template-columns:1fr 1fr 1fr}.access-row{grid-template-columns:1fr}.access-actions{justify-content:flex-end}}.auth-notice{position:fixed;top:22px;right:22px;z-index:100;display:flex;align-items:center;gap:9px;max-width:min(390px,calc(100vw - 32px));padding:13px 14px;background:#174f3f;color:#fff;border-radius:11px;box-shadow:0 12px 35px #102d2538;font-size:11px}.auth-notice>svg{color:#efbb4e;flex:none}.auth-notice.error{background:#a9483d}.auth-notice.error>svg{color:#fff}.auth-notice span{flex:1}.auth-notice button{border:0;background:transparent;color:inherit;padding:2px;display:grid;place-items:center}@media(max-width:600px){.auth-notice{top:max(10px,env(safe-area-inset-top));left:12px;right:12px;width:auto;max-width:none;padding:14px 15px;font-size:12px;z-index:200;box-shadow:0 10px 35px #102d2555}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(460px,.92fr);background:#f6f5f0;position:relative;overflow:hidden;color:#18362e}.login-story{position:relative;z-index:2;min-height:100vh;padding:42px 7vw 34px;background:linear-gradient(145deg,#0d3c31,#134b3d 55%,#0b332b);color:#fff;display:flex;flex-direction:column;overflow:hidden}.login-story:before{content:"";position:absolute;width:620px;height:620px;border:1px solid #ffffff12;border-radius:50%;right:-260px;bottom:-245px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.login-story:after{content:"S";position:absolute;right:3vw;bottom:-105px;font:800 430px/1 DM Sans;color:#ffffff07;pointer-events:none}.login-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.login-brand img{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.login-brand strong,.login-brand span{display:block}.login-brand strong{font:800 23px DM Sans;letter-spacing:.4px}.login-brand span{font:500 9px DM Sans;letter-spacing:2.8px;color:#d7b45f;margin-top:3px}.login-message{margin:auto 0;position:relative;z-index:1}.login-kicker{font:600 10px DM Sans;letter-spacing:3px;color:#e7bd53}.login-message h1{font-size:clamp(38px,4vw,64px);line-height:1.25;margin:18px 0 20px;letter-spacing:-1.5px}.login-message>p{font-size:14px;line-height:1.9;color:#c4d8d1;margin:0}.login-features{display:flex;gap:14px;margin-top:42px}.login-features>div{display:flex;gap:12px;align-items:center;border:1px solid #ffffff1c;background:#ffffff0b;border-radius:14px;padding:13px 17px;min-width:190px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-features svg{width:22px;color:#ebbf55}.login-features b,.login-features small{display:block}.login-features b{font:600 11px DM Sans}.login-features small{font-size:9px;color:#aec8bf;margin-top:3px}.login-copyright{position:relative;z-index:1;font:500 8px DM Sans;letter-spacing:1.5px;color:#82a69a}.login-form-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px;position:relative;z-index:2}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e8e6dd;border-radius:24px;padding:38px 42px 28px;box-shadow:0 25px 70px #15352b14}.login-mobile-brand{display:none}.login-card-head{text-align:center;margin-bottom:27px}.login-lock{width:48px;height:48px;border-radius:14px;background:#e5f0eb;color:#16503f;display:grid;place-items:center;margin:0 auto 15px}.login-lock svg{width:22px}.login-card-head>span{font-size:10px;color:#b2832d;font-weight:600;letter-spacing:1px}.login-card-head h2{font-size:24px;margin:5px 0 7px}.login-card-head p{font-size:10px;color:#89938f;margin:0}.login-card form>label{display:block;font-size:10px;font-weight:600;margin:14px 0;color:#3e4e48}.login-input{margin-top:7px;height:46px;border:1px solid #dcded8;border-radius:11px;display:flex;align-items:center;padding:0 13px;transition:.2s;background:#fcfcfa}.login-input:focus-within{border-color:#2d6d59;box-shadow:0 0 0 3px #2d6d5910;background:#fff}.login-input>svg{width:17px;color:#87948f}.login-input input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;padding:0 10px;font:500 11px Anuphan;color:#18362e}.login-input button{width:28px;height:28px;border:0;background:transparent;color:#86918d;display:grid;place-items:center}.login-input button svg{width:17px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:13px 0 20px;font-size:9px}.login-options label{display:flex;align-items:center;gap:6px;color:#7a8581}.login-options input{accent-color:#1e5b49}.login-options span{color:#356b5a}.login-error{background:#fff0ed;color:#ad5143;border:1px solid #f3d6d0;border-radius:9px;padding:9px 11px;font-size:9px;margin:-8px 0 12px}.login-submit{height:48px;width:100%;border:0;border-radius:11px;background:linear-gradient(135deg,#174f3f,#0d3b31);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font:600 12px Anuphan;box-shadow:0 8px 20px #174f3f2e;transition:.2s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 11px 25px #174f3f3c}.login-submit:disabled{opacity:.7}.login-submit svg{width:17px}.spin{animation:login-spin 1s linear infinite}.login-secure{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #eeece5;margin-top:24px;padding-top:18px;color:#8c9692;font-size:8px}.login-secure svg{width:13px;color:#4c7b6b}.login-status{font-size:9px;color:#87928e;margin-top:18px}.login-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35ae70;box-shadow:0 0 0 4px #35ae7015;margin-right:7px}.login-status span{margin:0 6px;color:#c3c6c3}.login-atmosphere{position:absolute;border-radius:50%;filter:blur(2px);z-index:1}.login-atmosphere-one{width:300px;height:300px;background:#d7aa3b0b;right:30%;top:-140px}.login-atmosphere-two{width:240px;height:240px;background:#1c745a0b;right:-70px;bottom:-90px}.login-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:15px;background:#f6f5f0;color:#547067;font-size:11px}.login-loading img{width:75px;height:75px;object-fit:contain;animation:login-pulse 1.5s ease-in-out infinite}.profile-button{background:transparent;text-align:left;color:inherit;cursor:pointer}.profile-button:hover{background:#f4f5f1}@keyframes login-spin{to{transform:rotate(360deg)}}@keyframes login-pulse{50%{transform:scale(.94);opacity:.7}}@media(max-width:950px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-form-side{min-height:100vh;background:linear-gradient(160deg,#f7f6f1,#eef3ef);padding:25px}.login-mobile-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:25px}.login-mobile-brand img{width:43px;height:43px;object-fit:contain}.login-mobile-brand strong{font:800 17px DM Sans;color:#174f3f}.login-card{padding:28px 30px 24px}}@media(max-width:480px){.login-form-side{padding:16px}.login-card{padding:25px 20px 21px;border-radius:19px}.login-card-head h2{font-size:21px}.login-status{margin-top:13px}}.profile-wrap{position:relative}.profile-button>svg{color:#83918c;transform:rotate(90deg)}.profile-menu{position:absolute;right:0;top:calc(100% + 10px);width:265px;background:#fff;border:1px solid #e4e4de;border-radius:13px;padding:7px;box-shadow:0 16px 45px #1b322927;z-index:70}.profile-menu:before{content:"";position:absolute;right:22px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #e4e4de;border-top:1px solid #e4e4de;transform:rotate(45deg)}.profile-menu button{width:100%;border:0;background:transparent;border-radius:9px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;color:#243a32}.profile-menu button:hover{background:#f3f6f3}.profile-menu svg{width:19px;color:#39715f}.profile-menu span,.profile-menu b,.profile-menu small{display:block}.profile-menu span{flex:1}.profile-menu b{font-size:10px}.profile-menu small{font-size:8px;color:#89948f;margin-top:3px}.profile-menu .logout-menu{border-top:1px solid #eee;margin-top:5px;padding-top:12px;color:#a94f44}.profile-menu .logout-menu svg{color:#b85c50}.header-tool{position:relative}.icon-btn.active{background:#e9f3ee;border-color:#a7c5b9;color:#205c49}.bell em{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#d85f4d;color:#fff;border:2px solid #fff;font:700 8px DM Sans;display:grid;place-items:center;font-style:normal}.header-popover{position:absolute;right:0;top:calc(100% + 12px);width:360px;background:#fff;border:1px solid #e1e3dc;border-radius:14px;box-shadow:0 18px 50px #162d2528;z-index:75;overflow:hidden}.global-search{height:53px;display:flex;align-items:center;gap:9px;padding:0 13px;border-bottom:1px solid #ecece6}.global-search>svg{width:18px;color:#71817b}.global-search input{border:0;outline:0;min-width:0;flex:1;font-size:11px}.global-search button{border:0;background:transparent;display:grid;place-items:center;color:#7e8a86}.global-search button svg{width:16px}.popover-head{padding:14px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ecece7}.popover-head b,.popover-head small{display:block}.popover-head b{font-size:13px}.popover-head small{font-size:9px;color:#8a9591;margin-top:2px}.popover-head button{border:0;background:transparent;color:#276b56;font-size:9px}.popover-body{max-height:370px;overflow-y:auto;overscroll-behavior:contain}.popover-empty{min-height:125px;display:grid;place-content:center;justify-items:center;gap:7px;color:#89948f;font-size:10px}.popover-empty svg{width:25px;opacity:.45}.search-result,.notification-item{width:100%;border:0;border-bottom:1px solid #f0f0eb;background:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px;text-align:left;color:#243830}.search-result:hover,.notification-item:hover{background:#f7faf8}.search-result>span:nth-child(2),.notification-item>span:nth-child(2){flex:1;min-width:0}.search-result b,.search-result small,.notification-item b,.notification-item small,.notification-item time{display:block}.search-result b,.notification-item b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result small,.notification-item small{font-size:8px;color:#7f8c87;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result>svg{width:15px;color:#9aa39f}.result-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#e6f0eb;color:#34705c}.result-icon.quotation{background:#f8ead6;color:#a46c31}.result-icon svg{width:16px}.notification-item{align-items:flex-start}.notification-item.unread{background:#f0f7f3}.notice-dot{width:9px;height:9px;border-radius:50%;background:#7a8b85;margin-top:4px;flex:none}.notice-dot.success{background:#2f966e}.notice-dot.warning{background:#dc7956}.notice-dot.info{background:#4c7fa2}.notification-item time{font-size:7px;color:#a0aaa6;margin-top:5px}.admin-badge{display:flex;align-items:center;gap:6px;background:#e6f1ec;color:#28604e;border-radius:20px;padding:7px 12px;font-size:9px;font-weight:600}.admin-badge svg{width:15px}.profile-editor{display:grid;grid-template-columns:280px 1fr;gap:18px}.profile-photo-card,.profile-fields{background:#fff;border:1px solid var(--line);border-radius:15px}.profile-photo-card{padding:27px 22px;text-align:center;height:max-content}.large-avatar{width:112px;height:112px;border-radius:30px;background:linear-gradient(135deg,#dcebe5,#bcd7cd);color:#1c5b47;display:grid;place-items:center;margin:0 auto 15px;font:700 32px DM Sans;overflow:hidden}.large-avatar img{width:100%;height:100%;object-fit:cover}.photo-button{display:inline-flex!important;align-items:center;gap:6px;border:1px solid #cddbd5;border-radius:8px;padding:7px 10px;font-size:9px!important;color:#366958!important;cursor:pointer;margin:0 0 18px!important}.photo-button svg{width:14px}.photo-button input{display:none}.profile-photo-card>b,.profile-photo-card>span{display:block}.profile-photo-card>b{font-size:15px}.profile-photo-card>span{font-size:9px;color:#798681;margin-top:5px}.profile-account{text-align:left;background:#f4f6f3;border-radius:9px;padding:10px;margin-top:22px}.profile-account small,.profile-account strong{display:block}.profile-account small{font-size:8px;color:#89948f}.profile-account strong{font:500 9px DM Sans;margin-top:4px;overflow-wrap:anywhere}.profile-fields{padding:24px}.profile-section-title{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:7px}.profile-section-title>svg{width:20px;color:#39715f}.profile-section-title b,.profile-section-title span{display:block}.profile-section-title b{font-size:12px}.profile-section-title span{font-size:9px;color:#8a9591;margin-top:2px}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}.profile-form-grid label{display:block;font-size:9px;font-weight:600;color:#52605b;margin:12px 0}.profile-form-grid input{display:block;width:100%;height:40px;border:1px solid #dadfdc;border-radius:8px;padding:0 11px;margin-top:6px;outline:0;font:500 10px Anuphan}.profile-form-grid input:focus{border-color:#48806e;box-shadow:0 0 0 3px #48806e10}.field-with-icon{position:relative}.field-with-icon svg{position:absolute;left:11px;top:17px;width:15px;color:#89948f}.field-with-icon input{padding-left:34px}.profile-security{display:flex;align-items:center;gap:10px;background:#edf5f1;border-radius:10px;padding:12px;margin-top:14px;color:#285d4c}.profile-security>svg{width:19px}.profile-security div{flex:1}.profile-security b,.profile-security span{display:block}.profile-security b{font-size:10px}.profile-security span{font-size:8px;color:#648074;margin-top:3px}.profile-security i{font-style:normal;font-size:8px;background:#fff;border-radius:12px;padding:5px 8px}.profile-save{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.profile-save button{display:flex;align-items:center;gap:7px}.profile-save svg{width:16px}@media(max-width:850px){.profile-editor{grid-template-columns:1fr}.profile-photo-card{display:grid;grid-template-columns:auto 1fr;column-gap:15px;text-align:left;align-items:center}.large-avatar{grid-row:1/4;margin:0;width:85px;height:85px;border-radius:23px}.photo-button{grid-column:1/3;justify-self:start;margin-top:15px!important}.profile-account{grid-column:1/3;width:100%;margin-top:3px}.profile-form-grid{grid-template-columns:1fr}}@media(max-width:520px){.profile-menu{position:fixed;top:68px;right:10px;width:270px}.admin-badge{display:none}.profile-fields{padding:17px}.profile-button>div:last-of-type{display:none}}@media(max-width:600px){.header-popover{position:fixed;top:70px;left:8px;right:8px;width:auto;max-height:calc(100dvh - 82px)}.popover-body{max-height:calc(100dvh - 145px)}.header-actions{gap:5px}.header-actions .icon-btn{width:36px;height:36px}.search-popover .popover-body{max-height:calc(100dvh - 135px)}}.leave-status{display:flex;align-items:center;gap:6px}.leave-review{display:flex;gap:4px}.leave-review button{border:0;border-radius:7px;padding:5px 7px;font-size:8px;color:#a24f43;background:#f8e8e3}.leave-review button:last-child{color:#246a52;background:#e3f1ea}.leave-resolved-toggle{display:flex;justify-content:center;margin:10px 0}.leave-table-resolved{margin-top:4px;opacity:.88}.payroll-summary,.tax-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.payroll-summary>div,.tax-summary>div{padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.payroll-summary span,.tax-summary span,.payroll-summary strong,.tax-summary strong{display:block}.payroll-summary span,.tax-summary span{font-size:9px;color:#7b8883}.payroll-summary strong,.tax-summary strong{margin-top:5px;font-size:20px}.financial-table{overflow-x:auto}.financial-row{display:grid;grid-template-columns:180px repeat(21,110px) 120px 80px;gap:8px;align-items:center;min-width:2750px;padding:9px;border-bottom:1px solid var(--line)}.financial-head{font-size:8px;color:#78857f;background:#f6f7f4}.financial-row b,.financial-row small{display:block}.financial-row b{font-size:10px}.financial-row small{font-size:8px;color:#7b8883}.financial-row input{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px;font-size:9px}.double-input{display:grid;grid-template-columns:1fr 1fr;gap:3px}.financial-row button svg{width:13px}.tax-entry{margin-bottom:16px}.tax-form{display:grid;grid-template-columns:130px 1fr 150px 1fr 160px auto;gap:10px;align-items:end}.tax-form label{font-size:9px}.tax-form input,.tax-form select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:9px}.tax-row{display:grid;grid-template-columns:80px 1fr 170px 150px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line);font-size:10px}.tax-row b,.tax-row small{display:block}.tax-row small{color:#7b8883;margin-top:2px}.financial-head .payroll-income-head{align-self:stretch;display:flex;align-items:center;padding:6px;border-radius:5px;background:#c6e0b4;color:#285b32;font-weight:700}.financial-head .payroll-deduction-head{align-self:stretch;display:flex;align-items:center;padding:6px;border-radius:5px;background:#bdd7ee;color:#245278;font-weight:700}.financial-row:not(.financial-head) input:nth-of-type(-n+16){border-color:#b7d3a4;background:#f4faef}.financial-row:not(.financial-head) input:nth-of-type(n+17){border-color:#aecbe4;background:#f0f7fc}.payroll-runs{margin-bottom:16px}.run-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.run-list>button{display:flex;align-items:center;gap:9px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.run-list>button span{flex:1}.run-list b,.run-list small{display:block}.run-list b{font-size:12px}.run-list small{font-size:8px;color:#7b8883;margin-top:3px}.run-list strong{font-size:11px}.run-list svg{width:14px}.payslip-run{width:min(850px,100%);max-height:90vh;overflow:auto}.payslip-list>div{display:grid;grid-template-columns:1.2fr .8fr 1.3fr .8fr;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line);font-size:9px}.payslip-list b,.payslip-list small{display:block}.payslip-list small{color:#7b8883}@media(max-width:760px){.payroll-summary,.tax-summary,.run-list{grid-template-columns:1fr}.payslip-list>div{grid-template-columns:1fr}.tax-form{grid-template-columns:1fr 1fr}.tax-form button{grid-column:1/-1}.tax-row{grid-template-columns:70px 1fr}.tax-row>span:nth-child(3),.tax-row>strong{grid-column:2}}.leave-row .person b small{display:block;max-width:190px;margin-top:3px;color:#7b8883;font-size:8px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-status>small{display:block;max-width:190px;color:#76847f;font-size:8px;overflow-wrap:anywhere}.leave-review-modal{width:min(560px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.leave-review-modal .modal-head{position:sticky;top:-22px;z-index:8;margin-top:-2px;padding-top:24px;background:#fff}.leave-review-modal .modal-actions{position:sticky;bottom:-22px;z-index:8;margin-bottom:-22px;padding:13px 0 22px;background:#fff;border-top:1px solid #ecece7}.review-request{display:grid;grid-template-columns:120px 1fr;gap:9px;padding:13px;margin-bottom:15px;border-radius:10px;background:#f5f7f4}.review-request span{font-size:9px;color:#7b8883}.review-request b{font-size:10px}.reject-action{border:0;border-radius:9px;padding:10px 14px;background:#b65343;color:#fff;font-weight:700}.leave-type-warning{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;border:1px solid #efd58a;border-radius:10px;background:#fff8dc;color:#7a5312}.leave-type-warning b{font-size:11px}.leave-type-warning span{font-size:9px;line-height:1.6}.leave-detail{border-color:#9daaa5!important;background:#fff!important;color:#385a4e!important}.review-leave-balances{margin:0 0 15px;padding:14px;border:1px solid #dce5df;border-radius:12px;background:linear-gradient(145deg,#f8fbf9,#f2f6f2)}.review-balance-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.review-balance-head b,.review-balance-head span{display:block}.review-balance-head b{font-size:11px;color:#214f40}.review-balance-head span{margin-top:2px;font-size:8px;color:#788781}.review-balance-head em{font-size:8px;font-style:normal;color:#8a6b25}.review-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-balance-grid article{padding:10px;border:1px solid #e0e5e1;border-radius:10px;background:#fff}.review-balance-grid article.current{border-color:#dda93d;background:#fff9e9;box-shadow:inset 3px 0 #dda93d}.review-balance-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-balance-grid article>div b{font-size:9px;color:#284c40}.review-balance-grid article>div em{padding:3px 5px;border-radius:999px;background:#f4dfaa;color:#745313;font-size:7px;font-style:normal;white-space:nowrap}.review-balance-grid dl{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0 0}.review-balance-grid dl div{min-width:0}.review-balance-grid dt{font-size:7px;color:#82908b}.review-balance-grid dd{margin:1px 0 0;font:700 11px DM Sans;color:#24493d}.review-balance-grid article.current dl div:last-child dd{color:#a36b0b}.review-balance-error{margin:0;padding:9px;border-radius:8px;background:#fff0ed;color:#a4473b;font-size:9px}@media(max-width:600px){.review-balance-grid{grid-template-columns:1fr}.review-balance-grid article{padding:11px}.review-balance-grid dt{font-size:9px}.review-balance-grid dd{font-size:13px}}.leave-quota-warning{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:13px 14px;border:1px solid #e7aaa1;border-left:4px solid #b84238;border-radius:10px;background:#fff0ed;color:#8d302a}.leave-quota-warning b{font-size:12px}.leave-quota-warning span,.leave-quota-warning strong{font-size:9px;line-height:1.55}.leave-weekly-report{margin-bottom:18px;background:linear-gradient(145deg,#fff 0,#f7faf7)}.leave-weekly-report .panel-title label{font-size:9px;color:#74817c}.leave-weekly-report .panel-title input{display:block;margin-top:5px;border:1px solid #d8ded9;border-radius:8px;padding:7px 9px;background:#fff}.leave-report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.leave-report-stats>div{padding:13px 15px;border:1px solid #dfe7e2;border-radius:11px;background:#fff}.leave-report-stats strong,.leave-report-stats span{display:block}.leave-report-stats strong{font:700 22px DM Sans;color:#245947}.leave-report-stats span{font-size:9px;color:#7d8985;margin-top:2px}.leave-report-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.leave-report-breakdown>div{padding:13px;border-radius:11px;background:#edf4f0}.leave-report-breakdown h4{margin:0 0 8px;font-size:10px}.leave-report-breakdown p{display:flex;justify-content:space-between;margin:0;padding:6px 0;border-bottom:1px solid #d9e5de;font-size:9px}.leave-report-breakdown p:last-child{border:0}.leave-report-list{border:1px solid #e1e5e1;border-radius:11px;overflow:auto;background:#fff}.leave-report-item{min-width:720px;display:grid;grid-template-columns:85px 1.3fr 1fr 1fr 110px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eceeea;font-size:9px}.leave-report-item:last-child{border:0}.leave-report-item.head{background:#f1f4f1;color:#74817c;font-size:8px;text-transform:uppercase}.leave-report-item b,.leave-report-item small{display:block}.leave-report-item small{color:#87928e;margin-top:2px}.leave-import-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;margin-bottom:18px;overflow:hidden;border:1px solid #d9e4dd;border-radius:14px;background:#d9e4dd}.leave-import-summary>div{padding:18px 20px;background:linear-gradient(140deg,#f6fbf8,#fff)}.leave-import-summary span,.leave-import-summary strong,.leave-import-summary small{display:block}.leave-import-summary span{font-size:9px;color:#60736b}.leave-import-summary strong{margin:4px 0 2px;font:700 22px DM Sans;color:#1f5947}.leave-import-summary small{font-size:8px;color:#83918c}.leave-history-panel{margin-bottom:18px;padding:0;overflow:hidden}.leave-history-panel .panel-title{padding:16px 18px;margin:0;border-bottom:1px solid #e7ebe8}.leave-history-search{display:flex;align-items:center;gap:7px}.leave-history-search>svg{width:16px;color:#708079}.leave-history-search input{width:230px;border:1px solid #d8dfdb;border-radius:8px;padding:8px 10px;font-size:9px}.leave-history-list{overflow:auto}.leave-history-row{min-width:900px;display:grid;grid-template-columns:105px 1.35fr 1fr .8fr 70px 1.2fr;gap:12px;align-items:center;padding:10px 17px;border-bottom:1px solid #eceeea;font-size:9px}.leave-history-row.head{background:#f4f6f3;color:#74817c;font-size:8px;text-transform:uppercase}.leave-history-row b,.leave-history-row small{display:block}.leave-history-row small{margin-top:2px;color:#86918d;font-size:8px}.leave-history-limit{padding:11px 17px;text-align:center;background:#f8f8f5;color:#7b8782;font-size:8px}.leave-approval-search{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px 16px;border:1px solid #d9e2dc;border-radius:14px;background:linear-gradient(120deg,#f8fbf9,#fff)}.leave-approval-search>div{display:flex;align-items:center;gap:8px;flex:1}.leave-approval-search svg{width:18px;color:#39715d}.leave-approval-search input{width:min(460px,100%);min-height:40px;border:1px solid #d5ddd8;border-radius:9px;padding:8px 11px;background:#fff;outline:0;font-size:11px}.leave-approval-search input:focus{border-color:#4d806d;box-shadow:0 0 0 3px #3f786018}.leave-approval-search>span{color:#77847f;font-size:9px;white-space:nowrap}@media(max-width:760px){.leave-table .tr{min-width:760px}.leave-table{padding-bottom:5px}.leave-status{min-width:190px}}@media(max-width:760px){.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.leave-import-summary{grid-template-columns:1fr}.leave-approval-search{align-items:stretch;flex-direction:column}.leave-approval-search>div{flex-wrap:wrap}.leave-approval-search input{flex:1;min-width:180px;font-size:16px}.leave-approval-search>span{align-self:flex-end}.leave-history-panel .panel-title{align-items:stretch}.leave-history-search{width:100%;flex-wrap:wrap}.leave-history-search input{flex:1;min-width:170px}.leave-report-stats{grid-template-columns:1fr 1fr}.leave-report-breakdown{grid-template-columns:1fr}.leave-weekly-report .panel-title{gap:10px}.leave-weekly-report .panel-title label{width:130px}}.purchase-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.purchase-kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;display:flex;align-items:center;gap:11px}.purchase-kpis svg{width:33px;height:33px;padding:8px;border-radius:9px;background:#e5f0eb;color:#286650}.purchase-kpis span,.purchase-kpis strong{display:block}.purchase-kpis span{font-size:9px;color:#7d8985}.purchase-kpis strong{font:700 20px DM Sans;color:#20372f}.purchase-toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.purchase-list{overflow-x:auto}.purchase-row{min-width:800px;width:100%;display:grid;grid-template-columns:140px 1.5fr 1fr 140px 130px;align-items:center;gap:12px;padding:13px 8px;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;color:#263a33}.purchase-row:not(.purchase-head):hover{background:#f8faf8}.purchase-row span,.purchase-row b,.purchase-row small{display:block}.purchase-row b{font-size:10px}.purchase-row small{font-size:8px;color:#89948f;margin-top:3px}.purchase-row>span:last-child{display:flex;align-items:center;justify-content:space-between}.purchase-row>span:last-child svg{width:15px;color:#929c98}.purchase-head{color:#82908b;font-size:8px;background:#fafaf7}.purchase-editor{width:min(1120px,96vw);max-height:calc(100dvh - 30px);overflow:auto}.purchase-items{margin:16px 0;border:1px solid #e2e3dd;border-radius:11px;overflow:hidden}.item-title{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f5f6f2}.item-title b{font-size:10px}.item-title button{border:0;background:transparent;color:#26664f;font-size:9px;display:flex;align-items:center;gap:4px}.item-title svg{width:14px}.purchase-item{display:grid;grid-template-columns:25px 100px 1.2fr 1fr 65px 65px 100px 95px 30px;gap:7px;align-items:center;padding:9px;border-top:1px solid #eeeee9}.purchase-item>span{font-size:9px;color:#89948f;text-align:center}.purchase-item input{min-width:0;height:35px;border:1px solid #daddd7;border-radius:7px;padding:0 8px;font-size:9px}.purchase-item>b{text-align:right;font-size:9px}.purchase-item>button{border:0;background:transparent;color:#b45c50;padding:3px}.purchase-item>button svg{width:14px}.purchase-total{margin:13px 0 0 auto;width:min(330px,100%);padding:13px 15px;border-radius:10px;background:#edf4f0;display:flex;align-items:center;justify-content:space-between;color:#235846}.purchase-total span{font-size:10px}.purchase-total strong{font:700 19px DM Sans}.purchase-detail{width:min(780px,96vw);max-height:calc(100dvh - 30px);overflow:auto}.purchase-detail-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:13px}.purchase-detail-meta>div{padding:11px;background:#f6f6f2;border-radius:9px}.purchase-detail-meta span,.purchase-detail-meta b{display:block}.purchase-detail-meta span{font-size:8px;color:#89938f}.purchase-detail-meta b{font-size:10px;margin-top:4px}.purchase-detail-items{border:1px solid #e2e3dd;border-radius:10px;overflow:hidden}.purchase-detail-items>div{display:grid;grid-template-columns:30px 1fr 130px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #ecece7}.purchase-detail-items>div:last-child{border:0}.purchase-detail-items span{font-size:9px;color:#87938e;text-align:center}.purchase-detail-items b{font-size:10px}.purchase-detail-items b em{font-style:normal;color:#326753}.purchase-detail-items small{display:block;font-size:8px;color:#89948f;margin-top:3px}.purchase-detail-items strong{text-align:right;font:600 11px DM Sans}.purchase-note{display:flex;gap:10px;padding:11px;margin-top:12px;border:1px solid #e7e5dc;border-radius:9px;font-size:9px}.purchase-note span{color:#65736e}.purchase-log{margin-top:14px}.purchase-log>b{font-size:10px}.purchase-log>div{display:grid;grid-template-columns:150px 1fr 1.3fr;gap:8px;padding:7px 0;border-bottom:1px solid #eee;font-size:8px}.purchase-log span,.purchase-log small{color:#84908b}.purchase-detail .modal-actions a{text-decoration:none}.purchase-detail .modal-actions a svg{width:15px}@media(max-width:800px){.purchase-kpis{grid-template-columns:1fr 1fr}.purchase-toolbar{align-items:stretch}.purchase-toolbar .searchbox{width:100%}.purchase-editor,.purchase-detail{width:100%;max-height:calc(100dvh - 16px);padding:17px}.purchase-item{min-width:740px}.purchase-items{overflow-x:auto}.purchase-detail-meta{grid-template-columns:1fr 1fr}.purchase-log>div{grid-template-columns:1fr}.purchase-detail .modal-actions,.purchase-editor .modal-actions{position:sticky;bottom:-17px;background:#fff;padding:12px 0 calc(17px + env(safe-area-inset-bottom));margin-bottom:-17px;border-top:1px solid #eee;z-index:4;flex-wrap:wrap}.purchase-detail .modal-actions button,.purchase-editor .modal-actions button{flex:1}}.asset-fields{margin-top:14px;padding:15px;border:1px solid #e4bd66;border-radius:11px;background:#fff9ec}.asset-fields>div:first-child{margin-bottom:10px}.asset-fields>div:first-child b,.asset-fields>div:first-child span{display:block}.asset-fields>div:first-child b{color:#765417;font-size:12px}.asset-fields>div:first-child span{color:#8f7a51;font-size:9px;margin-top:3px}.asset-summary{background:#fff9ec;border-color:#ead19a}.license-panel{margin-bottom:18px;border-left:5px solid #2e765e}.license-panel>div:first-child h3{margin:3px 0}.license-panel>div:first-child p{font-size:10px;color:#71807a}.license-data{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.license-data span{padding:11px;background:#f4f7f4;border-radius:9px}.license-data small,.license-data b{display:block}.license-data small{font-size:8px;color:#81908a}.license-data b{font-size:10px;margin-top:4px}.license-install{display:flex;gap:10px}.license-install textarea{flex:1;resize:vertical;border:1px solid #dcded9;border-radius:8px;padding:9px;font-size:9px}.license-panel.grace{border-left-color:#e0a530}.license-panel.expired,.license-panel.invalid,.license-panel.missing{border-left-color:#c65c4b}.license-banner{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;margin-bottom:15px;border-radius:10px;background:#fff1d7;color:#855c16;font-size:10px}.license-banner.expired,.license-banner.invalid,.license-banner.missing{background:#fde9e5;color:#9b493d}@media(max-width:700px){.license-data{grid-template-columns:1fr 1fr}.license-install{display:block}.license-install button{width:100%;margin-top:8px}}.company-profile-panel{margin-bottom:18px}.company-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.company-profile-grid label{font-size:9px;color:#687570}.company-profile-grid input,.company-profile-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:8px;padding:9px}.company-profile-grid .wide{grid-column:span 2}@media(max-width:700px){.company-profile-grid{grid-template-columns:1fr}.company-profile-grid .wide{grid-column:1}}.security-operations{margin-bottom:18px}.security-operations .panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.security-operations .panel-title h3{margin:3px 0}.security-operations .panel-title p{font-size:10px;color:#71807a}.security-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.security-status-card{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f7f8f6}.security-status-card>svg{width:23px;height:23px;flex:0 0 23px}.security-status-card small,.security-status-card b,.security-status-card span{display:block}.security-status-card small{font-size:8px;color:#75817d}.security-status-card b{font-size:11px;margin:2px 0}.security-status-card span{font-size:9px;color:#75817d}.security-status-card.healthy{background:#edf7f2;color:#23644f;border-color:#cfe6da}.security-status-card.warning{background:#fff5e5;color:#96671e;border-color:#efd8aa}.audit-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.audit-head,.audit-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 13px}.audit-head{background:#f5f6f3}.audit-head b{font-size:11px}.audit-head span{font-size:8px;color:#7c8984}.audit-row{grid-template-columns:30px 1fr minmax(190px,.7fr);border-top:1px solid var(--line)}.audit-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e6f3ed;color:#29705a}.audit-icon.failed{background:#f9e9e5;color:#b05242}.audit-icon svg{width:15px}.audit-row b,.audit-row small,.audit-meta span{display:block}.audit-row b{font-size:10px}.audit-row small,.audit-meta span{font-size:8px;color:#7b8883;margin-top:2px;overflow-wrap:anywhere}.audit-meta{text-align:right}.audit-summary{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fafbf9}.audit-summary>span{padding:7px 10px;border-radius:8px;background:#edf6f1;color:#315f51;font-size:9px;white-space:nowrap}.audit-summary>span.danger{background:#faeae6;color:#a54d3e}.audit-summary>span b{font-size:12px;margin-right:3px}.audit-summary button{margin-left:auto}.audit-summary+.audit-list{margin-top:10px}@media(max-width:650px){.security-operations .panel-title{align-items:flex-start}.security-status-grid{grid-template-columns:1fr}.audit-summary{align-items:stretch;flex-wrap:wrap}.audit-summary>span{flex:1;text-align:center}.audit-summary button{width:100%;margin-left:0}.audit-head span{display:none}.audit-row{grid-template-columns:30px 1fr}.audit-meta{grid-column:2;text-align:left}.security-operations .panel-title .compact{font-size:0}.security-operations .panel-title .compact svg{margin:0}}.activation-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 15%,#e8f2ec 0,transparent 34%),linear-gradient(145deg,#f7f5ef,#e9eee9)}.activation-card{width:min(510px,100%);background:#fff;border:1px solid #dfe4df;border-radius:22px;padding:35px;text-align:center;box-shadow:0 24px 70px #173f3520}.activation-icon{width:65px;height:65px;margin:auto;display:grid;place-items:center;border-radius:19px;background:#e3f0e9;color:#215d49}.activation-icon svg{width:30px;height:30px}.activation-card h1{font-size:25px;margin:8px 0}.activation-card>p{font-size:11px;color:#72807b;line-height:1.8}.license-file{margin:23px 0;padding:18px;border:1px dashed #8eb2a5;border-radius:13px;background:#f1f7f3;display:flex;gap:13px;align-items:center;text-align:left;cursor:pointer}.license-file>svg{color:#286750}.license-file span{flex:1}.license-file b,.license-file small{display:block}.license-file b{font-size:11px}.license-file small{font-size:8px;color:#7d8985;margin-top:4px}.license-file input{display:none}.activation-card .login-submit{width:100%}.activation-status{display:block;margin-top:15px;color:#929d99;font-size:8px}@media(max-width:480px){.purchase-kpis,.purchase-detail-meta{grid-template-columns:1fr}.purchase-detail-items>div{grid-template-columns:24px 1fr 95px}.purchase-row{min-width:740px}}.withdrawal-cart-item{display:grid;grid-template-columns:1fr 80px 1.2fr 30px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #eeeee9;font-size:9px}.withdrawal-cart-item input{min-width:0;height:32px;border:1px solid #daddd7;border-radius:7px;padding:0 8px;font-size:9px}.withdrawal-cart-item button{border:0;background:transparent;color:#b45c50;padding:3px}.withdrawal-cart-item button svg{width:14px}.purchase-toolbar select{border:1px solid #daddd7;border-radius:8px;padding:0 10px;font-size:9px;background:#fff;color:#263a33}.payroll-period-actions{display:flex;align-items:center;gap:10px}.payroll-period-actions label{display:flex;align-items:center;gap:6px;font-size:9px;color:#687570}.payroll-period-actions input[type=month]{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:9px}@media(max-width:600px){.payroll-period-actions{flex-wrap:wrap;width:100%}.payroll-period-actions button{flex:1}}.scanner-status-card{margin-bottom:14px;border-left:5px solid #a9b0a9}.scanner-status-card.healthy{border-left-color:#2e9e5b}.scanner-status-card.stale{border-left-color:#d69a2b}.scanner-status-card .panel-title p{font-size:10px;color:#71807a;margin-top:3px}.scanner-status-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.scanner-status-counts>div{padding:12px;background:#f6f7f4;border-radius:10px;text-align:center}.scanner-status-counts strong{display:block;font:700 18px DM Sans;color:#20372f}.scanner-status-counts span{display:block;font-size:8px;color:#7d8985;margin-top:3px}.scanner-status-counts .danger strong{color:#a54d3e}.scanner-unmatched-list{margin-top:12px;padding:10px 12px;border:1px solid #ead19a;background:#fff9ec;border-radius:9px;font-size:9px;color:#765417}.scanner-unmatched-list b{display:block;margin-bottom:6px}.scanner-unmatched-list span{display:inline-block;margin:2px 6px 2px 0;padding:3px 7px;background:#fff;border-radius:6px;border:1px solid #ead19a}@media(max-width:650px){.scanner-status-counts{grid-template-columns:1fr 1fr 1fr;gap:6px}.scanner-status-counts>div{padding:8px}}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.user-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.user-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.user-summary strong,.user-summary span{display:block}.user-summary strong{font:700 24px DM Sans;color:#214f42}.user-summary span{font-size:9px;color:#84908b}.user-list{padding:0;overflow:hidden}.user-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid #e7ebe8;background:#fbfcfa}.user-list-toolbar .searchbox{width:min(520px,100%)}.user-list-toolbar .searchbox button{border:0;background:transparent;color:#82908a;display:grid;place-items:center}.user-list-toolbar>span{font-size:9px;color:#74817c;white-space:nowrap}.system-user-row{display:grid;grid-template-columns:1.5fr 150px 2fr 120px;gap:15px;align-items:center;padding:13px 17px;border-bottom:1px solid #ecece7;font-size:10px}.system-user-row.directory-only{background:#fbfaf7}.system-user-head{background:#f5f4f0;color:#7d8984;font-size:8px;text-transform:uppercase}.system-user-person{display:flex;align-items:center;gap:10px;min-width:0}.system-user-person>i{width:38px;height:38px;border-radius:10px;background:#e2eee8;color:#27604d;display:grid;place-items:center;font:700 11px DM Sans;font-style:normal}.system-user-person span,.system-user-person b,.system-user-person small{display:block;min-width:0}.system-user-person b{font-size:10px}.system-user-person small{font:500 8px DM Sans;color:#87928e;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.system-user-row select{border:1px solid #d9dedb;border-radius:8px;padding:7px;font-size:9px;background:#fff}.system-user-row select:disabled{color:#7e8985;background:#f3f3ef}.permission-tags{display:flex;flex-wrap:wrap;gap:4px}.permission-tags em{font-style:normal;background:#e9f2ee;color:#326552;border-radius:10px;padding:4px 7px;font-size:8px}.status-switch{display:flex;align-items:center;gap:7px;font-size:8px;color:#63716c}.status-switch input{display:none}.status-switch span{width:28px;height:16px;background:#cfd5d2;border-radius:10px;position:relative}.status-switch span:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s}.status-switch input:checked+span{background:#2c725a}.status-switch input:checked+span:after{transform:translate(12px)}.directory-status{font-size:8px;color:#9a6a20;background:#fff2d7;border-radius:12px;padding:5px 8px;width:max-content}.user-result-limit{text-align:center;padding:14px;color:#7a8782;background:#f8f8f5;font-size:9px}.permission-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;background:#f6f6f2;border-radius:10px;padding:12px}.permission-picker label{display:flex;align-items:center;gap:7px;margin:0;font-size:9px}.permission-picker input{width:auto;margin:0;accent-color:#225f4c}.user-create-modal{width:min(650px,100%)}.page-intro .primary svg{width:16px}@media(max-width:850px){.system-user-row{grid-template-columns:1fr 120px}.system-user-head span:nth-child(3),.system-user-head span:nth-child(4){display:none}.permission-tags{grid-column:1/2}.status-switch{grid-column:2/3;grid-row:2}.user-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.system-user-row{grid-template-columns:1fr}.system-user-row>*{grid-column:1!important;grid-row:auto!important}.system-user-head{display:none}.user-summary{gap:7px}.user-summary>div{padding:11px}.user-summary strong{font-size:19px}}@media(max-width:760px){body{background:#f4f3ee}header{height:74px;padding:0 20px}.header-actions{margin-left:auto}.profile-button{border-left:0;padding-left:0}.profile-button .avatar{width:40px;height:40px;border-radius:12px}.content{padding:20px 20px 120px}.welcome{border-radius:16px;padding:21px 19px;margin:2px 0 18px}.welcome h2{font-size:18px;line-height:1.42;margin-bottom:13px}.welcome p{font-size:12px}.welcome span{font-size:11px}.welcome-time{text-align:left;margin-top:14px}.welcome-time strong{font-size:30px}.stats{grid-template-columns:1fr;gap:10px;margin:0 0 18px}.stat{min-height:72px;padding:15px 14px;border-radius:12px}.stat>div:last-child{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-width:0}.stat strong{font-size:22px}.stat b{font-size:12px;line-height:1.25;margin:0}.stat span{grid-column:1/3;font-size:10px;margin-top:4px}.grid-main{gap:14px}.panel{border-radius:13px;padding:18px}.clock{font-size:39px;margin-top:24px}.location-ok{margin:16px 0}.fab{left:20px;right:20px;bottom:18px;width:calc(100% - 40px);justify-content:center;border-radius:16px;padding:15px 18px;z-index:75;box-shadow:0 14px 35px #93691450}}.location-checking,.location-uncertain{background:#f7f1e4;border-color:#d9bd72;color:#8a6727}.location-ok{background:#e8f4ed;border-color:#b8dcca;color:#27604d}.location-outside,.location-denied{background:#fff1ed;border-color:#efc6bd;color:#a64f40}.line-notice a{margin-left:auto;color:#1f604c;font-weight:700;text-decoration:none}.approval-log{margin-top:12px;border:1px solid #e5e3dc;border-radius:10px;overflow:hidden;background:#fff}.approval-log>b{display:block;background:#f6f5f1;padding:10px 12px;font-size:10px}.approval-log>div{display:grid;grid-template-columns:145px 1fr 1.5fr;gap:10px;padding:9px 12px;border-top:1px solid #eeeeea;align-items:center}.approval-log span,.approval-log small{font-size:9px;color:#7f8b87}.approval-log strong{font-size:10px;color:#214f42}@media(max-width:520px){.line-notice{align-items:flex-start;flex-direction:column}.line-notice a{margin-left:0}.approval-log>div{grid-template-columns:1fr}.approval-log span,.approval-log small{display:block}}.dashboard-intro{margin-bottom:14px}.dashboard-location{display:flex;justify-content:center}.dashboard-location.soft{background:#f7f1e4;color:#8a6727}.dashboard-location.warn{background:#fff1ed;color:#a64f40}.real-note{font-size:10px;color:#7d8b86;line-height:1.6;margin:0 0 15px}.dashboard-empty{min-height:165px;display:grid;place-items:center;text-align:center;color:#7c8a85}.dashboard-empty svg{width:34px;height:34px;color:#3f785f}.dashboard-empty b,.dashboard-empty span{display:block}.dashboard-empty span{font-size:10px;color:#97a19d}.real-approval{width:100%;border:0;background:#fff;text-align:left;color:inherit}.real-approval:hover{background:#faf8f2;border-radius:10px}.primary:disabled,.secondary:disabled,.ghost:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}.work-state{display:inline-flex;margin:4px 0 12px;padding:7px 12px;border-radius:999px;background:#f5f1e8;color:#8a6727;font-size:11px;font-weight:700}.work-state.active{background:#e8f4ed;color:#27604d}.work-state.offline{background:#fff1ed;color:#a64f40}.last-punch{margin:12px 0 0;border:1px solid #eee9df;border-radius:12px;padding:10px 12px;text-align:left;background:#fffdf8}.last-punch b,.last-punch span{display:block}.last-punch b{font-size:10px;color:#6b7772}.last-punch span{font-size:11px;color:#20342e;margin-top:3px}.network-attendance{margin-top:12px;border:1px solid #efe1c4;background:#fff9ed;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.network-attendance.allowed{border-color:#cfe5d9;background:#edf8f2}.network-attendance b,.network-attendance span{display:block}.network-attendance b{font-size:10px;color:#245847}.network-attendance span{font-size:9px;color:#7d8b86;margin-top:3px}.network-attendance .compact{padding:7px 10px;font-size:10px;white-space:nowrap}.gps-permission-card{margin-top:10px;border:1px solid #dfe6e1;background:#fbfcfa;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.gps-permission-card>div{display:flex;align-items:center;gap:9px;min-width:0}.gps-permission-card svg{color:#2f6d58;flex:0 0 auto}.gps-permission-card b,.gps-permission-card small{display:block}.gps-permission-card b{font-size:10px;color:#153a32}.gps-permission-card small{font-size:9px;color:#75837e;line-height:1.45}.gps-permission-card.denied,.gps-permission-card.unavailable,.gps-permission-card.unsupported{border-color:#f0c8bf;background:#fff2ef}.gps-permission-card.denied svg,.gps-permission-card.unavailable svg,.gps-permission-card.unsupported svg{color:#b65b45}.gps-permission-card.checking{border-color:#ead5a7;background:#fff9ed}.gps-permission-card.granted{border-color:#c9e5d6;background:#eef8f2}.gps-help-modal{max-width:560px}.gps-help-body{display:grid;gap:13px}.gps-help-status{display:flex;gap:10px;align-items:center;background:#eef8f2;border:1px solid #cfe5d9;border-radius:13px;padding:12px}.gps-help-status svg{color:#2f6d58}.gps-help-status b,.gps-help-status span{display:block}.gps-help-status b{font-size:13px;color:#153a32}.gps-help-status span{font-size:11px;color:#66756f;margin-top:3px}.gps-help-body ol{margin:0;padding-left:20px;color:#24362f;font-size:12px;line-height:1.75}.gps-help-body p{margin:0;background:#fff7e8;border:1px solid #efd9a9;border-radius:10px;padding:10px;color:#8a6427;font-size:11px;line-height:1.55}.attendance-actions{display:flex;justify-content:flex-end;gap:8px;margin:-8px 0 14px}.attendance-actions.admin-tools{margin-top:-10px}.offsite-attendance-button{width:100%;margin-top:10px;padding:11px;border:1px dashed #b07825;border-radius:9px;background:#fff8e9;color:#8a5b16;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.offsite-attendance-button:disabled{opacity:.5}.offsite-attendance-button svg{width:18px}.offsite-modal{width:min(560px,100%)}.evidence-capture{border:1px dashed #7ba492;border-radius:12px;padding:14px!important;display:flex!important;align-items:center;gap:12px;background:#f2f8f5;cursor:pointer}.evidence-capture>svg{color:#276653}.evidence-capture span{flex:1}.evidence-capture b,.evidence-capture small{display:block}.evidence-capture small{margin-top:3px;color:#788780;font-weight:400}.evidence-capture input{width:auto!important;margin:0!important;max-width:190px}.evidence-preview{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:#eef1ef}.offsite-warning{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px;border-radius:9px;background:#fff5df;color:#805817;font-size:10px}.offsite-warning svg{width:17px}.evidence-link{display:inline-flex!important;align-items:center;gap:4px;margin-top:5px;color:#286b57;font-size:10px;font-weight:700;text-decoration:none}@media(max-width:430px){header{padding:0 16px}.content{padding:18px 20px 124px}.welcome{display:block}.stats{grid-template-columns:1fr}}.hidden-file{display:none}.people-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.people-summary>button,.people-summary>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;color:#263d35}.people-summary>button{cursor:pointer}.people-summary>button.active{border-color:#91b7a8;background:#eef6f2}.people-summary svg{width:23px;color:#39715f}.people-summary span,.people-summary strong{display:block}.people-summary span{font-size:9px;color:#7d8984}.people-summary strong{font:700 24px DM Sans;color:#204e40}.people-panel{padding:0;overflow:hidden}.people-toolbar{padding:14px 16px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.people-tabs{display:flex;gap:5px;background:#f3f3ef;padding:4px;border-radius:9px}.people-tabs button{border:0;background:transparent;padding:7px 12px;border-radius:7px;font-size:9px;color:#6f7c77}.people-tabs button.active{background:#fff;color:#245b49;box-shadow:0 2px 8px #173c2f12;font-weight:700}.people-toolbar .searchbox{width:330px}.applicant-row{display:grid;grid-template-columns:1.55fr 1.2fr 110px 150px 125px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #eeeee9;font-size:9px}.applicant-head{background:#f8f7f3;color:#7c8883;font-size:8px;text-transform:uppercase}.applicant-person{display:flex;align-items:center;gap:10px;min-width:0}.applicant-person>i{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#e2eee8;color:#28624f;display:grid;place-items:center;font:700 10px DM Sans;font-style:normal}.applicant-person span,.applicant-person b,.applicant-person small,.applicant-row>span b,.applicant-row>span small{display:block;min-width:0}.applicant-person b,.applicant-row>span b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.applicant-person small,.applicant-row>span small{font-size:8px;color:#87928e;margin-top:3px}.applicant-row select{width:100%;border:1px solid #d9dedb;border-radius:8px;background:#fff;padding:7px;font-size:9px}.hire-btn{display:flex;align-items:center;gap:5px;border:0;border-radius:8px;background:#1f604c;color:#fff;padding:8px 10px;font-size:8px;font-weight:700}.hire-btn svg{width:14px}.hire-btn:disabled{opacity:.35;cursor:not-allowed}.real-employees{padding:16px}.real-employees .empty{grid-column:1/-1}.employee-directory-tools{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:8px;padding:13px 16px;background:#f8faf7;border-bottom:1px solid var(--line)}.employee-directory-tools select{min-width:0;border:1px solid #d9dedb;border-radius:8px;background:#fff;padding:9px 10px;font-size:9px;color:#42544d}.directory-summary{display:flex;gap:22px;padding:10px 16px;background:#eef5f1;border-bottom:1px solid #dce8e2;font-size:9px;color:#60716a}.directory-summary b{font:700 15px DM Sans;color:#1f5947;margin-right:4px}.directory-summary .warning,.directory-summary .warning b{color:#a75b36}.real-employees .employee>div:nth-child(2) small:first-of-type{color:#2f6a56;font-weight:600;margin-bottom:2px}.employee-button{width:100%;border:1px solid var(--line);background:#fff;text-align:left;color:inherit;cursor:pointer}.employee-button:hover{border-color:#92b9aa;background:#fbfdfc;box-shadow:0 7px 20px #244f4010}.employee-button>svg{width:16px;color:#82908b;margin-left:auto}.employee-detail-modal{width:min(850px,96vw);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.employee-detail-modal .modal-head{position:sticky;top:-22px;z-index:3;background:#fff;padding-top:22px}.employee-detail-modal .modal-actions{position:sticky;bottom:-22px;z-index:3;background:#fff;padding:12px 0 22px;margin-bottom:-22px;border-top:1px solid #eeece7}.employee-detail-hero{display:flex;align-items:center;gap:16px;padding:16px;background:#eff6f2;border-radius:13px;margin:15px 0}.employee-detail-hero .large-avatar{width:72px;height:72px;border-radius:19px;margin:0;font-size:20px}.employee-detail-hero b,.employee-detail-hero span{display:block}.employee-detail-hero b{font-size:15px}.employee-detail-hero span{font-size:9px;color:#778781;margin:4px 0 8px}.employee-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.employee-detail-grid section{border:1px solid #e5e5df;border-radius:12px;padding:14px}.employee-detail-grid h4{font-size:11px;color:#245b49;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #ecece7}.detail-line{display:grid;grid-template-columns:115px 1fr;gap:10px;padding:6px 0}.detail-line span{font-size:8px;color:#84908b}.detail-line b{font-size:9px;font-weight:600;overflow-wrap:anywhere}.employee-photo-button{margin-left:auto!important;display:flex!important;align-items:center;gap:6px;background:#fff;border:1px solid #cddbd5;border-radius:8px;padding:8px 10px;font-size:9px!important;color:#285d4c!important;cursor:pointer}.employee-photo-button svg{width:15px}.employee-photo-button input{display:none}.employee-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;background:#fafaf7;border:1px solid #e8e7e1;border-radius:13px;padding:16px}.employee-edit-grid label{font-size:9px;font-weight:600;color:#596963;margin:0}.employee-edit-grid label.wide{grid-column:span 2}.employee-edit-grid input,.employee-edit-grid select{display:block;width:100%;height:40px;border:1px solid #d8dedb;border-radius:8px;background:#fff;padding:0 10px;margin-top:5px;font:500 10px Anuphan;outline:0}.employee-edit-grid input:focus,.employee-edit-grid select:focus{border-color:#4c806f;box-shadow:0 0 0 3px #4c806f12}.employee-detail-modal .modal-actions svg{width:15px}@media(max-width:900px){.applicant-row{grid-template-columns:1.5fr 1fr 140px}.applicant-head span:nth-child(3),.applicant-head span:nth-child(5),.applicant-row>span:nth-child(3){display:none}.applicant-row>div:last-child{grid-column:3}.people-toolbar .searchbox{width:260px}.employee-directory-tools{grid-template-columns:repeat(2,1fr)}.employee-directory-tools button{grid-column:1/-1}}@media(max-width:600px){.people-summary{grid-template-columns:1fr 1fr}.people-summary>div:last-child{grid-column:1/-1}.people-toolbar{align-items:stretch;flex-direction:column}.people-toolbar .searchbox{width:100%}.employee-directory-tools{grid-template-columns:1fr}.employee-directory-tools button{grid-column:auto}.directory-summary{gap:9px;justify-content:space-between;overflow-x:auto}.directory-summary span{white-space:nowrap}.applicant-row{grid-template-columns:1fr;padding:14px}.applicant-head{display:none}.applicant-row>*{grid-column:1!important}.applicant-row>span:nth-child(3){display:none}.applicant-row>div:last-child{display:flex;justify-content:flex-end}.real-employees,.employee-detail-grid,.employee-edit-grid{grid-template-columns:1fr}.employee-edit-grid label.wide{grid-column:1}.detail-line{grid-template-columns:105px 1fr}.employee-detail-hero{flex-wrap:wrap}.employee-photo-button{margin-left:0!important}.modal-bg:has(.employee-detail-modal){padding:8px;align-items:start}.employee-detail-modal{width:100%;max-height:calc(100dvh - 16px);padding:17px;border-radius:16px}.employee-detail-modal .modal-head{top:-17px;padding-top:17px}.employee-detail-modal .modal-actions{bottom:-17px;padding-bottom:calc(17px + env(safe-area-inset-bottom));margin-bottom:-17px;flex-wrap:wrap}.employee-detail-modal .modal-actions button{flex:1;min-width:90px}}.intro-actions{display:flex;align-items:center;gap:8px}.direct-employee-modal{width:min(760px,96vw);max-height:92vh;overflow:auto}.registration-note{display:flex;align-items:center;gap:8px;margin-top:14px;padding:11px;border-radius:10px;background:#edf6f1;color:#28614f;font-size:11px}.registration-note svg{width:18px;flex:none}@media(max-width:600px){.intro-actions{flex-direction:column;align-items:stretch}.direct-employee-modal{width:100%}}.evaluation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.evaluation-summary>div{background:#fff;border:1px solid #e2e2dc;border-radius:16px;padding:18px;display:flex;flex-direction:column}.evaluation-summary b{font-size:28px;color:#145648}.evaluation-summary span{color:#75817d;font-size:13px}.evaluation-list{overflow:hidden}.evaluation-list-head,.evaluation-list>button{display:grid;grid-template-columns:1.05fr 1.4fr 1fr .5fr .9fr;gap:14px;align-items:center;padding:14px 18px}.evaluation-list-head{font-size:12px;color:#7a837f;background:#f7f7f3}.evaluation-list>button{width:100%;border:0;border-top:1px solid #ecece7;background:#fff;text-align:left}.evaluation-list>button:hover{background:#f7fbf9}.evaluation-list span{display:flex;flex-direction:column}.evaluation-list small{color:#8a938f}.eval-status{font-style:normal;border-radius:99px;padding:6px 10px;text-align:center;background:#f4ecdb;color:#8b651c}.eval-status.approved{background:#e4f3ec;color:#17664f}.evaluation-editor,.evaluation-detail{width:min(1040px,94vw);max-height:92vh;overflow:auto}.eval-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.eval-meta label,.evaluation-editor>label,.evaluation-detail>label{display:flex;flex-direction:column;gap:6px;font-weight:600}.eval-meta input,.eval-meta select,.evaluation-editor textarea,.evaluation-detail textarea{border:1px solid #d8ddd9;border-radius:9px;padding:10px;background:#fff}.evaluation-form-table{border:1px solid #dfe3df;border-radius:12px;overflow:hidden}.evaluation-form-table h4{margin:0;padding:10px 14px;background:#eaf4ef;color:#145648}.eval-row{display:grid;grid-template-columns:minmax(340px,1fr) repeat(5,48px);align-items:center;min-height:42px;border-top:1px solid #eceeea}.eval-row>*{padding:8px;text-align:center}.eval-row>label{text-align:left;font-weight:400}.eval-table-head{background:#f7f7f3;font-weight:700}.eval-row input{width:17px;height:17px;accent-color:#176451}.eval-total{display:flex;justify-content:flex-end;gap:24px;align-items:center;padding:14px;font-size:18px}.eval-total b{font-size:28px;color:#145648}.eval-result{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.eval-result>div{background:#f4f7f5;border-radius:10px;padding:12px;display:flex;flex-direction:column}.eval-read-row{display:flex;justify-content:space-between;padding:9px 14px;border-top:1px solid #eceeea}.eval-read-row b{color:#145648}.eval-comments{margin-top:14px;padding:14px;background:#faf8f2;border-radius:10px}.eval-comments p{margin:5px 0 0}.modal-actions button svg{width:17px}.evaluation-page .empty{padding:50px}.evaluation-page{min-width:0}.evaluation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid #e1e4df;border-radius:13px;background:#f5f5f1}.evaluation-tabs button{min-width:0;border:0;border-radius:9px;padding:10px 12px;background:transparent;color:#71807a;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.evaluation-tabs button svg{width:17px;flex:none}.evaluation-tabs button.active{background:#155447;color:#fff;box-shadow:0 3px 9px #153a3225}.tab-mobile{display:none}.evaluation-results-panel{margin-top:14px}.evaluation-results-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #ecece7}.evaluation-results-head .eyebrow{margin:0}.evaluation-results-head h3{margin:4px 0;font-size:20px}.evaluation-results-head p{margin:0;color:#7b8883;font-size:11px}.evaluation-results-head>strong{flex:none;padding:8px 13px;border-radius:999px;background:#e7f3ed;color:#195b49}.evaluation-results-table{margin-top:10px}.er-row{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:12px;align-items:center;padding:13px 10px;border-bottom:1px solid #ecece7}.er-row>span{display:flex;min-width:0;flex-direction:column}.er-row small{color:#7d8984;margin-top:3px}.er-row em{color:#8a938f;font-style:normal}.er-head{color:#77847f;font-size:10px;background:#f7f7f3}.er-average strong{color:#155447;font-size:17px}@media(max-width:700px){.evaluation-summary{grid-template-columns:1fr}.evaluation-list-head{display:none}.evaluation-list>button{grid-template-columns:1fr auto}.evaluation-list>button>span:nth-child(3){display:none}.evaluation-list>button strong{grid-column:2}.eval-meta{grid-template-columns:1fr}.eval-row{grid-template-columns:minmax(180px,1fr) repeat(5,34px);font-size:12px}.eval-result{grid-template-columns:repeat(2,1fr)}.evaluation-editor,.evaluation-detail{width:96vw}.evaluation-list>button .eval-status{grid-column:1/-1}}@media(max-width:700px){.evaluation-page .page-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.evaluation-page .page-intro h2{font-size:20px;line-height:1.25}.evaluation-page .page-intro p{font-size:11px;line-height:1.45;max-width:none}.evaluation-page .page-intro>.primary{width:auto;min-height:44px;padding:10px 13px;font-size:12px;line-height:1.25}.evaluation-page .page-intro>.primary svg{width:16px}.tab-desktop{display:none}.tab-mobile{display:inline}.evaluation-tabs{gap:3px;padding:4px;border-radius:12px}.evaluation-tabs button{min-height:44px;padding:8px 3px;font-size:11px;line-height:1.2;flex-direction:row;gap:5px;white-space:nowrap}.evaluation-tabs button svg{width:16px}.evaluation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.evaluation-summary>div{min-width:0;border-radius:12px;padding:11px 9px}.evaluation-summary b{font-size:21px}.evaluation-summary span{font-size:9px;line-height:1.35}.evaluation-list{padding:0}.evaluation-list>button{padding:13px;gap:8px}.evaluation-page .empty{min-height:120px;padding:25px 12px}.evaluation-results-panel{padding:16px;margin-top:12px}.evaluation-results-head{align-items:flex-start;padding-bottom:13px}.evaluation-results-head .eyebrow{font-size:8px}.evaluation-results-head h3{font-size:19px;margin:3px 0}.evaluation-results-head p{font-size:11px;line-height:1.45}.evaluation-results-head>strong{padding:7px 10px;font-size:11px}.er-head{display:none}.er-row{grid-template-columns:1fr 82px;gap:10px;padding:14px 2px}.er-row>span:first-child{grid-column:1/-1}.er-row>span:not(:first-child){padding:9px;border-radius:9px;background:#f6f7f4;font-size:11px}.er-row>span:not(:first-child):before{content:"ผู้ประเมิน";font-size:8px;color:#86918d;margin-bottom:3px}.er-row .er-average{grid-column:1/-1;background:#e9f4ef!important}.er-row .er-average:before{content:"คะแนนเฉลี่ย"}.er-row b{font-size:13px}.er-row small{font-size:9px}.er-average strong{font-size:20px}}@media(max-width:360px){.evaluation-page .page-intro{grid-template-columns:1fr}.evaluation-page .page-intro>.primary{width:100%}.evaluation-tabs button{font-size:9px}.evaluation-summary{gap:5px}.evaluation-summary>div{padding:10px 7px}}.evaluation-editor{background:#fbfaf7!important;border-radius:20px!important}.evaluation-document-head{display:grid;grid-template-columns:88px 1fr 245px;align-items:center;margin:0 -22px 20px;padding:20px 26px;background:linear-gradient(135deg,#0f2a52,#1b4b8a);color:#fff}.evaluation-document-head img{width:68px;height:68px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}.evaluation-document-head h2{font-size:22px;margin:0}.evaluation-document-head p{margin:3px 0 0;opacity:.75}.evaluation-document-head aside{display:flex;flex-direction:column;border:1px solid #ffffff52;border-radius:8px;overflow:hidden}.evaluation-document-head aside span{display:flex;justify-content:space-between;padding:5px 8px;font-size:11px;border-bottom:1px solid #ffffff33}.evaluation-document-head aside span:last-child{border:0}.evaluation-form-table .eval-table-head{background:#153a6b;color:#fff}.evaluation-form-table .eval-group h4{display:flex;align-items:center;gap:9px;color:#17263a}.evaluation-form-table .eval-group h4 i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal}.evaluation-form-table .eval-group.g1 h4{background:#dce9fb}.evaluation-form-table .eval-group.g1 h4 i{background:#2f6fd6}.evaluation-form-table .eval-group.g2 h4{background:#dff3e6}.evaluation-form-table .eval-group.g2 h4 i{background:#2f9e5b}.evaluation-form-table .eval-group.g3 h4{background:#fbecd6}.evaluation-form-table .eval-group.g3 h4 i{background:#e08a2c}.evaluation-form-table .eval-group.g4 h4{background:#ebe2fa}.evaluation-form-table .eval-group.g4 h4 i{background:#7a4fc9}.evaluation-form-table .eval-group.g5 h4{background:#dcf1f0}.evaluation-form-table .eval-group.g5 h4 i{background:#1f8e8a}.evaluation-form-table .eval-row>label{display:flex;align-items:center;gap:8px}.evaluation-form-table .eval-row>label small{color:#768091;font-weight:700;min-width:28px}.evaluation-editor .eval-total{background:#153a6b;color:#fff;border-radius:10px;margin:16px 0}.evaluation-editor .eval-total b{background:#fff;padding:4px 16px;border-radius:7px;color:#0f2a52}.button-link{display:inline-flex;align-items:center;gap:6px;border-radius:9px;padding:10px 14px;background:#e7f3ee;color:#145648;text-decoration:none;font-weight:700}.button-link svg{width:17px}@media(max-width:700px){.evaluation-document-head{grid-template-columns:54px 1fr;margin:0 -14px 16px;padding:15px}.evaluation-document-head img{width:45px;height:45px}.evaluation-document-head h2{font-size:16px}.evaluation-document-head p{font-size:10px}.evaluation-document-head aside{grid-column:1/-1;margin-top:10px}.evaluation-form-table .eval-row>label{line-height:1.3}}.evaluation-form-table .score-na{margin-left:auto;border:1px solid #c9d7d1;border-radius:999px;background:#f4f7f5;color:#52635d;padding:4px 9px;font-size:11px;white-space:nowrap}.evaluation-form-table .score-na:hover{background:#e3f1eb;color:#145648}.evaluation-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-bottom:12px;padding:12px 14px;background:#f6f8f6;border:1px solid #e1e6e2;border-radius:12px}.evaluation-selector .eval-meta{display:contents}.evaluation-selector .eval-meta label{min-width:0;gap:4px;font-size:12px}.evaluation-selector .eval-meta input,.evaluation-selector .eval-meta select{width:100%;min-width:0;padding:8px 10px}.evaluation-editor>.eval-meta{margin-bottom:12px}.evaluation-editor>.eval-meta label{font-size:12px}.evaluation-editor>.eval-meta input,.evaluation-editor>.eval-meta select{padding:8px 10px}@media(max-width:700px){.evaluation-selector{grid-template-columns:1fr;padding:10px}.evaluation-selector .eval-meta{display:contents}}.audit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.audit-kpis>div{display:flex;align-items:center;gap:11px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.audit-kpis svg{width:36px;height:36px;flex:none;padding:8px;border-radius:10px;background:#e7f2ed;color:#286650}.audit-kpis span,.audit-kpis small,.audit-kpis strong{display:block}.audit-kpis small{font-size:9px;color:#7d8985}.audit-kpis strong{font:700 23px DM Sans;color:#203d34}.audit-program-panel{margin-bottom:16px}.audit-program-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.audit-program-list section{overflow:hidden;border:1px solid #e2e5df;border-radius:11px}.audit-program-list h4{display:flex;justify-content:space-between;gap:8px;margin:0;padding:10px 12px;background:#edf5f1;color:#205845;font-size:11px}.audit-program-list h4 span{font-size:8px;font-weight:500;color:#71827b}.audit-program-list button{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:9px;width:100%;padding:10px 12px;border:0;border-top:1px solid #eceeea;background:#fff;text-align:left;color:#263d35}.audit-program-list button:hover{background:#f8fbf9}.audit-program-list b,.audit-program-list small{display:block}.audit-program-list b{font-size:10px}.audit-program-list small{margin-top:3px;color:#84908b;font-size:8px}.audit-program-list em{padding:4px 7px;border-radius:999px;background:#fff4dc;color:#855d18;font-size:8px;font-style:normal;white-space:nowrap}.audit-program-list svg{width:15px;color:#35705b}.audit-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.audit-toolbar .searchbox{flex:1}.audit-toolbar select{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;font-size:9px}.audit-list{overflow:hidden}.audit-case-row{display:grid;grid-template-columns:1.4fr 1fr 90px 110px 145px;align-items:center;gap:12px;width:100%;padding:12px;border:0;border-bottom:1px solid #ecece7;background:#fff;text-align:left;color:#263d35}.audit-case-row:not(.audit-case-head):hover{background:#f8faf8}.audit-case-row span,.audit-case-row b,.audit-case-row small{display:block;min-width:0}.audit-case-row b{font-size:10px}.audit-case-row small{margin-top:3px;color:#84908b;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-case-head{background:#f6f6f2;color:#7d8984;font-size:8px}.audit-case-row>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:6px}.audit-case-row>span:last-child svg{width:14px}.audit-risk,.audit-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-style:normal;white-space:nowrap}.audit-risk.low{background:#e9f4ef;color:#286450}.audit-risk.medium,.audit-state.open{background:#fff2d9;color:#885f17}.audit-risk.high{background:#fbe5dc;color:#a55039}.audit-risk.critical{background:#9f3c35;color:#fff}.audit-state.in_progress{background:#e6eef8;color:#365e8e}.audit-state.waiting_review{background:#eee7f7;color:#6f4d91}.audit-state.closed{background:#e5f3eb;color:#24614b}.audit-editor{width:min(850px,96vw)}.audit-form-grid,.audit-followup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}.audit-form-grid label,.audit-followup label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:600;color:#5d6b66}.audit-form-grid .wide,.audit-followup .wide{grid-column:1/-1}.audit-form-grid input,.audit-form-grid select,.audit-form-grid textarea,.audit-followup input,.audit-followup select,.audit-followup textarea{width:100%;border:1px solid #d9dedb;border-radius:9px;background:#fff;padding:9px;font-size:10px}.audit-detail{width:min(850px,96vw)}.audit-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}.audit-detail-summary>div{padding:11px;border-radius:9px;background:#f5f7f5}.audit-detail-summary span,.audit-detail-summary b{display:block}.audit-detail-summary span{font-size:8px;color:#81908a}.audit-detail-summary b{margin-top:4px;font-size:10px}.audit-note{margin:9px 0;padding:12px;border:1px solid #e5e6e1;border-radius:10px}.audit-note.finding{border-color:#efcfbd;background:#fff7f2}.audit-note b{font-size:10px;color:#285e4d}.audit-note p{margin:5px 0 0;font-size:10px;line-height:1.6;white-space:pre-wrap}.audit-followup{margin-top:14px;padding:14px;border-radius:11px;background:#f7f8f5}.audit-history{margin-top:14px}.audit-history>b{font-size:11px}.audit-history>div{display:grid;grid-template-columns:145px 130px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #ecece7}.audit-history span,.audit-history small{font-size:8px;color:#7d8984}.audit-history b{font-size:9px}@media(max-width:800px){.audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-program-list{grid-template-columns:1fr}.audit-case-head{display:none}.audit-case-row:not(.audit-case-head){grid-template-columns:1fr auto;gap:8px 12px;margin:9px 0;padding:14px;border:1px solid #e2e5df;border-radius:12px}.audit-case-row:not(.audit-case-head)>span:nth-child(1),.audit-case-row:not(.audit-case-head)>span:nth-child(2){grid-column:1}.audit-case-row:not(.audit-case-head)>span:nth-child(3),.audit-case-row:not(.audit-case-head)>span:nth-child(4),.audit-case-row:not(.audit-case-head)>span:nth-child(5){grid-column:2;text-align:right;justify-self:end}.audit-toolbar{align-items:stretch;flex-direction:column}.audit-toolbar select{height:44px;font-size:16px}.audit-toolbar .ghost,.audit-editor,.audit-detail{width:100%}.audit-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-history>div{grid-template-columns:1fr}.audit-history span,.audit-history small{font-size:10px}}@media(max-width:520px){.audit-kpis{gap:7px}.audit-kpis>div{padding:11px}.audit-kpis svg{width:31px;height:31px}.audit-kpis small{font-size:8px}.audit-kpis strong{font-size:20px}.audit-form-grid,.audit-followup{grid-template-columns:1fr}.audit-form-grid .wide,.audit-followup .wide{grid-column:1}.audit-case-row:not(.audit-case-head){grid-template-columns:1fr}.audit-case-row:not(.audit-case-head)>span{grid-column:1!important;text-align:left!important;justify-self:stretch!important}.audit-detail-summary{grid-template-columns:1fr 1fr}}button,a,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5ad3f;outline-offset:2px}button{touch-action:manipulation}@media(max-width:760px){.content{min-width:0;padding:18px 16px 112px}.page-intro{align-items:flex-start;gap:12px;margin-bottom:15px}.page-intro h2{font-size:20px;line-height:1.28}.page-intro p{font-size:11px;line-height:1.55}.page-intro>.primary,.page-intro>.ghost{min-height:44px;flex:none}.panel{min-width:0;padding:16px}.panel-title{gap:12px}.panel-title h3{font-size:15px;line-height:1.35}.panel-title p{font-size:10px;line-height:1.45}.primary,.secondary,.ghost,.approve-btn,.reject-action,.hire-btn{min-height:44px;font-size:12px}.icon-btn,.mobile-menu,.modal-head>button{min-width:44px;min-height:44px}input,select,textarea{font-size:16px!important}label{font-size:12px!important}.searchbox{min-height:44px}.searchbox input{font-size:16px!important}.modal-bg{align-items:flex-start;padding:8px;overflow-y:auto}.modal{width:100%;max-width:100%;max-height:calc(100dvh - 16px);overflow-y:auto;border-radius:16px;padding:17px;overscroll-behavior:contain}.modal-head{position:sticky;top:-17px;z-index:8;margin:-2px 0 12px;padding:2px 0 10px;background:#fff;border-bottom:1px solid #ecece7}.modal-head h3{font-size:18px;line-height:1.3}.modal-head p{font-size:10px;line-height:1.4}.modal-actions{position:sticky;bottom:-17px;z-index:8;gap:8px;margin:15px 0 -17px;padding:12px 0 calc(17px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ecece7;flex-wrap:wrap}.modal-actions button,.modal-actions a{min-height:44px;flex:1;justify-content:center}.sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sales-kpis>div{min-width:0;padding:12px}.sales-kpis strong{font-size:18px}.quotation-panel{padding:12px}.quotation-tools{align-items:stretch;flex-direction:column}.quotation-tools .searchbox{width:100%}.filter-tabs{width:100%;overflow-x:auto;justify-content:flex-start}.quote-list{overflow:visible}.quote-head{display:none!important}.quote-row:not(.quote-head){min-width:0!important;grid-template-columns:1fr auto!important;gap:9px 12px;margin:9px 0;padding:14px!important;border:1px solid #e2e5df!important;border-radius:12px;background:#fff;box-shadow:0 3px 12px #183b3010}.quote-row:not(.quote-head)>span{min-width:0}.quote-row:not(.quote-head)>span:nth-child(1),.quote-row:not(.quote-head)>span:nth-child(2){grid-column:1}.quote-row:not(.quote-head)>span:nth-child(3),.quote-row:not(.quote-head)>span:nth-child(4),.quote-row:not(.quote-head)>span:nth-child(5),.quote-row:not(.quote-head)>span:nth-child(6){grid-column:2;text-align:right;justify-self:end}.quote-row b{font-size:12px}.quote-row small{font-size:10px;line-height:1.4}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.balance{min-width:0;padding:11px}.balance .ring{width:42px;height:42px}.balance>div:first-child strong{font-size:18px}.leave-table{overflow:visible!important}.leave-table .th{display:none}.leave-table .tr.leave-row{min-width:0!important;display:grid;grid-template-columns:1fr auto;gap:9px 12px;margin:9px 0;padding:14px;border:1px solid #e1e4df;border-radius:12px;background:#fff}.leave-row .person{grid-column:1/-1}.leave-row>span:nth-child(2),.leave-row>span:nth-child(3),.leave-row>span:nth-child(4){font-size:11px}.leave-row>span:nth-child(3){grid-column:1}.leave-row>span:nth-child(4){grid-column:2;text-align:right}.leave-status{grid-column:1/-1;min-width:0!important;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.leave-review{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.leave-review button{min-height:42px}.payroll-summary,.tax-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.payroll-summary>div,.tax-summary>div{min-width:0;padding:11px}.payroll-summary span,.tax-summary span{font-size:9px;line-height:1.35}.payroll-summary strong,.tax-summary strong{font-size:16px;overflow-wrap:anywhere}.run-list>button{min-height:58px;padding:12px}.financial-table{overflow-x:auto;scroll-snap-type:x proximity;border-radius:10px}.financial-row{scroll-snap-align:start}.financial-table:before{content:"เลื่อนตารางซ้าย–ขวาเพื่อกรอกข้อมูลเงินเดือน";display:block;position:sticky;left:0;padding:8px 10px;background:#fff8e8;color:#805d1d;font-size:10px}.tax-form{grid-template-columns:1fr!important}.tax-form button{width:100%}.tax-row{grid-template-columns:1fr auto!important;gap:7px 10px;padding:13px 0}.tax-row>div{grid-column:1/-1}.tax-row>span:nth-child(3){grid-column:1!important}.tax-row>strong{grid-column:2!important;text-align:right}.purchase-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.purchase-kpis>div{min-width:0;padding:12px}.purchase-kpis strong{font-size:18px;overflow-wrap:anywhere}.purchase-toolbar{flex-direction:column}.purchase-toolbar .ghost{width:100%}.purchase-list{overflow:visible}.purchase-head{display:none!important}.purchase-row:not(.purchase-head){min-width:0!important;grid-template-columns:1fr auto!important;gap:8px 12px;margin:9px 0;padding:14px!important;border:1px solid #e1e4df!important;border-radius:12px;background:#fff}.purchase-row:not(.purchase-head)>span:nth-child(1),.purchase-row:not(.purchase-head)>span:nth-child(2){grid-column:1}.purchase-row:not(.purchase-head)>span:nth-child(3),.purchase-row:not(.purchase-head)>span:nth-child(4),.purchase-row:not(.purchase-head)>span:nth-child(5){grid-column:2;text-align:right;justify-self:end}.purchase-row b{font-size:12px}.purchase-row small{font-size:10px;line-height:1.4}.purchase-item input{font-size:16px!important}.purchase-detail-items>div{min-height:55px}.purchase-detail-items b,.purchase-detail-items strong{font-size:11px}.purchase-log>div{font-size:10px;line-height:1.45}.people-summary,.user-summary{gap:7px}.people-summary>button,.people-summary>div,.user-summary>div{min-width:0;padding:11px}.people-summary strong,.user-summary strong{font-size:20px}.people-tabs{width:100%;overflow-x:auto}.people-tabs button{min-height:42px;font-size:11px;white-space:nowrap}.applicant-row{font-size:11px}.applicant-person b,.applicant-row>span b{font-size:12px}.applicant-person small,.applicant-row>span small{font-size:10px}.system-user-row{font-size:11px}.system-user-person b{font-size:12px}.system-user-person small,.permission-tags em{font-size:10px}.permission-picker{grid-template-columns:1fr}.permission-picker label{min-height:42px;font-size:12px!important}.company-profile-grid input,.company-profile-grid textarea,.license-install textarea{min-height:44px}.license-panel,.security-operations{padding:15px}.license-data{gap:7px}.license-data span{min-width:0;padding:9px}.license-data b{overflow-wrap:anywhere}.audit-row b{font-size:11px}.audit-row small,.audit-meta span{font-size:10px;line-height:1.4}}@media(max-width:520px){.page-intro:not(.evaluation-page .page-intro){display:flex;flex-direction:column}.page-intro:not(.evaluation-page .page-intro)>button{width:100%;justify-content:center}.panel-title{align-items:flex-start;flex-direction:column}.panel-title>button{width:100%;justify-content:center}.sales-kpis>div.line-kpi{grid-column:1/-1}.balance-grid{grid-template-columns:1fr}.balance{display:grid;grid-template-columns:1fr auto;align-items:center}.balance .progress,.balance>small{grid-column:1/-1}.purchase-row:not(.purchase-head),.quote-row:not(.quote-head){grid-template-columns:1fr!important}.purchase-row:not(.purchase-head)>span,.quote-row:not(.quote-head)>span{grid-column:1!important;text-align:left!important;justify-self:stretch!important}.purchase-row:not(.purchase-head)>span:last-child{justify-content:space-between}.payroll-summary,.tax-summary{grid-template-columns:1fr}.tax-summary>div,.payroll-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.tax-summary strong,.payroll-summary strong{font-size:18px;text-align:right}.purchase-detail-meta{grid-template-columns:1fr}}.audit-modal-bg{padding:24px}.audit-editor{width:min(1000px,96vw);max-height:calc(100dvh - 48px);padding:0;overflow-y:auto;overscroll-behavior:contain;background:#f7f8f5}.audit-editor-head{position:sticky;top:0;z-index:12;margin:0;padding:22px 26px 17px;background:#fff;border-bottom:1px solid #e4e7e2}.audit-editor-head h3{margin:4px 0;font-size:21px}.audit-editor-head p{margin:0;color:#75827d;font-size:11px}.audit-editor-head>button{width:40px;height:40px;border-radius:10px}.audit-editor-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 24px 13px;border:1px solid #dfe5e1;border-radius:12px;overflow:hidden;background:#fff}.audit-editor-progress span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-right:1px solid #e4e7e3;color:#72817b;font-size:10px;font-weight:700}.audit-editor-progress span:last-child{border:0}.audit-editor-progress span.active{background:#e8f3ee;color:#1f604c}.audit-editor-progress i{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eef1ef;color:#66756f;font-style:normal}.audit-editor-progress .active i{background:#1f604c;color:#fff}.audit-form-section{margin:0 24px 14px;padding:0;border:1px solid #e0e4df;border-radius:14px;background:#fff;overflow:hidden}.audit-form-section>header{display:flex;align-items:center;gap:11px;padding:13px 17px;border-bottom:1px solid #e7e9e5;background:#fbfcfa}.audit-form-section>header>span{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:#1f604c;color:#fff;font:700 10px DM Sans}.audit-form-section h4{margin:0;color:#203a31;font-size:13px}.audit-form-section header p{margin:2px 0 0;color:#7d8a85;font-size:9px}.audit-form-section .audit-form-grid{padding:16px 17px;gap:14px 17px}.audit-form-section label{gap:7px;color:#485b54;font-size:10px;font-weight:700}.audit-form-section label>em{display:inline;color:#b65443;font-style:normal}.audit-form-section input,.audit-form-section select{height:43px;padding:0 12px;border-color:#d5ddd8;font-size:11px}.audit-form-section textarea{min-height:86px;padding:11px 12px;border-color:#d5ddd8;font-size:11px;line-height:1.55;resize:vertical}.audit-form-section input:focus,.audit-form-section select:focus,.audit-form-section textarea:focus{outline:0;border-color:#39745f;box-shadow:0 0 0 3px #39745f18}.audit-editor-actions{position:sticky;bottom:0;z-index:12;display:flex;align-items:center;margin:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #dfe4df;background:#fff;box-shadow:0 -10px 25px #233a3210}.audit-editor-actions>span{display:flex;align-items:center;gap:7px;margin-right:auto;color:#718079;font-size:9px}.audit-editor-actions>span svg{width:16px;color:#2e6b56}.audit-editor-actions button{min-width:120px;min-height:42px}@media(max-width:760px){.audit-modal-bg{padding:0}.audit-editor{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0}.audit-editor-head{top:0;padding:17px 16px 13px}.audit-editor-head h3{font-size:19px}.audit-editor-progress{margin:12px 12px 10px}.audit-editor-progress span{min-height:43px;font-size:9px;gap:5px}.audit-editor-progress i{width:21px;height:21px}.audit-form-section{margin:0 12px 11px}.audit-form-section>header{padding:12px}.audit-form-section .audit-form-grid{grid-template-columns:1fr;padding:13px;gap:12px}.audit-form-section .audit-form-grid .wide{grid-column:1}.audit-form-section label{font-size:12px!important}.audit-form-section input,.audit-form-section select{height:46px;font-size:16px!important}.audit-form-section textarea{font-size:16px!important}.audit-editor-actions{bottom:0;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:7px}.audit-editor-actions>span{display:none}.audit-editor-actions button{min-width:0;min-height:46px}.audit-editor-actions .ghost{flex:.7}.audit-editor-actions .primary{flex:1.3}}@media(max-width:390px){.audit-editor-progress span{font-size:0}.audit-editor-progress span i{font-size:10px}.audit-form-section>header>span{width:29px;height:29px}.audit-form-section h4{font-size:12px}}.audit-subnav{display:flex;gap:7px;padding:5px;margin-bottom:16px;border:1px solid var(--line);border-radius:13px;background:#fff;width:max-content;max-width:100%}.audit-subnav button{display:flex;align-items:center;gap:7px;padding:10px 16px;border:0;border-radius:9px;background:transparent;color:#68766f;font-size:10px;font-weight:700;cursor:pointer}.audit-subnav button svg{width:16px;height:16px}.audit-subnav button.active{background:var(--green);color:#fff;box-shadow:0 4px 12px #174c3c25}.audit-deposit-page .deposit-manager{margin-bottom:0}.deposit-manager{display:grid;gap:16px;margin-bottom:20px}.deposit-actions{display:flex;gap:8px;align-items:center}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.button-link svg{width:15px}.deposit-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;margin-bottom:14px;border:1px solid #b9decf;border-radius:12px;background:#eff9f4;color:#175943}.deposit-result svg{width:22px}.deposit-result b,.deposit-result span{display:block}.deposit-result span{margin-top:2px;font-size:9px;color:#607a70}.deposit-result strong{font-size:11px}.deposit-filters{display:grid;grid-template-columns:1.2fr repeat(2,1fr) repeat(2,135px) 1.5fr auto auto;gap:8px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.deposit-filters input,.deposit-filters select{min-width:0;height:38px;padding:0 10px;border:1px solid #d8ded9;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}.deposit-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.deposit-kpis>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f7f8f5}.deposit-kpis small,.deposit-kpis strong{display:block}.deposit-kpis small{font-size:9px;color:#718078}.deposit-kpis strong{margin-top:5px;font-size:18px}.deposit-import-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr) auto;align-items:center;gap:12px;padding:12px 3px;border-bottom:1px solid var(--line)}.deposit-import-list b,.deposit-import-list small{display:block}.deposit-import-list b{font-size:10px}.deposit-import-list small{margin-top:3px;font-size:8px;color:#75827d}.deposit-table{overflow-x:auto}.deposit-row{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(145px,.9fr) minmax(260px,1.65fr) minmax(115px,.75fr) 105px 105px 145px;align-items:center;gap:12px;min-width:1250px;padding:12px 11px;border-bottom:1px solid var(--line);font-size:9px}.deposit-row>span{min-width:0}.deposit-row b,.deposit-row small{display:block}.deposit-row b{line-height:1.4}.deposit-row small{margin-top:3px;color:#74817c;line-height:1.4}.deposit-row strong{text-align:right}.deposit-description b{font-weight:650}.deposit-status{display:flex;align-items:center;justify-content:flex-end;gap:5px}.deposit-mobile-label{display:none!important}.deposit-head{background:#f5f6f3;color:#718078;font-size:8px}.deposit-head span:nth-child(5),.deposit-head span:nth-child(6){text-align:right}.deposit-head span:last-child{text-align:center}.deposit-collapsible{padding:0;overflow:hidden}.deposit-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.deposit-collapsible>summary::-webkit-details-marker{display:none}.deposit-collapsible>summary span,.deposit-collapsible>summary b,.deposit-collapsible>summary small{display:block}.deposit-collapsible>summary b{font-size:13px;color:var(--ink)}.deposit-collapsible>summary small{margin-top:4px;font-size:9px;color:#78847e}.deposit-collapsible>summary>em{padding:7px 12px;border-radius:999px;background:#edf5f1;color:var(--green);font-size:9px;font-style:normal;font-weight:800}.deposit-collapsible[open]>summary{border-bottom:1px solid var(--line)}.deposit-collapsible[open]>summary>em:before{content:"ซ่อน"}.deposit-collapsible[open]>summary>em{font-size:0}.deposit-collapsible[open]>summary>em:before{font-size:9px}.deposit-collapsible-body{padding:18px 20px}.deposit-dashboard{margin-top:14px;padding:16px;border:1px solid #d7e2dc;border-radius:14px;background:linear-gradient(145deg,#fbfdfc,#f4f8f5)}.deposit-dashboard-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.deposit-dashboard-title h3{margin:2px 0 0;font-size:16px}.deposit-dashboard-title>small{font-size:9px;color:#718078}.deposit-charts{display:grid;grid-template-columns:.8fr 1.35fr 1fr;gap:10px;margin-top:10px}.deposit-chart-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.deposit-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.deposit-chart-head b,.deposit-chart-head small{display:block}.deposit-chart-head b{font-size:11px}.deposit-chart-head small{margin-top:3px;font-size:8px;color:#7b8781}.deposit-chart-head>strong{font-size:20px;color:var(--green)}.deposit-donut-wrap{display:flex;align-items:center;justify-content:center;gap:18px;min-height:150px}.deposit-donut{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:conic-gradient(#2f8068 0 var(--paid),#e6a66c var(--paid) 360deg);position:relative}.deposit-donut:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;background:#fff}.deposit-donut>span{position:relative;z-index:1;text-align:center}.deposit-donut b,.deposit-donut small{display:block}.deposit-donut b{font-size:19px}.deposit-donut small{font-size:8px;color:#718078}.deposit-legend{display:grid;gap:10px}.deposit-legend span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;font-size:9px}.deposit-legend i{width:9px;height:9px;border-radius:50%}.deposit-legend i.paid{background:#2f8068}.deposit-legend i.pending{background:#e6a66c}.company-bars{display:grid;gap:9px;margin-top:14px}.company-bars>div{display:grid;grid-template-columns:minmax(100px,1fr) 1.4fr 95px;align-items:center;gap:9px}.company-bars span b,.company-bars span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-bars span b{font-size:8px}.company-bars span small{font-size:7px;color:#87918c}.company-bars>div>div{height:7px;border-radius:99px;background:#edf1ee;overflow:hidden}.company-bars>div>div i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2f8068,#75b49f)}.company-bars>div>strong{text-align:right;font-size:8px}.change-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.change-metrics>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:11px;border-radius:9px;background:#f6f8f6}.change-metrics i{width:9px;height:30px;border-radius:5px}.change-metrics i.new{background:#4e89c7}.change-metrics i.updated{background:#d9a23a}.change-metrics i.cleared{background:#36a076}.change-metrics i.same{background:#a8b1ac}.change-metrics span{font-size:8px;color:#68766f}.change-metrics b{font-size:16px}.deposit-filter-panel{margin:14px 0 12px;padding:14px;border:1px solid #d7dfda;border-radius:13px;background:#f8faf8}.deposit-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.deposit-filter-heading span b,.deposit-filter-heading span small{display:block}.deposit-filter-heading span b{font-size:12px}.deposit-filter-heading span small{margin-top:3px;font-size:8px;color:#78847e}.deposit-filter-heading>em{padding:6px 10px;border-radius:999px;background:#e2f1ea;color:#17604a;font-size:8px;font-style:normal;font-weight:800}.deposit-filter-panel .deposit-filters{display:grid;grid-template-columns:1.35fr .8fr 1fr 1.7fr 1.45fr auto;align-items:end;gap:10px;margin:0;padding:0;border:0;background:transparent}.deposit-filters label{display:grid;gap:5px;min-width:0}.deposit-filters label>span{font-size:8px;font-weight:750;color:#57665f}.deposit-filter-panel .deposit-filters input,.deposit-filter-panel .deposit-filters select{width:100%;height:40px;border-color:#d3dcd6;background:#fff;font-size:10px}.filter-date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;min-width:0}.filter-date-range>i{padding-bottom:12px;color:#89948e;font-size:8px;font-style:normal}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filter-actions button{height:40px;white-space:nowrap}.deposit-filter-mobile-toggle,.deposit-filter-backdrop,.deposit-filter-close{display:none}@media(max-width:1250px){.deposit-filter-panel .deposit-filters{grid-template-columns:repeat(3,1fr)}.filter-date-range{grid-column:span 2}.filter-actions{align-self:end}.deposit-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.deposit-charts{grid-template-columns:1fr 1fr}.latest-import-chart{grid-column:1/-1}}@media(max-width:760px){.audit-subnav{display:grid;grid-template-columns:1fr 1fr;width:100%}.audit-subnav button{justify-content:center;padding:10px 8px;text-align:center}.deposit-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.deposit-actions>*{width:100%}.deposit-import-panel .panel-title{align-items:stretch}.deposit-result{grid-template-columns:auto 1fr}.deposit-result strong{grid-column:1/-1;padding-top:8px;border-top:1px solid #cfe4db}.deposit-filter-heading{align-items:flex-start}.deposit-filter-heading>em{max-width:105px;text-align:center}.deposit-filter-panel .deposit-filters{grid-template-columns:1fr 1fr}.deposit-filter-panel .filter-company,.deposit-filter-panel .filter-search,.deposit-filter-panel .filter-date-range,.deposit-filter-panel .filter-actions{grid-column:1/-1}.deposit-kpis{grid-template-columns:1fr}.deposit-kpis>div{display:flex;align-items:center;justify-content:space-between}.deposit-charts{grid-template-columns:1fr}.latest-import-chart{grid-column:auto}.deposit-dashboard-title{align-items:flex-start}.deposit-dashboard-title>small{max-width:120px;text-align:right}.company-bars>div{grid-template-columns:1fr 1fr 80px}.deposit-import-list>div{grid-template-columns:1fr auto}.deposit-import-list>div>span:nth-child(2){grid-column:1/-1}.deposit-table-panel{padding-left:12px;padding-right:12px}}@media(max-width:760px){.audit-deposit-page .page-intro{margin-bottom:14px}.audit-deposit-page .page-intro h2{font-size:22px;line-height:1.2}.audit-deposit-page .page-intro p{max-width:none;font-size:12px;line-height:1.55}.audit-deposit-page .audit-subnav{margin-bottom:14px;padding:4px;border-radius:12px}.audit-deposit-page .audit-subnav button{min-height:44px;font-size:11px;line-height:1.25}.audit-deposit-page .deposit-manager{gap:12px}.deposit-import-panel{padding:15px;border-radius:15px}.deposit-import-panel .panel-title{gap:14px;margin-bottom:0}.deposit-import-panel .panel-title .eyebrow{margin-top:0;font-size:9px;letter-spacing:1.25px}.deposit-import-panel .panel-title h3{margin:4px 0 3px;font-size:19px;line-height:1.25}.deposit-import-panel .panel-title p{font-size:11px;line-height:1.5}.deposit-actions{gap:8px}.deposit-actions .compact{min-width:0;min-height:46px;padding:10px 8px;font-size:11px;line-height:1.25;white-space:normal}.deposit-actions svg{width:18px;flex:0 0 18px}.deposit-filter-mobile-toggle{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;min-height:62px;margin:14px 0 12px;padding:10px 12px;border:1px solid #cbdcd4;border-radius:13px;background:#f2f8f5;color:#174f40;text-align:left}.deposit-filter-mobile-toggle>svg{width:19px;height:19px;margin:auto}.deposit-filter-mobile-toggle span,.deposit-filter-mobile-toggle b,.deposit-filter-mobile-toggle small{display:block;min-width:0}.deposit-filter-mobile-toggle b{font-size:13px;line-height:1.3}.deposit-filter-mobile-toggle small{margin-top:3px;color:#718079;font-size:9px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deposit-filter-mobile-toggle em{min-width:40px;padding:6px 9px;border-radius:999px;background:#1d5b49;color:#fff;font-size:9px;font-style:normal;font-weight:750;text-align:center}.deposit-filter-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:69;border:0;background:#10241e99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.deposit-filter-panel{display:none;position:fixed;z-index:70;left:8px;right:8px;bottom:8px;max-height:min(88dvh,760px);margin:0;padding:0 14px calc(12px + env(safe-area-inset-bottom));overflow-y:auto;border:1px solid #d5dfda;border-radius:18px;background:#f8faf8;box-shadow:0 -16px 50px #10251e3d;overscroll-behavior:contain}.deposit-filter-panel.mobile-open{display:block;animation:deposit-filter-rise .2s ease-out}@keyframes deposit-filter-rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.deposit-filter-heading{display:flex;position:sticky;top:0;z-index:2;align-items:center;margin:0 -14px 12px;padding:15px 14px 12px;border-bottom:1px solid #e0e5e1;background:#f8faf8;border-radius:18px 18px 0 0}.deposit-filter-heading span b{font-size:14px;line-height:1.3}.deposit-filter-heading span small{font-size:10px;line-height:1.45}.deposit-filter-heading>em{display:none}.deposit-filter-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin-left:auto;border:0;border-radius:10px;background:#e9eeeb;color:#1c4237}.deposit-filter-close svg{width:20px}.deposit-filter-panel .deposit-filters{display:grid;grid-template-columns:1fr;gap:11px}.deposit-filter-panel .deposit-filters>label,.deposit-filter-panel .filter-company,.deposit-filter-panel .filter-search,.deposit-filter-panel .filter-date-range,.deposit-filter-panel .filter-actions{grid-column:1;width:100%}.deposit-filters label{gap:6px}.deposit-filters label>span{font-size:10px;line-height:1.3}.deposit-filter-panel .deposit-filters input,.deposit-filter-panel .deposit-filters select{height:46px;padding:0 12px;border-radius:9px;font-size:16px}.filter-date-range{grid-template-columns:1fr;gap:9px}.filter-date-range>i{display:none}.filter-actions{position:sticky;bottom:-1px;z-index:2;grid-template-columns:1.35fr 1fr;gap:8px;margin:2px -4px -2px;padding:10px 4px 2px;background:linear-gradient(#f8faf800,#f8faf8 18%,#f8faf8)}.filter-actions button{min-height:48px;height:auto;padding:10px 8px;font-size:12px}.deposit-dashboard{margin-top:12px;padding:13px;border-radius:14px}.deposit-dashboard-title{display:block;margin-bottom:12px}.deposit-dashboard-title .eyebrow{margin-top:0;font-size:9px}.deposit-dashboard-title h3{font-size:18px;line-height:1.3}.deposit-dashboard-title>small{display:block;max-width:none;margin-top:4px;text-align:left;font-size:10px;line-height:1.4}.deposit-kpis{grid-template-columns:1fr 1fr;gap:8px}.deposit-kpis>div{display:block;min-width:0;min-height:78px;padding:12px;border-radius:11px}.deposit-kpis>div:last-child{grid-column:1/-1;min-height:auto}.deposit-kpis small{font-size:9px;line-height:1.35}.deposit-kpis strong{margin-top:7px;font-size:20px;line-height:1.1;overflow-wrap:anywhere}.deposit-charts{gap:10px;margin-top:10px}.deposit-chart-card{padding:13px;border-radius:11px}.deposit-chart-head b{font-size:12px;line-height:1.35}.deposit-chart-head small{font-size:9px;line-height:1.4}.deposit-chart-head>strong{font-size:19px}.deposit-donut-wrap{gap:20px;min-height:140px}.company-bars>div{grid-template-columns:minmax(90px,1fr) minmax(55px,.8fr) 82px;gap:7px}.company-bars span b{font-size:9px}.company-bars span small,.company-bars>div>strong{font-size:8px}.change-metrics{gap:7px;margin-top:12px}.change-metrics>div{padding:10px 8px}.change-metrics span{font-size:9px}.change-metrics b{font-size:15px}.deposit-collapsible{border-radius:13px}.deposit-collapsible summary{min-height:60px;padding:13px}.deposit-collapsible summary b{font-size:13px}.deposit-collapsible summary small{font-size:9px;line-height:1.4}.deposit-table-panel{padding:12px!important}.deposit-table-panel .panel-title{margin-bottom:10px}.deposit-table{display:grid;gap:10px;overflow:visible}.deposit-head{display:none}.deposit-row:not(.deposit-head){display:grid;grid-template-columns:1fr 1fr;gap:0 12px;min-width:0;padding:14px;border:1px solid #e0e4e0;border-radius:12px;background:#fff;box-shadow:0 3px 12px #173e3210;font-size:11px}.deposit-row:not(.deposit-head)>span{padding:10px 0;border-bottom:1px solid #edf0ed}.deposit-row:not(.deposit-head) .deposit-company,.deposit-row:not(.deposit-head) .deposit-description{grid-column:1/-1}.deposit-row:not(.deposit-head) .deposit-company{padding-top:0}.deposit-row:not(.deposit-head) .deposit-description b{font-size:12px;color:#173f35}.deposit-row:not(.deposit-head) .deposit-amount,.deposit-row:not(.deposit-head) .deposit-balance{border-bottom:0}.deposit-row:not(.deposit-head) .deposit-status{grid-column:1/-1;justify-content:flex-start;gap:7px;padding:11px 0 0;border-top:1px solid #edf0ed;border-bottom:0}.deposit-mobile-label{display:block!important;margin:0 0 5px!important;color:#89948f!important;font-size:8px!important;font-weight:700;text-transform:uppercase;letter-spacing:.25px}.deposit-row .deposit-amount strong,.deposit-row .deposit-balance strong{display:block;text-align:left;font-size:13px}.deposit-row .deposit-status .deposit-mobile-label{margin-right:auto!important;margin-bottom:0!important}}@media(max-width:380px){.deposit-actions,.filter-actions{grid-template-columns:1fr}.deposit-kpis{grid-template-columns:1fr 1fr}.deposit-donut-wrap{gap:12px}.deposit-donut{width:102px;height:102px}.company-bars>div{grid-template-columns:1fr 70px}.company-bars>div>div{display:none}}.attendance-report-panel{margin-top:18px}.attendance-report-panel .button-link{text-decoration:none}.attendance-report-filter{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) 1.4fr auto auto;gap:10px;align-items:end;margin:12px 0 16px}.attendance-report-filter label{display:grid;gap:6px;font-size:10px;font-weight:700;color:#52615c}.attendance-report-filter input,.attendance-report-filter select{height:41px;border:1px solid #d9ded9;border-radius:9px;background:#fff;padding:0 10px;color:#173f35}.attendance-report-search{min-width:220px}.attendance-report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.attendance-report-stats .stat{margin:0}.attendance-report-table{overflow-x:auto;border:1px solid #ecece6;border-radius:12px;background:#fff}.attendance-report-row{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.6fr .8fr 130px;gap:12px;align-items:center;min-width:1060px;padding:12px 14px;border-bottom:1px solid #eeeeea;font-size:11px}.attendance-time-in>b{color:#23755e}.attendance-time-out>b{color:#b66a2f}.attendance-row-action{display:inline-grid!important;grid-template-columns:auto auto;gap:4px;margin:0 4px 4px 0}.attendance-row-action small{grid-column:1/-1;margin:0;text-align:center}.summary-date{display:grid;gap:5px;font-size:10px;color:#687670}.summary-date input{min-width:160px}.attendance-summary-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}.attendance-summary-stats>div{padding:13px;border:1px solid #e2e7e3;border-radius:12px;background:#f8faf8}.attendance-summary-stats span{display:block;font-size:10px;color:#6d7d76}.attendance-summary-stats b{display:block;margin-top:4px;font-size:23px;color:#173f35}.attendance-summary-stats .ok{background:#eef8f3}.attendance-summary-stats .warn{background:#fff7e9}.attendance-summary-stats .danger{background:#fff0ed}.attendance-summary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.attendance-summary-actions>span{font-size:10px;color:#6f7c77}.attendance-summary-table{overflow:auto;border:1px solid #e1e6e2;border-radius:12px}.attendance-summary-row{display:grid;grid-template-columns:1.4fr 1.1fr .65fr .65fr .8fr;gap:10px;align-items:center;min-width:850px;padding:10px 13px;border-bottom:1px solid #edf0ed;font-size:11px}.attendance-summary-row.head{background:#f1f3ef;font-weight:700;color:#53635d}.attendance-summary-row:last-child{border-bottom:0}.attendance-summary-row small{display:block;margin-top:3px;color:#82908a;font-size:9px}.attendance-summary-row.no_scan,.attendance-summary-row.missing_in,.attendance-summary-row.missing_out{background:#fffaf5}@media(max-width:900px){.attendance-summary-stats{grid-template-columns:repeat(2,1fr)}}.attendance-correction-list{display:grid;gap:9px}.attendance-correction-list article{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:14px;align-items:center;padding:13px;border:1px solid #e1e6e2;border-radius:12px}.attendance-correction-list article b,.attendance-correction-list article span,.attendance-correction-list article small{display:block}.attendance-correction-list article span{margin-top:4px;font-size:10px;color:#62716b}.attendance-correction-list article small{margin-top:4px;color:#87928e}.correction-times{display:flex;gap:12px}.correction-times span{padding:6px 9px;border-radius:8px;background:#f3f5f2}.correction-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.attendance-correction-form{max-width:560px}.attendance-correction-form textarea{min-height:90px}@media(max-width:760px){.attendance-correction-list article{grid-template-columns:1fr}.correction-actions{justify-content:flex-start}}.attendance-report-actions{display:flex;gap:4px}.attendance-report-actions button{padding:6px}.attendance-report-actions svg{width:13px;display:block}.attendance-report-row:last-child{border-bottom:0}.attendance-report-head{background:#f5f5f1;color:#71817b;font-size:9px;font-weight:800;text-transform:uppercase}.attendance-report-row b,.attendance-report-row small{display:block}.attendance-report-row small{margin-top:3px;color:#7f8c87;font-size:9px;line-height:1.45}.attendance-report-row .pill{width:max-content;margin-bottom:3px}@media(max-width:760px){.attendance-report-panel{margin-top:14px;padding:14px}.attendance-report-panel .panel-title{display:grid;gap:10px}.attendance-report-panel .panel-title .button-link{width:100%;min-height:44px}.attendance-report-filter{grid-template-columns:1fr 1fr;gap:9px}.attendance-report-search{grid-column:1/-1;min-width:0}.attendance-report-filter button{min-height:44px}.attendance-report-stats{grid-template-columns:1fr 1fr;gap:9px}.attendance-report-stats .stat{padding:12px}.attendance-report-table{display:grid;gap:10px;overflow:visible;border:0;background:transparent}.attendance-report-head{display:none}.attendance-report-row{display:grid;grid-template-columns:1fr;min-width:0;gap:7px;padding:13px;border:1px solid #e1e5e1;border-radius:12px;background:#fff;box-shadow:0 3px 12px #173e3210}.attendance-report-row span{min-width:0}}@media(max-width:420px){.attendance-report-filter,.attendance-report-stats{grid-template-columns:1fr}.gps-permission-card{display:grid;grid-template-columns:1fr;align-items:stretch}.gps-permission-card .compact{width:100%;min-height:42px}.gps-help-modal{padding:18px}.gps-help-body ol{font-size:11px;line-height:1.65}}.executive-leave{margin:20px 0;border:1px solid #dce3dd;border-radius:20px;overflow:hidden;background:#f7f6f1;box-shadow:0 14px 38px #173e3214}.executive-leave-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;color:#fff;background:radial-gradient(circle at 88% 18%,#d7aa4740 0 14%,transparent 15%),linear-gradient(125deg,#123f35,#1d5548 68%,#294a40)}.executive-leave-head>div>span{display:block;margin-bottom:6px;color:#e4bb62;font-size:9px;font-weight:900;letter-spacing:1.8px}.executive-leave-head h3{margin:0;font-family:"Noto Serif Thai",serif;font-size:23px;line-height:1.25}.executive-leave-head p{margin:5px 0 0;color:#d8e5df;font-size:10px}.executive-leave-head button{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #efd48d;border-radius:10px;color:#173f35;background:#f3d98f;font-weight:900;white-space:nowrap;cursor:pointer}.executive-leave-head button svg{width:16px}.executive-leave-filters{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr)) 1.35fr auto;gap:10px;align-items:end;padding:18px 20px;background:#fff;border-bottom:1px solid #e4e7e1}.executive-leave-filters label{display:grid;gap:6px;color:#52645e;font-size:9px;font-weight:800}.executive-leave-filters input,.executive-leave-filters select{width:100%;height:40px;border:1px solid #d7ddd8;border-radius:9px;padding:0 10px;color:#173f35;background:#fbfcfa;font:inherit;font-size:10px}.executive-leave-filters>div{display:flex;gap:7px}.executive-leave-filters>div button{height:40px;white-space:nowrap}.executive-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 20px 0}.executive-kpis article{position:relative;overflow:hidden;padding:17px 18px;border:1px solid #e1e4dd;border-radius:14px;background:#fff}.executive-kpis article:after{content:"";position:absolute;right:-18px;bottom:-28px;width:78px;height:78px;border-radius:50%;background:#d9b45918}.executive-kpis span,.executive-kpis small{display:block;color:#77837f;font-size:9px}.executive-kpis strong{display:block;margin:5px 0 3px;color:#123f35;font:700 28px/1 "Noto Serif Thai",serif}.executive-visuals{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:14px;padding:14px 20px}.executive-week-chart,.executive-departments,.executive-types{border:1px solid #e1e4dd;border-radius:15px;background:#fff}.executive-week-chart,.executive-departments{padding:18px}.executive-card-title{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:15px}.executive-card-title h4{margin:0;color:#173f35;font-size:13px}.executive-card-title p{margin:3px 0 0;color:#7e8a85;font-size:9px}.executive-card-title>em{padding:5px 9px;border-radius:20px;color:#7b6021;background:#f7edcf;font-size:8px;font-style:normal;font-weight:800}.week-bars{display:flex;align-items:stretch;gap:7px;height:230px;overflow-x:auto;padding:10px 3px 0}.week-bar{display:grid;grid-template-rows:1fr auto;flex:1 0 27px;min-width:27px;text-align:center}.week-bar>span{position:relative;display:flex;align-items:end;justify-content:center;border-bottom:1px solid #d9dfdb}.week-bar>span i{display:block;width:68%;max-width:24px;border-radius:6px 6px 1px 1px;background:linear-gradient(#d8ad4e,#af7e20);transition:height .35s ease}.week-bar>span b{position:absolute;z-index:1;top:max(0px,calc(100% - var(--bar-height, 0%) - 16px));font-size:7px;color:#53645e}.week-bar small{padding-top:7px;color:#7a8782;font-size:7px;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg)}.department-rank{display:grid;gap:10px}.department-rank>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:8px}.department-rank span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:8px;min-width:0}.department-rank span>i{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:#8a691d;background:#f4e8c6;font-size:8px;font-style:normal;font-weight:900}.department-rank span b{overflow:hidden;color:#29483f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.department-rank span small{color:#8a9591;font-size:7px}.department-rank>div>em{align-self:center;color:#596761;font-size:8px;font-style:normal}.department-rank>div>em b{color:#183f35;font-size:12px}.department-rank u{position:absolute;right:0;bottom:0;left:32px;height:3px;overflow:hidden;border-radius:3px;background:#edf0eb;text-decoration:none}.department-rank u i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#376f5e,#d4aa48)}.executive-types{margin:0 20px 20px;padding:18px}.executive-types>.executive-card-title{margin-bottom:11px}.executive-types>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.executive-types article{display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #e8e9e4;border-radius:11px;background:#fbfbf8}.executive-types article>i{width:5px;height:35px;border-radius:5px;background:var(--accent)}.executive-types article span b,.executive-types article span small{display:block}.executive-types article span b{color:#2b443c;font-size:9px}.executive-types article span small{margin-top:2px;color:#89938f;font-size:7px}.executive-types article>strong{color:var(--accent);font:700 18px/1 "Noto Serif Thai",serif}.executive-types article>strong small{font:700 8px sans-serif}@media(max-width:1100px){.executive-leave-filters{grid-template-columns:repeat(3,1fr)}.executive-filter-search{grid-column:span 2}.executive-visuals{grid-template-columns:1fr}.executive-types>div:last-child{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.executive-leave{margin:14px 0;border-radius:15px}.executive-leave-head{display:grid;padding:19px}.executive-leave-head h3{font-size:19px}.executive-leave-head button{width:100%;justify-content:center}.executive-leave-filters{grid-template-columns:1fr 1fr;padding:14px}.executive-filter-search{grid-column:1/-1}.executive-leave-filters>div{grid-column:1/-1}.executive-leave-filters>div button{flex:1}.executive-kpis{grid-template-columns:1fr 1fr;padding:14px 14px 0}.executive-kpis article{padding:14px}.executive-kpis strong{font-size:23px}.executive-visuals{padding:10px 14px}.week-bars{height:190px}.executive-types{margin:0 14px 14px}.executive-types>div:last-child{grid-template-columns:1fr}}@media(max-width:420px){.executive-leave-filters{grid-template-columns:1fr}.executive-leave-filters>*{grid-column:1!important}.executive-kpis{grid-template-columns:1fr 1fr;gap:8px}.executive-kpis article{padding:12px}.executive-kpis strong{font-size:21px}}.month-board{margin-bottom:22px;padding:22px;border-radius:18px;background:linear-gradient(160deg,#fffdf7,#f1f6f2);border:1px solid var(--line);box-shadow:0 10px 30px #173f3512}.month-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.month-board-head>div>span{font-size:9px;letter-spacing:.14em;color:#8a7a45;font-weight:700}.month-board-head h3{margin:4px 0 2px;font-size:20px;color:var(--green)}.month-board-head p{margin:0;font-size:11px;color:#687570}.month-board-stats{display:flex;gap:10px}.month-board-stats>div{min-width:84px;padding:10px 14px;border-radius:12px;background:var(--green);color:#fff;text-align:center}.month-board-stats strong{display:block;font-size:22px;line-height:1.1;color:var(--gold)}.month-board-stats span{font-size:10px;opacity:.85}.month-board-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.month-board-legend i{font-style:normal;font-size:10px;padding:4px 10px;border-radius:999px;border:1px solid transparent}.sick{--tone:#c4553f;--tint:#fbe9e4}.vac{--tone:#2f7a63;--tint:#e2f2eb}.personal{--tone:#3d668e;--tint:#e4edf6}.other{--tone:#a37c1d;--tint:#f8eed5}.month-board-legend i.sick,.month-board-legend i.vac,.month-board-legend i.personal,.month-board-legend i.other{background:var(--tint);color:var(--tone);border-color:var(--tone)}.month-board-legend i.pending{border:1px dashed #8a948f;color:#5c6863;background:transparent}.month-board-empty{padding:30px;text-align:center;color:#687570}.month-week{margin-top:12px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line)}.month-week-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.month-week-title b{color:var(--green);font-size:13px}.month-week-title span{font-size:11px;color:#687570}.month-week-title em{margin-left:auto;font-style:normal;font-size:10px;padding:3px 10px;border-radius:999px;background:var(--mint);color:#315f51}.month-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-day{min-height:88px;padding:7px;border-radius:10px;background:#fafaf6;border:1px solid #efede5;display:flex;flex-direction:column;gap:5px}.month-day.weekend{background:#f5f3ec}.month-day.outside{opacity:.85;background:transparent;border-style:dashed}.month-day.outside .month-day-top b{color:#8b9691}.month-day.today{border-color:var(--gold);box-shadow:0 0 0 2px #e6ad3d59}.month-day-top{display:flex;align-items:baseline;gap:5px}.month-day-top small{font-size:9px;color:#8b9691}.month-day-top b{font-size:14px;color:var(--green)}.month-day-top em{margin-left:auto;font-style:normal;font-size:9px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--green);color:#fff}.month-day-people{display:flex;flex-direction:column;gap:3px;min-width:0}.month-day-people span{font-size:9px;line-height:1.35;padding:2px 6px;border-radius:6px;background:var(--tint,#eee);color:var(--tone,#333);border-left:3px solid var(--tone,#999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-day-people span.pending,.month-week-people span.pending{border:1px dashed var(--tone);border-left-width:3px}.month-day-people span.more{background:transparent;color:#687570;border-left:0;padding-left:2px}.month-week-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.month-week-people span{display:flex;flex-direction:column;padding:5px 10px;border-radius:9px;background:var(--tint);border-left:3px solid var(--tone)}.month-week-people span b{font-size:11px;color:var(--tone)}.month-week-people span small{font-size:9px;color:#5c6863}@media(max-width:800px){.month-board{padding:14px}.month-week-grid{grid-template-columns:repeat(7,minmax(46px,1fr));overflow-x:auto}.month-day{min-height:64px;padding:5px}.month-day-people span{font-size:8px;padding:1px 3px}}.month-week-agenda{display:none}@media(max-width:700px){.month-board{padding:14px 12px;border-radius:14px}.month-board-head h3{font-size:18px}.month-board-head p{font-size:13px}.month-board-stats{width:100%}.month-board-stats>div{flex:1}.month-board-legend i{font-size:12px;padding:5px 11px}.month-week{padding:12px}.month-week-title b{font-size:15px}.month-week-title span{font-size:13px}.month-week-title em{font-size:12px;padding:4px 11px}.month-week-grid{display:none}.month-week-agenda{display:flex;flex-direction:column;gap:8px}.agenda-day{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;background:#fafaf6;border:1px solid #efede5}.agenda-day.today{border-color:var(--gold);box-shadow:0 0 0 2px #e6ad3d59}.agenda-date{flex:0 0 46px;text-align:center;padding:6px 0;border-radius:10px;background:var(--green);color:#fff}.agenda-date small{display:block;font-size:11px;opacity:.85}.agenda-date b{display:block;font-size:20px;line-height:1.1;color:var(--gold)}.agenda-people{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.agenda-people span{display:flex;flex-direction:column;padding:7px 10px;border-radius:9px;background:var(--tint);border-left:4px solid var(--tone)}.agenda-people span.pending{border:1px dashed var(--tone);border-left-width:4px}.agenda-people b{font-size:14px;color:var(--tone)}.agenda-people small{font-size:12px;color:#5c6863;margin-top:1px}.agenda-empty{margin:0;padding:8px 2px;font-size:13px;color:#7a8580}.month-week-people{display:none}.leave-weekly-report .panel-title{flex-wrap:wrap}.leave-weekly-report .panel-title p,.leave-history-panel .panel-title p{font-size:13px}.leave-weekly-report .panel-title label{width:100%;font-size:13px}.leave-weekly-report .panel-title input{width:100%;font-size:15px;padding:10px}.leave-report-stats{grid-template-columns:1fr 1fr}.leave-report-stats strong{font-size:26px}.leave-report-stats span{font-size:13px}.leave-report-breakdown h4{font-size:14px}.leave-report-breakdown p{font-size:14px;padding:9px 0}.leave-report-list,.leave-history-list{overflow:visible!important}.leave-report-item.head,.leave-history-row.head{display:none}.leave-report-item,.leave-history-row{min-width:0!important;display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:9px 0;padding:13px;border:1px solid #e1e4df!important;border-radius:12px;background:#fff;font-size:14px}.leave-report-item>span:nth-child(2),.leave-history-row>span:nth-child(2){grid-column:1/-1;order:-1;font-size:15px}.leave-report-item small,.leave-history-row small{font-size:12px}.leave-report-item>span:nth-child(1),.leave-history-row>span:nth-child(1){color:#5c6863}.leave-report-item>span:nth-child(5){text-align:right}.leave-history-row>span:nth-child(5){text-align:right}.leave-history-row>span:nth-child(6){grid-column:1/-1;color:#5c6863}.leave-history-row>span:nth-child(3){grid-column:1/-1;color:#5c6863}.executive-leave-head p,.executive-card-title p{font-size:13px}.executive-card-title h4{font-size:16px}.executive-leave-filters label{font-size:13px}.executive-leave-filters input,.executive-leave-filters select{height:46px;font-size:15px}.executive-kpis span,.executive-kpis small{font-size:13px}.department-rank small,.executive-types article span small{font-size:12px}.executive-types article span b{font-size:14px}.leave-row .person b small{font-size:12px;max-width:none;white-space:normal}}.week-now{margin-left:6px;font-style:normal;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--gold);color:#4a3406;vertical-align:middle}.week-bar small .week-no{display:block;font-size:10px;color:var(--green);font-weight:800}.month-board-export{align-self:center;padding:10px 16px;border:1px solid #e0c375;border-radius:10px;background:#f3d98f;color:#173f35;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}.month-board-export:disabled{opacity:.5;cursor:default}@media(max-width:700px){.month-board-export{width:100%;font-size:14px;padding:12px}}.leave-review .leave-cancel{color:#a54d3e;border-color:#e3b9b0;background:#fff7f5}.leave-status{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:240px}.leave-status>small{flex:1 0 100%;max-width:none;font-size:10px;line-height:1.4;overflow-wrap:break-word;word-break:normal}.leave-status .leave-review{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px}.leave-review button{white-space:nowrap;font-size:11px;padding:7px 12px;border:1px solid transparent;border-radius:8px;cursor:pointer}.leave-review button.leave-edit{color:#3d5a80;background:#e8eff7}.leave-review button.leave-cancel{color:#a54d3e;background:#fff7f5;border-color:#e3b9b0}@media(max-width:700px){.leave-status .leave-review{display:grid;grid-template-columns:1fr 1fr}.leave-review button{white-space:normal}}.leave-range{display:block;margin-top:2px;color:#76847f;font-size:10px}.leave-days-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.leave-days-row label{flex:0 0 130px}.leave-days-row p{flex:1;min-width:180px;margin:0 0 8px;font-size:11px;color:#687570}.family{--tone:#a34d78;--tint:#f8e6ef}.month-board-legend i.family{background:var(--tint);color:var(--tone);border-color:var(--tone)}.leave-review button.leave-remind{color:#2f6b3f;background:#e9f5ec;border-color:#bcdcc4}.payroll-sensitive{margin-top:18px}.sensitive-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:700px){.payroll-page-intro{display:block}.payroll-page-intro>div:first-child{margin-bottom:14px}.payroll-page-intro .sensitive-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.payroll-page-intro .sensitive-actions button{min-width:0;min-height:44px;padding:9px 11px;font-size:11px}.payroll-page-intro .payroll-export-button{grid-column:1/-1;width:100%;font-size:13px!important}.payroll-page-intro .payroll-export-button svg{width:18px;flex:none}}.sensitive-search{width:100%;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px}.sensitive-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid #eceeea;font-size:12px}.sensitive-row b,.sensitive-row small{display:block}.sensitive-row small{color:#76847f;font-size:10px;margin-top:2px}.sensitive-row em{font-style:normal;color:#4a5b55;font-family:ui-monospace,Consolas,monospace;font-size:12px}.sensitive-row code{font-family:ui-monospace,Consolas,monospace;font-size:13px;padding:3px 7px;border-radius:6px;background:#fff4d6;color:#5b4310}.sensitive-buttons{display:flex;gap:6px}.sensitive-buttons button{padding:6px 10px;border:1px solid #d5dcd8;border-radius:8px;background:#f5f8f6;color:#245947;font-size:11px;cursor:pointer;white-space:nowrap}.sensitive-note{margin:8px 0 0;font-size:11px;color:#687570}@media(max-width:700px){.sensitive-row{grid-template-columns:1fr 1fr}.sensitive-row>span:first-child,.sensitive-buttons{grid-column:1/-1}.sensitive-row{font-size:14px}.sensitive-row small{font-size:12px}}.helpbot{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.helpbot-fab{padding:11px 16px;border:0;border-radius:999px;background:#173f35;color:#fff;font-weight:700;font-size:13px;box-shadow:0 8px 24px #173f3559;cursor:pointer}.helpbot-panel{width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #14282347;overflow:hidden}.helpbot-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#173f35;color:#fff}.helpbot-head button{border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}.helpbot-body{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f6f7f3;min-height:120px}.helpbot-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.helpbot-msg.bot{align-self:flex-start;background:#fff;border:1px solid #e6e8e2}.helpbot-msg.me{align-self:flex-end;background:#e6ad3d;color:#3b2a06}.helpbot-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-top:1px solid #eceeea;background:#fff;max-height:96px;overflow:auto}.helpbot-chips button{padding:6px 10px;border:1px solid #cfe0d7;border-radius:999px;background:#eef6f1;color:#245947;font-size:12px;cursor:pointer}.helpbot-input{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #eceeea;background:#fff}.helpbot-input input{flex:1;min-width:0;padding:9px 10px;border:1px solid #d5dcd8;border-radius:9px;font-size:13px}.helpbot-input button{padding:0 14px;border:0;border-radius:9px;background:#173f35;color:#fff;font-weight:700;cursor:pointer}.helpbot-input button:disabled{opacity:.5;cursor:default}@media print{.helpbot{display:none}}.company-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.company-bar label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#52645e}.company-bar select{min-width:280px;max-width:100%;padding:9px 10px;border:1px solid #d5dcd8;border-radius:9px;font-size:13px;background:#fbfcfa}.company-bar p{margin:0;font-size:12px;color:#687570}.company-bar .payroll-search{flex:1;min-width:280px;max-width:520px}.payroll-search-box{display:flex;align-items:center;gap:8px;height:39px;padding:0 10px;border:1px solid #cdd8d2;border-radius:9px;background:#fbfcfa;color:#61716a;transition:border-color .18s,box-shadow .18s,background .18s}.payroll-search-box:focus-within{border-color:#34705e;box-shadow:0 0 0 3px #34705e1f;background:#fff}.payroll-search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:#17251f}.payroll-search-box input::-webkit-search-cancel-button{display:none}.payroll-search-box button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:7px;background:#e9efeb;color:#41564e;cursor:pointer}.payroll-search-count{align-self:center;padding:7px 10px;border-radius:999px;background:#eef5f1;color:#52645e;font-size:11px;white-space:nowrap}.payroll-search-count b{color:#173f35;font-size:13px}.payroll-overview{margin:0 0 16px;padding:20px;border:1px solid #d5dfda;border-radius:16px;background:radial-gradient(circle at 88% 0,rgba(235,181,67,.13),transparent 30%),linear-gradient(145deg,#f9fcfa,#f3f7f4)}.payroll-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.payroll-overview-head h3{margin:3px 0 2px;font-size:18px}.payroll-overview-head p{margin:0;color:#6b7a73;font-size:10px}.payroll-overview-head em{padding:7px 11px;border-radius:99px;background:#173f35;color:#fff;font-size:10px;font-style:normal}.payroll-overview-actions{display:flex;align-items:center;gap:8px}.payroll-overview-actions button{display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid #c9d8d1;border-radius:999px;background:#fff;color:#1c5948;font:inherit;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #143d330f}.payroll-overview-actions button:hover{background:#edf6f1}.payroll-overview-actions button:disabled{cursor:wait;opacity:.6}.payroll-overview-actions button svg{width:14px;height:14px}.payroll-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.payroll-overview-kpis article{position:relative;overflow:hidden;padding:15px;border:1px solid #dce4e0;border-radius:12px;background:#fff}.payroll-overview-kpis article:after{content:"";position:absolute;right:-18px;bottom:-28px;width:80px;height:80px;border-radius:50%;background:var(--kpi-tint)}.payroll-overview-kpis .gross{--kpi-tint:#e7f3ed}.payroll-overview-kpis .deduct{--kpi-tint:#fff0e6}.payroll-overview-kpis .net{--kpi-tint:#e4f0ed}.payroll-overview-kpis .average{--kpi-tint:#f8efd9}.payroll-overview-kpis span{display:flex;align-items:center;gap:6px;color:#627169;font-size:9px;font-weight:700}.payroll-overview-kpis span svg{width:15px;height:15px}.payroll-overview-kpis strong,.payroll-overview-kpis small{position:relative;z-index:1;display:block}.payroll-overview-kpis strong{margin-top:8px;font-size:20px;letter-spacing:-.02em}.payroll-overview-kpis small{margin-top:4px;color:#849089;font-size:8px}.payroll-overview-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:12px}.payroll-breakdown-card,.payroll-company-overview{padding:15px;border:1px solid #dce4e0;border-radius:12px;background:#fff}.payroll-breakdown-card>header,.payroll-company-overview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #e5ebe7}.payroll-breakdown-card header b,.payroll-breakdown-card header small,.payroll-company-overview header b,.payroll-company-overview header small{display:block}.payroll-breakdown-card header b,.payroll-company-overview header b{font-size:12px}.payroll-breakdown-card header small,.payroll-company-overview header small{margin-top:2px;color:#839088;font-size:8px}.payroll-breakdown-card header>strong{font-size:15px}.payroll-breakdown-card.income header>strong{color:#1c6a52}.payroll-breakdown-card.deduction header>strong{color:#a95635}.payroll-breakdown-list{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:7px}.payroll-breakdown-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 0;border-bottom:1px solid #edf1ee}.payroll-breakdown-list>div.is-zero{opacity:.4}.payroll-breakdown-list span{display:flex;align-items:center;gap:6px;font-size:9px;color:#53625b}.payroll-breakdown-list span>i{width:7px;height:7px;border-radius:2px;background:#3c8b70}.payroll-breakdown-card.deduction .payroll-breakdown-list span>i{background:#d37950}.payroll-breakdown-list b{font-size:9px;text-align:right}.payroll-breakdown-list>div>div{grid-column:1/-1;height:3px;overflow:hidden;border-radius:99px;background:#edf2ef}.payroll-breakdown-list>div>div i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2c765f,#6cb095)}.payroll-breakdown-card.deduction .payroll-breakdown-list>div>div i{background:linear-gradient(90deg,#b65d3d,#e5a073)}.payroll-company-overview{margin-top:12px}.payroll-company-overview>header>span{padding:5px 8px;border-radius:99px;background:#eef4f0;color:#466058;font-size:9px}.payroll-company-table{overflow-x:auto}.payroll-company-row{display:grid;grid-template-columns:minmax(150px,1.25fr) 80px repeat(3,minmax(110px,.8fr)) minmax(120px,1fr);align-items:center;gap:10px;min-width:790px;padding:10px 4px;border-bottom:1px solid #edf1ee;font-size:9px}.payroll-company-row.head{color:#809087;font-size:8px;font-weight:700}.payroll-company-row>span:first-child b,.payroll-company-row>span:first-child small{display:block}.payroll-company-row>span:first-child b{font-size:10px}.payroll-company-row>span:first-child small{margin-top:2px;color:#87938d;font-size:7px}.payroll-company-row .deduction{color:#a95635}.payroll-company-row .net{color:#176047}.payroll-company-row .share{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:6px}.payroll-company-row .share>i{height:6px;overflow:hidden;border-radius:99px;background:#edf2ef}.payroll-company-row .share>i b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#d9a83f,#3b846c)}.payroll-company-row .share small{text-align:right;color:#66776f;font-size:8px}@media(max-width:980px){.payroll-overview-kpis{grid-template-columns:1fr 1fr}.payroll-overview-grid{grid-template-columns:1fr}}.sso-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.sso-summary>div{padding:10px 12px;border:1px solid #dfe7e2;border-radius:10px;background:#f7faf7}.sso-summary span{display:block;font-size:10px;color:#76847f}.sso-summary b{font-size:15px;color:#245947}@media(max-width:700px){.sso-summary{grid-template-columns:1fr 1fr}.company-bar select{min-width:0;width:100%}.company-bar label,.company-bar .payroll-search{width:100%;min-width:0;max-width:none}.payroll-search-count{margin-right:auto}}@media(max-width:700px){.payroll-overview{padding:14px}.payroll-overview-head{display:grid}.payroll-overview-actions{flex-wrap:wrap}.payroll-overview-kpis{grid-template-columns:1fr}.payroll-overview-kpis article{padding:13px}.payroll-breakdown-list{grid-template-columns:1fr}.payroll-company-overview{padding:12px}}.password-hint{margin:6px 0 10px;padding:9px 12px;border-radius:9px;background:#eef6f1;color:#245947;font-size:12px;line-height:1.5}@media(max-width:700px){.password-hint{font-size:14px}}.helpbot-hint{max-width:250px;padding:10px 12px;border:1px solid #e0c375;border-radius:12px 12px 4px;background:#fff7dd;color:#4a3406;font-size:12px;line-height:1.45;text-align:left;box-shadow:0 8px 22px #46320a2e;cursor:pointer;animation:helpbot-pop .5s ease-out}@keyframes helpbot-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.helpbot-msg.bot{font-size:13px}@media(max-width:700px){.helpbot-msg{font-size:15px}.helpbot-chips button{font-size:14px;padding:8px 12px}.helpbot-input input{font-size:16px}.helpbot-hint{font-size:14px}}.payslip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow:auto;background:#e9ece7;padding:16px}.payslip-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 auto 14px;max-width:820px;padding:10px 14px;border-radius:12px;background:#fff;box-shadow:0 4px 14px #0000001a}.payslip-toolbar b{flex:1;min-width:160px}.payslip-print{display:grid;gap:14px;justify-items:center}.payslip-page{width:min(794px,100%);background:#fff;border:1px solid #d9ded8;border-radius:6px;padding:26px 30px;box-sizing:border-box;break-inside:avoid;page-break-inside:avoid}.payslip-page header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:2px solid #173f35}.payslip-page header b{font-size:17px;color:#173f35;display:block}.payslip-page header small{color:#687570;font-size:12px}.payslip-period{text-align:right}.payslip-period span{display:block;font-size:11px;color:#687570}.payslip-who{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:12px;margin:14px 0}.payslip-who small{display:block;font-size:11px;color:#76847f}.payslip-who b{font-size:14px}.payslip-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.payslip-grid h4{margin:0 0 6px;padding:6px 10px;border-radius:6px;background:#eef6f1;color:#245947;font-size:13px}.payslip-grid p{display:flex;justify-content:space-between;margin:0;padding:7px 10px;border-bottom:1px solid #eceeea;font-size:13px}.payslip-grid p.sum{border-top:2px solid #173f35;border-bottom:0;font-weight:700}.payslip-page footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 16px;border-radius:8px;background:#173f35;color:#fff}.payslip-page footer strong{font-size:22px;color:#f3d98f}.payslip-note{display:block;margin-top:12px;color:#8a948f;font-size:11px}.my-payslips{margin-top:14px}@media(max-width:700px){.payslip-who,.payslip-grid{grid-template-columns:1fr}.payslip-page{padding:16px}}.payslip-page>header{padding:0 0 12px!important;margin:0!important;background:transparent!important;border-left:0!important;min-height:0!important;height:auto!important;position:static!important}.payslip-page{position:relative}.payslip-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:110px;font-weight:900;letter-spacing:8px;color:#b43c2817;transform:rotate(-24deg);pointer-events:none;-webkit-user-select:none;user-select:none}.sso-form-warn{max-width:820px;margin:0 auto 12px;padding:9px 14px;border-radius:10px;background:#fff7dd;color:#5b4310;font-size:12px}.sso-form-head{display:grid;grid-template-columns:2fr 1.3fr .9fr 1.1fr .7fr;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid #cfd8d2;border-radius:6px}.sso-form-head small,.sso-form-total small{display:block;font-size:10px;color:#76847f}.sso-form-head b,.sso-form-total b{font-size:13px}.sso-form-table{width:100%;border-collapse:collapse;font-size:12px}.sso-form-table th,.sso-form-table td{border:1px solid #b9c4bd;padding:5px 7px;text-align:left}.sso-form-table th{background:#eef6f1;font-size:11px}.sso-form-table td.num{text-align:right}.sso-form-table td.mono{font-family:ui-monospace,Consolas,monospace}.sso-form-total{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;padding:10px 12px;border:2px solid #173f35;border-radius:6px}.sso-form-sign{display:flex;justify-content:space-between;margin-top:34px;font-size:12px}@media(max-width:700px){.sso-form-head,.sso-form-total{grid-template-columns:1fr 1fr}.sso-form-table{font-size:11px}}.modal-bg.sso-top{z-index:70}@media print{#root{display:none!important}.payslip-overlay{position:static!important;inset:auto!important;overflow:visible!important;padding:0!important;background:#fff!important;z-index:auto!important;display:block!important}.payslip-toolbar,.sso-form-warn{display:none!important}.payslip-print{display:block!important}.payslip-page{width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;padding:12mm 14mm!important;margin:0!important;page-break-after:always;break-after:page}.payslip-page:last-child{page-break-after:auto;break-after:auto}@page{size:A4;margin:0}}.password-show{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px;color:#245947;cursor:pointer}.password-show input{width:18px;height:18px}.password-match{margin:4px 0 8px;font-size:13px;font-weight:700}.password-match.ok{color:#2f7a63}.password-match.bad{color:#c4553f}.payroll-unlock{display:flex;justify-content:center;padding:40px 16px}.payroll-unlock .panel{max-width:440px;width:100%;display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:center;padding:28px}.payroll-unlock svg{align-self:center;color:#173f35}.payroll-unlock h3{margin:0}.payroll-unlock p{margin:0;font-size:13px;color:#687570;line-height:1.5}.payroll-unlock input[type=password],.payroll-unlock input[type=text]{padding:12px;border:1px solid #d5dcd8;border-radius:10px;font-size:15px;text-align:center}.payroll-readonly .approve-btn{display:none}.payroll-readonly .financial-row input{pointer-events:none;background:#f3f4f1}.payroll-person-cell{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px}.payroll-person-name{display:block!important;width:100%;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;text-align:left!important}.payroll-person-name:hover b{color:#1d644e;text-decoration:underline}.payroll-detail-link{display:inline-flex!important;align-items:center;gap:4px;border:0!important;border-radius:6px!important;background:#e8f2ed!important;color:#25634f!important;padding:5px 7px!important;font-size:8px!important;font-weight:700}.payroll-detail-link svg{width:12px!important;height:12px}.payroll-detail-modal{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#f8f8f4}.payroll-detail-modal .modal-head{background:#f8f8f4}.payroll-detail-person{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #dbe5df;border-radius:14px;background:linear-gradient(125deg,#fff,#eef6f1)}.payroll-detail-avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:15px;background:#1c5847;color:#fff;font-size:24px;font-weight:700}.payroll-detail-person h4{margin:0 0 3px;font-size:18px}.payroll-detail-person p{margin:0;color:#2b6653;font-size:12px;font-weight:700}.payroll-detail-person span{display:block;margin-top:4px;color:#78847f;font-size:11px}.payroll-detail-columns{display:grid;grid-template-columns:1.35fr .85fr;gap:13px;margin-top:13px}.payroll-detail-columns section{overflow:hidden;border:1px solid #dfe4df;border-radius:14px;background:#fff}.payroll-detail-columns section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#e8f3ed;color:#205e4b}.payroll-detail-columns section.deduction>header{background:#dcecf8;color:#245b83}.payroll-detail-columns header span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.payroll-detail-columns header svg{width:17px}.payroll-detail-columns header b{font-size:16px}.payroll-detail-list{padding:5px 15px}.payroll-detail-line{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:35px;border-bottom:1px solid #efefeb;font-size:11px}.payroll-detail-line:last-child{border:0}.payroll-detail-line b{font-variant-numeric:tabular-nums}.payroll-detail-line.is-zero{color:#a0a8a4}.payroll-detail-line.is-zero b{font-weight:400}.payroll-detail-line span{display:flex;align-items:center;gap:7px}.payroll-detail-line span i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-weight:800}.payroll-detail-line.payroll-income span i{background:#dcebd2;color:#285b32}.payroll-detail-line.payroll-deduction span i{background:#dcecf8;color:#245b83}.payroll-detail-net{margin-top:13px;padding:18px 20px;border-radius:14px;background:#173f35;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 15px}.payroll-detail-net span{font-size:12px;color:#bcd0c9}.payroll-detail-net strong{grid-row:1/3;grid-column:2;font-size:28px;color:#f3c15a}.payroll-detail-net small{font-size:10px;color:#a9c1b9}@media(max-width:700px){.payroll-detail-modal{width:100%;max-height:calc(100dvh - 16px)}.payroll-detail-columns,.payroll-detail-net{grid-template-columns:1fr}.payroll-detail-net strong{grid-row:auto;grid-column:1;font-size:25px}.payroll-detail-person{align-items:flex-start}.payroll-detail-person h4{font-size:16px}}.payroll-access,.payroll-audit{margin-top:18px}.access-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #eceeea}.access-row b,.access-row small{display:block}.access-row small{color:#76847f;font-size:11px;margin-top:2px}.access-row select,.access-add select,.access-add input{padding:8px 10px;border:1px solid #d5dcd8;border-radius:8px;font-size:13px}.access-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.access-add input{flex:1;min-width:200px}.access-warn{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff4e6;border:1px solid #f0cf9c;font-size:12px;display:flex;flex-direction:column;gap:6px}.access-warn span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-list{max-height:420px;overflow:auto}.audit-row{display:grid;grid-template-columns:150px 1.2fr 1fr 1.4fr 110px;gap:8px;padding:7px 4px;border-bottom:1px solid #eceeea;font-size:12px}.audit-row small{color:#76847f;overflow-wrap:anywhere}@media(max-width:700px){.access-row{grid-template-columns:1fr 1fr}.access-row>span{grid-column:1/-1}.audit-row{grid-template-columns:1fr;font-size:14px}}.twofa-panel{margin:14px 0}.twofa-step{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:10px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.twofa-step p{margin:0;font-size:13px;line-height:1.5}.twofa-step input{padding:10px 12px;border:1px solid #d5dcd8;border-radius:9px;font-size:15px;min-width:220px}.twofa-secret{padding:6px 10px;border-radius:8px;background:#f1f4f0;font-size:13px;letter-spacing:1px;word-break:break-all}.twofa-codes{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:6px}.twofa-codes code{padding:7px 10px;border-radius:8px;background:#fff4d6;color:#5b4310;font-size:14px;text-align:center}.twofa-hint{margin:6px 0;font-size:12px;color:#687570;line-height:1.5}.twofa-back{margin-top:8px}@media(max-width:700px){.twofa-step p{font-size:14px}}.leave-hint{margin:-4px 0 8px;font-size:12px;color:#b45309;background:#fef3c7;border-radius:6px;padding:6px 10px}.executive-week-export{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:-6px 0 14px;padding:10px 12px;background:#fbf9f3;border:1px solid var(--line);border-radius:8px}.executive-week-export label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5b6660}.executive-week-export input[type=week],.executive-week-export input[type=number]{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-family:inherit;width:110px}.executive-week-export-divider{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}.weekly-leave-sheet{width:min(1050px,100%)}.weekly-leave-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--green)}.weekly-leave-head>div:first-child small{display:block;letter-spacing:.08em;font-size:10px;color:#9a8340;font-weight:700;text-transform:uppercase}.weekly-leave-head>div:first-child b{display:block;font-size:20px;color:var(--green);margin-top:4px}.weekly-leave-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:110px;padding:8px 18px;border-radius:10px;background:var(--green);color:#fff;text-align:center}.weekly-leave-badge span{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}.weekly-leave-badge strong{font-size:26px;line-height:1.1;color:#fff}.weekly-leave-badge small{font-size:11px;color:#d8e5df;white-space:nowrap}.weekly-leave-section+.weekly-leave-section{margin-top:26px}.weekly-leave-section-title{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:8px 14px;border-radius:6px;background:var(--gold);color:#3a2c05;font-weight:700;font-size:14px}.weekly-leave-table-wrap{overflow-x:auto;margin-top:10px}.weekly-leave-table{width:100%;border-collapse:collapse;font-size:12.5px}.weekly-leave-table th,.weekly-leave-table td{border:1px solid #d3ddd6;padding:6px 8px;text-align:left;white-space:nowrap}.weekly-leave-table thead th{background:var(--green);color:#fff;font-weight:700;font-size:11.5px}.weekly-leave-table thead th.wl-day{text-align:center}.weekly-leave-table thead th.wl-day small{display:block;color:var(--gold);font-weight:400;font-size:10px}.weekly-leave-table thead th.wl-day b{display:block;font-size:12px}.weekly-leave-table thead th.wl-group{text-align:center;background:var(--gold);color:#3a2c05;font-size:11.5px}.weekly-leave-table thead th.wl-subcol{font-size:10.5px;font-weight:600}.weekly-leave-table td.wl-exceed{background:#fde3e1;color:#9a1d13;font-weight:700}.bank-export-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.offsite-request-modal{max-width:560px}.offsite-request-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e4e2d8}.offsite-request-list{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto}.offsite-request-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #e4e2d8;border-radius:8px}.offsite-request-row>div:first-child{display:flex;flex-direction:column;gap:2px}.offsite-request-row>div:first-child span{font-size:12.5px;color:#6b6b62}.offsite-request-actions{display:flex;gap:6px;align-items:center}.offsite-request-actions input{width:140px;padding:5px 8px;border:1px solid #d3ddd6;border-radius:6px;font-size:12.5px}.bank-accounts-modal{max-width:920px}.bank-accounts-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.bank-accounts-filters input{flex:1;min-width:160px;padding:7px 10px;border:1px solid #d3ddd6;border-radius:6px;font-size:13px}.bank-accounts-filters select{padding:7px 10px;border:1px solid #d3ddd6;border-radius:6px;font-size:13px}.bank-accounts-missing-toggle{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.bank-accounts-table-wrap{max-height:420px;overflow-y:auto;overflow-x:auto;border:1px solid #e4e2d8;border-radius:8px}.bank-accounts-table{width:100%;border-collapse:collapse;font-size:12.5px}.bank-accounts-table th{position:sticky;top:0;background:var(--green);color:#fff;text-align:left;padding:8px 10px;font-weight:700}.bank-accounts-table td{padding:7px 10px;border-top:1px solid #eceae0;white-space:nowrap}.bank-accounts-table tr.bank-row-missing{background:#fdf3e3}.bank-missing-tag{color:#9a6a13;font-weight:700}.payroll-reconcile-modal{width:min(1080px,96vw);max-height:92vh;overflow:auto}.payroll-reconcile-drop{min-height:78px;border:1.5px dashed #8eb3a5;border-radius:13px;background:#f3f8f5;color:#245d4b;display:flex!important;align-items:center;justify-content:center;gap:10px;padding:18px;cursor:pointer;transition:.18s ease}.payroll-reconcile-drop:hover{background:#eaf4ef;border-color:#39745f}.payroll-reconcile-drop svg{width:21px}.payroll-reconcile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.payroll-reconcile-summary>div{border:1px solid #e1e4df;border-radius:11px;background:#f7f8f5;padding:12px 14px}.payroll-reconcile-summary span,.payroll-reconcile-summary b{display:block}.payroll-reconcile-summary span{font-size:10px;color:#75827d}.payroll-reconcile-summary b{margin-top:4px;font:700 22px DM Sans}.payroll-reconcile-summary .is-good{background:#eaf5ef;border-color:#cce4d8;color:#21654f}.payroll-reconcile-summary .is-bad{background:#fff0ed;border-color:#f0d0ca;color:#a44232}.payroll-reconcile-table{max-height:430px;overflow:auto;border:1px solid #e3e4df;border-radius:11px}.payroll-reconcile-table table{width:100%;border-collapse:collapse;font-size:11px}.payroll-reconcile-table th{position:sticky;top:0;z-index:1;background:#19483c;color:#fff;text-align:left;padding:10px;white-space:nowrap}.payroll-reconcile-table td{padding:10px;vertical-align:top;border-top:1px solid #ecece7}.payroll-reconcile-table td:first-child{min-width:145px}.payroll-reconcile-table td:nth-child(2),.payroll-reconcile-table td:nth-child(3){min-width:175px}.payroll-reconcile-table td:last-child{min-width:260px}.payroll-reconcile-table small{display:block;margin-top:3px;color:#75827d;line-height:1.45}.payroll-reconcile-table tr.is-bad{background:#fff9f7}.payroll-reconcile-table tr.is-bad td:first-child{color:#a44232}.payroll-reconcile-table tr.is-good td:first-child{color:#21654f}@media(max-width:700px){.payroll-reconcile-modal{width:100%;max-height:calc(100dvh - 16px)}.payroll-reconcile-summary{grid-template-columns:1fr 1fr}.payroll-reconcile-table{max-height:48vh}.payroll-reconcile-drop{font-size:13px;text-align:center}.payroll-reconcile-table table{font-size:10px}}.weekly-leave-table tbody tr:nth-child(2n):not(.wl-total-row){background:#f7f8f5}.weekly-leave-table tbody tr:hover{background:var(--mint)}.weekly-leave-table td.wl-name{font-weight:600;color:#1d2926}.weekly-leave-table td.num{text-align:center;font-variant-numeric:tabular-nums}.weekly-leave-table td.wl-total{font-weight:700;color:var(--green);background:#f1efe4}.weekly-leave-table tr.wl-total-row td{background:var(--green);color:#fff;font-weight:700}.weekly-leave-table tr.wl-total-row td.wl-total{background:var(--gold);color:#3a2c05}.weekly-leave-screen{margin-top:22px;padding:12px 16px;border:1px solid #d3ddd6;border-radius:8px;background:#fff}.weekly-leave-screen small{display:block;font-size:10px;font-weight:700;color:#9a8340;text-transform:uppercase;letter-spacing:.05em}.weekly-leave-screen b{display:block;margin-top:4px;font-size:15px;color:var(--green)}.weekly-leave-approvers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:16px}.weekly-leave-approve-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 14px;border:1.4px solid var(--green);border-radius:8px;background:#fff;text-align:center}.weekly-leave-approve-box small{font-size:10px;font-weight:700;color:#9a8340;text-transform:uppercase;letter-spacing:.05em}.weekly-leave-approve-box b{font-size:15px;color:var(--green)}@media(max-width:700px){.weekly-leave-approvers{grid-template-columns:1fr}}.weekly-leave-footer{display:flex;justify-content:space-between;margin-top:14px;font-size:11px;color:#8a948f}@media print{.weekly-leave-sheet{width:100%!important;max-width:none!important;page-break-after:auto!important}.weekly-leave-table-wrap{overflow:visible!important;margin-top:6px;width:max-content!important;transform:scale(var(--print-scale,1));transform-origin:top left}.weekly-leave-table{font-size:10.5px}.weekly-leave-table th,.weekly-leave-table td{padding:3px 6px}.weekly-leave-table tbody tr{break-inside:avoid;page-break-inside:avoid}.weekly-leave-table thead th,.weekly-leave-table tr.wl-total-row td,.weekly-leave-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.weekly-leave-approvers,.weekly-leave-approve-box{break-inside:avoid}.weekly-leave-section-break{page-break-before:always;break-before:page}.weekly-leave-section-title{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:700px){.weekly-leave-head{flex-direction:column;align-items:flex-start}.weekly-leave-table{font-size:11px}}.vehicle-exit-page{display:grid;gap:18px}.vehicle-exit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vehicle-exit-form label{display:grid;gap:6px;font-size:11px;color:#66756f}.vehicle-exit-form input,.vehicle-exit-form select,.vehicle-exit-form textarea{width:100%;border:1px solid #d8e0dc;border-radius:9px;padding:10px;background:#fff;color:#183029}.vehicle-exit-form textarea{min-height:75px;resize:vertical}.vehicle-exit-form .wide{grid-column:span 4}.vehicle-exit-form>button{justify-self:start}.vehicle-exit-list{display:grid;gap:10px}.vehicle-exit-card{display:flex;align-items:center;gap:14px;border:1px solid #e0e6e2;border-radius:12px;padding:12px}.vehicle-exit-card.approved{border-color:#b9dfcc;background:#f3fbf6}.vehicle-exit-card.rejected{opacity:.72}.vehicle-plate{min-width:150px;border:2px solid #23342e;border-radius:8px;background:#fff;text-align:center;padding:8px}.vehicle-plate b,.vehicle-plate span{display:block}.vehicle-plate b{font-size:19px}.vehicle-plate span{font-size:10px}.vehicle-exit-card .grow{display:grid;gap:4px}.vehicle-exit-card .grow span,.vehicle-exit-card .grow small{color:#687670}.vehicle-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}@media(max-width:900px){.vehicle-exit-form{grid-template-columns:1fr 1fr}.vehicle-exit-form .wide{grid-column:span 2}.vehicle-exit-card{align-items:flex-start;flex-wrap:wrap}.vehicle-actions{width:100%;margin-left:0;justify-content:flex-start}}@media(max-width:560px){.vehicle-exit-form{grid-template-columns:1fr}.vehicle-exit-form .wide{grid-column:auto}.vehicle-plate{min-width:125px}}.attendance-dashboard{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin:14px 0}.attendance-chart-card,.attendance-session-card{border:1px solid #e0e6e2;border-radius:13px;background:#fbfcfb;padding:14px}.chart-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.chart-title b,.chart-title span{display:block}.chart-title span{font-size:10px;color:#718078;margin-top:3px}.chart-legend{font-size:10px;color:#66756f;display:flex;align-items:center;gap:5px}.chart-legend i{width:9px;height:9px;border-radius:3px}.in{background:#4da881}.out{background:#e1a34c}.daily-bars{height:180px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #dfe5e1;padding:8px 4px 0}.daily-bar{height:100%;flex:1;min-width:15px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.bar-pair{height:145px;width:100%;display:flex;align-items:end;justify-content:center;gap:2px}.bar-pair i{width:38%;min-height:3px;border-radius:3px 3px 0 0}.daily-bar small{font-size:8px;margin-top:5px;color:#718078}.hourly-bars{max-height:180px;overflow:auto;display:grid;gap:5px}.hour-row{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:7px;font-size:9px}.hour-row>div{display:grid;gap:2px}.hour-row i{height:5px;border-radius:5px;display:block}.hour-row b{text-align:right}.attendance-session-card{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.attendance-session-card div{padding:12px;border-radius:10px;background:#eef6f2}.attendance-session-card span,.attendance-session-card b{display:block}.attendance-session-card span{font-size:10px;color:#687870}.attendance-session-card b{font-size:25px;color:#184b3d;margin-top:4px}.attendance-session-card .danger{background:#fff0ed}.attendance-session-card .danger b{color:#b54837}@media(max-width:900px){.attendance-dashboard,.attendance-session-card{grid-template-columns:1fr}.daily-bars{overflow-x:auto}.daily-bar{min-width:26px}}.attendance-period-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 15px;padding:10px 12px;border:1px solid #dce5df;border-radius:11px;background:#f7faf8}.attendance-period-actions>span{display:flex;align-items:center;gap:6px;margin-right:4px;color:#245b49;font-size:11px;font-weight:700}.attendance-period-actions>button:not(.primary){border:1px solid #d5ded9;border-radius:8px;background:#fff;color:#305d4e;padding:7px 12px;font-size:11px}.attendance-period-actions .primary{margin-left:auto}.attendance-print-sheet{width:min(1120px,100%);margin:0 auto;background:#fff;padding:30px 34px;color:#17251f}.attendance-print-sheet>header{position:static;height:auto;padding:0 0 14px;border-bottom:3px solid #1b5544;display:flex;justify-content:space-between}.attendance-print-sheet>header small{color:#a17a27;font-weight:700;letter-spacing:.08em}.attendance-print-sheet>header h2{margin:5px 0 2px}.attendance-print-sheet>header p{margin:0;color:#738079}.attendance-print-sheet>header>div:last-child{text-align:center;border-radius:10px;background:#1b5544;color:#fff;padding:9px 22px}.attendance-print-sheet>header>div:last-child b,.attendance-print-sheet>header>div:last-child span{display:block}.attendance-print-sheet>header>div:last-child b{font-size:25px;color:#f0c15b}.attendance-print-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.attendance-print-summary div{padding:10px 13px;border-radius:8px;background:#eef5f1}.attendance-print-summary span,.attendance-print-summary b{display:block}.attendance-print-summary span{font-size:10px;color:#67766f}.attendance-print-summary b{font-size:20px;color:#205c49}.attendance-print-sheet table{width:100%;border-collapse:collapse;font-size:10px}.attendance-print-sheet th{background:#1b5544;color:#fff;text-align:left;padding:7px}.attendance-print-sheet td{border:1px solid #dce2de;padding:6px;vertical-align:middle}.attendance-print-sheet td:first-child{width:30px;text-align:center}.attendance-print-sheet td b,.attendance-print-sheet td small{display:block}.attendance-print-sheet td small{margin-top:2px;color:#738079}.attendance-print-sheet td:last-child{width:80px;text-align:center}.attendance-print-sheet td img{width:64px;height:46px;object-fit:cover;border-radius:4px}.attendance-print-sheet>footer{margin-top:16px;text-align:center;color:#7b8781;font-size:9px}@media(max-width:700px){.attendance-period-actions .primary{margin-left:0}.attendance-print-sheet{padding:18px;min-width:920px}}@media print{.attendance-print-overlay{padding:0!important}.attendance-print-sheet{width:100%!important;max-width:none!important;padding:0!important}.attendance-print-sheet thead{display:table-header-group}.attendance-print-sheet tr{break-inside:avoid}.attendance-print-sheet td img{width:48px;height:34px}.attendance-print-sheet>footer{break-inside:avoid}}.payroll-company-exclusions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid #d8e2dc;border-radius:12px;background:#f7faf8}.payroll-company-exclusions>div:first-child{margin-right:auto}.payroll-company-exclusions>div:first-child b,.payroll-company-exclusions>div:first-child span{display:block}.payroll-company-exclusions>div:first-child b{font-size:12px;color:#204f40}.payroll-company-exclusions>div:first-child span{font-size:10px;color:#74817b;margin-top:2px}.payroll-company-checks{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}.payroll-company-checks label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e0e4e1;border-radius:9px;background:#fff;opacity:.55;cursor:pointer}.payroll-company-checks label.selected{border-color:#a9d1bf;background:#edf7f1;opacity:1}.payroll-company-checks input{width:17px;height:17px;accent-color:#1d604b}.payroll-company-checks span,.payroll-company-checks b,.payroll-company-checks small{display:block}.payroll-company-checks b{font-size:11px}.payroll-company-checks small{font-size:9px;color:#74817b;margin-top:2px}@media(max-width:700px){.payroll-company-checks{grid-template-columns:1fr}}.vehicle-register-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end}.vehicle-register-form label{display:grid;gap:5px;font-size:10px;color:#66756f}.vehicle-register-form input,.vehicle-register-form select{width:100%;border:1px solid #d8e0dc;border-radius:9px;padding:9px;background:#fff;color:#183029}.registered-vehicles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:14px}.registered-vehicles>div{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #dce4df;border-radius:10px;background:#f7faf8}.registered-vehicles>div>svg{color:#28624f}.registered-vehicles span{flex:1}.registered-vehicles b,.registered-vehicles small{display:block}.registered-vehicles b{font-size:12px}.registered-vehicles small{font-size:9px;color:#74817b;margin-top:2px}.registered-vehicles .vehicle-register-empty{grid-column:1/-1;justify-content:center;color:#8a958f;background:#fff9e9;border-style:dashed}@media(max-width:950px){.vehicle-register-form{grid-template-columns:1fr 1fr}.vehicle-register-form>button{justify-self:start}}@media(max-width:560px){.vehicle-register-form{grid-template-columns:1fr}}.vehicle-gate-filter{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-bottom:14px}.vehicle-gate-filter label{display:grid;gap:5px;font-size:10px;color:#68766f}.vehicle-gate-filter label:first-child{flex:1;min-width:240px}.vehicle-gate-filter input{border:1px solid #d7dfda;border-radius:8px;padding:9px}.vehicle-gate-results{display:grid;gap:8px}.vehicle-gate-results article{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #dfe5e1;border-radius:11px}.vehicle-gate-results article.outside{background:#fff6ec;border-color:#ead0a9}.vehicle-gate-results .grow{display:grid;gap:3px}.vehicle-gate-results .grow span,.vehicle-gate-results .grow small{font-size:10px;color:#74817b}.vehicle-state{display:inline-flex;justify-content:center;min-width:92px;border-radius:20px;padding:5px 9px;font-style:normal;font-size:9px;font-weight:700}.vehicle-state.inside{background:#e4f2ea;color:#276c52}.vehicle-state.outside{background:#fff0df;color:#a96327}.vehicle-gate-history{margin-top:20px;overflow:auto}.vehicle-gate-history h4{margin:0 0 10px}.vehicle-gate-row{display:grid;grid-template-columns:145px 120px 1.2fr 105px 1.2fr 1fr;gap:8px;min-width:850px;padding:8px;border-bottom:1px solid #e8ebe7;align-items:center;font-size:10px}.vehicle-gate-row.head{position:sticky;top:0;background:#19483c;color:#fff;font-weight:700}.vehicle-gate-row b,.vehicle-gate-row small{display:block}.vehicle-gate-row small{margin-top:2px;color:#77847e}@media(max-width:700px){.vehicle-gate-results article{align-items:flex-start;flex-wrap:wrap}.vehicle-gate-results article .grow{min-width:calc(100% - 170px)}.vehicle-gate-filter label{width:100%}}.leave-cancel-status{margin-top:6px!important;padding:6px 8px;border-radius:7px;background:#fff2df;color:#945c20!important;line-height:1.45}.leave-cancel-check{display:grid!important;gap:6px;margin-top:7px;padding:8px;border:1px solid #e4c995;border-radius:8px;background:#fffaf0}.leave-cancel-check small{white-space:normal;line-height:1.5}.leave-cancel-check button{font-size:9px;padding:6px 8px}.sso-self{display:grid;gap:18px}.sso-self-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;background:linear-gradient(135deg,#fff,#edf8f4)}.sso-self-hero h2{margin:5px 0 4px;font-size:28px;color:#123e35}.sso-self-hero p,.sso-self-section p{margin:0;color:#687b75}.sso-self-status{display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:14px;min-width:265px}.sso-self-status.ready{background:#ddf3e9;color:#17634e}.sso-self-status.pending{background:#fff2dd;color:#8b5a12}.sso-self-status span{display:grid;gap:2px}.sso-self-status small{opacity:.75}.sso-self-identity,.sso-self-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sso-self-identity>div,.sso-self-summary>div{display:grid;align-content:start;gap:5px;padding:19px;border:1px solid #dfe7e3;border-radius:15px;background:#fff}.sso-self-identity small,.sso-self-summary small{color:#75837f}.sso-self-identity b{color:#153f36;font-size:16px}.sso-self-identity span,.sso-self-summary span{color:#86938f;font-size:12px}.sso-self-summary b{font-size:24px;color:#175747}.sso-self-section{padding:22px}.sso-self-section .section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.sso-self-section h3{margin:0 0 4px;color:#143f35}.sso-self-table{overflow:auto;border:1px solid #e2e8e5;border-radius:13px}.sso-self-table table{width:100%;border-collapse:collapse;min-width:650px}.sso-self-table th,.sso-self-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #e8ecea}.sso-self-table th{font-size:12px;color:#61736d;background:#f6f8f7}.sso-self-table tbody tr:last-child td{border-bottom:0}.sso-self-table td:nth-last-child(-n+3),.sso-self-table th:nth-last-child(-n+3){text-align:right}.sso-rights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sso-rights article{display:flex;align-items:center;gap:12px;border:1px solid #e0e8e4;border-radius:13px;padding:14px}.sso-rights article>svg{color:#26745e;flex:0 0 auto}.sso-rights article div{display:grid;gap:2px;flex:1}.sso-rights article span{font-size:12px;color:#73817d}.sso-rights article em{font-style:normal;font-size:11px;color:#7c642e;background:#fff5d9;border-radius:999px;padding:5px 8px;white-space:nowrap}.sso-self-note{display:flex;align-items:flex-start;gap:8px;margin-top:16px!important;padding:13px;border-radius:11px;background:#f4f7f5;font-size:13px}.sso-self-error{text-align:center;padding:45px}.sso-self-error>svg{color:#24715b;width:42px;height:42px}.sso-self-error p{color:#6b7975}.sso-self-error button{margin-top:12px}.sso-self-error button,.sso-self-section button{display:inline-flex;align-items:center;gap:7px}@media(max-width:1000px){.sso-self-identity,.sso-self-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sso-self-hero{align-items:stretch;flex-direction:column;padding:20px}.sso-self-status{min-width:0}.sso-self-identity,.sso-self-summary,.sso-rights{grid-template-columns:1fr}.sso-self-section{padding:16px}.sso-rights article{align-items:flex-start}.sso-rights article em{display:none}}.dashboard-intro .ghost{display:inline-flex;align-items:center;gap:7px}.dashboard-load-error{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;border:1px solid #edc0ba;border-radius:12px;background:#fff0ee;color:#a54035}.dashboard-load-error button{margin-left:auto;border:0;background:#a54035;color:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}.dashboard-empty.error svg{color:#b64b40}.permission-cell{display:flex;align-items:center;gap:10px}.permission-cell .permission-tags{flex:1;min-width:0}.permission-edit{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #b9d2c9;border-radius:9px;background:#fff;color:#155847;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.permission-edit:hover{background:#edf7f3;border-color:#377c68}.permission-edit svg{width:16px;height:16px}.permission-modal{width:min(720px,94vw)}.permission-help{display:flex;align-items:flex-start;gap:10px;margin:2px 0 16px;padding:12px 14px;border-radius:10px;background:#edf7f3;color:#174f40}.permission-help svg{width:20px;min-width:20px}.permission-help b,.permission-help small{display:block}.permission-help small{margin-top:3px;color:#647b74}.permission-picker-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0}.permission-picker-edit label{display:flex;align-items:center;gap:9px;min-height:45px;padding:10px 12px;border:1px solid #d9dedb;border-radius:10px;background:#fff;cursor:pointer}.permission-picker-edit label.selected{border-color:#5c9c87;background:#f0f8f5}.permission-picker-edit label span{flex:1;min-width:0;font-weight:650}.permission-picker-edit label em{padding:3px 8px;border-radius:999px;background:#f0f1f0;color:#7b8581;font-size:11px;font-style:normal}.permission-picker-edit label.selected em{background:#dcefe7;color:#176149}@media(max-width:600px){.permission-cell{align-items:flex-start;flex-direction:column}.permission-edit{width:100%}.permission-picker-edit{grid-template-columns:1fr}}.evaluation-tabs{display:inline-flex;gap:5px;margin-top:16px;padding:5px;border:1px solid #dedfd9;border-radius:12px;background:#f1f1ed}.evaluation-tabs button{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:0;border-radius:8px;background:transparent;color:#69736f;font:inherit;font-weight:700;cursor:pointer}.evaluation-tabs button.active{background:#175b49;color:#fff;box-shadow:0 3px 9px #173f3028}.evaluation-tabs svg{width:17px}.evaluation-results-panel{margin-top:16px;overflow:hidden}.evaluation-results-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e5e7e3}.evaluation-results-head h3{margin:3px 0;font-size:22px}.evaluation-results-head p{margin:0;color:#7a8580}.evaluation-results-head>strong{padding:8px 13px;border-radius:99px;background:#e6f3ed;color:#165b48}.er-row{display:grid;grid-template-columns:1.45fr 1fr 1fr .9fr;align-items:center;min-height:78px;border-top:1px solid #eceeea}.er-row>span{display:flex;flex-direction:column;gap:4px;padding:14px 18px}.er-row small{color:#7c8782}.er-row em{color:#9a7a3b;font-style:normal}.er-row strong{font-size:20px;color:#123f34}.er-head{min-height:auto;border-top:0;background:#f5f6f2;color:#64716b;font-size:12px;font-weight:700}.er-head>span{padding:11px 18px}.er-average{align-self:stretch;justify-content:center;background:#eaf5f0}.er-average strong{font-size:27px;color:#0c624a}@media(max-width:700px){.evaluation-tabs{display:flex}.evaluation-tabs button{flex:1;justify-content:center}.evaluation-results-head{align-items:flex-start;gap:10px}.er-head{display:none}.er-row{grid-template-columns:1fr 1fr;padding:8px 0}.er-row>span:first-child{grid-column:1/-1;border-bottom:1px dashed #dfe3df}.er-average{grid-column:1/-1}}.org-page h2,.org-page h3{margin:0 0 16px}.org-tools{display:flex;gap:12px;flex-wrap:wrap}.org-tools input,.org-tools select{flex:1;min-width:240px}.org-stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;color:#245947}.org-notice{background:#fff8e9;border-radius:12px;padding:14px;color:#79612c;font-size:13px;line-height:1.7}.org-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px;margin-top:20px}.org-chain{display:flex;align-items:center;flex-direction:column;margin:24px 0}.org-chain-step{display:flex;flex-direction:column;align-items:center;width:100%;gap:10px;margin-bottom:10px;color:#8b9b93}.org-person{display:flex;align-items:center;text-align:left;gap:12px;background:#fff;border:1px solid #d5e2dc;border-radius:14px;padding:16px;color:#184a3d;width:100%;max-width:440px}.org-person>span:last-child{display:flex;flex-direction:column;gap:6px}.org-person small{font-size:11px;color:#74887f}.org-person span span{font-size:12px;color:#61756c}.org-person:hover{border-color:#245947}.org-selected{border:2px solid #245947;background:#eef7f2}.org-avatar{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#e0eee6;font-weight:700}.org-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:16px 0}.org-page summary{cursor:pointer;padding:16px 0}.org-page aside label{display:flex;flex-direction:column;gap:8px;margin:16px 0}.org-page aside p,.org-page dd{font-size:13px;line-height:1.7}.org-page dd{margin:5px 0 16px}.org-page dt{color:#7e8d85;font-size:12px}@media(max-width:800px){.org-layout{grid-template-columns:1fr}.org-tools input,.org-tools select{min-width:0;width:100%;flex:auto}.org-chain .org-person{max-width:100%}}.org-search-results{margin-top:16px;padding:16px;background:#eef6f1;border-radius:12px}.org-search-results p{font-size:13px;line-height:1.6}.org-search-results button{display:block;text-align:left;width:100%;border:1px solid #d6e5da;background:#fff;color:#245947;padding:12px;margin-top:8px;border-radius:9px;line-height:1.6}.org-search-results button:hover{border-color:#245947;background:#f8fcf9}.pending-leave-notice{display:flex;align-items:center;gap:14px;padding:18px 20px;margin-bottom:20px;background:#fff7db;border:1px solid #e8d28a;border-left:5px solid #bf8b20;border-radius:14px;color:#584212}.pending-leave-notice>svg{flex-shrink:0}.pending-leave-notice>div{flex:1;min-width:0}.pending-leave-notice b{font-size:16px}.pending-leave-notice p{margin:5px 0;font-size:13px;overflow-wrap:anywhere}.pending-leave-notice small{font-size:12px;color:#705825}.pending-leave-notice button{flex-shrink:0;min-height:44px}@media(max-width:640px){.pending-leave-notice{align-items:flex-start;flex-wrap:wrap;padding:16px}.pending-leave-notice>div{flex-basis:calc(100% - 44px)}.pending-leave-notice button{width:100%;justify-content:center}}.payslip-page.company-payslip{padding:30px 34px;border-radius:3px;color:#193d33;font-family:Tahoma,sans-serif;font-size:13px;box-shadow:0 6px 22px #173d3410}.company-payslip *{box-sizing:border-box}.company-payslip .company-slip-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:3px solid #205641;padding-bottom:20px!important}.company-slip-brand{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.company-slip-brand img{display:block;width:76px;height:76px;flex:0 0 76px;object-fit:contain}.company-payslip .company-slip-brand h2{font-family:inherit;font-size:18px;line-height:1.5;font-weight:700;margin:0;color:#193d33;overflow-wrap:anywhere}.company-payslip .company-slip-brand p{font-size:11px;color:#65776d;margin:5px 0 0}.company-slip-title{text-align:right;flex:0 0 auto}.company-payslip .company-slip-title h3{margin:0;font-size:17px;color:#193d33}.company-slip-title span{font-size:11px;color:#65776d;letter-spacing:1px}.company-slip-period{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;background:#edf4ef;padding:12px 14px;margin-top:18px;font-size:12px}.company-slip-period b{font-size:13px;margin-left:5px}.company-slip-who{display:grid;grid-template-columns:1.3fr 1fr;gap:16px 28px;padding:23px 0}.company-slip-who>div{min-width:0;display:flex;flex-direction:column;gap:4px}.company-slip-who span{font-size:11px;color:#65776d}.company-slip-who b{font-size:14px;overflow-wrap:anywhere}.company-slip-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.company-slip-amounts{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.company-slip-amounts caption{text-align:left;background:#edf4ef;border-top:1px solid #dce5df;border-bottom:1px solid #dce5df;padding:10px;font-weight:700;font-size:13px}.company-slip-amounts caption span{float:right;font-size:11px;font-weight:400;color:#65776d}.company-slip-amounts th{text-align:left;font-weight:400;padding:9px 4px;overflow-wrap:anywhere}.company-slip-amounts td{text-align:right;padding:9px 4px;white-space:nowrap}.company-slip-amounts tbody tr{border-bottom:1px solid #e1e8e3}.company-slip-amounts tfoot th,.company-slip-amounts tfoot td{font-weight:700;padding:14px 4px;border-bottom:2px solid #205641}.company-slip-net{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#edf4ef;border-left:4px solid #205641;padding:20px 22px;margin-top:24px}.company-slip-net>div>span{display:block;font-size:11px;color:#65776d}.company-slip-net strong{display:block;margin-top:6px;font-size:30px;line-height:1.4;color:#173d34;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.company-slip-net strong small{font-size:13px;font-weight:400}.company-slip-net p{font-size:11px;color:#65776d;margin:0}.company-payslip .company-slip-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-top:24px;padding:16px 0 0;border-top:1px solid #dce5df;border-radius:0;background:transparent;color:#65776d;font-size:10px}.company-slip-foot p{margin:4px 0 0}.company-slip-foot>div:last-child{text-align:right}.company-slip-demo{text-align:center;margin:0 0 18px;padding:0 0 12px;border-bottom:1px dashed #dce5df;font-size:11px;color:#a53b2d}@media(max-width:600px){.payslip-page.company-payslip{padding:22px 16px}.company-payslip .company-slip-head{align-items:flex-start;flex-wrap:wrap;gap:14px}.company-slip-brand{flex-basis:100%;gap:12px}.company-slip-brand img{width:64px;height:64px;flex-basis:64px}.company-slip-title{text-align:left}.company-payslip .company-slip-brand h2{font-size:16px}.company-slip-who{grid-template-columns:1fr;gap:14px}.company-slip-columns{grid-template-columns:1fr;gap:20px}.company-slip-net{padding:18px 14px}.company-slip-net strong{font-size:27px}.company-slip-foot>div:last-child{text-align:left}}@media print{.company-payslip{print-color-adjust:exact;-webkit-print-color-adjust:exact;box-shadow:none!important}.company-payslip .company-slip-head{flex-wrap:nowrap!important;align-items:center!important}.company-slip-brand{flex-basis:auto!important}.company-slip-title{text-align:right!important}.company-slip-who{grid-template-columns:1.3fr 1fr!important;gap:12px 24px!important;padding:18px 0!important}.company-slip-columns{grid-template-columns:1fr 1fr!important;gap:20px!important}.company-slip-amounts th,.company-slip-amounts td{padding:7px 4px!important}.company-slip-net{margin-top:18px!important;padding:16px 20px!important}.company-slip-net strong{font-size:28px!important}.company-payslip .company-slip-foot{margin-top:18px!important}.company-slip-foot>div:last-child{text-align:right!important}.payslip-page.company-payslip{min-height:0!important;box-shadow:none!important}}.employee-manager-picker{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:8px}.employee-manager-picker legend{font-size:12px;font-weight:700;margin-bottom:8px}.employee-manager-picker>label{margin:0!important;font-size:11px;color:#718178}.employee-manager-picker>small{font-size:11px;line-height:1.6;color:#708378}.manager-search-control{display:flex;gap:8px;align-items:center}.manager-search-control input{flex:1;min-width:0;width:100%;margin:0!important}.manager-search-control button{background:#f1f5f1;border:1px solid #dbe5dd;color:#315944;border-radius:8px;padding:12px;white-space:nowrap}.manager-search-results{border:1px solid #d3e2d8;border-radius:12px;padding:8px;background:#f6faf7}.manager-search-results>[role=listbox]{max-height:260px;overflow:auto}.manager-search-results [role=option]{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid #e5ece6;background:transparent;color:#244d3e}.manager-search-results [role=option].active,.manager-search-results [role=option]:hover{background:#e3f0e7;border-radius:8px}.manager-search-results small,.manager-search-results p{font-size:11px;color:#718178;line-height:1.6}.manager-search-results>.ghost{margin-top:8px}@media(max-width:600px){.manager-search-control input{font-size:16px}.manager-search-results [role=option]{min-height:52px}}.employee-edit-grid>.employee-manager-picker{grid-column:1/-1}body:has(.employee-detail-modal) .helpbot{display:none}.employee-age-summary{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.employee-age-summary>div{flex:1;min-width:200px;background:#edf5ef;border:1px solid #d9e7de;border-radius:12px;padding:14px}.employee-age-summary small,.employee-age-summary b{display:block}.employee-age-summary small{font-size:11px;color:#6b8175;margin-bottom:5px}.employee-age-summary b{font-size:16px;color:#22563f}.employee-age-summary>span{flex:0 0 100%;font-size:10px;color:#7d8d83}.employee-history-editor{grid-column:1/-1;border-top:1px solid #dce5df;padding-top:14px;min-width:0}.employee-history-editor h4{margin:16px 0 12px}.employee-history-editor p{font-size:11px;line-height:1.7;color:#708077}.education-edit-record,.employee-bank-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.education-edit-record{padding:14px;border:1px solid #dce5df;border-radius:12px;background:#fff}.education-edit-record button{grid-column:1/-1;justify-self:start}.education-record{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:12px;background:#f3f7f3;border-radius:10px}.education-record span,.education-record small{font-size:11px;color:#63776b}.employee-bank-details{display:grid;grid-template-columns:95px 1fr;gap:10px;font-size:12px}.employee-bank-details dt{color:#6d8175}.employee-bank-details dd{margin:0;overflow-wrap:anywhere}.employee-history-editor input[type=date]{max-width:260px}@media(max-width:600px){.education-edit-record,.employee-bank-edit{grid-template-columns:1fr}.employee-history-editor input{font-size:16px}.employee-age-summary>div{min-width:0;flex-basis:100%}}.release-notice{position:fixed;top:0;left:0;right:0;z-index:10000;background:#194f3f;color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;box-shadow:0 4px 20px #12382e22}.release-notice button{background:#f4c45a;color:#173c30;border:0;border-radius:8px;padding:10px 16px;font-weight:700;white-space:nowrap}.login-input:focus-within{outline:3px solid #d7e9df;border-color:#286e56}.login-input button{min-width:44px;min-height:44px}.login-submit{min-height:52px}.login-error{line-height:1.7}.login-status{font-size:12px}.login-help{margin-top:20px;padding:14px;border-radius:12px;background:#f5f7f4;color:#687970;font-size:12px;line-height:1.65}.login-page .login-card-head p{font-size:13px;line-height:1.7}.login-page .login-options{font-size:12px}@media(max-width:600px){.login-page{min-height:100dvh;background:#123f32}.login-form-side{min-height:100dvh;justify-content:flex-start;padding:32px 18px 100px;background:radial-gradient(ellipse at top,#2b715766,transparent 60%),linear-gradient(160deg,#123f32,#1c5744 38%,#edf3ee 38.2%,#f6f7f2)}.login-card{width:100%;max-width:440px;padding:28px 24px;border-radius:24px;box-shadow:0 18px 60px #12382e26;border-color:#fffa}.login-mobile-brand{justify-content:flex-start;margin-bottom:24px;gap:12px}.login-mobile-brand img{width:52px;height:52px}.login-mobile-brand strong{font-size:21px}.login-card-head{text-align:left;margin-bottom:26px}.login-lock{display:none}.login-card-head h2{font-size:25px;line-height:1.4;margin:8px 0}.login-card-head>span{font-size:12px}.login-page form>label{font-size:14px;gap:8px}.login-page .login-input input{font-size:16px;min-height:52px}.login-page .login-submit{font-size:16px;border-radius:12px}.login-page .login-secure{font-size:11px;line-height:1.6;text-align:center;margin-top:22px}.login-status{color:#486456;margin-top:18px}.login-options{gap:12px}.release-notice{align-items:flex-start;font-size:12px;padding:12px;gap:8px}.release-notice button{padding:10px}}.login-page .remember-session{display:flex;align-items:center;gap:9px;cursor:pointer}.login-page .remember-session input{width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:#194f3f}.login-page .remember-session-help{display:block;font-size:11px;line-height:1.6;color:#687970;margin:0 0 16px}.routing-list{display:grid;gap:12px;margin-top:16px}.routing-list article{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid #e3e9e4;padding:16px;border-radius:14px}.routing-list p{font-size:12px;line-height:1.7;margin:6px 0}.routing-list small{display:block;color:#6e8076;line-height:1.7}.routing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:760px){.routing-list article{grid-template-columns:1fr}.routing-actions button{width:100%;justify-content:center}}.quota-protection-notice{padding:14px 16px;border:1px solid #e3bf55;border-radius:10px;background:#fff4ca;color:#664b00;line-height:1.6}.quota-report-paused>.attendance-report-stats,.quota-report-paused>.attendance-dashboard,.quota-report-paused>.attendance-report-table{display:none}.attendance-missing-roster{border:1px solid #dce5df;border-radius:16px;padding:18px;margin:18px 0;background:#fafcfb;min-width:0}.attendance-download-actions{display:flex;gap:8px;flex-wrap:wrap}.attendance-download-actions a{white-space:nowrap}.attendance-download-actions .primary{color:#fff}.attendance-missing-roster h3{margin:0 0 8px}.attendance-missing-roster p{margin:9px 0;color:#476157}.attendance-missing-roster small{display:block;color:#61756b;line-height:1.6}.missing-roster-counts,.missing-roster-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:14px 0}.missing-roster-counts span{background:#e8f2ed;border-radius:9px;padding:9px 12px}.missing-roster-counts b{font-size:20px}.missing-roster-tools label{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.missing-roster-tools select{max-width:100%;padding:8px;border:1px solid #cbd8d0;border-radius:8px;background:#fff}.missing-roster-scroll{overflow:auto;max-height:390px}.missing-roster-scroll table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.missing-roster-scroll th,.missing-roster-scroll td{padding:10px;border:1px solid #dce5df;text-align:center}.missing-roster-scroll th{background:#e8f2ed;position:sticky;top:0}.missing-roster-scroll td:first-child{text-align:left}.missing-roster-scroll .missing-review{background:#fff1a6;color:#674e00;font-weight:700}@media(max-width:600px){.attendance-missing-roster{padding:12px}.missing-roster-tools>*{width:100%}.missing-roster-tools select{width:100%}.missing-roster-counts{gap:8px}.missing-roster-counts span{flex:1;min-width:130px}}@media(min-width:761px)and (max-width:1400px){.attendance-report-panel .attendance-report-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-report-panel .attendance-report-search{grid-column:span 2}.attendance-report-filter input,.attendance-report-filter select{min-width:0;width:100%}}
