/* yc-admin-v2.css — 二阶段控制台扩展样式 */
.ycdb-grid { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(320px, 1.2fr); gap: 14px; margin-top: 10px; }
.ycdb-form { display: flex; flex-direction: column; gap: 10px; }
.ycdb-form label { display: block; font-size: 12px; color: #8b857a; }
.ycdb-form select, .ycdb-form textarea, .ycver-bar select, .ycver-bar input, .ycgraph-toolbar input {
  display: block; width: 100%; margin-top: 4px; border: 1px solid #e4dfcf; border-radius: 8px;
  padding: 8px 10px; font-size: 13px; color: #33302a; background: #fffdf8; font-family: inherit; box-sizing: border-box;
}
.ycdb-form select:focus, .ycdb-form textarea:focus { outline: none; border-color: #B9923F; }
.ycdb-actions { display: flex; gap: 8px; }
.ycdb-provs { display: flex; gap: 12px; flex-wrap: wrap; }
.ycdb-prov { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: #33302a; }
.ycdb-result { min-height: 200px; }
.ycdb-card { border: 1px solid #e8e3d6; border-radius: 12px; padding: 12px 14px; background: #fffdf8; }
.ycdb-card.badcard { border-color: rgba(192,57,43,.4); }
.ycdb-card header b { font-size: 14px; }
.ycdb-row { display: flex; justify-content: space-between; font-size: 12.5px; padding: 3px 0; color: #8b857a; }
.ycdb-row b { color: #33302a; font-weight: 600; }
.ycdb-row b.ok { color: #2e8b57; }
.ycdb-row b.bad { color: #c0392b; }
.ycdb-reply { margin-top: 8px; background: #faf8f2; border-radius: 10px; padding: 10px 12px; }
.ycdb-reply small { color: #9a8a5f; font-weight: 700; letter-spacing: .08em; }
.ycdb-reply p { margin: 6px 0 0; font-size: 13px; line-height: 1.7; color: #33302a; white-space: pre-wrap; word-break: break-word; }
.ycdb-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }

.ycgraph-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.ycgraph-toolbar input { max-width: 240px; }
.ycgraph-filters { display: flex; gap: 10px; flex-wrap: wrap; font-size: 12.5px; color: #4c4638; }
.ycgraph-filters label { display: inline-flex; gap: 4px; align-items: center; }
.ycgraph-main { display: flex; gap: 12px; }
.ycgraph-panel { flex: 0 0 230px; border: 1px solid #e8e3d6; border-radius: 12px; padding: 12px; background: #fffdf8; }
.ycgraph-panel header { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.ycgraph-panel header b { font-size: 15px; }
.ycgraph-panel header span { font-size: 11px; background: rgba(185,146,63,.12); color: #9a8a5f; border-radius: 8px; padding: 1px 8px; align-self: flex-start; }
.ycgraph-row { display: flex; justify-content: space-between; font-size: 12.5px; padding: 4px 0; color: #8b857a; border-bottom: 1px dashed #eee9dc; }
.ycgraph-row b { color: #33302a; }

.ycck-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 10px; }
.ycck-metrics article { border: 1px solid #e8e3d6; border-radius: 12px; padding: 12px; background: #fffdf8; }
.ycck-metrics small { display: block; font-size: 11px; color: #8b857a; letter-spacing: .06em; }
.ycck-metrics b { display: block; font-size: 22px; color: #33302a; margin: 4px 0 2px; }
.ycck-metrics b.ok { color: #2e8b57; }
.ycck-metrics b.bad { color: #c0392b; }
.ycck-metrics i { font-style: normal; font-size: 11px; color: #a09a8c; }
.ycck-charts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.ycck-courses { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; font-size: 12.5px; align-items: center; }
.ycck-courses b { color: #33302a; }
.ycck-courses span { background: #fff; border: 1px solid #eee9dc; border-radius: 16px; padding: 4px 12px; color: #4c4638; }
.ycck-courses span i { font-style: normal; color: #a09a8c; margin-left: 5px; }

.ycver-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 10px 0; }
.ycver-bar select, .ycver-bar input { width: auto; min-width: 170px; }
.ycver-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.ycver-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.ycver-table th { text-align: left; color: #8b857a; font-weight: 600; padding: 5px 8px; border-bottom: 1px solid #eee9dc; }
.ycver-table td { padding: 5px 8px; border-bottom: 1px dashed #eee9dc; color: #33302a; }
.ycver-diffhead { display: flex; gap: 12px; align-items: baseline; margin: 12px 0 8px; }
.ycver-diffhead b { font-size: 13px; }
.ycver-diffhead span { font-size: 12px; color: #8b857a; }
.ycver-diff {
  max-height: 420px; overflow: auto; background: #2c2a24; color: #d8d3c8;
  border-radius: 12px; padding: 12px 14px; font-family: Consolas, monospace; font-size: 12px; line-height: 1.55;
  white-space: pre-wrap; word-break: break-all;
}
.ycver-diff span.add { color: #7fd08f; background: rgba(127,208,143,.08); display: block; }
.ycver-diff span.del { color: #f0938a; background: rgba(240,147,138,.08); display: block; }
.ycver-diff span.ctx { opacity: .75; display: block; }

@media (max-width: 860px) {
  .ycdb-grid { grid-template-columns: 1fr; }
  .ycgraph-main { flex-direction: column; }
  .ycgraph-panel { flex: 1 1 auto; }
}
