:root{color:#142033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #2563eb}#root{min-height:100vh}.app-shell{--bg:#f5f7fb;--bg-soft:#eef5f7;--surface:#fff;--surface-raised:#fffffff5;--surface-muted:#f8fafc;--border:#d8e1ec;--border-soft:#e8eef5;--text:#172033;--text-muted:#667386;--text-subtle:#8a97a8;--primary:#2563eb;--primary-strong:#1d4ed8;--teal:#0f8b7d;--teal-strong:#0f766e;--amber:#b45309;--red:#c02626;--violet:#6d42c7;--shadow-sm:0 1px 2px #1420330d;--shadow-md:0 14px 34px #14203314;--shadow-lg:0 22px 52px #1420331c;--radius:8px;--radius-sm:6px;color:var(--text);background:linear-gradient(180deg, #ffffffd1, #f5f7fb00 260px), linear-gradient(90deg, #e7f3f5e6, #f5f7fb00 360px), var(--bg);grid-template-columns:240px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg, #fff, #fbfdff 46%, #f7fafc), var(--surface);flex-direction:column;height:100vh;padding:18px 12px 14px;transition:padding .18s;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:2px 8px 18px;transition:gap .18s,padding .18s;display:flex}.brand-mark{isolation:isolate;color:#fff;background:radial-gradient(circle at 28% 18%,#ffffff57,#0000 31%),linear-gradient(140deg,#0f766e 0%,#165fc5 55%,#102a63 100%);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 28px #0f2a6338,inset 0 1px #ffffff42}.brand-mark:after{z-index:0;content:"";background:linear-gradient(135deg,#ffffff38,#0000 38%),radial-gradient(circle at 78% 88%,#84f5df42,#0000 32%);position:absolute;inset:0}.brand-mark svg{z-index:1;width:30px;height:30px;display:block;position:relative}.auth-gate-panel .brand-mark{border-radius:16px;width:58px;height:58px;box-shadow:0 18px 38px #0f2a633d,inset 0 1px #ffffff4d}.auth-gate-panel .brand-mark svg{width:42px;height:42px}.brand strong,.account strong{color:var(--text);font-size:16px;font-weight:700;line-height:1.25;display:block}.brand span,.account span{color:var(--text-muted);font-size:12px;line-height:1.5;display:block}.nav-list{gap:6px;padding-top:18px;display:grid}.nav-item,.collapse-button,.secondary-button,.primary-button,.icon-button,.period-select,.feishu-auth,.link-button{border:0;text-decoration:none}.nav-item{color:#3b475a;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:12px;min-height:44px;padding:0 12px;transition:background .16s,color .16s,box-shadow .16s;display:flex;position:relative}.nav-item svg,.collapse-button svg{flex:none}.nav-item:hover{background:#f0f6f8}.nav-item.active{box-shadow:inset 3px 0 0 var(--teal);color:var(--teal-strong);background:#e4f4f2;font-weight:700}.nav-item em{color:#fff;text-align:center;background:#e5484d;border-radius:5px;min-width:22px;margin-left:auto;font-size:11px;font-style:normal;font-weight:700;line-height:20px}.sidebar-footer{border-top:1px solid var(--border-soft);gap:12px;margin-top:auto;padding-top:18px;display:grid}.collapse-button{min-height:40px;color:var(--text-subtle);text-align:left;background:0 0;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:background .16s,color .16s;display:flex}.collapse-button:hover{color:var(--primary);background:#f0f6f8}.sidebar-collapsed .sidebar{padding:18px 8px 14px}.sidebar-collapsed .brand{justify-content:center;gap:0;padding:2px 0 18px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item span,.sidebar-collapsed .collapse-button span,.sidebar-collapsed .sidebar-footer .nav-item svg:last-child{display:none}.sidebar-collapsed .nav-list{gap:8px}.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:0}.sidebar-collapsed .nav-item em{color:#0000;width:8px;min-width:8px;height:8px;font-size:0;line-height:8px;position:absolute;top:8px;right:8px;overflow:hidden}.sidebar-collapsed .collapse-button{justify-content:center;padding:10px 0}.workspace{min-width:0}.topbar{z-index:4;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.period-picker{align-items:center;gap:8px;min-width:0;display:inline-flex}.period-select{border:1px solid var(--border);width:min(420px,48vw);height:42px;box-shadow:var(--shadow-sm);color:#243049;background:#fff;border-radius:6px;min-width:260px;padding:0 12px;font-size:14px;font-weight:700;display:block}.period-readonly-pill{color:#385477;background:#f1f6fc;border:1px solid #c8d7ea;border-radius:999px;padding:0 7px;font-size:11px;font-weight:760;line-height:18px}.topbar-actions{align-items:center;gap:12px;display:flex}.icon-button{border:1px solid var(--border);width:36px;height:36px;box-shadow:var(--shadow-sm);color:#344256;background:#fff;border-radius:6px;place-items:center;transition:border-color .16s,color .16s,transform .16s;display:grid;position:relative}.icon-button:hover,.period-select:hover,.feishu-auth:hover{color:var(--primary);border-color:#b8c8dc}.icon-button.has-dot:after{content:"3";color:#fff;background:#e5484d;border-radius:999px;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-5px;right:-4px}.feishu-auth{box-shadow:var(--shadow-sm);color:#1f62cf;background:linear-gradient(#f6f9ff,#edf4ff);border:1px solid #b9cdf8;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:700;display:inline-flex}.account{border-left:1px solid var(--border);align-items:center;gap:10px;padding-left:14px;display:flex}.avatar{width:32px;height:32px;color:var(--primary);background:linear-gradient(145deg,#e8f0ff,#d8fbf5);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.avatar.large{flex:0 0 52px;width:52px;height:52px;font-size:20px}.notice-row{box-shadow:var(--shadow-sm);color:var(--teal-strong);background:linear-gradient(90deg,#e2f8f4f5,#fffffff5),#f2fbf9;border:1px solid #bfddd8;border-radius:7px;align-items:center;gap:8px;margin:16px 28px 0;padding:10px 12px;font-size:13px;font-weight:650;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px;padding:16px 28px 0;display:grid}.dashboard-grid-single{grid-template-columns:minmax(0,1fr);padding-bottom:28px}.hidden-view{display:none!important}.panel,.detail-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-width:0;box-shadow:var(--shadow-md)}.progress-panel{background:linear-gradient(180deg, #fff, #fbfdff), var(--surface);padding:18px}.employee-flow-grid{grid-template-columns:minmax(0,1fr) 340px;gap:16px;padding:16px 28px 28px;display:grid}.todo-grid,.cycle-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:16px 28px 28px;display:grid}.settings-grid{grid-template-columns:minmax(0,1fr) 340px;gap:16px;padding:16px 28px 28px;display:grid}.todo-main-panel,.todo-side-panel,.cycle-main-panel,.cycle-side-panel,.settings-main-panel,.settings-side-panel{padding:18px}.todo-summary-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.todo-stat-card{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;align-content:space-between;gap:8px;min-height:88px;padding:12px;display:grid}.todo-stat-card.focus{background:#eefbf8;border-color:#b9e4dc}.todo-stat-card.alert{background:#fff7f7;border-color:#fecaca}.todo-stat-card span,.todo-stat-card small{color:var(--text-muted);font-size:12px;font-weight:700}.todo-stat-card strong{color:var(--text);font-size:26px;font-weight:800;line-height:1}.todo-stat-card.alert strong{color:var(--red)}.todo-filter-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.todo-filter-row button{border:1px solid var(--border);color:#3b475a;background:#fff;border-radius:6px;align-items:center;gap:8px;min-height:34px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.todo-filter-row button.active{color:var(--teal-strong);background:#e9f8f5;border-color:#b9e4dc}.todo-filter-row em{color:#526174;text-align:center;background:#edf2f7;border-radius:5px;min-width:22px;font-size:11px;font-style:normal;line-height:20px}.todo-filter-row button.active em{color:#0f766e;background:#ccece6}.todo-toolbar{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px;display:flex}.todo-search{flex:260px;min-width:220px}.todo-toolbar>label:not(.search-box){gap:5px;display:grid}.todo-toolbar>label:not(.search-box) span{color:var(--text-muted);font-size:12px;font-weight:700}.todo-toolbar select{min-width:138px;height:36px}.todo-toolbar>span{color:var(--text-muted);margin-left:auto;font-size:12px;font-weight:760}.todo-list{gap:10px;margin-top:14px;display:grid}.todo-item{border:1px solid var(--border-soft);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.todo-item.overdue{background:snow;border-color:#fecaca}.todo-item-main{min-width:0}.todo-item-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.todo-item-head>span:last-child{color:var(--text-subtle);font-size:12px;font-weight:700}.todo-type,.todo-overdue{border-radius:5px;align-items:center;padding:5px 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.todo-type.blue{color:#1f62cf;background:#edf4ff}.todo-type.amber{color:#b45309;background:#fff8eb}.todo-type.red,.todo-overdue{color:#c02626;background:#fff1f1}.todo-type.violet{color:#6d42c7;background:#f5f1ff}.todo-type.teal{color:#0f766e;background:#eefbf8}.todo-type.gray{color:#5d6877;background:#f4f6f8}.todo-item strong{color:var(--text);font-size:15px;line-height:1.4;display:block}.todo-item p{margin-top:5px}.todo-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.todo-meta>span:not(.status-chip){color:#5d6877;background:#f4f7fa;border-radius:5px;padding:5px 7px;font-size:12px;font-weight:700}.empty-todo-state{border:1px dashed var(--border);min-height:180px;color:var(--text-subtle);text-align:center;background:#fbfdff;border-radius:8px;place-items:center;gap:8px;display:grid}.empty-todo-state strong{color:var(--text);font-size:15px}.empty-todo-state span{color:var(--text-muted);font-size:13px}.todo-pagination{border:1px solid var(--border-soft);border-radius:8px;margin-top:10px;padding:10px 12px}.period-card-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.period-stat-card{border:1px solid var(--border-soft);min-height:92px;box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbfcfe),#fff;border-radius:7px;padding:14px}.period-stat-card span,.period-summary-grid dt,.period-item-metrics span{color:var(--text-muted);font-size:12px;font-weight:700}.period-stat-card strong{color:var(--text);margin-top:8px;font-size:22px;line-height:1.15;display:block}.period-stat-card small{color:var(--text-subtle);margin-top:8px;font-size:12px;display:block}.new-period-panel{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:#f8fbfe;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:end;gap:14px;margin-top:16px;padding:16px 0;display:grid}.new-period-copy h3{color:var(--text);margin:0;font-size:16px;font-weight:780}.new-period-copy p{margin-top:7px}.new-period-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.new-period-controls label{gap:7px;display:grid}.new-period-controls input{width:100%}.new-period-rule-list{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.new-period-rule-list span{color:#31566a;background:#eef6f7;border-radius:999px;padding:0 9px;font-size:12px;font-weight:760;line-height:24px}.period-list{gap:10px;margin-top:16px;display:grid}.period-item{border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);color:inherit;text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:14px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.period-item-history{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr) auto}.period-item:hover,.period-item.active{border-color:#9fc4d5;box-shadow:0 12px 26px #0f766e1a}.period-item.active{background:linear-gradient(#fff,#f6fbfb)}.period-item-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.period-item-head strong{color:var(--text);font-size:16px;line-height:1.3}.period-item-main p{margin-top:6px}.period-type-chip{color:#2454a6;background:#eff6ff;border-radius:999px;padding:0 8px;font-size:12px;font-weight:760;line-height:22px}.period-type-chip.current{color:var(--teal-strong);background:#e4f4f2}.period-item-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.period-item-metrics span{text-align:center;background:#f5f8fb;border-radius:6px;min-height:34px;padding:9px 8px}.period-item-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.period-item-actions .secondary-button{white-space:nowrap;height:34px;padding:0 10px}.empty-period-state{border:1px dashed var(--border);min-height:168px;color:var(--text-subtle);text-align:center;background:#fbfdff;border-radius:8px;place-items:center;gap:8px;display:grid}.empty-period-state strong{color:var(--text);font-size:15px}.empty-period-state span{color:var(--text-muted);font-size:13px}.cycle-side-panel{align-self:start;position:sticky;top:84px}.cycle-side-section+.cycle-side-section{border-top:1px solid var(--border-soft);margin-top:16px;padding-top:16px}.period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.period-summary-grid div{border:1px solid var(--border-soft);background:#fbfdff;border-radius:7px;padding:10px}.period-summary-grid dt,.period-summary-grid dd{margin:0}.period-summary-grid dd{color:var(--text);margin-top:6px;font-size:15px;font-weight:800}.period-action-stack{gap:10px;margin-top:14px;display:grid}.todo-side-panel{align-self:start;position:sticky;top:84px}.todo-side-section+.todo-side-section{border-top:1px solid var(--border-soft);margin-top:16px;padding-top:16px}.todo-stage-list,.todo-priority-list{gap:10px;display:grid}.todo-stage-row{gap:7px;display:grid}.todo-stage-row>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.todo-stage-row strong,.todo-priority-list span{color:#344256;font-size:12px;font-weight:750}.todo-stage-row span{color:var(--text-subtle);font-size:12px;font-weight:700}.todo-stage-row i{background:#eef2f7;border-radius:999px;height:6px;display:block;overflow:hidden}.todo-stage-row b{border-radius:inherit;background:#6fb7aa;height:100%;display:block}.todo-priority-list button{border:1px solid var(--border-soft);text-align:left;background:#fff;border-radius:7px;gap:4px;padding:10px;display:grid}.todo-priority-list button:hover{background:#f8fcfb;border-color:#b9d7d2}.todo-priority-list strong{color:var(--text);font-size:13px}.todo-priority-list p{color:var(--text-muted)}.employee-main-panel,.employee-action-panel{padding:18px}.employee-task-hero{background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 100%),#fff;border:1px solid #cddbeb;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px;padding:18px;display:grid}.employee-task-hero.blue{background:linear-gradient(135deg,#f7fbff 0%,#edf5ff 100%),#fff;border-color:#b7cef9}.employee-task-hero.amber{background:linear-gradient(135deg,#fffaf0 0%,#fff4d8 100%),#fff;border-color:#f2cf86}.employee-task-hero.teal{background:linear-gradient(135deg,#f3fcfa 0%,#e8f7f4 100%),#fff;border-color:#a8ddd2}.employee-task-hero.red{background:linear-gradient(135deg,#fff7f7 0%,#fff0f0 100%),#fff;border-color:#f4b8b8}.employee-task-hero.muted{background:linear-gradient(135deg,#fbfdff 0%,#f3f6fa 100%),#fff;border-color:#d8e2ef}.employee-task-copy{min-width:0}.employee-task-copy span,.employee-action-guide span{color:#667386;font-size:12px;font-weight:800}.employee-task-copy h2{color:var(--text);letter-spacing:0;margin:6px 0 0;font-size:22px;line-height:1.25}.employee-task-copy p,.employee-action-guide p{color:#536174;margin:8px 0 0;font-size:13px;line-height:1.55}.employee-task-action{text-align:right;border-left:1px solid #7c8fa43d;justify-items:end;gap:6px;min-width:180px;padding-left:18px;display:grid}.employee-task-action strong{color:var(--text);font-size:15px}.employee-task-action small{color:var(--text-muted);font-size:12px;line-height:1.45}.employee-task-card-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.employee-task-card{border:1px solid var(--border-soft);background:#fff;border-radius:8px;gap:6px;min-width:0;padding:12px;display:grid}.employee-task-card span{color:#667386;font-size:12px;font-weight:750}.employee-task-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.25;overflow:hidden}.employee-task-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;overflow:hidden}.employee-stage-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.employee-stage{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:7px;gap:7px;min-width:0;padding:12px;display:grid}.employee-stage span{color:#667386;background:#fff;border:1px solid #cbd5e1;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.employee-stage.active span,.employee-stage.done span{border-color:var(--teal);background:var(--teal);color:#fff}.employee-stage strong{color:#263246;font-size:13px}.employee-stage small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.employee-metric-section{gap:10px;margin-top:16px;display:grid}.employee-metric-toolbar{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.employee-metric-toolbar strong,.employee-metric-toolbar span{display:block}.employee-metric-toolbar strong{color:var(--text);font-size:15px}.employee-metric-toolbar span{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.45}.employee-metric-toolbar small{color:#536174;background:#f8fbfe;border:1px solid #cddbeb;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:750}.employee-metric-list{border:1px solid var(--border);border-radius:8px;gap:0;display:grid;overflow:hidden}.employee-metric-head,.employee-metric-row{grid-template-columns:minmax(240px,1.35fr) minmax(130px,.65fr) minmax(190px,.85fr) minmax(160px,.75fr);align-items:stretch;gap:14px;display:grid}.employee-metric-head{color:#536174;background:#f8fbfe;padding:12px 14px;font-size:12px;font-weight:750}.employee-metric-row{border-top:1px solid var(--border-soft);background:#fff;padding:14px}.employee-metric-row>div,.employee-metric-row label{min-width:0}.employee-metric-row strong{color:#172033;font-size:14px;line-height:1.35;display:block}.employee-metric-row span,.employee-metric-row small{color:var(--text-muted);margin-top:5px;font-size:12px;line-height:1.45;display:block}.employee-metric-row p{margin-top:8px}.employee-metric-row b{color:var(--teal);font-size:14px;display:block}.employee-metric-row label{align-content:start;gap:7px;display:grid}.employee-metric-row label>span{color:var(--text-muted);font-size:12px;font-weight:650}.employee-result-cell{align-content:start;gap:5px;display:grid}.employee-result-cell>span{color:var(--text-muted);font-size:12px;font-weight:650}.employee-action-panel{align-self:start;position:sticky;top:84px}.employee-action-guide{background:#f8fbfe;border:1px solid #d8e2ef;border-radius:8px;gap:6px;margin-bottom:14px;padding:14px;display:grid}.employee-action-guide.blue{background:#f4f8ff;border-color:#b7cef9}.employee-action-guide.amber{background:#fff9ec;border-color:#f2cf86}.employee-action-guide.teal{background:#f2fbf8;border-color:#a8ddd2}.employee-action-guide.red{background:#fff5f5;border-color:#f4b8b8}.employee-action-guide strong{color:var(--text);font-size:15px}.employee-action-block{border:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;padding:14px}.employee-action-block+.employee-action-block{margin-top:14px}.employee-summary-list{gap:9px;margin:0 0 12px;display:grid}.employee-summary-list div{border-top:1px solid var(--border-soft);justify-content:space-between;padding-top:9px;display:flex}.employee-summary-list div:first-child{border-top:0;padding-top:0}.employee-summary-list dt,.employee-summary-list dd{color:var(--text-muted);margin:0;font-size:13px}.employee-summary-list dd{color:var(--teal);text-align:right;font-weight:750}.signature-field{gap:7px;display:grid}.signature-pad{touch-action:none;background:linear-gradient(#fff,#fbfdff),#fff;border:1px dashed #b8c8dc;border-radius:7px;width:100%;height:128px}.signature-pad.locked{background:#f8fafc;border-style:solid}.employee-action-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.employee-action-row.three{grid-template-columns:1fr 1fr 1fr}.employee-action-hint{border-top:1px solid var(--border-soft);color:var(--text-muted);margin:9px 0 0;padding-top:9px;font-size:12px;line-height:1.5}.employee-fill-count{align-items:baseline;gap:5px;margin-bottom:12px;display:flex}.employee-fill-count strong{color:var(--teal);font-size:34px;line-height:1}.employee-fill-count span{color:var(--text-muted);font-size:13px;font-weight:700}.result-summary-list{margin-bottom:10px}.employee-result-note{color:var(--text-muted);background:#f8fbfe;border:1px dashed #c9d6e6;border-radius:7px;margin:0 0 12px;padding:10px;font-size:13px;line-height:1.5}.result-signature-field{margin-top:10px}.employee-objection-field{gap:7px;margin-top:10px;display:grid}.employee-objection-field>span{color:var(--text-muted);font-size:12px;font-weight:650}.employee-objection-box{background:#fff7f7;border:1px solid #fecaca;border-radius:8px;gap:5px;margin-top:10px;padding:10px;display:grid}.employee-objection-box.resolved{background:#f0fbf8;border-color:#b9e4dc}.employee-objection-box strong{color:#b42318;font-size:13px}.employee-objection-box.resolved strong{color:#0f766e}.employee-objection-box span,.employee-objection-box p{color:#6b7280;margin:0;font-size:12px;line-height:1.45}.employee-exception-banner{color:#b45309;background:#fffbf3;border:1px solid #f4cf98;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.employee-exception-banner.resolved{color:#0f766e;background:#f0fbf8;border-color:#b9e4dc}.employee-exception-banner strong,.employee-exception-banner span,.employee-exception-banner small{display:block}.employee-exception-banner strong{color:var(--text);font-size:13px;font-weight:800}.employee-exception-banner span,.employee-exception-banner small{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.5}.auth-gate-shell{background:linear-gradient(#ffffffdb,#f5f7fbeb),linear-gradient(90deg,#e2f8f4c7,#edf4ffa3);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-gate-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);width:min(420px,100%);box-shadow:var(--shadow-lg);justify-items:start;gap:14px;padding:28px;display:grid}.auth-gate-panel h1{margin:4px 0 0;font-size:24px;line-height:1.25}.auth-gate-panel p{color:var(--text-muted);margin:0;line-height:1.7}.auth-gate-panel>span{color:var(--text-subtle);font-size:13px}.feishu-auth.large{justify-content:center;min-height:42px;padding:0 14px}.section-heading,.table-toolbar,.sync-title,.card-title{align-items:center;display:flex}.section-heading{justify-content:space-between;gap:18px}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.section-heading>div,.dashboard-grid>*,.content-grid>*,.todo-grid>*,.cycle-grid>*{min-width:0}h1,h2,h3,p{margin:0}h1{color:var(--text);font-size:20px;font-weight:780;line-height:1.3}h2{color:var(--text);font-size:18px;font-weight:780;line-height:1.35}h3{color:var(--text);font-size:15px;font-weight:760;line-height:1.35}p{color:var(--text-muted);font-size:13px;line-height:1.55}.secondary-button,.primary-button{border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.secondary-button{border:1px solid var(--border);box-shadow:var(--shadow-sm);color:#344256;background:linear-gradient(#fff,#f9fbfd)}.secondary-button:hover{color:var(--primary);background:#fff;border-color:#b8c8dc}.primary-button{background:linear-gradient(180deg, #3472f2, var(--primary));color:#fff;box-shadow:0 10px 22px #2563eb38}.primary-button:hover{background:linear-gradient(180deg, #2563eb, var(--primary-strong))}.secondary-button:disabled,.primary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.62}.metric-row{grid-template-columns:minmax(148px,1fr) minmax(148px,1fr) minmax(220px,1.25fr);gap:14px;min-width:0;margin-top:16px;display:grid}.metric-box{border:1px solid var(--border-soft);min-height:96px;box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbfcfe),#fff;border-radius:7px;padding:16px}.metric-box span,.score-card span,label span{color:var(--text-muted);font-size:12px;font-weight:650;line-height:1.3;display:block}.metric-box strong{color:var(--text);margin-top:10px;font-size:28px;line-height:1;display:block}.metric-box small{color:var(--text-subtle);margin-top:8px;font-size:12px;display:block}.ring-box{align-items:center;gap:14px;display:flex}.ring{--rate:50;background:radial-gradient(#fff 58%, transparent 59%), conic-gradient(var(--teal) calc(var(--rate) * 1%), #e6edf5 0);border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.ring b{color:var(--teal);font-size:12px}.pipeline{border:1px solid var(--border-soft);background:#fbfdff;border-radius:7px;grid-column:span 1;grid-template-columns:repeat(5,minmax(116px,1fr));gap:10px;margin-top:16px;padding:16px;display:grid}.dashboard-flow-card{border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;margin-top:14px;padding:14px}.dashboard-card-head,.dashboard-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dashboard-card-head h3,.dashboard-section-head h3{color:var(--text);margin:0;font-size:15px;line-height:1.25}.dashboard-card-head p,.dashboard-section-head p{color:var(--text-muted);margin:5px 0 0;font-size:12px;line-height:1.45}.dashboard-card-head>span{color:var(--teal-strong);background:#eef6f7;border-radius:999px;flex:none;padding:0 10px;font-size:12px;font-weight:800;line-height:26px}.dashboard-flow-card .pipeline{background:0 0;border:0;margin-top:14px;padding:0}.dashboard-section-head{border-top:1px solid var(--border-soft);margin-top:18px;padding-top:16px}.pipeline-step{text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.pipeline-step:not(:last-child):after{content:"";background:#b8c4d2;height:1px;position:absolute;top:17px;left:calc(50% + 20px);right:calc(20px - 50%)}.pipeline-step:nth-child(5):after{display:none}.step-index{z-index:1;color:#667386;background:#fff;border:1px solid #b8c4d2;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid;position:relative}.step-index.active{border-color:var(--teal);background:var(--teal);color:#fff}.pipeline-step strong{color:#344256;font-size:13px}.pipeline-step span{color:#7b8798;font-size:12px}.dashboard-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.dashboard-risk-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.dashboard-kpi-card,.risk-card,.insight-card{border:1px solid var(--border-soft);min-width:0;box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px}.dashboard-kpi-card,.risk-card{align-content:space-between;gap:8px;min-height:88px;padding:12px;display:grid}.dashboard-kpi-card span,.risk-card span,.risk-card small,.distribution-row span,.department-dashboard-head span,.bonus-dashboard-grid dt,.focus-list span,.focus-list small,.top-score-list>span{color:var(--text-muted);font-size:12px;font-weight:700}.dashboard-kpi-card strong,.risk-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:24px;line-height:1;overflow:hidden}.dashboard-kpi-card small{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.risk-card.amber{background:#fffaf0;border-color:#fde3b4}.risk-card.blue{background:#f4f8ff;border-color:#c7dcff}.risk-card.violet{background:#f8f5ff;border-color:#ddd0fe}.risk-card.red{background:#fff7f7;border-color:#fecaca}.risk-card.teal{background:#f1fbf8;border-color:#b9e4dc}.risk-card.red strong{color:var(--red)}.risk-card.teal strong{color:var(--teal)}.dashboard-insight-grid{grid-template-columns:minmax(230px,.95fr) minmax(300px,1.25fr) minmax(240px,1fr);align-items:start;gap:12px;margin-top:14px;display:grid}.insight-card{padding:14px}.score-distribution-card{grid-area:1/1}.department-card{grid-area:1/2/span 2}.bonus-dashboard-card{grid-area:2/1}.focus-dashboard-card{grid-area:1/3/span 2}.distribution-list,.department-dashboard-list,.focus-list,.top-score-list{gap:10px;display:grid}.distribution-row{gap:7px;display:grid}.distribution-row>div,.department-dashboard-head,.top-score-list button{justify-content:space-between;align-items:center;gap:10px;display:flex}.distribution-row strong,.department-dashboard-head strong,.focus-list strong,.top-score-list strong{color:#2d3a4d;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.distribution-row i,.department-dashboard-list i{background:#edf2f7;border-radius:999px;height:8px;display:block;overflow:hidden}.distribution-row b,.department-dashboard-list b{border-radius:inherit;height:100%;display:block}.distribution-row b.teal,.department-dashboard-list b{background:#0f8b7d}.distribution-row b.blue{background:#2563eb}.distribution-row b.amber{background:#d97706}.distribution-row b.red{background:#dc2626}.distribution-row b.gray{background:#94a3b8}.department-dashboard-list button,.focus-list button,.top-score-list button{border:1px solid var(--border-soft);text-align:left;background:#fff;border-radius:7px;gap:8px;min-width:0;padding:10px;display:grid}.department-dashboard-list button:hover,.focus-list button:hover,.top-score-list button:hover{background:#f8fcfb;border-color:#bdd6d2}.department-dashboard-list dl,.bonus-dashboard-grid{gap:8px;margin:0;display:grid}.department-dashboard-list dl{grid-template-columns:repeat(4,minmax(0,1fr))}.department-dashboard-list dl div,.bonus-dashboard-grid div{background:#f7fafc;border-radius:6px;min-width:0;padding:8px}.department-dashboard-list dt,.department-dashboard-list dd,.bonus-dashboard-grid dt,.bonus-dashboard-grid dd{margin:0}.department-dashboard-list dt,.department-dashboard-list dd{font-size:12px}.department-dashboard-list dt{color:var(--text-subtle);font-weight:700}.department-dashboard-list dd,.bonus-dashboard-grid dd{color:var(--text);margin-top:4px;font-weight:800}.bonus-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-dashboard-grid dd{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.focus-list button{grid-template-columns:minmax(72px,.45fr) minmax(0,1fr);align-items:center;position:relative}.focus-list button.manual-focus{background:#fffaf0;border-color:#f2c46d}.focus-list button.manual-focus strong{padding-right:72px}.focus-list small{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.focus-list em{color:#a15c07;background:#fff1d6;border-radius:999px;padding:0 7px;font-size:11px;font-style:normal;font-weight:800;line-height:20px;position:absolute;top:9px;right:9px}.focus-list p,.top-score-list p{border:1px dashed var(--border);text-align:center;background:#fbfdff;border-radius:7px;padding:14px}.top-score-list{border-top:1px solid var(--border-soft);margin-top:14px;padding-top:12px}.top-score-list button{grid-template-columns:minmax(0,1fr) auto}.top-score-list em{color:var(--teal);font-size:12px;font-style:normal;font-weight:800}.sync-panel{border-top:3px solid var(--teal);padding:18px}.sync-title{color:var(--text);gap:8px}.sync-panel p{margin-top:12px}.sync-panel dl{gap:10px;margin:18px 0 0;display:grid}.sync-panel dl div{border-top:1px solid var(--border-soft);justify-content:space-between;padding-top:10px;display:flex}.sync-panel dt,.sync-panel dd{color:var(--text-muted);margin:0;font-size:13px}.sync-panel dd{color:var(--teal);font-weight:700}.sync-actions{gap:8px;margin-top:16px;display:grid}.sheet-import-block{border-top:1px solid var(--border-soft);gap:10px;margin-top:16px;padding-top:14px;display:grid}.sheet-import-title{color:var(--text);align-items:center;gap:8px;display:flex}.sheet-url-field{gap:7px;display:grid}.sheet-url-input{border:1px solid var(--border);min-width:0;height:38px;color:var(--text-subtle);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:0 10px;transition:border-color .16s,box-shadow .16s;display:flex}.sheet-url-input:focus-within{border-color:#9bb9ef;box-shadow:0 0 0 3px #2563eb1a}.sheet-url-input input{background:0 0;border:0;width:100%;min-width:0;height:auto;padding:0}.sheet-preview{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet-preview div{background:#f8fbfe;border:1px solid #dce7f1;border-radius:6px;min-width:0;padding:9px 10px}.sheet-preview.warning div{background:#fff8eb;border-color:#f7d8a8}.sheet-preview span{color:var(--text-muted);font-size:12px;font-weight:650;display:block}.sheet-preview strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;display:block;overflow:hidden}.sheet-import-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sync-reset{margin-top:8px}.settings-linkage-section.sync-panel{border-top:1px solid var(--border-soft);padding:16px 0 0}.settings-linkage-section .sync-title{align-items:center;display:flex}.settings-linkage-section dl{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-linkage-section dl div{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;justify-content:stretch;gap:6px;padding:12px;display:grid}.settings-linkage-section .sync-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.settings-linkage-section .sheet-import-block{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:end}.settings-linkage-section .sheet-import-title,.settings-linkage-section .sheet-url-field,.settings-linkage-section .sheet-preview{grid-column:auto}.settings-linkage-section .sheet-import-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(160px,220px))}.content-grid{grid-template-columns:minmax(0,1fr) 520px;gap:16px;padding:16px 28px 28px;display:grid}.content-grid.detail-collapsed{grid-template-columns:minmax(0,1fr)}.table-panel{min-width:0}.table-toolbar{border-bottom:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 14px}.table-toolbar>div:first-child{flex:260px;min-width:0}.table-toolbar h2{white-space:nowrap}.table-toolbar span{color:var(--text-muted);font-size:13px;font-weight:650}.toolbar-controls{flex-wrap:wrap;flex:420px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.toolbar-controls label{position:relative}.toolbar-controls label>span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.module-workspace-panel{border-bottom:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;gap:12px;padding:14px 18px;display:grid}.module-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.module-summary-card{border:1px solid var(--border-soft);min-height:92px;box-shadow:var(--shadow-sm);color:inherit;text-align:left;background:#fff;border-radius:8px;align-content:space-between;gap:8px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.module-summary-card:hover{border-color:#b8c8dc;transform:translateY(-1px);box-shadow:0 12px 24px #14203314}.module-summary-card.blue{background:#f4f8ff;border-color:#c7dcff}.module-summary-card.amber{background:#fffaf0;border-color:#fde3b4}.module-summary-card.teal{background:#f1fbf8;border-color:#b9e4dc}.module-summary-card.red{background:#fff7f7;border-color:#fecaca}.module-summary-card.violet{background:#f8f5ff;border-color:#ddd0fe}.module-summary-card.gray{background:#f8fafc}.module-summary-card span,.module-summary-card small{color:var(--text-muted);font-size:12px;font-weight:700}.module-summary-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1.1;overflow:hidden}.roster-filter-panel{border-bottom:1px solid var(--border);background:#fbfdff;gap:10px;padding:12px 18px;display:grid}.quick-filter-row,.active-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-filter-row button{border:1px solid var(--border);color:#3b475a;background:#fff;border-radius:6px;align-items:center;gap:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:750;display:inline-flex}.quick-filter-row button.active{color:var(--teal-strong);background:#e9f8f5;border-color:#b9e4dc}.quick-filter-row em{color:#526174;text-align:center;background:#edf2f7;border-radius:5px;min-width:22px;font-size:11px;font-style:normal;line-height:20px}.quick-filter-row button.active em{color:#0f766e;background:#ccece6}.active-filter-row{min-height:28px}.active-filter-row.empty{color:var(--text-subtle);font-size:12px;font-weight:700}.filter-chip{color:#536174;background:#f1f5f9;border-radius:5px;align-items:center;max-width:100%;padding:6px 8px;font-size:12px;font-weight:750;line-height:1.2;display:inline-flex}.active-filter-row button{color:#1f62cf;background:0 0;border:0;padding:5px 0;font-size:12px;font-weight:800}select,input,textarea{border:1px solid var(--border);color:#263246;background:#fff;border-radius:6px;transition:border-color .16s,box-shadow .16s}select,input{height:36px;padding:0 11px}select:focus,input:focus,textarea:focus{border-color:#9bb9ef;outline:0;box-shadow:0 0 0 3px #2563eb1a}select{color:#344256;min-width:112px;font-size:13px}.search-box{border:1px solid var(--border);width:min(238px,100%);min-width:180px;max-width:260px;height:36px;color:var(--text-subtle);background:#fff;border-radius:6px;flex:220px;align-items:center;gap:8px;padding:0 10px;transition:border-color .16s,box-shadow .16s;display:inline-flex}.search-box:focus-within{border-color:#9bb9ef;box-shadow:0 0 0 3px #2563eb1a}.search-box input{background:0 0;border:0;width:100%;height:auto;padding:0}.data-table-wrap{border-radius:0;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}.compact-data-table{table-layout:fixed;min-width:100%}.compact-data-table th,.compact-data-table td{text-overflow:ellipsis;padding:0 10px;overflow:hidden}.data-table th,.data-table td{border-bottom:1px solid var(--border-soft);text-align:left;white-space:nowrap;height:52px;padding:0 14px}.data-table th{z-index:1;color:#536174;background:#f8fbfe;font-size:12px;font-weight:700;position:sticky;top:0}.data-table td{color:#344256;font-size:13px}.table-pagination{border-top:1px solid var(--border-soft);border-radius:0 0 var(--radius) var(--radius);background:linear-gradient(#fff,#fbfdff),#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.pagination-summary{color:var(--text-muted);align-items:baseline;gap:4px;font-size:12px;font-weight:760;display:inline-flex}.pagination-summary strong{color:var(--text);font-size:14px}.pagination-controls,.pagination-controls label,.pagination-stepper{align-items:center;gap:8px;display:flex}.pagination-controls{flex-wrap:wrap;justify-content:flex-end}.pagination-controls label span{margin-right:2px}.pagination-controls select{min-width:86px;height:34px}.pagination-stepper span{min-width:58px;color:var(--text-muted);text-align:center;font-size:12px;font-weight:800}.pagination-stepper .secondary-button{height:34px;padding:0 10px}.data-table tbody tr{transition:background .16s,box-shadow .16s}.data-table tbody tr:hover{background:#f7fbff}.data-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--primary);background:#eef6ff}.empty-table-state{color:#718096;place-items:center;min-height:86px;font-weight:700;display:grid}.employee-cell{align-items:center;gap:9px;display:flex}.employee-cell span{width:26px;height:26px;color:var(--primary);background:#eaf1ff;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.employee-cell strong{color:#172033}.status-chip{border-radius:5px;align-items:center;padding:6px 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-chip.blue{color:#1f62cf;background:#edf4ff;border:1px solid #bcd3ff}.status-chip.amber{color:#b45309;background:#fff8eb;border:1px solid #f7d8a8}.status-chip.teal{color:#0f766e;background:#eefbf8;border:1px solid #b9e4dc}.status-chip.red{color:#c02626;background:#fff1f1;border:1px solid #ffc4c4}.status-chip.violet{color:#6d42c7;background:#f5f1ff;border:1px solid #d8ccff}.status-chip.gray{color:#5d6877;background:#f4f6f8;border:1px solid #d9e0e8}.target-status-chip{white-space:nowrap;border-radius:5px;align-items:center;padding:6px 8px;font-size:12px;font-weight:740;line-height:1;display:inline-flex}.target-status-chip.amber{color:#a15c07;background:#fff8eb;border:1px solid #f7d8a8}.target-status-chip.blue{color:#1f62cf;background:#edf4ff;border:1px solid #bcd3ff}.target-status-chip.teal{color:#0f766e;background:#eefbf8;border:1px solid #b9e4dc}.target-status-chip.gray{color:#5d6877;background:#f4f6f8;border:1px solid #d9e0e8}.cycle-type-chip{white-space:nowrap;border-radius:5px;align-items:center;padding:6px 8px;font-size:12px;font-weight:780;line-height:1;display:inline-flex}.cycle-type-chip.monthly{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.cycle-type-chip.quarterly{color:#0f766e;background:#eefbf8;border:1px solid #b9e4dc}.link-button{color:#1f62cf;background:0 0;padding:4px 0;font-size:13px;font-weight:700}.link-button:hover{color:var(--primary-strong)}.detail-panel{align-self:start;gap:14px;max-height:calc(100vh - 100px);padding:16px;display:grid;position:sticky;top:84px;overflow:auto}.detail-panel-head{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:34px;padding:6px 8px 6px 12px;display:flex}.detail-panel-head span{color:var(--text-muted);font-size:13px;font-weight:800}.detail-hero{border:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;gap:14px;padding:14px;display:grid}.detail-header{align-items:flex-start;gap:14px;min-width:0;display:flex}.detail-header>div:last-child{min-width:0}.detail-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-header p{margin-top:4px}.detail-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.detail-profile-grid div{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:7px;min-width:0;padding:9px 10px}.detail-profile-grid dt,.detail-profile-grid dd{margin:0}.detail-profile-grid dt{color:var(--text-muted);font-size:12px;font-weight:700}.detail-profile-grid dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:800;overflow:hidden}.director-task-panel{background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 100%),#fff;border:1px solid #cddbeb;border-radius:8px;gap:12px;padding:14px;display:grid}.director-task-panel.blue{background:linear-gradient(135deg,#f7fbff 0%,#edf5ff 100%),#fff;border-color:#b7cef9}.director-task-panel.amber{background:linear-gradient(135deg,#fffaf0 0%,#fff4d8 100%),#fff;border-color:#f2cf86}.director-task-panel.teal{background:linear-gradient(135deg,#f3fcfa 0%,#e8f7f4 100%),#fff;border-color:#a8ddd2}.director-task-panel.red{background:linear-gradient(135deg,#fff7f7 0%,#fff0f0 100%),#fff;border-color:#f4b8b8}.director-task-panel.muted{background:linear-gradient(135deg,#fbfdff 0%,#f3f6fa 100%),#fff;border-color:#d8e2ef}.finance-task-panel{border-color:#cbd8f4}.boss-task-panel{border-color:#c7d2fe}.director-task-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.director-task-head>div:first-child{min-width:0}.director-task-head span{color:#667386;font-size:12px;font-weight:800}.director-task-head h3{color:var(--text);margin:5px 0 0;font-size:17px;line-height:1.3}.director-task-head p{color:#536174;margin:7px 0 0;font-size:13px;line-height:1.55}.director-task-next{text-align:right;border-left:1px solid #7c8fa43d;justify-items:end;gap:5px;min-width:142px;padding-left:14px;display:grid}.director-task-next strong{color:var(--text);font-size:13px}.director-task-next small{max-width:190px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;overflow:hidden}.director-task-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.director-task-step{background:#ffffffb3;border:1px solid #cddbebdb;border-radius:7px;gap:5px;min-width:0;padding:9px;display:grid}.director-task-step span{color:#667386;font-size:12px;font-weight:740}.director-task-step strong{color:#253247;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.director-task-step.active{background:#f4f8ff;border-color:#b7cef9}.director-task-step.done{background:#f2fbf8;border-color:#b9e4dc}.director-task-step.done strong{color:#0f766e}.score-card{border:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.score-card div{border-right:1px solid var(--border-soft);min-width:0;min-height:86px;padding:14px}.score-card div:nth-child(3){border-right:0}.score-card div:nth-child(2){border-right:1px solid var(--border-soft)}.score-card strong{color:var(--teal);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:28px;line-height:1.05;display:block;overflow:hidden}.score-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;display:block;overflow:hidden}.workflow-card,.items-card,.metric-config-card,.director-score-card,.objection-review-card,.archive-voucher-card,.exception-card,.exemption-card,.focus-manage-card,.cycle-assignment-card,.correction-card,.finance-card,.boss-review-card,.confirm-box,.audit-card{border:1px solid var(--border);background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;margin-top:0;padding:14px}.workflow-card h3{margin-bottom:12px}.archive-voucher-card{background:linear-gradient(#f6fffc,#fff),#fff;border-color:#bfe6dc}.archive-voucher-grid{gap:10px;margin:12px 0;display:grid}.archive-voucher-grid div{background:#f8fffd;border:1px solid #d7efe8;border-radius:8px;min-width:0;padding:10px}.archive-voucher-grid dt,.archive-voucher-grid dd{margin:0}.archive-voucher-grid dt{color:var(--text-muted);font-size:12px;font-weight:760}.archive-voucher-grid dd{overflow-wrap:anywhere;color:var(--text-main);margin-top:4px;font-size:13px;font-weight:800}.employee-pending-content{min-height:280px;color:var(--primary);text-align:center;background:#f8fbff;border:1px dashed #c8d7ea;border-radius:8px;place-items:center;padding:28px;display:grid}.employee-pending-content strong{margin-top:8px}.detail-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.detail-card-head>div{min-width:0}.detail-card-head p{margin-top:4px}.detail-card-head>span{color:#25606f;background:#eff7ff;border:1px solid #cde0f4;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:760}.workflow-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.workflow-card-head h3{margin-bottom:0}.item-row.target-missing{background:#fffaf0;border-color:#f2d6a9}.field-warning{color:#b45309;font-weight:760}.objection-review-card{background:#fff7f7;border-color:#fecaca}.objection-review-card span,.objection-review-card p{color:#6b7280;margin:0;font-size:12px;line-height:1.5}.objection-review-card p{color:#3f4654;margin-top:8px}.exception-card{background:linear-gradient(#fffdf8,#fbfdff),#fff;border-color:#ead6b4}.exemption-card{background:linear-gradient(#f8fafc,#fff),#fff;border-color:#cbd5e1}.focus-manage-card{background:linear-gradient(#f8fbff,#fff),#fff;border-color:#d9e3ef;gap:10px;display:grid}.focus-manage-card.active{background:linear-gradient(#fffaf0,#fff),#fff;border-color:#f2cf86}.cycle-assignment-card{background:linear-gradient(#f8fbff,#fff),#fff;border-color:#c7d9ef;gap:10px;display:grid}.cycle-assignment-card.monthly{border-color:#bfdbfe}.cycle-assignment-card.quarterly{border-color:#b9e4dc}.cycle-assignment-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cycle-assignment-actions button{border:1px solid var(--border);color:#465569;background:#fff;border-radius:7px;min-height:38px;font-size:13px;font-weight:800}.cycle-assignment-actions button.active{color:#0f766e;background:#eefbf8;border-color:#b9e4dc;box-shadow:inset 0 0 0 1px #0f766e14}.focus-actions{gap:10px;display:grid}.focus-actions label{gap:6px;display:grid}.focus-actions textarea{min-height:72px}.exemption-actions{gap:10px;margin-top:10px;display:grid}.exemption-actions label{gap:6px;display:grid}.exemption-actions textarea{min-height:80px}.employee-pending-content.exempted{color:#465569;background:#f8fafc;border-color:#d5dde8}.exception-card-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.exception-card-head .card-title{margin-bottom:0}.exception-status{color:#0f766e;background:#f0fbf8;border:1px solid #b9e4dc;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:780}.exception-status.open{color:#b45309;background:#fffbf3;border-color:#f4cf98}.exception-summary,.exception-resolution{border:1px solid var(--border-soft);background:#fff;border-radius:8px;gap:5px;padding:10px;display:grid}.exception-summary strong,.exception-resolution strong{color:var(--text);font-size:13px}.exception-summary span,.exception-resolution span,.exception-resolution p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.exception-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.exception-block{border:1px solid var(--border-soft);background:#fff;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.exception-block-title{color:#344256;align-items:center;gap:7px;font-size:13px;display:flex}.exception-block input,.exception-block textarea{width:100%;min-width:0}.exception-block textarea{min-height:76px}.danger-action{color:#b42318;border-color:#fecaca}.danger-action:hover{color:#991b1b;border-color:#fca5a5}.metric-config-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.metric-config-head .card-title{margin-bottom:0}.metric-config-head>span{color:#25606f;background:#eff7ff;border:1px solid #cde0f4;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:760}.metric-publish-panel{border:1px solid var(--border);background:#f8fbfe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.metric-publish-panel strong,.employee-pending-content strong{color:var(--text);font-size:14px;font-weight:780;display:block}.metric-publish-panel span,.employee-pending-content span{color:var(--text-muted);font-size:12px;line-height:1.5}.metric-publish-panel.warning{background:#fffbf3;border-color:#f4cf98}.metric-publish-panel.ready{background:#f3f7ff;border-color:#bcd3ff}.metric-publish-panel.published{background:#eefbf8;border-color:#b9e4dc}.director-action-hint{color:var(--text-muted);background:#f8fbfe;border:1px solid #dbe7f5;border-radius:7px;margin:0 0 12px;padding:9px 10px;font-size:12px;line-height:1.5}.target-progress-pill{color:#324055;background:#fff;border-radius:999px;flex:none;padding:6px 9px;font-size:12px;font-weight:780}.metric-config-list{border-top:1px solid var(--border-soft)}.metric-config-item{border-bottom:1px solid var(--border-soft);padding:14px 0}.metric-config-item-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.metric-config-item-head strong{color:#263246;font-size:13px}.icon-link-button{border:1px solid var(--border);color:#64748b;background:#fff;border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.icon-link-button:hover{color:var(--primary);border-color:#c7d2fe}.icon-link-button.danger:hover{color:#dc2626;border-color:#fecaca}.icon-link-button:disabled{cursor:not-allowed;opacity:.55}.metric-config-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.metric-config-fields label{gap:6px;min-width:0;display:grid}.metric-config-fields input,.metric-config-fields textarea{width:100%;min-width:0}.metric-config-fields .input-warning{background:#fffaf0;border-color:#e8b15f}.metric-config-wide{grid-column:1/-1}.metric-config-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:12px;display:grid}.workflow-row{border:1px solid #0000;border-radius:8px;grid-template-columns:26px 1fr;gap:10px;padding:10px;display:grid}.workflow-row.active{background:#f0f7ff;border-color:#bdd4ff;border-radius:7px}.workflow-row+.workflow-row{margin-top:8px}.workflow-dot{color:#94a3b8;border:1px solid #cbd5e1;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.workflow-dot.done{border-color:var(--teal);background:var(--teal);color:#fff}.workflow-row.active .workflow-dot{border-color:var(--primary);background:#eaf2ff}.workflow-row strong,.item-row strong{color:#263246;font-size:13px;display:block}.workflow-row small,.item-row span{color:var(--text-muted);font-size:12px}.item-row{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;display:grid}.item-row>div{min-width:0}.item-row-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.item-row-title span{color:#25606f;background:#eef6f8;border-radius:5px;padding:4px 6px;font-size:12px;font-weight:760}.item-row:first-of-type{border-top:0}.item-row b{color:var(--teal);white-space:nowrap;background:#eefbf8;border-radius:6px;align-self:start;padding:6px 8px;font-size:15px}.item-detail-grid{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);gap:8px;margin:10px 0 0;display:grid}.item-detail-grid div{border:1px solid var(--border-soft);background:#fbfdff;border-radius:7px;min-width:0;padding:8px}.item-detail-grid dt,.item-detail-grid dd{margin:0}.item-detail-grid dt{color:var(--text-muted);font-size:12px;font-weight:700}.item-detail-grid dd{color:#253247;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:760;overflow:hidden}.item-row small{color:#64748b;margin-top:5px;font-size:12px;line-height:1.45;display:block}.director-score-list{border-top:1px solid var(--border-soft);gap:12px;padding-top:12px;display:grid}.director-score-item{border:1px solid var(--border-soft);background:#f9fbfd;border-radius:8px;padding:12px}.director-score-title{gap:4px;display:grid}.director-score-title strong{color:#253247;font-size:13px}.director-score-title span,.director-score-item p{color:#64748b;font-size:12px;line-height:1.5}.director-score-item p{margin:8px 0 0}.director-score-fields{grid-template-columns:minmax(0,1fr) 92px 96px;gap:10px;margin-top:10px;display:grid}.director-score-fields label,.director-comment-field{gap:6px;min-width:0;display:grid}.director-score-fields span,.director-comment-field span{color:#64748b;font-size:12px;font-weight:700}.director-score-fields input,.director-score-fields select,.director-score-fields textarea,.director-comment-field textarea{width:100%;min-width:0}.director-score-wide{grid-column:1/-1}.director-comment-field{margin-top:12px}.director-score-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.director-score-summary div{border:1px solid var(--border-soft);background:#fff;border-radius:8px;padding:10px}.director-score-summary dt,.director-score-summary dd{margin:0}.director-score-summary dt{color:#64748b;font-size:12px}.director-score-summary dd{color:#172033;margin-top:4px;font-size:15px;font-weight:800}.card-title{gap:8px;margin-bottom:12px}.correction-card label,.finance-card label{gap:7px;margin-bottom:10px;display:grid}textarea{resize:vertical;min-height:68px;padding:10px 11px}.correction-card .primary-button,.stretch{width:100%}.finance-card p{margin:8px 0 12px}.finance-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.finance-review-grid div{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;min-width:0;padding:10px}.finance-review-grid span,.finance-review-grid small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;display:block;overflow:hidden}.finance-review-grid span{font-weight:740}.finance-review-grid strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:15px;line-height:1.25;display:block;overflow:hidden}.finance-review-grid small{margin-top:4px}.boss-review-card{background:linear-gradient(#fbfcff,#fff),#fff;border-color:#c7d2fe}.boss-review-grid div{background:#f8faff;border-color:#dce5ff}.finance-card .director-action-hint{margin:10px 0 0}.confirm-box{background:#f8fafc;grid-template-columns:18px 1fr;gap:8px;display:grid}.confirm-box small{color:var(--text-muted);grid-column:2;font-size:12px;line-height:1.45}.confirm-box .primary-button{grid-column:1/-1}.audit-list{gap:10px;display:grid}.audit-row{border-top:1px solid var(--border-soft);grid-template-columns:1fr auto;gap:10px;padding-top:10px;display:grid}.audit-row:first-child{border-top:0;padding-top:0}.audit-row strong{color:#263246;font-size:13px;display:block}.audit-row span{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.45;display:block}.audit-row time{color:var(--text-subtle);white-space:nowrap;font-size:12px}.audit-empty-state{border:1px dashed var(--border);color:var(--text-muted);text-align:center;background:#fbfdff;border-radius:8px;padding:18px;font-size:13px;font-weight:700}.settings-hero{background:linear-gradient(135deg,#f0f7f8eb,#fffffff5 52%),#fff;border:1px solid #dce7ef;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px;display:flex}.settings-hero-main{align-items:flex-start;gap:13px;min-width:0;display:flex}.settings-hero-icon{color:#fff;background:radial-gradient(circle at 30% 22%,#ffffff7a,#0000 30%),linear-gradient(145deg,#0f766e,#2563eb);border-radius:8px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 12px 24px #2563eb29}.settings-hero p{margin-top:6px}.settings-hero-meta{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.settings-hero-meta span{color:#31566a;background:#ffffffb8;border:1px solid #d8e7ea;border-radius:999px;padding:0 9px;font-size:12px;font-weight:760;line-height:24px}.settings-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.settings-status-heading{margin-top:18px}.settings-status-heading p{margin-top:5px}.settings-status-card{border:1px solid var(--border-soft);min-height:104px;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;align-content:space-between;gap:10px;padding:12px;display:grid}.settings-status-card.ok{background:linear-gradient(#fff,#f5fbfa);border-color:#cce8e4}.settings-status-card.warning{background:linear-gradient(#fff,#fff9ed);border-color:#f1d8a8}.settings-status-card.neutral{background:linear-gradient(#fff,#f8fbfe)}.settings-status-card div{gap:8px;display:grid}.settings-status-card span,.settings-status-card small{color:var(--text-muted);font-size:12px}.settings-status-card strong{color:var(--text);font-size:18px;line-height:1.2}.settings-section-block{border-top:1px solid var(--border-soft);margin-top:18px;padding-top:16px}.settings-block-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.settings-block-heading p{margin-top:5px}.settings-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.settings-action-button{border:1px solid var(--border-soft);min-height:132px;box-shadow:var(--shadow-sm);color:inherit;text-align:left;background:linear-gradient(#fff,#fbfdff),#fff;border-radius:8px;align-content:start;gap:10px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.settings-action-button:hover{border-color:#b8c8dc;transform:translateY(-1px);box-shadow:0 12px 26px #14203314}.settings-action-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.settings-action-button>span{width:34px;height:34px;color:var(--teal-strong);background:#eef6f8;border-radius:8px;place-items:center;display:grid}.settings-action-button strong{color:var(--text);font-size:14px;line-height:1.25}.settings-action-button small{color:var(--text-muted);font-size:12px;line-height:1.5}.role-admin-block{border-top-color:#dbe6f3}.role-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.role-admin-summary{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.role-admin-summary span{border:1px solid var(--border-soft);color:#526174;background:#f8fbfe;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:720;line-height:28px;display:inline-flex}.role-admin-summary strong{color:var(--text);font-size:13px}.role-admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.role-search{width:min(340px,100%)}.role-admin-toolbar>span{color:var(--text-muted);font-size:12px;font-weight:700}.role-admin-table-wrap{border:1px solid var(--border-soft);background:#fff;border-radius:8px;margin-top:12px;overflow:auto}.settings-pagination{border:1px solid var(--border-soft);border-radius:8px;margin-top:10px;padding:10px 12px}.settings-pagination.compact{margin-top:10px}.role-admin-table{border-collapse:separate;border-spacing:0;width:100%;min-width:780px}.role-admin-table th,.role-admin-table td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle;padding:12px}.role-admin-table th{color:#526174;background:#f6f9fc;font-size:12px;font-weight:800}.role-admin-table td{color:var(--text);font-size:13px}.role-admin-table tr:last-child td{border-bottom:0}.role-admin-table td strong,.role-admin-table td span{display:block}.role-admin-table td>span:not(.role-pill):not(.role-change-state){color:var(--text-muted);margin-top:3px;font-size:12px}.role-admin-table select{width:136px}.role-pill,.role-change-state{border-radius:999px;align-items:center;width:fit-content;padding:0 9px;font-size:12px;font-weight:800;line-height:24px;display:inline-flex}.role-employee{color:#475569;background:#f1f5f9}.role-operation_director{color:#0f766e;background:#e8f7f3}.role-finance{color:#a15c07;background:#fef3d5}.role-boss{color:#1f62cf;background:#edf4ff}.role-hr{color:#6d42c7;background:#f4efff}.role-admin{color:#c02626;background:#fff1f1}.role-change-state{color:#64748b;background:#f3f6fa}.role-change-state.changed{color:#b45309;background:#fff8eb}.role-change-state.locked{color:#7a8797;background:#eef2f7}.settings-profile-card{background:linear-gradient(135deg,#fff,#f4faf9),#fff;border:1px solid #dce7ef;border-radius:8px;gap:6px;padding:14px;display:grid}.settings-profile-card span,.settings-profile-card small{color:var(--text-muted);font-size:12px}.settings-profile-card strong{color:var(--text);font-size:18px}.settings-guardrail-list{gap:10px;margin-top:14px;display:grid}.settings-guardrail-list article{border:1px solid var(--border-soft);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.settings-guardrail-list article>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-guardrail-list strong{color:var(--text);font-size:13px}.settings-guardrail-list span{color:#31566a;background:#eef6f7;border-radius:999px;flex:none;padding:0 8px;font-size:11px;font-weight:760;line-height:22px}.settings-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.settings-stat-card{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;align-content:space-between;gap:8px;min-height:90px;padding:12px;display:grid}.settings-stat-card span,.settings-stat-card small,.backup-main span,.backup-main small,.settings-permission-list dt,.settings-permission-list dd,.settings-audit-row span,.settings-audit-row small{color:var(--text-muted)}.settings-stat-card strong{color:var(--text-main);font-size:24px}.backup-list,.settings-audit-list{gap:10px;margin-top:16px;display:grid}.backup-row{border:1px solid var(--border-soft);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.backup-main,.settings-audit-row{gap:5px;display:grid}.backup-main strong,.settings-audit-row strong{color:var(--text-main)}.backup-main span,.backup-main small,.settings-audit-row span,.settings-audit-row small{font-size:13px}.empty-backup-state{border:1px dashed var(--border);color:var(--text-muted);text-align:center;background:#fbfdff;border-radius:8px;justify-items:center;gap:8px;padding:34px 16px;display:grid}.empty-backup-state strong{color:var(--text-main)}.settings-side-section+.settings-side-section,.settings-profile-card+.settings-side-section{margin-top:16px}.settings-permission-list{gap:12px;margin:14px 0 0;display:grid}.settings-permission-list div{border:1px solid var(--border-soft);background:#f8fbfe;border-radius:8px;padding:12px}.settings-permission-list dt,.settings-permission-list dd{margin:0;font-size:13px}.settings-permission-list dt{color:var(--text-main);font-weight:800}.settings-permission-list dd{margin-top:4px}.settings-audit-row{border-top:1px solid var(--border-soft);padding-top:10px}.settings-audit-row:first-child{border-top:0;padding-top:0}@media (width<=1280px){.dashboard-grid,.employee-flow-grid,.content-grid,.todo-grid,.cycle-grid,.settings-grid{padding-left:18px;padding-right:18px}.content-grid{grid-template-columns:minmax(0,1fr) 460px}.todo-grid,.cycle-grid,.settings-grid{grid-template-columns:minmax(0,1fr) 300px}.role-admin-table{min-width:720px}.employee-flow-grid{grid-template-columns:minmax(0,1fr) 320px}.employee-metric-head,.employee-metric-row{grid-template-columns:minmax(210px,1.25fr) minmax(110px,.6fr) minmax(160px,.85fr) minmax(140px,.7fr)}.toolbar-controls{flex-wrap:wrap;justify-content:flex-end}.dashboard-risk-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-distribution-card,.department-card,.bonus-dashboard-card,.focus-dashboard-card{grid-area:auto}}@media (width<=860px){.app-shell{display:block}.sidebar{border-bottom:1px solid #dfe7f0;border-right:0;height:auto;padding:12px;position:static}.sidebar-collapsed .sidebar{padding:12px}.brand{padding:0 4px 12px}.sidebar-collapsed .brand{justify-content:flex-start;gap:12px;padding:0 4px 12px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item span{display:block}.nav-list{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.nav-item{flex:none;min-height:38px;padding:0 10px}.sidebar-collapsed .nav-item{justify-content:flex-start;gap:8px;padding:0 10px}.sidebar-collapsed .nav-item em{color:#fff;width:auto;min-width:22px;height:auto;font-size:11px;line-height:20px;position:static}.sidebar-footer{flex-direction:row;gap:8px;padding-top:8px}.topbar{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:12px;position:static}.period-picker,.period-select{width:100%}.period-picker{flex-direction:column;align-items:stretch}.period-select{min-width:0}.topbar-actions{flex-wrap:wrap;width:100%}.account{margin-left:auto}.account span{display:none}.notice-row{margin:12px}.dashboard-grid,.employee-flow-grid,.content-grid,.todo-grid,.cycle-grid,.settings-grid{grid-template-columns:1fr;gap:12px;padding:0 12px 12px}.dashboard-grid{padding-top:0}.progress-panel,.employee-main-panel,.employee-action-panel,.sync-panel,.detail-panel,.todo-main-panel,.todo-side-panel,.cycle-main-panel,.cycle-side-panel,.settings-main-panel,.settings-side-panel{padding:14px}.detail-panel,.employee-action-panel,.todo-side-panel,.cycle-side-panel,.settings-side-panel{max-height:none;position:static;overflow:visible}.period-card-row,.new-period-panel,.new-period-controls,.period-item,.period-item-history,.period-item-metrics{grid-template-columns:1fr}.period-item-actions{justify-content:stretch}.period-item-actions .secondary-button{flex:1 1 0}.section-heading,.table-toolbar{flex-direction:column;align-items:stretch}.section-actions{justify-content:stretch}.section-actions .secondary-button,.section-actions .primary-button{flex:160px}.settings-hero,.settings-block-heading,.role-admin-actions,.role-admin-toolbar{flex-direction:column;align-items:stretch}.role-search,.role-admin-actions .secondary-button,.role-admin-actions .primary-button{width:100%}.settings-status-grid,.settings-action-grid,.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row{grid-template-columns:1fr 1fr;gap:10px}.todo-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-stat-row,.backup-row,.todo-item{grid-template-columns:1fr}.todo-item .primary-button{width:100%}.employee-task-hero{grid-template-columns:1fr;gap:12px}.employee-task-action{text-align:left;border-top:1px solid #7c8fa43d;border-left:0;justify-items:start;width:100%;min-width:0;padding-top:12px;padding-left:0}.employee-task-card-row{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-metric-toolbar{flex-direction:column;align-items:flex-start}.employee-stage-row{grid-template-columns:1fr}.employee-metric-head{display:none}.employee-metric-row,.employee-action-row,.employee-action-row.three,.exception-grid{grid-template-columns:1fr}.ring-box{grid-column:1/-1}.pipeline{padding:14px;display:flex;overflow-x:auto}.pipeline-step{min-width:92px}.pipeline-step:not(:last-child):after{left:calc(50% + 17px);right:-58px}.pipeline-step:nth-child(5):after{display:block}.dashboard-kpi-row,.dashboard-risk-row,.dashboard-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-distribution-card,.department-card,.bonus-dashboard-card,.focus-dashboard-card{grid-area:auto}.department-dashboard-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-controls{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.toolbar-controls label,.toolbar-controls select,.toolbar-controls button{width:100%}.search-box{grid-column:1/-1;width:100%}.table-pagination,.pagination-controls{flex-direction:column;align-items:stretch}.pagination-controls,.pagination-controls label,.pagination-stepper{width:100%}.pagination-controls select,.pagination-stepper .secondary-button{flex:1 1 0}.data-table{min-width:920px}.compact-data-table{min-width:100%}.score-card{grid-template-columns:1fr}.score-card div,.score-card div:nth-child(2),.score-card div:nth-child(3){border-top:1px solid #edf2f7;border-right:0;grid-column:auto;min-height:76px}.score-card div:first-child{border-top:0}.detail-profile-grid,.item-detail-grid{grid-template-columns:1fr 1fr}.director-task-head{grid-template-columns:1fr}.director-task-next{text-align:left;border-top:1px solid #7c8fa43d;border-left:0;justify-items:start;min-width:0;padding-top:10px;padding-left:0}.director-task-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.item-detail-grid div:first-child{grid-column:1/-1}.metric-config-head{flex-direction:column;align-items:flex-start}.metric-config-fields,.metric-config-actions,.director-score-fields,.director-score-summary,.sheet-import-actions{grid-template-columns:1fr}}@media (width<=480px){.brand strong{font-size:15px}.nav-item{gap:8px;font-size:13px}.topbar-actions{gap:8px}.employee-task-copy h2{font-size:20px}.employee-task-card-row{grid-template-columns:1fr}.feishu-auth{flex:128px;justify-content:center}.metric-row,.toolbar-controls,.detail-profile-grid,.item-detail-grid,.todo-summary-row,.dashboard-kpi-row,.dashboard-risk-row,.dashboard-insight-grid,.settings-status-grid,.settings-action-grid,.settings-linkage-section dl,.settings-linkage-section .sync-actions,.settings-linkage-section .sheet-import-block,.settings-linkage-section .sheet-import-actions,.module-card-grid,.director-task-steps,.finance-review-grid,.settings-stat-row,.bonus-dashboard-grid,.period-summary-grid,.department-dashboard-list dl,.focus-list button{grid-template-columns:1fr}.item-detail-grid div:first-child{grid-column:auto}.metric-box{min-height:82px}.metric-box strong{font-size:24px}.table-toolbar{padding:14px}}
