:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#1a2332;background:#eef0f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,a,.metric-card,.panel,.pipeline-card,.nav-button,.fact-grid div{transition:all .15s ease}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit}.login-backdrop{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#162032,#1e3050,#162032);padding:24px}.login-card{background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000040;padding:48px 40px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;text-align:center}.login-card h2{margin:0;font-size:22px;color:#162032;font-weight:700}.login-card>p{margin:0;color:#64748b;font-size:14px}.login-card input{padding:12px 16px;border:1px solid #d0d5dd;border-radius:8px;font-size:15px;background:#fafbfc;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-card input:focus{border-color:#c9943e;box-shadow:0 0 0 3px #c9943e26}.login-card button{padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#1e56a0,#1a4d8f);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.login-card button:hover:not(:disabled){opacity:.9}.login-card button:disabled{opacity:.5;cursor:not-allowed}.login-error{margin:0;color:#dc2626;font-size:13px;font-weight:500}.app-shell{min-height:100dvh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#162032;color:#e2e8f0;padding:24px}.sidebar h1{font-size:20px;line-height:1.35;margin:0 0 28px;padding-bottom:16px;border-bottom:2px solid #c9943e;color:#fff}.nav-list{display:grid;gap:8px}.nav-button{width:100%;border:0;border-left:3px solid transparent;border-radius:0 8px 8px 0;padding:11px 12px;display:flex;align-items:center;gap:10px;background:transparent;color:#94a3b8;text-align:left;cursor:pointer}.nav-button:hover{background:#ffffff0f;color:#e2e8f0}.nav-button.active,.nav-button:focus-visible{background:#1e3050;border-left-color:#c9943e;color:#fff}.main-panel{min-width:0;padding:28px}.page-header{margin-bottom:20px}.eyebrow{margin:0 0 4px;color:#64748b;font-size:13px}.main-panel h2{margin:0;font-size:28px;color:#1a2332;font-weight:800}.placeholder-panel{min-height:220px;border:1px dashed #c9d5e3;border-radius:10px;padding:32px;display:grid;align-content:center;gap:12px;background:#fff;color:#5a6577}.placeholder-panel p{max-width:560px;margin:0;font-size:17px}.placeholder-panel span{color:#64748b}.screen-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0}.metric-card,.panel{background:#fff;border:none;border-radius:10px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;min-width:0;padding:18px;overflow-wrap:anywhere}.metric-card{border-left:3px solid #c9943e}.metric-button{width:100%;cursor:pointer;text-align:left}.metric-button:hover,.metric-button:focus-visible{box-shadow:0 4px 12px #c9943e26;transform:translateY(-1px)}.metric-button.active{box-shadow:0 0 0 2px #c9943e,0 4px 12px #c9943e26}.metric-card span{display:block;color:#6b7a8d;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px}.metric-card strong{display:block;font-size:32px;line-height:1;color:#1a2332}.drilldown-panel{box-shadow:0 0 0 2px #c9943e,0 4px 12px #c9943e1a}.panel{grid-column:span 2}.panel.wide{grid-column:1 / -1}.demo-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.segmented-control{display:inline-grid;grid-auto-flow:column;gap:2px;padding:3px;border:none;border-radius:8px;background:#e8ecf1}.segmented-control button{border:0;border-radius:6px;padding:8px 12px;background:transparent;color:#5a6577;cursor:pointer;font:inherit;white-space:nowrap}.segmented-control button.active{background:#fff;color:#1a2332;font-weight:600;box-shadow:0 1px 3px #0000001a}.segmented-control button:hover:not(.active){color:#1a2332}.segmented-control button:focus-visible{outline:2px solid #c9943e}.success-text{margin:8px 0 0;color:#047857;font-weight:700}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-width:0}.panel h3{margin:0;min-width:0;font-size:15px;font-weight:700;color:#1a2332;overflow-wrap:anywhere}.count-label{flex:0 0 auto;min-width:32px;border-radius:999px;padding:3px 9px;background:#c9943e1f;color:#8b6914;font-size:13px;font-weight:700;text-align:center}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.badge-pending{background:#c9943e1f;color:#8b6914}.badge-info{background:#1e56a01a;color:#1e56a0}.badge-positive{background:#16a34a1a;color:#15803d}.badge-progress{background:#0d94881a;color:#0f766e}.badge-deep{background:#6d28d91a;color:#6d28d9}.badge-negative{background:#dc262614;color:#dc2626}.badge-closed{background:#6b72801a;color:#6b7280}.badge-neutral{background:#6b72800f;color:#9ca3af}.empty-text{margin:0;color:#64748b;overflow-wrap:anywhere}.bp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;max-width:720px}.bp-form .primary-action,.bp-form .form-hint{grid-column:1 / -1}.form-field{display:grid;gap:6px;color:#334155;font-size:14px;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:10px 12px;color:#1a2332;background:#fafbfc;font-weight:400;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#c9943e;outline:none;box-shadow:0 0 0 3px #c9943e26;background:#fff}.full-span{grid-column:1 / -1}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:18px}.draft-list{display:grid;gap:10px;margin-bottom:18px}.draft-list h4{margin:0;font-size:15px}.draft-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #fde68a;border-radius:8px;padding:12px;background:#fffbeb}.draft-card p{margin:6px 0 0}.warning-text{margin:0 0 12px;color:#b45309;font-size:14px;font-weight:700}.primary-action{justify-self:start;border:0;border-radius:8px;padding:10px 16px;background:linear-gradient(135deg,#1e56a0,#1a4d8f);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 1px 3px #1e56a04d}.primary-action:hover:not(:disabled){background:linear-gradient(135deg,#1a4d8f,#163e73);box-shadow:0 2px 6px #1e56a066;transform:translateY(-1px)}.primary-action:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed}.secondary-action{flex:0 0 auto;border:1px solid #c9d5e3;border-radius:8px;padding:8px 14px;background:#fff;color:#1e56a0;font-weight:700;cursor:pointer}.secondary-action:hover{background:#f0f4f8;border-color:#1e56a0}.secondary-link{display:inline-flex;align-items:center;border:1px solid #c9d5e3;border-radius:8px;padding:8px 14px;background:#fff;color:#1e56a0;font-weight:700;text-decoration:none}.secondary-link:hover,.secondary-link:focus-visible{background:#f0f4f8;border-color:#1e56a0}.link-button{border:0;padding:0;background:transparent;color:#1e56a0;font-weight:600;text-align:left;cursor:pointer}.link-button:hover,.link-button:focus-visible{color:#c9943e;text-decoration:underline}.prompt-helper{display:grid;gap:10px;border:1px solid #dbeafe;border-radius:8px;padding:12px;background:#f8fbff}.prompt-helper-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.prompt-helper-header p{margin:4px 0 0;font-size:13px;font-weight:400}.prompt-text{max-height:260px;margin:0;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;color:#334155;font:13px/1.7 Microsoft YaHei,PingFang SC,system-ui,sans-serif;white-space:pre-wrap}.attachment-actions{margin-top:14px}.muted{color:#64748b}.data-list{display:grid;gap:10px;margin:0;min-width:0;padding:0;list-style:none}.data-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;border-top:1px solid #edf2f7;padding-top:10px}.data-list li>*{min-width:0;overflow-wrap:anywhere}.data-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border:none;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #00000014}.data-table th,.data-table td{min-width:0;padding:12px 16px;border-top:1px solid #e8ecf1;color:#1a2332;overflow-wrap:anywhere;text-align:left;vertical-align:top}.data-table thead th{border-top:0;background:#1e293b;color:#cbd5e1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.data-table tbody tr:nth-child(2n){background:#f8f9fb}.data-table tbody tr:hover{background:#c9943e0d}.project-table th:nth-child(1),.project-table td:nth-child(1){width:32%}.project-table th:nth-child(2),.project-table td:nth-child(2){width:22%}.project-table th:nth-child(3),.project-table td:nth-child(3){width:18%}.project-table th:nth-child(4),.project-table td:nth-child(4){width:10%}.project-table th:nth-child(5),.project-table td:nth-child(5){width:18%}.client-table th:nth-child(1),.client-table td:nth-child(1){width:35%}.client-table th:nth-child(2),.client-table td:nth-child(2){width:25%}.client-table th:nth-child(3),.client-table td:nth-child(3){width:25%}.client-table th:nth-child(4),.client-table td:nth-child(4){width:15%}.match-table th,.match-table td,.visit-table th,.visit-table td{width:25%}.detail-stack{display:grid;gap:16px}.detail-hero{display:flex;flex-direction:column;gap:18px}.detail-hero h3{margin:0 0 8px;font-size:24px}.detail-hero p:last-child{margin:0;color:#475569}.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fact-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.fact-grid div{min-width:0;border:none;border-left:3px solid #d0d5dd;border-radius:0 8px 8px 0;padding:12px 14px;background:#f5f7fa}.fact-grid span{display:block;margin-bottom:6px;color:#64748b;font-size:13px}.fact-grid strong{display:block;min-width:0;overflow-wrap:anywhere}.detail-notes{display:grid;gap:8px;margin-top:14px}.detail-notes p,.table-note{margin:0;color:#475569}.detail-table th:nth-child(1),.detail-table td:nth-child(1){width:26%}.detail-table th:nth-child(2),.detail-table td:nth-child(2){width:16%}.detail-table th:nth-child(3),.detail-table td:nth-child(3){width:16%}.detail-table th:nth-child(4),.detail-table td:nth-child(4){width:42%}.timeline-list,.inline-link-list,.timeline-actions{display:grid;gap:8px}.timeline-list{margin:0;padding:0;list-style:none}.timeline-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-top:1px solid #edf2f7;padding-top:12px}.timeline-list li:first-child{border-top:0;padding-top:0}.timeline-list span{display:block;margin-bottom:4px;color:#64748b;font-size:13px}.timeline-list strong,.timeline-list p{display:block;margin:0}.timeline-list p{margin-top:4px;color:#475569}.pipeline-container{display:grid;gap:16px}.pipeline-summary{display:flex;gap:4px;padding:14px 18px;background:#fff;border:none;border-radius:10px;box-shadow:0 1px 3px #00000014;overflow-x:auto}.pipeline-summary-item{flex:1 0 0;display:grid;gap:6px;justify-items:center;min-width:64px}.pipeline-summary-count{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;color:#fff;font-size:14px;font-weight:700}.pipeline-summary-label{color:#475569;font-size:12px;font-weight:600;text-align:center;white-space:nowrap}.pipeline-total{margin:0;color:#64748b;font-size:13px}.pipeline-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.pipeline-column{min-width:0;background:#f5f7fa;border:none;border-radius:10px;box-shadow:0 1px 2px #0000000f;overflow:hidden}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:3px solid;background:#fff}.pipeline-column-title{font-size:13px;font-weight:700;color:#1e293b}.pipeline-column-count{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;padding:0 6px;color:#fff;font-size:12px;font-weight:700}.pipeline-column-body{display:grid;gap:8px;padding:10px;max-height:520px;overflow-y:auto}.pipeline-card{border:none;border-left:3px solid;border-radius:6px;padding:10px 12px;background:#fff;box-shadow:0 1px 2px #0000000f;cursor:default}.pipeline-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.pipeline-card-name{display:block;margin-bottom:6px;font-size:13px}.pipeline-card-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:#64748b}.pipeline-card-meta span{display:inline-block}.pipeline-score{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:4px;background:#f1f5f9;color:#334155;font-weight:700;font-size:11px}.pipeline-card-action{margin:6px 0 0;font-size:12px;color:#475569}.pipeline-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:6px}.stage-select,.stage-select-inline{border:1.5px solid #cbd5e1;border-radius:6px;padding:3px 6px;background:#f8fafc;color:#334155;font-size:12px;font-weight:600;cursor:pointer}.stage-select:focus,.stage-select-inline:focus{outline:3px solid #dbeafe}.stage-select-inline{padding:5px 8px;font-size:13px}.score-select-inline{border:1.5px solid #cbd5e1;border-radius:6px;padding:4px 8px;background:#f8fafc;color:#334155;font-size:13px;font-weight:600;cursor:pointer;width:52px;text-align:center}.score-select-inline:focus{outline:3px solid #dbeafe}.filter-grid-5{grid-template-columns:repeat(4,minmax(120px,1fr))}.pipeline-project-table th:nth-child(1),.pipeline-project-table td:nth-child(1){width:24%}.pipeline-project-table th:nth-child(2),.pipeline-project-table td:nth-child(2){width:14%}.pipeline-project-table th:nth-child(3),.pipeline-project-table td:nth-child(3){width:12%}.pipeline-project-table th:nth-child(4),.pipeline-project-table td:nth-child(4){width:10%}.pipeline-project-table th:nth-child(5),.pipeline-project-table td:nth-child(5){width:24%}.pipeline-project-table th:nth-child(6),.pipeline-project-table td:nth-child(6){width:16%}.detail-back{align-self:flex-start;background:none;border:none;color:#6b7a8d;font-size:13px;font-weight:500;padding:0;cursor:pointer}.detail-back:hover{color:#c9943e}.detail-hero-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.detail-hero-header>div:first-child{flex:1 1 200px;min-width:0}.detail-hero-actions{display:flex;gap:8px;flex-shrink:0;align-self:flex-start;margin-top:18px}.danger-action{flex:0 0 auto;background:#fff;color:#b91c1c;border:1px solid #e5c5c5;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}.danger-action:hover{background:#fef2f2;border-color:#dc2626}.edit-form-inline{display:grid;gap:10px;margin-top:8px}.edit-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.detail-stage-control{margin-left:auto;display:grid;gap:4px;justify-items:end}.detail-stage-label{color:#64748b;font-size:12px;font-weight:600}.pipeline-empty{margin:0;padding:8px 0;color:#94a3b8;font-size:12px;text-align:center}.action-cell{white-space:nowrap}.table-action{border:none;background:none;cursor:pointer;font-size:12px;padding:3px 8px;border-radius:4px;font-weight:500}.table-action.edit{color:#1e56a0}.table-action.edit:hover{background:#eef3fa}.table-action.delete{color:#dc2626}.table-action.delete:hover{background:#fef2f2}.form-hint{grid-column:1 / -1;margin:0;padding:8px 12px;background:#eff6ff;border-radius:6px;font-size:13px;color:#1e40af}@media(max-width:1024px){.screen-grid,.fact-grid,.fact-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid,.filter-grid-5{grid-template-columns:repeat(2,minmax(120px,1fr))}.edit-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.bp-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-form .full-span,.bp-form .primary-action,.bp-form .form-hint{grid-column:1 / -1}}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.sidebar{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));min-width:0;overflow:hidden}.sidebar h1{font-size:16px;margin:0 0 10px}.nav-list{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.nav-button{flex:0 0 auto;width:auto;padding:10px 16px;font-size:13px;white-space:nowrap;min-height:44px}.main-panel{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.main-panel h2{font-size:22px}.screen-grid{grid-template-columns:1fr}.panel,.panel.wide{grid-column:1 / -1}.bp-form,.filter-grid,.filter-grid-5{grid-template-columns:1fr}.fact-grid,.fact-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-form-grid{grid-template-columns:1fr}.panel{overflow-x:auto}.data-table{min-width:560px;table-layout:auto}.data-table th,.data-table td{padding:10px 12px;font-size:13px;width:auto!important}.visit-table{min-width:640px}.match-table,.pipeline-project-table{min-width:720px}.detail-hero,.timeline-list li{display:grid}.detail-hero h3{font-size:20px}.detail-hero-actions{margin-top:12px}.draft-card,.prompt-helper-header{display:grid}.demo-panel{flex-wrap:wrap}.segmented-control button{padding:7px 10px;font-size:13px}.pipeline-board{grid-auto-flow:row;grid-auto-columns:unset}.pipeline-summary{overflow-x:auto;padding:10px 14px}.metric-card strong{font-size:24px}input,select,textarea{min-height:44px;font-size:16px}.primary-action,.secondary-action,.danger-action{min-height:44px}.table-action{min-height:36px;padding:6px 10px}.link-button{min-height:36px;display:inline-flex;align-items:center}}@media(max-width:480px){.main-panel{padding:12px}.panel{padding:14px}.fact-grid,.fact-grid.compact{grid-template-columns:1fr}.detail-hero-header{flex-direction:column}.detail-hero-actions{align-self:stretch}.detail-hero-actions button{flex:1}}
