.keyword-entry-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
#dashboard-report-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
.keyword-page { max-width:1280px; margin:auto; padding:24px 32px 48px; }
.keyword-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.keyword-header h1 { font-size:24px; margin:0; min-width:0; overflow-wrap:anywhere; }
.keyword-header nav { display:flex; gap:12px; flex-wrap:wrap; }
.keyword-header .btn-ghost { color:#34445b; border-color:#c6cfda; background:#fff; }
.keyword-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:end; border-bottom:1px solid #d7dde4; padding-bottom:24px; margin-bottom:24px; }
.keyword-range { grid-column:span 2; }
.keyword-range-inputs { display:flex; gap:10px; align-items:center; }
.keyword-field small { font-size:12px; color:#687487; min-height:16px; }
.keyword-meta-warning { grid-column:1/-1; margin:0; }
.keyword-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.keyword-meta > .keyword-field { align-self:start; }
#kw-metadata-warning:empty { display:none; }
.keyword-field label { font-size:14px; font-weight:600; }
.keyword-field input,.keyword-field select,.keyword-filters input,.keyword-filters select { width:100%; min-width:0; height:40px; border:1px solid #bfc8d3; border-radius:6px; background:white; padding:8px 12px; font:inherit; font-size:14px; }
.keyword-save-state { font-size:12px; color:#5d6879; max-width:230px; margin-top:6px; min-height:18px; }
.keyword-band { padding:20px 0; border-bottom:1px solid #e0e5ec; }
.keyword-band h2 { font-size:18px; margin:0 0 16px; }
.keyword-drop { border:2px dashed #bac4d0; border-radius:8px; min-height:130px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:#fff; padding:20px; cursor:pointer; text-align:center; }
.keyword-drop.dragging { border-color:#137c63; background:#ecfdf5; }
.keyword-drop input { max-width:100%; }
.keyword-source { margin-top:12px; font-size:14px; word-break:break-word; }
.keyword-warning { color:#875512; font-size:13px; margin-top:8px; }
.keyword-error { color:#b42318; padding:12px 0; font-size:14px; }
.keyword-params { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.keyword-tools,.keyword-filters { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.keyword-tools label { font-size:14px; }
.keyword-tools select { padding:8px; max-width:100%; border:1px solid #bfc8d3; border-radius:6px; }
.keyword-segment { display:flex; gap:4px; }
.keyword-segment button { border:1px solid #bfc8d3; border-radius:4px; background:white; min-width:42px; min-height:36px; padding:6px 10px; cursor:pointer; }
.keyword-segment button[aria-pressed=true] { background:#137c63; border-color:#137c63; color:white; }
.keyword-metrics { display:flex; gap:16px; flex-wrap:wrap; font-size:14px; }
.keyword-metrics label { display:flex; gap:6px; align-items:center; }
.keyword-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding:20px 0; }
.keyword-stat { border-left:3px solid var(--metric-color); padding:4px 12px; min-width:0; }
.keyword-stat span { display:block; color:#687487; font-size:12px; }
.keyword-stat strong { display:block; font-size:20px; margin:6px 0; overflow-wrap:anywhere; }
.keyword-stat small { color:#687487; }
.keyword-canvas { position:relative; height:420px; width:100%; }
.keyword-legend { display:flex; flex-wrap:wrap; gap:14px; font-size:12px; margin:12px 0; }
.keyword-legend span { border-left:12px solid var(--stage-color); padding-left:6px; }
.keyword-table-wrap { overflow-x:auto; }
.keyword-table { width:100%; border-collapse:collapse; font-size:13px; min-width:1050px; }
.keyword-table th,.keyword-table td { padding:10px 12px; text-align:right; border-bottom:1px solid #e5e7eb; white-space:nowrap; }
.keyword-table th:first-child,.keyword-table td:first-child { text-align:left; }
.keyword-group th { text-align:left; background:var(--stage-color); }
.keyword-group button { border:0; background:transparent; font:inherit; cursor:pointer; text-align:left; padding:2px; }
.keyword-table .partial { color:#875512; }
.keyword-filters input { width:260px; }
.keyword-filters select { width:180px; }
.keyword-page button:disabled { opacity:.55; cursor:not-allowed; }
.keyword-list .table-plain { min-width:1000px; }
.keyword-list h1 { font-size:24px; }
@media(max-width:1024px) { .keyword-meta { grid-template-columns:repeat(2,minmax(0,1fr)); } .keyword-params { grid-template-columns:repeat(2,minmax(0,1fr)); } .keyword-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .keyword-entry-actions { justify-content:flex-start; } }
@media(max-width:600px) { .keyword-page { padding:20px 16px; } .keyword-header { align-items:flex-start; flex-direction:column; } .keyword-meta { grid-template-columns:1fr; } .keyword-range { grid-column:auto; } .keyword-meta .btn-primary { width:100%; } .keyword-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .keyword-params { grid-template-columns:1fr; } #dashboard-report-modules { grid-template-columns:1fr; } .keyword-entry-actions button { width:100%; white-space:normal; } .keyword-filters input,.keyword-filters select { width:100%; } }
