:root{color:#1f2937;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:0;border-radius:8px;padding:8px 14px}button:hover{filter:brightness(.96)}button.danger{color:#dc2626;background:#fee2e2}button.ghost{color:#3151b7;background:#eef2ff}input,textarea,select{color:#111827;background:#fff;border:1px solid #dbe4ef;border-radius:8px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:110px}.admin-shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{color:#e5e7eb;background:#111827;height:100vh;padding:28px 20px;position:sticky;top:0;overflow:auto}.brand{margin-bottom:28px;font-size:20px;font-weight:800}.sidebar nav{gap:8px;display:grid}.sidebar button{color:#cbd5e1;text-align:left;background:0 0;padding:11px 12px}.sidebar button.active,.sidebar button:hover{color:#fff;background:#1f2937}.content{min-width:0;padding:32px}.header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.eyebrow{color:#2563eb;margin:0 0 6px;font-size:13px;font-weight:700}h1{letter-spacing:0;margin:0;font-size:30px}.operator{color:#64748b;font-size:14px}.toast{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:18px;padding:10px 12px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 28px #0f172a0d}.metric-card{padding:18px}.metric-card span{color:#64748b;margin-bottom:8px;display:block}.metric-card strong{font-size:28px}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.panel-grid.wide{grid-template-columns:1fr}.panel{min-width:0;padding:20px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel h2{margin:0;font-size:18px}.review-item{border-top:1px solid #eef2f7;justify-content:space-between;gap:16px;padding:16px 0;display:flex}.review-item:first-of-type{border-top:0}.review-item.selected{background:#f8fbff;border-radius:8px;margin:0 -10px;padding:16px 10px}.review-item p,.empty,.mini-row p{color:#64748b;margin:6px 0 0;line-height:1.6}.review-item strong,.mini-row strong{display:block}.actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.danger-text{color:#dc2626!important}.form-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.field{color:#475569;gap:8px;margin-bottom:12px;display:grid}.field input,.field select{max-width:280px}.field.full input,.field.full textarea,.field.full select{max-width:none}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.report-grid .metric-card{box-shadow:none}.mini-row{border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.mini-row:first-of-type{border-top:0}.mini-row input{max-width:220px}.badge{color:#0369a1;background:#e0f2fe;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:inline-grid}.detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;padding:16px}.detail-card p{color:#475569;margin:8px 0 0}.matrix{overflow:auto}.matrix-row{border-top:1px solid #eef2f7;grid-template-columns:110px repeat(8,minmax(74px,1fr));align-items:center;gap:8px;min-width:780px;padding:12px 0;display:grid}.matrix-row:first-child{border-top:0}.matrix-row label{color:#475569;align-items:center;gap:6px;display:flex}.matrix-row input{width:auto}.log-row{border-top:1px solid #eef2f7;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.log-row:first-child{border-top:0}.log-row span{color:#475569}.log-row em{color:#94a3b8;font-size:13px;font-style:normal}@media (width<=1100px){.metrics,.panel-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.content{padding:20px}.header,.review-item,.form-row,.mini-row{flex-direction:column;align-items:stretch}.metrics,.report-grid{grid-template-columns:1fr}.operator{align-self:flex-start}.project-editor{grid-template-columns:1fr}}.table-scroll{overflow:auto}.config-table{border-collapse:collapse;width:100%;min-width:680px}.config-table th,.config-table td{text-align:left;vertical-align:middle;border-top:1px solid #eef2f7;padding:12px}.config-table th{color:#475569;background:#f8fafc;font-size:13px}.config-table input{min-width:120px}.rate-value{color:#111827;margin-bottom:8px;font-weight:800;display:inline-block}.rate-input{align-items:center;gap:8px;max-width:180px;display:flex}.rate-input input{min-width:0}.rate-input span{color:#475569;font-weight:700}.user-line{align-items:center;gap:10px;display:flex}.status-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.ok{color:#15803d;background:#dcfce7}.status-badge.warn{color:#b45309;background:#fef3c7}.status-badge.danger{color:#dc2626;background:#fee2e2}.status-badge.neutral{color:#3151b7;background:#eef2ff}.modal-backdrop{z-index:30;background:#0f172a59;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(460px,100%);padding:22px;box-shadow:0 24px 80px #0f172a47}.modal-card h2{margin:0 0 16px;font-size:20px}.project-editor{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;display:grid}.project-editor textarea{min-height:92px}.project-editor .full{grid-column:1/-1}.project-table{min-width:1120px}.project-table td:first-child{min-width:280px}.project-table .muted-line{color:#64748b;font-size:12px}.project-table td{vertical-align:top}.upload-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-column:1/-1;align-items:center;gap:12px;padding:10px;display:flex}.upload-preview img{object-fit:cover;border:1px solid #e5e7eb;border-radius:6px;width:96px;height:64px}.upload-preview span{color:#475569;word-break:break-all;font-size:12px}.linkage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.linkage-item{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.linkage-item strong{display:block}.linkage-item p{color:#64748b;margin:4px 0 0;line-height:1.5}@media (width<=760px){.linkage-grid{grid-template-columns:1fr}}.coverage-grid{gap:12px;display:grid}.coverage-item{border-top:1px solid #eef2f7;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.coverage-item:first-child{border-top:0}.coverage-item p,.note-list p,.config-table p{color:#64748b;margin:6px 0 0;line-height:1.6}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-grid button{text-align:center}.note-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;padding:14px;display:grid}.note-list p{margin:0}.config-table strong{display:block}.config-table td:first-child{min-width:150px}.panel .metric-card strong{font-size:22px}.panel .metric-card{padding:14px}.sidebar::-webkit-scrollbar{width:8px;height:8px}.table-scroll::-webkit-scrollbar{width:8px;height:8px}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.table-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}@media (width<=760px){.quick-grid{grid-template-columns:1fr}.coverage-item,.user-line{align-items:flex-start}.log-row{grid-template-columns:1fr}.log-row em{font-size:12px}}.confirm-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;padding:12px}.confirm-summary p{color:#475569;margin:6px 0}.confirm-summary strong{color:#111827}
