@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap";:root{color:#183028;font-synthesis:none;--green-900:#12372a;--green-700:#24634a;--green-100:#e2f1e9;--orange:#ef8b3b;--line:#e3e7e1;--muted:#718078;--shadow:0 9px 30px #1f392d0f;background:#f4f6f2;font-family:Noto Sans Thai,sans-serif}.payment-confirmation-overlay{z-index:120}.operation-modal.payment-confirmation-modal{gap:18px;width:min(980px,100vw - 36px);display:grid}.payment-confirmation-warning{color:#714a13;background:#fff8df;border:1px solid #edcf8b;border-radius:14px;margin:0;padding:14px 16px;font-weight:700;line-height:1.55}.payment-payee-list{gap:16px;display:grid}.payment-payee-card{border:1px solid var(--line);background:#f8fcf6;border-radius:18px;gap:14px;padding:18px;display:grid}.payment-payee-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.payment-payee-heading small,.payment-bank-grid small{color:var(--muted);display:block}.payment-payee-heading h3{margin:3px 0 0}.payment-payee-heading p{color:var(--muted);margin:2px 0 0}.payment-payee-heading>strong{color:#277447;white-space:nowrap;font-size:28px}.payment-bank-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.payment-bank-grid>span{background:#fff;border:1px solid #dce8d4;border-radius:13px;min-width:0;padding:12px 13px}.payment-bank-grid b{overflow-wrap:anywhere;margin-top:4px;display:block}.payment-entry-grid{grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);align-items:end;gap:12px;display:grid}.payment-slip-picker{color:#2d6747;cursor:pointer;background:#fff;border:1.5px dashed #8eb28a;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:10px 15px;font-weight:750;display:flex}.payment-slip-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.payment-slip-preview{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-slip-preview img{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:12px;width:92px;height:92px}.payment-slip-preview>span{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.payment-slip-preview button{min-height:40px}.payment-confirmation-actions{justify-content:flex-end;gap:10px;display:flex}.payment-confirmation-actions button{min-height:50px}@media (width<=700px){.operation-modal.payment-confirmation-modal{gap:14px;width:100%}.payment-payee-card{padding:14px}.payment-payee-heading{flex-direction:column;gap:7px}.payment-payee-heading>strong{font-size:24px}.payment-bank-grid,.payment-entry-grid{grid-template-columns:1fr}.payment-confirmation-actions{grid-template-columns:1fr;display:grid}.payment-confirmation-actions .operation-primary{order:-1}}@media (width>=1024px){html{font-size:24px}body,button,input,select,textarea{font-size:24px;line-height:1.45}body,.app-shell,main,.content,.card,.metric-card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card{min-width:0}h1,h2,h3,h4,p,b,strong,small,span,label,button{overflow-wrap:anywhere;word-break:normal}.app-shell{grid-template-columns:minmax(330px,390px) minmax(0,1fr)}.sidebar{padding:34px 24px}.brand strong{font-size:clamp(34px,2vw,46px);line-height:1.12}.brand span,.nav-label,.section-kicker,.eyebrow{font-size:clamp(21px,1.05vw,28px);line-height:1.35}.workspace-chip b,.profile-mini b{font-size:clamp(27px,1.35vw,34px)}.workspace-chip small,.profile-mini small{font-size:clamp(23px,1.1vw,30px)}nav button,.sidebar-bottom>button{min-height:76px;padding:18px;font-size:clamp(29px,1.45vw,36px);line-height:1.24}nav button svg,.sidebar-bottom>button svg{width:36px;height:36px}header{align-items:center;height:auto;min-height:118px;padding:24px 48px}header h1{font-size:clamp(46px,2.5vw,66px);line-height:1.1}header p{font-size:clamp(29px,1.45vw,40px);line-height:1.35}.content{max-width:1940px;padding:42px 48px 76px;overflow-x:clip}.app-navigator{width:calc(100% - 96px);max-width:1940px}.app-navigator button,.app-navigator strong{min-height:74px;font-size:clamp(26px,1.25vw,34px)}.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero{border-radius:34px;min-height:270px;padding:54px 58px}.welcome h2,.operation-hero h2,.master-hero h2,.shift-hero h2,.report-hero h2{font-size:clamp(58px,3.4vw,82px);line-height:1.12}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.report-hero p{max-width:1200px;font-size:clamp(31px,1.7vw,44px);line-height:1.46}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:30px}.metric-card,.card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.telegram-settings-card,.line-settings-card{border-radius:28px;padding:34px}.metric-card span,.metric-card p,.card p,.card small,.quick-actions small,.operation-card small,.master-card small,.shift-card small,.report-card small,.telegram-settings-card small,.line-settings-card small{font-size:clamp(24px,1.15vw,32px);line-height:1.45}.metric-card strong,.metric-card b{font-size:clamp(64px,3.5vw,94px);line-height:1}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3,.report-heading h3{font-size:clamp(36px,2vw,54px);line-height:1.18}.status-list b,.factory-row b,.event-list b,.pending-actions b,.quick-action-card b,.operation-row b,.simple-record-list b,.directory-person b,.catering-event-list b,.compensation-employee b,.report-preview b{font-size:clamp(28px,1.45vw,38px);line-height:1.25}.status-list small,.factory-row small,.event-list small,.pending-actions small,.quick-action-card small,.operation-row small,.simple-record-list small,.directory-person small,.catering-event-list small,.compensation-employee small,.report-preview small{font-size:clamp(23px,1.1vw,31px);line-height:1.38}.primary-button,.secondary-button,.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.quick-action-card,.filter-button,.filter-select,.quality-pill,.shift-badge,.pill{min-height:58px;font-size:clamp(24px,1.15vw,32px);line-height:1.25}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check,.form-field,.telegram-settings-card label,.line-settings-card label{font-size:clamp(25px,1.2vw,34px);line-height:1.35}.operation-field input,.operation-field select,.operation-field textarea,.master-field input,.master-field select,.master-field textarea,.form-field input,.form-field select,.form-field textarea,.telegram-settings-card input,.telegram-settings-card select,.telegram-settings-card textarea,.line-settings-card input,.line-settings-card select,.line-settings-card textarea{min-height:68px;font-size:clamp(25px,1.2vw,34px);line-height:1.35}}@media (width>=1024px) and (width<=1500px){.app-shell{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.content{padding:30px 30px 64px}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:1fr}.quick-action-grid,.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.catering-form-section legend,.catering-sheet-summary b,.catering-import-preview b{font-size:14px}@media (width<=560px){header h1{font-size:26px}header p{font-size:17px}.welcome h2{font-size:31px}.welcome p{font-size:19px}.welcome .eyebrow,.section-kicker{font-size:15px}.metric-top{font-size:17px}.metric-card p{font-size:16px}.metric-card small{font-size:15px}.card h3,.quick-actions h3{font-size:24px}.shift-badge,.quality-pill,.filter-button,.filter-select{font-size:15px}.operation-hero h2,.master-hero h2,.shift-hero h2{font-size:30px}.operation-hero p,.master-hero p,.shift-hero p{font-size:18px}.operation-heading h3,.master-content-heading h3,.shift-section-heading h3{font-size:24px}.operation-heading>button,.operation-heading select{font-size:15px}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check{font-size:16px}.operation-field input,.operation-field select,.operation-field textarea{min-height:54px;font-size:17px}.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button{font-size:18px}.operation-state,.operation-message,.master-loading,.master-empty,.shift-loading,.shift-empty{font-size:17px}.operation-row b,.factory-operation-grid b,.simple-record-list b,.directory-person b{font-size:18px}.operation-row small,.factory-operation-grid small,.simple-record-list small,.directory-person small{font-size:15px}.catering-event-list b,.compensation-employee b{font-size:19px}.catering-event-list small,.compensation-employee small{font-size:16px}.catering-date b{font-size:19px}.catering-form-section legend,.catering-sheet-summary b,.catering-import-preview b{font-size:18px}.catering-sheet-summary small,.catering-import-preview small{font-size:16px}.mobile-bottom-nav small{font-size:14px}.more-menu-grid b{font-size:19px}.more-menu-grid small{font-size:16px}}@media (width>=1024px){html{font-size:24px}body,button,input,select,textarea{font-size:24px;line-height:1.45}.app-shell{grid-template-columns:minmax(330px,390px) minmax(0,1fr)}main,.content,.dashboard-grid,.metric-grid,.card,.metric-card,.quick-actions{min-width:0}.content{max-width:1940px;padding:42px 48px 76px;overflow-x:clip}h1,h2,h3,h4,p,b,strong,small,span,label,button{overflow-wrap:anywhere;word-break:normal}header{height:auto;min-height:118px;padding:24px 48px}header h1{font-size:clamp(46px,2.5vw,66px);line-height:1.1}header p{font-size:clamp(29px,1.45vw,40px);line-height:1.35}.brand strong{font-size:clamp(34px,2vw,46px);line-height:1.12}.brand span,.nav-label,.section-kicker,.eyebrow{font-size:clamp(21px,1.05vw,28px);line-height:1.35}.workspace-chip b,.profile-mini b{font-size:clamp(27px,1.35vw,34px)}.workspace-chip small,.profile-mini small{font-size:clamp(23px,1.1vw,30px)}nav button,.sidebar-bottom>button{min-height:76px;padding:18px;font-size:clamp(29px,1.45vw,36px);line-height:1.24}.app-navigator button,.app-navigator strong{min-height:74px;font-size:clamp(26px,1.25vw,34px)}.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero{border-radius:34px;min-height:270px;padding:54px 58px}.welcome h2,.operation-hero h2,.master-hero h2,.shift-hero h2,.report-hero h2{font-size:clamp(58px,3.4vw,82px);line-height:1.12}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.report-hero p{max-width:1200px;font-size:clamp(31px,1.7vw,44px);line-height:1.46}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:30px}.metric-card,.card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.telegram-settings-card,.line-settings-card{border-radius:28px;padding:34px}.metric-card span,.metric-card p,.card p,.card small,.quick-actions small,.operation-card small,.master-card small,.shift-card small,.report-card small,.telegram-settings-card small,.line-settings-card small{font-size:clamp(24px,1.15vw,32px);line-height:1.45}.metric-card strong,.metric-card b{font-size:clamp(64px,3.5vw,94px);line-height:1}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3,.report-heading h3{font-size:clamp(36px,2vw,54px);line-height:1.18}.status-list b,.factory-row b,.event-list b,.pending-actions b,.quick-action-card b,.operation-row b,.simple-record-list b,.directory-person b,.catering-event-list b,.compensation-employee b,.report-preview b{font-size:clamp(28px,1.45vw,38px);line-height:1.25}.status-list small,.factory-row small,.event-list small,.pending-actions small,.quick-action-card small,.operation-row small,.simple-record-list small,.directory-person small,.catering-event-list small,.compensation-employee small,.report-preview small{font-size:clamp(23px,1.1vw,31px);line-height:1.38}.primary-button,.secondary-button,.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.quick-action-card,.filter-button,.filter-select,.quality-pill,.shift-badge,.pill{min-height:58px;font-size:clamp(24px,1.15vw,32px);line-height:1.25}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check,.form-field,.telegram-settings-card label,.line-settings-card label{font-size:clamp(25px,1.2vw,34px);line-height:1.35}.operation-field input,.operation-field select,.operation-field textarea,.master-field input,.master-field select,.master-field textarea,.form-field input,.form-field select,.form-field textarea,.telegram-settings-card input,.telegram-settings-card select,.telegram-settings-card textarea,.line-settings-card input,.line-settings-card select,.line-settings-card textarea{min-height:68px;font-size:clamp(25px,1.2vw,34px);line-height:1.35}}@media (width>=1024px) and (width<=1500px){.app-shell{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.content{padding:30px 30px 64px}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:1fr}.quick-action-grid,.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){html{font-size:20px}body{font-size:20px;line-height:1.5}body,button,input,select,textarea{font-size:20px;line-height:1.45}h1,h2,h3,h4,p,b,strong,small,span,button,label{overflow-wrap:anywhere}.app-shell{grid-template-columns:360px minmax(0,1fr)}.sidebar{padding:34px 26px}main{min-width:0}header{height:108px;padding:0 48px}header h1{font-size:42px;line-height:1.1}header p{font-size:25px;line-height:1.35}.content{max-width:1900px;padding:42px 48px 70px;overflow-x:clip}.brand{gap:18px;padding-bottom:34px}.brand-mark{border-radius:18px;width:58px;height:58px;font-size:24px}.brand strong{font-size:38px;line-height:1.13}.brand span,.nav-label{font-size:19px;line-height:1.35}.workspace-chip{border-radius:18px;gap:16px;margin-bottom:34px;padding:20px}.workspace-avatar,.avatar{width:52px;height:52px;font-size:19px}.workspace-chip b,.profile-mini b{font-size:24px;line-height:1.2}.workspace-chip small,.profile-mini small{font-size:21px;line-height:1.35}nav{gap:10px}nav button,.sidebar-bottom>button{white-space:normal;border-radius:18px;gap:18px;min-height:66px;padding:18px;font-size:27px;line-height:1.25}nav button svg,.sidebar-bottom>button svg{flex:none;width:32px;height:32px}.nav-count{min-width:34px;height:34px;font-size:19px}.app-navigator{width:calc(100% - 96px);max-width:1900px;margin-top:24px;padding:12px}.app-navigator button{min-height:64px;font-size:24px}.app-navigator strong{min-width:220px;font-size:25px}.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero{border-radius:32px;min-height:240px;padding:48px 56px}.welcome h2,.operation-hero h2,.master-hero h2,.shift-hero h2,.report-hero h2{font-size:clamp(46px,3vw,68px);line-height:1.15}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.report-hero p{font-size:clamp(25px,1.45vw,34px);line-height:1.5}.eyebrow,.section-kicker{letter-spacing:.08em;font-size:22px;line-height:1.35}.welcome-date{border-radius:22px;min-width:260px;padding:22px 28px}.welcome-date span{font-size:19px}.welcome-date strong{font-size:25px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:28px;margin:30px 0}.metric-card{border-radius:28px;min-height:220px;padding:32px}.metric-icon{border-radius:22px;width:70px;height:70px}.metric-icon svg{width:40px;height:40px}.metric-top{padding-right:80px;font-size:26px;line-height:1.3}.metric-card>strong{margin-top:24px;font-size:68px;line-height:1}.metric-card p{font-size:25px;line-height:1.35}.metric-card small{font-size:23px;line-height:1.4}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(460px,.75fr);gap:30px;margin-bottom:30px}.dashboard-grid.lower{grid-template-columns:repeat(auto-fit,minmax(460px,1fr))}.card,.quick-actions,.operation-card{border-radius:30px;padding:38px}.card-heading{gap:18px;margin-bottom:30px}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3{font-size:38px;line-height:1.2}.clock-face small,.clock-face span{font-size:24px}.clock-face strong{font-size:92px;line-height:1}.check-button{border-radius:24px;min-height:110px;padding:28px 30px}.check-button b{font-size:30px;line-height:1.2}.check-button small,.location-quality div span{font-size:23px;line-height:1.35}.location-quality b{font-size:25px;line-height:1.35}.text-button,.row-link,.outline-button{min-height:56px;font-size:23px}.approval-row,.team-row{gap:22px;min-height:108px;padding:20px 0}.approval-icon,.record-icon,.team-row .team-avatar,.directory-avatar{border-radius:22px;width:68px;height:68px;font-size:24px}.approval-row b,.team-row b,.factory-item b,.event-item b,.quick-actions button b,.operation-row b,.factory-operation-grid b,.simple-record-list b,.directory-person b,.compensation-employee b,.catering-event-list b{font-size:29px;line-height:1.25}.approval-row small,.team-row span,.factory-item span,.event-item span,.quick-actions button small,.operation-row small,.factory-operation-grid small,.simple-record-list small,.directory-person small,.directory-scope b,.directory-scope small,.compensation-employee small,.catering-event-list small{font-size:23px;line-height:1.38}.filter-button,.filter-select,.quality-pill,.shift-badge,.employment-pill,.record-state,.ocr-role-badge,.ocr-pt-chips span{white-space:normal;padding:12px 18px;font-size:22px;line-height:1.25}.factory-item,.event-item,.quick-actions button{border-radius:24px;gap:24px;min-height:124px;padding:24px}.event-date{border-radius:22px;min-width:104px;min-height:78px;font-size:25px}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px;display:grid}.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.operation-heading>button,.operation-heading select{border-radius:20px;min-height:72px;padding:0 28px;font-size:26px}.operation-row,.compensation-employee,.employee-directory-row,.simple-record-list>button{gap:24px;min-height:132px}.employee-directory-row{grid-template-columns:78px minmax(260px,1.4fr) minmax(220px,.9fr) minmax(120px,auto) minmax(120px,auto) 34px}.operation-field,.master-field,.report-filters label,.operation-check,.telegram-setup form>label:not(.telegram-check){font-size:25px;line-height:1.35}.operation-field input,.operation-field select,.operation-field textarea,.master-field input,.master-field select,.report-filters input,.report-filters select,.telegram-setup form>label:not(.telegram-check) input{border-radius:20px;min-height:76px;padding:0 22px;font-size:26px}.telegram-setup{border-radius:34px;width:min(840px,100%);padding:44px}.telegram-explainer b,.telegram-secret-note b{font-size:30px}.telegram-explainer p,.telegram-secret-note small,.telegram-check span{font-size:25px;line-height:1.45}.telegram-check span{min-height:70px;padding:18px}.report-type-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px}.report-type-grid button{border-radius:26px;min-height:160px;padding:28px}.report-type-grid b{font-size:29px;line-height:1.25}.report-type-grid small{font-size:23px;line-height:1.45}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.report-summary-grid>div{border-radius:24px;min-height:160px;padding:28px}.report-summary-grid span{font-size:23px}.report-summary-grid b{font-size:46px}.report-summary-grid small,.report-table{font-size:22px}.report-table th,.report-table td{padding:20px 22px}}@media (width>=1024px) and (width<=1500px){.app-shell{grid-template-columns:320px minmax(0,1fr)}.content{padding-left:30px;padding-right:30px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.metric-grid,.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}nav button,.sidebar-bottom>button{font-size:24px}.brand strong{font-size:33px}}@media (width>=1024px){.app-shell{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:30px 22px}.content{max-width:1760px;padding:34px 40px 56px}header{height:90px;padding:0 40px}header h1{font-size:32px;line-height:1.15}header p{font-size:19px;line-height:1.35}.brand{gap:14px;padding-bottom:28px}.brand-mark{border-radius:16px;width:48px;height:48px;font-size:20px}.brand strong{overflow-wrap:anywhere;font-size:30px;line-height:1.18}.brand span,.nav-label{letter-spacing:1.4px;font-size:15px}.workspace-chip{border-radius:16px;gap:12px;padding:16px}.workspace-avatar,.avatar{width:42px;height:42px;font-size:15px}.workspace-chip b,.profile-mini b{font-size:18px;line-height:1.25}.workspace-chip small,.profile-mini small{font-size:16px;line-height:1.35}nav{gap:8px}nav button,.sidebar-bottom>button{border-radius:14px;gap:14px;min-height:52px;padding:14px 15px;font-size:21px;line-height:1.25}nav button svg,.sidebar-bottom>button svg{flex:none;width:26px;height:26px}.nav-count{min-width:28px;height:28px;font-size:15px}.app-navigator{width:calc(100% - 80px);max-width:1760px;margin-top:20px;padding:10px}.app-navigator button{min-height:52px;font-size:18px}.app-navigator strong{min-width:170px;font-size:20px}.welcome{border-radius:26px;min-height:190px;padding:38px 44px}.welcome h2,.operation-hero h2,.master-hero h2,.shift-hero h2,.report-hero h2{font-size:clamp(34px,2.2vw,46px);line-height:1.16}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.report-hero p{font-size:clamp(18px,1.05vw,23px);line-height:1.55}.eyebrow,.section-kicker{font-size:16px;line-height:1.35}.metric-grid{gap:22px;margin:24px 0}.metric-card{border-radius:24px;min-height:185px;padding:26px}.metric-icon{border-radius:17px;width:56px;height:56px}.metric-icon svg{width:32px;height:32px}.metric-top{font-size:19px;line-height:1.35}.metric-card>strong{font-size:48px;line-height:1.1}.metric-card p{font-size:18px;line-height:1.35}.metric-card small{font-size:17px;line-height:1.4}.dashboard-grid{gap:24px;margin-bottom:24px}.card,.quick-actions,.operation-card{border-radius:24px;padding:30px}.card-heading{margin-bottom:24px}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3{font-size:27px;line-height:1.25}.card-heading p,.master-content-heading p,.operation-heading p{font-size:16px;line-height:1.45}.clock-face small,.clock-face span{font-size:17px}.clock-face strong{font-size:70px}.check-button{border-radius:18px;min-height:86px;padding:22px 24px}.check-button b{font-size:21px;line-height:1.2}.check-button small,.location-quality div span{font-size:16px;line-height:1.35}.location-quality b{font-size:17px;line-height:1.35}.text-button,.row-link,.outline-button{font-size:16px}.approval-row{gap:16px;min-height:78px;padding:14px 0}.approval-icon,.record-icon{border-radius:16px;width:54px;height:54px;font-size:16px}.approval-row b,.team-row b,.factory-item b,.event-item b,.quick-actions button b{font-size:20px;line-height:1.28}.approval-row small,.team-row span,.factory-item span,.event-item span,.quick-actions button small{font-size:16px;line-height:1.38}.filter-button,.filter-select,.quality-pill,.shift-badge{padding:10px 16px;font-size:16px}.team-row{gap:18px;min-height:78px}.team-row .team-avatar,.directory-avatar{width:54px;height:54px;font-size:19px}.factory-item,.event-item,.quick-actions button{border-radius:18px;gap:18px;min-height:88px}.event-date{border-radius:16px;min-width:76px;min-height:58px;font-size:18px}.quick-actions{gap:18px}.quick-actions>button{padding:22px}.operation-hero,.master-hero,.shift-hero,.report-hero{border-radius:26px;min-height:190px;padding:38px 44px}.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.operation-heading>button,.operation-heading select{border-radius:15px;min-height:56px;padding:0 20px;font-size:18px}.operation-row,.compensation-employee,.employee-directory-row,.simple-record-list>button{gap:18px;min-height:96px}.operation-row b,.factory-operation-grid b,.simple-record-list b,.directory-person b,.compensation-employee b,.catering-event-list b{font-size:20px;line-height:1.3}.operation-row small,.factory-operation-grid small,.simple-record-list small,.directory-person small,.directory-scope b,.directory-scope small,.compensation-employee small,.catering-event-list small{font-size:16px;line-height:1.4}.employment-pill,.record-state,.ocr-role-badge,.ocr-pt-chips span{padding:8px 12px;font-size:15px;line-height:1.25}.operation-field,.master-field,.report-filters label,.operation-check{font-size:17px;line-height:1.35}.operation-field input,.operation-field select,.operation-field textarea,.master-field input,.master-field select,.report-filters input,.report-filters select,.telegram-setup form>label:not(.telegram-check) input{border-radius:14px;min-height:58px;padding:0 16px;font-size:18px}.telegram-setup{border-radius:28px;width:min(700px,100%);padding:34px}.telegram-explainer b,.telegram-secret-note b{font-size:20px}.telegram-explainer p,.telegram-secret-note small,.telegram-check span{font-size:17px;line-height:1.45}.report-type-grid button{border-radius:20px;min-height:126px;padding:20px}.report-type-grid b{font-size:20px;line-height:1.3}.report-type-grid small{font-size:16px;line-height:1.45}.report-summary-grid>div{min-height:126px;padding:22px}.report-summary-grid span{font-size:16px}.report-summary-grid b{font-size:32px}.report-summary-grid small,.report-table{font-size:15px}.report-table th,.report-table td{padding:14px 16px}}@media (width>=1024px) and (width<=1380px){.app-shell{grid-template-columns:270px minmax(0,1fr)}.content{padding-left:28px;padding-right:28px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}nav button,.sidebar-bottom>button{font-size:19px}.brand strong{font-size:26px}}.weekly-off-panel{overflow:visible}.weekly-off-header{grid-template-columns:1fr;align-items:stretch;gap:16px;margin-bottom:20px;background:0 0!important;border:0!important;height:auto!important;min-height:0!important;padding:0!important;display:grid!important;position:static!important;top:auto!important}.weekly-off-copy{min-width:0}.weekly-off-copy .section-kicker,.weekly-off-copy h3,.weekly-off-copy p{overflow-wrap:anywhere;max-width:100%}.weekly-off-copy .section-kicker{line-height:1.25}.weekly-off-copy h3{margin:6px 0 8px;line-height:1.18}.weekly-off-copy p{line-height:1.55}.weekly-off-apply{justify-content:center;align-self:stretch;width:100%;max-width:100%;line-height:1.25;white-space:normal!important;margin:0!important}.weekly-off-list{margin-top:4px}.weekly-off-list label{min-width:0;height:auto;min-height:0}.weekly-off-list label>span{min-width:0}.weekly-off-list select{max-width:100%}@media (width<=820px){.weekly-off-panel{padding:20px}.weekly-off-header{gap:18px}.weekly-off-copy h3{font-size:clamp(29px,7vw,40px)}.weekly-off-copy p{font-size:clamp(17px,4.3vw,22px)}.weekly-off-apply{border-radius:20px;min-height:64px;padding:14px 16px;font-size:clamp(18px,4.8vw,24px)}.weekly-off-list{gap:16px;display:grid}.weekly-off-list label{border-radius:22px;grid-template-columns:1fr;gap:14px;padding:20px;display:grid}.weekly-off-list b{font-size:clamp(24px,6vw,32px);line-height:1.25}.weekly-off-list small{font-size:clamp(17px,4.2vw,22px);line-height:1.35}.weekly-off-list select{border-radius:18px;min-height:64px;padding:0 18px;font-size:clamp(20px,5vw,26px)}}.ocr-heading{align-items:flex-start;gap:14px}.ocr-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ocr-actions button{white-space:nowrap}.ocr-actions .ocr-key-ready{color:#315f34;background:#edf7e8;border-color:#cfe4c6}.ocr-key-banner{color:#8a541f;background:#fff6e9;border:1px solid #f1d5b8;border-radius:18px;align-items:flex-start;gap:12px;min-width:0;max-width:100%;margin:4px 0 16px;padding:15px;display:flex}.ocr-key-banner.ready{color:#3a6b3b;background:#f0f8eb;border-color:#cde4c5}.ocr-key-banner b,.ocr-key-banner small{display:block}.ocr-key-banner span{min-width:0;max-width:100%}.ocr-key-banner b{font-size:16px;line-height:1.35}.ocr-key-banner small{max-width:100%;color:inherit;opacity:.82;overflow-wrap:anywhere;word-break:break-word;margin-top:3px;font-size:13px;line-height:1.45}.operation-muted-note{color:#5c715f;background:#f3f8ef;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}.operation-danger svg{vertical-align:-3px;margin-right:6px}@media (width<=560px){.ocr-heading{display:grid}.ocr-actions{justify-content:stretch}.ocr-actions button{flex:100%;justify-content:center;min-height:52px;font-size:16px}.ocr-key-banner{border-radius:20px;padding:16px}.ocr-key-banner b{font-size:18px}.ocr-key-banner small,.operation-muted-note{font-size:15px}}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #24634a38}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--green-900);color:#fff;z-index:20;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex-direction:column;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:11px;padding:0 6px 22px;display:flex}.brand-mark{width:40px;height:40px;color:var(--green-900);background:#f2a65a;border-radius:13px;place-items:center;font:700 17px Outfit;display:grid;box-shadow:inset 0 -4px #00000014}.brand strong{letter-spacing:.1px;font:700 18px Outfit;display:block}.brand span{color:#a9c1b6;text-transform:uppercase;letter-spacing:1.15px;margin-top:2px;font-size:10px;display:block}.workspace-chip{background:#ffffff0e;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:9px;margin-bottom:23px;padding:11px;display:flex}.workspace-chip>svg{color:#96aa9f;margin-left:auto}.workspace-chip b,.workspace-chip small{display:block}.workspace-chip b{font-size:12px}.workspace-chip small{color:#a9c1b6;font-size:10px}.workspace-avatar{background:#2d6b51;border-radius:9px;place-items:center;width:31px;height:31px;font:600 11px Outfit;display:grid}.nav-label{color:#759487;text-transform:uppercase;letter-spacing:1px;margin:0 10px 9px;font-size:10px}nav{gap:4px;display:grid}nav button,.sidebar-bottom>button{color:#b7c9c1;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:13px;display:flex}.nav-count{color:#fff;background:#ef8b3b;border-radius:50%;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:10px;display:grid}.sidebar-bottom{margin-top:auto}.profile-mini{border-top:1px solid #ffffff1a;align-items:center;gap:9px;margin-top:12px;padding:14px 7px 0;display:flex}.profile-mini>svg{color:#8ea59a;margin-left:auto}.profile-logout{color:#8ea59a;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:6px}.profile-mini b,.profile-mini small{display:block}.profile-mini b{font-size:12px}.profile-mini small{color:#89a095;font-size:10px}.avatar{color:#fff;background:#3f7d61;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}main{min-width:0}header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:10;background:#ffffffe0;align-items:center;height:75px;padding:0 32px;display:flex;position:sticky;top:0}header h1{margin:0;font-size:20px}header p{color:var(--muted);margin:2px 0 0;font-size:11px}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.icon-button{border:1px solid var(--line);color:#53645c;cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:37px;height:37px;display:grid}.notification{position:relative;overflow:visible}.notification.has-count{color:#2f7048;background:#fbfffb;border-color:#c7dfcf}.notification-badge{color:#fff;background:#e26942;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px;box-shadow:0 6px 14px #a94e2f38}.connection{color:#7b8881;align-items:center;gap:6px;font-size:10px;display:flex}.connection>span{background:#d79a5d;border-radius:50%;width:7px;height:7px}.connection.online>span{background:#4aa579}.app-navigator{background:#fffffff0;border:1px solid #d7e6dc;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:calc(100% - 64px);max-width:1480px;margin:16px auto 0;padding:8px;display:grid;box-shadow:0 10px 28px #24533914}.app-navigator button{color:#2f7048;cursor:pointer;background:#e8f5ec;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:14px;font-weight:900;display:inline-flex}.app-navigator button:disabled{color:#87968d;opacity:.55;cursor:not-allowed;background:#f2f5f2}.app-navigator strong{color:#4f6358;text-align:center;white-space:nowrap;min-width:120px;font-size:14px;font-weight:1000}.content{width:100%;min-width:0;max-width:1480px;margin:0 auto;padding:28px 32px 45px;overflow-x:clip}.welcome{color:#fff;min-height:126px;box-shadow:var(--shadow);background:radial-gradient(circle at 86% 30%,#f2a65a4d,#0000 18%),linear-gradient(115deg,#143d2e,#286047);border-radius:18px;align-items:center;padding:26px 30px;display:flex;overflow:hidden}.welcome h2{margin:7px 0 5px;font-size:24px}.welcome p{color:#c5d8d0;margin:0;font-size:12px}.welcome .daily-motivation{text-wrap:balance;overflow-wrap:normal;max-width:18ch}.motivation-manage-button{color:#315e3d;cursor:pointer;background:#fff6;border:1px solid #2f5e3e33;border-radius:12px;align-items:center;gap:7px;min-height:38px;margin-top:15px;padding:8px 13px;font-weight:800;display:inline-flex}.motivation-manager{background:#fff;border-radius:24px;width:min(920px,100%);max-height:calc(100vh - 30px);padding:24px;overflow:auto;box-shadow:0 25px 80px #04120c4d}.motivation-preview-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.motivation-preview-grid article{color:#244d37;background:#eef7f1;border:1px solid #cfe2d5;border-radius:16px;padding:16px}.motivation-preview-grid small,.motivation-preview-grid b{display:block}.motivation-preview-grid small{color:#5b7667}.motivation-preview-grid b{margin-top:7px;line-height:1.45}.motivation-form{border:1px solid var(--line);background:#fafcf9;border-radius:16px;margin-top:16px;padding:16px}.motivation-form label{color:#52645b;font-weight:800;display:block}.motivation-form textarea{resize:vertical;width:100%;min-height:92px;font:inherit;border:1px solid #d8e0db;border-radius:12px;margin-top:7px;padding:12px}.motivation-count{color:#567166;text-align:right;margin-top:6px}.motivation-count.invalid{color:#a54f40;font-weight:800}.motivation-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.motivation-library{gap:9px;margin-top:18px;display:grid}.motivation-library>header{justify-content:space-between;align-items:center;display:flex}.motivation-library>header b,.motivation-library>header small{display:block}.motivation-library article{background:#fff;border:1px solid #dce7df;border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px;display:grid}.motivation-library article.disabled{opacity:.58;background:#f1f3f1}.motivation-library article>span{color:#2f7655;background:#eaf5ed;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.motivation-library article b,.motivation-library article small{display:block}.motivation-library article small{color:var(--muted);margin-top:3px}.motivation-library article button{color:#397158;cursor:pointer;background:#fff;border:1px solid #d3dfd7;border-radius:10px;align-items:center;gap:5px;min-height:38px;padding:7px 10px;display:inline-flex}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:1.1px;font-size:9px;font-weight:700}.eyebrow{color:#f4b876;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;line-height:1.4;display:flex}.welcome-date{background:#ffffff14;border:1px solid #ffffff1f;border-radius:13px;min-width:180px;margin-left:auto;padding:13px 18px}.welcome-date span,.welcome-date strong{display:block}.welcome-date span{color:#a7c0b5;font-size:9px}.welcome-date strong{margin-top:3px;font-size:12px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin:17px 0;display:grid}.metric-card,.card,.quick-actions{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px}.metric-card{min-height:136px;padding:17px;position:relative}.metric-icon{border-radius:11px;place-items:center;width:37px;height:37px;display:grid;position:absolute;top:15px;right:15px}.metric-icon.green,.approval-icon.green{color:#28714e;background:#e3f2e9}.metric-icon.blue,.approval-icon.blue{color:#39729b;background:#e5f0f7}.metric-icon.orange,.approval-icon.orange{color:#b76628;background:#faecdf}.metric-icon.purple,.approval-icon.purple{color:#765f99;background:#eee9f5}.metric-top{color:var(--muted);font-size:11px;display:flex}.metric-top svg{margin-left:auto}.metric-card>strong{color:#173a2d;margin-top:12px;font:700 30px Outfit;display:block}.metric-card p{color:var(--muted);margin:0;font-size:10px}.metric-card small{margin-top:6px;font-size:9px;display:block}.metric-card small.green{color:#2f8059}.metric-card small.orange{color:#c56a2b}.metric-card small.blue{color:#39729b}.metric-card small.purple{color:#765f99}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:17px;margin-bottom:17px;display:grid}.dashboard-grid.lower{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:21px}.card-heading{align-items:flex-start;margin-bottom:16px;display:flex}.card-heading>:last-child{margin-left:auto}.section-kicker{color:#8b9791;margin-bottom:3px;display:block}.card h3,.quick-actions h3{margin:0;font-size:15px}.shift-badge,.quality-pill,.filter-button,.filter-select{color:#28714e;background:#e6f3eb;border:0;border-radius:20px;padding:6px 10px;font-size:9px}.clock-face{text-align:center;padding:5px 0 17px}.clock-face small,.clock-face span{color:var(--muted);font-size:10px;display:block}.clock-face strong{letter-spacing:-1px;color:#173a2d;margin:3px 0;font:700 46px Outfit;display:block}.clock-face span{justify-content:center;align-items:center;gap:4px;display:flex}.check-button{background:var(--green-900);color:#fff;text-align:left;cursor:pointer;border:0;border-radius:13px;align-items:center;gap:12px;width:100%;padding:14px;display:flex;box-shadow:0 8px 18px #12372a26}.check-button>span{flex:1}.check-button b,.check-button small{display:block}.check-button b{font-size:12px}.check-button small{color:#b9d0c6;margin-top:2px;font-size:9px}.location-quality{color:#46735f;align-items:center;gap:10px;padding:12px 5px 0;display:flex}.location-quality>div{flex:1}.location-quality b,.location-quality span{display:block}.location-quality b{font-size:10px}.location-quality div span{color:var(--muted);font-size:9px}.text-button,.row-link{color:#397158;cursor:pointer;background:0 0;border:0;align-items:center;font-size:10px;display:flex}.approval-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ec;align-items:center;gap:10px;width:100%;padding:9px 0;display:flex}.approval-row>span:nth-child(2){flex:1}.approval-row b,.approval-row small{display:block}.approval-row b{font-size:11px}.approval-row small{color:var(--muted);margin-top:2px;font-size:9px}.approval-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.outline-button{color:#315e49;cursor:pointer;background:#fff;border:1px solid #cbd8d1;border-radius:9px;width:100%;margin-top:13px;padding:9px;font-size:10px}.filter-button,.filter-select{color:#66746d;border:1px solid var(--line);background:#f4f6f3}.filter-select{cursor:pointer;min-width:118px;font-weight:700}.team-row{border-bottom:1px solid #eef0ed;grid-template-columns:34px minmax(0,1fr) minmax(54px,max-content) minmax(88px,max-content);align-items:center;gap:12px;min-height:72px;display:grid}.person-dot{border-radius:50%;place-items:center;width:31px;height:31px;font-size:10px;font-weight:700;display:grid}.person-dot.green{color:#28714e;background:#e2f1e9}.person-dot.orange{color:#b76628;background:#f9eadb}.person-dot.blue{color:#39729b;background:#e3eef5}.person-dot.purple{color:#765f99;background:#ede8f5}.person-name{min-width:0}.person-name b,.person-name small{display:block}.person-name b{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.person-name small,.person-time{color:var(--muted);font-size:11px}.person-shift{margin-top:2px;font-weight:700;color:#397158!important}.person-time{white-space:nowrap;text-align:right;min-width:3.6em}.person-time b,.person-time small{display:block}.person-time b{color:#264437;font-size:12px;line-height:1.1}.person-time small{color:var(--muted);margin-top:2px;font-size:9px}.status-pill{white-space:normal;text-align:center;border-radius:20px;justify-self:end;max-width:150px;padding:6px 9px;font-size:10px;line-height:1.25}.status-pill.green{color:#28714e;background:#e6f3eb}.status-pill.orange{color:#b76628;background:#faecdf}.status-pill.blue{color:#39729b;background:#e5f0f7}.status-pill.purple{color:#765f99;background:#eee9f5}.row-link{margin:13px auto 0}.event-list{gap:3px;display:grid}.event-item{width:100%;min-height:59px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #eef0ed;align-items:center;gap:11px;padding:0;display:flex}.event-item>div{flex:1}.event-item b,.event-item span{display:block}.event-item b{font-size:12px;line-height:1.4}.event-item div span{color:var(--muted);margin-top:3px;font-size:10px}.event-date{text-align:center;border-radius:9px;flex:none;width:51px;padding:10px 4px;font-size:10px;font-weight:700}.event-date.orange{color:#b76628;background:#faecdf}.event-date.green{color:#28714e;background:#e6f3eb}.event-date.blue{color:#39729b;background:#e5f0f7}.factory-list{gap:3px;display:grid}.factory-item{color:#263d33;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #eef0ed;align-items:center;gap:9px;width:100%;min-height:61px;padding:8px 0;display:flex}.factory-icon{border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.factory-icon.orange{color:#b76628;background:#faecdf}.factory-icon.blue{color:#39729b;background:#e5f0f7}.factory-icon.purple{color:#765f99;background:#eee9f5}.factory-icon.green{color:#28714e;background:#e3f2e9}.factory-info{flex:1;min-width:0}.factory-info b,.factory-info small,.factory-count b,.factory-count small{display:block}.factory-info b{font-size:12px}.factory-info small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.factory-count{text-align:right;flex:none}.factory-count b{color:#285f48;font:700 13px Outfit}.factory-count small{color:var(--muted);font-size:8px}.dashboard-empty-row{color:#60746a;text-align:center;background:#f7faf8;border:1px dashed #cbded3;border-radius:16px;place-items:center;min-height:92px;padding:18px;font-size:18px;font-weight:700;line-height:1.45;display:grid}.quick-actions{grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:12px;padding:19px 21px;display:grid}.quick-actions button{border:1px solid var(--line);color:#315e49;text-align:left;cursor:pointer;background:#fbfcfa;border-radius:11px;align-items:center;gap:9px;min-height:56px;padding:10px;display:flex}.quick-actions button:hover{background:#f6faf7;border-color:#a8c4b6}.quick-actions b,.quick-actions small{display:block}.quick-actions b{font-size:9px}.quick-actions small{color:var(--muted);margin-top:2px;font-size:8px}.mobile-bottom-nav,.mobile-more-sheet,.more-backdrop{display:none}.app-loading{background:#f4f6f2;place-content:center;justify-items:center;gap:13px;min-height:100vh;display:grid}.app-loading p{color:var(--muted);margin:0;font-size:13px}.auth-page{background:#f6f7f4;grid-template-columns:minmax(360px,.9fr) minmax(430px,1.1fr);min-height:100vh;display:grid}.auth-brand-panel{color:#fff;background:radial-gradient(circle at 75% 25%,#ef8b3b3d,#0000 25%),linear-gradient(145deg,#103326,#255d45);flex-direction:column;justify-content:space-between;padding:50px clamp(35px,6vw,90px);display:flex}.auth-logo,.auth-mobile-logo{align-items:center;gap:10px;font:700 20px Outfit;display:flex}.auth-logo>span,.auth-mobile-logo>span{color:#173a2d;background:#f2a65a;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.auth-kicker{color:#e89d58;letter-spacing:1.4px;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.auth-brand-panel h1{margin:12px 0;font-size:clamp(34px,4vw,55px);line-height:1.24}.auth-brand-panel>div:nth-child(2) p{color:#c3d6cd;max-width:530px;font-size:14px;line-height:1.8}.auth-security{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:11px;padding:15px;display:flex}.auth-security b,.auth-security small{display:block}.auth-security b{font-size:11px}.auth-security small{color:#aac0b6;margin-top:2px;font-size:9px}.auth-form-panel{place-items:center;padding:35px;display:grid}.auth-form{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:38px}.auth-mobile-logo{color:#173a2d;margin-bottom:28px;display:none}.auth-form h2{margin:6px 0 2px;font-size:30px}.auth-form>p{color:var(--muted);margin:0 0 25px;font-size:12px}.auth-form label{color:#455b51;margin-top:15px;font-size:11px;font-weight:600;display:block}.auth-input{color:#718078;border:1px solid #dce3de;border-radius:11px;align-items:center;gap:9px;height:49px;margin-top:6px;padding:0 13px;display:flex}.auth-input:focus-within{border-color:#6b9c84;box-shadow:0 0 0 3px #34745417}.auth-input input{min-width:0;font:inherit;color:#183028;background:0 0;border:0;outline:0;flex:1}.auth-input button{color:#718078;cursor:pointer;background:0 0;border:0}.auth-submit{background:var(--green-900);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:49px;margin-top:21px;font-weight:700;display:flex}.auth-submit:disabled{opacity:.65}.auth-link,.auth-preview{color:#397158;cursor:pointer;background:0 0;border:0;width:100%;padding:11px;font-size:10px}.auth-preview{color:#7a8881;border-top:1px solid #edf0ed}.auth-message{color:#9b4b32;background:#fff0ea;border-radius:9px;margin-top:13px;padding:10px 11px;font-size:10px}.capture-overlay{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b1d169e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.capture-sheet{background:#fff;border-radius:22px;width:min(520px,100%);max-height:calc(100vh - 30px);padding:22px;overflow:auto;box-shadow:0 25px 80px #04120c4d}.capture-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;align-items:flex-start;height:auto;padding:0;display:flex;position:static}.capture-header>button{margin-left:auto}.capture-header span{color:var(--orange);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:700}.capture-header h2{margin:3px 0 0;font-size:20px}.capture-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.capture-steps span{color:#9aa49f;align-items:center;gap:5px;font-size:9px;display:flex}.capture-steps i{background:#edf0ed;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;font-style:normal;display:grid}.capture-steps span.active{color:#2d6b51;font-weight:700}.capture-steps span.active i{color:#fff;background:#2d6b51}.capture-stage{text-align:center}.capture-stage h3{margin:11px 0 4px;font-size:18px}.capture-stage>p{max-width:390px;color:var(--muted);margin:0 auto 20px;font-size:11px;line-height:1.65}.location-stage{padding:35px 15px 15px}.capture-hero-icon{color:#2d6b51;background:#e5f2eb;border-radius:20px;place-items:center;width:68px;height:68px;margin:auto;display:grid}.capture-primary,.capture-secondary{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 17px;font-weight:700;display:inline-flex}.capture-primary{color:#fff;background:var(--green-900);border:0}.capture-primary:disabled{opacity:.6}.capture-secondary{color:#436153;background:#fff;border:1px solid #d5ded9}.camera-frame{aspect-ratio:4/5;background:#12241c;border-radius:18px;max-height:480px;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-loading{color:#fff;justify-content:center;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;inset:0}.face-guide{aspect-ratio:.78;border:2px dashed #fff9;border-radius:48%;width:54%;position:absolute;top:12%;left:23%}.location-confirm{color:#327054;align-items:center;gap:8px;width:max-content;max-width:100%;margin:12px auto 0;display:flex}.location-confirm b,.location-confirm small{text-align:left;display:block}.location-confirm b{font-size:10px}.location-confirm small{color:var(--muted);font-size:9px}.camera-shutter{color:#fff;background:var(--green-900);cursor:pointer;border:6px solid #e1ece6;border-radius:50%;place-items:center;width:67px;height:67px;margin:15px auto 8px;display:grid}.camera-hint{margin-bottom:0!important}.photo-preview{aspect-ratio:4/4.3;background:#e7ebe8;border-radius:17px;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.face-check-message{text-align:left;border-radius:13px;align-items:flex-start;gap:9px;margin:12px 0;padding:12px 13px;font-weight:700;line-height:1.45;display:flex}.face-check-message span{display:block}.face-check-message.passed{color:#236b4d;background:#e7f5ed;border:1px solid #bedfcc}.face-check-message.failed{color:#9b4b32;background:#fff0ea;border:1px solid #f4c7b9}.face-check-message.warning,.face-check-message.manual_review,.face-check-message.checking{color:#7b5b16;background:#fff8df;border:1px solid #eadb9e}.face-policy-check{color:#6b5420;text-align:left;cursor:pointer;background:#fff8df;border:1px solid #eadb9e;border-radius:13px;align-items:flex-start;gap:10px;margin:12px 0;padding:13px;display:flex}.face-policy-check.checked{color:#236b4d;background:#e7f5ed;border-color:#bedfcc}.face-policy-check input{accent-color:#2d6b51;flex:none;width:20px;height:20px;margin:3px 0 0}.face-policy-check b,.face-policy-check small{display:block}.face-policy-check b{font-size:12px;line-height:1.35}.face-policy-check small{color:inherit;opacity:.88;margin-top:4px;font-size:10px;line-height:1.5}.face-policy-hint{text-align:left;font-weight:700;line-height:1.55;color:#9b4b32!important;margin:-4px 0 12px!important;font-size:10px!important}.capture-summary{text-align:left;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0;display:grid}.capture-summary>div{background:#f4f6f3;border-radius:9px;padding:10px 11px}.capture-summary span,.capture-summary b{display:block}.capture-summary span{color:var(--muted);font-size:8px}.capture-summary b{margin-top:2px;font-size:10px}.capture-actions{grid-template-columns:.8fr 1.2fr;gap:9px;display:grid}.telegram-note{background:#eef6f1;border-radius:9px;padding:9px;color:#43705b!important;margin:12px auto 0!important;font-size:9px!important}.capture-error{color:#9b4b32;background:#fff0ea;border-radius:9px;margin-top:12px;padding:10px;font-size:10px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.attendance-toast{z-index:70;color:#fff;background:#226047;border-radius:13px;align-items:center;gap:9px;max-width:420px;padding:13px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 35px #0c2d2040}.attendance-toast>span{flex:1}.attendance-toast b,.attendance-toast small{display:block}.attendance-toast b{font-size:11px}.attendance-toast small{color:#c5dbd1;margin-top:2px;font-size:9px}.attendance-toast button{color:#fff;background:0 0;border:0}.attendance-toast.attendance-warning{background:#9a6426}@media (width>=821px){.attendance-toast{border-radius:24px;gap:20px;width:min(760px,100vw - 360px);max-width:760px;min-height:118px;padding:24px 26px;bottom:28px;right:28px;box-shadow:0 22px 60px #0c2d2047}.attendance-toast svg{flex:none;width:42px;height:42px}.attendance-toast b{font-size:clamp(24px,1.35vw,32px);line-height:1.25}.attendance-toast small{margin-top:7px;font-size:clamp(19px,1.05vw,25px);line-height:1.45}.attendance-toast button{cursor:pointer;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.attendance-toast button svg{width:28px;height:28px}}.telegram-setup{background:#fff;border-radius:22px;width:min(500px,100%);max-height:calc(100vh - 30px);padding:23px;overflow:auto;box-shadow:0 25px 80px #04120c4d}.telegram-explainer{color:#2d6b51;background:#edf6f1;border-radius:13px;gap:11px;margin:20px 0;padding:14px;display:flex}.telegram-explainer b{font-size:12px}.telegram-explainer p{color:#61756b;margin:3px 0 0;font-size:10px;line-height:1.5}.telegram-setup form>label:not(.telegram-check){color:#4c6056;margin:13px 0;font-size:10px;font-weight:700;display:block}.telegram-setup form>label input[type=text],.telegram-setup form>label:not(.telegram-check) input{width:100%;height:46px;font:inherit;border:1px solid #d8e0db;border-radius:10px;outline:0;margin-top:5px;padding:0 12px}.telegram-setup form>label:not(.telegram-check) input[readonly]{color:#315d43;cursor:copy;background:#f5faf6;border-style:dashed}.telegram-check{cursor:pointer;margin:8px 0;display:block}.telegram-check input{opacity:0;position:absolute}.telegram-check span{color:#52675d;border:1px solid #dce3de;border-radius:10px;align-items:center;gap:8px;padding:11px;font-size:10px;display:flex}.telegram-check input:checked+span{color:#28684b;background:#edf6f1;border-color:#8dbba4}.telegram-save{width:100%;margin-top:13px}.telegram-secret-note{color:#567166;border-top:1px solid #edf0ed;align-items:center;gap:9px;margin-top:15px;padding-top:13px;display:flex}.telegram-secret-note b,.telegram-secret-note small{display:block}.telegram-secret-note b{font-size:10px}.telegram-secret-note small{color:var(--muted);margin-top:2px;font-size:8px}.line-status{background:#f0faef;border:1px solid #c9e4d1;border-radius:14px;margin:0 0 14px;padding:12px}.line-copy{justify-content:center;width:100%;margin:-2px 0 10px}.shift-page{gap:17px;width:100%;min-width:0;max-width:100%;display:grid}.shift-hero{color:#fff;width:100%;min-width:0;min-height:135px;box-shadow:var(--shadow);background:linear-gradient(120deg,#153e2f,#316c50);border-radius:18px;align-items:center;padding:25px 28px;display:flex;overflow:hidden}.shift-hero>div{min-width:0}.shift-hero h2{margin:7px 0 4px;font-size:24px}.shift-hero p{color:#c5d8d0;margin:0;font-size:11px}.shift-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;margin-left:auto;display:flex}.shift-primary-button{color:#18382b;cursor:pointer;background:#f4ae67;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:43px;margin-left:auto;padding:0 15px;font-size:10px;font-weight:700;display:inline-flex}.shift-hero-actions .shift-primary-button{margin-left:0}.bulk-hero-button{color:#fff;background:#2f7655}.shift-overview{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.shift-overview>div{border:1px solid var(--line);color:#397158;box-shadow:var(--shadow);background:#fff;border-radius:13px;align-items:center;gap:11px;padding:15px;display:flex}.shift-overview b,.shift-overview small{display:block}.shift-overview b{color:#18382b;font:700 22px Outfit}.shift-overview small{color:var(--muted);font-size:9px}.shift-section{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:21px;overflow:hidden}.shift-section-heading{align-items:center;margin-bottom:16px;display:flex}.shift-section-heading>:last-child{margin-left:auto}.shift-section-heading h3{margin:0;font-size:16px}.shift-text-button{color:#397158;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:10px;display:flex}.shift-type-grid{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.shift-type-card{border:1px solid var(--line);color:#263d33;text-align:left;cursor:pointer;background:#fbfcfa;border-radius:13px;min-height:174px;padding:15px;position:relative}.shift-type-card.selected{border-color:#79a78f;box-shadow:0 0 0 3px #3e7d5e17}.shift-type-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.shift-type-icon.green{color:#28714e;background:#e3f2e9}.shift-type-icon.orange{color:#b76628;background:#faecdf}.shift-type-icon.purple{color:#765f99;background:#eee9f5}.shift-type-icon.blue{color:#39729b;background:#e5f0f7}.shift-type-label{color:#66766e;background:#eef1ee;border-radius:20px;padding:4px 7px;font-size:8px;position:absolute;top:15px;right:13px}.shift-type-card>b,.shift-type-card>strong,.shift-type-card>small{display:block}.shift-type-card>b{margin-top:12px;font-size:11px}.shift-type-card>strong{margin:2px 0;font:700 19px Outfit}.shift-type-card>small{color:var(--muted);font-size:8px}.shift-department-scope{color:#2f7a54;background:#eaf6ee;border-radius:999px;align-items:center;width:fit-content;max-width:100%;margin-top:8px;padding:5px 8px;font-size:8px;font-weight:800;line-height:1.25;display:inline-flex}.shift-people{color:#397158;align-items:center;gap:4px;margin-top:11px;font-size:9px;display:flex}.week-controls{gap:5px;display:flex}.week-controls button{border:1px solid var(--line);color:#53645c;cursor:pointer;background:#fff;border-radius:8px;place-items:center;height:32px;padding:0 9px;display:grid}.week-controls .today-button{font-size:9px}.schedule-range-controls{background:#f8fcf8;border:1px solid #dce8df;border-radius:14px;gap:10px;margin:-4px 0 13px;padding:12px;display:grid}.schedule-week-jump{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.schedule-week-jump button{border:1px solid var(--line);color:#2f6f51;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-weight:800;display:flex}.schedule-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.schedule-date-range label,.schedule-date-field{color:#53645c;gap:5px;font-size:9px;font-weight:800;display:grid}.schedule-date-range input{border:1px solid var(--line);color:#18382b;width:100%;min-height:40px;font:inherit;background:#fff;border-radius:10px;padding:0 11px}.responsive-date-picker{width:100%;position:relative}.desktop-date-trigger{border:1px solid var(--line);color:#18382b;width:100%;min-height:40px;font:inherit;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-weight:800;display:flex}.mobile-native-date-input{display:none}.desktop-calendar-popover{z-index:80;color:#173b2a;background:#fff;border:1px solid #cfded3;border-radius:18px;width:332px;padding:18px;font-size:15px;font-weight:700;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #14362638}.schedule-date-field:last-child .desktop-calendar-popover,.time-input-row>label:last-child .desktop-calendar-popover{left:auto;right:0}.desktop-calendar-header{grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;min-height:42px;display:grid}.desktop-calendar-header strong{text-align:center;font-size:17px}.desktop-calendar-header button{color:#286747;cursor:pointer;background:#f7fbf8;border:1px solid #dce8df;border-radius:11px;place-items:center;width:42px;height:42px;padding:0;display:grid}.desktop-calendar-weekdays,.desktop-calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.desktop-calendar-weekdays{color:#738179;text-align:center;margin:13px 0 7px;font-size:13px}.desktop-calendar-weekdays span{place-items:center;min-height:28px;display:grid}.desktop-calendar-days button{aspect-ratio:1;color:#254635;width:100%;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.desktop-calendar-days button:hover{background:#eaf5ed}.desktop-calendar-days button.outside-month{color:#a6b0aa;font-weight:500}.desktop-calendar-days button.today{box-shadow:inset 0 0 0 2px #78a88c}.desktop-calendar-days button.selected{color:#fff;box-shadow:none;background:#2f7655}.desktop-calendar-footer{border-top:1px solid #e5ece7;justify-content:space-between;margin-top:13px;padding-top:12px;display:flex}.desktop-calendar-footer button{color:#2f6f51;min-height:38px;font:inherit;cursor:pointer;background:#edf6ef;border:0;border-radius:10px;padding:0 14px;font-size:14px;font-weight:800}.shift-editor-form .responsive-date-picker{margin-top:5px}.shift-editor-form .desktop-date-trigger{min-height:43px}.shift-editor-form .responsive-date-picker .mobile-native-date-input{margin-top:0}.schedule-toolbar{gap:8px;margin-bottom:13px;display:flex}.schedule-toolbar label{border:1px solid var(--line);color:#7e8b84;border-radius:9px;align-items:center;gap:7px;min-width:220px;height:36px;padding:0 10px;display:flex}.schedule-toolbar input{min-width:0;font:inherit;border:0;outline:0}.schedule-toolbar button{border:1px solid var(--line);color:#52665c;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:9px;display:flex}.schedule-toolbar .auto-shift-button{color:#fff;border-color:var(--green-900);background:var(--green-900);margin-left:auto}.schedule-toolbar .schedule-department-filter{min-width:150px}.schedule-department-filter select{color:#52665c;width:100%;font:inherit;background:#fff;border:0;outline:0;font-size:9px}.schedule-scroll{overscroll-behavior-x:contain;width:100%;max-width:100%;padding-bottom:5px;overflow-x:auto}.schedule-grid{min-width:max(960px, calc(185px + var(--schedule-day-count,7) * 125px));grid-template-columns:185px repeat(var(--schedule-day-count,7), minmax(105px, 1fr));gap:5px;display:grid}.schedule-row{display:contents}.schedule-header{text-align:center;color:#728078;background:#f3f5f2;border-radius:8px;padding:8px;font-size:9px}.schedule-header span,.schedule-header b{display:block}.schedule-header b{color:#263d33;font:700 14px Outfit}.schedule-header.employee-column{text-align:left;align-items:center;font-weight:700;display:flex}.employee-cell{border-bottom:1px solid #eef0ed;align-items:center;gap:8px;min-height:59px;padding:7px;display:flex}.employee-cell>span{color:#347156;background:#e6f1eb;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;font-weight:700;display:grid}.employee-cell b,.employee-cell small{display:block}.employee-cell b{font-size:9px}.employee-cell small{color:var(--muted);font-size:8px}.shift-cell{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:52px;margin:3px 0;padding:6px}.shift-cell b,.shift-cell small{display:block}.shift-cell b{font-size:9px}.shift-cell small{opacity:.75;margin-top:2px;font-size:7px}.mobile-day-label{display:none}.shift-cell.day{color:#286b4b;background:#e8f4ed}.shift-cell.early{color:#39729b;background:#e8f2f8}.shift-cell.staggered{color:#b76628;background:#fbede1}.shift-cell.night{color:#70558f;background:#f0ebf6}.shift-cell.off{color:#7a8580;background:#f0f2ef}.shift-cell.leave{color:#3c759d;background:#e8f2f8;border-style:dashed}.schedule-legend{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.schedule-legend span{color:#6f7e76;align-items:center;gap:5px;font-size:8px;display:flex}.schedule-legend i{border-radius:3px;width:9px;height:9px}.schedule-legend i.day{background:#a8d1b8}.schedule-legend i.early{background:#a7cde1}.schedule-legend i.staggered{background:#efc19b}.schedule-legend i.night{background:#c4b2d8}.schedule-legend i.leave{background:#8ec2df}.schedule-legend i.off{background:#cdd2ce}.shift-notice{color:#876023;background:#fff9eb;border:1px solid #ead5a8;border-radius:13px;align-items:center;gap:11px;padding:15px 18px;display:flex}.shift-notice>div{flex:1}.shift-notice b{font-size:10px}.shift-notice p{margin:2px 0 0;font-size:8px}.shift-notice button{color:#9a6620;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:700}.shift-editor{background:#fff;border-radius:22px;width:min(520px,100%);max-height:calc(100vh - 30px);padding:23px;overflow:auto}.shift-editor-form{gap:12px;margin-top:18px;display:grid}.shift-editor-form>label,.time-input-row label{color:#52645b;font-size:9px;font-weight:700}.shift-editor-form input:not([type=checkbox]),.shift-editor-form select{width:100%;height:43px;font:inherit;background:#fff;border:1px solid #d8e0db;border-radius:9px;margin-top:5px;padding:0 10px}.time-input-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.next-day-toggle input{opacity:0;position:absolute}.next-day-toggle>span{border:1px solid #dce3de;border-radius:11px;grid-template-columns:24px 1fr;column-gap:8px;padding:12px;display:grid}.next-day-toggle svg{grid-row:1/3}.next-day-toggle b,.next-day-toggle small{display:block}.next-day-toggle small{color:var(--muted);margin-top:2px;font-size:8px}.next-day-toggle input:checked+span{color:#665080;background:#f3eff8;border-color:#a897c0}.shift-editor-summary{color:#327054;background:#edf6f1;border-radius:10px;align-items:center;gap:8px;padding:11px;display:flex}.shift-editor-summary b,.shift-editor-summary small{display:block}.shift-editor-summary b{font-size:9px}.shift-editor-summary small{margin-top:2px;font-size:8px}.shift-editor-summary.warning{color:#a85a35;background:#fff0e8}.bulk-assignment-editor{width:min(760px,100%)}.bulk-assignment-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.bulk-assignment-summary span{background:#f7fbf6;border:1px solid #d9e8dd;border-radius:14px;min-height:66px;padding:12px}.bulk-assignment-summary b,.bulk-assignment-summary small{display:block}.bulk-assignment-summary b{color:#16412c;font:900 24px Outfit}.bulk-assignment-summary small{color:#66776d;margin-top:2px;font-size:10px;line-height:1.3}.bulk-warning,.bulk-info{border-radius:12px;padding:11px 13px;font-size:11px;font-weight:800;line-height:1.45}.bulk-warning{color:#9b5f25;background:#fff7df}.bulk-info{color:#2f7655;background:#edf7f0}.bulk-save-status{border-radius:14px;padding:12px 14px;font-size:13px;font-weight:900;line-height:1.45}.bulk-save-status.saving{color:#2f7655;background:#eaf6ee;border:1px solid #b8ddc4}.bulk-save-status.error{color:#9f4f38;background:#fff0e9;border:1px solid #f4c9ba}.bulk-employee-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.bulk-employee-actions b,.bulk-employee-actions small{display:block}.bulk-employee-actions b{color:#234b36;font-size:13px}.bulk-employee-actions small{color:var(--muted);margin-top:2px;font-size:10px}.bulk-employee-actions>div:last-child{gap:7px;display:flex}.bulk-employee-actions button{color:#2f7655;cursor:pointer;background:#f5fbf7;border:1px solid #cfe0d5;border-radius:999px;min-height:38px;padding:0 11px;font-weight:800}.bulk-employee-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;padding-right:4px;display:grid;overflow:auto}.bulk-employee-option{cursor:pointer;background:#fff;border:1px solid #d8e5dc;border-radius:14px;grid-template-columns:22px 1fr;align-items:center;gap:8px;min-width:0;padding:11px;display:grid}.bulk-employee-option.selected{background:#eef8f1;border-color:#81b894;box-shadow:inset 0 0 0 1px #3b7e531f}.bulk-employee-option input{accent-color:#3c7d54;width:18px;height:18px}.bulk-employee-option b,.bulk-employee-option small{overflow-wrap:anywhere;min-width:0;display:block}.bulk-employee-option b{color:#213e31;font-size:12px;line-height:1.3}.bulk-employee-option small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.3}.bulk-empty{color:#708178;text-align:center;background:#fbfdfb;border:1px dashed #d5e2d8;border-radius:14px;grid-column:1/-1;padding:16px;font-weight:800}.bulk-conflict-policy{background:#fbfdfb;border:1px solid #dce8df;border-radius:14px;grid-template-columns:24px 1fr;align-items:start;gap:9px;padding:12px;display:grid}.bulk-conflict-policy input{accent-color:#3c7d54;width:19px;height:19px}.bulk-conflict-policy b,.bulk-conflict-policy small{display:block}.bulk-conflict-policy b{color:#234b36;font-size:12px}.bulk-conflict-policy small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.35}.save-shift{color:#fff;background:var(--green-900);width:100%;margin:2px 0 0}.shift-message{color:#994d34;background:#fff0e9;border-radius:10px;padding:11px 13px;font-size:10px}.shift-governance-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;display:grid}.shift-cutoff-card,.missed-shift-review-card{background:#fff;border:1px solid #dbe9df;border-radius:20px;padding:20px;box-shadow:0 10px 26px #2650380f}.shift-cutoff-card{background:linear-gradient(135deg,#f3faf5,#fff9df);justify-content:space-between;align-items:center;gap:20px;display:flex}.shift-cutoff-card h3,.missed-shift-review-card h3{color:#234b36;margin:3px 0 5px;font-size:20px}.shift-cutoff-card p{color:#617569;margin:0;font-size:14px;line-height:1.5}.shift-cutoff-card>label{color:#526b5d;min-width:245px;font-size:13px;font-weight:800}.shift-cutoff-card>label>span{gap:8px;margin-top:7px;display:flex}.shift-cutoff-card input{color:#234b36;min-width:115px;font:inherit;background:#fff;border:1px solid #cbded1;border-radius:12px;padding:10px 12px}.shift-cutoff-card button,.missed-shift-actions button{color:#fff;cursor:pointer;background:#347e58;border:0;border-radius:12px;padding:10px 14px;font-weight:800}.cutoff-readonly,.pending-pill{color:#7b6332;white-space:nowrap;background:#fff5cf;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}.missed-shift-review-card header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.missed-shift-review-card header>strong{color:#a65a34;font-size:13px}.missed-shift-empty{color:#73867b;margin:14px 0 0;font-size:13px}.missed-shift-request-list{gap:10px;margin-top:14px;display:grid}.missed-shift-request-list article{background:#fffaf0;border:1px solid #eadfc4;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;display:flex}.missed-shift-request-list article>div{gap:2px;min-width:0;display:grid}.missed-shift-request-list article b{color:#244d37;font-size:15px}.missed-shift-request-list article span,.missed-shift-request-list article small{color:#65796c;font-size:12px}.missed-shift-actions{flex:none;gap:7px;display:flex}.missed-shift-actions button.reject{color:#934f38;background:#f8dfd5}.shift-cell.cutoff-locked{border-style:dashed;border-color:#cdbf9c;position:relative}.shift-cell.cutoff-locked:after{content:"🔒";opacity:.75;font-size:10px;position:absolute;top:5px;right:6px}.shift-cell .cutoff-lock-label{color:#8a6d30;font-weight:800}.missed-shift-editor{width:min(620px,100%)}.missed-shift-editor textarea{resize:vertical;color:#244d37;width:100%;min-height:110px;font:inherit;background:#fff;border:1px solid #ccdcd1;border-radius:13px;padding:12px}.missed-shift-guidance{color:#3f6c52;background:#edf8f0;border-radius:13px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.shift-subnav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.shift-subnav.four-items{grid-template-columns:repeat(4,minmax(0,1fr))}.shift-subnav button{color:#53685e;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e6dc;border-radius:18px;min-height:74px;padding:14px 16px;box-shadow:0 8px 18px #2a513d0d}.shift-subnav button span,.shift-subnav button small{display:block}.shift-subnav button span{color:#234b36;font-size:18px;font-weight:900;line-height:1.25}.shift-subnav button small{margin-top:4px;font-size:13px;line-height:1.35}.shift-subnav button.active{background:#eaf6ee;border-color:#9fcbab;box-shadow:inset 0 0 0 2px #4e8b5b14}.shift-subnav .bulk-subnav-button{background:linear-gradient(135deg,#e8f6ec,#fff5bf);border-color:#95caa7;box-shadow:0 10px 26px #3d7d5424}.shift-subnav .bulk-subnav-button span{color:#2f7655}.company-holiday-form{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.4fr) auto auto;align-items:end;gap:12px;margin-top:18px;display:grid}.company-holiday-form label{color:#52645b;font-weight:700}.company-holiday-form input{width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d8e0db;border-radius:11px;margin-top:6px;padding:10px 12px}.company-holiday-list{gap:10px;margin-top:18px;display:grid}.company-holiday-list article{color:#2f7655;background:#f7fbf8;border:1px solid #dbe8df;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.company-holiday-list article b,.company-holiday-list article small{display:block}.company-holiday-list article small{color:var(--muted);margin-top:3px}.company-holiday-list article button{color:#2f7655;cursor:pointer;background:0 0;border:0;font-weight:800}.company-holiday-list article .holiday-remove{color:#a54f40}.shift-cell.public_holiday{color:#785813;background:#fff4bd;border-color:#e6cb67}.weekly-off-panel{background:#fbfef9;border:1px solid #d8e6dc;border-radius:20px;margin-bottom:18px;padding:20px}.weekly-off-panel>header{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.weekly-off-panel h3{color:#214833;margin:4px 0;font-size:22px;line-height:1.25}.weekly-off-panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.weekly-off-panel>header button{color:#236a47;cursor:pointer;white-space:nowrap;background:#e5f4ec;border:0;border-radius:14px;min-height:48px;margin-left:auto;padding:0 16px;font-size:14px;font-weight:900}.weekly-off-list{gap:10px;display:grid}.weekly-off-list label{color:#254637;background:#fff;border:1px solid #dce8df;border-radius:16px;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:12px;min-height:68px;padding:12px;display:grid}.weekly-off-list b,.weekly-off-list small{display:block}.weekly-off-list b{font-size:16px;line-height:1.35}.weekly-off-list small{color:var(--muted);margin-top:2px;font-size:13px}.weekly-off-list select{color:#254637;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #d8e2dc;border-radius:13px;padding:0 12px;font-size:15px;font-weight:800}.shift-loading,.shift-empty{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.shift-empty{text-align:center;flex-direction:column}.shift-empty b{color:#314d40;font-size:12px}.shift-empty p{margin:0}.shift-cell.empty{color:#789087;background:0 0;border:1px dashed #cfdad4;align-content:center;place-items:center;display:grid}.department-budget-section .shift-section-heading p{color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.55}.department-budget-section .shift-section-heading .budget-readonly-note{color:#b15c22;font-weight:900}.department-budget-list{gap:18px;display:grid}.department-budget-card{background:#fbfef9;border:1px solid #d8e6dc;border-radius:22px;overflow:hidden;box-shadow:0 10px 24px #26513b0f}.department-budget-card>header{background:#f1faef;border-bottom:1px solid #dcebdd;padding:20px 22px}.department-budget-card>header b{color:#214833;font-size:28px;line-height:1.25;display:block}.department-budget-card>header small{color:#65776e;margin-top:5px;font-size:18px;line-height:1.45;display:block}.department-budget-days{gap:0;display:grid}.budget-day-card{background:#fff;border-bottom:1px solid #e0eadf;gap:14px;padding:20px 22px;display:grid}.budget-day-card:last-child{border-bottom:0}.budget-day-card.over{background:#fff6ef}.budget-day-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.budget-day-title b{color:#224b36;font-size:24px;line-height:1.2;display:block}.budget-day-title small{color:#6d7d74;margin-top:2px;font-size:18px;display:block}.budget-day-title strong{color:#2e764f;white-space:nowrap;background:#e5f4e8;border-radius:999px;padding:8px 12px;font-size:17px}.budget-day-card.over .budget-day-title strong{color:#b15c22;background:#fde7d8}.budget-day-card label{color:#536960;gap:8px;font-size:18px;font-weight:800;display:grid}.budget-day-card input{color:#214833;width:100%;min-height:58px;font:inherit;background:#fff;border:2px solid #d8e2dc;border-radius:17px;padding:0 16px;font-size:22px;font-weight:800}.budget-day-card input:disabled{color:#486155;opacity:1;cursor:not-allowed;background:#f3f7f3;border-color:#e1ebe4}.budget-day-card input:focus{border-color:#9cc5a8;outline:none;box-shadow:0 0 0 4px #6ca67a24}.budget-day-card button{color:#236a47;cursor:pointer;background:#e5f4ec;border:0;border-radius:17px;min-height:56px;font-size:19px;font-weight:900}.budget-readonly-pill{color:#6b7e74;background:#f1f6f1;border-radius:17px;place-items:center;min-height:56px;font-size:19px;font-weight:900;display:grid}.assignment-person{background:#f2f5f2;border-radius:11px;align-items:center;gap:9px;margin:18px 0 5px;padding:12px;display:flex}.assignment-person>span{color:#2e6b50;background:#dfeee6;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.assignment-person b,.assignment-person small{display:block}.assignment-person b{font-size:11px}.assignment-person small{color:var(--muted);margin-top:2px;font-size:8px}.master-page{gap:17px;width:100%;min-width:0;display:grid}.master-hero{color:#fff;min-height:135px;box-shadow:var(--shadow);background:linear-gradient(120deg,#163c2e,#326c51);border-radius:18px;align-items:center;padding:25px 28px;display:flex}.master-hero h2{margin:7px 0 4px;font-size:24px}.master-hero p{color:#c5d8d0;margin:0;font-size:11px}.master-primary{color:#18382b;cursor:pointer;background:#f4ae67;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 15px;font-size:10px;font-weight:700;display:inline-flex}.master-hero .master-primary{margin-left:auto}.master-primary.compact{color:#fff;background:var(--green-900);min-height:37px}.master-primary:disabled{opacity:.65}.master-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.master-stats>div{border:1px solid var(--line);color:#397158;box-shadow:var(--shadow);background:#fff;border-radius:13px;align-items:center;gap:11px;padding:15px;display:flex}.master-stats b,.master-stats small{display:block}.master-stats b{color:#18382b;font:700 22px Outfit}.master-stats small{color:var(--muted);font-size:9px}.master-panel{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.master-tabs{border-bottom:1px solid var(--line);background:#f8faf7;gap:5px;padding:10px;display:flex;overflow-x:auto}.master-tabs button{color:#718078;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;min-width:max-content;padding:9px 12px;font-size:10px;display:flex}.master-tabs button.active{color:#28654a;background:#fff;box-shadow:0 3px 12px #1e3c2e14}.master-content{padding:22px}.master-content-heading{align-items:flex-start;margin-bottom:17px;display:flex}.master-content-heading>button{margin-left:auto}.master-content-heading h3{margin:0;font-size:17px}.master-content-heading p{color:var(--muted);margin:4px 0 0;font-size:9px}.leave-setting-block{border:1px solid var(--line);background:var(--surface-soft);border-radius:18px;margin-top:18px;padding:18px}.leave-setting-block>h4{margin:0 0 14px;font-size:17px}.leave-setting-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.leave-setting-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:10px;padding:16px;display:grid}.leave-setting-card h4,.leave-setting-card b{color:var(--ink);margin:0}.leave-setting-card label,.master-content-heading>label,.leave-setting-block .directory-toolbar label{color:var(--muted);gap:5px;font-weight:700;display:grid}.leave-setting-card input,.master-content-heading>label input,.leave-setting-block select{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:9px 12px}.leave-employee-picker{width:min(680px,100%)}.leave-employee-picker .employee-search-combo{z-index:24;width:100%}.leave-employee-picker .employee-combo-input input{width:100%;min-width:0;height:46px;color:var(--ink);font:inherit;box-shadow:none;background:0 0;border:0;outline:0;padding:0;font-weight:800}.leave-employee-picker .employee-combo-options{max-height:min(340px,42vh)}.leave-balance-summary{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.leave-balance-summary span{background:var(--surface-soft);color:var(--muted);border-radius:10px;padding:9px;font-size:12px}.leave-balance-summary b{font-size:18px;display:block}.master-message{color:#994d34;overflow-wrap:anywhere;background:#fff0e9;border-radius:10px;margin:14px 20px 0;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.5}.master-form-error{color:#9a4632;background:#fff0eb;border:1px solid #efc5b7;border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:13px;font-weight:750;line-height:1.45}.master-loading,.master-empty{min-height:140px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.master-search{border:1px solid var(--line);color:#78877f;border-radius:10px;align-items:center;gap:8px;height:43px;margin-bottom:13px;padding:0 12px;display:flex}.master-search input{min-width:0;font:inherit;border:0;outline:0;flex:1}.directory-toolbar{grid-template-columns:1fr 190px;gap:9px;display:grid}.directory-toolbar .master-search{margin:0 0 13px}.directory-toolbar>select{border:1px solid var(--line);color:#52665c;height:43px;font:inherit;background:#fff;border-radius:10px;padding:0 10px}.employee-directory{display:grid}.employee-directory-row{color:#263d33;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:42px minmax(190px,1.4fr) minmax(130px,.9fr) 75px 82px 22px;align-items:center;gap:11px;width:100%;min-height:72px;padding:10px 5px;display:grid}.directory-avatar{color:#2f6b50;background:#e2f1e9;border-radius:50%;place-items:center;width:39px;height:39px;font-weight:700;display:grid}.directory-person b,.directory-person small,.directory-scope b,.directory-scope small{display:block}.directory-person b{font-size:12px}.directory-person b i{color:#7a8981;font-size:9px;font-style:normal;font-weight:500}.directory-person small,.directory-scope small{color:var(--muted);margin-top:2px;font-size:9px}.directory-scope b{font-size:10px}.employment-pill,.record-state{white-space:nowrap;border-radius:20px;justify-self:start;padding:5px 8px;font-size:8px}.employment-pill.daily{color:#b76628;background:#faecdf}.employment-pill.monthly{color:#39729b;background:#e5f0f7}.record-state{color:#28714e;background:#e6f3eb}.record-state.inactive{color:#7b8580;background:#edf0ed}.record-state.terminated{color:#a93627;background:#fff0ec;border:1px solid #efb6ab}.simple-record-list{display:grid}.simple-record-list>button{color:#263d33;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:43px 1fr auto 28px;align-items:center;gap:11px;width:100%;min-height:69px;padding:9px 5px;display:grid}.record-icon{color:#2f6b50;background:#e4f1e9;border-radius:11px;place-items:center;width:39px;height:39px;font-size:10px;font-weight:700;display:grid}.simple-record-list b,.simple-record-list small{display:block}.simple-record-list b{font-size:12px}.simple-record-list small{color:var(--muted);margin-top:2px;font-size:9px}.online-summary-card{color:#20462f;background:#f0f8ef;border:1px solid #cfe4d5;border-radius:18px;gap:4px;margin:14px 0;padding:15px 17px;display:grid}.online-summary-card b{font-size:17px;line-height:1.25}.online-summary-card small{color:#52695d;font-size:12px;line-height:1.45}.online-presence-grid{gap:12px;display:grid}.online-presence-card{background:#fff;border:1px solid #e0e8e2;border-radius:18px;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid;box-shadow:0 8px 20px #1d3c2c0d}.online-presence-card.online{background:#f5fbf4;border-color:#9bc9ac}.online-presence-card.offline{background:snow;border-color:#ead6ce}.online-dot{background:#c35b4b;border-radius:999px;width:13px;height:13px;margin-top:6px;box-shadow:0 0 0 5px #c35b4b1a}.online-presence-card.online .online-dot{background:#35a867;box-shadow:0 0 0 5px #35a86724}.online-presence-card b,.online-presence-card small{display:block}.online-presence-card>div>b{color:#18382b;font-size:16px;line-height:1.25}.online-presence-card small{color:#64756b;margin-top:3px;font-size:12px;line-height:1.4}.online-presence-meta{grid-column:2/-1;grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.online-presence-meta span{background:#ffffffad;border:1px solid #e2ece5;border-radius:13px;padding:9px 10px}.online-presence-meta b{color:#52695d;font-size:11px;line-height:1.2}.online-presence-meta small{color:#1d3c2c;font-size:13px;font-weight:700}.role-guide{background:#f0f8ef;border:1px solid #c9e1d0;border-radius:18px;gap:14px;margin:0 0 18px;padding:17px;display:grid}.role-guide-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.role-guide-heading>div{min-width:0}.role-guide-toggle{color:#2c6d4d;font:inherit;cursor:pointer;background:#fff;border:1px solid #b8d5c1;border-radius:11px;flex:none;align-items:center;gap:6px;padding:10px 13px;font-weight:800;display:inline-flex}.role-guide-toggle svg{transition:transform .18s}.role-guide-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.role-guide h4{color:#18382b;margin:4px 0;font-size:18px;line-height:1.25}.role-guide p{color:#5a7066;margin:0;font-size:11px;line-height:1.55}.role-guide-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.role-guide-card{background:#fff;border:1px solid #dce8df;border-radius:15px;gap:7px;padding:13px;display:grid;box-shadow:0 6px 16px #1a402c0d}.role-guide-card.can-schedule{background:#f8fcf7;border-color:#a9cfb6}.role-guide-card b{color:#18382b;font-size:13px;line-height:1.25}.role-guide-card small{color:#2f7653;font-size:10px;font-weight:800;line-height:1.35}.role-guide-card p{color:#566c61;font-size:10px;line-height:1.5}.role-employee-filter{z-index:20;background:#fbfdfb;border:1px solid #dce8df;border-radius:16px;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);align-items:end;gap:16px;margin:0 0 18px;padding:16px;display:grid;position:relative}.role-employee-filter h4{color:#18382b;margin:4px 0;font-size:16px}.role-employee-filter p{color:#62756b;margin:0;font-size:11px;line-height:1.45}.role-employee-filter .employee-search-combo{width:100%}.role-list{gap:9px;display:grid}.role-person{border:1px solid var(--line);border-radius:12px;gap:10px;padding:12px;display:flex}.role-person>div{flex:1;min-width:0}.role-person b,.role-person small{display:block}.role-person b{font-size:11px}.role-person small{color:var(--muted);font-size:8px}.role-chips{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.role-chips button,.role-chips>span{color:#306b51;cursor:pointer;background:#e7f3ec;border:0;border-radius:20px;align-items:center;gap:4px;padding:5px 8px;font-size:8px;display:flex}@media (width<=760px){.role-guide-heading{flex-direction:column;align-items:stretch}.role-guide-toggle{justify-content:center;width:100%}.role-employee-filter{grid-template-columns:1fr;align-items:stretch}}.master-editor{background:#fff;border-radius:22px;width:min(640px,100%);max-height:calc(100vh - 30px);padding:23px;overflow:auto;box-shadow:0 25px 80px #04120c4d}.master-form{gap:12px;margin-top:18px;display:grid}.form-grid{gap:10px;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}.role-form-help{color:#214833;background:#f1f8f1;border:1px solid #c9e1d0;border-radius:13px;gap:5px;padding:12px 14px;display:grid}.role-form-help b{font-size:12px;line-height:1.35}.role-form-help span{color:#536a60;font-size:10px;line-height:1.5}.role-form-help small{color:#2f7653;font-size:9px;font-weight:800;line-height:1.45}.master-field{color:#52645b;min-width:0;font-size:9px;font-weight:700}.master-field>span{margin-bottom:5px;display:block}.master-field input,.master-field select{color:#263d33;width:100%;height:43px;font:inherit;background:#fff;border:1px solid #d8e0db;border-radius:9px;outline:0;padding:0 10px}.master-field input:focus,.master-field select:focus{border-color:#6b9c84;box-shadow:0 0 0 3px #34745417}.employee-search-combo{z-index:12;position:relative}.employee-combo-input{color:#52685d;background:#fff;border:1px solid #d8e0db;border-radius:11px;align-items:center;gap:9px;min-height:48px;padding:0 12px;display:flex}.employee-combo-input:focus-within,.employee-combo-input.open{border-color:#6b9c84;box-shadow:0 0 0 3px #34745417}.master-field .employee-combo-input input{min-width:0;height:46px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;padding:0}.allowance-employee-combo .employee-combo-input input{width:100%;min-width:0;height:46px;box-shadow:none;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0;font-weight:800}.allowance-employee-combo .employee-combo-options{max-height:min(340px,42vh)}.allowance-employee-combo .employee-combo-options>button{grid-template-columns:38px minmax(0,1fr) 22px}.allowance-employee-option-copy{min-width:0;overflow:hidden}.allowance-employee-option-copy b,.allowance-employee-option-copy small{overflow-wrap:anywhere}.compensation-employee-picker{text-align:left;width:min(480px,100%)}.compensation-employee-picker>label{color:#60766a;margin-bottom:6px;font-weight:800;display:block}.compensation-employee-picker .employee-combo-input input{width:100%;min-width:0;height:46px;box-shadow:none;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0;font-weight:800}.compensation-employee-picker .employee-combo-options{max-height:min(380px,46vh)}.compensation-employee-picker .employee-combo-options>button{grid-template-columns:38px minmax(0,1fr) 22px}.compensation-employee-option-copy{min-width:0;overflow:hidden}.compensation-employee-option-copy b,.compensation-employee-option-copy small{overflow-wrap:anywhere}.comparison-filters{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start;gap:14px;margin:18px 0;display:grid}.comparison-filters>label,.comparison-filters fieldset{min-width:0;margin:0}.comparison-filters>label{gap:7px;font-weight:800;display:grid}.comparison-filters input[type=text],.comparison-filters>label input{width:100%}.comparison-filters fieldset{border:1px solid var(--line);border-radius:13px;padding:10px 13px 13px}.comparison-filters legend{color:var(--muted);padding:0 5px;font-size:12px;font-weight:800}.comparison-departments{flex-wrap:wrap;gap:7px;display:flex}.comparison-departments label{cursor:pointer;background:#f1f7ed;border-radius:10px;align-items:center;gap:6px;padding:7px 9px;display:flex}.comparison-table td,.comparison-table th{white-space:nowrap}.comparison-table td:first-child{white-space:normal}.comparison-table td small{color:var(--muted);margin-top:3px;display:block}.comparison-table tfoot th{color:#294a2f;background:#edf6e7}.comparison-mobile-summary{display:none}@media (width<=760px){.comparison-filters{grid-template-columns:1fr}.comparison-table tfoot{display:none}.comparison-mobile-summary{border:1px solid var(--line);background:#f7fbf4;border-radius:14px;margin-top:12px;padding:14px;display:block}.comparison-mobile-summary h4{margin:0 0 10px;font-size:17px}.comparison-mobile-summary>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.comparison-mobile-summary span{background:#fff;border-radius:10px;min-width:0;padding:10px}.comparison-mobile-summary small,.comparison-mobile-summary b{overflow-wrap:anywhere;display:block}.comparison-mobile-summary small{color:var(--muted);font-size:11px;line-height:1.35}.comparison-mobile-summary b{margin-top:4px;font-size:15px}.comparison-mobile-summary .summary-net{color:#fff;background:#6f9f58;grid-column:1/-1}.comparison-mobile-summary .summary-net small{color:#ffffffd1}}.operation-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.development-page{gap:18px;display:grid}.development-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.loan-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.loan-editor .wide{grid-column:1/-1}.loan-editor label{color:#52685c;font-weight:800}.loan-editor input,.loan-editor select,.loan-editor textarea{border:1px solid var(--line);color:#233f31;width:100%;min-height:46px;font:inherit;background:#fff;border-radius:11px;margin-top:6px;padding:10px 12px}.loan-editor .loan-employee-combo{margin-top:6px;font-weight:400}.loan-editor .loan-employee-combo input{min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;margin:0;padding:0}.loan-editor .loan-employee-combo .employee-combo-options{max-height:min(360px,42vh)}.loan-editor input[readonly]{color:#436653;background:#f1f7ef}.loan-editor textarea{resize:vertical;min-height:92px}.loan-summary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.loan-summary span{background:#f1f7ef;border-radius:13px;padding:15px}.loan-summary small,.loan-summary b{display:block}.loan-summary b{margin-top:4px;font-size:18px}.loan-list{gap:12px;display:grid}.loan-list>article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px}.loan-list article>header{grid-template-columns:44px 1fr auto;align-items:center;gap:11px;display:grid}.loan-list header b,.loan-list header small{display:block}.loan-list header small{color:var(--muted);margin-top:4px}.loan-rule-list{flex-wrap:wrap;gap:8px;margin:13px 0;display:flex}.loan-rule-list span{color:#35614a;background:#edf6ef;border-radius:10px;padding:7px 10px}.loan-list details{border-top:1px solid #edf0ed;padding:10px 0}.loan-list summary{cursor:pointer;font-weight:800}.loan-list details p{color:var(--muted);margin:8px 0 0}@media (width<=760px){.loan-editor{grid-template-columns:1fr}.loan-editor .wide{grid-column:auto}.loan-summary{grid-template-columns:1fr}.loan-list article>header{grid-template-columns:40px 1fr}.loan-list article>header>strong{grid-column:2}}.development-tabs button{color:#526a5d;cursor:pointer;background:#fff;border:1px solid #d6e3d5;border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-weight:800;display:inline-flex}.development-tabs button.active{color:#236b47;background:#e9f5ec;border-color:#9fcab0}.development-form{gap:14px;display:grid}.development-form>label:not(.operation-check),.development-form .operation-form-grid>label{color:#526a5d;gap:6px;font-weight:800;display:grid}.development-form input,.development-form select,.development-form textarea{color:#244a39;width:100%;font:inherit;background:#fff;border:1px solid #d8e4d7;border-radius:12px;padding:12px 14px}.development-form .development-employee-combo{font-weight:400}.development-form .development-employee-combo .employee-combo-input input{min-width:0;min-height:46px;box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0}.development-form .development-employee-combo .employee-combo-options{max-height:min(360px,42vh)}.development-form .development-employee-combo .employee-combo-options>button{grid-template-columns:38px minmax(0,1fr)}.development-file{cursor:pointer;background:#f6faf4;border:1px dashed #a8c7ad;border-radius:12px;align-items:center;gap:8px;padding:14px;display:flex!important}.development-file input{border:0;padding:0}.development-file-previews{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.development-file-previews article{background:#fff;border:1px solid #dce8da;border-radius:12px;gap:9px;min-width:0;padding:10px;display:grid;overflow:hidden}.development-file-previews img,.development-file-previews iframe,.development-file-icon{object-fit:contain;background:#f3f6f1;border:0;border-radius:8px;width:100%;height:150px}.development-file-icon{color:#65786c;place-content:center;justify-items:center;gap:6px;display:grid}.development-file-previews article>div:not(.development-file-icon){min-width:0;display:grid}.development-file-previews b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.development-file-previews small{color:#718077}.development-file-previews button{color:#9b4939;cursor:pointer;background:#fff5f1;border:1px solid #e2b9ae;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:36px;display:inline-flex}.development-record-list{gap:10px;display:grid}.development-record-list>article{background:#fbfdf9;border:1px solid #deeadc;border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px;display:grid}.development-record-list b,.development-record-list small{display:block}.development-record-list small{color:#6d7e74;margin-top:3px}.development-record-list p{color:#516a5d;margin:8px 0 0}.development-request-status{color:#765719;background:#fff1bd;border-radius:999px;width:fit-content;margin-top:9px;padding:6px 10px;font-size:12px;font-weight:850;display:inline-flex}.development-request-status.verified,.development-request-status.active{color:#276142;background:#e4f4e7}.development-request-status.cancelled{color:#914432;background:#ffebe5}.reward-approval-modal{gap:18px;width:min(760px,100vw - 36px);display:grid}.reward-approval-modal>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reward-approval-modal h2{margin:5px 0 0;font-size:clamp(26px,3vw,38px)}.reward-approval-modal label{color:#314f40;gap:8px;font-size:17px;font-weight:850;display:grid}.reward-approval-modal textarea,.reward-approval-modal input{width:100%;font:inherit;border:1px solid #cbdacd;border-radius:12px;padding:14px 16px;line-height:1.5}.reward-approval-modal input{min-height:54px;font-size:20px}.reward-approval-person{color:#305b45;background:#eef7eb;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.reward-approval-person div{gap:3px;display:grid}.reward-approval-person b{font-size:18px}.reward-approval-person small,.reward-approval-note{color:#66796d}.reward-approval-note{margin:0;font-size:14px}.reward-approval-modal footer{grid-template-columns:1fr 1.5fr;gap:12px;display:grid}.reward-approval-modal footer button{border-radius:12px;min-height:52px;font-size:16px;font-weight:850}@media (width<=600px){.reward-approval-modal{gap:14px;width:100%;max-height:94dvh}.reward-approval-modal h2{font-size:27px}.reward-approval-modal label{font-size:16px}.reward-approval-modal textarea{min-height:150px}.reward-approval-modal footer{grid-template-columns:1fr}.reward-approval-modal footer .operation-primary{order:-1}}.development-review-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.team-good-news,.dashboard-good-news{color:#4c5632;background:linear-gradient(110deg,#fff1b8,#edf7d7);border:1px solid #e7c77c;border-radius:16px;align-items:center;gap:14px;padding:14px 18px;display:flex;overflow:hidden}.team-good-news>span,.dashboard-good-news>span{color:#9a5d22;flex:none;font-weight:900}.team-good-news>div,.dashboard-good-news-track{scrollbar-width:none;gap:28px;min-width:0;display:flex;overflow-x:auto}.team-good-news article,.dashboard-good-news-track b{flex:none;align-items:center;gap:7px;display:inline-flex}.dashboard-good-news>button{flex:none;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.global-good-news{color:#4c5632;cursor:pointer;background:linear-gradient(110deg,#fff1b8,#edf7d7);border:1px solid #e7c77c;border-radius:12px;align-items:center;gap:14px;width:calc(100% - 40px);margin:0 20px 14px;padding:10px 14px;display:flex;overflow:hidden}.global-good-news>span{z-index:2;color:#9a5d22;background:#fff1b8;border-right:1px solid #9a5d2240;flex:none;align-items:center;gap:6px;padding-right:12px;font-weight:900;display:inline-flex;position:relative}.global-good-news-viewport{flex:auto;min-width:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 30px 100%);mask-image:linear-gradient(90deg,#0000 0,#000 30px 100%)}.global-good-news-track{white-space:nowrap;gap:60px;width:max-content;padding-left:100%;animation:28s linear infinite good-news-marquee;display:flex}.global-good-news b{flex:none}@keyframes good-news-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.global-good-news-track{width:auto;padding-left:0;animation:none;overflow-x:auto}}@media (width<=600px){.global-good-news{gap:8px;width:calc(100% - 24px);margin-inline:12px;padding-inline:10px}.global-good-news>span{padding-right:8px;font-size:13px}.global-good-news-viewport{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 20px 100%);mask-image:linear-gradient(90deg,#0000 0,#000 20px 100%)}}.global-company-announcement{color:#244b61;text-align:left;cursor:pointer;background:#eaf6ff;border:1px solid #a9cee8;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:calc(100% - 40px);min-height:78px;margin:0 20px 14px;padding:14px 18px;display:grid}.global-company-announcement.important{color:#704e16;background:#fff4c9;border-color:#e8c45d}.global-company-announcement.urgent{color:#842e24;background:#ffe8e2;border-color:#e69d8e}.global-company-announcement>span{align-items:center;gap:7px;font-weight:900;display:inline-flex}.global-company-announcement>div{gap:3px;min-width:0;display:grid}.global-company-announcement b,.global-company-announcement small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-company-announcement b{font-size:18px}.global-company-announcement small{opacity:.82;font-size:13px}.announcement-page{gap:18px;display:grid}.announcement-hero{align-items:center}.announcement-list{gap:14px;display:grid}.company-announcement-card{background:#fff;border:1px solid #cfe2ee;border-left:7px solid #5c9bc2;border-radius:16px;padding:22px}.company-announcement-card.important{background:#fffdf4;border-color:#ead99c #ead99c #ead99c #d4a62e}.company-announcement-card.urgent{background:#fff8f6;border-color:#ebc0b7 #ebc0b7 #ebc0b7 #d85f4d}.company-announcement-card>header,.announcement-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.company-announcement-card>header span,.announcement-acknowledged{align-items:center;gap:6px;font-weight:900;display:inline-flex}.company-announcement-card h3{margin:14px 0 8px;font-size:24px}.company-announcement-card>p{white-space:pre-wrap;line-height:1.7}.announcement-actions{margin-top:18px}.announcement-acknowledged{color:#286342;background:#e5f4e8;border-radius:999px;padding:9px 12px}.company-announcement-card details{margin-top:16px}.company-announcement-card summary{cursor:pointer;font-weight:850}.announcement-ack-list{gap:7px;max-height:320px;margin-top:10px;display:grid;overflow:auto}.announcement-ack-list span{background:#f2f6f2;border-radius:9px;padding:9px 11px}.announcement-ack-list small{color:#6b7c72;display:block}.announcement-editor{gap:14px;width:min(760px,100vw - 36px);display:grid}.announcement-editor>header{justify-content:space-between;gap:12px;display:flex}.announcement-editor label{gap:7px;font-weight:850;display:grid}.announcement-editor textarea{resize:vertical}.announcement-editor>p{color:#735626;gap:7px;display:flex}.announcement-editor footer{grid-template-columns:1fr 1.5fr;gap:10px;display:grid}@media (width<=600px){.global-company-announcement{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:calc(100% - 24px);min-height:72px;margin-inline:12px;padding:12px}.global-company-announcement>span{grid-column:1;font-size:13px}.global-company-announcement>div{grid-column:1}.global-company-announcement>svg{grid-area:1/2/3}.global-company-announcement small{display:none}.announcement-editor{width:100%}.announcement-editor footer{grid-template-columns:1fr}.company-announcement-card{padding:17px}.company-announcement-card>header,.announcement-actions{flex-direction:column;align-items:flex-start}}.employee-combo-input>button{color:#61756b;cursor:pointer;background:#edf3ef;border:0;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;display:grid}.employee-combo-options{z-index:30;overscroll-behavior:contain;background:#fff;border:1px solid #cbdcd1;border-radius:14px;max-height:min(420px,52vh);padding:7px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 20px 55px #0f2d1f38}.employee-combo-options>button{color:#254735;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 11px;display:grid}.employee-combo-options>button:hover,.employee-combo-options>button.highlighted{background:#eef6f1}.employee-combo-options>button.selected{color:#236747;background:#e3f2e8}.employee-combo-options>button>span{color:#2f7655;background:#dfeee4;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.employee-combo-options b,.employee-combo-options small{display:block}.employee-combo-options b{line-height:1.3}.employee-combo-options small{color:#6c7d74;margin-top:3px;line-height:1.35}.employee-combo-empty{color:#6a7b72;text-align:center;padding:18px 12px;line-height:1.5}.active-toggle{color:#7a8580;text-align:left;cursor:pointer;background:#f7f8f6;border:1px solid #dce3de;border-radius:10px;align-items:center;gap:9px;width:100%;padding:11px;display:flex}.active-toggle.active{color:#2f6b50;background:#edf6f1;border-color:#a9caba}.active-toggle b,.active-toggle small{display:block}.active-toggle b{font-size:9px}.active-toggle small{color:var(--muted);margin-top:2px;font-size:8px}.active-toggle.inactive{color:#b34332;background:#fff3f0;border-color:#efb6ab}.active-toggle.inactive b{color:#a93627}.active-toggle.inactive small{color:#b75b4d}.master-save{color:#fff;background:var(--green-900);width:100%;margin-top:15px}.location-help{color:#327054;background:#edf6f1;border-radius:10px;align-items:center;gap:8px;padding:11px;display:flex}.location-help b,.location-help small{display:block}.location-help b{font-size:9px}.location-help small{color:#698078;font-size:8px}.operation-page{gap:17px;width:100%;min-width:0;display:grid}.operation-hero{color:#fff;min-height:135px;box-shadow:var(--shadow);background:linear-gradient(120deg,#153e2f,#316c50);border-radius:18px;align-items:center;padding:25px 28px;display:flex}.operation-hero>div{min-width:0}.operation-hero h2{margin:7px 0 4px;font-size:24px}.operation-hero p{color:#c5d8d0;margin:0;font-size:11px}.operation-primary{color:#18382b;cursor:pointer;background:#f4ae67;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 15px;font-size:10px;font-weight:700;display:inline-flex}.operation-hero>.operation-primary{margin-left:auto}.operation-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:21px}.notification-explainer{color:#285338;box-shadow:var(--shadow);background:#eef8f2;border:1px solid #c8dfcf;border-radius:16px;gap:6px;padding:18px 20px;display:grid}.notification-explainer b{font-size:13px}.notification-explainer span{color:#5c7668;font-size:11px;line-height:1.55}.operation-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.operation-heading>:last-child{margin-left:auto}.operation-heading h3{margin:0;font-size:17px}.operation-heading>button,.operation-heading select,.operation-actions button{border:1px solid var(--line);color:#52665c;cursor:pointer;background:#fff;border-radius:8px;min-height:34px;padding:0 10px;font-size:9px}.operation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.operation-actions .sort-button,.ocr-actions .sort-button,.sort-button{color:#246847;white-space:nowrap;background:#ecf7ef;border-color:#bfdbc9;font-weight:900}.operation-state{min-height:145px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.operation-message{color:#994d34;background:#fff0e9;border-radius:9px;margin:10px 0;padding:11px;font-size:10px}.leave-balance-card{gap:14px;display:grid}.leave-balance-card .operation-heading{margin-bottom:0}.leave-balance-card .operation-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.leave-balance-search{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:8px;min-width:min(330px,100%);min-height:43px;padding:0 12px;display:flex}.leave-balance-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.leave-balance-employees{gap:12px;display:grid}.leave-balance-employee{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;padding:14px}.leave-balance-employee>header{align-items:center;gap:10px;margin-bottom:11px;display:flex}.leave-balance-employee>header>div{gap:2px;min-width:0;display:grid}.leave-balance-employee>header b{color:var(--ink);font-size:14px}.leave-balance-employee>header small{color:var(--muted);font-size:10px}.leave-balance-employee>header>span{color:#337253;background:#e4f2e9;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:9px;font-weight:800}.leave-balance-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;display:grid}.leave-balance-item{background:#fff;border:1px solid #dce8df;border-radius:13px;gap:7px;min-width:0;padding:13px;display:grid}.leave-balance-item>b{color:var(--ink);font-size:12px}.leave-balance-item>strong{color:#2d7752;font-size:23px;line-height:1}.leave-balance-item>strong small{color:var(--muted);font-size:9px;font-weight:700}.leave-balance-item>div{color:var(--muted);flex-wrap:wrap;gap:5px 10px;font-size:9px;display:flex}.leave-team-disclosure{gap:10px;display:grid}.leave-team-disclosure>button{color:#28573e;text-align:left;cursor:pointer;background:#eef7f0;border:1px solid #cfe0d4;border-radius:14px;align-items:center;gap:10px;width:100%;min-height:60px;padding:11px 14px;display:flex}.leave-team-disclosure>button svg{flex:none;transition:transform .18s}.leave-team-disclosure>button svg.open{transform:rotate(90deg)}.leave-team-disclosure>button span{gap:2px;display:grid}.leave-team-disclosure>button b{font-size:12px}.leave-team-disclosure>button small{color:var(--muted);font-size:9px}.leave-team-content{gap:10px;display:grid}.leave-team-content .leave-balance-search{justify-self:end;width:min(360px,100%)}.leave-team-content .leave-team-employee-combo{z-index:22;justify-self:end;width:min(430px,100%)}.leave-team-employee-combo .employee-combo-input input{width:100%;min-width:0;height:46px;color:var(--ink);font:inherit;box-shadow:none;background:0 0;border:0;outline:0;padding:0;font-weight:700}.leave-team-employee-combo .employee-combo-options{max-height:min(360px,46vh)}.operation-list{display:grid}.operation-row{border-bottom:1px solid #edf0ed;grid-template-columns:42px minmax(180px,1.3fr) minmax(150px,1fr) auto;align-items:center;gap:11px;min-height:70px;padding:10px 4px;display:grid}.operation-row>span:nth-child(2) b,.operation-row>span:nth-child(2) small,.operation-row>span:nth-child(3) b,.operation-row>span:nth-child(3) small{display:block}.operation-row b{font-size:10px}.operation-row small{color:var(--muted);margin-top:2px;font-size:8px}.attendance-mobile-detail{display:none!important}.record-icon.green{color:#28714e;background:#e3f2e9}.record-icon.orange{color:#b76628;background:#faecdf}.record-icon.blue{color:#39729b;background:#e5f0f7}.record-icon.purple{color:#765f99;background:#eee9f5}.record-icon.ocr-role-icon{border-radius:16px;width:52px;height:52px;position:relative}.record-icon.ocr-role-icon .doc-mark{opacity:.9;position:absolute;top:10px;left:11px}.record-icon.ocr-role-icon .role-mark{background:#fff;border-radius:9px;padding:3px;position:absolute;bottom:8px;right:8px;box-shadow:0 3px 8px #224a3524}.record-icon.ocr-role-icon.driver{color:#9a5a18;background:#fff1df}.record-icon.ocr-role-icon.pt{color:#2f7a55;background:#e3f4e9}.record-icon.ocr-role-icon.general{color:#39729b;background:#e5f0f7}.ocr-role-badge{color:#285338;background:#e4f4e8;border-radius:999px;align-items:center;width:fit-content;margin:0 0 5px;padding:5px 9px;font-size:10px;font-weight:900;line-height:1.1;display:inline-flex}.ocr-role-badge.driver{color:#9a5a18;background:#fff1df}.ocr-role-badge.pt{color:#276c4a;background:#e4f4e8}.ocr-role-badge.general{color:#39729b;background:#e5f0f7}.factory-operation-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.factory-operation-grid button{border:1px solid var(--line);color:#263d33;text-align:left;cursor:pointer;background:#fbfcfa;border-radius:12px;grid-template-columns:42px 1fr auto 20px;align-items:center;gap:9px;min-height:78px;padding:12px;display:grid}.factory-operation-grid b,.factory-operation-grid small{display:block}.factory-operation-grid b{font-size:11px}.factory-operation-grid small{color:var(--muted);margin-top:2px;font-size:8px}.factory-operation-grid strong{color:#2f6b50;font:700 18px Outfit}.decision-buttons{gap:5px;display:flex}.decision-buttons button{color:#fff;cursor:pointer;background:#347456;border:0;border-radius:7px;padding:6px 8px;font-size:8px}.decision-buttons button:last-child{background:#9d5942}.operation-modal{background:#fff;border-radius:22px;width:min(620px,100%);max-height:calc(100vh - 30px);padding:23px;overflow:auto;box-shadow:0 25px 80px #04120c4d}.operation-form{gap:11px;margin-top:18px;display:grid}.operation-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.operation-field{color:#52645b;font-size:9px;font-weight:700}.operation-field input,.operation-field select{color:#263d33;width:100%;height:43px;font:inherit;background:#fff;border:1px solid #d8e0db;border-radius:9px;margin-top:5px;padding:0 10px}.operation-check{border:1px solid var(--line);color:#52645b;border-radius:9px;align-items:center;gap:8px;padding:11px;font-size:9px;display:flex}.operation-save{color:#fff;background:var(--green-900);width:100%;margin-top:14px}.profile-card{align-items:center;gap:14px;display:flex}.profile-large-avatar{color:#2f6b50;background:#e2f1e9;border-radius:50%;place-items:center;width:58px;height:58px;font-size:20px;font-weight:700;display:grid}.profile-card h3{margin:0}.profile-card p{color:var(--muted);margin:3px 0 0;font-size:10px}.danger-button{color:#974c37;cursor:pointer;background:#fff5f1;border:1px solid #deb7aa;border-radius:9px;margin-left:auto;padding:9px 12px}.compensation-page{gap:17px;width:100%;min-width:0;display:grid}.compensation-tabs{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;grid-template-columns:repeat(4,1fr);gap:7px;padding:9px;display:grid}.compensation-tabs button{color:#687970;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:45px;padding:8px 10px;font-size:10px;display:flex}.compensation-tabs button.active{color:#275f47;background:#eaf4ee;font-weight:700}.compensation-list{display:grid}.compensation-employee{color:#263d33;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:43px minmax(200px,1.4fr) minmax(150px,.8fr) 24px;align-items:center;gap:11px;width:100%;min-height:76px;padding:10px 4px;display:grid}div.compensation-employee{cursor:default}.payroll-run-row>span:nth-child(3){text-align:right}.payroll-run-row{grid-template-columns:43px minmax(220px,1fr) minmax(220px,.8fr)}.payroll-payment-details{grid-column:2/-1;gap:8px;margin:4px 0 8px;display:grid}.payroll-payment-details article{background:#f7fbf6;border:1px solid #dce9df;border-radius:13px;grid-template-columns:minmax(170px,.8fr) minmax(240px,1.4fr) minmax(210px,1fr) minmax(100px,auto);align-items:center;gap:12px;padding:12px;display:grid}.payroll-payment-details b,.payroll-payment-details strong,.payroll-payment-details small{display:block}.payroll-payment-details b{color:#718178;font-size:9px}.payroll-payment-details strong{color:#274d3b;margin-top:3px;font-size:11px;line-height:1.35}.payroll-payment-details small{color:#64776c;margin-top:3px;font-size:9px;line-height:1.4}.telegram-payment-status{background:#edf3ee;border-radius:10px;padding:8px 10px}.telegram-payment-status.sent{background:#e3f4e8}.telegram-payment-status.sent strong{color:#247044}.telegram-payment-status.failed{background:#fff0ea}.telegram-payment-status.failed strong{color:#a04f35}.payment-reconciliation-page{gap:16px;display:grid}.reconciliation-hero{background:linear-gradient(135deg,#b6dc98,#dce7a4)}.reconciliation-ready-list,.reconciliation-assignment-list{gap:10px;display:grid}.reconciliation-ready-list>article{border:1px solid var(--line);background:#fbfdf9;border-radius:13px;grid-template-columns:1.1fr 1.2fr 130px auto;align-items:center;gap:12px;padding:13px;display:grid}.reconciliation-ready-list b,.reconciliation-ready-list small{display:block}.reconciliation-ready-list small{color:var(--muted);margin-top:3px;font-size:9px}.reconciliation-ready-list button,.reconciliation-assignment button{color:#fff;cursor:pointer;background:#327454;border:0;border-radius:9px;min-height:38px;padding:8px 12px;font-weight:800}.reconciliation-assignment{background:#fff;border:1px solid #dbe7dd;border-radius:15px;overflow:hidden}.reconciliation-assignment>header{background:#f2f8ef;justify-content:space-between;gap:12px;padding:13px 15px;display:flex}.reconciliation-assignment>header b,.reconciliation-assignment>header small{display:block}.reconciliation-assignment>header small{color:var(--muted);margin-top:3px}.reconciliation-assignment>header strong{color:#326347;background:#fff;border-radius:999px;height:fit-content;padding:6px 10px;font-size:10px}.reconciliation-meta{grid-template-columns:repeat(3,1fr);gap:9px;padding:12px 15px;display:grid}.reconciliation-meta>span{background:#f8faf7;border-radius:10px;padding:10px}.reconciliation-meta small,.reconciliation-meta b{display:block}.reconciliation-meta small{color:var(--muted)}.reconciliation-item{border-top:1px solid #edf1ed;grid-template-columns:minmax(180px,1fr) 150px 90px minmax(300px,auto);align-items:center;gap:10px;min-height:64px;padding:10px 15px;display:grid}.reconciliation-item b,.reconciliation-item small{display:block}.reconciliation-item small{color:var(--muted)}.reconciliation-upload{justify-content:flex-end;align-items:center;gap:7px;display:flex}.reconciliation-upload input{max-width:190px;font-size:9px}.reconciliation-payment-entry{grid-template-columns:minmax(120px,.7fr) minmax(190px,1fr);align-items:end;gap:8px;display:grid}.reconciliation-payment-entry>label{color:#526b5d;gap:4px;font-size:12px;font-weight:800;display:grid}.reconciliation-payment-entry input[type=number],.reconciliation-payment-entry input[type=text],.reconciliation-payment-entry .variance-note input{min-width:0;height:40px;font:inherit;border:1px solid #cfded0;border-radius:10px;padding:0 10px}.reconciliation-payment-entry .reconciliation-upload,.reconciliation-proof-preview,.reconciliation-payment-entry .payment-note-field{grid-column:1/-1}.reconciliation-payment-entry .payment-note-field textarea{resize:vertical;width:100%;min-height:64px;font:inherit;border:1px solid #cfded0;border-radius:10px;padding:9px 10px}.reconciliation-payment-entry .payment-note-field.recipient{background:#edf7ea;border-radius:11px;padding:8px}.reconciliation-proof-preview{background:#f7fbf5;border:1px solid #d8e5d7;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.reconciliation-proof-preview img{object-fit:contain;background:#fff;border-radius:10px;width:110px;height:110px}.reconciliation-proof-preview button,.reconciliation-proof-open{color:#356942;cursor:pointer;background:#fff;border:1px solid #cfe0ce;border-radius:10px;min-height:38px;padding:0 11px;font-weight:850}.reconciliation-proof-preview .proof-image-button{min-height:0;padding:0;overflow:hidden}.reconciliation-proof-picker{grid-column:1/-1;gap:5px;display:grid}.reconciliation-proof-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.reconciliation-proof-picker label{color:#356942;cursor:pointer;background:#f4faf1;border:1px solid #bfd5be;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:15px;font-weight:900;display:inline-flex}.reconciliation-proof-picker small{color:#68796c;overflow-wrap:anywhere;font-size:12px}.reconciliation-payment-submit{border-top:1px solid #dbe7d9;grid-column:1/-1;gap:7px;margin-top:4px;padding-top:12px;display:grid}.reconciliation-payment-submit small{color:#a45a2d;font-size:13px;font-weight:800}.reconciliation-payment-submit .inline-payment-error{color:#a13f2a}.reconciliation-payment-submit .inline-payment-success{color:#28704b}.reconciliation-variance-summary{background:#f6f2e5;border-radius:12px;gap:2px;padding:10px 12px;display:grid}.reconciliation-variance-summary b{color:#9a5b25;font-size:20px}.reconciliation-finalize .inline-payment-error{color:#a13f2a;font-weight:800}.reconciliation-finalize .inline-payment-success{color:#28704b;font-weight:800}.reconciliation-payment-submit button{color:#fff;cursor:pointer;background:#347e58;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:16px;font-weight:900;display:inline-flex}.reconciliation-payment-submit button:disabled{cursor:not-allowed;opacity:.55}.reconciliation-saved-notes{background:#f6f8f5;border-radius:11px;grid-column:1/-1;gap:4px;padding:10px 12px;display:grid}.reconciliation-saved-notes small{color:#526b5d;line-height:1.45}.reconciliation-assignment>footer{background:#fbfdfb;border-top:1px solid #e7ede8;justify-content:stretch;gap:10px;padding:12px 15px;display:grid}.reconciliation-funding,.reconciliation-revoke,.reconciliation-recall,.reconciliation-audit{background:#fff;border:1px solid #e0e9e1;border-radius:11px;justify-content:flex-end;align-items:end;gap:9px;padding:10px;display:flex}.reconciliation-revoke{background:#fff8f5;border-color:#efd1c4}.reconciliation-recall{background:#fff9e9;border-color:#efd79b}.reconciliation-audit{color:#65776d;background:#f8faf8;flex-direction:column;align-items:stretch;margin:10px 15px}.reconciliation-audit b{color:#355a47}.reconciliation-audit small{display:block}.reconciliation-funding>label,.reconciliation-revoke>label,.reconciliation-finalize>label{color:var(--muted);gap:4px;font-size:9px;display:grid}.reconciliation-funding input,.reconciliation-revoke input,.reconciliation-return-account input{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:38px;padding:7px 9px}.reconciliation-return-account{flex:1;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;display:grid}.reconciliation-return-account label{color:var(--muted);gap:4px;font-size:9px;display:grid}.reconciliation-assignment button.danger-button{background:#a9553d}.reconciliation-finalize{justify-content:flex-end;align-items:end;gap:9px;width:100%;display:flex}.reconciliation-finalize label{color:var(--muted);font-size:9px}.reconciliation-finalize input[type=number]{border:1px solid var(--line);border-radius:8px;width:130px;height:38px;margin-top:4px;padding:0 9px}.reconciliation-modal{width:min(760px,100%)}.mixed-allocation-list{gap:7px;display:grid}.mixed-allocation-list label{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 220px;align-items:center;gap:10px;padding:9px;display:grid}.mixed-allocation-list b,.mixed-allocation-list small{display:block}.mixed-allocation-list small{color:var(--muted)}.compensation-employee b,.compensation-employee small{display:block}.compensation-employee b{font-size:12px}.compensation-employee small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.4}.ocr-filter-panel{background:#fbfdf8;border:1px solid #dce8d8;border-radius:17px;grid-template-columns:1.5fr repeat(5,minmax(120px,1fr));gap:10px;margin:14px 0 8px;padding:12px;display:grid}.ocr-filter-panel .wide{grid-column:span 2}.ocr-filter-summary{color:#63766b;margin:0 0 8px;font-size:12px;font-weight:800}.ocr-document-row{align-items:start;padding-top:13px;padding-bottom:13px}.ocr-event-name{font-weight:1000;color:#a45c1f!important}.ocr-event-name.linked{color:#2f7445!important}.ocr-pt-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ocr-pt-chips span{color:#476054;overflow-wrap:anywhere;background:#f1f4f0;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:5px 8px;font-size:10px;font-weight:900;line-height:1.25;display:inline-flex}.ocr-pt-chips span.owner{color:#236b45;background:#e5f5e8;border:1px solid #bcdcc4}.ocr-pt-chips strong{color:#fff;background:#3a7d4b;border-radius:999px;padding:2px 5px;font-size:8px;line-height:1}.pay-component-box{color:#52665c;background:#f2f6f3;border-radius:11px;gap:5px;padding:13px;display:grid}.pay-component-box b{color:#244a39}.pay-component-box span{font-size:10px}.pay-component-box span button{color:#9a4f3a;cursor:pointer;background:0 0;border:0;margin-left:7px}.pay-component-box .pay-component-total{border-top:1px solid #d8e4db;padding-top:7px;font-weight:700}.pay-component-box .pay-component-total+.pay-component-total{border-top:0;padding-top:0}.monthly-payslip-section{border-top:1px solid #dfe9df;gap:14px;margin-top:18px;padding-top:18px;display:grid}.monthly-payslip-preview-builder{background:#f5faf2;border:1px solid #d7e6d5;border-radius:14px;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;align-items:end;gap:14px;margin-bottom:18px;padding:18px;display:grid}.monthly-payslip-preview-builder h4{margin:4px 0;font-size:18px}.monthly-payslip-preview-builder p{color:#687b70;margin:0;font-size:12px;line-height:1.5}.monthly-payslip-preview-builder>button{color:#fff;cursor:pointer;background:#2f7054;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:800;display:inline-flex}.monthly-payslip-preview-builder>button:disabled{opacity:.5;cursor:not-allowed}.payroll-bank-export-error{white-space:pre-line;grid-column:1/-1}.monthly-bank-file-tester{background:#f5faf2;border:1px solid #d7e6d5;border-radius:14px;grid-template-columns:minmax(280px,1fr) minmax(220px,.45fr) auto;align-items:end;gap:14px;margin-bottom:18px;padding:18px;display:grid}.monthly-bank-file-tester h4{margin:4px 0;font-size:18px}.monthly-bank-file-tester p{color:#687b70;margin:0;font-size:12px;line-height:1.5}.monthly-bank-file-tester>button,.monthly-bank-test-result>button{color:#fff;cursor:pointer;background:#2f7054;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:800;display:inline-flex}.monthly-bank-test-result{border-top:1px solid #d7e6d5;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;padding-top:14px;display:grid}.monthly-bank-test-result>span{background:#fff;border-radius:10px;gap:3px;min-width:0;padding:12px;display:grid}.monthly-bank-test-result>span b{overflow-wrap:anywhere}.monthly-bank-test-result>span small{color:#687b70}.monthly-bank-test-result pre{color:#dcecdf;white-space:pre;background:#173e2e;border-radius:10px;grid-column:1/-1;max-width:100%;margin:0;padding:14px;font:12px/1.6 monospace;overflow:auto}.monthly-payslip-list{gap:10px;display:grid}.monthly-payslip-list>button{color:#244a39;text-align:left;cursor:pointer;background:#fbfdf9;border:1px solid #d9e7d9;border-radius:14px;grid-template-columns:auto minmax(220px,1.3fr) minmax(220px,1fr) auto;align-items:center;gap:14px;width:100%;padding:15px;display:grid}.monthly-payslip-list>button:hover{border-color:#79aa65;box-shadow:0 8px 24px #244a3914}.monthly-payslip-list span{gap:3px;display:grid}.monthly-payslip-list small{color:#687b70}.monthly-payslip-overlay{z-index:340;align-items:flex-start;padding:28px;overflow-y:auto}.monthly-payslip-modal{background:#eef5eb;width:min(920px,100%);max-height:none;overflow:visible}.monthly-payslip-actions{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1px solid #d8e5d6;border-radius:12px;justify-content:flex-end;gap:10px;margin-bottom:12px;padding:10px;display:flex;position:sticky;top:8px;box-shadow:0 8px 24px #1e402e1a}.monthly-payslip-actions button{align-items:center;gap:7px;display:inline-flex}.monthly-payslip-actions .monthly-payslip-close{color:#8d3f29;cursor:pointer;background:#fff3ee;border:1px solid #c76a4c;border-radius:10px;justify-content:center;min-width:88px;min-height:42px;padding:0 16px;font-size:15px;font-weight:900}.monthly-payslip-actions .monthly-payslip-close:hover{color:#fff;background:#a94f35}.monthly-payslip-preview-badge{color:#98551f;background:#fff0c8;border-radius:999px;align-self:center;margin-right:auto;padding:8px 12px;font-weight:800}.monthly-payslip-sheet{color:#203f31;background:#fff;border-radius:18px;gap:20px;padding:34px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 50px #1e402e1f}.monthly-payslip-sheet.is-preview>:not(.monthly-payslip-watermark){z-index:1;position:relative}.monthly-payslip-watermark{z-index:0;color:#c369261a;white-space:nowrap;pointer-events:none;font-size:clamp(70px,15vw,150px);font-weight:950;position:absolute;inset:43% auto auto 50%;transform:translate(-50%,-50%)rotate(-22deg)}.monthly-payslip-header{border-bottom:3px solid #78ad62;gap:4px;padding-bottom:20px;display:grid}.monthly-payslip-header>span{color:#e67f31;letter-spacing:.1em;font-weight:800}.monthly-payslip-header h2{margin:0;font-size:clamp(28px,4vw,42px)}.monthly-payslip-header b{font-size:18px}.monthly-payslip-header small{color:#667a6d}.monthly-payslip-identity{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.monthly-payslip-identity div{background:#f5f8f3;border-radius:11px;padding:12px 14px}.monthly-payslip-identity dt{color:#687b70;font-size:12px}.monthly-payslip-identity dd{margin:3px 0 0;font-weight:750}.monthly-payslip-money{border:1px solid #dbe6d8;border-radius:14px;display:grid;overflow:hidden}.monthly-payslip-money header,.monthly-payslip-money>div{border-bottom:1px solid #e5ece3;justify-content:space-between;gap:20px;padding:12px 16px;display:flex}.monthly-payslip-money header{background:#eaf4e5}.monthly-payslip-money header small,.monthly-payslip-money span small,.monthly-payslip-total small{color:#718078;margin-top:2px;font-weight:400;display:block}.monthly-payslip-money .deduction{color:#a04b35}.monthly-payslip-money .monthly-payslip-net{background:#fff5cf;border-bottom:0;align-items:center}.monthly-payslip-net strong{color:#1e6d42;font-size:23px}.monthly-payslip-offsite{background:#fffaf0;border:1px solid #efcc8f;border-radius:14px;gap:10px;padding:16px;display:grid}.monthly-payslip-offsite>header,.monthly-payslip-offsite article{justify-content:space-between;align-items:center;gap:20px;display:flex}.monthly-payslip-offsite header span,.monthly-payslip-offsite article span{gap:3px;display:grid}.monthly-payslip-offsite header small,.monthly-payslip-offsite article small,.monthly-payslip-offsite p{color:#786b55}.monthly-payslip-offsite header strong{color:#a75b24;font-size:21px}.monthly-payslip-offsite>div{display:grid}.monthly-payslip-offsite article{border-top:1px solid #ead9b9;padding:10px 0}.monthly-payslip-offsite p{margin:0;font-size:12px;line-height:1.5}.monthly-payslip-total{color:#fff;background:#244a39;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.monthly-payslip-total strong{font-size:26px}.monthly-payslip-total small{color:#cfe0d5}.monthly-payslip-issued{color:#6d7d74;text-align:right}@media (width<=760px){.monthly-payslip-list>button{grid-template-columns:auto 1fr}.monthly-payslip-list>button>:nth-child(3),.monthly-payslip-list>button>:nth-child(4){grid-column:2}.monthly-payslip-overlay{padding:0}.monthly-payslip-modal{border-radius:0;width:100%;min-height:100%;padding:14px}.monthly-payslip-actions{flex-wrap:wrap;top:0}.monthly-payslip-preview-badge{text-align:center;order:3;width:100%;margin:0}.monthly-payslip-actions .monthly-payslip-close{margin-left:auto}.monthly-payslip-sheet{border-radius:12px;padding:20px 16px}.monthly-payslip-identity{grid-template-columns:1fr}.monthly-payslip-money header,.monthly-payslip-money>div,.monthly-payslip-offsite>header,.monthly-payslip-offsite article,.monthly-payslip-total{flex-direction:column;align-items:flex-start;gap:6px}}@media print{body *{visibility:hidden!important}.monthly-payslip-overlay,.monthly-payslip-overlay *{visibility:visible!important}.monthly-payslip-overlay{background:#fff;padding:0;display:block;position:absolute;inset:0}.monthly-payslip-modal{background:#fff;width:100%;padding:0}.monthly-payslip-actions{display:none!important}.monthly-payslip-sheet{box-shadow:none;border-radius:0;padding:12mm}}.incentive-catalog{gap:18px;display:grid}.catalog-search-picker{text-align:left;width:min(620px,100%);margin:18px 0}.catalog-search-picker>label{color:#60766a;margin-bottom:6px;font-weight:800;display:block}.catalog-search-picker .employee-combo-input input{width:100%;min-width:0;height:46px;box-shadow:none;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0;font-weight:800}.catalog-combo-options{max-height:min(390px,48vh)}.catalog-combo-options>button{grid-template-columns:38px minmax(0,1fr) 22px}.incentive-group{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.incentive-group>header{background:#f7faf8;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:82px;padding:15px;display:grid}.incentive-group-copy{min-width:0;display:block}.incentive-group-title{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.incentive-group-title>b{overflow-wrap:anywhere;flex:auto;min-width:0}.incentive-group>header b,.incentive-group>header small{display:block}.incentive-group>header b{color:#1e4937;font-size:15px}.incentive-group>header small{color:var(--muted);margin-top:3px;font-size:11px}.incentive-group>header strong{color:#2f7054;white-space:nowrap;background:#e5f2ea;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;line-height:1.25}.incentive-group .simple-record-list button{border-width:1px 0 0;border-radius:0;grid-template-columns:43px minmax(0,1fr) 28px;align-items:center;min-height:96px;padding:14px 10px}.incentive-item-content{min-width:0;display:block}.incentive-item-content .record-state{width:max-content;margin:0 0 7px;font-size:10px;line-height:1.2;display:block}.incentive-item-content b{overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:15px;line-height:1.45}.incentive-item-content small{overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin-top:5px;font-size:11px;line-height:1.5}.incentive-group .simple-record-list button.inactive{opacity:.6;background:#f5f5f3}.incentive-empty{color:var(--muted);text-align:center;padding:20px}.operation-field textarea{resize:vertical;border:1px solid var(--line);color:#203c30;width:100%;font:inherit;background:#fff;border-radius:9px;padding:11px 12px;line-height:1.5}.operation-hint,.operation-warning{border-radius:18px;align-items:flex-start;gap:12px;padding:16px 18px;font-size:clamp(18px,1.6vw,24px);line-height:1.55;display:flex}.operation-hint{color:#2f7048;background:#ecf7ef;border:1px solid #cde8d3}.operation-hint b,.operation-hint small{display:block}.operation-hint small{color:#5b7064;margin-top:4px;font-weight:650}.operation-warning{color:#9a541f;background:#fff6de;border:1px solid #f2d79b;font-weight:800}.operation-danger{color:#a7442f;cursor:pointer;background:#fff7f4;border:1px solid #e6b9aa;border-radius:9px;min-height:43px;padding:9px 13px;font-weight:700}.report-page{gap:17px;width:100%;min-width:0;display:grid}.report-hero{justify-content:space-between}.report-export-actions{gap:8px;margin-left:20px;display:flex}.report-export-actions button{color:#173e2e;cursor:pointer;background:#f4ae67;border:1px solid #ffffff59;border-radius:10px;align-items:center;gap:7px;min-height:43px;padding:0 14px;font-weight:700;display:flex}.report-export-actions button:last-child{color:#fff;background:#ffffff1f}.report-export-actions button:disabled{opacity:.6}.report-type-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.report-type-grid button{border:1px solid var(--line);color:#263d33;text-align:left;cursor:pointer;min-width:0;min-height:92px;box-shadow:var(--shadow);background:#fff;border-radius:14px;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:11px;padding:13px;display:grid}.report-type-grid button.active{background:#edf6f1;border-color:#86b29d;box-shadow:0 0 0 3px #397d5b14}.report-type-grid b,.report-type-grid small{display:block}.report-type-grid b{font-size:12px}.report-type-grid small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.4}.report-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-filters label{color:#52645b;min-width:0;font-size:9px;font-weight:700}.report-filters input,.report-filters select{color:#263d33;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #d8e0db;border-radius:9px;margin-top:5px;padding:0 9px}.report-keyword{grid-column:span 2;position:relative}.report-keyword svg{color:#76877e;position:absolute;bottom:12px;left:10px}.report-keyword input{padding-left:35px}.report-refresh{color:#fff;cursor:pointer;background:#285f47;border:0;border-radius:9px;align-items:center;gap:7px;min-height:40px;margin-top:12px;padding:0 13px;font-weight:700;display:flex}.report-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.report-summary-grid>div{border:1px solid var(--line);min-height:92px;box-shadow:var(--shadow);background:#fff;border-radius:13px;padding:15px}.report-summary-grid span,.report-summary-grid b,.report-summary-grid small{display:block}.report-summary-grid span{color:var(--muted);font-size:9px}.report-summary-grid b{color:#174430;margin-top:6px;font-size:20px;line-height:1.25}.report-summary-grid small{color:#74837b;margin-top:3px;font-size:9px}.report-table-wrap{border:1px solid var(--line);border-radius:11px;width:100%;overflow:auto}.report-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:10px}.report-table th{z-index:1;color:#fff;text-align:left;white-space:nowrap;background:#2f7054;padding:10px;position:sticky;top:0}.report-table td{color:#344b40;vertical-align:top;border-bottom:1px solid #e9eeeb;max-width:260px;padding:9px 10px;line-height:1.4}.report-table tbody tr:nth-child(2n){background:#f6f9f7}.report-preview-note{color:#667970;text-align:center;padding:11px;font-size:9px}.catering-management{gap:17px;width:100%;min-width:0;display:grid}.catering-hero{justify-content:space-between}.catering-hero-actions{gap:8px;margin-left:20px;display:flex}.catering-hero-actions button{color:#173e2e;cursor:pointer;background:#f4ae67;border:1px solid #ffffff4d;border-radius:10px;align-items:center;gap:7px;min-height:43px;padding:0 14px;font-weight:700;display:flex}.catering-hero-actions button:last-child{color:#fff;background:#ffffff1f}.catering-event-list{display:grid}.catering-event-list>button{color:#263d33;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e9eeeb;grid-template-columns:85px minmax(240px,1.4fr) minmax(180px,.8fr) 24px;align-items:center;gap:12px;width:100%;min-height:92px;padding:12px 4px;display:grid}.catering-event-list b,.catering-event-list small{display:block}.catering-event-list b{font-size:12px}.catering-event-list small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.catering-event-list small svg{vertical-align:-2px}.catering-date{color:#27664a;text-align:center;background:#e7f3ec;border-radius:11px;padding:10px}.catering-date b{font-size:14px}.catering-date small{color:#4f7462}.catering-modal{background:#fff;border-radius:22px;flex-direction:column;width:min(900px,100%);max-height:calc(100vh - 28px);padding:23px;display:flex;box-shadow:0 25px 80px #04120c4d}.catering-form-scroll{gap:14px;min-height:0;margin-top:15px;padding-right:4px;display:grid;overflow-y:auto}.catering-form-section{border:1px solid var(--line);border-radius:13px;min-width:0;margin:0;padding:15px}.catering-form-section legend{color:#245b42;padding:0 8px;font-size:11px;font-weight:800}.catering-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.catering-form-grid .wide{grid-column:span 2}.catering-form-grid textarea{margin-top:5px}.catering-stop-help{color:var(--muted);font-size:10px;line-height:1.5}.catering-stop-editor{background:#f8fbf9;border:1px solid #dce7e0;border-radius:12px;padding:12px}.catering-stop-editor>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.catering-stop-editor>header b{color:#245b42;font-size:12px}.catering-stop-editor>header button{color:#a84d2e;cursor:pointer;background:#fff7f3;border:1px solid #e9c9bc;border-radius:8px;padding:6px 9px}.catering-add-stop{color:#28664a;cursor:pointer;background:#eef7f1;border:1px dashed #79a98f;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;display:inline-flex}.catering-team-note,.catering-pt-heading,.catering-pay-ready{border-radius:10px;padding:11px 13px}.catering-team-note{color:#335f4b;background:#eef7f1}.catering-team-note b,.catering-team-note span{display:block}.catering-team-note b{font-size:11px}.catering-team-note span{color:var(--muted);margin-top:3px;font-size:9px}.catering-pt-heading{border:1px solid #dce7e0;justify-content:space-between;align-items:center;gap:10px;display:flex}.catering-pt-heading b{color:#245b42;font-size:12px}.catering-pt-heading span{color:var(--muted);font-size:9px}.catering-team-empty{color:var(--muted);text-align:center;background:#fafcfb;border:1px dashed #ccd9d1;border-radius:10px;padding:12px;font-size:10px}.catering-pay-ready{color:#755322;background:#fff4df;font-size:10px;line-height:1.5}.catering-payroll-queue{border:1px solid #d9e6dd;border-radius:13px;margin:12px 0 18px;overflow:hidden}.catering-payroll-queue>header{background:#edf7f1;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.catering-payroll-queue>header b,.catering-payroll-queue>header small{display:block}.catering-payroll-queue>header b{color:#245b42;font-size:12px}.catering-payroll-queue>header small{color:var(--muted);margin-top:3px;font-size:9px}.catering-payroll-queue>header strong{color:#28664a;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 9px;font-size:10px}.catering-payroll-list>div{border-top:1px solid #e8eee9;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) 110px;align-items:center;gap:12px;min-height:64px;padding:10px 13px;display:grid}.catering-payroll-list b,.catering-payroll-list small{display:block}.catering-payroll-list b{font-size:10px}.catering-payroll-list small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.4}.catering-payroll-list>div>span:last-child{text-align:right}.catering-save{color:#fff;background:#174c38;width:100%;margin-top:15px}.catering-upload{color:#28664a;text-align:center;cursor:pointer;background:#f3f9f5;border:2px dashed #abc8b9;border-radius:15px;place-items:center;min-height:145px;padding:20px;display:grid}.catering-readonly-note{color:#fff;background:#ffffff24;border:1px solid #ffffff8c;border-radius:14px;justify-content:center;align-items:center;min-height:54px;padding:0 18px;font-weight:900;display:inline-flex}.catering-editor-lock{border:0;margin:0;padding:0;display:contents}.catering-editor-lock:disabled{opacity:.92}.catering-upload b,.catering-upload small{display:block}.catering-upload b{margin-top:8px}.catering-upload small{color:var(--muted);margin-top:5px;font-size:10px}.catering-upload input{opacity:0;pointer-events:none;position:absolute}.operation-state.compact{min-height:70px}.catering-sheet-picker{border:1px solid var(--line);background:#fafcfb;border-radius:13px;padding:13px}.catering-sheet-picker>header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.catering-sheet-picker>header>div{flex:1;min-width:0}.catering-sheet-picker>header b,.catering-sheet-picker>header small{display:block}.catering-sheet-picker>header b{color:#245b42;font-size:12px}.catering-sheet-picker>header small{color:var(--muted);font-size:9px}.catering-sheet-picker>header button{border:1px solid var(--line);color:#28664a;cursor:pointer;background:#fff;border-radius:8px;padding:7px 9px}.catering-sheet-summary{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.catering-sheet-summary label{cursor:pointer;background:#f1f6f3;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:9px;min-width:0;padding:11px;display:flex}.catering-sheet-summary label.selected{background:#e4f2e9;border-color:#78a98f}.catering-sheet-summary label.disabled{opacity:.55;cursor:not-allowed}.catering-sheet-summary input{accent-color:#28664a;margin-top:3px}.catering-sheet-summary b,.catering-sheet-summary small{display:block}.catering-sheet-summary b{font-size:11px}.catering-sheet-summary small{color:var(--muted);margin-top:3px;font-size:9px}.catering-import-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.catering-import-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.catering-import-summary span{color:#28664a;text-align:center;background:#e8f4ed;border-radius:11px;padding:12px}.catering-import-summary b,.catering-import-summary small{display:block}.catering-import-summary b{font-size:18px}.catering-import-summary small{color:#61786c;font-size:9px}.catering-import-preview{border:1px solid var(--line);border-radius:12px;max-height:42vh;overflow-y:auto}.catering-import-preview>div{border-bottom:1px solid #e8ede9;grid-template-columns:150px minmax(190px,1fr) minmax(220px,1.2fr);align-items:center;gap:12px;min-height:75px;padding:10px 12px;display:grid}.catering-import-preview b,.catering-import-preview small{display:block}.catering-import-preview b{font-size:10px}.catering-import-preview small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.4}.catering-duplicate-check{color:#245d43;cursor:pointer;background:#eff7f2;border:1px solid #8eb8a3;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:800;display:flex}.catering-duplicate-check:disabled{opacity:.55;cursor:not-allowed}.catering-duplicate-result{border:1px solid #a7cbb9;border-radius:13px;overflow:hidden}.catering-duplicate-result.has-duplicates{border-color:#e1aa91}.catering-duplicate-result>header{background:#eaf5ee;padding:12px 14px}.catering-duplicate-result.has-duplicates>header{background:#fff0e9}.catering-duplicate-result>header b,.catering-duplicate-result>header small{display:block}.catering-duplicate-result>header b{color:#245c42;font-size:12px}.catering-duplicate-result.has-duplicates>header b{color:#994d34}.catering-duplicate-result>header small{color:var(--muted);margin-top:3px;font-size:9px}.catering-duplicate-options{grid-template-columns:1fr 1fr;gap:8px;padding:11px;display:grid}.catering-duplicate-options label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;padding:11px;display:flex}.catering-duplicate-options label.selected{background:#fff6f1;border-color:#d48662}.catering-duplicate-options input{accent-color:#b76039;margin-top:3px}.catering-duplicate-options b,.catering-duplicate-options small{display:block}.catering-duplicate-options b{font-size:10px}.catering-duplicate-options small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.4}.catering-duplicate-list{border-top:1px solid #f0d4c7;max-height:210px;overflow-y:auto}.catering-duplicate-list>div{border-bottom:1px solid #f3e3db;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:9px 12px;display:grid}.catering-duplicate-list b,.catering-duplicate-list small{display:block}.catering-duplicate-list b{font-size:9px}.catering-duplicate-list small{color:var(--muted);margin-top:2px;font-size:8px}.catering-import-blocker{color:#845019;background:#fff8e9;border:1px solid #efc37e;border-radius:14px;gap:4px;padding:13px 15px;display:grid}.catering-import-blocker b{font-size:13px}.catering-import-blocker span{font-size:12px;line-height:1.45}.catering-import-required-choice{background:#fff5ed;border:2px solid #e19c70;border-radius:16px;gap:10px;padding:14px;display:grid}.catering-import-required-choice>b{color:#974d2f;font-size:14px;line-height:1.35}.catering-import-required-choice label{cursor:pointer;background:#fff;border:1px solid #ead0bd;border-radius:13px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:13px;display:grid}.catering-import-required-choice input{accent-color:#b76039;width:18px;height:18px;margin-top:3px}.catering-import-required-choice strong,.catering-import-required-choice small{display:block}.catering-import-required-choice strong{color:#244c38;font-size:13px}.catering-import-required-choice small{color:#6e786f;margin-top:4px;font-size:11px;line-height:1.45}.ocr-upload-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ocr-drop{color:#356a52;text-align:center;cursor:pointer;background:#f5faf7;border:2px dashed #b9cbc1;border-radius:15px;place-items:center;min-height:135px;padding:20px;display:grid}.ocr-drop.camera{color:#82521b;background:#fff5e7;border-style:solid;border-color:#f1c990}.ocr-drop b,.ocr-drop small{display:block}.ocr-drop small{color:var(--muted);font-size:10px}.ocr-drop input{opacity:0;pointer-events:none;position:absolute}.ocr-file-list{border:1px solid var(--line);background:#fbfdf9;border-radius:14px;gap:8px;padding:13px;display:grid}.ocr-file-list>b{color:#2f5f36;font-size:14px}.ocr-file-row{background:#fff;border:1px solid #e0e9df;border-radius:12px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.ocr-file-row>span{gap:3px;min-width:0;display:grid}.ocr-file-list small{color:#607264;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.ocr-file-list .ocr-file-size{color:#829087;font-size:10px}.ocr-file-list button{color:#995137;background:#fff4ed;border:1px solid #eed1bd;border-radius:9px;min-height:32px;padding:0 10px;font-weight:700}.ocr-file-list button.ocr-file-thumbnail{background:#eef6ef;border-color:#c9dbcd;width:58px;height:58px;min-height:58px;padding:0;overflow:hidden}.ocr-file-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.ocr-local-preview-overlay{z-index:120;background:#12231ac7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ocr-local-preview{background:#fff;border-radius:18px;gap:12px;width:min(760px,100%);max-height:calc(100vh - 36px);padding:14px;display:grid;overflow:auto;box-shadow:0 24px 70px #00000047}.ocr-local-preview header{align-items:center;gap:12px;display:flex}.ocr-local-preview header>span{flex:1;min-width:0}.ocr-local-preview header b,.ocr-local-preview header small{overflow-wrap:anywhere;display:block}.ocr-local-preview header b{color:#244c36;font-size:18px}.ocr-local-preview header small{color:#6c7a70;margin-top:3px}.ocr-local-preview header button{color:#52635a;background:#fff;border:1px solid #d5e2d6;border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;padding:0;display:grid}.ocr-local-preview>img{object-fit:contain;background:#edf2ed;border-radius:12px;width:100%;max-height:calc(100vh - 210px)}.ocr-local-preview>.operation-primary{width:100%;min-height:46px}.ocr-document-status{background:#f5fbf1;border:1px solid #dcebd4;border-radius:16px;padding:13px 14px}.ocr-document-status b,.ocr-document-status small{display:block}.ocr-document-status b{color:#2d5833;overflow-wrap:anywhere;font-size:16px}.ocr-document-status small{color:#607465;margin-top:4px;font-size:13px;line-height:1.4}.ocr-review-role-banner{background:#f2faf3;border:1px solid #cfe5d5;border-radius:16px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.ocr-review-role-banner>span{background:#fff;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.ocr-review-role-banner b,.ocr-review-role-banner small{display:block}.ocr-review-role-banner b{color:#234832;font-size:18px;line-height:1.25}.ocr-review-role-banner small{color:#607465;margin-top:4px;font-size:13px;line-height:1.45}.ocr-review-role-banner.driver{background:#fff7ea;border-color:#efc893}.ocr-review-role-banner.driver>span{color:#9a5a18}.ocr-review-role-banner.pt>span{color:#2f7a55}.ocr-review-actions{flex-wrap:wrap;gap:10px;display:flex}.ocr-review-actions button,.ocr-line-actions button{border:1px solid var(--line);color:#3b643c;cursor:pointer;background:#fff;border-radius:11px;min-height:40px;padding:0 12px;font-weight:800}.ocr-review-actions button.danger{color:#a7442f;background:#fff7f4;border-color:#e6b9aa}.ocr-line-actions button.confirm{color:#fff;background:#75a95b;border-color:#6d9d54}.ocr-error-text{font-weight:800;color:#b24b2d!important}.ocr-source-actions{background:#fbfdf9;border:1px solid #dce7d9;border-radius:16px;gap:6px;padding:12px;display:grid}.ocr-source-actions button{color:#356942;cursor:pointer;background:#f5fbf1;border:1px solid #cfe1cb;border-radius:13px;min-height:44px;font-weight:900}.ocr-source-actions small{color:var(--muted);font-size:13px;line-height:1.35}.ocr-preview-panel{background:#fff;border:1px solid #dce7d9;border-radius:18px;gap:10px;padding:12px;display:grid}.ocr-preview-panel img{object-fit:contain;background:#f4f4ef;border-radius:14px;width:100%;max-height:70vh}.ocr-preview-panel button{color:#345c3d;cursor:pointer;background:#fff;border:1px solid #dce7d9;border-radius:12px;min-height:42px;font-weight:900}.ocr-review-compare{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px;min-width:0;display:grid}.ocr-source-card,.ocr-readback-card{background:#fff;border:1px solid #dbe7d9;border-radius:20px;align-content:start;gap:13px;min-width:0;padding:16px;display:grid}.ocr-source-card>header,.ocr-readback-card>header{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;display:grid}.ocr-source-card>header>span,.ocr-readback-card>header>span{color:#347047;background:#edf7ea;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.ocr-source-card header b,.ocr-source-card header small,.ocr-readback-card header b,.ocr-readback-card header small{display:block}.ocr-source-card header b,.ocr-readback-card header b{color:#244b34;font-size:17px}.ocr-source-card header small,.ocr-readback-card header small{color:#687b6d;margin-top:3px;font-size:12px;line-height:1.4}.ocr-source-preview{background:#eef2ed;border-radius:15px;place-items:center;min-height:360px;max-height:65vh;display:grid;overflow:auto}.ocr-source-preview img{object-fit:contain;width:100%;max-height:65vh;display:block}.ocr-source-card>button{color:#356942;cursor:pointer;background:#f7fbf5;border:1px solid #d5e3d2;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-weight:900;display:inline-flex}.ocr-readback-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ocr-readback-metrics>span{background:#f0f7ee;border-radius:13px;min-width:0;padding:12px}.ocr-readback-metrics>span.warning{background:#fff3e5}.ocr-readback-metrics b,.ocr-readback-metrics small{display:block}.ocr-readback-metrics b{color:#28583a;font-size:21px}.ocr-readback-metrics small{color:#66796b;margin-top:3px;font-size:11px;line-height:1.3}.ocr-readback-details{gap:8px;margin:0;display:grid}.ocr-readback-details>div{background:#fbfdf9;border:1px solid #e1e9df;border-radius:12px;min-width:0;padding:11px 12px}.ocr-readback-details>div.warning{background:#fff7e9;border-color:#efc88e}.ocr-readback-details dt{color:#6a7c6f;font-size:11px;font-weight:900}.ocr-readback-details dd{color:#244b34;overflow-wrap:anywhere;margin:4px 0 0;font-size:14px;font-weight:900;line-height:1.45}.ocr-readback-note{color:#386445;background:#edf7ea;border-radius:13px;padding:12px 13px}.ocr-readback-note b,.ocr-readback-note small{display:block}.ocr-readback-note small{margin-top:3px;font-size:12px;line-height:1.45}.ocr-catering-context{background:#f4faef;border:1px solid #d8e7d2;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.ocr-catering-context span{min-width:0}.ocr-catering-context span.wide{grid-column:1/-1}.ocr-catering-context b,.ocr-catering-context small{display:block}.ocr-catering-context b{color:#2c5732;font-size:13px}.ocr-catering-context small{color:#5d7163;overflow-wrap:anywhere;font-size:14px;line-height:1.35}.ocr-catering-context.editable label{color:#2c5732;gap:7px;min-width:0;font-weight:900;display:grid}.ocr-catering-context.editable label.wide,.ocr-catering-context.editable .wide{grid-column:1/-1}.ocr-catering-context.editable input,.ocr-catering-context.editable select{color:#234332;width:100%;min-width:0;height:44px;font:inherit;background:#fff;border:1px solid #cfded0;border-radius:12px;padding:0 12px;font-size:15px;font-weight:800}.ocr-vehicle-combobox{z-index:4;gap:7px;min-width:0;display:grid;position:relative}.ocr-vehicle-options{z-index:30;background:#fff;border:1px solid #cbdacb;border-radius:13px;max-height:min(320px,42vh);padding:6px;display:grid;position:absolute;top:73px;left:0;right:0;overflow-y:auto;box-shadow:0 16px 34px #1c3d2533}.ocr-vehicle-options>button{color:#284b35;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:9px;justify-items:start;gap:2px;min-height:52px;padding:8px 10px;display:grid}.ocr-vehicle-options>button:hover,.ocr-vehicle-options>button.selected{color:#245f35;background:#edf7e9}.ocr-vehicle-options>button b,.ocr-vehicle-options>button small{overflow-wrap:anywhere;max-width:100%;display:block}.ocr-vehicle-options>button small{color:#68796c;font-size:12px}.ocr-vehicle-options>small{color:#758278;text-align:center;padding:12px}.ocr-context-save{color:#fff;cursor:pointer;background:#78a85c;border:0;border-radius:14px;grid-column:1/-1;min-height:46px;font-weight:900}.ocr-event-verification{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.ocr-event-verification span,.ocr-line-check span{background:#f7fbf4;border:1px solid #dfe9dc;border-radius:14px;min-width:0;padding:10px}.ocr-event-verification span.ok,.ocr-line-check.ok span:first-child{background:#f0faeb;border-color:#c9e2c1}.ocr-event-verification span.warning,.ocr-line-check.warning span:first-child{background:#fff8ed;border-color:#f1d5a9}.ocr-event-verification span.danger,.ocr-line-check.danger span:first-child{background:#fff3ef;border-color:#ecb8a8}.ocr-event-verification b,.ocr-event-verification small,.ocr-line-check b,.ocr-line-check small{display:block}.ocr-event-verification b,.ocr-line-check b{color:#284b35;font-size:13px}.ocr-event-verification small,.ocr-line-check small{color:#64776a;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.ocr-line-check{grid-column:1/-1;grid-template-columns:1.4fr 1fr 1fr;gap:8px;width:100%;display:grid}.ocr-draft-hint{color:#356942;background:#f3faef;border:1px solid #cfe5c7;border-radius:16px;gap:3px;padding:12px 14px;display:grid}.ocr-draft-hint b{font-size:15px}.ocr-draft-hint small{color:#5f7c61;font-size:13px;line-height:1.4}.ocr-preflight-checklist{background:#fbfdf8;border:1px solid #d9e7d4;border-radius:18px;gap:12px;padding:14px;display:grid}.ocr-preflight-checklist header{align-items:flex-start;gap:10px;display:flex}.ocr-preflight-checklist header>span{color:#2f7a4e;background:#e5f4e6;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;display:grid}.ocr-preflight-checklist header b,.ocr-preflight-checklist header small{display:block}.ocr-preflight-checklist header b{color:#294d35;font-size:16px}.ocr-preflight-checklist header small{color:#64776a;margin-top:3px;font-size:13px;line-height:1.4}.ocr-preflight-checklist>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.ocr-preflight-checklist>div>span{background:#fff;border:1px solid #dce8d8;border-radius:14px;padding:10px 11px}.ocr-preflight-checklist>div>span.ok{background:#f1faf2;border-color:#cbe6d1}.ocr-preflight-checklist>div>span.warn{background:#fff7ec;border-color:#f0d7b2}.ocr-preflight-checklist>div>span.block{background:#fff2ec;border-color:#efc8b8}.ocr-preflight-checklist b,.ocr-preflight-checklist small{display:block}.ocr-preflight-checklist b{color:#274936;font-size:13px}.ocr-preflight-checklist small{color:#64776a;margin-top:3px;font-size:12px;line-height:1.4}.ocr-team-summary{background:#fbfdf8;border:1px solid #dce8d8;border-radius:18px;gap:10px;padding:14px;display:grid}.ocr-team-summary header{justify-content:space-between;align-items:end;gap:10px;display:flex}.ocr-team-summary header b,.ocr-team-summary header small{display:block}.ocr-team-summary header b{color:#284b35;font-size:17px}.ocr-team-summary header small,.ocr-team-empty{color:#64776a;font-size:13px;line-height:1.4}.ocr-team-list{gap:8px;display:grid}.ocr-team-list>div{background:#fff;border:1px solid #dbe8d7;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;display:grid}.ocr-team-badge{color:#2d6f3b;background:#e9f7e6;border-radius:999px;justify-content:center;align-items:center;min-width:78px;min-height:38px;padding:0 10px;font-weight:1000;display:inline-flex}.ocr-team-list b,.ocr-team-list small{display:block}.ocr-team-list b{color:#284b35;font-size:14px}.ocr-team-list small{color:#64776a;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.ocr-team-list small.current-source{color:#2f7d45;margin-top:5px;font-weight:1000}.ocr-team-list small.other-source{color:#8a6a2f;margin-top:5px;font-weight:1000}.ocr-team-list>div>span:nth-last-child(2){text-align:right}.ocr-team-control{justify-items:end;gap:6px;display:grid}.ocr-team-control button{color:#a45c1f;cursor:pointer;background:#fff7ef;border:1px solid #e4c6a5;border-radius:10px;min-height:36px;padding:0 10px;font-weight:1000}.ocr-team-control button.secondary{color:#356942;background:#f3faef;border-color:#cfe1cb}.ocr-team-control button:disabled{opacity:.55;cursor:not-allowed}.ocr-match-panel{background:#f7fbf4;border:1px solid #d8e7d2;border-radius:16px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;width:100%;padding:12px;display:grid}.ocr-match-panel label{color:#2c5732;gap:7px;font-weight:900;display:grid}.ocr-match-panel select{color:#234332;width:100%;min-width:0;height:46px;font:inherit;background:#fff;border:1px solid #cfded0;border-radius:12px;padding:0 12px;font-size:15px;font-weight:900}.ocr-match-panel button{color:#fff;cursor:pointer;background:#78a85c;border:0;border-radius:13px;min-height:46px;padding:0 14px;font-weight:900}.ocr-match-panel small{max-width:260px;font-size:13px;line-height:1.35;display:block}.ocr-match-panel .danger-text{color:#a7442f;font-weight:900}.ocr-match-panel .ok-text{color:#377445;font-weight:900}.ocr-factory-record-warning{color:#973f29;background:#fff1eb;border:1px solid #e9a98f;border-radius:16px;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.ocr-factory-record-warning>svg{flex:none;margin-top:2px}.ocr-factory-record-warning b,.ocr-factory-record-warning small{display:block}.ocr-factory-record-warning b{font-size:16px}.ocr-factory-record-warning small{margin-top:4px;font-size:13px;line-height:1.45}.ocr-teammates{gap:8px;display:grid}.ocr-teammates>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.ocr-teammates button,.ocr-items-title button,.ocr-item-row button{color:#356942;cursor:pointer;background:#fff;border:1px solid #d7e2d5;border-radius:10px;min-height:36px;padding:0 10px;font-weight:900}.ocr-teammates>span{grid-template-columns:1fr auto;gap:8px;display:grid}.ocr-review-row.reviewed{background:#f3faee;border-color:#cfe6c4}.ocr-line-head{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.ocr-line-head>span{min-width:0}.ocr-line-head>strong{color:#2c5732;flex:none;font-size:16px}.ocr-line-values.wide{grid-template-columns:1.4fr 1.2fr .75fr .75fr repeat(5,.7fr) 1fr;align-items:end;width:100%}.ocr-line-values select,.ocr-line-values input{border:1px solid var(--line);color:#244032;width:100%;height:38px;font:inherit;background:#fff;border-radius:8px;padding:0 8px}.ocr-line-items{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.ocr-line-items>div{background:#fbfdf9;border:1px dashed #d8e0d7;border-radius:14px;min-width:0;padding:10px}.ocr-line-items b{color:#2c5732;margin-bottom:7px;font-size:12px;display:block}.ocr-line-items div>span{flex-wrap:wrap;gap:6px;display:flex}.ocr-editable-items{gap:8px;display:grid}.ocr-editable-items.earning{background:#f5fcf3}.ocr-editable-items.deduction{background:#fffaf4}.ocr-items-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.ocr-item-row{grid-template-columns:minmax(0,1fr) 110px auto;align-items:center;gap:7px;display:grid}.ocr-item-row input,.ocr-item-row select{border:1px solid var(--line);color:#234332;width:100%;min-width:0;height:40px;font:inherit;background:#fff;border-radius:10px;padding:0 10px;font-size:13px;font-weight:800}.ocr-master-picker{gap:4px;min-width:0;display:grid}.ocr-unmatched-item{color:#a95b1e;font-size:11px;font-weight:900}.ocr-empty-item{color:var(--muted);font-size:12px}.ocr-item-chip{overflow-wrap:anywhere;border-radius:999px;align-items:center;max-width:100%;min-height:30px;padding:5px 9px;font-size:12px;font-weight:800;line-height:1.25;display:inline-flex}.ocr-item-chip.earning{color:#2f7d45;background:#e7f6e8}.ocr-item-chip.deduction{color:#a55728;background:#fff0e5}.ocr-item-chip.muted{color:#728176;background:#eef3ed}.ocr-line-actions{justify-content:flex-end;gap:8px;width:100%;display:flex}.ocr-line-actions button,.ocr-review-actions button,.ocr-context-save,.ocr-match-panel button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.ocr-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ocr-summary span{background:#f2f6f3;border-radius:10px;padding:11px}.ocr-summary b,.ocr-summary small{display:block}.ocr-summary b{font-size:15px}.ocr-summary small{color:var(--muted);font-size:8px}.ocr-review-list{max-height:45vh;display:grid;overflow-y:auto}.ocr-review-list>div{border-bottom:1px solid #edf0ed;justify-content:space-between;gap:10px;min-height:63px;padding:9px 2px;display:flex}.ocr-review-list b,.ocr-review-list small{display:block}.ocr-review-list small{color:var(--muted);font-size:9px}.ocr-review-row{align-items:center}.ocr-review-row>span{min-width:140px}.ocr-review-row>strong{text-align:right;min-width:85px}.ocr-line-values{grid-template-columns:repeat(4,90px);gap:5px;display:grid}.ocr-line-values label{color:var(--muted);font-size:8px}.ocr-line-values input{border:1px solid var(--line);width:100%;height:34px;font:inherit;border-radius:7px;padding:0 6px}.operation-modal.ocr-review-modal{width:min(1480px,100vw - 40px)}.ocr-review-modal .operation-form{min-width:0}.ocr-review-title-type{display:none}.ocr-review-workspace{grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);grid-template-areas:"status status""role checklist""document checklist""draft checklist""compare compare""context context""team team""actions actions""records records";gap:16px;min-width:0;display:grid}@media (width>=821px){.ocr-review-title-type{display:inline}.ocr-review-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"status""compare""context""team""summary""actions""records"}.ocr-review-workspace>.ocr-review-role-banner,.ocr-review-workspace>.ocr-document-status,.ocr-review-workspace>.ocr-draft-hint,.ocr-review-workspace>.ocr-preflight-checklist{display:none}}.ocr-review-workspace>.ocr-review-role-banner{grid-area:role}.ocr-review-workspace>.ocr-document-status{grid-area:document}.ocr-review-workspace>.ocr-draft-hint{grid-area:draft}.ocr-review-workspace>.ocr-review-compare{grid-area:compare}.ocr-review-workspace>.ocr-catering-context{grid-area:context}.ocr-review-workspace>.ocr-event-verification{grid-area:status}.ocr-review-workspace>.ocr-team-summary{grid-area:team}.ocr-review-workspace>.ocr-summary{grid-area:summary}.ocr-review-workspace>.ocr-preflight-checklist{grid-area:checklist}.ocr-review-workspace>.ocr-review-actions{grid-area:actions}.ocr-review-workspace>.ocr-records-zone{grid-area:records;min-width:0}.ocr-review-workspace>.operation-message,.ocr-review-workspace>.ocr-factory-record-warning{grid-column:1/-1}.ocr-review-workspace>.operation-message{padding:13px 15px;font-size:14px;font-weight:850;line-height:1.45}.ocr-review-workspace>.operation-message.success{color:#24633a;background:#edf9ef;border:1px solid #b9dfc0}.ocr-review-workspace>.operation-message.error{color:#9b3d28;background:#fff1ec;border:1px solid #edb7a7}.ocr-review-workspace .ocr-event-verification{grid-template-columns:repeat(5,minmax(150px,1fr))}.ocr-review-workspace .ocr-event-verification>span{padding:15px 16px}.ocr-review-workspace .ocr-event-verification b{white-space:nowrap;font-size:20px;line-height:1.15}.ocr-review-workspace .ocr-event-verification small{word-break:normal;overflow-wrap:normal;margin-top:5px;font-size:13px;line-height:1.35}.ocr-review-workspace .ocr-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.ocr-review-workspace .ocr-summary span{border-radius:14px;padding:14px}.ocr-review-workspace .ocr-summary b{font-size:20px}.ocr-review-workspace .ocr-summary small{margin-top:3px;font-size:12px;line-height:1.3}.ocr-preflight-checklist>.ocr-preflight-groups{grid-template-columns:1fr;gap:12px;display:grid}.ocr-preflight-groups section{gap:8px;display:grid}.ocr-preflight-groups section>strong{color:#294d35;font-size:14px}.ocr-preflight-groups section.needs-fix>strong{color:#a4522b}.ocr-preflight-groups section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ocr-preflight-groups section>div>span{background:#fff;border:1px solid #dce8d8;border-radius:12px;min-width:0;padding:10px 11px}.ocr-preflight-groups span.ok{background:#f1faf2;border-color:#cbe6d1}.ocr-preflight-groups span.warn{background:#fff7ec;border-color:#f0d7b2}.ocr-preflight-groups span.block{background:#fff2ec;border-color:#efc8b8}.ocr-teammates>div>span{min-width:0}.ocr-teammates>div>span small{margin-top:3px}.ocr-teammates button:disabled{opacity:.62;cursor:not-allowed;background:#edf1ec}.ocr-teammate-limit{background:#fff7e9;border:1px solid #f0d1a7;border-radius:10px;padding:9px 11px;font-weight:800;color:#9a5b20!important}.ocr-review-workspace .ocr-review-list{gap:18px;max-height:none;display:grid;overflow:visible}.ocr-review-workspace .ocr-review-list>.ocr-review-row{isolation:isolate;background:#fff;border:1px solid #dce7d9;border-radius:20px;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;padding:20px;display:grid;position:relative;overflow:visible}.ocr-review-workspace .ocr-review-list>.ocr-review-row:focus-within{z-index:10}.ocr-review-workspace .ocr-review-row>*{min-width:0}.ocr-record-layer{background:#fbfdf9;border:1px solid #dce7d9;border-radius:16px;min-width:0;padding:15px}.ocr-record-primary{z-index:3;background:#f5faf2;border-color:#cfe1ca;grid-template-columns:minmax(210px,.8fr) minmax(320px,1.5fr) minmax(170px,.6fr);align-items:start;gap:14px;display:grid;position:relative}.ocr-money-layer,.ocr-detail-layer{z-index:1;position:relative}.ocr-read-name,.ocr-record-schedule label,.ocr-record-money label{color:#526a58;gap:6px;min-width:0;font-size:13px;font-weight:850;display:grid}.ocr-read-name input,.ocr-employee-combobox input,.ocr-record-schedule input,.ocr-record-money input,.ocr-record-money select{color:#244032;width:100%;min-width:0;height:44px;font:inherit;background:#fff;border:1px solid #cfddd0;border-radius:11px;padding:0 11px;font-size:14px}.ocr-record-primary .ocr-match-panel{background:0 0;border:0;grid-column:auto;grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;padding:0;display:grid}.ocr-employee-combobox{min-width:0;position:relative}.ocr-employee-combobox input{padding-right:42px;font-weight:800}.ocr-combobox-clear{z-index:2;width:32px;position:absolute;top:6px;right:6px;color:#6a7b6e!important;background:#eef3ed!important;min-height:32px!important;padding:0!important}.ocr-employee-options{z-index:30;opacity:1;background:#fff;border:1px solid #cbdacb;border-radius:13px;max-height:min(320px,42vh);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 34px #1c3d2533}.ocr-employee-options>button{color:#284b35;text-align:left;background:#fff;border-radius:9px;justify-items:start;min-height:54px;padding:8px 10px;display:grid}.ocr-employee-options>button:hover,.ocr-employee-options>button.selected{color:#245f35;background:#edf7e9}.ocr-employee-options>button b,.ocr-employee-options>button small{overflow-wrap:anywhere;max-width:100%;display:block}.ocr-employee-options>button small{color:#68796c;font-size:12px}.ocr-employee-options>small{color:#758278;text-align:center;padding:12px}.ocr-match-guidance{gap:6px;display:grid}.ocr-match-status{color:#8b6325;background:#fff9eb;border:1px solid #e3d4ad;border-radius:13px;align-self:center;gap:3px;padding:11px 12px;display:grid}.ocr-match-status.ok{color:#397247;background:#eef9e9;border-color:#c7dfbf}.ocr-match-status.danger{color:#9d4632;background:#fff1ed;border-color:#edb9aa}.ocr-match-status b,.ocr-match-status small{display:block}.ocr-match-status small{font-size:12px;line-height:1.35}.ocr-attendance-insight{background:#eff8ec;border:1px solid #c9dec4;border-radius:14px;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px;display:grid}.ocr-attendance-insight span{background:#ffffffd1;border-radius:10px;gap:3px;min-width:0;padding:9px 10px;display:grid}.ocr-attendance-insight small{color:#66796a;font-size:12px;line-height:1.3}.ocr-attendance-insight b{color:#284f30;overflow-wrap:anywhere;line-height:1.35}.ocr-attendance-insight p{color:#607464;grid-column:1/-1;margin:0;font-size:12px}.ocr-attendance-insight.late{background:#fff0eb;border-color:#efb3a2}.ocr-attendance-insight.late b{color:#a2442f}.ocr-attendance-insight.pending{background:#fff8e7;border-color:#ead19a}.ocr-attendance-insight.pending b{color:#8a6425}.ocr-layer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ocr-layer-header>div{gap:3px;min-width:0;display:grid}.ocr-layer-header small{font-size:12px}.ocr-layer-toggle{color:#356942;cursor:pointer;background:#fff;border:1px solid #d3dfd1;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 11px;font-weight:850;display:inline-flex}.ocr-layer-toggle svg{transition:transform .18s}.ocr-layer-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.ocr-money-summary{grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px;margin-top:12px;display:grid}.ocr-money-summary span{background:#eef5eb;border-radius:12px;min-width:0;padding:10px 11px}.ocr-money-summary small,.ocr-money-summary b{display:block}.ocr-money-summary small{color:#65756a;font-size:11px;line-height:1.3}.ocr-money-summary b{color:#294c35;overflow-wrap:anywhere;margin-top:3px;font-size:15px}.ocr-money-summary span.net{color:#fff;background:#477b4a}.ocr-money-summary span.net small,.ocr-money-summary span.net b{color:inherit}.ocr-layer-content{border-top:1px dashed #d6e1d3;gap:12px;margin-top:13px;padding-top:13px;display:grid}.ocr-detail-layer{background:#fafcf9;padding:10px 14px}.ocr-detail-toggle{background:0 0;border:0;justify-content:flex-start;width:100%}.ocr-record-schedule{background:#f8fbf7;border:1px solid #dfe8dc;border-radius:15px;grid-template-columns:minmax(150px,.65fr) minmax(180px,.8fr) minmax(260px,1.4fr);gap:10px;padding:13px;display:grid}.ocr-record-money{background:#f4f9f1;border:1px solid #d9e6d6;border-radius:16px;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px;padding:14px;display:grid}.ocr-net-total{color:#fff;background:#477b4a;border-radius:12px;align-content:center;align-self:end;min-height:44px;padding:8px 12px;display:grid}.ocr-net-total small,.ocr-net-total b{display:block}.ocr-net-total small{opacity:.86;font-size:11px}.ocr-net-total b{margin-top:2px;font-size:16px}.ocr-review-workspace .ocr-line-items,.ocr-review-workspace .ocr-line-actions,.ocr-review-workspace .ocr-line-check,.ocr-review-workspace .ocr-match-panel{width:100%}@media (width<=820px){.operation-modal.ocr-review-modal{width:100%}.ocr-review-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"status""checklist""role""document""draft""compare""context""team""summary""actions""records";gap:13px}.ocr-review-workspace .ocr-event-verification{grid-template-columns:1fr}.ocr-review-compare{grid-template-columns:minmax(0,1fr)}.ocr-source-preview{min-height:280px;max-height:55vh}.ocr-source-preview img{max-height:55vh}.ocr-review-workspace .ocr-event-verification b{white-space:normal}.ocr-preflight-groups section>div{grid-template-columns:1fr}.ocr-review-workspace .ocr-review-list>.ocr-review-row{padding:15px;overflow:visible}.ocr-record-primary,.ocr-record-schedule,.ocr-record-money,.ocr-record-primary .ocr-match-panel{grid-template-columns:1fr}.ocr-match-status{align-self:stretch}.ocr-attendance-insight{grid-template-columns:1fr 1fr}.ocr-attendance-insight p{grid-column:1/-1}.ocr-layer-header{flex-direction:column;align-items:stretch}.ocr-layer-header .ocr-layer-toggle{width:100%}.ocr-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-employee-options{max-height:min(280px,38vh)}.ocr-match-panel small{max-width:none}.ocr-line-actions{grid-template-columns:1fr;display:grid}}@media (width<=520px){.ocr-attendance-insight{grid-template-columns:1fr}.ocr-attendance-insight p{grid-column:1}}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid.lower{grid-template-columns:1fr 1fr}.dashboard-grid.lower .factory-card{grid-column:1/-1}.quick-actions{grid-template-columns:repeat(2,1fr)}.quick-actions>div{grid-column:1/-1}.shift-type-grid{grid-template-columns:1fr 1fr}}@media (width<=820px){.app-shell{display:block}.sidebar{display:none}header{padding:0 18px}.connection{display:none}.app-navigator{width:calc(100% - 36px);margin-top:12px}.content{padding:20px 18px 112px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.dashboard-grid.lower .factory-card{grid-column:auto}.mobile-bottom-nav{z-index:40;left:12px;right:12px;bottom:max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #dae1dbf2;border-radius:21px;grid-template-columns:repeat(6,1fr);min-height:70px;padding:7px 5px 6px;display:grid;position:fixed;box-shadow:0 12px 40px #12372a2e}.mobile-bottom-nav button{color:#829088;cursor:pointer;background:0 0;border:0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 2px;display:flex}.mobile-bottom-nav button.active{color:var(--green-700);background:#edf6f1}.mobile-bottom-nav small{font-size:8px;font-weight:700}.mobile-nav-icon{place-items:center;height:25px;display:grid;position:relative}.mobile-nav-icon i{background:var(--orange);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:7px;font-style:normal;display:grid;position:absolute;top:-5px;right:-11px}.more-backdrop{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d201873;border:0;display:block;position:fixed;inset:0}.mobile-more-sheet{z-index:50;padding:8px 18px calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;background:#fff;border-radius:25px 25px 0 0;max-height:min(92dvh,920px);animation:.2s ease-out sheet-up;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -15px 50px #0d20182e}.sheet-handle{background:#dce2de;border-radius:8px;width:42px;height:4px;margin:0 auto 13px}.sheet-heading{align-items:center;margin-bottom:14px;display:flex}.sheet-heading>button{margin-left:auto}.sheet-heading span{color:var(--orange);text-transform:uppercase;letter-spacing:1px;font-size:8px;font-weight:700}.sheet-heading h2{margin:2px 0 0;font-size:19px}.more-menu-grid{gap:9px;display:grid}.more-menu-grid>button{border:1px solid var(--line);color:#263d33;text-align:left;background:#fbfcfa;border-radius:14px;align-items:center;gap:11px;width:100%;min-height:65px;padding:10px 12px;display:flex}.more-menu-grid>button>span:nth-child(2){flex:1}.more-menu-grid b,.more-menu-grid small{display:block}.more-menu-grid b{font-size:12px}.more-menu-grid small{color:var(--muted);margin-top:2px;font-size:9px}.more-menu-icon{border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.more-menu-icon.orange{color:#b76628;background:#faecdf}.more-menu-icon.green{color:#28714e;background:#e3f2e9}.more-menu-icon.blue{color:#39729b;background:#e5f0f7}.more-menu-icon.purple{color:#765f99;background:#eee9f5}.more-secondary{grid-template-columns:1fr;gap:9px;margin-top:12px;display:grid}.more-secondary button{color:#53645c;background:#f2f5f2;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:10px;display:flex}.more-secondary .mobile-signout-button{color:#9a4632;background:#fff0eb;border:1px solid #f2c8ba;font-weight:800}@keyframes sheet-up{0%{opacity:.5;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.auth-page{background:#fff;display:block}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:24px 18px}.auth-form{box-shadow:none;border:0;padding:27px 22px}.auth-mobile-logo{display:flex}.capture-overlay{place-items:end center;padding:0}.capture-sheet{max-height:96vh;padding:19px 17px calc(19px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.telegram-setup{max-height:92vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.attendance-toast{bottom:92px;left:12px;right:12px}.shift-page{max-width:calc(100vw - 36px)}.shift-hero{padding:21px;display:block}.shift-hero h2{overflow-wrap:anywhere;max-width:100%;font-size:21px;line-height:1.4}.shift-hero p{line-height:1.6}.shift-hero-actions{grid-template-columns:1fr;width:100%;margin:18px 0 0;display:grid}.shift-primary-button{width:100%;max-width:100%;margin:0}.shift-overview{grid-template-columns:1fr 1fr;gap:9px}.shift-overview>div{padding:12px}.shift-overview b{font-size:20px}.shift-type-grid{grid-template-columns:1fr;padding-bottom:0;display:grid;overflow:visible}.shift-type-card{width:100%;min-width:0;min-height:155px}.shift-section{padding:17px}.shift-section-heading{align-items:flex-start;min-width:0}.shift-section-heading>div:first-child{min-width:0}.shift-section-heading h3{overflow-wrap:anywhere}.shift-text-button{display:none}.schedule-title{display:block}.schedule-title .week-controls{width:100%;margin-top:13px}.schedule-title .week-controls button{flex:1}.schedule-range-controls{border-radius:17px;margin:0 0 13px;padding:13px}.schedule-week-jump,.schedule-date-range{grid-template-columns:1fr}.schedule-toolbar{grid-template-columns:1fr 1fr;display:grid}.schedule-toolbar label{grid-column:1/-1;min-width:0}.schedule-toolbar .auto-shift-button{margin:0}.schedule-scroll{margin:0;padding:0;overflow:visible}.schedule-grid{min-width:0;display:block}.schedule-grid>.schedule-header{display:none}.schedule-row{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;padding:12px;display:grid}.schedule-row .employee-cell{border-bottom:1px solid #e3e8e4;grid-column:1/-1;min-height:55px;margin-bottom:2px;padding:4px 2px 11px}.schedule-row .shift-cell{flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:88px;margin:0;padding:9px 7px;display:flex}.mobile-day-label{color:#66776f;width:100%;margin-bottom:6px;font-size:11px;font-weight:700;line-height:1.3;display:block}.shift-notice{align-items:flex-start}.shift-notice button{display:none}.shift-editor{max-height:94vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.master-page{max-width:calc(100vw - 36px)}.master-hero{padding:21px;display:block}.master-hero h2{font-size:21px}.master-hero p{line-height:1.6}.master-hero .master-primary{width:100%;margin:18px 0 0}.master-stats{grid-template-columns:1fr 1fr;gap:9px}.master-stats>div{padding:12px}.master-stats b{font-size:20px}.master-content{padding:17px}.master-content-heading{gap:8px}.master-content-heading .master-primary{padding:0 10px}.master-tabs{grid-template-columns:1fr 1fr;gap:7px;display:grid;overflow:visible}.master-tabs button{justify-content:flex-start;width:100%;min-width:0}.employee-directory-row{grid-template-columns:42px minmax(0,1fr) 22px;padding:11px 2px}.directory-scope,.employment-pill,.employee-directory-row>.record-state{display:none}.simple-record-list>button{grid-template-columns:43px minmax(0,1fr) 24px}.simple-record-list .record-state{display:none}.master-editor{max-height:94vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.directory-toolbar{grid-template-columns:1fr}.directory-toolbar>select{margin-top:-5px;margin-bottom:13px}.operation-page{max-width:calc(100vw - 36px)}.operation-hero{padding:21px;display:block}.operation-hero h2{font-size:21px}.operation-hero p{line-height:1.6}.operation-hero>.operation-primary{width:100%;margin:18px 0 0}.operation-card{padding:17px}.operation-row{grid-template-columns:42px minmax(0,1fr) auto}.operation-row>span:nth-child(3){display:none}.factory-operation-grid{grid-template-columns:1fr}.operation-modal{max-height:94vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.compensation-page,.report-page,.catering-management{max-width:calc(100vw - 36px)}.catering-hero{display:block}.catering-hero-actions{width:100%;margin:18px 0 0}.catering-hero-actions button{flex:1;justify-content:center}.catering-event-list>button{grid-template-columns:70px minmax(0,1fr) 22px}.catering-event-list>button>span:nth-child(3){display:none}.catering-modal{max-height:94vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.catering-form-grid{grid-template-columns:1fr 1fr}.catering-form-grid .wide{grid-column:1/-1}.catering-import-preview>div{grid-template-columns:1fr;gap:4px}.report-hero{display:block}.report-export-actions{width:100%;margin:18px 0 0}.report-export-actions button{flex:1;justify-content:center}.report-type-grid,.report-filters{grid-template-columns:1fr 1fr}.report-keyword{grid-column:1/-1}.report-summary-grid,.compensation-tabs{grid-template-columns:1fr 1fr}.compensation-employee{grid-template-columns:43px minmax(0,1fr) 22px}.compensation-employee>span:nth-child(3){display:none}.payroll-run-row{grid-template-columns:43px minmax(0,1fr)}.payroll-run-row>span:nth-child(3){text-align:left;color:#245b42;background:#eef8ec;border-radius:14px;grid-column:2;padding:10px 12px;display:block}.payroll-run-row>span:nth-child(3) b{font-size:21px}.payroll-run-row>span:nth-child(3) small{font-size:14px}.payroll-payment-details{grid-column:1/-1}.payroll-payment-details article{grid-template-columns:1fr}.payroll-payment-details b{font-size:12px}.payroll-payment-details strong{font-size:15px}.payroll-payment-details small{font-size:13px}.reconciliation-ready-list>article,.reconciliation-meta,.reconciliation-item,.mixed-allocation-list label{grid-template-columns:1fr}.reconciliation-ready-list b{font-size:15px}.reconciliation-ready-list small{font-size:13px}.reconciliation-assignment>header{align-items:flex-start}.reconciliation-item{gap:7px}.reconciliation-upload,.reconciliation-finalize,.reconciliation-funding,.reconciliation-revoke,.reconciliation-recall{flex-direction:column;align-items:stretch}.reconciliation-return-account{grid-template-columns:1fr}.reconciliation-upload input,.reconciliation-finalize input[type=number]{width:100%;max-width:none}.ocr-filter-panel{grid-template-columns:1fr;padding:14px}.ocr-filter-panel .wide{grid-column:auto}.ocr-filter-summary{font-size:14px}.ocr-document-row{grid-template-columns:43px minmax(0,1fr) 22px;gap:10px}.ocr-pt-chips span{border-radius:14px;font-size:13px}.ocr-pt-chips strong{font-size:10px}}@media (width<=560px){header h1{font-size:22px;line-height:1.3}.header-avatar{display:none}header p{margin-top:5px;font-size:15px;line-height:1.45}.app-navigator{border-radius:22px;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.app-navigator strong{order:-1;grid-column:1/-1;min-width:0;padding:4px 0 2px;font-size:16px}.app-navigator button{min-height:50px;font-size:17px}.welcome{align-items:flex-start;min-height:190px;padding:24px 22px}.welcome h2{margin-top:11px;font-size:26px;line-height:1.45}.welcome p{font-size:16px;line-height:1.65}.welcome .eyebrow{letter-spacing:1.15px;font-size:13px;line-height:1.4}.welcome-date{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:164px;padding:17px 15px}.metric-card>strong{margin-top:18px;font-size:34px}.metric-icon{width:42px;height:42px}.metric-icon svg{width:24px;height:24px}.metric-top{max-width:calc(100% - 45px);font-size:15px;font-weight:600;line-height:1.4}.metric-card p{font-size:14px;line-height:1.45}.metric-card small{margin-top:9px;font-size:13px;line-height:1.4}.card{padding:17px}.clock-face strong{font-size:40px}.section-kicker{letter-spacing:1.1px;font-size:12px;line-height:1.4}.card h3{font-size:20px;line-height:1.45}.shift-badge,.quality-pill,.filter-button,.filter-select{padding:8px 12px;font-size:13px}.clock-face small,.clock-face span{font-size:14px;line-height:1.5}.check-button{padding:17px}.check-button b{font-size:16px;line-height:1.4}.check-button small{margin-top:4px;font-size:13px;line-height:1.45}.location-quality b{font-size:14px}.location-quality div span{font-size:12px;line-height:1.45}.text-button,.row-link,.outline-button{font-size:14px}.approval-row{min-height:66px}.approval-row b{font-size:15px;line-height:1.4}.approval-row small{font-size:12px;line-height:1.4}.team-row{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px 14px;padding:14px 0}.team-row .person-time{text-align:left;white-space:nowrap;grid-area:2/2;justify-self:start;min-width:0;margin-top:2px;display:block}.team-row .status-pill{white-space:normal;text-align:center;grid-area:3/2;justify-self:start;width:fit-content;max-width:100%;margin-top:5px}.person-name b{font-size:15px}.person-name small{margin-top:2px;font-size:12px}.person-dot{width:38px;height:38px;font-size:14px}.status-pill{padding:7px 10px;font-size:13px}.event-item{min-height:70px}.event-item b{font-size:14px}.event-item div span{font-size:12px}.event-date{width:58px;padding:12px 4px;font-size:12px}.factory-item{min-height:73px}.factory-icon{width:43px;height:43px}.factory-info b{font-size:14px}.factory-info small{font-size:13px;line-height:1.4}.factory-count b{font-size:15px}.factory-count small{font-size:12px}.quick-actions{grid-template-columns:1fr;gap:13px;padding:23px 20px}.quick-actions>div{grid-column:auto;margin-bottom:2px}.quick-actions>div .section-kicker{letter-spacing:1.2px;font-size:12px}.form-grid.two,.operation-form-grid{grid-template-columns:1fr}.operation-heading{gap:8px}.profile-card{flex-wrap:wrap;align-items:flex-start}.danger-button{width:100%;margin:8px 0 0}.quick-actions h3{margin-top:5px;font-size:21px}.quick-actions button{border-radius:15px;gap:15px;min-height:78px;padding:15px 18px}.quick-actions button>svg{flex:none;width:29px;height:29px}.quick-actions b{font-size:16px;line-height:1.35}.quick-actions small{margin-top:3px;font-size:13px;line-height:1.45}.mobile-bottom-nav{min-height:78px}.mobile-bottom-nav small{font-size:11px}.mobile-nav-icon{height:28px}.mobile-nav-icon i{width:20px;height:20px;font-size:12px}.sheet-heading span{font-size:12px}.more-menu-grid b{font-size:16px}.more-menu-grid small{font-size:13px;line-height:1.4}.more-secondary button{font-size:13px}.operation-hero h2,.master-hero h2,.shift-hero h2{font-size:25px}.operation-hero p,.master-hero p,.shift-hero p{font-size:15px}.operation-heading h3,.master-content-heading h3,.shift-section-heading h3{font-size:20px}.operation-heading>button,.operation-heading select{font-size:13px}.operation-row b,.factory-operation-grid b,.simple-record-list b,.directory-person b{font-size:15px}.operation-row small,.factory-operation-grid small,.simple-record-list small,.directory-person small{font-size:12px;line-height:1.4}.attendance-mobile-detail{color:#356c53!important;margin-top:6px!important;font-size:13px!important;line-height:1.5!important;display:block!important}.operation-state,.operation-message,.master-loading,.master-empty,.shift-loading,.shift-empty{font-size:14px}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check,.active-toggle b,.next-day-toggle b{font-size:13px}.shift-primary-button,.master-primary,.operation-primary,.capture-primary,.capture-secondary,.danger-button{font-size:15px}.shift-overview small,.master-stats small{font-size:13px;line-height:1.4}.shift-subnav,.shift-subnav.four-items,.shift-governance-panel{grid-template-columns:1fr}.shift-cutoff-card{flex-direction:column;align-items:stretch}.shift-cutoff-card>label{min-width:0}.missed-shift-request-list article{flex-direction:column;align-items:stretch}.missed-shift-actions{width:100%}.missed-shift-actions button{flex:1;min-height:44px}.shift-subnav button{border-radius:22px;min-height:86px;padding:17px 18px}.shift-subnav button span{font-size:22px}.shift-subnav button small{font-size:16px}.weekly-off-panel{border-radius:22px;padding:18px}.weekly-off-panel>header{display:grid}.weekly-off-panel h3{font-size:25px}.weekly-off-panel p{font-size:16px}.weekly-off-panel>header button{width:100%;min-height:58px;margin:0;font-size:18px}.weekly-off-list label{grid-template-columns:1fr;min-height:0;padding:16px}.weekly-off-list b{font-size:20px}.weekly-off-list small{font-size:16px}.weekly-off-list select{min-height:56px;font-size:18px}.shift-type-label{padding:6px 9px;font-size:12px}.shift-type-card>b{font-size:17px;line-height:1.4}.shift-type-card>strong{margin:5px 0;font-size:27px}.shift-type-card>small{font-size:13px;line-height:1.5}.shift-department-scope{margin-top:10px;padding:7px 10px;font-size:13px}.shift-people{font-size:13px}.week-controls button,.week-controls .today-button{min-height:42px;font-size:14px}.schedule-week-jump button,.schedule-date-range input{min-height:52px;font-size:15px}.schedule-date-range label{font-size:14px}.schedule-toolbar label,.schedule-toolbar button,.schedule-department-filter select{min-height:44px;font-size:14px}.employee-cell>span{width:40px;height:40px;font-size:14px}.employee-cell b{font-size:16px;line-height:1.4}.employee-cell small{font-size:13px;line-height:1.4}.mobile-day-label{font-size:14px}.shift-cell b{font-size:15px;line-height:1.35}.shift-cell small{font-size:13px;line-height:1.35}.schedule-legend span{font-size:13px}.shift-notice b{font-size:15px}.shift-notice p{font-size:13px;line-height:1.5}.next-day-toggle small,.shift-editor-summary small,.assignment-person small{font-size:13px;line-height:1.4}.shift-editor-summary b,.assignment-person b{font-size:15px}.shift-message,.shift-empty b{font-size:14px}.master-tabs button{min-height:48px;font-size:14px;line-height:1.35}.master-content-heading p{font-size:13px;line-height:1.45}.master-message{margin-inline:14px;padding:13px 14px;font-size:15px;line-height:1.5}.master-search,.master-search input,.directory-toolbar>select{font-size:14px}.directory-person b i{font-size:13px}.directory-scope b{font-size:14px}.directory-scope small{font-size:13px}.employment-pill,.record-state{font-size:12px}.record-icon{font-size:14px}.role-person b{font-size:15px}.role-person small{font-size:13px;line-height:1.4}.role-chips button,.role-chips>span{font-size:12px}.active-toggle small,.location-help small{font-size:13px;line-height:1.4}.location-help b{font-size:15px}.operation-row{min-height:82px}.factory-operation-grid strong{font-size:24px}.decision-buttons button{min-height:38px;padding:8px 11px;font-size:13px}.profile-card h3{font-size:20px}.profile-card p{font-size:14px;line-height:1.45}.capture-header span{font-size:12px}.capture-header h2{font-size:24px}.capture-steps span,.capture-steps i{font-size:12px}.capture-stage h3{font-size:22px}.capture-stage>p,.camera-loading{font-size:14px}.location-confirm b{font-size:15px}.location-confirm small{font-size:13px}.capture-summary span{font-size:12px}.capture-summary b{font-size:14px}.telegram-note{line-height:1.45;font-size:13px!important}.capture-error{font-size:14px}.attendance-toast b{font-size:15px}.attendance-toast small{font-size:13px;line-height:1.4}.telegram-explainer b{font-size:16px}.telegram-explainer p{font-size:14px;line-height:1.5}.telegram-setup form>label:not(.telegram-check),.telegram-check span,.telegram-secret-note b{font-size:14px}.telegram-secret-note small{font-size:12px;line-height:1.4}.auth-form h2{font-size:30px}.auth-form>p,.auth-form label,.auth-link,.auth-preview,.auth-message{font-size:14px}.compensation-tabs button{justify-content:flex-start;min-height:52px;font-size:14px}.report-type-grid{grid-template-columns:1fr}.report-type-grid button{min-height:100px}.report-type-grid b{font-size:16px}.report-type-grid small{font-size:13px;line-height:1.45}.report-filters{grid-template-columns:1fr}.report-keyword{grid-column:auto}.report-filters label{font-size:13px}.report-filters input,.report-filters select{height:48px;font-size:14px}.report-summary-grid span,.report-summary-grid small{font-size:13px}.report-summary-grid b{font-size:20px}.report-table{font-size:13px}.report-table th,.report-table td{padding:12px}.catering-hero-actions{grid-template-columns:1fr;display:grid}.catering-event-list>button{grid-template-columns:76px minmax(0,1fr) 22px;min-height:112px;padding:14px 2px}.catering-event-list b{font-size:16px}.catering-event-list small{font-size:13px;line-height:1.45}.catering-date b{font-size:16px}.catering-form-grid{grid-template-columns:1fr}.catering-form-grid .wide{grid-column:auto}.catering-form-section legend{font-size:15px}.catering-form-section .operation-field,.catering-stop-help{font-size:13px}.catering-stop-editor>header b,.catering-team-note b,.catering-pt-heading b{font-size:15px}.catering-team-note span,.catering-pt-heading span,.catering-team-empty,.catering-pay-ready{font-size:13px}.catering-pt-heading,.catering-payroll-queue>header{flex-direction:column;align-items:flex-start}.catering-payroll-queue>header b{font-size:16px}.catering-payroll-queue>header small,.catering-payroll-queue>header strong{font-size:13px}.catering-payroll-list>div{grid-template-columns:1fr;gap:5px}.catering-payroll-list b{font-size:15px}.catering-payroll-list small{font-size:13px}.catering-payroll-list>div>span:last-child{text-align:left}.catering-sheet-summary{grid-template-columns:1fr}.catering-sheet-summary b{font-size:15px}.catering-sheet-summary small{font-size:13px}.catering-sheet-picker>header b{font-size:16px}.catering-sheet-picker>header small{font-size:13px}.catering-import-dates{grid-template-columns:1fr}.catering-import-summary b{font-size:21px}.catering-import-summary small{font-size:12px}.catering-import-preview b{font-size:15px}.catering-import-preview small{font-size:13px}.catering-duplicate-result>header b{font-size:16px}.catering-duplicate-result>header small{font-size:13px}.catering-duplicate-options{grid-template-columns:1fr}.catering-duplicate-options b{font-size:15px}.catering-duplicate-options small{font-size:13px}.catering-duplicate-list>div{grid-template-columns:1fr}.catering-duplicate-list b{font-size:14px}.catering-duplicate-list small{font-size:12px}.compensation-employee{min-height:86px}.compensation-employee b{font-size:16px}.compensation-employee small{font-size:13px}.pay-component-box span,.ocr-drop small,.ocr-summary small,.ocr-review-list small{font-size:13px;line-height:1.4}.incentive-group>header{grid-template-columns:48px minmax(0,1fr);align-items:start;min-height:108px;padding:18px 16px}.incentive-group>header b{font-size:17px}.incentive-group>header small{margin-top:7px;font-size:13px;line-height:1.5}.incentive-group-title{flex-wrap:nowrap;align-items:flex-start}.incentive-group>header strong{padding:6px 10px;font-size:12px}.incentive-group .simple-record-list button{grid-template-columns:48px minmax(0,1fr) 24px;gap:12px;min-height:116px;padding:16px 8px}.incentive-item-content .record-state{margin-bottom:8px;font-size:12px;display:block}.incentive-item-content b{font-size:18px;line-height:1.45}.incentive-item-content small{margin-top:6px;font-size:14px;line-height:1.55}.ocr-summary{grid-template-columns:1fr 1fr}.ocr-summary b{font-size:17px}.ocr-review-list b{font-size:15px}.ocr-review-row{grid-template-columns:1fr auto;display:grid!important}.ocr-line-values{grid-column:1/-1;grid-template-columns:1fr 1fr}.ocr-line-values label{font-size:12px}.ocr-line-values input{height:42px;font-size:14px}}:root{color:#294432;--green-900:#78a85f;--green-700:#67954f;--green-100:#edf6e7;--line:#dce8d4;--muted:#667a68;--shadow:0 9px 30px #50744117;background:#f6faf2}body,.app-loading{background:#f6faf2}.sidebar{color:#203c28;background:linear-gradient(#a9ca88,#8fba70)}.brand-mark{color:#31522d;background:#fff1b8}.brand span,.workspace-chip small,.profile-mini small{color:#3f6544}.workspace-chip{background:#ffffff38;border-color:#2c522b29}.workspace-chip>svg,.profile-mini>svg,.profile-logout{color:#426a46}.workspace-avatar,.avatar{color:#fff;background:#6f9f58}.nav-label{color:#456d48}nav button,.sidebar-bottom>button{color:#315638}nav button:hover,nav button.active,.sidebar-bottom>button:hover{color:#1e3b26;background:#ffffff61}nav button.active{box-shadow:inset 4px 0 #fff0a8}.profile-mini{border-top-color:#2c522b2e}.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.auth-brand-panel{color:#203c28;background:radial-gradient(circle at 88% 26%,#fff4b68c,#0000 22%),linear-gradient(120deg,#b8d899,#8fbd70)}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.auth-brand-panel>div:nth-child(2) p{color:#385d3d}.eyebrow,.auth-kicker{color:#875c25}.welcome-date,.auth-security{background:#ffffff4d;border-color:#2d532d26}.welcome-date span,.auth-security small{color:#456c49}.check-button,.operation-save,.catering-save,.report-refresh{color:#fff;background:#72a258;box-shadow:0 8px 18px #547e432e}.check-button.checked{background:#65954e}.operation-primary,.catering-hero-actions button,.report-export-actions button{color:#294a2f;background:#fff0ad}.report-table th{color:#fff;background:#79a95f}.mobile-bottom-nav button.active,.compensation-tabs button.active{color:#426f3d;background:#edf6e7}header h1{font-size:24px}header p{font-size:13px}nav button,.sidebar-bottom>button{font-size:15px}.brand strong{font-size:21px}.brand span,.workspace-chip small,.profile-mini small,.nav-label{font-size:12px}.workspace-chip b,.profile-mini b{font-size:14px}.welcome h2,.operation-hero h2{font-size:29px}.welcome p,.operation-hero p{font-size:14px}.eyebrow,.section-kicker{font-size:11px}.metric-top{font-size:13px}.metric-card p{font-size:12px}.metric-card small{font-size:11px}.content,.dashboard-grid,.metric-grid,.card,.quick-actions,.operation-page,.operation-card,.operation-hero,.master-panel,.master-hero,.shift-section,.shift-hero,.report-page,.report-hero,.report-filter-card,.report-results,.catering-management,.catering-hero,.compensation-page,.ocr-document-row,.ocr-review-row,.ocr-catering-context,.ocr-team-summary,.ocr-match-panel{min-width:0;max-width:100%}.card,.operation-card,.metric-card,.quick-actions,.report-summary-grid>div,.report-type-grid button,.compensation-employee,.catering-event-list>button,.ocr-document-row{overflow-wrap:anywhere;word-break:break-word}.dashboard-grid>*,.metric-grid>*,.report-page>*,.operation-card>*,.compensation-page>*,.catering-management>*{min-width:0}.operation-state .spin{flex:none}@media (width<=560px){html,body,#root,.app-shell,main,.content{max-width:100vw;overflow-x:hidden}.content{padding-left:14px;padding-right:14px}.dashboard-grid,.dashboard-grid.lower,.metric-grid,.report-summary-grid{gap:12px;width:100%}.card,.operation-card,.quick-actions,.report-summary-grid>div,.report-type-grid button{border-radius:22px;width:100%}.report-hero h2,.catering-hero h2,.master-hero h2,.shift-hero h2,.operation-hero h2{line-height:1.25}.report-export-actions,.catering-hero-actions,.ocr-actions,.operation-heading,.card-heading{flex-wrap:wrap;min-width:0}.report-export-actions button,.catering-hero-actions button,.operation-heading>button,.operation-primary,.report-refresh{min-height:56px;font-size:17px}.operation-state{text-align:center;justify-content:center;align-items:center;min-height:120px;line-height:1.55}.operation-message{overflow-wrap:anywhere;line-height:1.55}.report-table-wrap{border:0;border-radius:0;overflow:visible}.report-table,.report-table thead,.report-table tbody,.report-table tr,.report-table td{width:100%;min-width:0;display:block}.report-table thead{display:none}.report-table{border-collapse:separate;border-spacing:0;font-size:15px}.report-table tbody{gap:12px;display:grid}.report-table tr{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:14px}.report-table tbody tr:nth-child(2n){background:#fff}.report-table td{color:#244130;border-bottom:1px solid #edf2eb;max-width:none;padding:9px 0;line-height:1.5}.report-table td:last-child{border-bottom:0}.report-table td:before{content:attr(data-label);color:#6e806f;letter-spacing:.02em;margin-bottom:2px;font-size:12px;font-weight:900;display:block}}@media (width<=760px){.desktop-date-trigger,.desktop-calendar-popover{display:none}.mobile-native-date-input{display:block}.schedule-date-field{font-size:14px}}.card h3,.quick-actions h3{font-size:18px}.shift-badge,.quality-pill,.filter-button,.filter-select{font-size:11px}.operation-heading h3{font-size:20px}.operation-heading>button,.operation-heading select{font-size:11px}.operation-field,.operation-check{font-size:12px}.operation-field input,.operation-field select{min-height:48px;font-size:14px}.operation-primary{font-size:13px}.operation-state,.operation-message{font-size:12px}.operation-row b,.factory-operation-grid b{font-size:13px}.operation-row small,.factory-operation-grid small{font-size:11px}.catering-event-list b,.compensation-employee b{font-size:15px}.catering-event-list small,.compensation-employee small{font-size:12px}.catering-form-section legend,.catering-sheet-summary b,.catering-import-preview b{font-size:14px}.catering-sheet-summary small,.catering-import-preview small{font-size:11px}@media (width<=560px){header h1{font-size:26px}header p{font-size:17px}.welcome h2{font-size:31px}.welcome p{font-size:19px}.welcome .eyebrow,.section-kicker{font-size:15px}.metric-top{font-size:17px}.metric-card p{font-size:16px}.metric-card small{font-size:15px}.card h3,.quick-actions h3{font-size:24px}.shift-badge,.quality-pill,.filter-button,.filter-select{font-size:15px}.operation-hero h2,.master-hero h2,.shift-hero h2{font-size:30px}.operation-hero p,.master-hero p,.shift-hero p{font-size:18px}.operation-heading h3,.master-content-heading h3,.shift-section-heading h3{font-size:24px}.operation-heading>button,.operation-heading select{font-size:15px}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check{font-size:16px}.operation-field input,.operation-field select,.operation-field textarea{min-height:54px;font-size:17px}.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button{font-size:18px}.operation-state,.operation-message,.master-loading,.master-empty,.shift-loading,.shift-empty{font-size:17px}.operation-row b,.factory-operation-grid b,.simple-record-list b,.directory-person b{font-size:18px}.operation-row small,.factory-operation-grid small,.simple-record-list small,.directory-person small{font-size:15px}.catering-event-list b,.compensation-employee b{font-size:19px}.catering-event-list small,.compensation-employee small{font-size:16px}.catering-date b{font-size:19px}.catering-form-section legend,.catering-sheet-summary b,.catering-import-preview b{font-size:18px}.catering-sheet-summary small,.catering-import-preview small{font-size:16px}.ocr-upload-options{grid-template-columns:1fr}.ocr-drop{min-height:132px}.ocr-drop b{font-size:18px}.ocr-file-list>b{font-size:17px}.ocr-file-list small{font-size:15px}.ocr-file-list .ocr-file-size{font-size:12px}.ocr-file-list button{font-size:14px}.ocr-file-row{grid-template-columns:68px minmax(0,1fr) auto;padding:9px}.ocr-file-list button.ocr-file-thumbnail{width:68px;height:68px;min-height:68px}.ocr-local-preview-overlay{padding:10px}.ocr-local-preview{max-height:calc(100vh - 20px);padding:12px}.ocr-local-preview>img{max-height:calc(100vh - 190px)}.ocr-document-status b{font-size:18px}.ocr-document-status small{font-size:15px}.record-icon.ocr-role-icon{width:58px;height:58px}.ocr-role-badge{padding:7px 11px;font-size:14px}.ocr-review-role-banner{grid-template-columns:54px minmax(0,1fr);padding:16px}.ocr-review-role-banner>span{width:54px;height:54px}.ocr-review-role-banner b{font-size:21px}.ocr-review-role-banner small{font-size:15px}.ocr-review-actions{display:grid}.ocr-review-actions button,.ocr-line-actions button{justify-content:center;min-height:48px;font-size:15px}.ocr-review-list{max-height:58vh}.ocr-review-list>div{padding:14px 0}.ocr-line-head{display:grid}.ocr-line-head>strong{text-align:left;font-size:18px}.ocr-line-values.wide{grid-template-columns:1fr;gap:9px}.ocr-line-values select,.ocr-line-values input{height:46px;font-size:16px}.ocr-catering-context{grid-template-columns:1fr}.ocr-catering-context b{font-size:15px}.ocr-catering-context small{font-size:16px}.ocr-catering-context.editable input,.ocr-catering-context.editable select{height:48px;font-size:16px}.ocr-event-verification{grid-template-columns:1fr}.ocr-event-verification b,.ocr-line-check b{font-size:15px}.ocr-event-verification small,.ocr-line-check small{font-size:14px}.ocr-team-summary header{flex-direction:column;align-items:start}.ocr-team-summary header b{font-size:20px}.ocr-team-summary header small,.ocr-team-empty{font-size:15px}.ocr-preflight-checklist{padding:16px}.ocr-preflight-checklist>div{grid-template-columns:1fr}.ocr-preflight-checklist header b{font-size:19px}.ocr-preflight-checklist header small{font-size:15px}.ocr-preflight-checklist b{font-size:16px}.ocr-preflight-checklist small{font-size:14px}.ocr-team-list>div{grid-template-columns:1fr;align-items:stretch}.ocr-team-list b{font-size:16px}.ocr-team-list small{font-size:14px}.ocr-team-badge{justify-content:flex-start;width:fit-content;min-width:0}.ocr-team-list>div>span:nth-last-child(2){text-align:left}.ocr-team-control{justify-items:start}.ocr-line-check,.ocr-match-panel{grid-template-columns:1fr}.ocr-match-panel select,.ocr-match-panel button{min-height:50px;font-size:16px}.ocr-match-panel small{max-width:none;font-size:14px}.ocr-teammates>div,.ocr-items-title{flex-direction:column;align-items:stretch}.ocr-teammates button,.ocr-items-title button,.ocr-item-row button{min-height:42px;font-size:15px}.ocr-line-items{grid-template-columns:1fr}.ocr-line-items b{font-size:14px}.ocr-item-row{grid-template-columns:1fr}.ocr-item-row input,.ocr-item-row select{height:44px;font-size:15px}.ocr-empty-item{font-size:14px}.ocr-item-chip{min-height:34px;font-size:14px}.ocr-line-actions{grid-template-columns:1fr;display:grid}.mobile-bottom-nav small{font-size:14px}.more-menu-grid b{font-size:19px}.more-menu-grid small{font-size:16px}}@media (width>=1024px){html{font-size:24px}body,button,input,select,textarea{font-size:24px;line-height:1.45}.app-shell{grid-template-columns:minmax(330px,390px) minmax(0,1fr)}main,.content,.dashboard-grid,.metric-grid,.card,.metric-card,.quick-actions{min-width:0}.content{max-width:1940px;padding:42px 48px 76px;overflow-x:clip}h1,h2,h3,h4,p,b,strong,small,span,label,button{overflow-wrap:anywhere;word-break:normal}header{height:auto;min-height:118px;padding:24px 48px}header h1{font-size:clamp(46px,2.5vw,66px);line-height:1.1}header p{font-size:clamp(29px,1.45vw,40px);line-height:1.35}.brand strong{font-size:clamp(34px,2vw,46px);line-height:1.12}.brand span,.nav-label,.section-kicker,.eyebrow{font-size:clamp(21px,1.05vw,28px);line-height:1.35}.workspace-chip b,.profile-mini b{font-size:clamp(27px,1.35vw,34px)}.workspace-chip small,.profile-mini small{font-size:clamp(23px,1.1vw,30px)}nav button,.sidebar-bottom>button{min-height:76px;padding:18px;font-size:clamp(29px,1.45vw,36px);line-height:1.24}.app-navigator button,.app-navigator strong{min-height:74px;font-size:clamp(26px,1.25vw,34px)}.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero{border-radius:34px;min-height:270px;padding:54px 58px}.welcome h2,.operation-hero h2,.master-hero h2,.shift-hero h2,.report-hero h2{font-size:clamp(58px,3.4vw,82px);line-height:1.12}.welcome p,.operation-hero p,.master-hero p,.shift-hero p,.report-hero p{max-width:1200px;font-size:clamp(31px,1.7vw,44px);line-height:1.46}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:30px}.metric-card,.card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.telegram-settings-card,.line-settings-card{border-radius:28px;padding:34px}.metric-card span,.metric-card p,.card p,.card small,.quick-actions small,.operation-card small,.master-card small,.shift-card small,.report-card small,.telegram-settings-card small,.line-settings-card small{font-size:clamp(24px,1.15vw,32px);line-height:1.45}.metric-card strong,.metric-card b{font-size:clamp(64px,3.5vw,94px);line-height:1}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3,.report-heading h3{font-size:clamp(36px,2vw,54px);line-height:1.18}.status-list b,.factory-row b,.event-list b,.pending-actions b,.quick-action-card b,.operation-row b,.simple-record-list b,.directory-person b,.catering-event-list b,.compensation-employee b,.report-preview b{font-size:clamp(28px,1.45vw,38px);line-height:1.25}.status-list small,.factory-row small,.event-list small,.pending-actions small,.quick-action-card small,.operation-row small,.simple-record-list small,.directory-person small,.catering-event-list small,.compensation-employee small,.report-preview small{font-size:clamp(23px,1.1vw,31px);line-height:1.38}.primary-button,.secondary-button,.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.quick-action-card,.filter-button,.filter-select,.quality-pill,.shift-badge,.pill{min-height:58px;font-size:clamp(24px,1.15vw,32px);line-height:1.25}.operation-field,.master-field,.shift-editor-form>label,.time-input-row label,.operation-check,.form-field,.telegram-settings-card label,.line-settings-card label{font-size:clamp(25px,1.2vw,34px);line-height:1.35}.operation-field input,.operation-field select,.operation-field textarea,.master-field input,.master-field select,.master-field textarea,.form-field input,.form-field select,.form-field textarea,.telegram-settings-card input,.telegram-settings-card select,.telegram-settings-card textarea,.line-settings-card input,.line-settings-card select,.line-settings-card textarea{min-height:68px;font-size:clamp(25px,1.2vw,34px);line-height:1.35}}@media (width>=1024px) and (width<=1500px){.app-shell{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.content{padding:30px 30px 64px}.metric-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid{grid-template-columns:1fr}.quick-action-grid,.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){:where(.app-shell,.auth-page,.capture-overlay){--desktop-body-th:clamp(26px, 1.22vw, 34px);--desktop-small-th:clamp(23px, 1.05vw, 30px);--desktop-title-th:clamp(42px, 2.05vw, 58px);--desktop-hero-th:clamp(60px, 3.2vw, 86px)}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(p,li,a,td,th,label,button,input,select,textarea,.message,.auth-message,.shift-message){font-size:var(--desktop-body-th);line-height:1.45}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(small,.section-kicker,.eyebrow,.nav-label,.helper,.hint,.muted,.subtext){font-size:var(--desktop-small-th);line-height:1.42}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(b,strong,.title,.name,.label,.value){font-size:clamp(29px,1.35vw,40px);line-height:1.28}:where(.content,.capture-overlay,.auth-page) :where(h1,h2,h3){font-size:var(--desktop-title-th);line-height:1.15}:where(.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.catering-hero,.compensation-hero) :where(h1,h2,h3){font-size:var(--desktop-hero-th);line-height:1.12}:where(.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.catering-hero,.compensation-hero) p{font-size:clamp(32px,1.6vw,46px);line-height:1.45}:where(.content,.capture-overlay,.auth-page) :where(.card,.metric-card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.report-results,.report-filter-card,.catering-hero,.catering-management,.compensation-card,.ocr-document-row,.ocr-review-row,.ocr-team-summary,.ocr-preflight-checklist,.telegram-setup,.auth-form,.auth-brand-panel,.auth-form-panel,.department-budget-card,.weekly-off-card){overflow-wrap:anywhere;min-width:0;max-width:100%}:where(.content,.capture-overlay,.auth-page) :where(.metric-grid,.dashboard-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid,.quick-action-grid,.quick-actions-grid,.report-summary-grid,.report-type-grid,.factory-operation-grid,.more-menu-grid,.catering-event-grid,.compensation-grid,.ocr-upload-options,.ocr-line-values,.ocr-match-panel,.department-budget-days,.weekly-off-list){grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:28px}:where(.content,.capture-overlay,.auth-page) :where(input,select,textarea){min-height:72px;padding:16px 20px}:where(.content,.capture-overlay,.auth-page) :where(button,.primary-button,.secondary-button,.outline-button){min-height:64px;padding:16px 22px}.report-table,.report-table td,.report-table th{font-size:var(--desktop-body-th);line-height:1.42}}@media (width>=1024px) and (width<=1500px){:where(.content,.capture-overlay,.auth-page) :where(.metric-grid,.dashboard-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid,.factory-operation-grid,.catering-event-grid,.compensation-grid){grid-template-columns:1fr}:where(.content,.capture-overlay,.auth-page) :where(.quick-action-grid,.quick-actions-grid,.report-summary-grid,.report-type-grid,.more-menu-grid,.department-budget-days,.weekly-off-list){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){:where(.app-shell,.auth-page,.capture-overlay){--desktop-body-th:clamp(18px, .86vw, 24px);--desktop-small-th:clamp(16px, .74vw, 21px);--desktop-strong-th:clamp(20px, .95vw, 28px);--desktop-title-th:clamp(29px, 1.45vw, 41px);--desktop-hero-th:clamp(42px, 2.25vw, 60px)}html{font-size:17px}body,button,input,select,textarea{font-size:var(--desktop-body-th);line-height:1.43}.app-shell{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.sidebar{padding:28px 22px}header{min-height:88px;padding:18px 38px}header h1{font-size:clamp(32px,1.75vw,46px);line-height:1.1}header p{font-size:clamp(20px,1vw,28px);line-height:1.32}.content{max-width:1940px;padding:34px 40px 68px;overflow-x:clip}.brand strong{font-size:clamp(24px,1.4vw,32px)}.brand span,.nav-label,.section-kicker,.eyebrow{font-size:var(--desktop-small-th)}.workspace-chip b,.profile-mini b{font-size:var(--desktop-strong-th)}.workspace-chip small,.profile-mini small{font-size:var(--desktop-small-th)}nav button,.sidebar-bottom>button{min-height:58px;padding:13px 15px;font-size:clamp(20px,1vw,25px);line-height:1.24}.app-navigator button,.app-navigator strong{min-height:56px;font-size:clamp(18px,.9vw,24px)}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(p,li,a,td,th,label,button,input,select,textarea,.message,.auth-message,.shift-message){font-size:var(--desktop-body-th);line-height:1.43}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(small,.section-kicker,.eyebrow,.nav-label,.helper,.hint,.muted,.subtext){font-size:var(--desktop-small-th);line-height:1.4}:where(.sidebar,header,.content,.capture-overlay,.auth-page) :where(b,strong,.title,.name,.label,.value){font-size:var(--desktop-strong-th);line-height:1.25}:where(.content,.capture-overlay,.auth-page) :where(h1,h2,h3){font-size:var(--desktop-title-th);line-height:1.15}:where(.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.catering-hero,.compensation-hero){border-radius:28px;min-height:190px;padding:38px 42px}:where(.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.catering-hero,.compensation-hero) :where(h1,h2,h3){font-size:var(--desktop-hero-th);line-height:1.12}:where(.welcome,.operation-hero,.master-hero,.shift-hero,.report-hero,.catering-hero,.compensation-hero) p{max-width:1200px;font-size:clamp(22px,1.12vw,32px);line-height:1.43}:where(.content,.capture-overlay,.auth-page) :where(.metric-grid,.dashboard-grid,.dashboard-lower,.report-grid,.master-grid,.shift-grid,.operation-grid,.quick-action-grid,.quick-actions-grid,.report-summary-grid,.report-type-grid,.factory-operation-grid,.more-menu-grid,.catering-event-grid,.compensation-grid,.ocr-upload-options,.ocr-line-values,.ocr-match-panel,.department-budget-days,.weekly-off-list){grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:22px}.metric-card,.card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.telegram-settings-card,.line-settings-card{border-radius:22px;padding:24px}.metric-card span,.metric-card p,.card p,.card small,.quick-actions small,.operation-card small,.master-card small,.shift-card small,.report-card small,.telegram-settings-card small,.line-settings-card small{font-size:var(--desktop-small-th);line-height:1.4}.metric-card strong,.metric-card b{font-size:clamp(45px,2.45vw,66px);line-height:1}.card h3,.quick-actions h3,.operation-heading h3,.master-content-heading h3,.shift-section-heading h3,.report-heading h3{font-size:var(--desktop-title-th);line-height:1.16}.status-list b,.factory-row b,.event-list b,.pending-actions b,.quick-action-card b,.operation-row b,.simple-record-list b,.directory-person b,.catering-event-list b,.compensation-employee b,.report-preview b{font-size:var(--desktop-strong-th);line-height:1.25}.status-list small,.factory-row small,.event-list small,.pending-actions small,.quick-action-card small,.operation-row small,.simple-record-list small,.directory-person small,.catering-event-list small,.compensation-employee small,.report-preview small{font-size:var(--desktop-small-th);line-height:1.38}.primary-button,.secondary-button,.operation-primary,.shift-primary-button,.master-primary,.capture-primary,.capture-secondary,.danger-button,.quick-action-card,.filter-button,.filter-select,.quality-pill,.shift-badge,.pill{min-height:46px;font-size:var(--desktop-body-th);line-height:1.24}:where(.content,.capture-overlay,.auth-page) :where(input,select,textarea){min-height:52px;font-size:var(--desktop-body-th);padding:11px 15px}:where(.content,.capture-overlay,.auth-page) :where(button,.primary-button,.secondary-button,.outline-button){min-height:50px;padding:12px 16px}.report-table,.report-table td,.report-table th{font-size:var(--desktop-body-th);line-height:1.4}}@media (width>=1024px) and (width<=1500px){.app-shell{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.content{padding:26px 28px 60px}}.current-user-chip{border:1px solid var(--line);color:var(--green-900);cursor:pointer;text-align:left;background:#fff;border-radius:999px;align-items:center;gap:10px;max-width:min(360px,35vw);padding:7px 12px 7px 7px;display:flex}.current-user-chip>span:last-child{gap:1px;min-width:0;display:grid}.current-user-chip small,.sheet-heading p{color:var(--muted);font-size:13px;line-height:1.25}.current-user-chip b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.15;overflow:hidden}.profile-logout{color:#9a4632;white-space:nowrap;background:#fff4f0;border:1px solid #f0c9bc;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 10px;font-weight:800;display:inline-flex}.profile-logout span{font-size:13px}.profile-logout:disabled,.mobile-signout-button:disabled{opacity:.7;cursor:wait}.profile-mini-details{flex:1;gap:2px;min-width:0;display:grid}.profile-mini-context{align-items:center;gap:5px;min-width:0;display:flex}.profile-mini-context small+small:before{content:"·";margin-right:5px}.profile-mini-details b,.profile-mini-details small{overflow-wrap:anywhere}.mobile-user-context{border:1px solid var(--line);color:var(--green-900);background:#f6faf6;border-radius:12px;gap:3px;margin-top:7px;padding:9px 11px;display:grid}.mobile-user-context b,.mobile-user-context small{overflow-wrap:anywhere;display:block}.mobile-user-context b{font-size:14px;line-height:1.25}.mobile-user-context small{color:var(--muted);font-size:12px;line-height:1.35}@media (width>=821px){.sidebar .profile-mini{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px 10px;display:grid}.sidebar .profile-mini>.avatar{width:34px;height:34px;font-size:12px}.sidebar .profile-mini-details{gap:1px}.sidebar .profile-mini-details b{font-size:clamp(20px,1vw,25px)!important;line-height:1.25!important}.sidebar .profile-mini-context{gap:2px;display:grid}.sidebar .profile-mini-context small{font-size:clamp(20px,1vw,25px)!important;line-height:1.3!important}.sidebar .profile-mini-context small+small:before{content:none}.sidebar .profile-logout{grid-column:1/-1;width:100%;min-height:40px;padding:8px 12px}.sidebar .profile-logout span{font-size:13px!important}}@media (width<=820px){.current-user-chip{max-width:58vw;padding:7px 10px}.current-user-chip .header-avatar{display:grid}.current-user-chip small{font-size:11px}.current-user-chip b{font-size:13px}.sheet-heading{align-items:flex-start;gap:12px}.sheet-heading>div{flex:1;min-width:0}.sheet-heading p{margin:4px 0 0;font-size:13px}.more-secondary .mobile-signout-button{min-height:52px;font-size:15px}}.employee-directory-row{grid-template-columns:42px minmax(190px,1.35fr) minmax(130px,.85fr) 75px 82px minmax(112px,auto) 22px}.employee-directory-row:focus-visible{outline-offset:-3px;outline:3px solid #56895047}.account-linked,.account-pending{margin-top:4px;font-weight:800}.account-linked{color:#2f7a4f!important}.account-pending{color:#b76628!important}.invite-feedback{overflow-wrap:anywhere;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-top:6px;padding:6px 10px;font-weight:900;line-height:1.3;display:inline-flex!important}.invite-feedback.success{background:#e5f4e9;color:#236d48!important}.invite-feedback.error{background:#fff0e9;color:#a34935!important}.invite-copy-link{color:#236d48;min-height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b8d9c3;border-radius:999px;padding:4px 10px;font-size:.9em;font-weight:950}.invite-copy-link:hover{background:#eef8f1}.employee-invite-button{color:#2f6f4f;cursor:pointer;white-space:nowrap;background:#eef8f1;border:1px solid #cfe3d5;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:7px 10px;font-weight:850;display:inline-flex}.employee-invite-button.linked{color:#356986;background:#eaf3f9;border-color:#c9deec}.employee-invite-button:disabled{color:#8b9790;cursor:not-allowed;background:#f0f3f0;border-color:#dde5de}.telegram-route-note{color:#2f6f4f;background:#eef8f1;border:1px solid #cfe3d5;border-radius:20px;align-items:center;gap:14px;margin:18px 0 20px;padding:18px 20px;font-weight:800;line-height:1.45;display:flex}.telegram-channel-layout{grid-template-columns:minmax(260px,.95fr) minmax(320px,1.25fr);gap:20px;display:grid}.telegram-channel-list,.telegram-channel-form{min-width:0}.telegram-channel-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.telegram-channel-toolbar b{color:#18382b}.telegram-channel-toolbar button{color:#2f6f4f;cursor:pointer;background:#eef8f1;border:1px solid #cfe3d5;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:850;display:inline-flex}.telegram-channel-card{color:#263d33;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe6de;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:86px;margin-bottom:12px;padding:16px;display:flex}.telegram-channel-card.active{background:#edf6f1;border-color:#86b29d;box-shadow:0 0 0 4px #397d5b14}.telegram-channel-card b,.telegram-channel-card small{display:block}.telegram-channel-card small{color:var(--muted);margin-top:5px}.telegram-channel-card i{color:#2f6f4f;white-space:nowrap;background:#ddf0e4;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-style:normal;font-weight:850;display:inline-flex}.telegram-channel-empty{min-height:120px;color:var(--muted);text-align:center;background:#fbfdf9;border:1px dashed #cfe3d5;border-radius:20px;place-items:center;padding:22px;font-weight:800;display:grid}.telegram-form-heading{margin-bottom:12px}.telegram-form-heading span{color:#ef7f2d;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.telegram-form-heading h3{color:#18382b;margin:4px 0 0}.telegram-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=820px){.employee-directory-row{grid-template-columns:42px minmax(0,1fr) 22px;row-gap:10px}.employee-invite-button{grid-column:2/3;width:max-content;min-height:40px;font-size:13px}.telegram-channel-layout,.telegram-check-grid{grid-template-columns:1fr}.telegram-channel-toolbar{flex-direction:column;align-items:stretch}}@media (width>=1024px){:root{--subpage-body-readable:clamp(24px, 1.18vw, 32px);--subpage-small-readable:clamp(21px, 1vw, 28px);--subpage-strong-readable:clamp(28px, 1.36vw, 38px);--subpage-title-readable:clamp(36px, 1.85vw, 52px)}.content :where(p,span,small,label,button,input,select,textarea,td,th,li),.capture-overlay :where(p,span,small,label,button,input,select,textarea),.mobile-sheet :where(p,span,small,label,button,input,select,textarea){font-size:var(--subpage-body-readable);line-height:1.42}.content :where(h2,h3,h4),.capture-overlay :where(h2,h3,h4),.mobile-sheet :where(h2,h3,h4){font-size:var(--subpage-title-readable);line-height:1.16}.content :where(b,strong),.capture-overlay :where(b,strong),.mobile-sheet :where(b,strong){font-size:var(--subpage-strong-readable);line-height:1.24}.content :where(.section-kicker,.eyebrow,.helper,.hint,.muted,.subtext),.content :where(.metric-card small,.card small,.master-card small,.report-card small),.content :where(.directory-person small,.directory-scope small,.simple-record-list small,.operation-row small,.factory-operation-grid small,.catering-event-list small,.compensation-employee small,.report-preview small,.ocr-document-status small,.ocr-review-list small,.ocr-team-list small,.approval-row small){font-size:var(--subpage-small-readable);line-height:1.45}.metric-card{min-height:132px;padding:30px 34px}.metric-card>strong,.metric-card b{font-size:clamp(52px,2.65vw,74px)}.metric-card p,.metric-card span{font-size:var(--subpage-body-readable)}.card,.operation-card,.master-card,.shift-card,.report-card,.report-results,.report-filter-card,.quick-actions,.telegram-settings-card,.line-settings-card{padding:34px}.employee-directory-row{grid-template-columns:72px minmax(260px,1.25fr) minmax(240px,.95fr) minmax(120px,auto) minmax(120px,auto) minmax(150px,auto) 34px;gap:24px;min-height:128px;padding:24px 18px}.directory-avatar,.record-icon,.approval-icon{width:66px;height:66px;font-size:var(--subpage-body-readable);border-radius:20px}.directory-person b,.simple-record-list b,.operation-row b,.factory-operation-grid b,.catering-event-list b,.compensation-employee b,.report-preview b,.approval-row b,.ocr-document-row b{font-size:var(--subpage-strong-readable)}.directory-person b i,.directory-scope b,.directory-scope small{font-size:var(--subpage-small-readable)}.employment-pill,.record-state,.status-pill,.shift-badge,.quality-pill,.filter-button,.filter-select,.pill,.ocr-role-badge,.ocr-pt-chips span,.employee-invite-button{min-height:48px;font-size:var(--subpage-small-readable);border-radius:999px;padding:10px 18px;line-height:1.25}.master-loading,.master-empty,.shift-loading,.shift-empty,.operation-state,.operation-message,.empty-state,.report-empty{min-height:220px;font-size:var(--subpage-body-readable);line-height:1.45}.report-refresh,.master-primary,.operation-primary,.shift-primary-button,.capture-primary,.capture-secondary,.danger-button,.outline-button,.text-button,.row-link{min-height:58px;font-size:var(--subpage-body-readable);padding:14px 22px;line-height:1.25}.current-user-chip{gap:14px;max-width:min(520px,40vw);min-height:70px;padding:10px 18px 10px 10px}.current-user-chip small,.sheet-heading p{font-size:var(--subpage-small-readable);line-height:1.3}.current-user-chip b{font-size:var(--subpage-strong-readable);line-height:1.18}.profile-logout span{font-size:var(--subpage-small-readable)}.report-table,.report-table td,.report-table th{font-size:var(--subpage-body-readable);line-height:1.42}.report-table td,.report-table th{padding:18px 20px}}@media (width>=1024px) and (width<=1500px){.employee-directory-row{grid-template-columns:66px minmax(0,1.35fr) minmax(0,.95fr) auto auto 34px;gap:18px}.employee-invite-button{grid-column:auto}}@media (width>=1024px){body{--desktop-readable-text:clamp(24px, 1.08vw, 34px);--desktop-readable-small:clamp(21px, .98vw, 30px);--desktop-readable-strong:clamp(29px, 1.34vw, 42px);--desktop-readable-title:clamp(42px, 2vw, 64px);--desktop-readable-number:clamp(56px, 2.85vw, 86px)}body .content :is(p,span,small,label,button,input,select,textarea,td,th,li),body .capture-overlay :is(p,span,small,label,button,input,select,textarea),body .mobile-sheet :is(p,span,small,label,button,input,select,textarea){font-size:var(--desktop-readable-text)!important;line-height:1.42!important}body .content :is(.section-kicker,.eyebrow,.helper,.hint,.muted,.subtext,.caption),body .content :is(.card small,.metric-card small,.master-card small,.report-card small,.operation-card small),body .content :is(.report-type-grid small,.report-summary-grid small,.report-filters label),body .content :is(.directory-person small,.directory-scope small,.simple-record-list small),body .content :is(.operation-row small,.factory-operation-grid small,.catering-event-list small),body .content :is(.compensation-employee small,.report-preview small,.approval-row small),body .content :is(.ocr-document-row small,.ocr-review-list small,.ocr-team-list small,.ocr-document-status small),body .capture-overlay :is(small,.hint,.helper,.muted),body .mobile-sheet :is(small,.hint,.helper,.muted){font-size:var(--desktop-readable-small)!important;line-height:1.45!important}body .content :is(b,strong),body .capture-overlay :is(b,strong),body .mobile-sheet :is(b,strong){font-size:var(--desktop-readable-strong)!important;line-height:1.24!important}body .content :is(h2,h3,h4),body .capture-overlay :is(h2,h3,h4),body .mobile-sheet :is(h2,h3,h4){letter-spacing:-.03em;font-size:var(--desktop-readable-title)!important;line-height:1.13!important}body .content :is(.card,.metric-card,.quick-actions,.operation-card,.master-card,.shift-card,.report-card,.report-results,.report-filter-card,.catering-management,.compensation-card,.telegram-settings-card,.line-settings-card,.ocr-document-row,.ocr-review-row,.ocr-team-summary,.approval-card){border-radius:clamp(22px,1.2vw,34px)!important;padding:clamp(28px,1.55vw,44px)!important}body .content :is(.metric-card,.master-stats>div,.report-summary-grid>div){min-height:150px!important}body .content .metric-card>strong,body .content .metric-card b,body .content .report-summary-grid b,body .content .master-stats b{font-size:var(--desktop-readable-number)!important;line-height:1.02!important}body .content .metric-card p,body .content .metric-card span,body .content .master-stats small,body .content .report-summary-grid span,body .content .report-summary-grid small{font-size:var(--desktop-readable-small)!important;line-height:1.38!important}body .content .report-type-grid{gap:clamp(18px,1vw,30px)!important}body .content .report-type-grid button{grid-template-columns:clamp(68px,3.1vw,92px) minmax(0,1fr)!important;gap:clamp(20px,1.05vw,32px)!important;min-height:150px!important;padding:clamp(24px,1.35vw,40px)!important}body .content .report-type-grid b{font-size:var(--desktop-readable-strong)!important}body .content .report-type-grid small{font-size:var(--desktop-readable-small)!important}body .content .report-filters{gap:clamp(18px,1vw,30px)!important}body .content .report-filters label,body .content :is(.operation-field,.master-field,.shift-field,.form-field,.pay-field) label{font-size:var(--desktop-readable-small)!important;line-height:1.35!important}body .content .report-filters :is(input,select),body .content :is(.operation-field,.master-field,.shift-field,.form-field,.pay-field) :is(input,select,textarea),body .capture-overlay :is(input,select,textarea),body .mobile-sheet :is(input,select,textarea){min-height:70px!important;font-size:var(--desktop-readable-text)!important;border-radius:18px!important;padding:0 24px!important;line-height:1.3!important}body .content :is(textarea),body .capture-overlay :is(textarea),body .mobile-sheet :is(textarea){min-height:140px!important;padding-top:18px!important}body .content :is(.master-stats,.report-summary-grid,.metric-grid){gap:clamp(18px,1.05vw,32px)!important}body .content .master-stats>div{gap:clamp(18px,1vw,28px)!important;padding:clamp(24px,1.25vw,38px)!important}body .content :is(.record-icon,.directory-avatar,.approval-icon,.quick-action-icon,.report-icon){width:clamp(70px,3.4vw,98px)!important;height:clamp(70px,3.4vw,98px)!important;font-size:var(--desktop-readable-text)!important;border-radius:clamp(20px,1.05vw,30px)!important;flex:none!important}body .content .employee-directory-row{grid-template-columns:clamp(72px,3.4vw,98px) minmax(280px,1.45fr) minmax(240px,.95fr) minmax(130px,auto) minmax(130px,auto) minmax(170px,auto) 40px!important;gap:clamp(18px,1vw,30px)!important;min-height:148px!important;padding:clamp(24px,1.25vw,38px) clamp(14px,.9vw,26px)!important}body .content .simple-record-list>button,body .content :is(.operation-row,.factory-operation-grid>button,.catering-event-list>button,.compensation-employee,.approval-row,.ocr-document-row){gap:clamp(18px,1vw,30px)!important;min-height:140px!important;padding:clamp(22px,1.2vw,36px) clamp(14px,.95vw,28px)!important}body .content .simple-record-list>button,body .content .ocr-document-row,body .content .compensation-employee{grid-template-columns:clamp(70px,3.4vw,98px) minmax(0,1fr) auto!important}body .content :is(.employment-pill,.record-state,.status-pill,.shift-badge,.quality-pill,.filter-button,.filter-select,.pill,.ocr-role-badge,.ocr-pt-chips span,.employee-invite-button,.report-refresh,.row-link,.outline-button,.text-button,.danger-button,.capture-primary,.capture-secondary,.master-primary,.operation-primary,.shift-primary-button){min-height:58px!important;font-size:var(--desktop-readable-small)!important;border-radius:999px!important;padding:12px 22px!important;line-height:1.25!important}body .content :is(.master-loading,.master-empty,.shift-loading,.shift-empty,.operation-state,.operation-message,.empty-state,.report-empty){min-height:260px!important;font-size:var(--desktop-readable-text)!important;line-height:1.45!important}body .content :is(.report-table,.report-table td,.report-table th){font-size:var(--desktop-readable-text)!important;line-height:1.42!important}body .content :is(.report-table td,.report-table th){padding:22px 26px!important}body .current-user-chip{gap:16px!important;max-width:min(620px,42vw)!important;min-height:78px!important;padding:12px 20px 12px 12px!important}body .current-user-chip small,body .profile-logout span{font-size:var(--desktop-readable-small)!important;line-height:1.3!important}body .current-user-chip b{font-size:var(--desktop-readable-strong)!important;line-height:1.18!important}}@media (width>=1024px) and (width<=1500px){body .content .report-type-grid,body .content .report-filters,body .content :is(.master-stats,.metric-grid,.report-summary-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}body .content .employee-directory-row{grid-template-columns:clamp(70px,5vw,90px) minmax(0,1fr) minmax(0,.95fr) auto auto 40px!important}}@media (width>=821px){body .capture-overlay:has(.telegram-setup){place-items:center!important;padding:32px!important}body .telegram-setup{border-radius:30px!important;width:min(1180px,100vw - 72px)!important;max-width:min(1180px,100vw - 72px)!important;max-height:calc(100vh - 72px)!important;padding:clamp(28px,2vw,42px)!important;overflow:auto!important}body .telegram-setup .capture-header{align-items:flex-start!important;gap:24px!important;margin-bottom:18px!important;display:flex!important}body .telegram-setup .capture-header span{letter-spacing:.14em!important;font-size:18px!important;line-height:1.2!important}body .telegram-setup .capture-header h2{letter-spacing:-.04em!important;max-width:820px!important;margin-top:6px!important;font-size:clamp(42px,3.2vw,64px)!important;line-height:1.05!important}body .telegram-setup .icon-button{flex:0 0 64px!important;width:64px!important;height:64px!important}body .telegram-explainer{border-radius:22px!important;align-items:flex-start!important;margin:0 0 24px!important;padding:22px 24px!important}body .telegram-explainer b{font-size:clamp(28px,1.8vw,38px)!important;line-height:1.18!important}body .telegram-explainer p{margin-top:8px!important;font-size:clamp(20px,1.2vw,26px)!important;line-height:1.5!important}body .telegram-channel-layout{grid-template-columns:minmax(320px,390px) minmax(0,1fr)!important;align-items:start!important;gap:28px!important;display:grid!important}body .telegram-channel-toolbar{flex-direction:row!important;align-items:center!important;margin-bottom:16px!important}body .telegram-channel-toolbar b{font-size:26px!important;line-height:1.2!important}body .telegram-channel-toolbar button{min-height:52px!important;padding:10px 18px!important;font-size:20px!important;line-height:1.2!important}body .telegram-channel-card{border-radius:22px!important;gap:16px!important;min-height:104px!important;padding:18px!important}body .telegram-channel-card b{overflow-wrap:anywhere!important;font-size:28px!important;line-height:1.22!important}body .telegram-channel-card small{overflow-wrap:anywhere!important;font-size:19px!important;line-height:1.35!important}body .telegram-channel-card i{padding:8px 12px!important;font-size:17px!important;line-height:1.15!important}body .telegram-channel-empty{min-height:140px!important;padding:22px!important;font-size:22px!important;line-height:1.45!important}body .telegram-form-heading span{font-size:18px!important;line-height:1.2!important}body .telegram-form-heading h3{overflow-wrap:anywhere!important;font-size:clamp(32px,2.3vw,48px)!important;line-height:1.12!important}body .telegram-setup form>label:not(.telegram-check){margin:16px 0!important;font-size:22px!important;line-height:1.25!important}body .telegram-setup form>label:not(.telegram-check) :is(input,select){border-radius:16px!important;width:100%!important;height:64px!important;min-height:64px!important;margin-top:8px!important;padding:0 18px!important;font-size:24px!important;line-height:1.25!important}body .telegram-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}body .telegram-check{margin:0!important}body .telegram-check span{border-radius:16px!important;gap:10px!important;min-height:62px!important;padding:13px 16px!important;font-size:21px!important;line-height:1.25!important}body .telegram-save{border-radius:18px!important;width:100%!important;min-height:68px!important;margin-top:18px!important;font-size:24px!important;line-height:1.25!important}body .telegram-secret-note{gap:14px!important;margin-top:22px!important;padding-top:18px!important}body .telegram-secret-note b{font-size:22px!important;line-height:1.25!important}body .telegram-secret-note small{font-size:18px!important;line-height:1.4!important}}@media (width>=821px) and (width<=1100px){body .telegram-setup{width:min(920px,100vw - 48px)!important;max-width:min(920px,100vw - 48px)!important;padding:26px!important}body .telegram-channel-layout{grid-template-columns:1fr!important}body .telegram-channel-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}body .telegram-channel-toolbar,body .telegram-channel-empty{grid-column:1/-1!important}}@media (width>=821px){body .auth-page{grid-template-columns:minmax(520px,.95fr) minmax(560px,1.05fr)!important}body .auth-brand-panel{padding:clamp(56px,5vw,96px)!important}body .auth-logo{gap:18px!important;font-size:clamp(26px,1.45vw,38px)!important;line-height:1.18!important}body .auth-logo>span{border-radius:18px!important;width:60px!important;height:60px!important;font-size:22px!important}body .auth-brand-panel .auth-kicker,body .auth-form .auth-kicker{letter-spacing:.16em!important;font-size:clamp(18px,.92vw,24px)!important;line-height:1.2!important}body .auth-brand-panel h1{letter-spacing:-.05em!important;max-width:760px!important;margin:22px 0 24px!important;font-size:clamp(58px,4.6vw,96px)!important;line-height:1.12!important}body .auth-brand-panel>div:nth-child(2) p{max-width:760px!important;font-size:clamp(24px,1.28vw,34px)!important;line-height:1.55!important}body .auth-security{border-radius:22px!important;gap:18px!important;max-width:760px!important;min-height:96px!important;padding:22px 24px!important}body .auth-security b{font-size:clamp(22px,1.08vw,30px)!important;line-height:1.25!important}body .auth-security small{font-size:clamp(18px,.92vw,24px)!important;line-height:1.35!important}body .auth-form-panel{padding:clamp(42px,4vw,78px)!important}body .auth-form{border-radius:30px!important;width:min(640px,100%)!important;padding:clamp(44px,3.2vw,68px)!important}body .auth-form h2{letter-spacing:-.04em!important;margin:10px 0 8px!important;font-size:clamp(48px,3vw,70px)!important;line-height:1.05!important}body .auth-form>p{margin:0 0 34px!important;font-size:clamp(21px,1.08vw,28px)!important;line-height:1.45!important}body .auth-form label{margin-top:24px!important;font-size:clamp(21px,1.05vw,28px)!important;font-weight:850!important;line-height:1.25!important}body .auth-input{border-radius:18px!important;gap:16px!important;height:78px!important;min-height:78px!important;margin-top:10px!important;padding:0 20px!important}body .auth-input input{font-size:clamp(28px,1.45vw,38px)!important;font-weight:800!important;line-height:1.2!important}body .auth-input svg{flex:0 0 28px!important;width:28px!important;height:28px!important}body .auth-input button{place-items:center!important;width:54px!important;height:54px!important;display:grid!important}body .auth-submit{border-radius:18px!important;gap:14px!important;min-height:82px!important;margin-top:34px!important;font-size:clamp(28px,1.45vw,38px)!important;font-weight:900!important;line-height:1.2!important}body .auth-link,body .auth-preview,body .auth-message{padding:18px 14px!important;font-size:clamp(20px,1vw,27px)!important;line-height:1.35!important}}@media (width<=820px){body .auth-form-panel{padding:28px 20px!important}body .auth-form{width:100%!important;padding:28px 22px!important}body .auth-mobile-logo{gap:14px!important;font-size:24px!important;line-height:1.2!important}body .auth-mobile-logo>span{border-radius:16px!important;width:54px!important;height:54px!important;font-size:20px!important}body .auth-form .auth-kicker{font-size:17px!important;line-height:1.2!important}body .auth-form h2{font-size:46px!important;line-height:1.06!important}body .auth-form>p{font-size:22px!important;line-height:1.45!important}body .auth-form label{margin-top:24px!important;font-size:22px!important;font-weight:850!important;line-height:1.25!important}body .auth-input{border-radius:18px!important;gap:14px!important;height:74px!important;min-height:74px!important;margin-top:10px!important;padding:0 18px!important}body .auth-input input{font-size:27px!important;font-weight:800!important;line-height:1.2!important}body .auth-input svg{width:27px!important;height:27px!important}body .auth-submit{border-radius:18px!important;min-height:78px!important;margin-top:32px!important;font-size:28px!important;font-weight:900!important}body .auth-link,body .auth-preview,body .auth-message{padding:18px 12px!important;font-size:21px!important;line-height:1.35!important}}@media (width>=1024px){body .content .dashboard-grid.lower .event-list{gap:clamp(14px,.8vw,24px)!important}body .content .dashboard-grid.lower .event-item{align-items:center!important;gap:clamp(22px,1.2vw,34px)!important;min-height:clamp(116px,6.4vw,154px)!important;padding:clamp(14px,.9vw,22px) 0!important}body .content .dashboard-grid.lower .event-date{border-radius:clamp(16px,.9vw,24px)!important;place-items:center!important;width:clamp(86px,4.4vw,116px)!important;min-height:clamp(78px,4vw,104px)!important;padding:clamp(14px,.75vw,20px) 8px!important;font-size:clamp(25px,1.3vw,34px)!important;line-height:1.15!important;display:grid!important}body .content .dashboard-grid.lower .event-item b{letter-spacing:-.015em!important;font-size:clamp(31px,1.6vw,44px)!important;line-height:1.16!important}body .content .dashboard-grid.lower .event-item div span{margin-top:clamp(8px,.45vw,14px)!important;font-size:clamp(24px,1.2vw,34px)!important;line-height:1.28!important}}.attendance-scope-panel{background:#fff;border:1px solid #dbe9df;border-radius:28px;justify-content:space-between;align-items:center;gap:22px;margin:0 0 22px;padding:22px;display:flex;box-shadow:0 18px 40px #2644370f}.attendance-history-filters{grid-template-columns:minmax(280px,1.4fr) minmax(170px,.55fr) minmax(170px,.55fr) auto;align-items:end;gap:12px;margin:16px 0 6px;display:grid}.attendance-history-filters .employee-search-combo{position:relative}.attendance-history-filters .employee-combo-input{min-height:48px}.attendance-date-picker{position:relative}.attendance-date-label{display:block}.attendance-date-trigger{border:1px solid var(--line);width:100%;min-height:48px;color:var(--muted);font:inherit;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-weight:750;display:flex}.attendance-date-trigger.selected{color:var(--ink)}.attendance-calendar-popover{z-index:60;background:#fff;border:1px solid #cfe0d3;border-radius:20px;width:395px;max-width:min(395px,100vw - 32px);padding:18px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 20px 48px #1c372b2e}.attendance-calendar-header,.attendance-calendar-weekdays,.attendance-calendar-days,.attendance-calendar-footer{align-items:center;display:grid}.attendance-calendar-header{text-align:center;grid-template-columns:44px 1fr 44px;gap:8px;margin-bottom:12px}.attendance-calendar-header button,.attendance-calendar-footer button{min-height:42px}.attendance-calendar-weekdays,.attendance-calendar-days{grid-template-columns:repeat(7,1fr);gap:5px}.attendance-calendar-weekdays span{color:var(--muted);text-align:center;padding:7px 0;font-size:16px;font-weight:800}.attendance-calendar-days button{aspect-ratio:1;background:0 0;border:0;border-radius:12px;min-width:0;min-height:43px;padding:0;font-size:18px;font-weight:750}.attendance-calendar-days button:hover:not(:disabled){background:#edf7ef}.attendance-calendar-days button.outside{color:#a5afa8}.attendance-calendar-days button.active{background:var(--green);color:#fff}.attendance-calendar-days button:disabled{color:#d5dad6;cursor:not-allowed}.attendance-calendar-footer{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.attendance-employee-options{z-index:30;max-height:310px}.attendance-clear-filters{white-space:nowrap;min-height:48px}.attendance-filter-result{color:var(--muted);margin:0 0 12px;font-weight:700}.attendance-work-issues{flex-wrap:wrap;gap:6px;display:flex}.attendance-work-issues b{background:#ffe5df;border-radius:999px;width:fit-content;padding:6px 9px;line-height:1.2;color:#9a2f24!important;font-size:12px!important}.attendance-positive-time b{background:#dff2e8;border-radius:999px;width:fit-content;padding:6px 9px;line-height:1.2;display:inline-flex;color:#23614c!important;font-size:12px!important}.attendance-capture-action{text-align:center;gap:5px;min-width:min(360px,100%);display:grid;height:auto!important;padding:14px 18px!important}.attendance-capture-action b,.attendance-capture-action small{display:block}.attendance-capture-action b{font-size:1em}.attendance-capture-action small{color:inherit;opacity:.9;white-space:normal;font-size:.78em;line-height:1.35}.attendance-event-datetime{font-weight:850;color:#526a5c!important}.attendance-date-notice{color:#754d1d;background:#fff7e8;border:1px solid #efcd91;border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:12px;display:grid}.attendance-date-notice.check-in{color:#285f43;background:#edf8f0;border-color:#bfdbc7;grid-template-columns:1fr}.attendance-date-notice span,.attendance-date-notice b,.attendance-date-notice small{display:block}.attendance-date-notice span{background:#ffffffb8;border-radius:10px;padding:8px 10px}.attendance-date-notice small{margin-top:4px;font-size:13px;line-height:1.4}.attendance-scope-panel h3{color:#173c2b;margin:6px 0;font-size:clamp(28px,1.5vw,42px);line-height:1.12}.attendance-scope-panel p{color:#607267;margin:0;font-size:clamp(17px,.9vw,24px);font-weight:800;line-height:1.35}.attendance-scope-tabs{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.attendance-scope-tabs button{color:#214b36;text-align:left;cursor:pointer;min-width:180px;font:inherit;background:#fff;border:1px solid #d7e5dc;border-radius:22px;padding:13px 16px}.attendance-scope-tabs button.active{background:#eaf6ec;border-color:#72a87d;box-shadow:0 0 0 4px #2f7d521f}.attendance-scope-tabs b,.attendance-scope-tabs small{display:block}.attendance-scope-tabs b{font-size:clamp(18px,.95vw,25px);line-height:1.15}.attendance-scope-tabs small{color:#62776b;margin-top:4px;font-size:clamp(14px,.72vw,19px);font-weight:800;line-height:1.25}.operation-row.attendance-history-row{grid-template-columns:54px minmax(280px,1.35fr) minmax(240px,.95fr) auto auto;gap:16px}.attendance-employee-line{margin-bottom:5px;font-weight:950;display:block;color:#2f7654!important}.attendance-schedule-line{font-weight:800;color:#2f6b50!important}.attendance-photo-button{color:#2f6b50;white-space:nowrap;cursor:pointer;background:#eff8f1;border:1px solid #cfe1d4;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:850;display:inline-flex}.attendance-photo-button.empty{color:#6d7e74;background:#f8faf8}.attendance-photo-button:hover{border-color:#8db99c;box-shadow:0 8px 22px #276f4c1f}.attendance-preview-modal{width:min(760px,100vw - 28px);position:relative}.modal-close-button{color:#54665c;background:#fff;border:1px solid #d8e5dc;border-radius:16px;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:18px;right:18px}.attendance-preview-modal h2{padding-right:70px}.attendance-preview-image{object-fit:contain;background:#14231c;border-radius:20px;width:100%;max-height:min(58vh,680px);margin-top:18px;display:block}.attendance-preview-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.attendance-preview-details span{background:#fbfdfb;border:1px solid #dfe9e2;border-radius:16px;padding:14px}.attendance-preview-details b,.attendance-preview-details small{display:block}.attendance-preview-details b{color:#173c2b;font-size:18px}.attendance-preview-details small{color:#607267;margin-top:6px;font-size:16px;line-height:1.35}.report-help-card{color:#20462f;background:#f0f8ef;border:1px solid #cfe4d5;border-radius:22px;gap:6px;padding:18px 20px;display:grid}.report-help-card b{font-size:21px;line-height:1.25}.report-help-card span{color:#52695d;font-size:17px;line-height:1.45}@media (width>=1024px){body .content .operation-row.attendance-history-row b{font-size:clamp(24px,1.18vw,32px)!important;line-height:1.18!important}body .content .operation-row.attendance-history-row small,body .content .attendance-photo-button,body .content .operation-row.attendance-history-row .record-state{font-size:clamp(18px,.92vw,24px)!important;line-height:1.28!important}body .content .operation-row.attendance-history-row .record-icon{width:58px!important;height:58px!important}body .content .report-help-card b{font-size:clamp(24px,1.15vw,32px)!important}body .content .report-help-card span{font-size:clamp(19px,.95vw,25px)!important}body .content .online-summary-card b,body .content .online-presence-card>div>b{font-size:clamp(22px,1.1vw,30px)!important}body .content .online-summary-card small,body .content .online-presence-card small,body .content .online-presence-meta small{font-size:clamp(17px,.85vw,23px)!important}body .content .online-presence-meta b{font-size:clamp(15px,.72vw,19px)!important}}@media (width<=760px){.attendance-history-filters{grid-template-columns:1fr}.attendance-calendar-popover{border-radius:14px;width:292px;max-width:calc(100vw - 32px);padding:12px}.attendance-calendar-header{grid-template-columns:36px 1fr 36px;gap:4px;margin-bottom:7px}.attendance-calendar-header button,.attendance-calendar-footer button{min-height:34px;padding:5px 7px;font-size:14px}.attendance-calendar-weekdays,.attendance-calendar-days{gap:2px}.attendance-calendar-weekdays span{padding:4px 0;font-size:13px}.attendance-calendar-days button{border-radius:7px;min-height:32px;font-size:14px}.attendance-calendar-footer{gap:5px;margin-top:7px}.attendance-clear-filters{width:100%}.attendance-capture-action{width:100%;min-width:0}.attendance-date-notice{grid-template-columns:1fr}.attendance-scope-panel{padding:18px;display:block}.attendance-scope-panel h3{font-size:30px}.attendance-scope-tabs{grid-template-columns:1fr;margin-top:14px;display:grid}.attendance-scope-tabs button{width:100%;min-width:0}.operation-row.attendance-history-row{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:10px 12px}.operation-row.attendance-history-row>span:nth-child(3){grid-column:2;display:block!important}.operation-row.attendance-history-row .attendance-photo-button{grid-column:2;justify-self:start;padding:9px 13px;font-size:13px!important}.operation-row.attendance-history-row>.record-state{grid-column:2;justify-self:start;font-size:12px!important}.online-presence-card{grid-template-columns:16px minmax(0,1fr)}.online-presence-card>.record-state{grid-column:2;justify-self:start;font-size:13px!important}.online-presence-meta{grid-column:2;grid-template-columns:1fr}.attendance-preview-details{grid-template-columns:1fr}.attendance-preview-modal{width:min(100%,100vw - 16px)}}@media (width>=761px){body .content .operation-actions button,body .content .ocr-actions .sort-button{border-radius:15px;min-height:48px;padding:0 18px;font-size:clamp(18px,.95vw,24px)!important}}@media (width<=760px){body .content .operation-actions{justify-content:flex-start;width:100%;margin-left:0}body .content .operation-actions button,body .content .ocr-actions .sort-button{border-radius:16px;min-height:52px;padding:0 18px;font-size:16px!important}}@media (width<=820px){html,body{min-height:100%;overflow-x:hidden}body .auth-page{background:#fbfcfa!important;width:100%!important;height:auto!important;min-height:100dvh!important;display:block!important;overflow:hidden auto!important}body .auth-brand-panel{display:none!important}body .auth-form-panel{width:100%!important;height:auto!important;min-height:100dvh!important;padding:max(14px, env(safe-area-inset-top)) 14px max(22px, env(safe-area-inset-bottom))!important;justify-content:center!important;align-items:center!important;display:flex!important;overflow:visible!important}body .auth-form{border:1px solid var(--line)!important;border-radius:24px!important;width:100%!important;max-width:430px!important;margin:0 auto!important;padding:22px 18px 24px!important;box-shadow:0 14px 36px #1f392d14!important}body .auth-mobile-logo{gap:10px!important;margin-bottom:18px!important;font-size:19px!important;line-height:1.25!important}body .auth-mobile-logo>span{border-radius:13px!important;flex:0 0 42px!important;width:42px!important;height:42px!important;font-size:16px!important}body .auth-form .auth-kicker{letter-spacing:.13em!important;font-size:12px!important;line-height:1.2!important}body .auth-form h2{letter-spacing:-.04em!important;white-space:normal!important;overflow-wrap:anywhere!important;max-width:100%!important;margin:8px 0 6px!important;font-size:clamp(33px,9vw,42px)!important;line-height:1.08!important}body .auth-form>p{margin:0 0 20px!important;font-size:clamp(17px,4.4vw,20px)!important;line-height:1.45!important}body .auth-form label{margin-top:18px!important;font-size:clamp(17px,4.5vw,20px)!important;font-weight:850!important;line-height:1.25!important}body .auth-input{border-radius:16px!important;gap:10px!important;height:auto!important;min-height:60px!important;margin-top:8px!important;padding:0 13px!important}body .auth-input input{min-width:0!important;font-size:clamp(19px,5vw,22px)!important;font-weight:800!important;line-height:1.2!important}body .auth-input svg{flex:0 0 22px!important;width:22px!important;height:22px!important}body .auth-input button{flex:0 0 44px!important;place-items:center!important;width:44px!important;height:44px!important;display:grid!important}body .auth-submit{white-space:normal!important;border-radius:16px!important;min-height:62px!important;margin-top:22px!important;padding:10px 14px!important;font-size:clamp(20px,5.2vw,24px)!important;font-weight:900!important;line-height:1.2!important}body .auth-link,body .auth-preview,body .auth-message{padding:13px 10px!important;font-size:clamp(16px,4.3vw,19px)!important;line-height:1.42!important}body .auth-message{overflow-wrap:anywhere!important;border-radius:16px!important}}@media (width<=820px) and (height<=720px){body .auth-form-panel{align-items:flex-start!important}body .auth-form{padding-top:18px!important;padding-bottom:18px!important}body .auth-mobile-logo{margin-bottom:12px!important}body .auth-form label{margin-top:14px!important}}.leave-summary{min-width:0}.leave-mobile-detail{display:none}.record-state.status-pending{color:#9a5a14;background:#fff2d6}.record-state.status-approved{color:#28714e;background:#e6f3eb}.record-state.status-rejected{color:#9b3e2e;background:#fde8e2}.record-state.status-cancelled{color:#65716a;background:#edf0ed}.inline-detail-button{color:#2f7451;cursor:pointer;background:#edf7ee;border:1px solid #cfe1cb;border-radius:999px;width:fit-content;margin-top:9px;padding:8px 13px;font-weight:850}.leave-detail-modal{width:min(760px,100%)}.leave-detail-panel{gap:16px;margin-top:18px;display:grid}.leave-detail-title{background:#f6fbf4;border:1px solid #dcebd8;border-radius:20px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:15px;display:grid}.leave-detail-title b,.leave-detail-title small{display:block}.leave-detail-title b{font-size:23px}.leave-detail-title small{color:#647765;margin-top:4px;font-size:16px}.leave-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.leave-detail-line{background:#fff;border:1px solid #dcebd8;border-radius:16px;padding:13px}.leave-detail-line span,.leave-detail-line b{display:block}.leave-detail-line span{color:#667a68;font-size:15px;font-weight:800}.leave-detail-line b{color:#244430;margin-top:5px;font-size:18px}.leave-detail-note{background:#f8faf6;border:1px dashed #cfe1cb;border-radius:18px;padding:15px}.leave-rejection-note{background:#fff3ec;border-color:#efc8b5}.leave-detail-note b{margin-bottom:8px;font-size:18px;display:block}.leave-detail-note p{color:#526653;white-space:pre-wrap;margin:0;font-size:17px;line-height:1.55}.leave-detail-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.leave-rejection-field{margin-top:18px;display:block}.leave-rejection-field small{color:#6a7b6d;margin-top:8px;font-size:15px;line-height:1.45;display:block}.leave-decision-error{margin-top:12px}.leave-detail-actions .reject{color:#fff;background:#a65b43}@media (width<=700px){body .content .operation-row.leave-row{grid-template-columns:48px minmax(0,1fr)!important;align-items:flex-start!important;gap:12px!important;padding:17px 0!important}body .content .operation-row.leave-row>span:nth-child(3),body .content .operation-row.leave-row .leave-date-detail{display:none!important}body .content .operation-row.leave-row .decision-buttons,body .content .operation-row.leave-row>.record-state{grid-column:2!important;justify-self:start!important;margin-top:10px!important}body .content .operation-row.leave-row .decision-buttons{flex-wrap:wrap!important;gap:10px!important;display:flex!important}body .content .leave-mobile-detail{display:block!important}body .content .inline-detail-button{min-height:44px!important;padding:9px 15px!important;font-size:17px!important}body .content .operation-row.leave-row .decision-buttons button{border-radius:14px!important;min-height:48px!important;padding:10px 16px!important;font-size:18px!important}.leave-detail-modal{max-height:94vh;padding:20px 17px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.leave-detail-grid{grid-template-columns:1fr}.leave-detail-title b{font-size:22px}.leave-detail-actions{grid-template-columns:1fr}}.operation-primary.compact{color:#fff;background:#2f7d52;border:0;border-radius:14px;justify-content:center;align-items:center;width:auto;min-height:42px;padding:10px 16px;font-weight:900;display:inline-flex}.operation-message.success{color:#226b48;background:#eaf7ee;border-color:#b8dfc4}.approval-engine-row{grid-template-columns:48px minmax(220px,1.2fr) minmax(220px,1fr) auto;align-items:center}.approval-select{color:#2d724d;background:#eff8f1;border:1px solid #cfe3d3;border-radius:999px;align-items:center;gap:8px;width:max-content;margin-bottom:8px;padding:7px 12px;font-size:15px;font-weight:900;display:inline-flex}.approval-select input{accent-color:#2f7d52;width:18px;height:18px}.approval-engine-row small{line-height:1.45}.approval-payment-glance{grid-template-columns:minmax(0,1.5fr) minmax(150px,.8fr);gap:8px;margin-top:10px;display:grid}.approval-payment-glance>span{background:#f3faf4;border:1px solid #d4e6d8;border-radius:12px;min-width:0;padding:10px 12px}.approval-payment-glance small,.approval-payment-glance b,.approval-payment-glance strong{display:block}.approval-payment-glance b{overflow-wrap:anywhere;margin-top:3px}.approval-payment-glance strong{color:#226b48;margin-top:3px;font-size:20px}.approval-engine-row .decision-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center}.decision-buttons button.approval-preview-button{color:#2f684c;background:#edf7f0;border:1px solid #c7dfce;align-items:center;gap:6px;display:inline-flex}.approval-waiting-role{color:#805f25;text-align:center;background:#fff7df;border-radius:8px;max-width:180px;padding:8px 11px;font-weight:800}.operation-message.approval-error{color:#92452f;background:#fff0eb;border-color:#efc1b2}.approval-detail-overlay{z-index:80}.approval-detail-modal{width:min(980px,100vw - 32px);max-height:min(90vh,900px);overflow:auto}.approval-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.approval-detail-summary>span,.approval-detail-section{background:#f8fbf7;border:1px solid #dce8dd;border-radius:14px;padding:14px}.approval-detail-summary small,.approval-detail-summary b{display:block}.approval-detail-summary small{color:#728077;margin-bottom:5px}.approval-detail-summary b{overflow-wrap:anywhere}.approval-detail-content{gap:12px;display:grid}.approval-detail-section h3{margin:0 0 12px}.approval-detail-section dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.approval-detail-section dl>div{background:#fff;border-radius:10px;padding:10px}.approval-detail-section dt{color:#748078;font-size:clamp(16px,1vw,19px);font-weight:750}.approval-detail-section dd{color:#264c38;overflow-wrap:anywhere;margin:4px 0 0;font-size:clamp(20px,1.25vw,25px);font-weight:800;line-height:1.35}.approval-detail-lines,.approval-detail-checklist{gap:10px;display:grid}.approval-detail-lines article{background:#fff;border:1px solid #d7e6d9;border-radius:12px;padding:12px}.approval-detail-lines article>header,.approval-detail-lines article>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.approval-detail-lines article>header span,.approval-detail-lines article>header small,.approval-money-items{display:block}.approval-detail-lines article>div{color:#637269;flex-wrap:wrap;margin-top:9px;font-size:13px}.approval-detail-lines .approval-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.approval-attendance-summary>span{color:#28553c;background:#edf7ef;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.approval-attendance-summary>span.late{color:#a44127;background:#fff0eb}.approval-attendance-summary small{font-size:12px}.approval-attendance-warning{color:#8a5a12;background:#fff5df;border-radius:10px;margin:0 0 10px;padding:9px 11px}.approval-money-items{color:#58675e;margin-top:7px}.approval-detail-checklist span{border-radius:10px;gap:3px;padding:10px 12px;display:grid}.approval-detail-checklist .ok{color:#276545;background:#eaf7ee}.approval-detail-checklist .warning{color:#855f1d;background:#fff6dc}.approval-detail-checklist .danger{color:#93452f;background:#fff0eb}.approval-detail-close{width:100%;margin-top:14px}@media (width<=900px){.approval-engine-row{grid-template-columns:48px minmax(0,1fr);align-items:flex-start;gap:12px}.approval-engine-row>span:nth-child(3),.approval-engine-row .decision-buttons,.approval-engine-row>.record-state{grid-column:2}.approval-engine-row .decision-buttons{justify-self:start;margin-top:8px}.approval-payment-glance,.approval-detail-summary,.approval-detail-section dl{grid-template-columns:1fr}.approval-detail-modal{width:calc(100vw - 20px);max-height:92vh}}.manual-hero{align-items:stretch}.manual-user-badge{min-width:260px}.manual-user-badge strong{font-size:clamp(20px,2vw,30px);line-height:1.2}.manual-quick-actions{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:20px;margin-bottom:24px;display:grid}.manual-quick-actions h3,.manual-quick-actions p{margin:0}.manual-quick-actions h3{color:#1d3f2d;margin-top:4px;font-size:clamp(28px,2.8vw,44px)}.manual-quick-actions p{color:#5b6f60;margin-top:8px;font-size:clamp(17px,1.45vw,22px);line-height:1.55}.manual-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.manual-action-grid button{color:#276d4a;cursor:pointer;background:#eef8f0;border:1px solid #cfe1cb;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:14px 18px;font-size:clamp(18px,1.45vw,22px);font-weight:900;display:inline-flex}.manual-page{gap:22px;display:grid}.manual-role-card{background:#fff;border:1px solid #d8e9d3;border-radius:30px;padding:clamp(22px,2.3vw,34px);box-shadow:0 18px 44px #264d3514}.manual-role-card.tone-blue{border-color:#d3e6f3}.manual-role-card.tone-purple{border-color:#dfd8f1}.manual-role-card.tone-orange,.manual-role-card.tone-gold{border-color:#f0dcc3}.manual-role-card.tone-red{border-color:#f0cfc4}.manual-role-heading{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:18px;margin-bottom:20px;display:grid}.manual-role-icon{color:#2f7451;background:#e7f4eb;border-radius:24px;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.tone-blue .manual-role-icon{color:#326f92;background:#e8f3fb}.tone-purple .manual-role-icon{color:#6b5795;background:#f1ecfb}.tone-orange .manual-role-icon,.tone-gold .manual-role-icon{color:#a65d22;background:#fff0df}.tone-red .manual-role-icon{color:#a34935;background:#fde9e3}.manual-role-heading h3,.manual-role-heading p{margin:0}.manual-role-heading h3{color:#1d3f2d;margin-top:4px;font-size:clamp(32px,3vw,52px);line-height:1.08}.manual-role-heading p{color:#5c7160;margin-top:8px;font-size:clamp(18px,1.55vw,25px);line-height:1.55}.manual-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.manual-section-card{background:#f8fbf6;border:1px solid #e0ebe0;border-radius:24px;padding:clamp(18px,1.8vw,26px)}.manual-section-title{align-items:center;gap:12px;margin-bottom:12px;display:flex}.manual-section-title span{color:#2d724d;background:#e6f3eb;border-radius:14px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.manual-section-title h4{color:#234831;margin:0;font-size:clamp(22px,2vw,31px);line-height:1.2}.manual-section-card ul{gap:10px;margin:0;padding-left:22px;display:grid}.manual-section-card li{color:#536a59;font-size:clamp(17px,1.45vw,22px);line-height:1.55}.app-update-banner{z-index:3200;right:clamp(14px,2vw,32px);bottom:calc(18px + env(safe-area-inset-bottom));background:linear-gradient(135deg,#f8fff5 0%,#e8f6dc 100%);border:1px solid #b9dac0;border-radius:26px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;width:min(560px,100vw - 28px);padding:clamp(18px,1.7vw,24px);display:grid;position:fixed;box-shadow:0 18px 48px #1f432e38}.app-update-banner h3,.app-update-banner p{margin:0}.app-update-banner h3{color:#173b29;margin-top:3px;font-size:clamp(22px,2vw,30px);line-height:1.15}.app-update-banner p{color:#526957;margin-top:7px;font-size:clamp(16px,1.2vw,19px);line-height:1.45}.app-update-banner small{color:#a55d25;margin-top:8px;font-size:clamp(14px,1vw,16px);font-weight:800;line-height:1.35;display:block}.app-update-banner button{color:#fff;cursor:pointer;background:#6fa553;border:0;border-radius:18px;min-height:56px;padding:0 22px;font-size:clamp(17px,1.3vw,21px);font-weight:950;box-shadow:0 10px 22px #53823d38}.app-version-note{color:#6a7b6c;letter-spacing:.02em;grid-column:1/-1;font-size:13px;font-weight:800}@media (width<=700px){.app-update-banner{left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));border-radius:24px;grid-template-columns:1fr;width:auto}.app-update-banner button{width:100%}}@media (width<=900px){.manual-quick-actions,.manual-section-grid{grid-template-columns:1fr}.manual-user-badge{min-width:0}}@media (width<=700px){.manual-role-card{border-radius:26px;padding:20px 16px}.manual-role-heading{grid-template-columns:56px minmax(0,1fr);gap:13px}.manual-role-icon{border-radius:18px;width:56px;height:56px}.manual-role-heading h3{font-size:34px}.manual-role-heading p{font-size:19px}.manual-section-card{border-radius:20px;padding:17px}.manual-section-title h4{font-size:24px}.manual-section-card li{font-size:18px}.manual-action-grid{grid-template-columns:1fr}.manual-action-grid button{justify-content:flex-start;min-height:56px}}@media (width>=901px){body .header-actions .connection{color:#5f7768;white-space:nowrap;align-items:center;gap:10px;font-weight:800;line-height:1.2;font-size:clamp(18px,.9vw,24px)!important;display:inline-flex!important}body .header-actions .connection>span{flex:0 0 12px;width:12px;height:12px}}@media (width<=760px){.team-status-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.team-status-row{background:#fff;border:1px solid #e1edde;border-radius:22px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:8px 11px;min-height:0;padding:15px 13px;display:grid;box-shadow:0 10px 22px #2644370a}.team-status-row .person-dot{grid-area:1/1;width:38px;height:38px;font-size:14px}.team-status-row .person-name{grid-area:1/2}.team-status-row .person-name b{font-size:15px;line-height:1.25}.team-status-row .person-name small{font-size:12px;line-height:1.35}.team-status-row .person-time{text-align:left;white-space:normal;grid-area:2/2;justify-self:start;min-width:0;margin-top:0}.team-status-row .person-time b{font-size:15px;line-height:1.2}.team-status-row .person-time small{font-size:11px;line-height:1.35}.team-status-row .status-pill{white-space:normal;grid-area:3/1/auto/-1;justify-self:start;width:fit-content;max-width:100%;margin-top:7px;padding:7px 10px;font-size:13px;line-height:1.25}.team-status-empty{grid-column:1/-1}}@media (width<=360px){.team-status-table{grid-template-columns:1fr}}.team-monitor-page{gap:24px;display:grid}.team-monitor-hero{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.team-monitor-hero .section-kicker{align-items:center;gap:8px;display:inline-flex}.soft-action{color:#236045;cursor:pointer;background:#fff;border:1px solid #d5e4d1;border-radius:18px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:900;display:inline-flex}.soft-action:disabled{opacity:.6;cursor:not-allowed}.team-monitor-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.team-monitor-range-actions,.team-monitor-preset-grid{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.team-monitor-preset-grid .filter-button.active{color:#1f6c49;background:#e4f2e8;border-color:#9ac7aa;box-shadow:inset 0 0 0 2px #327e5614}.team-monitor-controls label{color:#516557;gap:7px;min-width:0;font-weight:900;display:grid}.team-monitor-controls input,.team-monitor-controls select{color:#173b29;box-sizing:border-box;background:#fff;border:1px solid #d8e3d8;border-radius:16px;width:100%;min-width:0;max-width:100%;min-height:54px;padding:0 14px;font-size:16px;font-weight:850}.team-monitor-controls select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-monitor-search{gap:7px;min-width:0;display:grid}.team-monitor-search>label{color:#516557;font-weight:900}.team-monitor-combobox{min-width:0;position:relative}.team-monitor-search span{box-sizing:border-box;background:#fff;border:1px solid #d8e3d8;border-radius:16px;align-items:center;gap:9px;min-width:0;max-width:100%;min-height:54px;padding:0 12px;display:flex}.team-monitor-search span input{border:0;outline:none;width:100%;min-width:0;min-height:auto;padding:0}.team-monitor-search-options{z-index:40;overscroll-behavior:contain;background:#fff;border:1px solid #d8e3d8;border-radius:16px;max-height:min(336px,45vh);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 36px #1a442d2e}.team-monitor-search-options button{color:#173b29;width:100%;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:10px 12px;font-weight:800;display:block}.team-monitor-search-options button:hover,.team-monitor-search-options button.active{background:#eaf5ed}.team-monitor-search-empty{color:#708278;text-align:center;padding:14px 12px;font-weight:750}.team-monitor-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.team-monitor-summary .stat-card{align-items:center;gap:4px;display:grid}.team-monitor-summary .stat-card b{color:#143b28;font-size:34px;line-height:1}.team-monitor-summary .stat-card span{color:#607568;font-weight:850}.team-monitor-list{overflow:hidden}.team-monitor-table{border:1px solid #dfebdd;border-radius:20px;display:grid;overflow:hidden}.team-monitor-table-head,.team-monitor-row{grid-template-columns:1.1fr 1.4fr 1fr 1.5fr 1.1fr 1.1fr 1.4fr;align-items:center;gap:12px;padding:13px 16px;display:grid}.team-monitor-table-head{color:#fff;background:#75a95d;font-weight:950}.team-monitor-row{color:#254332;background:#fff;border-top:1px solid #e9f0e7;font-weight:760}.team-monitor-row:nth-child(odd){background:#f8fbf7}.team-monitor-row b,.team-monitor-row small{display:block}.team-monitor-row small{color:#687a6e;margin-top:2px;font-size:13px}.daily-monitor-status-pill{white-space:normal;border-radius:999px;width:fit-content;max-width:100%;padding:7px 12px;font-style:normal;font-weight:950;line-height:1.25;display:inline-flex}.daily-monitor-status-pill.success{color:#25724e;background:#e3f3e9}.daily-monitor-status-pill.warning{color:#aa622a;background:#faeadc}.daily-monitor-status-pill.danger{color:#9f4637;background:#fae7e2}.daily-monitor-status-pill.neutral{color:#5d7065;background:#eef3ef}.team-monitor-cards{display:none}@media (width<=900px){.team-monitor-hero{flex-direction:column}.team-monitor-controls{grid-template-columns:1fr}.team-monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.team-monitor-table{display:none}.team-monitor-cards{gap:14px;display:grid}.team-monitor-card{background:#fff;border:1px solid #deebdc;border-radius:24px;gap:10px;padding:18px;display:grid}.team-monitor-card>div{gap:4px;display:grid}.team-monitor-card>div span{color:#7b8d81;font-weight:850}.team-monitor-card>div b{color:#173b29;font-size:24px;line-height:1.15}.team-monitor-card>div small,.team-monitor-card p{color:#607568;font-weight:760;line-height:1.35}.team-monitor-card p{margin:0}}@media (width<=560px){.team-monitor-summary .stat-card{padding:16px}.team-monitor-summary .stat-card b{font-size:30px}.team-monitor-range-actions .outline-button,.team-monitor-preset-grid .filter-button,.soft-action{width:100%}}.compensatory-bank-card{gap:18px;display:grid}.compensatory-balance{color:#24613f;text-align:center;background:#e9f5e8;border-radius:20px;min-width:108px;padding:12px 18px;font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:900;line-height:1}.compensatory-balance small{color:#647a6c;margin-top:7px;font-size:.78rem;font-weight:700;display:block}.compensatory-bank-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.compensatory-bank-stats>span,.compensatory-credit-list>span{background:#f8fbf6;border:1px solid #dbe8d7;border-radius:16px;padding:14px 16px}.compensatory-credit-list>span.expires-soon{color:#934c1f;background:#fff4e5;border-color:#e8b16c}.compensatory-bank-stats b{color:#245039;font-size:1.55rem;display:block}.compensatory-bank-stats small,.compensatory-credit-list small{color:#687b6d;margin-top:4px;display:block}.compensatory-credit-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.compensatory-setting{background:#fff9e8;border:1px solid #ead7a1;border-radius:18px;grid-template-columns:minmax(220px,320px) auto 1fr;align-items:end;gap:12px;padding:16px;display:grid}.compensatory-setting button{min-height:52px}.compensatory-setting>small{color:#526858;align-self:center}@media (width<=720px){.monthly-payslip-preview-builder,.monthly-bank-file-tester,.monthly-bank-test-result{grid-template-columns:1fr;align-items:stretch}.monthly-bank-test-result pre{grid-column:1}.employee-combo-input{border-radius:14px;min-height:58px;padding:0 13px}.master-field .employee-combo-input input{height:56px;font-size:16px}.employee-combo-options{border-radius:16px;max-height:46vh}.employee-combo-options>button{grid-template-columns:44px minmax(0,1fr) 24px;min-height:70px;padding:11px}.employee-combo-options>button>span{border-radius:13px;width:44px;height:44px}.motivation-manager{max-height:94vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.motivation-preview-grid{grid-template-columns:1fr}.motivation-library article{grid-template-columns:34px minmax(0,1fr)}.motivation-library article button{grid-column:auto;justify-content:center}.motivation-library>header{flex-direction:column;align-items:flex-start;gap:4px}.approval-detail-lines .approval-attendance-summary{grid-template-columns:1fr}.compensatory-bank-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.compensatory-setting{grid-template-columns:1fr;align-items:stretch}}.shift-department-multiselect{border:1px solid var(--border,#d9e4d3);border-radius:20px;padding:14px}.shift-department-multiselect legend{padding:0 8px;font-weight:800}.shift-department-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.shift-department-option{background:#fff;border:1px solid #dce8d7;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex!important}.shift-department-option input{flex:none;height:20px;width:20px!important}.shift-type-card.inactive{opacity:.82;background:#fff7f4;border-color:#e8bbb1}.shift-inactive-badge{color:#a93627;background:#ffe7e1;border-radius:999px;width:max-content;padding:4px 8px;font-size:9px;font-weight:800}.shift-active-toggle{color:#2f6b50;background:#edf6f1;border:1px solid #afd0bc;border-radius:14px;align-items:center;gap:10px;padding:13px;display:flex!important}.shift-active-toggle input{flex:none;height:20px;width:20px!important}.shift-active-toggle b,.shift-active-toggle small{display:block}.shift-active-toggle small{color:#60776b;margin-top:3px}.shift-active-toggle.inactive{color:#a93627;background:#fff3f0;border-color:#efb6ab}.shift-active-toggle.inactive small{color:#b75b4d}@media (width<=640px){.shift-department-options{grid-template-columns:1fr}}
