/* =============================================================
   Microsoft Purview Label Analyzer — tool-specific styles  (BETA)
   Built on the shared design system (styles.css); read-only tool.
   ============================================================= */

/* ---- Beta marking ---- */
.pla .tool-hero h1 { flex-wrap: wrap; }
.pla .tool-hero h1 > span:not(.tool-icon):not(.pla-beta) { min-width: 0; }
.pla-beta { font-size: .62rem; align-self: center; }
.pla-beta-note {
  display: flex; gap: 10px; align-items: flex-start;
  background: color-mix(in srgb, var(--brand-2) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--brand-2) 55%, var(--border));
  border-radius: 12px; padding: 11px 15px; margin-bottom: 16px;
  font-size: 13px; color: var(--text); line-height: 1.5;
}
.pla-beta-note::before { content: "🔎"; font-size: 15px; line-height: 1.4; }

/* ---- Source bar ---- */
.pla-source {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
  padding: 16px 18px; margin-bottom: 16px;
}
.pla-source .grow { flex: 1 1 auto; min-width: 180px; }
.filemeta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.filemeta .fname { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 13px; color: var(--text); word-break: break-all; }
.filemeta .fsub { font-size: 12.5px; color: var(--text-soft); }
.filemeta.empty .fname { color: var(--text-soft); }
.pla-typebadge { font-size: .68rem; }
.pla .btn .ic { width: 16px; height: 16px; }
.pla .btn svg { display: block; }

/* ---- Cards ---- */
.pla-card { padding: 18px 20px; margin-bottom: 16px; }
.pla-sec { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-soft); font-weight: 700; margin-bottom: 12px; }

/* ---- Master label ---- */
.pla-master { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pla-meta { font-size: 12.5px; color: var(--text-soft); }
.pla-id { font-family: ui-monospace, Menlo, monospace; font-size: 11.5px; }

/* ---- Label chip ---- */
.pla-chip {
  display: inline-block; font-weight: 600; font-size: 13px; line-height: 1;
  padding: 6px 12px; border-radius: 999px; border: 1px solid currentColor;
  background: color-mix(in srgb, currentColor 10%, transparent); color: var(--office-general);
}
.pla-chip.master { color: var(--office-general); }
.pla-chip.warn { color: var(--office-powerpoint); }
.pla-chip.none { color: var(--text-soft); font-weight: 500; font-style: italic; }

/* ---- Summary banner ---- */
.pla-banner {
  display: flex; align-items: center; gap: 11px; padding: 14px 18px; border-radius: 12px;
  margin-bottom: 12px; font-size: 14.5px; font-weight: 600; border: 1px solid var(--border);
}
.pla-banner-ico { font-size: 17px; line-height: 1; }
.pla-banner.ok { background: color-mix(in srgb, var(--office-excel) 12%, transparent); border-color: color-mix(in srgb, var(--office-excel) 45%, var(--border)); color: color-mix(in srgb, var(--office-excel) 80%, var(--text)); }
.pla-banner.warn { background: color-mix(in srgb, var(--office-powerpoint) 12%, transparent); border-color: color-mix(in srgb, var(--office-powerpoint) 50%, var(--border)); color: color-mix(in srgb, var(--office-powerpoint) 85%, var(--text)); }
.pla-banner.neutral { background: var(--bg-soft); color: var(--text-soft); }
.pla-explain { font-size: 13px; color: var(--text-soft); line-height: 1.55; margin: 0 0 16px; max-width: 80ch; }

/* ---- Embedded objects table ---- */
.pla-tablewrap { overflow-x: auto; }
.pla-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pla-table thead th {
  font-size: .66rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-soft); text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border); white-space: nowrap;
}
.pla-table tbody td { padding: 9px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.pla-table tbody tr:last-child td { border-bottom: none; }
.pla-table tbody tr.st-mismatch { background: color-mix(in srgb, var(--office-powerpoint) 7%, transparent); }
.pla-obj { min-width: 200px; }
.pla-loc { font-weight: 600; font-size: 13px; color: var(--text); display: flex; align-items: baseline; gap: 5px; }
.pla-pin { font-size: 12px; }
.pla-obj-file { font-family: ui-monospace, Menlo, monospace; font-size: 11.5px; color: var(--text-soft); word-break: break-all; margin-top: 2px; }

.pla-status { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.pla-status.match { color: color-mix(in srgb, var(--office-excel) 85%, var(--text)); background: color-mix(in srgb, var(--office-excel) 14%, transparent); }
.pla-status.mismatch { color: color-mix(in srgb, var(--office-powerpoint) 90%, var(--text)); background: color-mix(in srgb, var(--office-powerpoint) 14%, transparent); }
.pla-status.unknown { color: var(--text-soft); background: var(--bg-soft); }

.pla-note { font-size: 12.5px; color: var(--text-soft); margin: 12px 0 0; line-height: 1.5; }
.pla-readonly { font-size: 12px; color: var(--text-soft); font-style: italic; margin: 4px 2px 0; }

/* ---- Toast ---- */
.pla-toast {
  position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: var(--bg-elev); color: var(--text); padding: 12px 18px; border-radius: 12px;
  border: 1px solid var(--border); font-size: 13.5px; opacity: 0; pointer-events: none;
  transition: all .25s ease; z-index: 70; box-shadow: var(--shadow-lg); max-width: 90vw;
}
.pla-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.pla-toast.err { border-color: color-mix(in srgb, var(--office-powerpoint) 60%, var(--border)); color: var(--office-powerpoint); }

/* drag & drop highlight */
.pla.droplit { outline: 2px dashed var(--brand); outline-offset: -10px; border-radius: 18px; }

/* legal note */
.pla-legal { margin-top: 36px; font-size: 11.5px; color: var(--text-soft); line-height: 1.55; }
.pla-legal p { margin: 0 0 8px; max-width: 84ch; }
