*{box-sizing:border-box} body{font:16px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;background:#f3f6f7;color:#14242b;margin:0}
.global-back{margin:0 0 15px;padding:0} .global-back a{display:inline-block;padding:7px 10px;border:1px solid #a9cfcc;border-radius:7px;background:#fff;text-decoration:none;font-weight:700;color:#087b78;word-break:normal}
main{max-width:980px;margin:12px auto 32px;background:#fff;padding:28px;border-radius:14px;box-shadow:0 4px 18px #16343b12}
h1{margin:0 0 8px;color:#087b78} h2{margin:30px 0 10px;font-size:20px} .hint{color:#53636b;line-height:1.6}
input,select{padding:10px;border:1px solid #ccd6d9;border-radius:7px;margin:4px;max-width:100%;background:#fff} button{padding:10px 15px;background:#087b78;color:#fff;border:0;border-radius:7px;font-weight:600;cursor:pointer}
table{width:100%;border-collapse:collapse;margin-top:8px}td,th{padding:11px 8px;border-bottom:1px solid #e6edef;text-align:left;vertical-align:top}th{color:#52636b;font-size:14px} a{color:#087b78;word-break:break-all}
.card{background:#f6fbfa;border:1px solid #d7edeb;padding:16px;border-radius:10px;margin-top:16px} .empty{color:#69777e;padding:14px 0} .error{background:#fff1f0;border:1px solid #eebbbb;padding:16px;border-radius:10px;color:#8a2520}
.codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px} a.code{display:block;text-align:center;padding:18px 10px;border:1px solid #a5d8d4;border-radius:9px;background:#fff;font-size:20px;font-weight:700;text-decoration:none} .store-login-rows{display:flex;flex-direction:column;gap:12px;max-width:520px} .store-login-row{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px} .store-login-row.two{grid-template-columns:repeat(2,minmax(110px,1fr));max-width:66.66%} .success{background:#e5f6e9;color:#1d6b37;padding:10px;border-radius:8px}
.action{display:inline-block;margin-right:10px;font-weight:600} body:has(.payroll-dashboard) main{max-width:1500px;padding:8px 12px;margin:6px auto} .payroll-top{display:flex;align-items:center;gap:12px;padding:1px 0 5px;border-bottom:1px solid #9dbcb9} .payroll-top h1{font-size:20px;margin:0} .payroll-top a{margin-left:auto;font-weight:600} .payroll-saved{color:#187143;font-weight:700} .payroll-sheets{display:grid;grid-template-columns:1fr;gap:9px;align-items:start} .payroll-sheet h2{font-size:14px;margin:5px 0 2px;color:#14242b} .payroll-table{overflow:auto} .payroll-table table{border-collapse:collapse;margin:0;border:1px solid #9eb8b6;font-size:11px} .payroll-table td,.payroll-table th{border:1px solid #b8cecc;padding:2px 4px;line-height:1.15;white-space:nowrap;vertical-align:middle} .payroll-table th{background:#dfeeed;color:#14242b;text-align:center;font-size:11px} .payroll-table tfoot td{background:#eef7f6;font-weight:700} .payroll-table td:nth-child(4),.payroll-table td:nth-child(5),.payroll-table td:nth-child(6),.payroll-table td:nth-child(7){text-align:right} .payroll-table td:last-child{text-align:center} .payroll-note{white-space:normal!important;min-width:90px;max-width:190px} .payroll-held{color:#c62828;font-weight:800} .payroll-group-gap td{height:9px!important;padding:0!important;border:0!important;background:#fff} .preview{overflow:auto;border:1px solid #e4ebed;border-radius:8px;padding:4px;max-height:620px} .preview table{width:max-content;min-width:100%} .preview td,.preview th{white-space:pre-wrap;min-width:48px;font-size:13px} .layout td{text-align:center;vertical-align:middle;white-space:pre-wrap}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0} .tab{border:1px solid #b6d7d5;border-radius:7px;padding:8px 10px;text-decoration:none;background:#fff} .tab.active{background:#087b78;color:#fff;border-color:#087b78} .tab small{display:block;font-weight:400;color:#617176;margin-top:2px} .tab.active small{color:#def6f4}
.employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px} .employee-card{border:1px solid #d7e5e7;border-radius:12px;padding:14px;margin:0;background:#fff;min-width:0} .employee-card h2{margin:0 0 8px;color:#087b78;font-size:20px} .employee-card table{margin:0} .employee-card td,.employee-card th{padding:8px 6px;font-size:14px} .late{color:#c62828;font-weight:700} .late-stack{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;color:#c62828;font-weight:700;white-space:nowrap} .late-stack small{font-size:10px;font-weight:600;margin-top:2px} .muted{color:#87949a;font-weight:600} .total-card{margin:18px 0;padding:16px;border-radius:10px;background:#087b78;color:#fff;font-size:18px} .verify-grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(480px,1.4fr);gap:18px;align-items:start;margin-top:16px} .verify-grid .card{margin-top:0} .source-image{width:100%;height:auto;display:block;border:1px solid #c9d7da;border-radius:8px;background:#fff} .employee-verify{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(520px,1.55fr);gap:16px;align-items:start;padding:16px 0;border-bottom:2px solid #dbeceb} .employee-verify:last-child{border-bottom:0} .employee-verify h3{margin:0 0 10px;color:#087b78;font-size:20px} .employee-verify .metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0} .employee-verify .metric{background:#f3f8f8;border-radius:7px;padding:9px} .employee-verify .metric b{display:block;font-size:19px;color:#087b78;margin-top:3px} .store-verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px} .store-verify-grid .employee-verify{grid-template-columns:minmax(190px,1fr) minmax(190px,1fr);gap:10px;padding:12px;margin:0;border:1px solid #cfe2e1;border-radius:11px;background:#fbfefe} .store-verify-grid .employee-verify h3{font-size:17px;margin:0 0 7px} .store-verify-grid .source-image{height:390px;object-fit:contain;object-position:top;background:#fff} .compact-attendance{min-width:0} .compact-attendance h3{color:#087b78} .compact-total{background:#e8f5f3;border-radius:7px;padding:7px 9px;margin-bottom:8px;color:#31595a;font-size:13px} .compact-total b{font-size:18px;color:#087b78;margin-left:5px} .compact-attendance table{margin:0;width:100%;table-layout:fixed;font-size:12px} .compact-attendance th:nth-child(1),.compact-attendance td:nth-child(1){width:15%} .compact-attendance th:nth-child(2),.compact-attendance td:nth-child(2){width:29%} .compact-attendance th:nth-child(3),.compact-attendance td:nth-child(3){width:29%} .compact-attendance th:nth-child(4),.compact-attendance td:nth-child(4){width:27%} .compact-attendance td,.compact-attendance th{padding:5px 2px;font-size:12px;text-align:center;white-space:normal;overflow-wrap:anywhere} .issue-confirm td{background:#fff4d8;color:#754d00;font-size:11px;line-height:1.45} .issue-note td{background:#edf7f5;color:#24645e;font-size:11px;line-height:1.4} .confirmation{margin-top:7px;display:flex;flex-wrap:wrap;gap:4px;align-items:center} .confirmation label{font-weight:600;white-space:nowrap} .confirmation input{padding:5px 6px;margin:0;font-size:11px;max-width:105px} .confirmation input[name=note]{max-width:145px} .confirmation button{padding:6px 8px;font-size:11px;background:#a36500} @media(max-width:900px){.store-verify-grid,.payroll-sheets{grid-template-columns:1fr}} @media(max-width:760px){.employee-grid,.verify-grid,.employee-verify,.store-verify-grid .employee-verify{grid-template-columns:1fr} .store-verify-grid .source-image{height:auto;max-height:480px} body:has(.payroll-dashboard) main{padding:10px;margin:0} .payroll-top{gap:7px;font-size:13px} .payroll-top h1{font-size:19px}}
body:has(.schedule-dashboard) main{max-width:1510px;padding:18px 20px;margin:14px auto} .schedule-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #b8d1cf;padding-bottom:11px} .schedule-top h1{margin:0;font-size:25px;color:#14242b} .schedule-top a{margin-left:auto;font-weight:700} .schedule-week{font-weight:700;color:#416060} .schedule-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:13px 0 10px} .schedule-controls form{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0} .schedule-controls label{font-weight:700} .schedule-controls select{margin:0;min-width:105px} .schedule-controls a{display:inline-block;border:1px solid #b8cecc;border-radius:6px;padding:7px 10px;text-decoration:none;font-weight:700;background:#fff} .schedule-summary{font-size:13px;color:#53636b;margin:8px 0 12px} .schedule-sheet-label{display:inline-block;background:#fff400;padding:4px 16px;font-size:13px;font-weight:800;margin:6px 0 0} .schedule-table-wrap{overflow-x:auto;border:1px solid #b9c7c8} .schedule-table{border-collapse:collapse;margin:0;min-width:1110px;table-layout:fixed} .schedule-table th,.schedule-table td{border:1px solid #b9c7c8;padding:0;vertical-align:top} .schedule-table .shift-label{width:76px;background:#fff;text-align:left;padding:9px 7px;font-size:12px;font-weight:800;white-space:nowrap} .schedule-table .day-head{background:#94d244;color:#152b18;text-align:center;padding:5px 3px;font-size:12px;font-weight:800} .schedule-table .day-head small{display:block;font-size:11px;font-weight:600;margin-top:2px} .schedule-cell{background:#eef1ff;min-width:145px;padding:3px!important} .schedule-input{width:100%;display:block;margin:0;border:0;border-radius:0;padding:5px 6px;background:transparent;font-size:12px;line-height:1.15;box-shadow:none} .schedule-input:focus{outline:2px solid #087b78;position:relative;z-index:1} .schedule-input.time{font-weight:800;color:#1d3048;border-bottom:1px solid #cbd2e5} .schedule-input.person{color:#14242b} .schedule-input.person:placeholder-shown{background:#fff8f6} .schedule-empty{background:#fafbfc} .schedule-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 8px} .schedule-actions button{font-size:13px} .schedule-actions .secondary{background:#486b70} .schedule-actions .danger{background:#a6573c} .schedule-actions .check{background:#536d96} .schedule-saved{color:#187143;font-weight:800} .schedule-helper{font-size:13px;color:#53636b;margin:8px 0 0} .schedule-conflicts{margin:14px 0;padding:12px 14px;border:1px solid #efc58a;border-radius:8px;background:#fff8e8} .schedule-conflicts h2{margin:0 0 6px;font-size:16px;color:#7c4f00} .schedule-conflicts ul{margin:6px 0 0;padding-left:20px} .schedule-clear{margin-left:auto;color:#566d70;font-size:13px} .schedule-delivery{margin-top:24px} .schedule-delivery .schedule-cell{background:#edf1ff} .schedule-plan-dashboard{max-width:900px;margin:0 auto} .schedule-plan-store{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:16px 0} .schedule-plan-store label{font-weight:800} .schedule-plan-store select{margin:0} .schedule-plan-notice{margin:14px 0} .schedule-plan-list{display:grid;grid-template-columns:1fr;gap:13px;margin-top:16px} .schedule-plan-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px;border:1px solid #c9dfdd;border-left:7px solid #7fbfba;border-radius:11px;background:#fbfefe} .schedule-plan-card.empty{border-left-color:#bfcacc;background:#fcfdfd} .schedule-plan-label{display:inline-block;padding:3px 8px;border-radius:12px;background:#dff1ef;color:#176c67;font-size:12px;font-weight:800} .schedule-plan-card.empty .schedule-plan-label{background:#edf1f2;color:#5d6d70} .schedule-plan-card h2{margin:7px 0 3px;font-size:22px;color:#14242b} .schedule-plan-card p{margin:0;font-size:13px;font-weight:800;color:#187143} .schedule-plan-card.empty p{color:#6d7a7c} .schedule-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end} .schedule-plan-actions form{margin:0} .schedule-plan-edit{display:inline-block;padding:10px 14px;border-radius:7px;background:#087b78;color:#fff;text-decoration:none;font-weight:800;word-break:normal} .schedule-plan-actions button{padding:10px 12px;font-size:13px;background:#486b70} .management-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px} .management-regions .card{margin:0} .region-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0} .region-action-card{display:block;min-height:118px;padding:21px;border:2px solid #78bbb5;border-radius:13px;background:#f1fbfa;color:#075f5b;text-decoration:none;box-sizing:border-box} .region-action-card.tasks{border-color:#d7a56b;background:#fff8ee;color:#865013} .region-action-card b{display:block;font-size:23px;margin-bottom:9px} .region-action-card span{display:block;font-size:14px;font-weight:600;color:#4e696b} .region-action-card.tasks span{color:#775d42} .region-action-card:hover{border-color:#087b78;box-shadow:0 3px 12px rgba(7,123,120,.14)}
body:has(.evaluation-dashboard) main,body:has(.peer-dashboard) main{max-width:1370px;padding:20px 22px;margin:14px auto} .evaluation-hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #c9dfdd;padding-bottom:13px} .evaluation-hero h1{margin:0;color:#14242b;font-size:25px} .evaluation-hero p{margin:5px 0 0;color:#56696d} .evaluation-nav{display:flex;gap:7px;flex-wrap:wrap;align-items:center} .evaluation-nav a,.evaluation-nav button{font-size:13px;padding:8px 10px;border:1px solid #aacdc9;border-radius:7px;background:#fff;text-decoration:none;font-weight:700;color:#087b78} .evaluation-nav button{background:#087b78;color:#fff;border-color:#087b78} .evaluation-rank{border:1px solid #c8deda;border-radius:10px;overflow:auto;margin:14px 0;background:#fff} .evaluation-rank table{margin:0;min-width:720px} .evaluation-rank td,.evaluation-rank th{padding:8px 9px;white-space:nowrap} .evaluation-rank th{background:#eef8f7} .evaluation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start;margin-top:14px} .evaluation-card{border:1px solid #cfe2e0;border-radius:11px;padding:10px;background:#fff;min-width:0} .evaluation-card-head{display:flex;justify-content:space-between;gap:6px;align-items:start;border-bottom:1px solid #e1eeee;padding-bottom:7px;margin-bottom:7px} .evaluation-card h2{font-size:17px;margin:0;color:#087b78} .evaluation-store{font-size:11px;color:#587276;font-weight:700} .evaluation-status{font-size:11px;padding:3px 6px;border-radius:12px;background:#fff4d8;color:#7d5300;font-weight:800;white-space:nowrap} .evaluation-status.done{background:#e6f6ea;color:#176b38} .evaluation-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px} .evaluation-score-grid label{font-size:10px;color:#4b6166;font-weight:700;line-height:1.2} .evaluation-score-grid select{display:block;width:100%;padding:5px 2px;margin:3px 0 0;font-weight:800;color:#087b78} .deduction-area{margin-top:8px;padding-top:8px;border-top:1px dashed #cddfdd} .deduction-tags{display:flex;gap:4px;flex-wrap:wrap} .deduction-tags label{display:flex;align-items:center;gap:3px;border:1px solid #e3c8b9;border-radius:14px;padding:3px 6px;font-size:10px;background:#fffaf7;color:#6d3d26;font-weight:700} .deduction-tags select{margin:0;padding:1px 2px;border:0;background:transparent;font-size:10px;width:auto} .deduction-tags input{margin:0} .evaluation-other{display:grid;grid-template-columns:1fr 65px;gap:4px;margin-top:6px} .evaluation-other input{width:100%;margin:0;padding:5px 6px;font-size:11px} .evaluation-save{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:8px} .evaluation-final{font-size:11px;color:#49646a;font-weight:700} .evaluation-final b{font-size:16px;color:#087b78} .evaluation-save button{padding:6px 9px;font-size:12px} .peer-rate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px} .peer-rate-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d8e7e5;border-radius:8px;padding:8px 10px;background:#fff} .peer-rate-row select{margin:0;padding:6px;width:78px} .peer-finish{margin-top:14px;display:flex;justify-content:flex-end} @media(max-width:1120px){.evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:760px){body:has(.schedule-dashboard) main,body:has(.evaluation-dashboard) main,body:has(.peer-dashboard) main{padding:12px;margin:0} .schedule-top h1,.evaluation-hero h1{font-size:21px} .schedule-top a{margin-left:0} .management-regions{grid-template-columns:1fr} .evaluation-hero{display:block} .evaluation-nav{margin-top:10px} .evaluation-grid,.peer-rate-list{grid-template-columns:1fr} .evaluation-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.workbench{max-width:920px;margin:0 auto} .workbench-head{text-align:center;border-bottom:1px solid #c8dedd;padding-bottom:15px} .workbench-head h1{margin:0;color:#14242b;font-size:28px} .workbench-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;margin-top:18px;align-items:stretch} .workbench-tabs{display:flex;flex-direction:column;gap:8px} .workbench-tabs a{padding:13px 10px;border:1px solid #bad6d3;border-radius:9px;text-decoration:none;background:#fff;font-weight:800;text-align:center;color:#246160;word-break:normal} .workbench-tabs a.active{background:#087b78;color:#fff;border-color:#087b78} .workbench-panel{border:1px solid #d5e8e6;border-radius:12px;background:#fbfefe;padding:26px;min-height:340px} .workbench-panel h2{margin:0 0 9px;font-size:24px;color:#14242b} .workbench-panel .hint{margin:0 0 16px} .entry-content{width:100%;max-width:470px;margin:0 auto} .entry-content.store-entry-content{max-width:520px} .workbench-login{margin:0} .workbench-login label{display:block;font-weight:700;margin:10px 0} .workbench-login input{width:100%;margin:5px 0 0} .workbench-login button{margin-top:10px} .workbench-login p{margin:16px 0 0} .store-login-rows{width:100%;max-width:520px;margin:16px auto 0} .store-login-row{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px} .store-login-row.two{grid-template-columns:repeat(2,minmax(110px,1fr));max-width:66.66%} .store-login-rows a.code{min-height:72px;display:flex;align-items:center;justify-content:center} .employee-shell{max-width:1080px;margin:0 auto} .employee-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #c9dedd;padding-bottom:12px} .employee-top h1{font-size:24px;margin:0;color:#14242b} .employee-top .employee-code{font-weight:800;color:#087b78} .employee-nav{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0} .employee-nav a{border:1px solid #b7d5d2;border-radius:7px;padding:8px 10px;background:#fff;text-decoration:none;font-weight:700;word-break:normal} .employee-nav a.active{background:#087b78;color:#fff;border-color:#087b78} .today-line{border:1px solid #c6e0dd;border-radius:10px;background:#eaf6f4;padding:13px 15px;font-size:18px;font-weight:800} .today-line small{display:block;font-weight:500;color:#45666a;margin-top:4px;font-size:13px} .employee-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px} .employee-summary-card{border:1px solid #d6e6e5;border-radius:9px;background:#fff;padding:12px;min-height:112px} .employee-summary-card b{display:block;color:#087b78;margin-bottom:6px} .employee-summary-card p{margin:0;color:#51666a;font-size:14px;line-height:1.5} .employee-page-card{border:1px solid #d5e7e5;border-radius:10px;padding:14px;background:#fff;margin-top:13px} .employee-page-card h2{margin:0 0 7px;font-size:18px} .employee-page-card form{margin:0} .employee-table{font-size:14px} .employee-table td,.employee-table th{padding:8px 7px} .employee-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:end} .employee-form-grid label{font-weight:700;font-size:13px} .employee-form-grid input,.employee-form-grid select{display:block;width:100%;margin:3px 0 0} .manager-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .manager-tools .card{margin:0} .manager-tasks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .manager-tasks-grid textarea{width:100%;min-height:90px;margin:4px 0;padding:9px;border:1px solid #ccd6d9;border-radius:7px;font:inherit} .account-table{font-size:13px} .account-table td,.account-table th{padding:7px 6px} .password-once{background:#fff4d8;border:1px solid #edc978;border-radius:9px;padding:12px;margin:12px 0;color:#714800} @media(max-width:760px){.workbench-layout,.employee-summary-grid,.manager-tools,.manager-tasks-grid,.employee-form-grid{grid-template-columns:1fr} .workbench-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-direction:unset} .workbench-tabs a{padding:10px 5px;font-size:14px} .workbench-panel{min-height:300px;padding:20px 16px} .workbench-panel h2{font-size:22px} .store-login-row{gap:8px} .store-login-row.two{max-width:100%} .store-login-rows a.code{min-height:62px;font-size:18px} .workbench-head,.employee-top{display:block} .workbench-head p,.employee-top .employee-code{margin-top:7px;display:block} .employee-page-card{overflow:auto}}
.employee-store-roster{margin:14px 0 0} .employee-store-roster h3{margin:0 0 7px;color:#087b78;font-size:17px} .employee-roster-scroll{overflow:auto;border:1px solid #d6e7e5;border-radius:8px} .employee-roster-table{width:100%;min-width:820px;border-collapse:collapse;margin:0;font-size:13px;background:#fff} .employee-roster-table th,.employee-roster-table td{border:1px solid #d6e7e5;padding:6px 7px;vertical-align:top;text-align:center;min-width:102px} .employee-roster-table th{background:#eef8f7;color:#27494c;font-weight:800} .employee-roster-table th small{display:block;margin-top:2px;font-weight:600;color:#668084} .employee-roster-table .employee-roster-shift{min-width:78px;background:#f8fbfb;text-align:left} .employee-roster-time{display:block;min-height:18px;color:#405d61;font-size:12px;font-weight:800;white-space:nowrap} .employee-roster-people{display:flex;gap:4px;justify-content:center;align-items:flex-start;flex-wrap:wrap;margin-top:4px} .employee-roster-name{display:inline-block;border-radius:5px;padding:3px 5px;background:#f0f4f4;color:#344f53;font-size:12px;font-weight:800;line-height:1.15} .employee-roster-name.own{background:#087b78;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)} .employee-roster-empty{font-size:12px;color:#a0afb1} button.secondary{background:#fff;color:#087b78;border:1px solid #87bab6} .availability-confirm-line{display:flex;align-items:center;gap:10px;margin:9px 0 12px} .availability-confirm-line span{font-size:13px;color:#557074;font-weight:700} .employee-availability-store{margin:14px 0 18px} .employee-availability-store h3{margin:0 0 7px;color:#087b78;font-size:17px} .availability-table td{vertical-align:middle} .availability-toggle{display:block;width:100%;min-height:31px;margin:5px auto 0;padding:5px 6px;border:1px solid #bacdce;border-radius:6px;background:#fff;color:#51686c;font-size:12px;line-height:1.25;cursor:pointer;white-space:nowrap} .availability-toggle:hover{border-color:#087b78} .availability-toggle.unavailable{background:#f9e9e9;color:#9b3434;border-color:#de9696;font-weight:800} .employee-availability-na{background:#fafcfc;color:#b7c1c3} .employee-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px} .employee-overview-card{display:block;min-height:132px;padding:15px;border:1px solid #c8dfdc;border-radius:11px;background:#fbfefe;text-decoration:none;color:#243e42;word-break:normal} .employee-overview-card b{display:block;color:#087b78;font-size:17px;margin-bottom:8px} .employee-overview-card strong{display:block;color:#14242b;font-size:29px;line-height:1.05;margin:5px 0} .employee-overview-card small{display:block;color:#617277;line-height:1.45} .employee-overview-card:hover{border-color:#087b78;box-shadow:0 3px 12px rgba(7,123,120,.12)} .employee-payroll-lock{border-color:#efd397;background:#fffaf0} .employee-payroll-release{display:inline-block;margin-left:7px;color:#19713c;font-size:13px;font-weight:700} .employee-payroll-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .employee-payroll-image{border:1px solid #d5e7e5;border-radius:9px;padding:10px;background:#fff;min-width:0} .employee-payroll-image b{display:block;margin-bottom:7px;color:#087b78} .employee-payroll-image img{width:100%;max-height:390px;object-fit:contain;object-position:top;border:1px solid #d4e1e0;border-radius:6px;background:#fff} .employee-payroll-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eaf6f4} @media(max-width:760px){.availability-confirm-line{display:block} .availability-confirm-line span{display:block;margin-top:7px} .employee-overview-grid,.employee-payroll-images{grid-template-columns:1fr} .employee-overview-card{min-height:0}}
.evaluation-score-form{margin:0} .evaluation-deduction-add{display:grid;grid-template-columns:minmax(0,1fr) 58px auto;gap:4px;margin:0} .evaluation-deduction-add input{width:100%;margin:0;padding:5px 6px;font-size:11px} .evaluation-deduction-add button{padding:5px 7px;font-size:11px;white-space:nowrap} .deduction-saved{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px} .deduction-chip{display:inline-flex;align-items:center;gap:4px;margin:0;padding:3px 3px 3px 7px;border:1px solid #e2c6b7;border-radius:14px;background:#fffaf7;color:#6d3d26;font-size:10px;font-weight:700;line-height:1.1} .deduction-chip button{margin:0;padding:0 4px;min-width:17px;height:17px;border-radius:50%;background:#a6573c;font-size:13px;line-height:15px} .evaluation-store-group{margin-top:19px;padding-top:2px} .evaluation-store-group h2{margin:0;color:#087b78;font-size:18px;padding:0 0 7px;border-bottom:2px solid #9ed5d0} @media(max-width:760px){.evaluation-deduction-add{grid-template-columns:minmax(0,1fr) 56px auto} .region-action-grid{grid-template-columns:1fr;gap:11px} .region-action-card{min-height:0;padding:16px} .region-action-card b{font-size:21px}}
 .employee-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* 2026-07 workbench release: compact account controls, four-entry manager
   navigation, employee language switch and photo-style payroll evidence. */
.region-action-list{grid-template-columns:1fr;max-width:760px;gap:10px}
.region-action-list .region-action-card{min-height:0;padding:18px 20px;background:#fff;border:1px solid #b9d2d0;color:#17383b}
.region-action-list .region-action-card.tasks{background:#fff;border-color:#b9d2d0;color:#17383b}
.region-action-list .region-action-card b{margin:0;font-size:21px}
.management-store-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid #d5e2e2}
.management-store-tabs a{display:inline-block;padding:8px 14px;border:1px solid #b7c9ca;border-radius:7px;background:#fff;color:#314b4e;text-decoration:none;font-weight:800;word-break:normal}
.management-store-tabs a.active{background:#087b78;border-color:#087b78;color:#fff}
.employee-top-actions,.schedule-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.employee-language{margin:0}.employee-language label{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:#405b5f}
.employee-language select{margin:0;padding:6px 8px;min-width:96px}
.preview-banner{margin-bottom:13px;padding:10px 12px;border:1px solid #d5b66b;border-radius:8px;background:#fff8e7;color:#6d4c00;font-weight:800}
.employee-payroll-evidence{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(480px,1.35fr);gap:13px;align-items:start}
.employee-payroll-evidence>.employee-page-card{height:100%}
.employee-table-scroll{overflow:auto}.payroll-hours-total{margin:4px 0 10px;color:#087b78;font-size:17px}
.employee-payroll-evidence .employee-payroll-images{grid-template-columns:1fr}
.employee-payroll-evidence .employee-payroll-image img{max-height:620px}
.availability-locked{border-color:#b8d2cf;background:#f7fbfa}
.availability-readonly{display:block;margin-top:5px;padding:5px 6px;border:1px solid #d5dede;border-radius:6px;color:#66777a;font-size:12px}
.availability-readonly.unavailable{border-color:#de9696;background:#f9e9e9;color:#9b3434;font-weight:800}
.account-store-checks{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:260px}
.account-store-checks label{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-size:12px}
.account-store-checks input{margin:0;padding:0}
.account-table input[name=employee_name],.account-table input[name=employee_code],.account-table input[name=display_name],.account-table input[name=username]{min-width:105px;width:100%;margin:0;padding:7px}
.account-table form button{margin:2px}.inline-form{display:inline-block;margin:0 4px}
.schedule-top-actions .schedule-availability-link{margin:0}.menu-current-status{color:#087b78!important;font-weight:800!important}
@media(max-width:900px){.employee-payroll-evidence{grid-template-columns:1fr}.employee-payroll-evidence .employee-payroll-image img{max-height:520px}}
@media(max-width:760px){.employee-top-actions,.schedule-top-actions{justify-content:flex-start;margin-top:8px}.employee-language label span{display:none}.management-store-tabs{position:sticky;top:0;z-index:5;background:#fff;padding:8px 0}.management-store-tabs a{flex:1;text-align:center;padding:8px 6px}.employee-payroll-evidence{grid-template-columns:1fr}.account-store-checks{min-width:210px}.region-action-list .region-action-card{padding:15px}}

/* Public bilingual entry and store portal. */
.bilingual-label{display:inline-flex;flex-direction:column;align-items:inherit;gap:1px;line-height:1.15;word-break:normal}
.bilingual-label small{display:block;font-size:.72em;font-weight:600;line-height:1.15;color:#607579}
a.active .bilingual-label small,button .bilingual-label small{color:inherit}
.bilingual-label.compact{display:inline;line-height:inherit}
.bilingual-label.compact small{display:inline;margin-left:4px;font-size:.82em;color:inherit}
.workbench-head h1>.bilingual-label{align-items:center}
.workbench-tabs .bilingual-label{align-items:center}
.public-store-workbench{max-width:920px}
.public-store-workbench .store-portal-upload{min-height:0;margin-top:14px;padding:12px 18px}
.store-portal-upload .codes{grid-template-columns:1fr}
.store-portal-upload a.code{min-height:64px;padding:10px 14px;font-size:18px;display:flex;align-items:center;justify-content:center}
.store-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;align-items:stretch}
.store-portal-grid>.employee-page-card{min-height:230px;margin-top:0;overflow-wrap:anywhere}
.store-task-card,.store-message-card{padding:11px 0;border-bottom:1px solid #e0eceb}
.store-task-card:last-child,.store-message-card:last-child{border-bottom:0}
.store-task-card>b,.store-message-card>b{display:block;color:#173f42;margin-bottom:4px}
.store-task-card small,.store-message-card small{display:block;color:#61777b;line-height:1.4}
.store-task-card p,.store-message-card p{line-height:1.5}
.store-task-finish{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.store-task-employee{display:flex;flex:1 1 180px;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#405b5f}
.store-task-employee input{display:block;width:100%;margin:0}
.store-task-finish button{margin:0}
.public-upload-workbench{min-width:0;overflow-wrap:anywhere}
.public-upload-file{display:block;margin-bottom:10px;font-weight:700;color:#405b5f}
.public-upload-file input{display:block;width:100%;margin:6px 0 0}
.public-upload-history{max-width:100%;overflow-x:auto;border:1px solid #e1ebeb;border-radius:8px}
.public-upload-history table{table-layout:fixed;margin:0}
.public-upload-history th:nth-child(1),.public-upload-history td:nth-child(1){width:28%}
.public-upload-history th:nth-child(2),.public-upload-history td:nth-child(2){width:48%;overflow-wrap:anywhere;word-break:break-word}
.public-upload-history th:nth-child(3),.public-upload-history td:nth-child(3){width:24%}

/* Highest-administrator employee account layout. */
.management-accounts-workbench{max-width:1180px}
.account-create-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:12px}
.account-store-fieldset{min-width:0;margin:0;padding:10px 12px;border:1px solid #cbdedc;border-radius:9px}
.account-create-form .account-store-fieldset,.account-create-actions{grid-column:1/-1}
.account-card-grid{display:grid;grid-template-columns:1fr;gap:11px}
.account-record-card{border:1px solid #d5e7e5;border-radius:10px;background:#fbfefe;padding:12px;min-width:0}
.account-record-form{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.45fr) minmax(170px,.7fr);gap:12px;align-items:start}
.account-record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.account-record-fields label{font-size:12px;font-weight:800;color:#405b5f}
.account-record-fields input{display:block;width:100%;min-width:0;margin:4px 0 0;padding:7px}
.account-store-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;min-width:0}
.account-store-checks label{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 7px;border:1px solid #d5e4e3;border-radius:7px;background:#fff;white-space:nowrap;font-size:12px}
.account-store-checks input{flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0}
.account-record-side{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.account-active{display:inline-flex;align-items:center;gap:5px;font-weight:800}
.account-active input{width:auto;margin:0}
.account-status{font-size:12px;color:#607478;font-weight:700}
.account-record-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.account-record-actions button{margin:0;padding:7px 9px;font-size:12px}
.account-record-actions a{font-size:12px;font-weight:800;word-break:normal}

/* Compact seven-day employee roster for iPad while retaining phone scrolling. */
.employee-roster-table{min-width:760px;table-layout:fixed}
.employee-roster-table th,.employee-roster-table td{min-width:92px;padding:5px 5px}
.employee-roster-table .employee-roster-shift{width:58px;min-width:58px;max-width:58px;padding:5px 4px;text-align:center;white-space:normal}
.availability-published-notice{margin:10px 0;padding:9px 11px;border:1px solid #e5c77d;border-radius:8px;background:#fff8e7;color:#704d00;font-size:13px;line-height:1.45}

/* Personal-WeChat outbox: fast local templates, explicit human send step. */
body:has(.wechat-dashboard) main{max-width:1280px}
.region-action-card.messages{border-color:#8ba8c7;background:#f4f8fc;color:#31597f}
.wechat-compose form{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:10px 16px;align-items:end}
.wechat-compose label{display:block;font-weight:800}
.wechat-compose select,.wechat-compose textarea{display:block;width:100%;margin:4px 0 0}
.wechat-compose textarea{min-height:105px;padding:10px;border:1px solid #ccd6d9;border-radius:7px;font:inherit;resize:vertical}
.wechat-compose label:has(textarea),.wechat-template-buttons,.wechat-compose .wechat-safety{grid-column:1/-1}
.wechat-template-buttons{display:flex;gap:7px;flex-wrap:wrap}
.wechat-template-buttons button{padding:8px 11px}
.wechat-safety{margin:11px 0 0;padding:9px 11px;border:1px solid #e5c77d;border-radius:8px;background:#fff8e7;color:#704d00;font-size:13px;line-height:1.45}
.wechat-contact-create{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:8px;align-items:end}
.wechat-contact-create label{font-size:13px;font-weight:800}
.wechat-contact-create input,.wechat-contact-create select{display:block;width:100%;margin:3px 0 0}
.wechat-active{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.wechat-active input{display:inline-block!important;width:auto!important;margin:0!important}
.wechat-table-wrap{overflow:auto}
.wechat-contact-table{min-width:920px}
.wechat-history-table{min-width:1040px}
.wechat-contact-table input,.wechat-contact-table select{width:100%;min-width:105px;margin:0;padding:7px}
.wechat-contact-table td,.wechat-history-table td{vertical-align:middle}
.wechat-history-table td>small,.wechat-error{display:block;margin-top:3px;color:#65777b;font-size:11px;line-height:1.35}
.wechat-error{max-width:210px;color:#a23c35}
.wechat-message-text{min-width:260px;max-width:420px;white-space:pre-wrap;line-height:1.45}
.wechat-history-table .inline-form{display:inline-flex;gap:4px;margin:2px 4px 2px 0}
.wechat-history-table button{padding:6px 8px;font-size:12px}

@media(max-width:1100px){
  .account-record-form{grid-template-columns:1fr}
  .account-record-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-record-side{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .employee-roster-table{width:100%;min-width:0;font-size:12px}
  .employee-roster-table th,.employee-roster-table td{min-width:0;padding:4px 3px}
  .employee-roster-table .employee-roster-shift{width:54px;min-width:54px;max-width:54px}
  .employee-roster-name{max-width:100%;padding:3px 4px;font-size:11px;overflow-wrap:anywhere}
  .employee-roster-time{font-size:10px;white-space:normal}
  .availability-toggle{padding:4px 2px;font-size:10px;white-space:normal}
}
@media(max-width:760px){
  .employee-roster-table{min-width:680px}
  .store-portal-grid{grid-template-columns:1fr}
  .store-portal-grid>.employee-page-card{min-height:0}
  .public-store-workbench .store-portal-upload{padding:10px 12px}
  .account-create-form,.account-record-fields{grid-template-columns:1fr}
  .account-record-side{display:block}
  .account-record-actions{margin-top:8px}
  .account-store-checks{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .wechat-compose form,.wechat-contact-create{grid-template-columns:1fr}
  .wechat-compose label:has(textarea),.wechat-template-buttons{grid-column:auto}
}
