:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#0f1d3a;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1040px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app{min-height:100vh;display:grid;grid-template:68px 1fr/190px 1fr}header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #dce4ef;background:#fff}h1{font-size:25px;margin:0;letter-spacing:-.02em}header button,.ghost{border:0;background:transparent;color:#425577;display:flex;align-items:center;gap:8px;font-weight:600}aside{border-right:1px solid #dce4ef;padding:24px 0 18px;display:flex;flex-direction:column;justify-content:space-between}nav{display:grid;gap:6px}nav button{height:52px;border:0;background:transparent;text-align:left;padding:0 24px;display:flex;align-items:center;gap:12px;color:#425577;font-weight:600;border-left:3px solid transparent}nav svg{width:20px}nav .active{background:#eaf3ff;color:#0868d8;border-left-color:#0868d8}.privacy{margin:0 16px;padding:14px 12px;border-top:1px solid #e4eaf2;display:flex;gap:9px;color:#425577;font-size:12px}.privacy svg{width:18px;flex:none}.privacy small{color:#75829a;line-height:1.7}main{padding:32px 24px;min-width:0;transition:padding .2s}.with-drawer{margin-right:380px}.toolbar{display:flex;gap:14px}.toolbar label{height:52px;border:1px solid #cad5e3;border-radius:8px;display:flex;align-items:center;gap:12px;padding:0 16px;flex:1;box-shadow:0 1px 3px #1020400d;color:#657591}.toolbar input{border:0;outline:0;flex:1;font-size:15px}.primary{border:0;border-radius:7px;background:#0969da;color:#fff;font-weight:700;padding:0 26px;display:flex;align-items:center;justify-content:center;gap:8px}.warning,.notice{margin-top:16px;padding:12px 14px;border-radius:7px;display:flex;align-items:center;gap:10px;font-size:13px}.warning{background:#fff7df;color:#704d00}.notice{background:#edf5ff;color:#164f91}.notice button{margin-left:auto;border:0;background:transparent;color:inherit}.progress{height:68px;display:flex;align-items:center;gap:18px}.progress strong{font-size:16px}.progress span{color:#596a84;font-size:13px;border-left:1px solid #d8e0eb;padding-left:18px}.add-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;padding:14px;background:#f7f9fc;border:1px solid #e1e7f0;border-radius:8px;margin-bottom:14px}.add-form input{height:40px;border:1px solid #cbd6e4;border-radius:6px;padding:0 11px;outline:0}.add-form input:focus{border-color:#1673dd;box-shadow:0 0 0 3px #1673dd1f}.add-form button{border:1px solid #0969da;color:#0969da;background:#fff;border-radius:6px;padding:0 18px;font-weight:700}.table-wrap{border:1px solid #dce4ef;border-radius:8px;overflow:hidden}table{width:100%;border-collapse:collapse;table-layout:fixed}th{height:50px;background:#f5f8fc;text-align:left;padding:0 14px;color:#344562;font-size:13px}td{height:67px;border-top:1px solid #e2e8f1;padding:0 14px;color:#273a59;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr{transition:background .12s}tbody tr:not(:has(.empty)):hover,tbody tr.selected{background:#eaf4ff}.strong,.code{font-weight:700;color:#12213c}.status{display:inline-flex;align-items:center;gap:5px;border-radius:12px;padding:4px 9px;font-size:12px;font-weight:700}.status svg{width:13px;height:13px}.status.ok{background:#e0f6e9;color:#087746}.status.pending{background:#fff1cc;color:#946200}.action{border:1px solid #bfd0e4;background:#fff;color:#0969da;border-radius:6px;padding:7px 11px;font-weight:700}.empty{text-align:center;height:160px;color:#7a879c}.drawer{position:fixed;top:68px;right:0;width:380px;height:calc(100vh - 68px);background:#fff;border-left:1px solid #dce4ef;box-shadow:-12px 0 30px #1e395010;padding:25px 24px;overflow:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4ef;padding-bottom:18px}.drawer-head h2{margin:0;font-size:18px}.drawer-head button{border:0;background:transparent;color:#536783}.drawer dl{margin:24px 0}.drawer dt{color:#71809a;font-size:13px;margin-top:22px}.drawer dd{margin:7px 0 0;font-size:16px;font-weight:650;overflow-wrap:anywhere}.drawer .big-code{font-size:26px;letter-spacing:.04em}.drawer-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.drawer-actions button{height:45px;border-radius:6px;border:1px solid #ccd8e6;background:#fff;color:#1667c8;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.drawer-actions .primary{background:#0969da;color:#fff;border-color:#0969da}.security{display:flex;gap:11px;background:#eaf4ff;border-radius:8px;padding:16px;margin-top:28px;color:#315476}.security svg{width:20px;flex:none}.security p{margin:0;font-size:12px;line-height:1.7}.security strong{font-size:14px;color:#173b67}@media(max-width:1180px){.with-drawer{margin-right:0}.drawer{width:360px}.table-wrap{overflow-x:auto}table{min-width:900px}}.loading{min-height:100vh;display:grid;place-items:center;color:#657591}.user-bar{display:flex;align-items:center;gap:20px;color:#425577;font-size:14px}.access-page{min-height:100vh;display:grid;place-items:center;background:#f3f7fc;padding:24px}.access-card{width:430px;background:#fff;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 18px 55px #18365f18;padding:42px}.access-icon{width:52px;height:52px;border-radius:12px;background:#eaf3ff;color:#0868d8;display:grid;place-items:center}.access-icon svg{width:27px}.access-card h1{font-size:25px;margin:22px 0 8px}.access-card p{color:#657591;line-height:1.6;margin:0 0 24px}.access-card form{display:grid;gap:12px}.access-card input,.employee-form input{height:46px;border:1px solid #cbd6e4;border-radius:7px;padding:0 13px;outline:0}.access-card input:focus,.employee-form input:focus{border-color:#1673dd;box-shadow:0 0 0 3px #1673dd1f}.access-card .primary{height:46px}.access-card small{display:block;margin-top:18px;color:#77869c;line-height:1.6}.form-error{background:#fff1f0;color:#a32929;padding:10px 12px;border-radius:6px;font-size:13px}.top-notice{margin-top:0;margin-bottom:16px}.expanded{grid-template-columns:1.2fr .8fr 1.2fr .8fr auto}.account-table{min-width:1120px}.account-table th:nth-child(2),.account-table th:nth-child(3){width:18%}.account-table th:nth-child(4){width:13%}.account-table th:nth-child(6){width:17%}.text-action{border:0;background:transparent;color:#0969da;font-weight:700;padding:3px 5px}.subline{display:block;color:#7a879c;margin-top:3px}.admin-page{max-width:1050px}.section-title{border-bottom:1px solid #dce4ef;padding-bottom:18px}.section-title h2{margin:0 0 7px;font-size:22px}.section-title p{margin:0;color:#657591}.employee-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px;margin:24px 0}.employee-form .primary{padding:0 22px}.simple-list{border:1px solid #dce4ef;border-radius:8px;overflow:hidden}.simple-list>div{min-height:68px;padding:12px 16px;border-bottom:1px solid #e4eaf2;display:flex;align-items:center;justify-content:space-between;gap:20px}.simple-list>div:last-child{border-bottom:0}.simple-list strong,.simple-list small{display:block}.simple-list small{color:#74839a;margin-top:5px}.logs time{font-size:13px;color:#657591}.drawer dd .text-action{font-size:13px}.drawer .big-code{font-variant-numeric:tabular-nums}.add-form.expanded{grid-template-columns:1.35fr 1fr 1fr auto}.account-table{min-width:1160px}.account-table th:nth-child(1){width:15%}.account-table th:nth-child(2){width:14%}.account-table th:nth-child(3){width:22%}.account-table th:nth-child(4){width:15%}.account-table th:nth-child(5){width:10%}.account-table th:nth-child(6){width:16%}.language-switch{height:34px;padding:0 12px;border:1px solid #bfd0e4;border-radius:6px;background:#fff;color:#0969da;font-weight:700}.access-language{position:fixed;top:24px;right:24px}.add-form.expanded{grid-template-columns:1.25fr 1fr 1fr 1fr 1fr auto}@media(max-width:1500px){.add-form.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}}.account-table td:nth-child(4) .text-action,.drawer dd .text-action{display:none}.password-form{margin:20px 0 24px;padding:16px;background:#f5f8fc;border:1px solid #dce4ef;border-radius:8px;display:grid;gap:10px}.password-form label{font-size:13px;font-weight:700;color:#344562}.password-form input{height:42px;border:1px solid #cbd6e4;border-radius:6px;padding:0 11px;outline:0}.password-form input:focus{border-color:#1673dd;box-shadow:0 0 0 3px #1673dd1f}.password-form .primary{height:42px}.reveal-password-form{background:#eef6ff;border-color:#bfd8f5}.password-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.password-button-row>:only-child{grid-column:1/-1}.password-button-row button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px}.revealed-password{padding:9px 11px;border:1px solid #9fc5f1;border-radius:6px;background:#f3f8ff;color:#0b4382;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.account-edit-form{display:grid;gap:12px;margin:8px 0 22px}.account-edit-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#627491}.account-edit-form input{height:42px;padding:0 11px;border:1px solid #cbd6e4;border-radius:6px;color:#14243d;font-size:14px}.account-edit-form input:focus{outline:0;border-color:#1673dd;box-shadow:0 0 0 3px #1673dd1f}.account-edit-form .primary{height:44px}.account-edit-form small{color:#6b7d95;line-height:1.5}.admin-secret-cell{max-width:210px;overflow-wrap:anywhere;color:#153e70;font-weight:600;-webkit-user-select:text;user-select:text}.secret-confirm{display:grid;gap:10px;margin:0 0 22px;padding:16px;border:1px solid #bfd8f5;border-radius:8px;background:#eef6ff}.secret-confirm strong{color:#244a75;font-size:14px}.secret-confirm input{height:42px;padding:0 11px;border:1px solid #b9cce2;border-radius:6px;outline:0}.secret-confirm input:focus{border-color:#1673dd;box-shadow:0 0 0 3px #1673dd1f}.secret-confirm .primary{height:42px}.revealed-secret{padding:10px 11px;border:1px solid #9fc5f1;border-radius:6px;background:#fff;color:#0b4382;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.secret-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.secret-actions button{min-height:40px;border:1px solid #b9cce2;border-radius:6px;background:#fff;color:#1667c8;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}.account-table{min-width:1500px}.account-table th:nth-child(1){width:13%}.account-table th:nth-child(2){width:11%}.account-table th:nth-child(3){width:16%}.account-table th:nth-child(4),.account-table th:nth-child(5){width:9%}.account-table th:nth-child(6){width:22%}.account-table th:nth-child(7){width:8%}.account-table th:nth-child(8){width:10%}.account-table th:nth-child(9){width:7%}.row-actions{display:flex;align-items:center;gap:8px}.masked-secret{border:0;background:transparent;color:#1a5fb4;font:inherit;font-weight:700;letter-spacing:1px;padding:6px 4px;border-radius:5px;cursor:pointer}.masked-secret:hover:not(:disabled),.masked-secret:focus-visible{background:#e8f2ff;outline:2px solid #1673dd;outline-offset:1px}.masked-secret:disabled{color:#596b83;cursor:default;opacity:1}.secret-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#10213b66;display:grid;place-items:center;padding:24px}.secret-modal{width:min(440px,calc(100vw - 32px));background:#fff;border-radius:10px;box-shadow:0 24px 70px #0e20384d;padding:22px}.secret-modal .drawer-head{margin-bottom:18px}.secret-modal .secret-confirm{margin:0}.modal-confirm p{margin:0;color:#61738c;line-height:1.55}.secret-modal .security{margin-top:20px}.employee-cell{display:flex;align-items:center;gap:10px}.inline-edit{border:1px solid #b9cce2;background:#fff;color:#1667c8;border-radius:5px;padding:5px 9px;font-weight:700;cursor:pointer}.inline-edit:hover{background:#eef6ff}.recent-months{display:grid;gap:4px;font-variant-numeric:tabular-nums}.recent-months>div{display:grid;grid-template-columns:76px 1fr 1fr;gap:8px;align-items:center;line-height:1.35}.recent-months strong{color:#173e6d}.recent-months span{color:#496078;font-weight:700}.no-months{font-weight:400!important}.account-table tbody td:has(.recent-months){height:94px;white-space:normal}.drawer{overflow-x:hidden}.monthly-section{border-top:1px solid #dce4ef;padding-top:20px;margin-top:4px;min-width:0}.monthly-section h3{margin:0 0 6px;color:#152a47}.monthly-section>p{margin:0 0 14px;color:#6b7d95;font-size:13px;line-height:1.5}.monthly-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0}.monthly-form label{display:grid;gap:5px;color:#627491;font-size:12px;font-weight:700;min-width:0}.monthly-form label:first-child{grid-column:1/-1}.monthly-form input{box-sizing:border-box;width:100%;min-width:0;height:40px;border:1px solid #cbd6e4;border-radius:6px;padding:0 9px}.monthly-form .primary{grid-column:1/-1;height:42px}.monthly-history{display:grid;gap:8px;margin-top:14px}.monthly-history>button{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;text-align:left;border:1px solid #d7e1ed;background:#fff;border-radius:7px;padding:10px 12px;color:#334866;cursor:pointer}.monthly-history>button:hover{border-color:#8bb9ec;background:#f5f9ff}.monthly-history strong{color:#173e6d}.monthly-empty{padding:14px;border:1px dashed #cbd6e4;border-radius:7px;color:#73849a;text-align:center;font-size:13px}.monthly-submit-button{justify-self:start;border:0;background:transparent;color:#0969da;padding:2px 0;font-weight:700;font-size:12px}.monthly-submit-button:hover{text-decoration:underline}.monthly-submit-panel{padding-top:22px}.monthly-submit-panel>p{color:#5c6f89;line-height:1.6;margin:0 0 20px}.nav-badge{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:#d82c2c;color:#fff;display:grid;place-items:center;font-size:11px}.review-list{display:grid;gap:10px;margin-top:22px}.review-list article{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:24px;border:1px solid #dce4ef;border-radius:9px;padding:16px;background:#fff}.review-list strong,.review-list small{display:block}.review-list small{margin-top:6px;color:#70819a}.review-values{display:flex;gap:20px;color:#50647f}.review-values b{color:#173e6d;font-size:18px}.review-actions{display:flex;gap:8px}.review-actions button{border:1px solid #c3d0df;background:#fff;border-radius:6px;padding:8px 14px;color:#526780;font-weight:700}.review-actions .approve{background:#0969da;border-color:#0969da;color:#fff}@media(max-width:1180px){.review-list article{grid-template-columns:1fr}.review-values,.review-actions{justify-content:flex-start}}
