/* ==========================================================================
   AI Visibility Tracking (Kundenansicht, /ai-visibility)
   Version 1.0.0

   Ausschließlich Design-Tokens, keine festen Farben: die Seite folgt damit
   automatisch dem Light- und Dark-Theme. Der Kartenkopf ist bewusst derselbe
   wie in den Verlaufs- und Quellenkarten, damit alle Blöcke als ein System
   gelesen werden.
   ========================================================================== */

#ai-visibility-dashboard .aiv-table-wrap {
      overflow-x: auto;
}

/* --- Profilkarte im Seitenkopf --- */

#ai-visibility-dashboard .aiv-profile-card {
      min-width: 230px;
      padding: 0.875rem 1rem;
      background: hsl(var(--glass-bg));
      border: 1px solid hsl(var(--glass-border));
      border-radius: 0.75rem;
}

#ai-visibility-dashboard .aiv-profile-head {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      margin-bottom: 0.15rem;
}

#ai-visibility-dashboard .aiv-select {
      width: 100%;
      max-width: 320px;
      padding: 0.35rem 0.6rem;
      font-size: 0.875rem;
      color: hsl(var(--foreground));
      background: hsl(var(--glass-bg-input));
      border: 1px solid hsl(var(--border));
      border-radius: 0.4rem;
}

#ai-visibility-dashboard .aiv-select:focus-visible {
      outline: 2px solid hsl(var(--ring));
      outline-offset: 1px;
}

#ai-visibility-dashboard .aiv-select option {
      color: hsl(var(--popover-foreground));
      background: hsl(var(--popover));
}

#ai-visibility-dashboard .aiv-select-submit {
      margin-top: 0.4rem;
      padding: 0.3rem 0.7rem;
      font-size: 0.875rem;
      border: 1px solid hsl(var(--border));
      border-radius: 0.4rem;
}

/* --- Kennzahlkacheln --- */

#ai-visibility-dashboard .aiv-kpi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
}

#ai-visibility-dashboard .aiv-kpi {
      padding: 1.25rem;
      border-right: 1px solid hsl(var(--glass-border));
}

#ai-visibility-dashboard .aiv-kpi:last-child {
      border-right: 0;
}

#ai-visibility-dashboard .aiv-kpi-label {
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
      margin-bottom: 0.35rem;
}

#ai-visibility-dashboard .aiv-kpi-value {
      font-size: 2rem;
      font-weight: 900;
      line-height: 1.15;
      font-variant-numeric: tabular-nums;
}

#ai-visibility-dashboard .aiv-series-note {
      margin: 0;
      padding: 0.5rem 1.25rem 0;
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-kpi-range {
      font-size: 0.8125rem;
      color: hsl(var(--muted-foreground));
      font-variant-numeric: tabular-nums;
}

#ai-visibility-dashboard .aiv-kpi-bar,
#ai-visibility-dashboard .aiv-rank-bar {
      height: 4px;
      margin: 0.65rem 0 0.6rem 0;
      border-radius: 999px;
      background: hsl(var(--muted));
      overflow: hidden;
}

#ai-visibility-dashboard .aiv-kpi-bar>span,
#ai-visibility-dashboard .aiv-rank-bar>span {
      display: block;
      height: 100%;
      border-radius: 999px;
      background: var(--gradient-primary);
}

#ai-visibility-dashboard .aiv-kpi-bar-empty {
      background: transparent;
}

/* --- Trend --- */

#ai-visibility-dashboard .aiv-trend {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      font-size: 0.875rem;
      font-weight: 600;
}

#ai-visibility-dashboard .aiv-trend-up {
      color: hsl(145 60% 40%);
}

#ai-visibility-dashboard .aiv-trend-down {
      color: hsl(var(--destructive));
}

#ai-visibility-dashboard .aiv-trend-flat,
#ai-visibility-dashboard .aiv-trend-none {
      color: hsl(var(--muted-foreground));
      font-weight: 500;
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-trend-up {
      color: hsl(145 55% 55%);
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-trend-down {
      color: hsl(0 70% 65%);
}

/* --- Rangliste (Wettbewerber, Quellen) --- */

#ai-visibility-dashboard .aiv-rank {
      padding: 0.75rem 0;
      border-bottom: 1px solid hsl(var(--glass-border));
}

#ai-visibility-dashboard .aiv-rank:last-child {
      border-bottom: 0;
}

#ai-visibility-dashboard .aiv-rank-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.15rem;
}

#ai-visibility-dashboard .aiv-rank-name {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-weight: 600;
}

#ai-visibility-dashboard .aiv-rank-value {
      display: inline-flex;
      align-items: baseline;
      gap: 0.4rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
}

#ai-visibility-dashboard .aiv-rank-meta {
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-rank-own .aiv-rank-bar>span {
      background: var(--gradient-primary);
}

#ai-visibility-dashboard .aiv-rank:not(.aiv-rank-own) .aiv-rank-bar>span {
      background: hsl(var(--muted-foreground) / 0.55);
}

#ai-visibility-dashboard .aiv-rank.aiv-rank-sentiment-positive:not(.aiv-rank-own) .aiv-rank-bar>span {
      background: hsl(145 55% 45%);
}

#ai-visibility-dashboard .aiv-rank.aiv-rank-sentiment-negative:not(.aiv-rank-own) .aiv-rank-bar>span {
      background: hsl(0 72% 51%);
}

/* --- Marker, Chips, Badges --- */

#ai-visibility-dashboard .aiv-dot {
      display: inline-block;
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 999px;
      margin-right: 0.15rem;
      vertical-align: middle;
}

#ai-visibility-dashboard .aiv-dot-a855f7 {
      background: #a855f7;
}

#ai-visibility-dashboard .aiv-dot-38bdf8 {
      background: #38bdf8;
}

#ai-visibility-dashboard .aiv-dot-4ade80 {
      background: #4ade80;
}

#ai-visibility-dashboard .aiv-dot-fbbf24 {
      background: #fbbf24;
}

#ai-visibility-dashboard .aiv-dot-f472b6 {
      background: #f472b6;
}

#ai-visibility-dashboard .aiv-dot-22d3ee {
      background: #22d3ee;
}

#ai-visibility-dashboard .aiv-dot-94a3b8 {
      background: #94a3b8;
}

#ai-visibility-dashboard .aiv-w-0 {
      width: 0%;
}

#ai-visibility-dashboard .aiv-w-1 {
      width: 1%;
}

#ai-visibility-dashboard .aiv-w-2 {
      width: 2%;
}

#ai-visibility-dashboard .aiv-w-3 {
      width: 3%;
}

#ai-visibility-dashboard .aiv-w-4 {
      width: 4%;
}

#ai-visibility-dashboard .aiv-w-5 {
      width: 5%;
}

#ai-visibility-dashboard .aiv-w-6 {
      width: 6%;
}

#ai-visibility-dashboard .aiv-w-7 {
      width: 7%;
}

#ai-visibility-dashboard .aiv-w-8 {
      width: 8%;
}

#ai-visibility-dashboard .aiv-w-9 {
      width: 9%;
}

#ai-visibility-dashboard .aiv-w-10 {
      width: 10%;
}

#ai-visibility-dashboard .aiv-w-11 {
      width: 11%;
}

#ai-visibility-dashboard .aiv-w-12 {
      width: 12%;
}

#ai-visibility-dashboard .aiv-w-13 {
      width: 13%;
}

#ai-visibility-dashboard .aiv-w-14 {
      width: 14%;
}

#ai-visibility-dashboard .aiv-w-15 {
      width: 15%;
}

#ai-visibility-dashboard .aiv-w-16 {
      width: 16%;
}

#ai-visibility-dashboard .aiv-w-17 {
      width: 17%;
}

#ai-visibility-dashboard .aiv-w-18 {
      width: 18%;
}

#ai-visibility-dashboard .aiv-w-19 {
      width: 19%;
}

#ai-visibility-dashboard .aiv-w-20 {
      width: 20%;
}

#ai-visibility-dashboard .aiv-w-21 {
      width: 21%;
}

#ai-visibility-dashboard .aiv-w-22 {
      width: 22%;
}

#ai-visibility-dashboard .aiv-w-23 {
      width: 23%;
}

#ai-visibility-dashboard .aiv-w-24 {
      width: 24%;
}

#ai-visibility-dashboard .aiv-w-25 {
      width: 25%;
}

#ai-visibility-dashboard .aiv-w-26 {
      width: 26%;
}

#ai-visibility-dashboard .aiv-w-27 {
      width: 27%;
}

#ai-visibility-dashboard .aiv-w-28 {
      width: 28%;
}

#ai-visibility-dashboard .aiv-w-29 {
      width: 29%;
}

#ai-visibility-dashboard .aiv-w-30 {
      width: 30%;
}

#ai-visibility-dashboard .aiv-w-31 {
      width: 31%;
}

#ai-visibility-dashboard .aiv-w-32 {
      width: 32%;
}

#ai-visibility-dashboard .aiv-w-33 {
      width: 33%;
}

#ai-visibility-dashboard .aiv-w-34 {
      width: 34%;
}

#ai-visibility-dashboard .aiv-w-35 {
      width: 35%;
}

#ai-visibility-dashboard .aiv-w-36 {
      width: 36%;
}

#ai-visibility-dashboard .aiv-w-37 {
      width: 37%;
}

#ai-visibility-dashboard .aiv-w-38 {
      width: 38%;
}

#ai-visibility-dashboard .aiv-w-39 {
      width: 39%;
}

#ai-visibility-dashboard .aiv-w-40 {
      width: 40%;
}

#ai-visibility-dashboard .aiv-w-41 {
      width: 41%;
}

#ai-visibility-dashboard .aiv-w-42 {
      width: 42%;
}

#ai-visibility-dashboard .aiv-w-43 {
      width: 43%;
}

#ai-visibility-dashboard .aiv-w-44 {
      width: 44%;
}

#ai-visibility-dashboard .aiv-w-45 {
      width: 45%;
}

#ai-visibility-dashboard .aiv-w-46 {
      width: 46%;
}

#ai-visibility-dashboard .aiv-w-47 {
      width: 47%;
}

#ai-visibility-dashboard .aiv-w-48 {
      width: 48%;
}

#ai-visibility-dashboard .aiv-w-49 {
      width: 49%;
}

#ai-visibility-dashboard .aiv-w-50 {
      width: 50%;
}

#ai-visibility-dashboard .aiv-w-51 {
      width: 51%;
}

#ai-visibility-dashboard .aiv-w-52 {
      width: 52%;
}

#ai-visibility-dashboard .aiv-w-53 {
      width: 53%;
}

#ai-visibility-dashboard .aiv-w-54 {
      width: 54%;
}

#ai-visibility-dashboard .aiv-w-55 {
      width: 55%;
}

#ai-visibility-dashboard .aiv-w-56 {
      width: 56%;
}

#ai-visibility-dashboard .aiv-w-57 {
      width: 57%;
}

#ai-visibility-dashboard .aiv-w-58 {
      width: 58%;
}

#ai-visibility-dashboard .aiv-w-59 {
      width: 59%;
}

#ai-visibility-dashboard .aiv-w-60 {
      width: 60%;
}

#ai-visibility-dashboard .aiv-w-61 {
      width: 61%;
}

#ai-visibility-dashboard .aiv-w-62 {
      width: 62%;
}

#ai-visibility-dashboard .aiv-w-63 {
      width: 63%;
}

#ai-visibility-dashboard .aiv-w-64 {
      width: 64%;
}

#ai-visibility-dashboard .aiv-w-65 {
      width: 65%;
}

#ai-visibility-dashboard .aiv-w-66 {
      width: 66%;
}

#ai-visibility-dashboard .aiv-w-67 {
      width: 67%;
}

#ai-visibility-dashboard .aiv-w-68 {
      width: 68%;
}

#ai-visibility-dashboard .aiv-w-69 {
      width: 69%;
}

#ai-visibility-dashboard .aiv-w-70 {
      width: 70%;
}

#ai-visibility-dashboard .aiv-w-71 {
      width: 71%;
}

#ai-visibility-dashboard .aiv-w-72 {
      width: 72%;
}

#ai-visibility-dashboard .aiv-w-73 {
      width: 73%;
}

#ai-visibility-dashboard .aiv-w-74 {
      width: 74%;
}

#ai-visibility-dashboard .aiv-w-75 {
      width: 75%;
}

#ai-visibility-dashboard .aiv-w-76 {
      width: 76%;
}

#ai-visibility-dashboard .aiv-w-77 {
      width: 77%;
}

#ai-visibility-dashboard .aiv-w-78 {
      width: 78%;
}

#ai-visibility-dashboard .aiv-w-79 {
      width: 79%;
}

#ai-visibility-dashboard .aiv-w-80 {
      width: 80%;
}

#ai-visibility-dashboard .aiv-w-81 {
      width: 81%;
}

#ai-visibility-dashboard .aiv-w-82 {
      width: 82%;
}

#ai-visibility-dashboard .aiv-w-83 {
      width: 83%;
}

#ai-visibility-dashboard .aiv-w-84 {
      width: 84%;
}

#ai-visibility-dashboard .aiv-w-85 {
      width: 85%;
}

#ai-visibility-dashboard .aiv-w-86 {
      width: 86%;
}

#ai-visibility-dashboard .aiv-w-87 {
      width: 87%;
}

#ai-visibility-dashboard .aiv-w-88 {
      width: 88%;
}

#ai-visibility-dashboard .aiv-w-89 {
      width: 89%;
}

#ai-visibility-dashboard .aiv-w-90 {
      width: 90%;
}

#ai-visibility-dashboard .aiv-w-91 {
      width: 91%;
}

#ai-visibility-dashboard .aiv-w-92 {
      width: 92%;
}

#ai-visibility-dashboard .aiv-w-93 {
      width: 93%;
}

#ai-visibility-dashboard .aiv-w-94 {
      width: 94%;
}

#ai-visibility-dashboard .aiv-w-95 {
      width: 95%;
}

#ai-visibility-dashboard .aiv-w-96 {
      width: 96%;
}

#ai-visibility-dashboard .aiv-w-97 {
      width: 97%;
}

#ai-visibility-dashboard .aiv-w-98 {
      width: 98%;
}

#ai-visibility-dashboard .aiv-w-99 {
      width: 99%;
}

#ai-visibility-dashboard .aiv-w-100 {
      width: 100%;
}

#ai-visibility-dashboard .aiv-tag {
      display: inline-block;
      padding: 0.05rem 0.45rem;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: hsl(var(--primary-text));
      background: hsl(var(--primary) / 0.14);
      border-radius: 999px;
      white-space: nowrap;
}

#ai-visibility-dashboard .aiv-chip {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      padding: 0.15rem 0.65rem;
      font-size: 0.875rem;
      border: 1px solid hsl(var(--glass-border));
      border-radius: 999px;
}

#ai-visibility-dashboard .aiv-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      padding: 0.1rem 0.55rem;
      font-size: 0.875rem;
      font-weight: 600;
      border-radius: 999px;
}

#ai-visibility-dashboard .aiv-tone-ok {
      color: hsl(145 60% 32%);
      background: hsl(145 60% 40% / 0.16);
}

#ai-visibility-dashboard .aiv-tone-warn {
      color: hsl(35 85% 32%);
      background: hsl(35 90% 50% / 0.18);
}

#ai-visibility-dashboard .aiv-tone-error {
      color: hsl(0 65% 38%);
      background: hsl(0 72% 51% / 0.16);
}

#ai-visibility-dashboard .aiv-tone-info {
      color: hsl(var(--muted-foreground));
      background: hsl(var(--muted) / 0.7);
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-tone-ok {
      color: hsl(145 55% 62%);
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-tone-warn {
      color: hsl(38 90% 62%);
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-tone-error {
      color: hsl(0 75% 68%);
}

#ai-visibility-dashboard .aiv-value-warn {
      color: hsl(35 85% 38%);
      font-weight: 700;
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-value-warn {
      color: hsl(38 90% 62%);
}

/* --- Hinweisleisten --- */

#ai-visibility-dashboard .aiv-note {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      padding: 0.9rem 1.1rem;
      border: 1px solid hsl(var(--glass-border));
      border-left-width: 3px;
      border-radius: 0.6rem;
      background: hsl(var(--glass-bg));
}

#ai-visibility-dashboard .aiv-note-demo {
      border-left-color: hsl(var(--primary));
      color: hsl(var(--foreground));
}

#ai-visibility-dashboard .aiv-note-warn {
      border-left-color: hsl(35 90% 50%);
}

#ai-visibility-dashboard .aiv-note-info {
      border-left-color: hsl(var(--muted-foreground));
      color: hsl(var(--muted-foreground));
}

/* --- Prompttabelle --- */

#ai-visibility-dashboard .aiv-prompt-cell {
      max-width: 36rem;
      white-space: normal;
}

#ai-visibility-dashboard .aiv-prompt-text {
      color: hsl(var(--foreground));
}

#ai-visibility-dashboard .aiv-prompt-topic {
      margin-top: 0.15rem;
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

/* --- Leerzustände und Diagramm --- */

#ai-visibility-dashboard .aiv-empty {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 2.5rem 1.25rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-chart-wrap {
      position: relative;
      height: 300px;
      padding: 1.25rem 1.25rem 0.5rem 1.25rem;
}

@media (max-width: 1023px) {
      #ai-visibility-dashboard .aiv-kpi-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #ai-visibility-dashboard .aiv-kpi:nth-child(2n) {
            border-right: 0;
      }

      #ai-visibility-dashboard .aiv-kpi:nth-child(-n+2) {
            border-bottom: 1px solid hsl(var(--glass-border));
      }
}

@media (max-width: 640px) {
      #ai-visibility-dashboard .aiv-kpi-value {
            font-size: 1.6rem;
      }

      #ai-visibility-dashboard .aiv-chart-wrap {
            height: 240px;
            padding: 1rem 0.75rem 0.5rem 0.75rem;
      }

      #ai-visibility-dashboard .aiv-profile-card {
            width: 100%;
      }
}

/* --- Filterleiste, Belege und Detailansicht (Phase 7) --- */

#ai-visibility-dashboard .aiv-filterbar {
      display: flex;
      align-items: flex-end;
      flex-wrap: wrap;
      gap: 0.75rem;
      padding: 0.9rem 1.1rem;
      background: hsl(var(--glass-bg));
      border: 1px solid hsl(var(--glass-border));
      border-radius: 0.75rem;
}

#ai-visibility-dashboard .aiv-filter {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
}

#ai-visibility-dashboard .aiv-filter label {
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-select-submit {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      padding: 0.35rem 0.85rem;
      font-size: 0.875rem;
      font-weight: 600;
      color: hsl(var(--foreground));
      background: hsl(var(--muted) / 0.6);
      border: 1px solid hsl(var(--border));
      border-radius: 0.4rem;
      transition: background 0.15s ease;
}

#ai-visibility-dashboard .aiv-select-submit:hover {
      background: hsl(var(--muted));
}

#ai-visibility-dashboard .aiv-filter-reset,
#ai-visibility-dashboard .aiv-back {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.875rem;
      color: hsl(var(--primary-text));
}

#ai-visibility-dashboard .aiv-chip-active {
      max-width: 100%;
      background: hsl(var(--primary) / 0.1);
      border-color: hsl(var(--primary) / 0.35);
}

#ai-visibility-dashboard .aiv-chip-text {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      max-width: 22rem;
}

#ai-visibility-dashboard .aiv-chip-remove {
      display: inline-flex;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-chip-remove:hover {
      color: hsl(var(--foreground));
}

#ai-visibility-dashboard a.aiv-prompt-text {
      color: hsl(var(--foreground));
      text-decoration: underline;
      text-decoration-color: hsl(var(--primary) / 0.4);
      text-underline-offset: 3px;
}

#ai-visibility-dashboard a.aiv-prompt-text:hover {
      text-decoration-color: hsl(var(--primary));
}

#ai-visibility-dashboard .aiv-facts {
      display: grid;
      gap: 0.75rem;
      margin: 0;
      padding-top: 0.75rem;
}

#ai-visibility-dashboard .aiv-facts>div {
      display: grid;
      grid-template-columns: 11rem minmax(0, 1fr);
      gap: 0.75rem;
}

#ai-visibility-dashboard .aiv-facts dt {
      color: hsl(var(--muted-foreground));
      font-size: 0.875rem;
}

#ai-visibility-dashboard .aiv-facts dd {
      margin: 0;
      overflow-wrap: anywhere;
}

#ai-visibility-dashboard .aiv-answer {
      padding-top: 0.75rem;
      line-height: 1.75;
      overflow-wrap: anywhere;
}

#ai-visibility-dashboard .aiv-filter-note {
      flex-basis: 100%;
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-mark {
      /* Waagerechte Polsterung klein halten: vor einem Komma sieht ein
         breiter Rand nach einem zusätzlichen Leerzeichen aus. */
      padding: 0.05rem 0.1rem;
      border-radius: 0.25rem;
      color: hsl(var(--foreground));
      background: hsl(var(--primary) / 0.22);
}

@media (max-width: 640px) {
      #ai-visibility-dashboard .aiv-filterbar {
            flex-direction: column;
            align-items: stretch;
      }

      #ai-visibility-dashboard .aiv-chip-text {
            max-width: 12rem;
      }

      #ai-visibility-dashboard .aiv-facts>div {
            grid-template-columns: minmax(0, 1fr);
            gap: 0.15rem;
      }
}

/* --- Konfigurationsformulare (Phase 7) --- */

#ai-visibility-dashboard .aiv-note-ok {
      border-left-color: hsl(145 60% 40%);
}

#ai-visibility-dashboard .aiv-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      padding-top: 0.75rem;
}

#ai-visibility-dashboard .aiv-field {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
      min-width: 0;
}

#ai-visibility-dashboard .aiv-field-wide {
      grid-column: 1 / -1;
}

#ai-visibility-dashboard .aiv-field>label {
      font-size: 0.875rem;
      font-weight: 600;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-input {
      width: 100%;
      padding: 0.45rem 0.65rem;
      font-family: inherit;
      font-size: 1rem;
      color: hsl(var(--foreground));
      background: hsl(var(--glass-bg-input));
      border: 1px solid hsl(var(--border));
      border-radius: 0.4rem;
}

#ai-visibility-dashboard .aiv-input:focus-visible {
      outline: 2px solid hsl(var(--ring));
      outline-offset: 1px;
}

#ai-visibility-dashboard textarea.aiv-input {
      resize: vertical;
      line-height: 1.5;
}

#ai-visibility-dashboard .aiv-input option {
      color: hsl(var(--popover-foreground));
      background: hsl(var(--popover));
}

#ai-visibility-dashboard .aiv-hint {
      font-size: 0.875rem;
      color: hsl(var(--muted-foreground));
}

#ai-visibility-dashboard .aiv-hint code {
      font-family: var(--bw-font-mono, monospace);
      font-size: 0.85em;
}

#ai-visibility-dashboard .aiv-check {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      font-size: 0.9375rem;
      margin-right: 1.25rem;
}

#ai-visibility-dashboard .aiv-check input {
      width: 1rem;
      height: 1rem;
      accent-color: hsl(var(--primary));
}

#ai-visibility-dashboard .aiv-suggest {
      margin-top: 1.5rem;
      padding-top: 1.25rem;
      border-top: 1px solid hsl(var(--border));
}

#ai-visibility-dashboard .aiv-suggest-title {
      font-size: 1rem;
      font-weight: 600;
      margin: 0 0 0.35rem;
}

#ai-visibility-dashboard .aiv-suggest .aiv-hint {
      margin: 0 0 0.6rem;
}

#ai-visibility-dashboard .aiv-suggest-loc {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin: 0.75rem 0 1rem;
      max-width: 42rem;
}

#ai-visibility-dashboard .aiv-suggest-group {
      border: 0;
      padding: 0;
      margin: 0 0 1rem;
}

#ai-visibility-dashboard .aiv-suggest-group legend {
      font-size: 0.8125rem;
      font-weight: 600;
      color: hsl(var(--muted-foreground));
      margin-bottom: 0.4rem;
}

#ai-visibility-dashboard .aiv-suggest-item {
      display: flex;
      align-items: flex-start;
      margin: 0 0 0.4rem;
}

#ai-visibility-dashboard .aiv-suggest-item input[type=checkbox] {
      margin-top: 0.2rem;
      flex: none;
}

#ai-visibility-dashboard .aiv-form-actions {
      display: flex;
      gap: 0.5rem;
      padding-top: 1rem;
}

#ai-visibility-dashboard .aiv-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      padding: 0.45rem 0.9rem;
      font-size: 0.9375rem;
      font-weight: 600;
      white-space: nowrap;
      color: hsl(var(--foreground));
      background: hsl(var(--muted) / 0.6);
      border: 1px solid hsl(var(--border));
      border-radius: 0.4rem;
      transition: background 0.15s ease, opacity 0.15s ease;
}

#ai-visibility-dashboard .aiv-btn:hover {
      background: hsl(var(--muted));
}

#ai-visibility-dashboard .aiv-btn-primary {
      color: #fff;
      background: var(--gradient-primary);
      border-color: transparent;
}

#ai-visibility-dashboard .aiv-btn-primary:hover {
      opacity: 0.9;
      background: var(--gradient-primary);
}

#ai-visibility-dashboard .aiv-btn-danger {
      color: hsl(0 65% 42%);
      border-color: hsl(0 72% 51% / 0.35);
      background: hsl(0 72% 51% / 0.08);
}

html[data-theme="dark"] #ai-visibility-dashboard .aiv-btn-danger {
      color: hsl(0 75% 70%);
}

#ai-visibility-dashboard .aiv-btn:focus-visible {
      outline: 2px solid hsl(var(--ring));
      outline-offset: 2px;
}

#ai-visibility-dashboard .aiv-row-form {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto auto auto;
      align-items: center;
      gap: 0.6rem;
      padding: 0.85rem 0;
      border-bottom: 1px solid hsl(var(--glass-border));
}

#ai-visibility-dashboard .aiv-row-form-prompt {
      grid-template-columns: minmax(0, 2fr) minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 0.9fr) auto auto auto auto;
}

#ai-visibility-dashboard .aiv-row-form:last-child {
      border-bottom: 0;
}

#ai-visibility-dashboard .aiv-row-form-new {
      border-top: 1px dashed hsl(var(--glass-border));
      border-bottom: 0;
      margin-top: 0.5rem;
}

@media (max-width: 1023px) {

      #ai-visibility-dashboard .aiv-form-grid,
      #ai-visibility-dashboard .aiv-row-form,
      #ai-visibility-dashboard .aiv-row-form-prompt {
            grid-template-columns: minmax(0, 1fr);
      }

      #ai-visibility-dashboard .aiv-row-form>.aiv-btn {
            justify-content: center;
      }
}


#ai-visibility-dashboard .aiv-input-row {
      display: flex;
      gap: 0.5rem;
      align-items: stretch;
}

#ai-visibility-dashboard .aiv-input-row .aiv-input {
      flex: 1 1 auto;
      min-width: 0;
}

#ai-visibility-dashboard .aiv-btn-icon {
      flex: 0 0 auto;
      padding: 0.45rem 0.65rem;
}

#ai-visibility-dashboard .aiv-btn-icon[aria-busy="true"] {
      opacity: 0.6;
      cursor: progress;
}

#ai-visibility-dashboard .aiv-btn-icon[aria-busy="true"] svg {
      animation: aiv-pulse 1s ease-in-out infinite;
}

@keyframes aiv-pulse {
      50% { opacity: 0.35; }
}

#ai-visibility-dashboard .aiv-hint.aiv-hint-error {
      color: hsl(var(--destructive, 0 70% 50%));
}

@media print {
      #ai-visibility-dashboard .aiv-noprint,
      #ai-visibility-dashboard .aiv-profile-card { display: none !important; }
      #ai-visibility-dashboard .page-card { break-inside: avoid; box-shadow: none; }
}

#ai-visibility-dashboard .aiv-report-task { padding: 0.5rem 0; border-top: 1px solid hsl(var(--glass-border)); }
