:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{letter-spacing:0}.login-shell{color:#1f2937;background:linear-gradient(135deg,#172033e0,#0f172ab8),#eef2f6;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d8e0ea;border-radius:8px;gap:24px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 24px 70px #0f172a38}.login-brand{color:#172033;border-bottom:1px solid #e2e8f0;padding:0 0 18px}.login-brand span{color:#64748b}.login-copy{gap:8px;display:grid}.login-copy p:last-child{color:#64748b;line-height:1.6}.login-form{gap:14px;display:grid}.login-form label{color:#334155;gap:8px;font-size:14px;font-weight:700;display:grid}.login-form input{color:#0f172a;min-height:46px;font:inherit;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.login-form input:focus{outline-offset:1px;outline:2px solid #2563eb}.login-error{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;font-size:14px}.wecom-login-link{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;place-items:center;min-height:42px;font-weight:700;text-decoration:none;display:grid}.shell{color:#1f2937;background:#eef2f6;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e5edf8;background:#172033;flex-direction:column;gap:24px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:4px 6px 16px;display:flex}.brand-mark{color:#0f172a;background:#a7f3d0;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:#9fb0c7;font-size:13px}.nav-list{gap:8px;display:grid}.nav-item{color:#c7d2e2;cursor:pointer;width:100%;min-height:42px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.security-note{color:#c7d2e2;background:#ffffff14;border-radius:8px;gap:10px;margin-top:auto;padding:14px;font-size:13px;line-height:1.5;display:flex}.security-note p{margin:0}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.eyebrow{color:#64748b;margin:0 0 6px;font-size:13px}h1,h2,h3,p{margin:0}h1{color:#111827;font-size:30px;font-weight:750;line-height:1.2}h2{color:#1f2937;font-size:18px;font-weight:700;line-height:1.3}h3{color:#334155;font-size:15px;font-weight:700}.profile{background:#fff;border:1px solid #d8e0ea;border-radius:8px;justify-items:end;gap:4px;padding:10px 14px;display:grid}.profile span{color:#64748b;font-size:12px}.profile strong{color:#0f172a;font-size:14px}.profile button{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.role-card,.panel,.metric-card{background:#fff;border:1px solid #d8e0ea;border-radius:8px;box-shadow:0 10px 30px #0f172a0a}.role-card{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.role-card p,.panel-title p{color:#64748b;margin-top:4px;font-size:14px}.role-pill{color:#065f46;background:#d1fae5;border-radius:8px;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.notice{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:14px}.warning-notice{color:#92400e;background:#fffbeb;border-color:#fde68a}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric-card{border-left-width:5px;min-height:112px;padding:18px}.metric-card span{color:#64748b;font-size:14px}.metric-card strong{letter-spacing:0;margin-top:14px;font-size:44px;line-height:1;display:block}.metric-card.blue{border-left-color:#2563eb}.metric-card.cyan{border-left-color:#0891b2}.metric-card.amber{border-left-color:#d97706}.metric-card.red{border-left-color:#dc2626}.panel{margin-bottom:18px;padding:18px}.panel-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.action-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.action-card{color:#172033;min-height:132px;font:inherit;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;gap:8px;padding:14px;text-decoration:none;display:grid}.action-card:hover{border-color:#2563eb;box-shadow:0 8px 18px #2563eb1f}.action-card.selected{background:#eff6ff;border-color:#2563eb}.action-card strong{font-size:15px}.action-card span{color:#64748b;font-size:13px;line-height:1.45}.record-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field>span{color:#475569;font-size:13px;font-weight:700}.field b{color:#dc2626;margin-left:3px}.field input,.field select,.field textarea{color:#172033;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:0;padding:10px 11px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.span-2{grid-column:1/-1}.inline-options{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;min-height:42px;padding:8px;display:flex}.inline-options label{color:#334155;align-items:center;gap:6px;font-size:14px;display:inline-flex}.button-row{justify-content:flex-end;display:flex}.primary-button{color:#fff;min-width:120px;min-height:42px;font:inherit;cursor:pointer;background:#1d4ed8;border:0;border-radius:8px;padding:0 18px;font-weight:700}.primary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{color:#1d4ed8;min-width:120px;min-height:42px;font:inherit;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:0 18px;font-weight:700}.secondary-button:disabled{cursor:not-allowed;opacity:.45}.reminder-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.user-form{margin-bottom:18px}.user-form-actions{gap:10px}.user-table{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.user-head,.user-row{grid-template-columns:minmax(180px,1.1fr) 120px minmax(180px,1fr) minmax(180px,1fr) 80px 76px;align-items:center;gap:12px;min-width:900px;padding:11px 12px;display:grid}.user-head{color:#475569;background:#f1f5f9;font-size:13px;font-weight:700}.user-row{color:#334155;border-top:1px solid #e2e8f0;font-size:14px}.user-row strong,.user-row small{display:block}.user-row small{color:#64748b;margin-top:3px;font-size:12px}.text-button{color:#2563eb;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.chart-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.mini-chart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.bars{align-items:end;gap:18px;min-height:160px;padding-top:24px;display:flex}.bar-item{color:#64748b;flex:1;justify-items:center;gap:8px;display:grid}.bar{color:#fff;border-radius:6px 6px 3px 3px;justify-content:center;align-items:flex-start;width:46px;padding-top:8px;font-size:13px;font-weight:700;display:flex}.tone-0{background:#2563eb}.tone-1{background:#0891b2}.tone-2{background:#d97706}.tone-3{background:#16a34a}.tone-4{background:#dc2626}.search-box{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:11px 12px;display:flex}.search-box input{color:#172033;min-width:0;font:inherit;border:0;outline:0;flex:1}.case-list{gap:10px;display:grid}.case-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:14px;padding:13px 14px;display:grid}.case-row strong,.case-row span{display:block}.case-row strong{margin-bottom:4px}.case-row span{color:#64748b;font-size:13px}.case-row>div:last-child{text-align:right;justify-content:flex-end;align-items:center;gap:10px;display:flex}.selected-case-row{background:#eff6ff;border-color:#2563eb}.detail-panel{background:#fff;border:1px solid #bfdbfe;border-radius:8px;gap:16px;margin-top:14px;padding:16px;display:grid}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:5px;padding:12px;display:grid}.detail-item span{color:#64748b;font-size:12px}.detail-item strong{color:#172033;overflow-wrap:anywhere;font-size:14px}.detail-item select,.compact-row select{color:#172033;min-height:34px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 8px}.detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.detail-columns h3{margin-bottom:10px}.compact-list{gap:8px;display:grid}.compact-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:4px;padding:11px 12px;display:grid}.compact-row span{color:#64748b;font-size:13px;line-height:1.5}.status{border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.status.active{color:#1d4ed8;background:#dbeafe}.status.warning{color:#92400e;background:#fef3c7}.status.danger{color:#991b1b;background:#fee2e2}.status.neutral{color:#334155;background:#e2e8f0}.item-table{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.item-head,.item-row{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 90px 120px minmax(150px,1fr) 100px;align-items:center;gap:12px;min-width:980px;padding:11px 12px;display:grid}.item-head{color:#475569;background:#f1f5f9;font-size:13px;font-weight:700}.item-row{color:#334155;border-top:1px solid #e2e8f0;font-size:14px}.muted-panel{background:#f8fafc}.next-list{color:#475569;margin:0;padding-left:20px;line-height:1.8}.followup-list{gap:10px;display:grid}.followup-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:13px 14px;display:grid}.followup-row strong,.followup-row span,.followup-row small{display:block}.followup-row span,.followup-row small{color:#64748b;font-size:13px}.followup-row p{color:#334155;line-height:1.55}.migration-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.reminder-toolbar{justify-content:space-between;align-items:stretch;gap:14px;margin-bottom:14px;display:flex}.reminder-summary{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reminder-table{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.reminder-head,.reminder-row{grid-template-columns:96px minmax(240px,1.3fr) minmax(220px,1fr) minmax(160px,.8fr) 150px minmax(180px,.9fr);align-items:center;gap:12px;min-width:1180px;padding:11px 12px;display:grid}.reminder-head{color:#475569;background:#f1f5f9;font-size:13px;font-weight:700}.reminder-row{color:#334155;border-top:1px solid #e2e8f0;font-size:14px}.reminder-row span{overflow-wrap:anywhere;min-width:0}.reminder-row small{color:#64748b;margin-top:4px;font-size:12px;display:block}.migration-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:14px;display:grid}.migration-card span,.muted-text{color:#64748b;font-size:13px}.migration-card strong{color:#172033}.empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:8px;padding:18px}.table-empty{border:0;border-top:1px dashed #cbd5e1;min-width:980px}@media (width<=1120px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid,.chart-row,.detail-grid,.detail-columns,.action-grid,.migration-grid,.reminder-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.workspace{padding:16px}.topbar,.role-card,.case-row{grid-template-columns:1fr;display:grid}.profile{justify-items:start}.nav-list,.metric-grid,.chart-row,.detail-grid,.detail-columns,.action-grid,.record-form,.migration-grid,.reminder-summary{grid-template-columns:1fr}.reminder-toolbar{display:grid}.span-2{grid-column:auto}.case-row>div:last-child{text-align:left;justify-content:space-between}}
