:root { color-scheme: light; --ink:#20201f; --muted:#73716d; --line:#e7e5e1; --paper:#fff; --canvas:#f5f5f3; --accent:#0e3a34; --accent-dark:#082f2a; --sage:#397255; --gold:#d6b98b; --gold-soft:#f4eadb; }
* { box-sizing:border-box; }
body { margin:0; min-width:960px; background:var(--canvas); color:var(--ink); font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.sidebar { position:fixed; inset:0 auto 0 0; width:244px; display:flex; flex-direction:column; padding:30px 20px 24px; border-right:1px solid #d4ddd8; background:#e9eeea; color:var(--ink); box-shadow:8px 0 24px rgba(14,58,52,.045); }
.brand { display:flex; align-items:center; gap:13px; padding:0 10px 28px; border-bottom:1px solid var(--line); }
.brand>span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--accent); color:var(--gold); font-size:19px; font-weight:700; box-shadow:0 5px 12px rgba(14,58,52,.14); }
.brand div,.account div { display:flex; flex-direction:column; }.brand small,.account small { margin-top:2px; color:var(--muted); font-size:12px; }
nav { display:grid; gap:7px; margin-top:26px; } nav a { position:relative; padding:12px 14px; border-radius:10px; color:#555b57; text-decoration:none; } nav a.active { background:#fff; color:var(--accent); box-shadow:inset 3px 0 var(--accent),0 5px 14px rgba(14,58,52,.07); font-weight:650; } nav a:hover { background:rgba(255,255,255,.66); color:var(--accent); } nav a[aria-disabled] { cursor:default; } nav em { float:right; margin-top:2px; font-size:10px; font-style:normal; color:#8e9691; }
.account-wrap { position:relative; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }.account { display:flex; align-items:center; gap:11px; width:100%; padding:7px 9px; border:0; border-radius:10px; background:transparent; color:var(--ink); text-align:left; }.account:hover,.account[aria-expanded="true"] { background:#eef1ed; }.account>span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--gold-soft); color:var(--accent); }.account div { flex:1; }.account b { color:var(--accent); font-size:12px; transform:rotate(180deg); }.account[aria-expanded="true"] b { transform:none; }.account-menu { position:absolute; left:0; bottom:66px; width:292px; padding:8px; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--ink); box-shadow:0 18px 45px rgba(14,58,52,.16); }.account-menu button { display:grid; grid-template-columns:34px 1fr 18px; align-items:center; gap:10px; width:100%; padding:10px; border:0; border-radius:9px; background:#fff; color:inherit; text-align:left; }.account-menu button:hover,.account-menu button.selected { background:#eef3f1; }.account-menu button>span { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:var(--gold-soft); color:var(--accent); font-weight:700; }.account-menu strong,.account-menu small { display:block; }.account-menu small { margin-top:2px; color:var(--muted); font-size:11px; }.account-menu i { color:var(--accent); font-style:normal; font-weight:700; }.account-menu p { margin:7px 10px 3px; padding-top:8px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.5; }
main { margin-left:244px; padding:42px 46px 70px; } header { display:flex; align-items:center; justify-content:space-between; } header p,.dialog-head p { margin:0 0 5px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:1.8px; } h1 { margin:0; font-size:30px; } header span { display:block; margin-top:7px; color:var(--muted); }
.primary,.secondary { padding:11px 18px; border:0; border-radius:9px; font-weight:600; }.primary { background:var(--accent); color:#f0e4d4; box-shadow:0 6px 14px rgba(14,58,52,.18); }.primary:hover { background:var(--accent-dark); }.primary:focus-visible,.secondary:focus-visible { outline:3px solid rgba(214,185,139,.42); outline-offset:2px; }.secondary { border:1px solid var(--line); background:#fff; color:var(--ink); }
.summary { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:30px 0 20px; }.summary article,.summary .summary-action { padding:21px 23px; border:1px solid var(--line); border-radius:14px; background:#fff; color:inherit; text-align:left; }.summary span,.summary small { display:block; color:var(--muted); }.summary strong { display:block; margin:7px 0 2px; font:700 30px/1.2 Georgia,serif; }.summary small { font-size:12px; }.actionable-summary .summary-action,.development-summary .summary-action { position:relative; transition:.18s ease; }.actionable-summary .summary-action:hover,.development-summary .summary-action:hover { transform:translateY(-2px); border-color:#d1ada4; box-shadow:0 8px 22px #4a322a0d; }.actionable-summary .summary-action.selected,.development-summary .summary-action.selected { border-color:var(--accent); background:#fff8f6; box-shadow:inset 0 0 0 1px var(--accent); }.actionable-summary .summary-action.selected::after,.development-summary .summary-action.selected::after { content:'当前筛选'; position:absolute; top:12px; right:14px; color:var(--accent); font-size:10px; }
.content-panel { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }.toolbar { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); }.toolbar>div { display:flex; gap:4px; }.filter { padding:7px 13px; border:0; border-radius:8px; background:transparent; color:var(--muted); }.filter.active { background:#f3e7e3; color:var(--accent-dark); font-weight:600; }.toolbar input { width:230px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; outline:none; }.toolbar input:focus { border-color:#c78f83; }
.content-row { display:grid; grid-template-columns:minmax(300px,1.7fr) minmax(130px,.7fr) 100px 110px 92px; align-items:center; gap:18px; padding:17px 20px; border-bottom:1px solid #eeeae5; }.content-row:last-child { border-bottom:0; }.content-name { display:flex; align-items:center; gap:13px; min-width:0; }.type-icon { flex:0 0 auto; display:grid; place-items:center; width:45px; height:45px; border-radius:11px; background:#f1ddd8; color:var(--accent-dark); font-weight:700; }.type-icon.resource { background:#dfe9e1; color:var(--sage); }.content-name div { min-width:0; }.content-name strong,.content-name small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.content-name small,.cell-muted { margin-top:3px; color:var(--muted); font-size:12px; }.status { width:max-content; padding:4px 9px; border-radius:99px; background:#e5f0e8; color:#467155; font-size:12px; }.status.draft { background:#eeeae5; color:#756e69; }.row-actions { display:flex; gap:5px; }.row-actions button { padding:6px 8px; border:0; border-radius:7px; background:transparent; color:var(--accent-dark); }.row-actions button:hover { background:#f4e9e5; }.row-actions .delete { color:#988f89; }.empty { padding:60px; color:var(--muted); text-align:center; }
dialog { width:min(680px,calc(100vw - 80px)); padding:0; border:0; border-radius:17px; box-shadow:0 24px 80px #211b1966; } dialog::backdrop { background:#29221f88; backdrop-filter:blur(2px); } form { padding:26px 28px 22px; }.dialog-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:22px; }.dialog-head h2 { margin:0; font-size:23px; }.icon-button { border:0; background:none; color:#8c837e; font-size:28px; line-height:1; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.form-grid label { display:grid; gap:7px; color:#5e5652; font-size:13px; font-weight:600; }.form-grid .wide { grid-column:1 / -1; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:10px 11px; border:1px solid #ddd7d1; border-radius:8px; outline:none; color:var(--ink); background:#fff; }.form-grid textarea { min-height:80px; resize:vertical; }.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#bd7c6e; box-shadow:0 0 0 3px #bd7c6e1f; }.form-grid .check { display:flex; grid-template-columns:auto 1fr; align-items:center; justify-content:start; gap:8px; font-weight:500; }.check input { width:auto; }.form-error { margin-top:14px; color:#a44334; } form footer { display:flex; justify-content:flex-end; gap:9px; margin-top:23px; padding-top:18px; border-top:1px solid var(--line); }.toast { position:fixed; right:28px; bottom:28px; transform:translateY(20px); padding:11px 16px; border-radius:9px; background:#352f2c; color:#fff; opacity:0; pointer-events:none; transition:.2s; }.toast.show { transform:none; opacity:1; }
[hidden] { display:none !important; }
.web-login{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:linear-gradient(155deg,#eeeae2 0%,#e8e3da 58%,#dfd9cf 100%)}.web-login::before{position:absolute;width:560px;height:560px;border:1px solid rgba(192,145,76,.38);border-radius:50%;content:''}.web-login form{position:relative;width:420px;padding:34px;border:1px solid rgba(214,185,139,.24);border-radius:18px;background:linear-gradient(155deg,#0f4038,#07342f);color:#f0e4d4;box-shadow:0 24px 80px rgba(35,39,34,.24)}.web-login p{margin:0;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:1.5px}.web-login h1{margin-top:7px}.web-login form>span{display:block;margin:8px 0 24px;color:rgba(218,211,199,.62)}.web-login label{display:grid;gap:7px;margin-top:14px;color:#f0e4d4;font-weight:600}.web-login input{height:44px;padding:0 12px;border:1px solid rgba(214,185,139,.24);border-radius:9px;outline:none;background:rgba(255,255,255,.08);color:#fff}.web-login input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,185,139,.14)}.web-login .primary{width:100%;margin-top:22px;background:linear-gradient(105deg,#efd19d,#d6a95f);color:#103a34}.web-login .primary:hover{filter:brightness(.97)}
.permission-options { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; margin:3px 0 0; padding:14px; border:1px solid #e3ddd7; border-radius:10px; }.permission-options legend { padding:0 6px; color:#5e5652; font-size:13px; font-weight:700; }.form-grid .permission-options label { display:flex; align-items:center; gap:7px; font-weight:500; }.permission-options input { width:auto !important; }.permission-options .sensitive-option { color:#9b4f43; }
.file-field small { color:var(--muted); font-weight:400; }.file-field span { width:max-content; padding:7px 10px; border-radius:7px; background:#e7f0e9; color:#477054; font-size:12px; font-weight:500; }.file-field input { padding:8px; background:#faf9f7; }.file-field input::file-selector-button { margin-right:10px; padding:7px 11px; border:0; border-radius:6px; background:#e9dfda; color:#6f4a41; cursor:pointer; }
.view { display:none; }.view.active { display:block; }.summary-four { grid-template-columns:repeat(4,1fr); }.panel-title { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }.panel-title>div { display:flex; flex-direction:column; }.panel-title strong { font-size:15px; }.panel-title small { margin-top:3px; color:var(--muted); }.panel-title input { width:250px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; outline:none; }.table-head { padding:10px 20px; background:#faf9f7; color:#918983; font-size:11px; font-weight:700; letter-spacing:.4px; }.employee-grid { display:grid; grid-template-columns:1.35fr .75fr 1.15fr .85fr .75fr .55fr; align-items:center; gap:16px; }.employee-line { width:100%; padding:15px 20px; border:0; border-top:1px solid #eeeae5; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }.employee-line:hover,.employee-line:focus-visible { background:#fcfaf8; outline:none; }.employee-line.selected { background:#faf3f0; box-shadow:inset 3px 0 var(--accent); }.person-cell { display:flex; align-items:center; gap:11px; min-width:0; }.avatar { display:grid; place-items:center; flex:0 0 auto; width:38px; height:38px; border-radius:11px; background:#eadad5; color:#8d4d41; font-weight:700; }.avatar.sage-avatar { background:#dfe9e1; color:#4e745a; }.person-cell strong,.person-cell small { display:block; }.person-cell small { margin-top:2px; color:var(--muted); font-size:11px; }.progress-cell { display:flex; align-items:center; gap:9px; }.progress-track { overflow:hidden; flex:1; height:7px; border-radius:99px; background:#ece8e3; }.progress-track i { display:block; height:100%; border-radius:inherit; background:var(--accent); }.metric { font-weight:700; }.risk-pill { width:max-content; padding:4px 9px; border-radius:99px; background:#e7f0e9; color:#497257; font-size:12px; }.risk-pill.attention { background:#f5e6d4; color:#9a6429; }.records-panel { margin-top:18px; }.record-grid { display:grid; grid-template-columns:1fr 1.8fr .7fr .75fr .8fr; align-items:center; gap:16px; }.record-line { padding:14px 20px; border-top:1px solid #eeeae5; }.record-line strong { display:block; }.learning-status { width:max-content; padding:4px 9px; border-radius:99px; background:#eeeae5; color:#756d67; font-size:12px; }.learning-status.completed { background:#e5f0e8; color:#477055; }.people-grid { display:grid; grid-template-columns:1.1fr 1.2fr .75fr .85fr .65fr .55fr; align-items:center; gap:16px; }.people-line { padding:15px 20px; border-top:1px solid #eeeae5; }.people-line button { width:max-content; padding:6px 9px; border:0; border-radius:7px; background:#f3e7e3; color:var(--accent-dark); }.account-state { width:max-content; padding:4px 9px; border-radius:99px; background:#e5f0e8; color:#467155; font-size:12px; }.account-state.disabled { background:#eeeae5; color:#887f79; }.small-dialog { width:480px; }.dialog-head span { display:block; margin-top:5px; color:var(--muted); }.form-grid.single { grid-template-columns:1fr; }.empty-row { padding:35px 20px; color:var(--muted); text-align:center; }.detail-records { margin-top:20px; }.detail-records>strong { display:block; margin-bottom:9px; }.detail-record-line { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:11px 12px; border-top:1px solid var(--line); }.detail-record-line>div:last-child { text-align:right; }.detail-record-line strong,.detail-record-line span,.detail-record-line b { display:block; }.detail-record-line span { margin-top:3px; color:var(--muted); font-size:11px; }.detail-empty { padding:22px 12px; border-radius:9px; background:#faf8f6; color:var(--muted); text-align:center; }
.header-actions { display:flex; align-items:center; gap:8px; }.header-actions a { display:inline-block; text-decoration:none; }.import-drop { display:grid; gap:8px; padding:28px; border:1px dashed #cdbeb6; border-radius:12px; background:#faf8f6; text-align:center; cursor:pointer; }.import-drop input { width:100%; margin-bottom:5px; }.import-drop strong { color:var(--accent-dark); }.import-drop span { color:var(--muted); font-size:12px; }.import-result { max-height:180px; margin-top:15px; padding:12px 14px; overflow:auto; border-radius:9px; background:#f5f1ed; color:#5f5752; font-size:12px; }.import-result.success { background:#e8f1ea; color:#416a4d; }.import-result ul { margin:8px 0 0; padding-left:18px; }
.replace-check { display:flex; align-items:center; gap:8px; margin-top:14px; color:#625954; font-size:13px; }.replace-check input { width:auto; }.people-line .action-group { display:flex; gap:4px; }.salary-grid { display:grid; grid-template-columns:.75fr 1.2fr .72fr .65fr .7fr 1fr .78fr .65fr; align-items:center; gap:13px; }.salary-line { padding:14px 20px; border-top:1px solid #eeeae5; }.money { font-variant-numeric:tabular-nums; font-weight:600; }.salary-total { color:var(--accent-dark); }.salary-parts { display:grid; grid-template-columns:1fr 1fr; gap:2px 8px; color:var(--muted); font-size:10px; }.salary-state { width:max-content; padding:4px 8px; border-radius:99px; background:#e5f0e8; color:#477055; font-size:11px; }.salary-state.pending { background:#f5e6d4; color:#956126; }.salary-detail-button { width:max-content; padding:7px 9px; border:0; border-radius:7px; background:#f3e7e3; color:var(--accent-dark); }.sensitive-panel { margin-top:18px; border-color:#dccbc4; }.kpi-policy-panel { margin-bottom:18px; }.pay-rule-bar { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-bottom:1px solid var(--line); background:var(--line); }.pay-rule-bar span { padding:13px 18px; background:#faf8f6; color:var(--muted); font-size:11px; }.pay-rule-bar b { margin-right:5px; color:var(--ink); }.department-kpi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:18px 20px; }.department-kpi-card { padding:15px; border:1px solid var(--line); border-radius:11px; background:#fff; }.department-kpi-card>div { display:flex; align-items:center; justify-content:space-between; gap:10px; }.department-kpi-card>div span { color:var(--accent); font-size:10px; }.department-kpi-card p { display:grid; gap:5px; margin:12px 0; }.department-kpi-card p span { display:flex; justify-content:space-between; color:#655e59; font-size:11px; }.department-kpi-card p b { color:var(--ink); }.department-kpi-card small { color:var(--muted); font-size:10px; }.issue-list { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px 20px; }.issue-box { padding:14px; border:1px solid transparent; border-radius:10px; background:#faf7f4; }.issue-box.selected { border-color:var(--accent); background:#fff7f4; box-shadow:0 0 0 2px #ad5f5017; }.issue-box strong { display:block; margin-bottom:6px; }.issue-box p { margin:4px 0; color:var(--muted); font-size:12px; }.profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--line); }.profile-grid>div { min-height:66px; padding:12px 14px; background:#fff; }.profile-grid span,.profile-grid strong { display:block; }.profile-grid span { color:var(--muted); font-size:11px; }.profile-grid strong { margin-top:5px; word-break:break-all; }.profile-grid .wide { grid-column:1/-1; }.review-value { color:#a3652e; }
.growth-overview-panel{margin-bottom:18px}.growth-principle{color:var(--accent);font-size:11px;font-weight:700}.growth-overview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.growth-overview-metrics>div{padding:15px 20px;background:#faf9f7}.growth-overview-metrics span,.growth-overview-metrics small,.growth-overview-metrics strong{display:block}.growth-overview-metrics span,.growth-overview-metrics small{color:var(--muted);font-size:11px}.growth-overview-metrics strong{margin:4px 0;color:var(--accent-dark);font-size:24px}.growth-employee-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 20px}.growth-person-card{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:inherit;text-align:left}.growth-person-card:hover{border-color:#d1ada4}.growth-person-card .avatar{grid-row:1/3}.growth-person-card strong,.growth-person-card small{display:block}.growth-person-card small{margin-top:3px;color:var(--muted);font-size:10px}.growth-person-card b{color:var(--accent);font-size:11px}.growth-person-card em{margin-left:6px;color:#5b765f;font-size:10px;font-style:normal}.growth-employee-list>.empty-row{grid-column:1/-1}
.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.dashboard-panel { min-height:410px; }.dashboard-line { display:grid; grid-template-columns:42px 1fr 18px; align-items:center; gap:12px; width:100%; padding:15px 18px; border:0; border-top:1px solid var(--line); background:#fff; color:inherit; text-align:left; }.dashboard-line:hover { background:#fcfaf8; }.dashboard-line.urgent { background:#fffaf8; }.dashboard-icon,.dashboard-number { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#eadbd6; color:#955043; font-weight:700; }.dashboard-line.urgent .dashboard-icon { background:#b85e4d; color:#fff; }.dashboard-number { background:#e3ece5; color:#4f7359; font-size:17px; }.dashboard-line span:nth-child(2) { min-width:0; }.dashboard-line small,.dashboard-line strong,.dashboard-line em { display:block; }.dashboard-line small { color:var(--accent); font-size:10px; }.dashboard-line strong { margin-top:3px; }.dashboard-line em { margin-top:4px; overflow:hidden; color:var(--muted); font-size:11px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.dashboard-line b { color:#b4aca6; font-size:20px; }.policy-web-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:18px 20px; }.policy-web-card { display:flex; align-items:flex-start; gap:11px; padding:15px; border:1px solid var(--line); border-radius:11px; background:#fff; color:inherit; text-align:left; }.policy-web-card:hover { border-color:#cfaaa1; }.policy-web-card>span { display:grid; place-items:center; flex:0 0 auto; width:36px; height:36px; border-radius:10px; background:#e4ece6; color:#55725d; font-weight:700; }.policy-web-card small,.policy-web-card strong { display:block; }.policy-web-card small { color:var(--accent); font-size:10px; }.policy-web-card strong { margin-top:5px; }.policy-web-card p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.lifecycle-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:1px; margin:18px 0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--line); }.lifecycle-strip span { padding:15px 12px; background:#fff; color:#6e6661; font-size:12px; text-align:center; }.lifecycle-strip span::after { content:'→'; float:right; color:#c9c1bc; }.lifecycle-strip span:last-child::after { content:''; }.lifecycle-strip .active { color:var(--accent-dark); font-weight:700; }
.development-grid { display:grid; grid-template-columns:1.35fr .8fr 1fr .85fr .65fr .65fr; align-items:center; gap:14px; }.development-line { width:100%; min-height:76px; padding:14px 20px; border-top:1px solid #eeeae5; background:#fff; cursor:pointer; }.development-line:hover { background:#fcfaf8; }.cell-muted { margin-top:4px; color:var(--muted); font-size:11px; }.case-status { width:max-content; padding:4px 9px; border-radius:99px; background:#f4e7d9; color:#98642e; font-size:11px; }.case-status.active { background:#e5efe7; color:#477055; }.case-action { justify-self:end; padding:7px 10px; border:0; border-radius:7px; background:#f3e7e3; color:var(--accent-dark); font-size:12px; cursor:pointer; }
.assessment-summary { display:grid; gap:7px; margin-bottom:18px; padding:14px; border-radius:10px; background:#f7f3f0; }.assessment-summary strong { color:var(--accent-dark); }.assessment-summary span { color:#5f5752; font-size:12px; line-height:1.6; }.assessment-summary small { color:var(--muted); font-size:10px; line-height:1.6; }
#managementDrillDialog { width:min(720px,calc(100vw - 60px)); max-height:calc(100vh - 36px); }.management-drill-list { flex:1; min-height:0; overflow:auto; border:1px solid var(--line); border-radius:12px; }.management-drill-row { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); }.management-drill-row:last-child { border-bottom:0; }.management-drill-row strong,.management-drill-row small { display:block; }.management-drill-row small { margin-top:4px; color:var(--muted); font-size:11px; }.management-drill-row>b { padding:4px 8px; border-radius:99px; background:#e7f0e9; color:#497257; font-size:11px; }#managementDrillDialog form { display:flex; max-height:calc(100vh - 36px); flex-direction:column; }#managementDrillDialog form footer { flex:0 0 auto; }
@media (max-width:1100px) { .development-grid { grid-template-columns:1.35fr .8fr 1fr .7fr .65fr; }.development-grid>*:nth-child(4) { display:none; }.lifecycle-strip { grid-template-columns:repeat(3,1fr); } }
.department-supervisor-panel { margin-bottom:18px; }
.department-supervisor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 20px; }
.department-supervisor-card { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; padding:15px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.department-supervisor-card strong,.department-supervisor-card span,.department-supervisor-card small { display:block; }
.department-supervisor-card span { margin-top:5px; color:var(--ink); font-size:13px; }
.department-supervisor-card span.pending { color:#9a6429; }
.department-supervisor-card small { margin-top:4px; color:var(--muted); font-size:11px; }
.department-supervisor-card button { padding:7px 10px; border:0; border-radius:8px; background:#f3e7e3; color:var(--accent-dark); }
.department-supervisor-note { padding:12px 13px; border-radius:9px; background:#faf7f4; color:var(--muted); font-size:12px; line-height:1.6; }

/* Web and mini-program share the same deep-green, champagne-gold and warm-gray brand theme. */
.actionable-summary .summary-action:hover,.development-summary .summary-action:hover,.growth-person-card:hover,.policy-web-card:hover { border-color:#b7c9c5; box-shadow:0 8px 22px rgba(14,58,52,.08); }
.actionable-summary .summary-action.selected,.development-summary .summary-action.selected,.employee-line.selected,.issue-box.selected { background:#f2f6f4; }
.filter.active,.row-actions button:hover,.people-line button,.salary-detail-button,.case-action,.department-supervisor-card button { background:#e9f0ee; color:var(--accent-dark); }
.toolbar input:focus,.panel-title input:focus { border-color:#6e918a; box-shadow:0 0 0 3px rgba(14,58,52,.09); outline:none; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#6e918a; box-shadow:0 0 0 3px rgba(14,58,52,.09); }
.type-icon,.avatar,.dashboard-icon,.reward-admin-icon { background:var(--gold-soft); color:var(--accent); }
.file-field input::file-selector-button { background:var(--gold-soft); color:var(--accent); }
.toast { background:var(--accent); color:#f0e4d4; }
.monthly-task-panel{margin-bottom:22px}.monthly-policy-form{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr)) auto;gap:12px;align-items:end;margin:18px 0;padding:16px;border-radius:14px;background:#f2f4f1}.monthly-policy-form label{display:grid;gap:7px;color:#686d68;font-size:12px}.monthly-policy-form input{width:100%;padding:10px;border:1px solid #d8ded8;border-radius:9px;background:#fff}.monthly-task-summary{display:flex;gap:12px;margin-bottom:14px}.monthly-task-summary span{padding:8px 12px;border-radius:999px;background:#edf3ef;color:#4f5e56;font-size:12px}.monthly-task-summary b{color:#0e3a34}.monthly-task-grid{display:grid;grid-template-columns:1.1fr 2.2fr 1.1fr .8fr .5fr;gap:16px;align-items:center}.monthly-task-line{padding:15px 4px;border-top:1px solid #edf0ed}.monthly-task-line strong,.monthly-task-line small{display:block}.monthly-task-line small{margin-top:4px;color:#858a86;font-size:12px}@media(max-width:1100px){.monthly-policy-form{grid-template-columns:repeat(3,1fr)}.monthly-task-grid{grid-template-columns:1fr 1.8fr 1fr .8fr .5fr}}
.operations-panel{margin-top:18px}.job-standard-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .7fr .55fr .45fr;gap:14px;align-items:center}.work-task-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.65fr) minmax(0,1.3fr);gap:14px;align-items:center}.work-task-grid>*{min-width:0}.operation-line{padding:15px 20px;border-top:1px solid #eeeae5}.operation-line strong,.operation-line small{display:block}.operation-line strong{overflow-wrap:anywhere}.operation-line small{margin-top:4px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-line .case-action{justify-self:start}@media(max-width:1100px){.job-standard-grid{grid-template-columns:1.1fr 1fr 1fr .6fr .45fr}.job-standard-grid>*:nth-child(4){display:none}.work-task-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,.65fr)}.work-task-grid>*:last-child{display:none}}
.work-task-history{margin-top:10px}.work-task-history summary{color:var(--accent);font-size:11px;font-weight:700;cursor:pointer}.work-task-timeline{display:grid;gap:0;margin-top:10px}.work-task-timeline article{display:grid;grid-template-columns:10px 1fr;gap:8px;position:relative;padding-bottom:12px}.work-task-timeline article:not(:last-child):before{content:"";position:absolute;left:4px;top:10px;bottom:0;width:1px;background:#d8d0c6}.work-task-timeline i{position:relative;z-index:1;width:9px;height:9px;margin-top:3px;border-radius:50%;background:var(--accent)}.work-task-timeline p,.work-task-timeline em,.work-task-timeline b{display:block;margin:4px 0 0;font-size:10px;line-height:1.45}.work-task-timeline p{color:#4e4a46}.work-task-timeline em{color:var(--muted);font-style:normal}.work-task-timeline b{color:var(--accent)}
.operation-actions{display:flex;gap:6px;margin-top:8px}.operation-actions button{padding:5px 8px;border:0;border-radius:7px;background:#e9f0ee;color:var(--accent-dark);font-size:11px}.operation-actions button:last-child{background:#f5e6d4;color:#8e5a27}
.nurse-pilot-panel{overflow:hidden;border-color:#cddbd6}.nurse-pilot-panel .panel-title{background:linear-gradient(135deg,#f4f8f6,#fbf7ef)}.pilot-readiness{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:20px;border-bottom:1px solid var(--line);background:#fbfcfb}.pilot-readiness>div:first-child{padding:16px;border-radius:13px;background:#0e3a34;color:#fff}.pilot-readiness span,.pilot-readiness strong,.pilot-readiness small{display:block}.pilot-readiness span{font-size:12px;opacity:.76}.pilot-readiness strong{margin:6px 0;font-size:30px}.pilot-readiness small{font-size:11px;line-height:1.5;opacity:.78}.pilot-checks{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-content:center}.pilot-checks span{padding:11px 9px;border:1px solid #e1ddd6;border-radius:10px;background:#fff;color:#837c75;font-size:11px;text-align:center}.pilot-checks span.complete{border-color:#b9d0c5;background:#eaf3ee;color:#35664f;font-weight:700}.pilot-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px}.pilot-form label{display:grid;gap:7px;color:#5e5652;font-size:12px;font-weight:650}.pilot-form .wide{grid-column:1/-1}.pilot-form input,.pilot-form select,.pilot-form textarea{width:100%;padding:10px 11px;border:1px solid #ddd7d1;border-radius:9px;background:#fff;color:var(--ink)}.pilot-form textarea{min-height:76px;resize:vertical}.pilot-form select[multiple]{min-height:124px}.pilot-form label small{color:var(--muted);font-size:10px;font-weight:400}.pilot-safety{padding:12px 14px;border-radius:10px;background:#fff5e8;color:#865c28;font-size:11px;line-height:1.55}.pilot-actions{display:flex;justify-content:flex-end;gap:9px}.pilot-actions button{padding:10px 15px;border-radius:9px}.nurse-pilot-panel.confirmed{border-color:#89ad99}.nurse-pilot-panel.confirmed .panel-title{background:#eef6f1}@media(max-width:1100px){.pilot-readiness{grid-template-columns:1fr}.pilot-checks{grid-template-columns:repeat(3,1fr)}}
.organization-panel{margin-top:18px}.organization-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 20px}.organization-unit-card{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff}.organization-unit-card>div:last-child{grid-column:2}.organization-unit-card strong,.organization-unit-card small,.organization-unit-card span{display:block}.organization-unit-card small{margin-top:3px;color:var(--muted);font-size:11px}.organization-type{grid-row:1/3;width:max-content;height:max-content;padding:4px 8px;border-radius:99px;background:var(--gold-soft);color:var(--accent);font-size:10px;font-weight:700}.organization-position-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr .55fr .55fr;align-items:center;gap:14px}.organization-assignment-grid{display:grid;grid-template-columns:1fr 1.2fr .9fr .9fr .5fr;align-items:center;gap:14px}.organization-line{padding:14px 20px;border-top:1px solid var(--line)}.organization-line small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.organization-history-line{display:grid;grid-template-columns:1fr 1.6fr .8fr;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line)}.organization-history-line strong,.organization-history-line small{display:block}.organization-history-line small{margin-top:3px;color:var(--muted);font-size:11px}@media(max-width:1100px){.organization-unit-grid{grid-template-columns:repeat(2,1fr)}.organization-position-grid{grid-template-columns:1fr 1fr 1fr .5fr}.organization-position-grid>*:last-child{display:none}.organization-assignment-grid{grid-template-columns:1fr 1.2fr .9fr .5fr}.organization-assignment-grid>*:nth-child(4){display:none}}
.owner-decision-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.owner-decision-strip button{display:flex;min-height:132px;padding:22px;border:1px solid #e8e4de;border-radius:20px;background:#fff;flex-direction:column;text-align:left;transition:border-color .18s,box-shadow .18s,transform .18s}.owner-decision-strip button:hover{border-color:#0e3a34;box-shadow:0 10px 24px rgba(14,58,52,.08);transform:translateY(-2px)}.owner-decision-strip span{color:#77716b;font-size:13px}.owner-decision-strip strong{margin-top:10px;color:#272421;font-size:36px}.owner-decision-strip small{margin-top:auto;color:#0e3a34;font-size:12px;font-weight:650}.operations-focus-grid{align-items:start}.intervention-panel-title{align-items:center}.focus-summary{padding:6px 10px;border-radius:999px;background:#edf3ef;color:#2f6452;font-size:11px;font-weight:700;white-space:nowrap}.intervention-web-line{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;padding:18px 0;border-bottom:1px solid #ece8e2}.intervention-web-line:last-child{border-bottom:0}.intervention-web-line.red{border-left:4px solid #bd4437;padding-left:14px}.intervention-web-line.yellow{border-left:4px solid #d18d20;padding-left:14px}.intervention-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:48px;border-radius:14px;background:#eeeae5;color:#35312e;flex-direction:column}.intervention-avatar b{font-size:16px}.intervention-avatar small{font-size:9px}.intervention-main{display:flex;min-width:0;flex-direction:column;gap:7px}.intervention-web-line small{color:#77716b}.intervention-web-line strong{font-size:15px}.intervention-tags{display:flex;gap:6px;flex-wrap:wrap}.intervention-tags span{padding:4px 7px;border-radius:999px;background:#f4f1ed;color:#625d58;font-size:10px}.intervention-tags span:first-child{background:#fff2dc;color:#8a5c13}.intervention-tags span.handling{background:#e7f2eb;color:#2f6452}.intervention-reasoning{display:grid;gap:7px;margin:2px 0 0}.intervention-reasoning div{display:grid;grid-template-columns:126px minmax(0,1fr);gap:9px}.intervention-reasoning dt,.intervention-reasoning dd{margin:0;font-size:12px;line-height:1.5}.intervention-reasoning dt{color:#77716b;font-weight:650}.intervention-reasoning dd{color:#403c38}.intervention-reasoning div:nth-child(2) dd{color:#8a5c13}.intervention-reasoning div:nth-child(3) dd{color:#2f6452;font-weight:650}.intervention-main footer{display:flex;gap:12px;margin-top:2px;color:#77716b;font-size:10px}.intervention-web-line>button{align-self:center;padding:8px 12px;border:0;border-radius:10px;background:#2f6452;color:#fff;white-space:nowrap;cursor:pointer}.role-health-web-line{display:grid;width:100%;grid-template-columns:12px minmax(0,1fr) auto;gap:13px;align-items:start;padding:16px 0;border:0;border-bottom:1px solid #ece8e2;background:transparent;text-align:left}.role-health-web-line:hover{background:#f8f6f3}.role-health-web-line:last-child{border-bottom:0}.role-health-web-line i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#9b9995}.role-health-web-line i.red{background:#bd4437}.role-health-web-line i.yellow{background:#d18d20}.role-health-web-line i.green{background:#397255}.role-health-web-line>div{display:flex;min-width:0;flex-direction:column;gap:5px}.role-health-title{display:flex;align-items:center;gap:8px}.role-health-title b{padding:3px 7px;border-radius:999px;background:#f4f1ed;color:#625d58;font-size:9px}.role-health-web-line strong{font-size:14px}.role-health-web-line small,.role-health-web-line p,.role-health-web-line em{margin:0;color:#77716b;font-size:12px;line-height:1.45}.role-health-web-line em{font-style:normal}.role-health-web-line .learning-health{padding-top:4px;border-top:1px dashed #ece8e2;color:#77716b;font-size:10px}.role-health-web-line .learning-health.red{color:#a64a3e}.role-health-web-line .learning-health.yellow{color:#8a5c13}.role-health-web-line .learning-health.green{color:#397255}.role-health-web-line>span{padding:6px 9px;border-radius:10px;background:#f4f1ed;color:#625d58;font-size:11px;white-space:nowrap}.role-problem-row>i{width:10px;height:10px;border-radius:50%;background:#d18d20}.role-problem-row>i.health-red{background:#bd4437}@media(max-width:980px){.owner-decision-strip{grid-template-columns:1fr}.intervention-web-line{grid-template-columns:42px minmax(0,1fr)}.intervention-web-line>button{grid-column:2;justify-self:start}.intervention-reasoning div{grid-template-columns:1fr}.role-health-web-line{grid-template-columns:12px minmax(0,1fr)}.role-health-web-line>span{grid-column:2;justify-self:start}}
.activation-panel{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#faf8f6}.activation-panel>small{color:var(--muted);font-size:11px}.activation-panel>button{justify-self:start}.activation-result{display:grid;gap:5px;margin-top:4px;padding:12px;border-radius:9px;background:#e8f1ea;color:#416a4d}.activation-result strong{font-size:24px;letter-spacing:3px}.activation-result span,.activation-result small{font-size:11px}

@media (max-width:720px) {
  body { min-width:0; }
  .sidebar { position:sticky; z-index:20; top:0; width:100%; padding:12px 14px 10px; display:grid; grid-template-columns:1fr auto; gap:8px 12px; box-shadow:0 6px 20px rgba(14,58,52,.08); }
  .brand { padding:0; border:0; }
  .brand>span { width:36px; height:36px; border-radius:11px; font-size:16px; }
  .brand small { font-size:10px; }
  nav { grid-column:1/-1; display:flex; gap:6px; margin:0; padding-bottom:2px; overflow-x:auto; scrollbar-width:none; }
  nav::-webkit-scrollbar { display:none; }
  nav a { flex:0 0 auto; padding:8px 11px; border:1px solid transparent; border-radius:9px; font-size:12px; white-space:nowrap; }
  nav a.active { border-color:#d7dfda; box-shadow:none; }
  nav em { display:none; }
  .account-wrap { margin:0; padding:0; border:0; }
  .account { width:auto; padding:2px 4px; }
  .account>span { width:32px; height:32px; }
  .account div { display:none; }
  .account-menu { right:0; bottom:auto; left:auto; top:44px; width:min(292px,calc(100vw - 28px)); }
  main { margin-left:0; padding:22px 14px 48px; }
  header { align-items:flex-start; flex-direction:column; gap:16px; }
  h1 { font-size:26px; }
  .header-actions { width:100%; flex-wrap:wrap; }
  .header-actions .primary,.header-actions .secondary,.header-actions a { flex:1 1 auto; text-align:center; }
  .summary,.summary-four,.dashboard-grid,.owner-decision-strip,.weekly-change-strip,.organization-unit-grid,.department-supervisor-grid,.department-kpi-grid,.policy-web-grid,.growth-employee-list,.issue-list,.pay-rule-bar { grid-template-columns:1fr; }
  .summary { gap:10px; margin-top:20px; }
  .summary article,.summary .summary-action { padding:17px 18px; }
  .panel-title { align-items:flex-start; flex-direction:column; gap:12px; }
  .panel-title input,.toolbar input { width:100%; }
  .toolbar { align-items:stretch; flex-direction:column; gap:10px; }
  .toolbar>div { overflow-x:auto; }
  .content-panel { overflow-x:auto; }
  .content-row,.employee-grid,.record-grid,.people-grid,.salary-grid,.development-grid,.monthly-task-grid,.job-standard-grid,.work-task-grid,.organization-position-grid,.organization-assignment-grid,.organization-history-line { min-width:760px; }
  .department-supervisor-grid,.organization-unit-grid,.department-kpi-grid,.policy-web-grid,.growth-employee-list,.issue-list { padding:14px; }
  .lifecycle-strip { grid-template-columns:repeat(2,1fr); }
  .pilot-form,.form-grid,.profile-grid { grid-template-columns:1fr; }
  .form-grid .wide,.profile-grid .wide,.pilot-form .wide { grid-column:1; }
  dialog,.small-dialog,#managementDrillDialog { width:calc(100vw - 24px); max-height:calc(100vh - 24px); }
  dialog form { max-height:calc(100vh - 24px); padding:20px 18px 18px; overflow:auto; }
  .permission-options { grid-template-columns:1fr; }
  .web-login form { width:calc(100vw - 28px); padding:26px 22px; }
  .web-login::before { width:90vw; height:90vw; }
}
