:root{--bg:#eef3f8;--panel:#fff;--ink:#151b28;--muted:#64748b;--line:#dde4ee;--blue:#2563eb;--green:#0f9f7a;--amber:#d97706;--red:#dc2626;--purple:#7c3aed;--cyan:#0891b2;--nav:#0f172a;--shadow:0 10px 26px #0f172a0f}*{box-sizing:border-box}body{background:linear-gradient(180deg, #f8fbff 0, #f8fbff00 260px), var(--bg);color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button,input,select,textarea{font:inherit}button{background:linear-gradient(180deg, #3478f6 0%, var(--blue) 100%);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;height:36px;padding:0 14px;font-weight:800;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 7px 14px #2563eb24}button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #2563eb2e}button:active{transform:translateY(0);box-shadow:0 5px 10px #2563eb1f}button:disabled{cursor:not-allowed;opacity:.68}button.secondary{color:#334155;box-shadow:none;background:#f8fafc;border:1px solid #d6deea}button.secondary:hover{color:var(--blue);box-shadow:none;background:#eef5ff;border-color:#b8c8df}button.danger-text{color:var(--red)}select{color:#fff;background:#101827;border:1px solid #344256;border-radius:8px;height:38px;padding:0 10px}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, #0f1b31 0%, var(--nav) 100%);color:#e5e7eb;flex-direction:column;gap:18px;padding:22px 16px;display:flex}.brand{border-bottom:1px solid #ffffff1a;padding:8px 12px 20px}.brand>span{color:#93a4bb;margin-top:10px;font-size:12px;display:block}.brand-logo{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo svg{filter:drop-shadow(0 10px 18px #2563eb2e);flex:none;width:46px;height:46px}.brand-logo rect{fill:url(#logoGradient)}.brand-logo .logo-line{fill:none;stroke:#ffffffe6;stroke-width:4.5px;stroke-linecap:round}.brand-logo .logo-person{fill:#fff}.brand-logo .logo-chart{fill:none;stroke:#99f6e4;stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round}.brand-logo strong{color:#0f172a;letter-spacing:0;font-size:24px;line-height:1.1;display:block}.brand-logo span{color:var(--muted);margin-top:5px;font-size:12px;font-weight:800;display:block}.brand-logo.inverse svg{filter:drop-shadow(0 12px 22px #14b8a629)}.brand-logo.inverse strong{color:#f8fafc;font-size:20px}.brand-logo.inverse span{color:#93a4bb}.role-card{background:#ffffff0e;border:1px solid #94a3b833;border-radius:9px;gap:8px;padding:12px;display:grid}.role-card span{color:#a8b7cb;font-size:13px}.role-card strong{color:#fff;font-size:18px}.role-card small{color:#93a4bb;font-size:12px}.login-page{background:linear-gradient(135deg,#eef4ff 0%,#f8fafc 42%,#eef8f4 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:22px;width:min(440px,100%);padding:28px;display:grid;box-shadow:0 24px 60px #0f172a1f}.login-card h1{margin:0;font-size:28px}.login-head{gap:12px;display:grid}.login-card p{color:var(--muted);margin:0;line-height:1.6}.login-form{gap:14px;display:grid}.login-form .wecom-login{background:linear-gradient(135deg,#2563eb 0%,#0f9f7a 100%)}.login-form .notice{margin:0}.demo-accounts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.demo-accounts span{width:100%;color:var(--muted);font-size:12px;font-weight:800}.nav{gap:5px;display:grid}.nav button{color:#cbd5e1;text-align:left;height:44px;box-shadow:none;background:0 0;border-radius:9px;justify-content:flex-start;align-items:center;gap:9px;display:flex}.nav button.active,.nav button:hover{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#14b8a6 120%);transform:none;box-shadow:0 8px 20px #2563eb2e}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;min-height:88px;padding:20px 30px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:27px}.topbar p{color:var(--muted);margin:7px 0 0;font-size:14px}.top-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.content{padding:26px 30px 42px}.stack{gap:22px;display:grid}.muted{color:var(--muted);font-size:13px}.board-range{flex-wrap:wrap;justify-content:flex-start}.dashboard-stack{gap:22px;display:grid}.dashboard-control,.dashboard-overview{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px}.dashboard-control{gap:18px;padding:20px;display:grid}.dashboard-control-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-control-head h2{margin:0;font-size:18px}.dashboard-control-head span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.dashboard-filter-grid{grid-template-columns:minmax(340px,1.45fr) minmax(260px,.9fr) minmax(320px,1.15fr);align-items:end;gap:16px;display:grid}.control-group{gap:7px;display:grid}.control-group>span{color:#52627a;font-size:12px;font-weight:800}.segmented{background:#f8fafc;border:1px solid #d6deea;border-radius:9px;flex-wrap:wrap;gap:5px;min-height:46px;padding:5px;display:flex}.segmented button{color:#334155;height:34px;box-shadow:none;background:0 0;border-radius:6px;padding:0 10px}.segmented button.active{background:linear-gradient(135deg, var(--blue) 0%, #14b8a6 120%);color:#fff;box-shadow:0 6px 14px #2563eb2e}.dashboard-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-overview{gap:16px;padding:20px;display:grid}.dashboard-kpis{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;display:grid}.dashboard-overview .rate-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.dashboard-overview .metric,.dashboard-overview .rate-card{box-shadow:none}.dashboard-overview .metric{min-height:88px}.dashboard-overview .metric strong{font-size:26px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.dashboard-grid.two-cards{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr)}.custom-range input{height:36px;color:var(--ink);background:#fff;border:1px solid #cfd9e7;border-radius:7px;padding:0 10px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.manager-workbench{gap:22px;display:grid}.manager-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.manager-action-grid .work-action{min-height:126px}.manager-todo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;display:grid}.manager-todo-grid.single{grid-template-columns:1fr}.manager-todo-list{max-height:360px;overflow:auto}.manager-todo-list .empty{border:0;min-height:112px}.manager-risk-list .risk{padding-top:18px;padding-bottom:18px}.metrics{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;display:grid}.executive-workbench{gap:28px;display:grid}.executive-hero{min-height:132px;color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);border:1px solid #c9d8ec;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;padding:26px 30px;display:flex}.executive-hero span,.executive-hero p{color:var(--muted)}.executive-hero span{margin-bottom:8px;font-size:13px;font-weight:800;display:block}.executive-hero h2{letter-spacing:0;max-width:920px;margin:0;font-size:24px;line-height:1.35}.executive-hero p{margin:12px 0 0;font-size:15px}.executive-hero button{background:linear-gradient(180deg, #3478f6 0%, var(--blue) 100%);color:#fff;flex:none;height:46px;padding:0 22px;box-shadow:0 7px 14px #2563eb24}.executive-workbench>.metrics{grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px}.executive-workbench>.metrics .metric{border-radius:12px;min-height:112px;padding:18px 18px 18px 20px}.executive-workbench>.metrics .metric strong{margin-top:10px;font-size:32px}.executive-layout{grid-template-columns:1fr;align-items:start;gap:26px;display:grid}.executive-main-column,.executive-side-column{gap:26px;display:grid}.executive-side-column{grid-template-columns:1fr}.executive-side-column .rate-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;padding:20px 24px 24px}.executive-side-column .rate-card{border-radius:12px;min-height:118px;padding:18px 20px}.compact-list .risk{min-height:86px}.executive-ranking{display:grid}.executive-rank-row{border-bottom:1px solid #edf1f6;grid-template-columns:42px minmax(0,1fr) 72px;align-items:center;gap:18px;min-height:88px;padding:20px 26px;display:grid}.executive-rank-row:last-child{border-bottom:0}.executive-rank-row:first-child{background:linear-gradient(90deg,#2563eb14,#fff0)}.executive-rank-row:nth-child(2){background:linear-gradient(90deg,#14b8a614,#fff0)}.executive-rank-row:nth-child(3){background:linear-gradient(90deg,#f59e0b14,#fff0)}.executive-rank-row>strong{width:38px;height:38px;color:var(--blue);background:#eef4ff;border-radius:999px;place-items:center;display:grid}.executive-rank-row b{margin-bottom:7px;font-size:17px;display:block}.executive-rank-row span{color:var(--muted);font-size:13px}.executive-rank-row em{text-align:right;font-size:22px;font-style:normal;font-weight:900}.executive-trend{gap:14px;padding:22px 26px 26px;display:grid}.trend-summary-row{background:#fbfdff;border:1px solid #edf2f8;border-radius:14px;grid-template-columns:76px repeat(5,minmax(120px,1fr));align-items:center;gap:14px;min-height:64px;padding:10px 14px;display:grid}.trend-summary-row b{color:#334155;font-size:15px}.trend-pill{background:#f8fbff;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-width:0;height:auto;min-height:44px;padding:8px 12px;display:flex}.trend-pill em{color:var(--muted);font-size:12px;font-style:normal}.trend-pill strong{font-size:18px}.trend-pill.blue{color:var(--blue);background:#eef4ff}.trend-pill.teal{color:var(--cyan);background:#ecfeff}.trend-pill.green{color:var(--green);background:#ecfdf5}.trend-pill.amber{color:var(--amber);background:#fff7ed}.trend-pill.purple{color:var(--purple);background:#f5f3ff}@media (max-width:1320px){.manager-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hr-summary-grid,.hr-summary-grid+.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-main-grid,.manager-todo-grid{grid-template-columns:1fr}.executive-workbench>.metrics{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.executive-workbench>.metrics .metric{min-height:104px;padding:16px}.executive-workbench>.metrics .metric strong{font-size:28px}.executive-side-column{grid-template-columns:1fr}.trend-summary-row{grid-template-columns:72px repeat(5,minmax(96px,1fr))}}@media (max-width:1120px){.executive-workbench>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-summary-row{grid-template-columns:1fr 1fr 1fr}.trend-summary-row b{grid-column:1/-1}}.hr-action-grid{grid-template-columns:1.4fr repeat(2,minmax(180px,.8fr));gap:16px;display:grid}.hr-workbench{gap:22px;display:grid}.hr-todo-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.hr-main-grid{grid-template-columns:minmax(440px,.95fr) minmax(520px,1.05fr);align-items:start;gap:22px;display:grid}.hr-todo-list{max-height:420px;overflow:auto}.hr-submitted-list{max-height:260px;overflow:auto}.hr-summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.hr-summary-grid+.rate-grid{grid-template-columns:repeat(4,minmax(150px,1fr));padding-top:2px}.work-action{border:1px solid var(--line);min-height:142px;color:var(--ink);box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:10px;align-content:space-between;justify-items:start;padding:20px;display:grid}.work-action:hover{background:#fbfdff;border-color:#b9c9e2}.work-action:nth-child(2){border-top:4px solid var(--amber)}.work-action:nth-child(3){border-top:4px solid var(--green)}.work-action span,.work-action em{color:var(--muted);font-size:13px;font-style:normal}.work-action strong{font-size:32px;line-height:1.15}.work-action.primary-action{color:#fff;background:linear-gradient(145deg,#12345f 0%,#2563eb 100%)}.work-action.primary-action span,.work-action.primary-action em{color:#ffffffd1}.work-summary-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:14px;padding:18px 22px;display:grid}.panel>.rate-grid{grid-template-columns:repeat(2,minmax(140px,1fr));padding:0 22px 20px}.work-summary-grid .metric,.panel .rate-card{box-shadow:none}.metric,.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px}.metric{min-height:110px;padding:18px 18px 18px 20px;position:relative;overflow:hidden}.metric:before{content:"";background:var(--blue);width:4px;position:absolute;inset:0 auto 0 0}.metric:nth-child(2):before{background:var(--cyan)}.metric:nth-child(3):before{background:var(--green)}.metric:nth-child(4):before{background:var(--amber)}.metric:nth-child(5):before{background:var(--purple)}.metric span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{margin-top:10px;font-size:32px;line-height:1.1;display:block}.metric em{color:var(--muted);margin-top:10px;font-size:12px;font-style:normal;display:block}.rate-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;display:grid}.rate-card{border:1px solid var(--line);min-height:118px;box-shadow:var(--shadow);background:#fff;border-radius:10px;gap:10px;padding:16px 18px;display:grid}.rate-card:nth-child(2) .rate-track i{background:linear-gradient(90deg, var(--cyan), var(--blue))}.rate-card:nth-child(3) .rate-track i{background:linear-gradient(90deg, var(--amber), #f97316)}.rate-card:nth-child(4) .rate-track i{background:linear-gradient(90deg, var(--purple), #2563eb)}.rate-card div:first-child{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rate-card span{color:var(--muted);font-size:13px;font-weight:800}.rate-card strong{font-size:24px}.rate-card em{color:var(--muted);font-size:12px;font-style:normal}.rate-track{background:#e7eef7;border-radius:999px;height:8px;overflow:hidden}.rate-track i{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;height:100%;display:block}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:18px 22px;display:flex}.panel-head h2{margin:0;font-size:18px}.panel-head span{color:var(--muted);font-size:12px}.panel-tools{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.filter-bar{background:linear-gradient(#fbfdff 0%,#f7faff 100%);border-bottom:1px solid #edf1f6;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:16px;padding:18px 22px;display:grid}.filter-bar button{width:100%}.table-wrap{background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1040px}.summary-table table{min-width:880px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f6;padding:15px 18px;font-size:14px}th{z-index:1;color:#52627a;white-space:nowrap;background:#f3f7fb;font-size:12px;font-weight:800;position:sticky;top:0}tbody tr:nth-child(2n) td{background:#fbfdff}td{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}td:first-child{font-weight:700}td a{color:var(--blue);font-weight:800;text-decoration:none}td b{font-weight:800}.cell-subtext{color:var(--muted);margin-top:3px;font-size:12px;display:block}th:last-child,td:last-child{z-index:2;background:#fff;position:sticky;right:0;box-shadow:-10px 0 18px #0f172a09}th:last-child{z-index:3;background:#f3f7fb}tbody tr:hover td,tbody tr:hover td:last-child{background:#f8fbff}.table-select,.table-input{width:100%;min-width:96px;height:38px;color:var(--ink);background:#f7fbff;border:1px solid #cbd7e8;border-radius:999px;padding:0 12px;font-size:13px;font-weight:700}.table-select.compact{min-width:64px}.table-input{border-radius:7px;min-width:150px;font-weight:500}.table-select:focus,.table-input:focus{border-color:var(--blue);background:#fff;outline:2px solid #2563eb29}.pagination{color:var(--muted);border-top:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;font-size:13px;display:flex}.detail-row td{white-space:normal;background:#fbfdff;max-width:none;padding:14px 18px;position:static}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.detail-card{background:#fff;border:1px solid #e3eaf3;border-radius:8px;gap:6px;padding:12px;display:grid}.detail-card span,.detail-card a{color:var(--muted);font-size:13px}.detail-card a{color:var(--blue);font-weight:800;text-decoration:none}.reject-note{color:#b91c1c;margin-top:10px;font-size:13px;font-weight:700}.job-detail-modal{gap:18px;padding:20px 22px 22px;display:grid}.job-total-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;display:grid}.detail-sections{gap:14px;display:grid}.detail-section{background:#fff;border:1px solid #e3eaf3;border-radius:8px;overflow:hidden}.detail-section-head{background:#f8fafc;border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;min-height:48px;padding:12px 14px;display:flex}.detail-section-head h4{margin:0;font-size:14px}.detail-list{display:grid}.detail-line{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 14px;display:flex}.detail-line:last-child{border-bottom:0}.detail-line div{gap:4px;min-width:0;display:grid}.detail-line b,.detail-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-line span{color:var(--muted);font-size:12px}.row-actions{align-items:center;gap:6px;display:inline-flex}.icon-button{color:#334155;background:#f8fafc;border:1px solid #d6deea;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.icon-button:hover{color:var(--blue);background:#eef4ff}.icon-button.danger:hover{color:var(--red);background:#fff1f2}.notice{border-radius:8px;margin:12px 16px 0;padding:10px 12px;font-size:13px;font-weight:700}.notice.red{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3}.notice.green{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.result-strip{min-height:38px;color:var(--muted);background:#fbfdff;border-bottom:1px solid #edf1f6;justify-content:flex-end;align-items:center;padding:0 18px;font-size:12px;font-weight:800;display:flex}.empty{min-height:120px;color:var(--muted);background:linear-gradient(#fff 0%,#f8fbff 100%);place-items:center;font-size:14px;display:grid}.badge{color:#1d4ed8;white-space:nowrap;background:#eaf2ff;border-radius:999px;align-items:center;height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.green{color:#047857;background:#dcfce7}.badge.amber{color:#a16207;background:#fff3c4}.badge.red{color:#b91c1c;background:#fee2e2}.todo-list,.risk-list{display:grid}.todo-group{border-bottom:1px solid #edf1f6;padding:14px 0}.todo-group:last-child{border-bottom:0}.todo-group h3{color:#334155;margin:0 22px 10px;font-size:13px}.todo-empty{min-height:54px;color:var(--muted);background:#fbfdff;border:1px dashed #d6deea;border-radius:8px;place-items:center;margin:0 22px;font-size:13px;display:grid}.todo,.risk{border-bottom:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 22px;display:grid}.todo-group .todo{padding-top:12px;padding-bottom:12px}.todo-group .todo:last-child{border-bottom:0}.todo b,.risk b{margin-bottom:4px;display:block}.todo span,.risk span{color:var(--muted);font-size:12px}.risk{grid-template-columns:1fr;align-items:stretch;gap:14px}.risk-top{grid-template-columns:minmax(220px,.5fr) minmax(280px,1fr);align-items:center;gap:18px;display:grid}.risk-main b{font-size:17px}.risk-metrics{grid-template-columns:repeat(5,minmax(72px,1fr));gap:12px;display:grid}.risk-metrics span{color:#5b6b83;background:#f8fbff;border:1px solid #e4ebf5;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.risk-metrics strong{color:var(--ink);font-size:17px}.risk-progress{grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:14px;display:grid}.risk-progress>span{color:#516078;white-space:nowrap;font-size:13px}.progress{background:#e7eef7;border-radius:999px;height:8px;overflow:hidden}.progress i{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;height:100%;display:block}.ranking-list{display:grid}.bar-chart{gap:12px;padding:14px 16px 16px;display:grid}.bar-chart .bar-row:nth-child(2n) .bar-track i{background:linear-gradient(90deg, var(--cyan), var(--blue))}.bar-chart .bar-row:nth-child(3n) .bar-track i{background:linear-gradient(90deg, var(--green), #22c55e)}.bar-chart .bar-row:nth-child(4n) .bar-track i{background:linear-gradient(90deg, var(--amber), #f97316)}.bar-row{grid-template-columns:150px minmax(160px,1fr) 46px;align-items:center;gap:12px;display:grid}.bar-label{min-width:0}.bar-label b,.bar-label span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bar-label b{font-size:14px}.bar-label span{color:var(--muted);margin-top:4px;font-size:12px}.bar-track{background:#e7eef7;border-radius:999px;height:18px;overflow:hidden}.bar-track i{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:999px;height:100%;display:block}.bar-row strong{text-align:right;font-size:18px}.funnel-chart{align-content:center;justify-items:center;gap:12px;min-height:264px;padding:18px 16px;display:grid}.funnel-step{color:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:180px;max-width:100%;height:48px;padding:0 16px;display:grid;box-shadow:0 10px 20px #0f172a17}.funnel-step span{font-size:13px;font-weight:800}.funnel-step b{font-size:20px}.funnel-step em{opacity:.86;font-size:12px;font-style:normal}.funnel-step.blue{background:#2563eb}.funnel-step.teal{background:#0f9f7a}.funnel-step.amber{background:#f59e0b}.funnel-step.purple{background:#7c3aed}.trend-list{max-height:520px;overflow:auto}.trend-row{border-bottom:1px solid #edf1f6;grid-template-columns:58px repeat(5,minmax(120px,1fr));align-items:center;gap:12px;padding:10px 16px;display:grid}.trend-row b{font-size:13px}.trend-bar{color:var(--muted);grid-template-columns:34px minmax(68px,1fr) 32px;align-items:center;gap:8px;font-size:12px;display:grid}.trend-bar div{background:#e7eef7;border-radius:999px;height:7px;overflow:hidden}.trend-bar i{border-radius:999px;height:100%;display:block}.trend-bar i.blue{background:var(--blue)}.trend-bar i.green{background:var(--green)}.trend-bar i.teal{background:#14b8a6}.trend-bar i.amber{background:#f59e0b}.trend-bar i.purple{background:#7c3aed}.trend-bar strong{color:var(--ink);text-align:right;font-size:12px}.trend-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.line-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #e3eaf3;border-radius:10px;min-width:0;padding:14px}.line-card-head{color:var(--ink);justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.line-card-head span{color:var(--muted);font-size:12px}.line-card svg{width:100%;height:250px;display:block}.line-card line{stroke:#d9e3f0;stroke-width:1.4px}.line-card .chart-guide{stroke:#e7eef7;stroke-dasharray:4 6}.line-card polyline{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.line-card text{fill:#60708a;font-size:12px}.line-card .axis-label{fill:#52627a;font-size:11px}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:999px;width:10px;height:10px}.rank-row{border-bottom:1px solid #edf1f6;grid-template-columns:140px minmax(220px,1fr) 70px;align-items:center;gap:14px;padding:14px 16px;display:grid}.rank-row:first-child{background:linear-gradient(90deg,#2563eb14,#fff0)}.rank-row:nth-child(2){background:linear-gradient(90deg,#14b8a614,#fff0)}.rank-row:nth-child(3){background:linear-gradient(90deg,#f59e0b14,#fff0)}.rank-row:last-child{border-bottom:0}.rank-row span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.rank-row strong{text-align:right;font-size:22px}.modal{z-index:20;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(900px,100%);max-height:min(760px,100vh - 48px);overflow:auto;box-shadow:0 24px 60px #0f172a3d}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.dialog-head h3{margin:0;font-size:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px;display:grid}.field{gap:8px;display:grid}.field span{color:#52627a;font-size:13px;font-weight:800}.field input,.field textarea,.light-select{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #cfd9e7;border-radius:8px;padding:0 11px}.field input:hover,.field textarea:hover,.light-select:hover{border-color:#b8c8df}.field textarea{resize:vertical;grid-column:span 2;min-height:96px;padding:12px}.field input:focus,.field textarea:focus,.light-select:focus{border-color:var(--blue);outline:2px solid #2563eb2e}.daily-items{border:1px solid #e3eaf3;border-radius:9px;margin:0 22px;overflow:hidden}.daily-item{border-bottom:1px solid #edf1f6;grid-template-columns:minmax(140px,1fr) 110px 110px minmax(180px,240px);align-items:center;gap:10px;padding:14px;display:grid}.daily-item:last-child{border-bottom:0}.daily-item input[type=number]{border:1px solid #cfd9e7;border-radius:7px;width:100%;height:38px;padding:0 10px}.upload-chip{height:38px;color:var(--blue);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#f8fbff;border:1px dashed #9fb3cf;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:flex;overflow:hidden}.upload-chip input{display:none}.upload-box{min-height:40px;color:var(--blue);cursor:pointer;background:#f8fbff;border:1px dashed #9fb3cf;border-radius:9px;justify-content:center;align-items:center;padding:9px 12px;font-size:13px;font-weight:800;display:flex}.upload-box input{display:none}.modal-actions{justify-content:flex-end;gap:8px;padding:16px 22px 22px;display:flex}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{padding:16px;position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start;padding:18px}.topbar h1{font-size:23px}.content{padding:16px}.metrics,.rate-grid,.grid.two,.trend-chart-grid,.dashboard-filter-grid,.dashboard-overview,.dashboard-kpis,.dashboard-grid,.dashboard-grid.two-cards,.hr-action-grid,.hr-todo-grid,.hr-main-grid,.manager-action-grid,.manager-todo-grid,.work-summary-grid,.job-total-grid,.executive-layout{grid-template-columns:1fr}.executive-hero{flex-direction:column;align-items:flex-start;padding:20px}.executive-hero h2{font-size:21px}.trend-summary-row{grid-template-columns:1fr}.dashboard-control-head{flex-direction:column}.dashboard-selects{grid-template-columns:1fr}.panel-tools,.modal-actions,.pagination{flex-direction:column;align-items:stretch}.filter-bar,.form-grid{grid-template-columns:1fr}.panel-head,.panel-tools,.filter-bar,.work-summary-grid,.panel>.rate-grid{padding-left:16px;padding-right:16px}.rank-row{grid-template-columns:1fr}.rank-row strong{text-align:left}.bar-row{grid-template-columns:1fr}.bar-row strong{text-align:left}.risk,.risk-top{grid-template-columns:1fr}.risk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-progress,.trend-row,.daily-item{grid-template-columns:1fr}button:hover{transform:none}.modal{padding:14px}.dialog{max-height:calc(100vh - 28px)}.form-grid,.job-detail-modal{padding:16px}}
