:root{color:#37352f;letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf9f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{background:#faf9f7}body{background:#faf9f7;min-width:320px;min-height:100vh;margin:0}button,input,select{letter-spacing:0}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#root{min-height:100vh}.app-header{color:#faf9f7;background:#2d2b28;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 24px;display:flex}.app-header h1{margin:0;font-size:18px;font-weight:500;line-height:1.3}.app-header p{color:#faf9f7b8;margin:3px 0 0;font-size:12px}.header-actions{align-items:center;gap:8px;display:flex}.header-btn{color:#faf9f7;background:#ffffff1f;border:1px solid #fff3}.header-btn.solid{color:#2d2b28;background:#ffffffeb}.header-btn:disabled{cursor:wait;opacity:.65}.database-badge{color:#faf9f7db;background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.database-badge small{color:#faf9f794;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:400;overflow:hidden}.database-ready{border-color:#22c55e6b}.database-saving,.database-loading{border-color:#f59e0b80}.database-error{border-color:#ef44448c}.toast-layer{z-index:10000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.toast-message{color:#fff;text-align:center;background:#000000e0;border:1px solid #ffffff29;border-radius:10px;max-width:min(420px,100vw - 40px);padding:12px 18px;font-size:15px;font-weight:700;line-height:1.4;animation:1.8s forwards toast-pop;box-shadow:0 16px 50px #00000038}.toast-success,.toast-info,.toast-error{background:#000000e0}.confirm-overlay{z-index:10001;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000006b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border:1px solid #eeeae3;border-radius:10px;width:min(420px,100vw - 40px);padding:18px;box-shadow:0 20px 70px #00000038}.confirm-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.confirm-title-row h2{color:#37352f;margin:0;font-size:18px}.confirm-dialog p{color:#6f6b63;margin:14px 0 0;font-size:14px;line-height:1.65}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@keyframes toast-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}12%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.98)}}.save-badge{color:#faf9f7db;background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;align-items:center;min-height:34px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.save-saving{border-color:#f59e0b80}.save-saved{border-color:#22c55e6b}.save-error{color:#fee2e2f2;background:#ef444429;border-color:#ef44448c}.container{width:min(1600px,100%);margin:0 auto;padding:20px}.env-strip{color:#6b6960;background:#fff;border:1px solid #e8e5e0;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;font-size:12px;display:inline-flex}.env-strip strong{color:#7c3aed;font-weight:600}.admin-layout{gap:16px;min-width:0;display:grid}.admin-layout>.card{min-width:0}.count-badge{color:#7c3aed;background:#f5f3ff;border-radius:999px;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.count-badge.warning{color:#92400e;background:#fef3c7}.tenant-table{min-width:1120px}.tenant-table td strong,.tenant-table td small{display:block}.tenant-table td small{color:#9b9a97;margin-top:3px;font-size:12px}.tenant-table a{color:#7c3aed;text-decoration:none}.tenant-table a:hover{text-decoration:underline}.recruitment-form{margin-bottom:14px}.recruitment-position-form{align-items:end;margin-bottom:12px}.recruitment-position-form .form-item{width:min(360px,100%)}.recruitment-position-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.recruitment-position-item{background:#faf9f7;border:1px solid #f0ede8;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.recruitment-position-item strong{color:#37352f;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.recruitment-note-field{grid-column:span 2}.recruitment-outcome-editor{border-top:1px solid #ece8e1;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;padding-top:16px;display:grid}.recruitment-outcome-column{min-width:0}.recruitment-outcome-conclusion{grid-column:1/-1}.form-item.recruitment-outcome-conclusion textarea{min-height:92px}.recruitment-outcome-title{justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-bottom:8px;display:flex}.recruitment-outcome-title>strong{color:#4b4f58;font-size:13px}.recruitment-outcome-input-list{gap:7px;display:grid}.recruitment-outcome-input-row{grid-template-columns:16px minmax(0,1fr) 34px;align-items:center;gap:7px;display:grid}.recruitment-outcome-input-row input{color:#37352f;width:100%;min-width:0;min-height:36px;font:inherit;background:#faf9f7;border:1px solid #e8e5e0;border-radius:8px;outline:0;padding:8px 10px;font-size:13px}.recruitment-outcome-input-row input:focus{background:#fff;border-color:#7c849e;box-shadow:0 0 0 3px #5d66831c}.recruitment-outcome-input-row .icon-button{color:#9a9389;width:34px;height:34px}.recruitment-outcome-input-row .icon-button:hover{color:#b43f3a;background:#fff5f4;border-color:#efb7b3}.recruitment-outcome-marker{color:#3a9466}.recruitment-outcome-marker.risk{color:#d17a2c}.recruitment-outcome-empty{color:#aaa59d;background:#faf9f7;margin:0;padding:10px 12px;font-size:12px}.recruitment-resume-upload{margin-top:14px}.interview-time-control{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.interview-time-control select{width:100%;min-width:0}.interview-time-control>span{color:#6f7480;font-weight:700}.recruitment-schedule-box{background:#faf9f7;border:1px solid #e4e0d9;border-radius:6px;margin-top:14px;padding:14px}.recruitment-schedule-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.recruitment-schedule-head>strong{color:#4e535c;font-size:13px}.interview-custom-time-check{color:#626872;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.interview-custom-time-check input{accent-color:#59657a;width:16px;height:16px;margin:0}.recruitment-schedule-box>.form-item{width:100%}.recruitment-custom-schedule-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.weekly-interview-availability-modal{width:720px}.weekly-interview-availability-text{resize:none;color:#30343b;width:100%;min-height:280px;font:inherit;white-space:pre-wrap;background:#faf9f7;border:1px solid #dedad3;border-radius:6px;padding:16px;font-size:14px;line-height:1.8;display:block}.weekly-interview-availability-text:focus{border-color:#8b93a4;outline:2px solid #59657a1f}.recruitment-resume-label{color:#6f7480;align-items:center;gap:7px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.recruitment-resume-label strong{color:#dc2626;font-size:11px}.recruitment-resume-drop{color:#7c3aed;cursor:pointer;background:#faf9f7;border:1px dashed #cfc9bf;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:112px;padding:16px;transition:border-color .16s,background .16s;display:flex}.recruitment-resume-drop:hover,.recruitment-resume-drop.active{background:#f7f4ff;border-color:#7c3aed}.recruitment-resume-drop input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.recruitment-resume-drop strong{color:#37352f;font-size:13px}.recruitment-resume-drop span{color:#92969e;font-size:11px}.recruitment-resume-file{background:#fff;border:1px solid #ebe7e0;border-radius:7px;align-items:center;gap:9px;min-width:0;margin-top:8px;padding:9px 10px;display:flex}.recruitment-resume-file>svg{color:#7c3aed;flex:none}.recruitment-resume-file>div{flex:1;min-width:0}.recruitment-resume-file strong,.recruitment-resume-file span{display:block}.recruitment-resume-file strong{color:#37352f;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recruitment-resume-file span{color:#92969e;margin-top:2px;font-size:10px}.incentive-list{flex-direction:column;gap:10px;display:flex}.incentive-item{background:#faf9f7;border:1px solid #f0ede8;border-radius:8px;padding:10px 12px}.incentive-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.incentive-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.incentive-title strong{color:#37352f;font-size:14px}.incentive-meta{color:#6b6960;font-size:12px}.incentive-people{color:#37352f;margin:8px 0 0;padding-left:20px;font-size:12px;list-style:outside}.incentive-people li{padding:1px 0}.incentive-people li.is-left{color:#9a958c}.incentive-people.empty{color:#9a958c;padding-left:4px;list-style:none}.policy-note{color:#b3261e;background:#fdf3f2;border:1px solid #f6d4d0;border-radius:6px;margin:12px 0 0;padding:8px 10px;font-size:12px;line-height:1.5}.policy-note p{margin:0}.policy-note p+p{margin-top:6px}.incentive-marking{margin-top:14px}.incentive-marking h3{color:#37352f;margin:0 0 6px;font-size:14px}.penalty-cards{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;display:grid}.penalty-card{background:#faf9f7;border:1px solid #f0ede8;border-left:3px solid #d7d2c9;border-radius:8px;padding:10px 12px}.penalty-card.is-over{border-left-color:#d97706}.penalty-card.is-zero{border-left-color:#ef4444}.penalty-card.is-disabled{background:#f3f2ef;border-left-color:#9a958c}.penalty-card-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.penalty-emp{color:#37352f;font-size:13px;font-weight:600}.penalty-emp.is-left{color:#9a958c;font-weight:500}.mini-toggle{cursor:pointer;align-items:center;display:inline-flex}.mini-toggle input{opacity:0;pointer-events:none;position:absolute}.mini-toggle span{background:#d7d2c9;border-radius:999px;width:26px;height:14px;transition:background .15s;position:relative}.mini-toggle span:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000002e}.mini-toggle input:checked+span{background:#10a37f}.mini-toggle input:checked+span:after{transform:translate(12px)}.penalty-flag{color:#b3540e;font-size:11px;font-weight:600}.penalty-card.is-zero .penalty-flag{color:#dc2626}.penalty-result{color:#6b6960;margin-left:auto;font-size:12px}.penalty-result strong{font-size:14px}.penalty-lines{margin:8px 0;padding:0;list-style:none}.penalty-line{border-top:1px solid #f2efe9;align-items:center;gap:10px;padding:4px 0;font-size:12px;display:flex}.penalty-line:first-child{border-top:none}.penalty-name{color:#37352f;flex:1;min-width:0;line-height:1.4}.penalty-line.is-zero-item .penalty-name{color:#6b6960}.penalty-line.is-hit .penalty-name{color:#dc2626;font-weight:600}.penalty-calc{color:#9a958c;flex-shrink:0;align-items:center;gap:6px;display:flex}.penalty-unit{white-space:nowrap}.penalty-sub{text-align:right;color:#9a958c;min-width:56px}.penalty-card-foot{color:#6b6960;border-top:1px dashed #e6e2db;padding-top:8px;font-size:11px}.cake-incentive-section{border-top:3px solid #10a37f}.cake-incentive-section .section-title-row>div:first-child{min-width:0}.cake-incentive-section .section-title-row h2{margin-bottom:4px}.company-feature-badge{color:#0f766e;background:#edf9f5;border:1px solid #b9e1d6;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.cake-rule-summary{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:14px;display:grid}.cake-rule-summary>div{background:#faf9f7;border:1px solid #ebe8e2;border-radius:7px;gap:4px;padding:10px 12px;display:grid}.cake-rule-summary span{color:#8a8780;font-size:11px}.cake-rule-summary strong{color:#37352f;font-size:14px}.cake-formula{margin-top:10px}.cake-selected-people{flex-wrap:wrap;gap:6px;margin-top:8px;padding-left:0;list-style:none;display:flex}.cake-selected-people span{color:#55524c;background:#f1efeb;border-radius:4px;padding:3px 8px;font-size:11px}.cake-rule-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.cake-employee-title{color:#37352f;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px;font-size:13px;display:flex}.cake-employee-title span{color:#8a8780;font-size:11px}.cake-employee-grid{background:#faf9f7;border:1px solid #e8e5e0;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:240px;padding:8px;display:grid;overflow-y:auto}.cake-employee-option{color:#37352f;cursor:pointer;border-radius:5px;align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:12px;display:flex}.cake-employee-option:hover{background:#f0ede8}.cake-employee-option.is-left{color:#9a958c}.cake-record-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.cake-month-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cake-target-input{color:#6b6960;background:#fff;border:1px solid #ddd8d0;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:3px 8px 3px 10px;font-size:11px;display:inline-flex}.cake-target-input input{text-align:right;border:0;border-bottom:1px solid #d9d4cc;border-radius:0;width:72px;min-height:26px;padding:2px 6px;font-size:13px}.cake-target-input input:focus{border-bottom-color:#10a37f;outline:none}.cake-settlement-title{margin-top:16px}.cake-settlement-title h3{color:#37352f;margin:0;font-size:14px}.cake-settlement-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:10px 0 0;display:grid}.cake-settlement-metrics>div{border-bottom:1px solid #eeeae4;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:11px;display:flex}.cake-settlement-metrics dt{color:#8a8780}.cake-settlement-metrics dd{color:#37352f;margin:0;font-weight:600}.production-month-bar{margin-bottom:0}.production-month-bar select{min-width:150px}.tinyroll-production-card{max-width:1100px}.tinyroll-production-card>.section-title-row{align-items:center}.production-card-header-actions{align-items:center;gap:8px;min-width:0;display:flex}.production-summary{align-items:stretch;gap:6px;display:flex}.production-summary>div{text-align:right;background:#faf9f7;border:1px solid #e9e5df;border-radius:6px;gap:2px;min-width:92px;padding:6px 10px;display:grid}.production-summary span{color:#969188;font-size:10px}.production-summary strong{color:#37352f;font-size:13px}.production-calendar-wrap{margin-top:8px;overflow-x:auto}.production-calendar{background:#e7e3dc;border:1px solid #e7e3dc;border-radius:6px;min-width:700px;overflow:hidden}.production-calendar-weekdays,.production-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.production-calendar-weekdays{margin-bottom:1px}.production-calendar-weekdays span{color:#767168;text-align:center;background:#f5f4f1;padding:5px 4px;font-size:10px;font-weight:600}.production-day{background:#fff;align-content:start;gap:5px;min-width:0;min-height:62px;padding:6px;display:grid}.production-day.is-empty,.production-day.is-rest-day{background:#f8f7f4}.production-day.is-overtime{background:#f1faf7}.production-day.is-dirty{z-index:1;background:#fff7ed;position:relative;box-shadow:inset 0 0 0 1px #f59e0b}.production-day.is-dirty .production-count-input{background:#fffdf8;border-color:#f59e0b}.production-day-head{justify-content:space-between;align-items:center;gap:4px;min-height:17px;display:flex}.production-day-head>strong{color:#4b4943;font-size:11px}.production-overtime-toggle{color:#777168;cursor:pointer;align-items:center;gap:3px;font-size:9px;display:inline-flex}.production-overtime-toggle input{accent-color:#10a37f;width:13px;height:13px;margin:0}.production-count-input{color:#37352f;text-align:center;background:#fff;border:1px solid #ddd8d0;border-radius:4px;width:100%;min-width:0;min-height:27px;padding:3px 6px;font-size:12px}.production-count-input:focus{border-color:#10a37f;outline:2px solid #10a37f29}.production-count-input:disabled{color:#aaa59c;cursor:not-allowed;background:0 0;border-color:#0000}.production-confirm-bar{background:#faf9f7;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;min-height:46px;padding:5px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.production-confirm-bar>span{color:#969188;white-space:nowrap;align-items:center;gap:5px;padding-left:4px;font-size:11px;display:inline-flex}.production-confirm-bar.is-dirty{background:#fff7e8;border-color:#f2b35f;box-shadow:0 0 0 2px #f59e0b1a}.production-confirm-bar.is-dirty>span{color:#c66a08;font-weight:700}.production-confirm-button{color:#aaa59c;white-space:nowrap;background:#f2f1ef;border-color:#e4e0d9;min-height:34px}.production-confirm-button.is-dirty{color:#fff;background:#c66a08;border-color:#c66a08}.production-confirm-button.is-dirty:hover{background:#a95205;border-color:#a95205}.cake-shared-settlement{max-width:720px;margin-top:12px}.cake-settlement-people{border-top:1px solid #ebe8e2;margin-top:10px;padding-top:10px}.cake-record-card{background:#faf9f7;border:1px solid #e8e5e0;border-left:3px solid #c9c5bd;border-radius:7px;padding:12px}.cake-record-card.is-qualified{background:#f7fbf9;border-left-color:#10a37f}.cake-record-head,.cake-reward-result{justify-content:space-between;align-items:center;gap:10px;display:flex}.cake-record-head>div{align-items:baseline;gap:6px;min-width:0;display:flex}.cake-record-head strong{color:#37352f;font-size:14px}.cake-record-head>div span{color:#9a958c;font-size:10px}.cake-status{color:#8a8780;flex-shrink:0;font-size:11px}.cake-status.is-qualified{color:#0f8f70;font-weight:600}.cake-count-input{margin-top:12px}.cake-reward-result{color:#6b6960;border-top:1px solid #ebe8e2;margin-top:10px;padding-top:9px;font-size:12px}.cake-reward-result strong{color:#37352f;font-size:15px}.cake-reward-result strong.green-text{color:#0f9f78}@media (width<=720px){.cake-rule-summary,.cake-rule-grid,.cake-employee-grid{grid-template-columns:1fr}.cake-incentive-section .section-title-row{flex-direction:column;align-items:stretch}.cake-incentive-section .section-title-row .btn{align-self:flex-start}.cake-month-controls{flex-direction:column;align-items:stretch;width:100%}.cake-target-input{justify-content:space-between}.tinyroll-production-card>.section-title-row,.production-card-header-actions{flex-direction:column;align-items:stretch}.production-confirm-bar{justify-content:space-between}.production-summary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.production-summary>div{min-width:0}}td.center,th.center{text-align:center}.recruitment-search{margin-bottom:12px}.recruitment-search .form-item{width:min(460px,100%)}.recruitment-table{min-width:1280px}.recruitment-outcome-cell{text-align:left;vertical-align:top;white-space:normal;min-width:260px;max-width:340px}.recruitment-outcome-summary{gap:7px;min-width:0;display:grid}.recruitment-outcome-summary>p{color:#4c5159;white-space:pre-wrap;margin:0;line-height:1.5}.recruitment-outcome-summary-group{border-left:2px solid #91a89a;padding-left:9px}.recruitment-outcome-summary-group.risk{border-left-color:#d29a6d}.recruitment-outcome-summary-group>strong{color:#668071;margin-bottom:2px;font-size:10px;display:block}.recruitment-outcome-summary-group.risk>strong{color:#a76636}.recruitment-outcome-summary-group ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.recruitment-outcome-summary-group li{color:#646871;grid-template-columns:13px minmax(0,1fr);align-items:start;gap:4px;font-size:11px;line-height:1.45;display:grid}.recruitment-outcome-summary-group li>svg{color:#3a9466;margin-top:2px}.recruitment-outcome-summary-group.risk li>svg{color:#d17a2c}.recruitment-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.recruitment-toolbar .sub-tabs,.recruitment-toolbar .actions-bar{margin-bottom:0}.recruitment-view-tabs{flex:0 auto}.interview-time-management>.section-title-row>div{min-width:0}.interview-time-management>.section-title-row p{color:#85817a;margin:4px 0 0;font-size:12px}.interview-time-create-form{background:#faf9f7;border:1px solid #e8e4dd;grid-template-columns:160px 180px auto;align-items:end;gap:10px;max-width:620px;margin-bottom:18px;padding:13px;display:grid}.interview-time-create-form .btn{min-height:42px}.interview-time-config-control{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.interview-time-config-control select{width:100%;min-width:0}.interview-time-config-control>span{color:#6f7480;font-weight:700}.interview-time-week-list{border-top:1px solid #e8e5df}.interview-time-week-row{border-bottom:1px solid #efede8;grid-template-columns:80px minmax(0,1fr);align-items:center;min-height:58px;padding:9px 4px;display:grid}.interview-time-week-row>strong{color:#4d5158;font-size:13px}.interview-time-empty{color:#aaa69f;font-size:12px}.interview-time-slot-list{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.interview-time-slot{color:#444a54;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #ddd9d2;border-radius:6px;grid-template-columns:14px auto 28px;align-items:center;gap:6px;min-height:34px;padding:2px 3px 2px 10px;font-size:13px;display:inline-grid}.interview-time-slot>svg{color:#7b8290}.interview-time-slot .icon-button{color:#918b83;border:0;width:28px;height:28px}.interview-time-slot .icon-button:hover{color:#b53b36;background:#fff2f1}.interview-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.interview-card{background:#fff;border:1px solid #e7e3dd;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.interview-card-schedule{color:#6f7675;font-variant-numeric:tabular-nums;background:#f4f6f4;border-bottom:1px solid #e4e8e4;border-radius:7px 7px 0 0;align-items:center;gap:7px;min-height:40px;margin:-14px -14px 0;padding:8px 14px;display:flex}.interview-card-schedule>svg{color:#7c8580;flex:none}.interview-schedule-date{white-space:nowrap;min-width:0;font-size:12px}.interview-schedule-primary{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;margin-left:auto;display:inline-flex}.interview-schedule-weekday{color:#4f6259;font-size:14px;font-weight:750}.interview-schedule-time{color:#202c27;font-size:18px;font-weight:750;line-height:1}.interview-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.interview-card-head>div{min-width:0}.interview-card-head strong,.interview-card-head span{display:block}.interview-card-head strong{color:#20242b;font-size:16px;line-height:1.35}.interview-card-head>div span{color:#70757f;margin-top:3px;font-size:12px}.interview-card-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;display:grid}.interview-card-details div{min-width:0}.interview-card-details dt{color:#92969e;align-items:center;gap:4px;margin-bottom:2px;font-size:10px;font-weight:700;display:flex}.interview-card-details dd{color:#3a3f47;overflow-wrap:anywhere;margin:0;font-size:13px}.interview-card-note{color:#666b74;white-space:pre-wrap;background:#f7f7f6;border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.interview-focus-summary{background:#fff9ef;border-left:3px solid #d69235;padding:9px 10px}.interview-focus-summary-head{color:#8a5a18;align-items:center;gap:5px;margin-bottom:5px;font-size:12px;display:flex}.interview-focus-summary p{color:#655b4d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.interview-focus-summary p span{color:#a45b16;margin-right:5px;font-weight:700}.interview-focus-summary p.important{color:#593f25}.interview-note-summary{background:#f4f7f8;border-left:3px solid #82939d;padding:9px 10px}.interview-note-summary-head{color:#536773;align-items:center;gap:5px;margin-bottom:5px;font-size:12px;display:flex}.interview-note-summary p{color:#59666d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.interview-blacklist-warning{color:#9a6700;align-items:center;gap:6px;font-size:12px;display:flex}.interview-blacklist-warning.danger{color:#c2413b}.interview-blacklist-warning-action{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-left:auto;padding:2px 0;font-weight:700;text-decoration:underline}.interview-blacklist-warning-action:disabled{cursor:wait;opacity:.5}.interview-card-actions{border-top:1px solid #f0ede8;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:auto;padding-top:10px;display:flex}.interview-card-actions .btn-primary{margin-right:auto}.interview-card-actions>.btn{white-space:nowrap;min-height:36px}.interview-card-actions>.icon-button{flex:0 0 36px;width:36px;height:36px}.interview-resume-button{color:#59657a}.interview-resume-button:hover{color:#354b72;background:#f1f4f8;border-color:#aebbd0}.modal.recruitment-resume-preview-modal{grid-template-rows:auto minmax(0,1fr) auto;width:min(1480px,100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:none;padding:18px 20px;display:grid;overflow:hidden}.recruitment-resume-preview-title{min-width:0;margin-bottom:12px}.recruitment-resume-preview-title>div{min-width:0}.recruitment-resume-preview-title p{color:#85817a;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:11px;overflow:hidden}.recruitment-resume-preview-body{background:#e9e8e5;border:1px solid #dedbd5;border-radius:8px;min-height:0;overflow:hidden}.recruitment-resume-pdf-pages{width:100%;height:100%;padding:18px;overflow:auto}.recruitment-resume-pdf-page{color:#817c74;justify-content:center;align-items:center;min-height:240px;margin:0 auto 16px;font-size:13px;display:flex}.recruitment-resume-pdf-page:last-child{margin-bottom:0}.recruitment-resume-pdf-page canvas{background:#fff;max-width:100%;height:auto;display:block;box-shadow:0 2px 12px #2526281f}.recruitment-resume-image-wrap{text-align:center;width:100%;height:100%;padding:18px;overflow:auto}.recruitment-resume-image-wrap img{max-width:100%;height:auto;margin:0 auto;display:block;box-shadow:0 2px 10px #2526281a}.recruitment-resume-preview-state{color:#74716b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;min-height:320px;padding:28px;display:flex}.recruitment-resume-preview-state strong{color:#47443f;font-size:14px}.recruitment-resume-preview-state p{max-width:480px;margin:0;font-size:12px}.recruitment-resume-preview-state.error{color:#a43f38}.loading-spinner{border:2px solid #d7d4ce;border-top-color:#555c70;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite loading-spinner-rotate}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}.recruitment-resume-preview-actions{margin-top:12px}.interview-focus-button{color:#82796c;position:relative}.interview-focus-button:hover,.interview-focus-button.has-pending{color:#a45b16;background:#fff8ea;border-color:#e7b46e}.interview-focus-button.has-note{color:#566d79;background:#f3f7f8;border-color:#bdcbd1}.interview-action-count{color:#fff;background:#c56e1b;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.interview-action-count.note{background:#657985}.interview-blacklist-button{color:#756e66}.interview-blacklist-button:hover{color:#b53b36;background:#fff5f4;border-color:#efb0ad}.focus-table-button{white-space:nowrap}.focus-completion-warning{color:#79521d;background:#fff8e9;border-left:3px solid #d69235;align-items:flex-start;gap:7px;margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.focus-completion-warning>svg{flex:none;margin-top:2px}.recruitment-focus-modal{width:820px}.recruitment-focus-title>div{min-width:0}.recruitment-focus-title p{color:#858179;margin:4px 0 0;font-size:13px}.focus-create-form{background:#faf9f7;border:1px solid #e8e3da;grid-template-columns:minmax(0,1fr) 120px auto;align-items:end;gap:10px;margin-bottom:18px;padding:14px;display:grid}.focus-create-form.note-mode{grid-template-columns:minmax(0,1fr) auto}.focus-kind-picker{background:#f1efeb;border:1px solid #dfdcd5;border-radius:7px;grid-column:1/-1;justify-self:start;padding:3px;display:inline-flex}.focus-kind-picker button{color:#716d66;min-width:76px;min-height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:600}.focus-kind-picker button.active{color:#343a37;background:#fff;box-shadow:0 1px 3px #272b2917}.focus-create-form .btn{min-height:42px}.focus-content-field textarea{resize:vertical}.focus-item-list{gap:9px;display:grid}.focus-item{background:#fff;border:1px solid #e8e3da;border-left:3px solid #b5b0a7;border-radius:6px;min-width:0;padding:13px 14px}.focus-item.focus-important{border-left-color:#d88325}.focus-item.focus-verified{background:#fbfdfb;border-left-color:#60a27c}.focus-item.focus-note{background:#fbfcfc;border-left-color:#82939d}.focus-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.focus-item-badges{align-items:center;gap:6px;display:flex}.focus-level-pill,.focus-status-pill,.focus-note-pill{border-radius:4px;align-items:center;min-height:22px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.focus-note-pill{color:#526873;background:#eaf0f2;gap:4px}.focus-level-pill.normal{color:#67635d;background:#efede9}.focus-level-pill.important{color:#985414;background:#fff0d8}.focus-status-pill.pending{color:#8a651d;background:#fff8df}.focus-status-pill.verified{color:#2e7250;background:#e7f5eb}.focus-item-content{color:#35332f;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 8px;font-size:14px;line-height:1.6}.focus-item-meta{color:#98938a;margin:0;font-size:11px;line-height:1.5}.focus-item-conclusion{color:#35634a;background:#edf7f0;align-items:flex-start;gap:7px;margin:9px 0;padding:9px 10px;display:flex}.focus-item-conclusion>svg{flex:none;margin-top:2px}.focus-item-conclusion span{margin-bottom:2px;font-size:10px;font-weight:700;display:block}.focus-item-conclusion p{color:#334b3c;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.5}.focus-item-editor{border-top:1px solid #eeeae3;grid-template-columns:minmax(0,1fr) 120px;gap:10px;margin-top:12px;padding-top:12px;display:grid}.focus-item-editor.note-mode{grid-template-columns:1fr}.focus-item-editor textarea{resize:vertical}.focus-editor-conclusion,.focus-editor-actions{grid-column:1/-1}.focus-editor-actions{justify-content:flex-end;gap:7px;display:flex}@media (width<=720px){.focus-create-form,.focus-item-editor,.focus-create-form.note-mode{grid-template-columns:1fr}.focus-editor-conclusion,.focus-editor-actions{grid-column:auto}.focus-item-head{flex-direction:column;align-items:flex-start}.interview-card-actions{flex-wrap:wrap}}.danger-icon:hover{color:#c2413b;background:#fff7f7;border-color:#fecaca}.pagination-summary{color:#777c85;font-size:12px}@media (width<=720px){.recruitment-toolbar{flex-direction:column;align-items:stretch}.interview-time-create-form,.recruitment-custom-schedule-grid{grid-template-columns:1fr}.interview-time-week-row{grid-template-columns:62px minmax(0,1fr)}.interview-card-grid{grid-template-columns:1fr}}.reply-template-modal{flex-direction:column;width:1040px;max-width:calc(100vw - 48px);height:760px;max-height:calc(100vh - 48px);display:flex;overflow:hidden}.reply-template-list{flex:1;align-content:start;gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.reply-template-item{background:#fbfaf8;border:1px solid #eeeae3;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.reply-template-index{color:#7c3aed;background:#f3edff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.reply-template-item p{color:#37352f;white-space:pre-wrap;word-break:break-word;margin:1px 0 0;font-size:14px;line-height:1.55}.reply-template-actions{justify-content:space-between}.reply-template-textarea{width:100%}.contract-template-body{min-width:0}.contract-template-name{color:#37352f;word-break:break-word;margin:1px 0 0;font-size:14px;font-weight:600}.contract-template-meta{color:#787066;margin:4px 0 0;font-size:13px;line-height:1.5}.contract-template-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.contract-template-version{width:auto;min-width:24px;padding:0 8px}.leave-dialog-hint{color:#787066;margin:0 0 14px;font-size:13px;line-height:1.6}.contract-template-actions{gap:6px;display:inline-flex}.contract-template-file-input{display:none}.contract-share-list{gap:8px;max-height:320px;margin-top:8px;padding-right:2px;display:grid;overflow-y:auto}.contract-share-row{background:#fbfaf8;border:1px dashed #d9d4cb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.contract-share-actions{gap:6px;display:inline-flex}.contract-share-info{min-width:0}.contract-share-created{color:#9a958c;margin-left:10px;font-size:12px;font-weight:400}.contract-share-url{color:#37352f;word-break:break-all;margin:0;font-size:12px}.contract-share-status{margin:0 0 4px;font-size:13px}.contract-share-opened{color:#1c7c3c;font-weight:600}.contract-share-pending{color:#9a6b00;font-weight:600}.nested-modal-overlay{z-index:120;background:#00000047}.part-time-worker-form{align-items:end;margin-bottom:10px}.part-time-worker-form .form-item{width:min(320px,100%)}.part-time-worker-list{flex-wrap:wrap;gap:8px;display:flex}.part-time-worker-item{background:#faf9f7;border:1px solid #f0ede8;border-radius:6px;align-items:center;gap:8px;padding:6px 8px 6px 10px;display:inline-flex}.part-time-worker-item strong{color:#37352f;font-size:13px}.part-time-worker-snapshot{color:#37352f;align-items:center;gap:6px;font-size:13px;display:inline-flex}.part-time-worker-snapshot small{color:#9b9a97;background:#f5f3f0;border-radius:999px;padding:2px 6px;font-size:11px}.compact-empty{padding:10px}.recruitment-result-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:60px;padding:3px 9px;font-size:12px;font-weight:650;line-height:1.35;display:inline-flex}.recruitment-result-pill.result-notStarted{color:#4b5563;background:#f3f4f6}.recruitment-result-pill.result-candidate{color:#047857;background:#ecfdf5}.recruitment-result-pill.result-interviewFailed{color:#92400e;background:#fef3c7}.recruitment-result-pill.result-interviewPassed{color:#1d4ed8;background:#eff6ff}.recruitment-result-pill.result-testFailed{color:#b45309;background:#fff7ed}.recruitment-result-pill.result-trialFailed{color:#be123c;background:#fff1f2}.recruitment-result-pill.result-trialing{color:#0e7490;background:#ecfeff}.recruitment-result-pill.result-trialAbandoned{color:#78716c;background:#f5f5f4}.recruitment-result-pill.result-offerRejected{color:#6b21a8;background:#f5f3ff}.recruitment-result-pill.result-hired{color:#166534;background:#dcfce7}.recruitment-result-pill.blacklist{color:#b91c1c;background:#fee2e2}.pagination-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.pagination-item-group{align-items:center;gap:6px;display:inline-flex}.pagination-ellipsis{color:#9b9a97;font-size:12px}.status-pill{border-radius:999px;justify-content:center;align-items:center;min-width:48px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.status-active{color:#166534;background:#dcfce7}.status-paused{color:#92400e;background:#fef3c7}.platform-form{align-items:end}.submit-item{justify-content:end}.tenant-model{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tenant-model div{background:#faf9f7;border:1px solid #f0ede8;border-radius:8px;padding:14px}.tenant-model strong,.tenant-model span{display:block}.tenant-model strong{color:#37352f;font-size:14px}.tenant-model span{color:#6b6960;margin-top:5px;font-size:13px;line-height:1.5}.tabs,.sub-tabs,.modal-tabs{gap:2px;display:flex}.tabs{border-bottom:1px solid #e8e5e0;margin-bottom:20px;overflow-x:auto}.sub-tabs,.modal-tabs{background:#fff;border-radius:8px;width:fit-content;max-width:100%;margin-bottom:16px;padding:4px;overflow-x:auto;box-shadow:0 1px 3px #00000014}.modal-tabs{background:#f0f0f0;width:100%}.tab{color:#9b9a97;min-height:38px;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:9px 15px;font-size:13px;font-weight:500}.tab.active{border-bottom-color:#7c3aed}.sub-tabs .tab,.modal-tabs .tab{border-bottom:0;border-radius:6px}.sub-tabs .tab.active,.modal-tabs .tab.active{background:#f5f3ff}.compact-sub-tabs{margin:-2px 0 12px}.card{background:#fff;border-radius:10px;min-width:0;margin-bottom:16px;padding:20px;box-shadow:0 1px 3px #0000000a,0 0 0 1px #00000008}.card h2{color:#37352f;border-bottom:1px solid #f0ede8;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:8px;font-size:15px;font-weight:600;display:flex}.section-title-row{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.section-title-row h2{flex:1}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;min-width:0;display:grid}.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,240px))}.form-item{flex-direction:column;gap:4px;min-width:0;display:flex}.form-item>span{color:#9b9a97;text-transform:uppercase;font-size:11px;font-weight:500}.form-item small{color:#b4b0a8;font-size:11px}.form-item input,.form-item select,.form-item textarea,.actions-bar select,.table-input{color:#37352f;min-height:36px;font:inherit;background:#faf9f7;border:1px solid #e8e5e0;border-radius:6px;outline:0;padding:8px 10px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.form-item input:disabled{color:#9b9a97;cursor:not-allowed;background:#f0f0f0}.form-item textarea{resize:vertical;min-height:140px;line-height:1.55}.contribution-history-field{grid-column:span 2}.salary-history-field{grid-column:1/-1}.contribution-change-list,.salary-change-list{gap:8px;display:grid}.contribution-change-row{grid-template-columns:96px 92px minmax(140px,1fr) auto;align-items:center;gap:8px;display:grid}.salary-change-row{grid-template-columns:96px 92px minmax(104px,1fr) minmax(104px,1fr) auto;align-items:center;gap:8px;display:grid}.check-row{flex-wrap:wrap;gap:10px;display:flex}.check-row label,.check-item{color:#37352f;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.check-item{flex-flow:wrap;align-content:center;min-height:36px}.check-item small{flex-basis:100%;padding-left:22px}.check-row input,.check-item input{cursor:pointer;width:16px;height:16px;min-height:0}.readonly-field{justify-content:center}.readonly-field strong{color:#7c3aed;overflow-wrap:anywhere;font-size:16px;line-height:1.4}.btn,.icon-button{cursor:pointer;font:inherit;border:0;justify-content:center;align-items:center;gap:5px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn{border-radius:6px;min-height:34px;padding:7px 14px;font-size:13px}.btn-primary{color:#fff;background:#7c3aed}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn-outline{color:#7c3aed;background:0 0;border:1px solid #d8d5cf}.btn-outline:hover{background:#f5f3ff;border-color:#7c3aed}.btn-sm{min-height:28px;padding:4px 10px;font-size:12px}.btn:disabled{cursor:not-allowed;color:#9b9a97;background:#f5f5f5;border-color:#e8e5e0}.icon-button{color:#6b6960;background:#fff;border:1px solid #e8e5e0;border-radius:8px;width:34px;height:34px}.icon-button:hover{color:#37352f;background:#faf8ff;border-color:#c4b5fd}.actions-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.actions-bar.align-center{align-items:center}.bar-label{color:#6b6960;align-self:center;font-size:13px}.notice{color:#795548;background:#fff3e0;border-left:4px solid #e67e22;border-radius:0 6px 6px 0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.city-badge{color:#7c3aed;background:#f5f3ff;border-radius:10px;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.table-wrap{width:100%;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}.wide-table{min-width:1180px}.payroll-table{table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:0;font-size:11.5px}.payroll-table-wrap{overflow-x:hidden}.payroll-table th,.payroll-table td{text-overflow:ellipsis;padding:5px 2px;overflow:hidden}.payroll-table th{white-space:normal;text-align:right;line-height:1.2}.payroll-table th:first-child{text-align:left}.payroll-table th small{color:#9b9a97;text-transform:none;margin-top:1px;font-size:10px;font-weight:600;display:block}.payroll-table th:first-child,.payroll-table td:first-child{text-overflow:ellipsis;white-space:nowrap;width:62px;max-width:62px;overflow:hidden}.payroll-table .money-cell{text-align:right;white-space:nowrap;text-overflow:ellipsis;letter-spacing:0;min-width:0;overflow:hidden}.payroll-grouped-table{table-layout:fixed;font-size:12px}.payroll-grouped-table th,.payroll-grouped-table td{text-overflow:clip;vertical-align:middle;padding:8px 7px;overflow:visible}.payroll-grouped-table th{text-align:right;white-space:nowrap}.payroll-grouped-table th:first-child{text-align:left}.payroll-grouped-table th:first-child,.payroll-grouped-table td:first-child{width:58px;max-width:58px}.payroll-grouped-table td:first-child small{color:#9a9da3;margin-top:2px;font-size:9px;display:block}.payroll-grouped-table th:nth-child(2),.payroll-grouped-table th:nth-child(3),.payroll-grouped-table th:nth-child(4){width:10%}.payroll-grouped-table th:nth-child(5),.payroll-grouped-table th:nth-child(6),.payroll-grouped-table th:nth-child(7),.payroll-grouped-table th:nth-child(8){width:8%}.payroll-grouped-table th:nth-child(9){width:7%}.payroll-grouped-table th:nth-child(10){width:9%}.payroll-grouped-table th:nth-child(11),.payroll-grouped-table th:nth-child(12){width:10%}.payroll-grouped-table .money-cell{text-align:right;text-overflow:clip;overflow:visible}.payroll-breakdown{gap:2px;display:grid}.payroll-breakdown-line{grid-template-columns:minmax(25px,auto) minmax(0,1fr);align-items:baseline;gap:5px;min-width:0;display:grid}.payroll-breakdown-line>span{color:#969a9f;white-space:nowrap;font-size:9px;font-weight:600}.payroll-breakdown-line>strong{text-align:right;white-space:nowrap;min-width:0;font-size:11.5px;font-weight:500}.payroll-grouped-table .total-row .payroll-breakdown-line>strong,.payroll-grouped-table .total-row .money-cell{font-weight:700}@media (width<=900px){.payroll-grouped-table,.payroll-grouped-table tbody,.payroll-grouped-table tfoot{display:block}.payroll-grouped-table thead{display:none}.payroll-grouped-table tr{border-bottom:1px solid #ebe8e3;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:10px 0;display:grid}.payroll-grouped-table td,.payroll-grouped-table td:first-child{text-align:right;grid-template-columns:62px minmax(0,1fr);gap:8px;width:auto;max-width:none;padding:5px 0;display:grid}.payroll-grouped-table td:first-child{color:#20242b;text-align:left;grid-column:1/-1;font-size:14px;font-weight:700;display:block}.payroll-grouped-table td:not(:first-child):before{color:#858a92;text-align:left;font-size:10px;font-weight:700}.payroll-grouped-table td:nth-child(2):before{content:"基础薪资"}.payroll-grouped-table td:nth-child(3):before{content:"缺勤扣款"}.payroll-grouped-table td:nth-child(4):before{content:"补贴激励"}.payroll-grouped-table td:nth-child(5):before{content:"加班"}.payroll-grouped-table td:nth-child(6):before{content:"应发"}.payroll-grouped-table td:nth-child(7):before{content:"个人社保"}.payroll-grouped-table td:nth-child(8):before{content:"个人公积金"}.payroll-grouped-table td:nth-child(9):before{content:"个税"}.payroll-grouped-table td:nth-child(10):before{content:"实发"}.payroll-grouped-table td:nth-child(11):before{content:"企业缴纳"}.payroll-grouped-table td:nth-child(12):before{content:"总成本"}}.trademark-table{table-layout:fixed;min-width:760px}th,td{color:#37352f;text-align:right;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f5f3f0;padding:9px 8px}th{color:#6b6960;text-transform:uppercase;background:#faf9f7;border-bottom-color:#e8e5e0;font-size:12px;font-weight:600}th:first-child,td:first-child{text-align:left}.total-row td,tr.total-row td{background:#faf9f7;border-top:2px solid #e8e5e0;font-weight:600}.table-input{width:100%;min-width:0;padding:5px 8px;font-size:13px}.table-input.narrow{text-align:center;width:58px}.align-right{text-align:right}.employee-list{gap:7px;display:grid}.employee-item{cursor:pointer;background:#fff;border:1px solid #e8e5e0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.employee-name{color:#37352f;font-weight:500}.employee-name span{color:#888;font-size:13px;font-weight:400}.employee-blacklist-pill{vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.employee-blacklist-pill.danger{color:#b91c1c;background:#fee2e2}.employee-blacklist-pill.warning{color:#92400e;background:#fef3c7}.employee-left-pill{vertical-align:middle;color:#6b7280;background:#e5e7eb;border-radius:999px;align-items:center;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.employee-item.is-left{opacity:.62}.employee-item.is-left:hover{opacity:1}.employee-salary{color:#9b9a97;margin-top:4px;font-size:13px;line-height:1.5}.employee-salary strong{color:#7c3aed}.row-actions{flex:none;gap:6px;display:flex}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.summary-item{text-align:center;background:#faf9f7;border:1px solid #f0ede8;border-radius:10px;padding:16px}.summary-item .label{color:#9b9a97;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:500;display:block}.summary-item strong{color:#7c3aed;font-size:22px;font-weight:600}.summary-item small{color:#9b9a97;margin-top:6px;font-size:12px;display:block}.summary-item strong.green,.green-text{color:#059669}.red-text{color:#ef4444}.orange-text{color:#d97706}.wrap-cell{white-space:normal;overflow-wrap:anywhere;max-width:260px}.invoice-filter-grid{margin-top:4px}.invoice-drop-zone{color:#6b6960;cursor:pointer;background:#faf9f7;border:1px dashed #d8d5cf;border-radius:8px;align-items:center;gap:8px;min-height:54px;margin:-4px 0 16px;padding:10px 14px;transition:border-color .15s,background .15s,color .15s;display:flex}.invoice-drop-zone strong{color:#37352f;font-size:13px}.invoice-drop-zone span{color:#9b9a97;font-size:12px}.invoice-layout{gap:16px;display:grid}.invoice-table-wrap{max-height:560px}.invoice-table{min-width:1180px}.invoice-payment-toggle{color:#92400e;min-height:28px;font:inherit;cursor:pointer;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600}.invoice-payment-toggle.corporate{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.invoice-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.invoice-side-card h2{margin-bottom:10px}.invoice-summary-list{gap:7px;display:grid}.invoice-summary-row{background:#faf9f7;border:1px solid #f0ede8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:8px 10px;display:grid}.invoice-summary-row span{color:#37352f;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.invoice-summary-row strong{color:#059669;font-size:13px}.invoice-summary-row small{color:#9b9a97;grid-column:1/-1;font-size:11px}.purple-text{color:#7c3aed}.strong{font-weight:600}.muted-row td,.muted-line,.muted-text{color:#9b9a97}.muted-line{margin:12px 0 0;font-size:12px}.inline-muted{align-self:center;margin:0}.empty-state{color:#b4b0a8;text-align:center;padding:48px 20px}.empty-state.slim{padding:20px}.empty-state p{margin:0;font-size:14px}.empty-entry-card{text-align:center;max-width:680px;margin:72px auto 0}.empty-entry-card h2{margin:0 0 8px}.empty-entry-card p{color:#6b6960;margin:0}.file-input{display:none}.calendar-board{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;display:grid}.mini-calendar{border:1px solid #eee;border-radius:8px;padding:12px}.mini-calendar h3{color:#37352f;text-align:center;justify-content:center;align-items:center;gap:6px;margin:0 0 8px;font-size:14px;display:flex}.calendar-expand-button{color:#bbb;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.calendar-expand-button:hover{color:#7c3aed;background:#f3f0ff}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;font-size:12px;display:grid}.calendar-weekday{color:#aaa;padding:2px 0;font-size:11px}.calendar-day{color:#333;min-width:0;min-height:42px;font:inherit;background:0 0;border:0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 2px;font-size:12px;line-height:1.4;display:inline-flex;position:relative}.calendar-day span,.calendar-day small{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.calendar-day small{font-size:10px;font-weight:600;line-height:1.1}.calendar-ot-badge{white-space:nowrap;background:#0000001a;border-radius:4px;padding:0 3px;font-size:9px;font-weight:800;line-height:1.5;position:absolute;top:2px;right:2px}.calendar-large .calendar-ot-badge{padding:1px 5px;font-size:12px;top:5px;right:5px}button.calendar-day{cursor:pointer}button.calendar-day:hover{outline:1px solid #c4b5fd}.calendar-day.is-weekend{color:#bbb;background:#f5f5f5}.calendar-day.is-holiday,.calendar-day.is-leave-statutory{color:#c0392b;background:#fde8e8;font-weight:700}.calendar-day.is-rest,.calendar-day.is-leave-summerComp{color:#e67e22;background:#fff3e0;font-weight:700}.calendar-day.is-leave-annual{color:#2563eb;background:#dbeafe;font-weight:700}.calendar-day.is-leave-summer{color:#059669;background:#dcfce7;font-weight:700}.calendar-day.is-leave-statutoryComp{color:#7c3aed;background:#f5f3ff;font-weight:700}.calendar-day.is-leave-custom{color:#047857;background:#d1fae5;font-weight:700}.calendar-day.is-leave-statutoryOvertime{color:#be123c;background:#ffe4e6;font-weight:700}.calendar-day.is-leave-restOvertime{color:#c2410c;background:#ffedd5;font-weight:700}.calendar-modal{width:720px}.calendar-large{border:0;padding:0}.calendar-large .calendar-grid{gap:4px;font-size:15px}.calendar-large .calendar-weekday{padding:6px 0;font-size:13px}.calendar-large .calendar-day{border-radius:6px;justify-content:flex-start;gap:4px;min-height:86px;padding:8px 4px;font-size:16px}.calendar-large .calendar-day span{font-size:16px;font-weight:600}.calendar-large .calendar-day small{white-space:normal;text-overflow:clip;word-break:break-word;font-size:12px;line-height:1.3;overflow:visible}.attendance-overtime-hint{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.attendance-overtime-hint span{color:#6b6960;background:#faf9f7;border:1px solid #f0ede8;border-radius:999px;align-items:center;gap:4px;padding:5px 9px;font-size:12px;display:inline-flex}.attendance-overtime-hint strong{color:#e67e22}.wide-table th small{color:#9b9a97;text-transform:none;margin-top:2px;font-size:10px;font-weight:600;display:block}.calendar-mark-form{margin-bottom:0}.calendar-template-action{margin-top:12px;margin-bottom:0}.calendar-mark-current{margin-bottom:16px}.calendar-preset-list{gap:6px;margin-bottom:14px;display:grid}.calendar-preset-group-list{flex-wrap:wrap;gap:6px 18px;display:flex}.calendar-preset-group{align-items:center;gap:6px;display:inline-flex}.calendar-preset-group-title{color:#6b6960;white-space:nowrap;font-size:12px;font-weight:700}.calendar-preset-ot{color:#be123c;margin-left:3px;font-size:11px;font-style:normal;font-weight:800}.calendar-preset-chip-list{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.calendar-preset-chip{align-items:stretch;display:inline-flex}.calendar-preset-chip .btn{border-radius:6px 0 0 6px;min-height:28px;padding:4px 8px;font-size:12px}.calendar-preset-chip .icon-button{border-left:0;border-radius:0 6px 6px 0;width:24px;height:auto;min-height:28px}.inline-fields{flex-wrap:wrap;gap:14px;display:flex}.mini-field{color:#555;align-items:center;gap:6px;font-size:13px;display:inline-flex}.mini-field input{width:68px;min-height:30px;font:inherit;text-align:center;border:1px solid #ddd;border-radius:4px;padding:4px 6px}.payroll-slip{max-width:620px}.payroll-slip h2{text-align:center;border-bottom:2px solid #7c3aed;justify-content:center}.slip-subtitle{color:#666;text-align:center;margin:0 0 16px;font-size:13px}.slip-action-row{justify-content:center;margin:-4px 0 14px;display:flex}.slip-main-line{font-weight:700}.slip-breakdown{color:#8a8f98;gap:4px;margin-top:6px;font-size:13px;line-height:1.45;display:grid}.cloud-card{color:#0f5e5f;background:#f0faf7;align-items:flex-start;gap:14px;display:flex}.cloud-card h2{color:#073f40;border-bottom:0;margin-bottom:8px}.cloud-card p{color:#0f5e5f;margin:4px 0;font-size:13px}.service-list{gap:10px;display:grid}.service-item{background:#faf9f7;border:1px solid #f0ede8;border-radius:8px;padding:12px}.service-item strong,.service-item span{display:block}.service-item strong{color:#37352f;font-size:14px}.service-item span{color:#9b9a97;margin-top:4px;font-size:13px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:760px;max-width:94vw;max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 20px 60px #00000026}.small-modal{width:620px}.modal-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-title h2{color:#37352f;margin:0;font-size:20px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.account-permission-picker-field{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.account-permission-picker-field legend{color:#6f6b63;margin-bottom:7px;font-size:13px;font-weight:600}.account-permission-picker{background:#fbfaf8;border:1px solid #dedbd5;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:48px;padding:9px;display:grid}.account-permission-option{color:#55524c;cursor:pointer;background:#fff;border:1px solid #e6e2dc;border-radius:6px;align-items:center;gap:9px;min-width:0;min-height:38px;padding:7px 10px;display:flex}.account-permission-option.is-selected{color:#285842;background:#edf5f0;border-color:#a9c8b7}.account-permission-option input{accent-color:#3f765d;width:16px;height:16px;margin:0}.account-permission-option span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.account-permission-empty{color:#9b9891;grid-column:1/-1;align-self:center;padding:3px 4px;font-size:13px}.account-permission-tag-list{flex-wrap:wrap;gap:5px;display:flex}.account-permission-tag{color:#35604e;white-space:nowrap;background:#edf4ef;border-radius:4px;padding:3px 7px;font-size:12px;font-weight:600}.permission-editor{background:#fff;border:1px solid #e8e5e0;border-radius:10px;margin-top:12px;overflow:hidden}.permission-editor-head,.permission-editor-row{grid-template-columns:minmax(130px,1fr) minmax(300px,420px);align-items:center;gap:18px;display:grid}.permission-editor-head{color:#6f6b63;background:#fbfaf8;border-bottom:1px solid #e8e5e0;min-height:42px;padding:0 16px;font-size:13px;font-weight:700}.permission-editor-list{display:grid}.permission-editor-row{border-bottom:1px solid #f0eee9;min-height:58px;padding:10px 16px}.permission-editor-row:last-child{border-bottom:0}.permission-editor-row strong{color:#37352f;font-size:15px;font-weight:600}.permission-segment{background:#f7f5f1;border:1px solid #ebe7df;border-radius:9px;grid-template-columns:repeat(3,minmax(78px,1fr));gap:6px;padding:4px;display:grid}.permission-segment-button{color:#6f6b63;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;min-height:32px;padding:5px 9px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.permission-segment-button:hover{color:#37352f;background:#fff}.permission-segment-button.active{background:#fff;box-shadow:0 1px 5px #37352f14}.permission-segment-button.level-none.active{color:#6b7280;background:#f9fafb;border-color:#d1d5db}.permission-segment-button.level-read.active{color:#b45309;background:#fffbeb;border-color:#fcd34d}.permission-segment-button.level-write.active{color:#047857;background:#ecfdf5;border-color:#86efac}.blacklist-alert{border-radius:8px;gap:8px;margin-top:14px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.blacklist-alert div{gap:3px;display:grid}.blacklist-alert strong,.blacklist-alert span{display:block}.blacklist-alert.danger{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.blacklist-alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #7c3aed}@media (width<=920px){.app-header{flex-direction:column;align-items:flex-start}.container{padding:16px}.notice,.employee-item{flex-direction:column;align-items:stretch}.tenant-model{grid-template-columns:1fr}.row-actions{justify-content:flex-end}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-side{grid-template-columns:1fr}.permission-editor-head,.permission-editor-row{grid-template-columns:1fr;gap:8px}}@media (width<=640px){.container{padding:12px}.card{padding:16px}.form-grid,.form-grid.compact,.account-permission-picker,.summary-grid{grid-template-columns:1fr}.recruitment-note-field{grid-column:auto}.recruitment-outcome-editor{grid-template-columns:1fr}.contribution-history-field,.salary-history-field{grid-column:auto}.contribution-change-row,.salary-change-row,.calendar-board{grid-template-columns:1fr}.modal{padding:20px}.modal-actions{grid-template-columns:1fr;display:grid}}.operation-tips-page{max-width:1180px}.operation-tips-intro{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;padding:4px 2px 0;display:flex}.operation-tips-kicker{color:#81722f;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.operation-tips-intro h2{color:var(--ops-ink,#30333a);margin:8px 0 4px;font-size:24px;line-height:1.3}.operation-tips-intro p{max-width:720px;color:var(--ops-soft,#737782);margin:0;font-size:13px;line-height:1.7}.operation-tips-count{color:#7c6d2c;background:#fffdf4;border:1px solid #e3decc;border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-weight:700}.operation-tip-card{background:#fffffff5;border:1px solid #dedfe4;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px #1f232a0e}.operation-tip-card-head{background:linear-gradient(135deg,#fffdf5 0%,#fff 65%);border-bottom:1px solid #e8e8eb;justify-content:space-between;align-items:flex-start;gap:28px;padding:24px 26px;display:flex}.operation-tip-meta{gap:6px;margin-bottom:10px;display:flex}.operation-tip-meta span{color:#766827;background:#f7f1d9;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700}.operation-tip-card-head h3{color:var(--ops-ink,#30333a);margin:0;font-size:22px;line-height:1.35}.operation-tip-card-head p{max-width:720px;color:var(--ops-soft,#737782);margin:8px 0 0;font-size:13px;line-height:1.7}.operation-tip-number{color:#bbb28e;letter-spacing:.12em;flex:none;font-size:11px;font-weight:800}.operation-tip-section{padding:22px 26px}.operation-tip-section-title{color:#4c5361;align-items:center;gap:9px;margin-bottom:15px;display:flex}.operation-tip-section-title>div{align-items:baseline;gap:8px;display:flex}.operation-tip-section-title strong{color:var(--ops-ink,#30333a);font-size:14px}.operation-tip-section-title span{color:#989ba3;font-size:11px}.operation-tip-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.operation-tip-step{background:#fafafb;border:1px solid #e7e7ea;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;min-width:0;padding:13px;display:grid}.operation-tip-step>span{color:#fff;background:#656d7c;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;font-weight:800;display:grid}.operation-tip-step>svg{color:#a5a7ae;margin-top:3px}.operation-tip-step strong{color:#3d414a;font-size:12px;display:block}.operation-tip-step p{color:#7d8088;margin:4px 0 0;font-size:11px;line-height:1.55}.operation-tip-content-grid{border-top:1px solid #e8e8eb;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);display:grid}.operation-tip-content-grid>section+section{border-left:1px solid #e8e8eb}.operation-tip-script blockquote{color:#4a4638;white-space:pre-line;background:#fffdf6;border:1px solid #e7e2cf;border-left:3px solid #b9a451;border-radius:8px;margin:0 0 14px;padding:15px 16px;font-size:13px;line-height:1.85}.operation-tip-theory dl{gap:11px;margin:0;display:grid}.operation-tip-theory dl>div{grid-template-columns:72px minmax(0,1fr);gap:10px;display:grid}.operation-tip-theory dt{color:#4d5360;font-size:12px;font-weight:750}.operation-tip-theory dd{color:#747780;margin:0;font-size:12px;line-height:1.65}.operation-tip-boundary{color:#755448;background:#fcf8f3;border-top:1px solid #ece7dc;align-items:flex-start;gap:11px;padding:16px 26px 18px;display:flex}.operation-tip-boundary svg{flex:none;margin-top:2px}.operation-tip-boundary strong{color:#65483e;font-size:12px}.operation-tip-boundary p{color:#80675f;margin:3px 0 0;font-size:11px;line-height:1.65}.operation-tip-compact-head{color:#8b7a31;background:linear-gradient(135deg,#fffdf5 0%,#fff 70%);border-bottom:1px solid #e8e8eb;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.operation-tip-label{color:#766827;background:#f7f1d9;border-radius:5px;margin-bottom:7px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-block}.operation-tip-compact-head h2{color:var(--ops-ink,#30333a);margin:0;font-size:21px}.operation-tip-compact-head p{color:var(--ops-soft,#737782);margin:6px 0 0;font-size:13px}.operation-tip-compact-script{padding:20px 24px}.operation-tip-compact-title strong{color:#3d414a;font-size:13px}.operation-tip-compact-script blockquote{color:#4a4638;white-space:pre-line;background:#fffdf6;border:1px solid #e7e2cf;border-left:3px solid #b9a451;border-radius:8px;margin:0;padding:14px 16px;font-size:13px;line-height:1.8}.operation-tip-compact-boundary svg{flex:none}@media (width<=900px){.operation-tip-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-tip-content-grid{grid-template-columns:1fr}.operation-tip-content-grid>section+section{border-top:1px solid #e8e8eb;border-left:0}}@media (width<=640px){.operation-tips-intro{flex-direction:column;align-items:flex-start;gap:12px}.operation-tips-intro h2{font-size:20px}.operation-tip-card-head{padding:20px 18px}.operation-tip-card-head h3{font-size:19px}.operation-tip-number{display:none}.operation-tip-section{padding:19px 18px}.operation-tip-steps{grid-template-columns:1fr}.operation-tip-step>svg{transform:rotate(90deg)}.operation-tip-boundary{padding:15px 18px 17px}.operation-tip-compact-head,.operation-tip-compact-script{padding:18px}.operation-tip-compact-theory{grid-template-columns:1fr}.operation-tip-compact-theory>div{padding:13px 18px}.operation-tip-compact-theory>div+div{border-top:1px solid #ececef;border-left:0}.operation-tip-compact-boundary{align-items:flex-start;padding:11px 18px}}.operation-tip-card-compact{max-width:820px}.operation-tip-compact-head{background:linear-gradient(145deg,#fffdf8 0%,#fff 72%);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 26px 22px;display:flex}.operation-tip-compact-head>svg{box-sizing:content-box;color:#75682f;background:#f5f0dc;border-radius:50%;flex:none;padding:10px}.operation-tip-label{color:#867936;letter-spacing:.08em;margin-bottom:9px;font-size:11px;font-weight:750;display:inline-block}.operation-tip-compact-head h2{color:var(--ops-ink,#30333a);margin:0;font-size:22px;font-weight:680;line-height:1.35}.operation-tip-compact-head p{color:var(--ops-soft,#737782);margin:7px 0 0;font-size:13px;line-height:1.65}.operation-tip-compact-script{border-top:1px solid #e9e8e3;padding:20px 26px 22px}.operation-tip-method-summary{border-top:1px solid #e9e8e3;gap:8px;padding:20px 26px 22px;display:grid}.operation-tip-method-summary p{color:#62666f;margin:0;font-size:13px;line-height:1.75}.operation-tip-method-summary p:first-child{color:#3f434b;font-weight:650}.operation-tip-compact-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.operation-tip-compact-title strong{color:#45484f;font-size:12px;font-weight:700}.operation-tip-compact-script blockquote{color:#403d34;white-space:pre-line;background:#fffdf7;border:1px solid #e7e3d5;border-radius:9px;margin:0;padding:15px 17px;font-size:13px;line-height:1.9}.operation-tip-compact-example{color:#85878e;margin:10px 2px 0;font-size:11px;line-height:1.6}.operation-tip-compact-example strong{color:#5e626b}.operation-tip-compact-theory{border-top:1px solid #e9e8e3;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.operation-tip-compact-theory>div{gap:4px;padding:17px 26px;display:grid}.operation-tip-compact-theory>div+div{border-left:1px solid #e9e8e3}.operation-tip-compact-theory strong{color:#4b4e55;font-size:11px}.operation-tip-compact-theory span{color:#777a82;font-size:11px;line-height:1.65}.operation-tip-compact-boundary{color:#816b61;background:#fbf8f4;border-top:1px solid #ece8df;align-items:flex-start;gap:8px;padding:12px 26px 14px;font-size:10px;line-height:1.6;display:flex}.operation-tip-compact-boundary svg{flex:none;margin-top:1px}@media (width<=640px){.operation-tip-compact-head,.operation-tip-compact-script{padding-left:18px;padding-right:18px}.operation-tip-compact-head h2{font-size:19px}.operation-tip-compact-theory{grid-template-columns:1fr}.operation-tip-compact-theory>div{padding:14px 18px}.operation-tip-compact-theory>div+div{border-top:1px solid #e9e8e3;border-left:0}.operation-tip-compact-boundary{padding-left:18px;padding-right:18px}}:root{--ops-ink:#20242b;--ops-muted:#6f7480;--ops-soft:#9095a0;--ops-canvas:#f3f4f6;--ops-surface:#fbfbfc;--ops-surface-strong:#fff;--ops-line:#dde0e6;--ops-line-soft:#e9eaee;--ops-accent:#5d6683;--ops-accent-strong:#48516f;--ops-accent-soft:#eceef5;--ops-sidebar:#25282e}html,body{color:var(--ops-ink);background:var(--ops-canvas)}.workspace-shell{background:radial-gradient(circle at 82% 0%, #a5aabc2b, transparent 30%), var(--ops-canvas);grid-template-columns:248px minmax(0,1fr);min-width:0;min-height:100vh;display:grid}.workspace-sidebar{z-index:20;color:#f4f3ed;background:var(--ops-sidebar);flex-direction:column;min-width:0;height:100vh;padding:22px 16px 16px;display:flex;position:sticky;top:0;overflow:hidden}.workspace-brand{align-items:center;gap:11px;padding:0 8px 20px;display:flex}.workspace-brand-mark{color:#292d35;background:#f0f1f4;border:1px solid #ffffff2e;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-family:inherit;font-size:18px;font-weight:700;display:inline-grid}.workspace-brand div,.workspace-company div{min-width:0}.workspace-brand strong,.workspace-brand small,.workspace-company strong,.workspace-company small{display:block}.workspace-brand strong{letter-spacing:.08em;font-size:14px;font-weight:750}.workspace-brand small{color:#f4f3ed85;letter-spacing:.04em;margin-top:1px;font-size:10px}.workspace-company{background:#ffffff0e;border:1px solid #ffffff17;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:18px;padding:11px;display:grid}.workspace-company-avatar{color:#eff0f6;background:#555d73;border-radius:10px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-grid}.workspace-company strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.workspace-company small{color:#f4f3ed85;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.workspace-nav{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;flex:1;gap:15px;min-height:0;margin-right:-5px;padding-right:5px;display:flex;overflow-y:auto}.workspace-nav-section{gap:3px;display:grid}.workspace-nav-label{color:#f4f3ed5e;letter-spacing:.11em;padding:0 10px 5px;font-size:10px;font-weight:650}.workspace-nav-item,.workspace-quiet-button{font:inherit;cursor:pointer;border:0}.workspace-nav-item{color:#f4f3edad;text-align:left;background:0 0;border-radius:8px;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:7px 10px;font-size:13px;transition:color .16s,background .16s,transform .16s;display:grid}.workspace-nav-item:hover{color:#fff;background:#fff1}.workspace-nav-item.active{color:#f8f8f4;background:#dadde924;box-shadow:inset 2px 0 #aeb5cd}.workspace-nav-item svg{color:#dee1eb9e}.workspace-nav-item.active svg{color:#c7cce0}.workspace-sidebar-footer{border-top:1px solid #ffffff14;gap:4px;padding-top:14px;display:grid}.workspace-meta{gap:6px;padding:0 8px 8px;display:flex;overflow:hidden}.workspace-meta span{color:#f4f3ed57;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;overflow:hidden}.workspace-meta span+span:before{content:"·";margin-right:6px}.workspace-quiet-button{color:#f4f3ed94;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:7px 9px;font-size:12px;display:flex}.workspace-quiet-button:hover{color:#fff;background:#ffffff0f}.workspace-main{min-width:0;padding:0 28px 34px}.workspace-header{border-bottom:1px solid #7d829133;justify-content:space-between;align-items:flex-end;gap:24px;min-height:130px;padding:28px 4px 22px;display:flex}.workspace-eyebrow{color:var(--ops-accent);letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.workspace-header h1{color:var(--ops-ink);letter-spacing:-.025em;margin:0;font-family:inherit;font-size:clamp(27px,3vw,36px);font-weight:720;line-height:1.12}.workspace-header p{color:var(--ops-muted);margin:7px 0 0;font-size:13px}.workspace-status{justify-content:flex-end;align-items:center;gap:7px;padding-bottom:3px;display:flex}.workspace-year-select{color:#606672;background:#ffffffb3;border:1px solid #d9ded8;border-radius:9px;align-items:center;gap:5px;min-height:32px;padding:0 8px;display:inline-flex}.workspace-year-select select{min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0 18px 0 0;font-size:12px;font-weight:700}.workspace-account-button{color:#606672;min-height:32px;font:inherit;cursor:pointer;background:#ffffffb3;border:1px solid #d9ded8;border-radius:9px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.workspace-account-button:hover{color:#35604e;background:#edf4ef;border-color:#b9cec0}.self-account-modal .form-item input[readonly]{color:#656a73;cursor:default;background:#f3f3f1}.self-account-password-section{border-top:1px solid #ebe8e3;margin-top:18px;padding-top:16px}.self-account-password-heading{color:#606672;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;display:flex}.self-account-password-heading strong{font-weight:600}.workspace-status .database-badge,.workspace-status .save-badge{color:#606672;background:#ffffffb3;border-color:#d9ded8;border-radius:9px;min-height:32px;font-size:11px;box-shadow:0 1px 1px #24312b08}.workspace-status .database-badge small{color:#909993}.workspace-status .database-ready,.workspace-status .save-saved{color:#35604e;background:#edf4ef;border-color:#b9cec0}.workspace-status .database-saving,.workspace-status .database-loading,.workspace-status .save-saving{color:#87661e;background:#fbf6e9;border-color:#dfc99b}.workspace-status .database-error,.workspace-status .save-error{color:#9a4137;background:#fbefed;border-color:#e6b7b1}.workspace-content{min-width:0;padding-top:22px}.app-header{color:#f6f5f0;background:var(--ops-sidebar);min-height:72px;padding:16px 28px}.platform-header{background:#2b2e35}.container{padding:24px 28px}.card{background:#ffffffed;border:1px solid #d9dce2eb;border-radius:14px;margin-bottom:18px;padding:21px;box-shadow:0 8px 24px #20242b0a,0 1px 2px #20242b06}.compact-card{padding:15px 17px}.card h2{border-bottom-color:var(--ops-line-soft);color:var(--ops-ink);margin-bottom:17px;padding-bottom:10px;font-size:14px;font-weight:680}.sub-tabs,.modal-tabs{border:1px solid var(--ops-line-soft);box-shadow:none;background:#ffffffb8;border-radius:10px;padding:4px}.tab{color:var(--ops-soft);border-radius:7px}.tab:hover,.tab.active{color:var(--ops-accent-strong)}.sub-tabs .tab.active,.modal-tabs .tab.active{color:var(--ops-accent-strong);background:var(--ops-accent-soft)}.form-item>span,.summary-item .label{color:#7c8781;letter-spacing:.04em;font-size:10px;font-weight:700}.form-item input,.form-item select,.form-item textarea,.actions-bar select,.table-input{border-color:var(--ops-line);color:var(--ops-ink);background:#fafaf7;border-radius:8px}.form-item input:focus,.form-item select:focus,.form-item textarea:focus,.actions-bar select:focus,.table-input:focus{background:#fff;border-color:#7c849e;box-shadow:0 0 0 3px #5d66831c}.btn{border-radius:8px}.btn-primary{background:var(--ops-accent)}.btn-primary:hover{background:var(--ops-accent-strong)}.btn-outline{color:var(--ops-accent-strong);background:#ffffff8c;border-color:#cfd6d1}.btn-outline:hover{color:var(--ops-accent-strong);background:var(--ops-accent-soft);border-color:#9aa1b9}.count-badge,.city-badge{color:var(--ops-accent-strong);background:var(--ops-accent-soft)}.summary-item,.incentive-item,.penalty-card,.tenant-model div{border-color:var(--ops-line-soft);background:#f7f8f4}.summary-item strong,.employee-salary strong,.readonly-field strong{color:var(--ops-accent)}th{color:#68746d;letter-spacing:.02em;background:#f5f6f1;border-bottom-color:#dfe2da;font-size:11px}td{color:var(--ops-ink);border-bottom-color:#edece6}tr:hover td{background:#f2f6f3}.employee-item{border-color:var(--ops-line);border-radius:10px}.employee-item:hover{background:#f2f6f3;border-color:#9cb5a7}.invoice-drop-zone:hover,.invoice-drop-zone.active{color:var(--ops-accent-strong);background:var(--ops-accent-soft);border-color:#7c849e}button:focus-visible,input:focus-visible,select:focus-visible,.workspace-nav-item:focus-visible,.workspace-quiet-button:focus-visible{outline-color:#7c849e}.contract-management-page,.document-material-page{gap:14px;display:grid}.document-material-page .page-heading{justify-content:space-between;align-items:flex-end;display:flex}.document-material-page .eyebrow{color:#78827c;margin:0 0 3px;font-size:11px;font-weight:700}.document-material-page .page-heading h2{color:var(--ops-ink);margin:0;font-size:19px}.document-material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.document-material-card{border:1px solid var(--ops-line-soft);background:#ffffffed;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;display:grid;box-shadow:0 7px 22px #20242b09}.document-material-card-icon{color:#445b50;background:#edf4ef;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.employment-certificate-card-icon{color:#655a45;background:#f4f0e7}.document-material-card-body h3{color:var(--ops-ink);margin:0;font-size:14px}.document-material-card-body p{color:#89918d;margin:3px 0 0;font-size:12px}.account-credential-page{gap:14px;display:grid}.account-credential-page .page-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.account-credential-page .eyebrow{color:#78827c;margin:0 0 3px;font-size:11px;font-weight:700}.account-credential-page .page-heading h2{color:var(--ops-ink);margin:0;font-size:19px}.account-credential-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.account-credential-card{border:1px solid var(--ops-line-soft);background:#fffffff2;border-radius:8px;min-width:0;padding:15px;box-shadow:0 7px 22px #20242b09}.account-credential-card-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.account-credential-icon{color:#4d5f73;background:#edf1f5;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.account-credential-card h3{overflow-wrap:anywhere;color:var(--ops-ink);margin:1px 0 0;font-size:14px}.account-credential-title-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.account-credential-mode{color:#496557;white-space:nowrap;background:#edf4ef;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.account-credential-mode.wechat-mode{color:#45614d;background:#eaf3ec}.account-credential-card-head p{color:#858b88;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.compact-icon-button{border-radius:7px;width:32px;height:32px;min-height:32px;padding:0}.account-credential-link{color:#4b657d;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:100%;margin:12px 0 0 44px;font-size:12px;text-decoration:none;display:inline-flex;overflow:hidden}.account-credential-link:hover{text-decoration:underline}.account-credential-value-list{border-top:1px solid var(--ops-line-soft);gap:7px;margin-top:14px;padding-top:12px;display:grid}.account-credential-value{grid-template-columns:40px minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:34px;display:grid}.account-credential-value>span{color:#909590;font-size:12px}.account-credential-value code{color:#323a36;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;overflow:hidden}.account-credential-value .account-credential-password{color:#6f7571;letter-spacing:2px}.account-credential-modal{width:min(760px,100vw - 40px)}.account-credential-form .form-item-wide{grid-column:1/-1}.account-credential-form textarea{resize:vertical;min-height:68px}.account-credential-login-picker{flex-wrap:wrap;gap:8px;display:flex}.account-credential-login-option{border:1px solid var(--ops-line);color:#4f5752;cursor:pointer;background:#fafaf7;border-radius:7px;align-items:center;gap:8px;min-height:36px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.account-credential-login-option:has(input:checked){color:#345544;background:#edf4ef;border-color:#aac3b4}.account-credential-login-option input{accent-color:#526b5f;width:16px;height:16px;margin:0}.employment-certificate-modal{width:820px}.employment-certificate-picker{max-width:360px;margin-bottom:16px}.employment-certificate-preview{border:1px solid var(--ops-line-soft);color:#20231f;background:#fff;border-radius:6px;min-height:440px;padding:54px 64px;box-shadow:inset 0 0 0 1px #20231f05}.employment-certificate-preview h3{letter-spacing:0;text-align:center;margin:0 0 64px;font-size:27px}.employment-certificate-copy{gap:40px;font-size:16px;line-height:2.2;display:grid}.employment-certificate-copy p,.employment-certificate-signature p{margin:0}.employment-certificate-copy strong{font-weight:600}.employment-certificate-signature{justify-content:end;gap:12px;margin-top:96px;font-size:14px;line-height:1.8;display:grid}.employment-certificate-empty{border:1px dashed var(--ops-line);background:#fafbf8;border-radius:6px;place-items:center;min-height:440px;display:grid}.employment-certificate-warning{color:#b45309;margin:10px 0 0;font-size:12px}.contract-management-page .page-heading{justify-content:space-between;align-items:flex-end;display:flex}.contract-management-page .eyebrow{color:#78827c;margin:0 0 3px;font-size:11px;font-weight:700}.contract-management-page .page-heading h2{color:var(--ops-ink);margin:0;font-size:19px}.contract-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contract-management-card{border:1px solid var(--ops-line-soft);background:#ffffffed;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;display:grid;box-shadow:0 7px 22px #20242b09}.contract-management-card-icon,.legal-identity-source-icon{color:#445b50;background:#edf4ef;border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.business-license-card-icon{color:#675f48;background:#f3f0e6}.contract-management-card-body h3,.legal-identity-section-title h3{color:var(--ops-ink);margin:0;font-size:14px}.contract-management-card-body p{color:#89918d;margin:3px 0 0;font-size:12px}.legal-identity-modal{width:740px}.business-license-modal{width:680px}.legal-identity-source{border:1px solid var(--ops-line-soft);background:#f7f8f4;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.legal-identity-source-list{gap:8px;display:grid}.legal-identity-source strong,.legal-identity-source span,.legal-identity-source small{display:block}.legal-identity-source small{color:#7a837e;margin-bottom:2px;font-size:10px;font-weight:700}.legal-identity-source strong{color:var(--ops-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.legal-identity-source span{color:#89918d;margin-top:3px;font-size:11px}.legal-identity-source-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.company-address-item{grid-column:1/-1}.company-address-item textarea{resize:vertical;min-height:64px}.legal-identity-save-source{margin-left:auto}.legal-identity-updated-at{color:#919994;margin:0;font-size:11px;line-height:1.4}.legal-identity-share-form{margin-top:16px}.legal-identity-share-form>label{color:#6f7873;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.legal-identity-kind-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.legal-identity-kind-picker label{border:1px solid var(--ops-line);min-height:38px;color:var(--ops-ink);cursor:pointer;background:#fafaf7;border-radius:8px;align-items:center;gap:7px;padding:8px 10px;display:flex}.legal-identity-kind-picker label:has(input:checked){background:#edf4ef;border-color:#688577}.legal-identity-kind-picker label.disabled{color:#9da39f;cursor:default}.legal-identity-kind-picker input{accent-color:#4c7160;width:15px;height:15px;margin:0}.legal-identity-kind-picker span{font-size:12px;font-weight:650}.legal-identity-kind-picker small{color:#a1a6a3;margin-left:auto;font-size:10px}.legal-identity-share-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.legal-identity-share-control input{border:1px solid var(--ops-line);width:100%;min-height:38px;color:var(--ops-ink);font:inherit;background:#fafaf7;border-radius:8px;padding:8px 11px;font-size:13px}.legal-identity-share-control input:focus{border-color:#7c849e;outline:0;box-shadow:0 0 0 3px #5d66831c}.legal-identity-share-section{border-top:1px solid var(--ops-line-soft);margin-top:18px;padding-top:15px}.legal-identity-section-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.legal-identity-section-title .icon-button,.legal-identity-share-actions .icon-button{border-radius:7px;width:30px;height:30px}.legal-identity-share-list{gap:7px;max-height:330px;display:grid;overflow-y:auto}.legal-identity-share-row{border:1px solid var(--ops-line-soft);background:#fafaf7;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.legal-identity-share-main{min-width:0}.legal-identity-share-main>div{align-items:center;gap:8px;min-width:0;display:flex}.legal-identity-share-main strong{color:var(--ops-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.legal-identity-share-main small{color:#919994;margin-top:4px;font-size:11px;display:block}.legal-identity-share-item-list{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.legal-identity-share-item-list span{border-radius:5px;padding:2px 6px;font-size:10px;font-weight:650}.legal-identity-share-item-list .pending{color:#6d6250;background:#f0ece4}.legal-identity-share-item-list .downloaded{color:#557069;background:#e8efec}.legal-share-status{border-radius:5px;flex:none;padding:2px 6px;font-size:10px;font-weight:700}.legal-share-status.pending{color:#896413;background:#fbf1d8}.legal-share-status.downloaded{color:#35604e;background:#e8f3ec}.legal-share-status.partial{color:#5a5c75;background:#ebebf3}.legal-share-status.expired{color:#7a7f7c;background:#eceeec}.legal-identity-share-actions{gap:5px;display:inline-flex}.danger-icon-button:hover{color:#a33e35;background:#fbefed;border-color:#dfb5af}@media (width<=1080px){.account-credential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-shell{grid-template-columns:216px minmax(0,1fr)}.workspace-sidebar{padding-inline:12px}.workspace-main{padding-inline:20px}}@media (width<=820px){.workspace-shell{display:block}.workspace-sidebar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 18px;width:100%;height:auto;padding:12px 16px;display:grid;position:static}.workspace-brand{padding:0}.workspace-brand small,.workspace-company,.workspace-sidebar-footer,.workspace-nav-label{display:none}.workspace-nav{flex-direction:row;gap:4px;margin:0;padding:0 0 2px;overflow-x:auto}.workspace-nav-section{display:contents}.workspace-nav-item{white-space:nowrap;flex:none;gap:6px;min-height:36px;padding:7px 9px;display:flex}.workspace-nav-item.active{box-shadow:inset 0 -2px #aeb5cd}.workspace-main{padding:0 16px 26px}.workspace-header{align-items:flex-end;min-height:114px}}@media (width<=640px){.account-credential-page .page-heading{flex-direction:column;align-items:stretch}.account-credential-page .page-heading>.btn{width:100%}.account-credential-grid{grid-template-columns:1fr}.account-credential-form .form-item-wide{grid-column:auto}.workspace-sidebar{grid-template-columns:1fr}.workspace-brand{display:none}.workspace-header{flex-direction:column;align-items:flex-start;gap:14px;min-height:0;padding:22px 2px 18px}.workspace-header h1{font-size:30px}.workspace-header p{max-width:28em}.workspace-status{justify-content:flex-start;width:100%;overflow-x:auto}.workspace-content{padding-top:16px}.card{border-radius:12px;padding:16px}.contract-management-card,.document-material-card,.legal-identity-source{grid-template-columns:auto minmax(0,1fr)}.contract-management-grid,.document-material-grid{grid-template-columns:1fr}.contract-management-card>.btn,.document-material-card>.btn,.legal-identity-source>.btn{grid-column:1/-1;width:100%}.employment-certificate-preview{min-height:390px;padding:36px 28px}.employment-certificate-preview h3{margin-bottom:42px;font-size:23px}.employment-certificate-copy{font-size:14px}.employment-certificate-signature{margin-top:64px}.legal-identity-share-control,.legal-identity-kind-picker{grid-template-columns:1fr}.legal-identity-save-source{width:100%}.legal-identity-source-footer{flex-direction:column;align-items:stretch}}.login-page{color:#f5f6fa;background:radial-gradient(circle at 16% 10%,#5e678b47,#0000 32%),radial-gradient(circle at 84% 92%,#4d3f564d,#0000 30%),linear-gradient(145deg,#16181d 0%,#1b1d24 54%,#14161b 100%);place-items:center;min-height:100vh;padding:32px 18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";z-index:0;pointer-events:none;filter:blur(2px);opacity:0;border-radius:999px;transition:opacity .7s,transform 1s cubic-bezier(.22,1,.36,1);position:fixed;transform:scale(.82)}.login-page:before{background:#7b85ae17;width:360px;height:360px;top:-190px;left:-140px}.login-page:after{background:#7e678614;width:280px;height:280px;bottom:-150px;right:-130px}.login-page.has-selection:before,.login-page.has-selection:after{opacity:1;transform:scale(1)}.login-panel{z-index:1;width:min(620px,100%);display:grid;position:relative}.login-brand{gap:11px;max-height:180px;padding-bottom:26px;animation:.58s cubic-bezier(.22,1,.36,1) both login-brand-in;display:grid;overflow:hidden}.login-brand-mark{color:#d8dcef;letter-spacing:0;background:#ffffff12;border:1px solid #ffffff26;border-radius:10px;width:fit-content;padding:7px 10px;font-size:12px;font-weight:800}.login-title{color:#f7f7fa;letter-spacing:-.025em;max-width:14em;margin:0;font-family:inherit;font-size:40px;font-weight:750;line-height:1.12}.login-form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1f222ae6;border:1px solid #ffffff18;border-radius:18px;gap:15px;padding:24px;transition:box-shadow .5s,border-color .5s;display:grid;box-shadow:0 26px 80px #0000004d}.has-selection .login-form{border-color:#b2b9d633;box-shadow:0 30px 90px #0000005c}.login-company-picker{gap:11px;display:grid}.login-company-label{color:#c6c9d4;letter-spacing:.02em;font-size:13px;font-weight:700}.login-company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.login-company-choice{color:#e8e9ef;min-width:0;min-height:88px;font:inherit;text-align:left;cursor:pointer;background:#0c0e124d;border:1px solid #ffffff17;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:grid}.login-company-choice:hover:not(:disabled){background:#52587038;border-color:#bcc3de47;transform:translateY(-2px)}.login-company-icon{color:#cfd3e7;background:#aab2d31c;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.login-company-copy{min-width:0}.login-company-copy strong,.login-company-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.login-company-copy strong{color:#f6f6f9;font-size:14px;font-weight:700}.login-company-copy small,.login-company-loading{color:#8f94a3;margin-top:4px;font-size:11px}.login-company-loading{margin:4px 2px 0;display:block}.login-field{color:#aeb2bf;gap:7px;font-size:13px;font-weight:700;display:grid}.login-input-wrap{color:#aeb4ce;background:#0a0c1057;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:46px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:grid}.login-input-wrap:focus-within{background:#0c0e138c;border-color:#aeb6d785;box-shadow:0 0 0 3px #838db41f}.login-input-wrap input,.login-input-wrap select{color:#f4f5f8;width:100%;min-height:44px;font:inherit;background:0 0;border:0;outline:0;font-size:15px;font-weight:600}.login-credential{opacity:0;gap:15px;max-height:0;display:grid;overflow:hidden;transform:translateY(-10px)}.login-credential.show{opacity:1;max-height:300px;animation:.6s cubic-bezier(.22,1,.36,1) .38s both login-credential-in;transform:translateY(0)}.login-credential.show>*{opacity:0;animation:.42s cubic-bezier(.22,1,.36,1) both login-control-in;transform:translateY(10px)}.login-credential.show .login-account-field{animation-delay:.52s}.login-credential.show .login-password-field{animation-delay:.64s}.login-credential.show .login-credential-error{animation-delay:.7s}.login-credential.show .login-submit{animation-delay:.76s}.login-button{color:#fff;cursor:pointer;background:#737c9d;border:0;border-radius:10px;min-height:46px;font-size:15px;font-weight:800;transition:background .16s,transform .16s}.login-button:hover{background:#838cad;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;color:#777b88;background:#383c48;transform:none}.login-error{color:#fecaca;background:#7f1d1d38;border:1px solid #f8717142;border-radius:8px;padding:9px 11px;font-size:13px;font-weight:700}@keyframes login-brand-in{0%{opacity:0;max-height:0;padding-bottom:0;transform:translateY(16px)}to{opacity:1;max-height:180px;padding-bottom:26px;transform:translateY(0)}}@keyframes login-credential-in{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:300px;transform:translateY(0)}}@keyframes login-control-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-page:before,.login-page:after,.login-brand,.login-credential.show,.login-credential.show>*{transition:none;animation:none}.login-credential.show>*{opacity:1;transform:none}}@media (width<=520px){.login-page{place-items:start center;overflow-y:auto}.login-title{font-size:34px}.login-form{padding:18px}.login-company-grid{grid-template-columns:1fr}}
