/* One palette for the public site, customer workspace and administration. */
:root {
  color-scheme: dark;
  --pf-bg: #08090b;
  --pf-surface: #101216;
  --pf-surface-raised: #171a20;
  --pf-border: #ffffff12;
  --pf-text: #f3f4f6;
  --pf-muted: #969da9;
  --pf-blue: #439aff;
  --pf-primary: #166cf0;
  --pf-accent: var(--pf-blue);
  --pf-background: none;
  --text: var(--pf-text);
  --muted: var(--pf-muted);
  --line: var(--pf-border);
  --panel: var(--pf-surface);
  --panel2: var(--pf-surface-raised);
}
html, body { background-color: var(--pf-bg); }
body { background-image: none; color: var(--pf-text); }
::selection { background: #166cf065; color: #fff; }
:is(a,button,input,select,textarea,summary):focus-visible { outline-color: var(--pf-blue); }
:is(input,select,textarea) { accent-color: var(--pf-primary); }
body :is(.button.light,.button.solid,.button:not(.outline):not(.secondary):not(.danger)) {
  border-color: var(--pf-primary);
  border-radius: 3px;
  background: var(--pf-primary);
  color: #fff;
  box-shadow: none;
}
body :is(.button.light,.button.solid):hover { background: #287dff; border-color: #458fff; box-shadow: none; }
body :is(.button.outline,.button.secondary) { background: #191b20; border-color: #ffffff1b; border-radius: 3px; color: #d7dbe2; }
body :is(.button.outline,.button.secondary):hover { background: #23262d; border-color: #ffffff30; }
body :is(.site-header,.workspace-top,.report-top,.topbar) { background: #08090bf5; border-color: var(--pf-border); }
body[data-mode="admin"] :is(.dashboard-card,.panel) { border-color: var(--pf-border); border-radius: 6px; background: var(--pf-surface); box-shadow: none; }
body[data-mode="admin"] :is(.table-heading,.panel-heading,.scan-list-head) { background: #ffffff03; border-color: var(--pf-border); }

.playforensic-site {
  --page-bg: var(--pf-bg);
  --panel-bg: var(--pf-surface);
  --panel-raised: var(--pf-surface-raised);
  --page-ink: var(--pf-text);
  --page-muted: #a5a8b1;
  --page-subtle: #858c99;
  --page-line: var(--pf-border);
  --page-blue: var(--pf-blue);
  background: var(--pf-bg);
}
.playforensic-site::before,.playforensic-site > main::after { content: none; }
.playforensic-site .public-header { border-bottom: 1px solid #ffffff0a; }
.playforensic-site .site-brand-name small { display: none; }
.playforensic-site .public-nav { border: 0; background: none; }
.playforensic-site .public-nav > a,.playforensic-site .public-nav-menu > summary {
  padding: 9px 10px;
  border-radius: 2px;
  color: #a5a8b1;
  font-size: 12px;
}
.playforensic-site .public-nav > a:hover,.playforensic-site .public-nav-menu > summary:hover,
.playforensic-site .public-nav [aria-current="page"],.playforensic-site .public-nav-menu[open] > summary {
  color: #fff;
  background: #ffffff07;
}
.playforensic-site .public-nav-panel { border-color: #ffffff1c; border-radius: 3px; background: #111319; }
.playforensic-site .public-nav-panel a { color: #c7cbd3; border-radius: 2px; }
.playforensic-site .public-nav-panel a:hover { background: #ffffff08; }
.playforensic-site .public-sign-in { color: #d0d1d6; }
.playforensic-site .site-button { border-radius: 3px; font-weight: 600; transition: background .18s,border-color .18s,transform .18s; }
.playforensic-site .site-button-primary { border-color: var(--pf-primary); background: var(--pf-primary); color: #fff; }
.playforensic-site .site-button-primary:hover { border-color: #458fff; background: #287dff; transform: translateY(-2px); }
.playforensic-site .site-button-secondary { border-color: #25282e; background: #191b20; color: #f1f2f5; }
.playforensic-site .site-button-secondary:hover { border-color: #494f5b; background: #23262d; transform: translateY(-2px); }
.playforensic-site .public-footer { border-top: 1px solid #ffffff10; background: var(--pf-bg); }
.playforensic-site .public-footer-inner { border: 0; color: #707b8b; }
.playforensic-site .public-footer nav { color: #919aa9; }
.playforensic-site :is(.evidence-view,.evidence-tabs,.workflow-step,.site-directory > a) { border-color: var(--pf-border); border-radius: 6px; background: var(--pf-surface); }
.playforensic-site .evidence-tabs { border-radius: 6px 6px 0 0; background: #ffffff03; }
.playforensic-site .evidence-tabs :is(button:hover,[aria-selected="true"]) { background: #166cf014; border-color: #439aff40; color: #b2d3ff; }
.playforensic-site .site-directory > a:hover { border-color: #439aff60; background: #14171d; }

/* Plan and archive interactions retain their existing motion. */
.pricing-page .pricing-plan { --plan-line: #439aff; border-color: var(--pf-border); border-top-color: #439aff75; border-radius: 6px; background: var(--pf-surface); }
.pricing-page .pricing-plan-enterprise { border-color: #439aff40; background: #12161d; }
.pricing-page .pricing-plan::before { background: linear-gradient(#166cf00a,transparent 50%); }
.pricing-page .pricing-plan:focus-within { border-color: #439aff70; box-shadow: 0 14px 32px #0005; }
.pricing-page .pricing-features-title { border-color: var(--pf-border); }
.check-page :is(.check-card,.check-archive-stat,.check-server,.check-no-servers) { border-color: #ffffff18; border-radius: 6px; background: var(--pf-surface); box-shadow: none; }
.check-page .check-search-card::before { background: linear-gradient(90deg,transparent,#439aff50,transparent); }
.check-page .check-search-card:focus-within { border-color: #439aff70; box-shadow: none; }
.check-page .check-archive-stat[aria-selected="true"] { border-color: #439aff70; background: #166cf012; box-shadow: inset 0 -2px var(--pf-blue); }
.check-page :is(.check-search-row input,.check-filter) { border-color: #ffffff25; border-radius: 3px; background: #0b0d11; color: var(--pf-text); }
.check-page .check-search-row input:focus { background: #0b0d11; border-color: var(--pf-blue); }
.check-page .check-filter input { color: var(--pf-text); }
.check-page :is(.check-user-avatar,.check-server-avatar) { border-color: #ffffff25; border-radius: 6px; background: #1a202b; color: #a9b9ce; }
.check-page :is(.check-scope-badge,.check-server-total,.check-role) { border-color: #ffffff1e; background: #ffffff04; color: #a4adbb; }
.check-page :is(.check-server-dates,.check-record-details > div,.check-archive-note) { border-color: var(--pf-border); }
.check-page :is(.check-help,.check-license-note,.check-user-id,.check-archive-label,.check-category-label,.check-server-id,.check-server-dates dt,.check-no-roles,.check-record-details dt,.check-archive-note) { color: var(--pf-muted); }
.check-page :is(.check-result-identity h2,.check-category-count,.check-server-heading h3,.check-server-identity h4,.check-record-title) { color: var(--pf-text); }
.check-page :is(.check-server-dates dd,.check-record-details dd) { color: #c1c6ce; }
.check-page .check-load-more { border-color: #ffffff25; background: #191b20; color: #d7dbe2; }
.check-page .product-main::before { background: none; }

/* Legacy administration shares the same surfaces as the customer workspace. */
body[data-mode="admin"] :is(.dashboard,.dashboard-card,.panel,.empty,.summary-table,.files-panel,.coverage-panel) { border-color: var(--pf-border); border-radius: 6px; background: var(--pf-surface); }
body[data-mode="admin"] :is(.dashboard-counts > div,.dashboard-head,.panel-heading,.scan-list-head,.file-table-head,.table-heading) { border-color: var(--pf-border); background: #ffffff03; }
body[data-mode="admin"] :is(.form-row input,.file-controls input,.file-controls select) { border-color: #ffffff24; border-radius: 3px; background: var(--pf-bg); color: var(--pf-text); }
body[data-mode="admin"] :is(.scan-list-row,.summary-row,.file-row,.info-row,.logs p,.coverage-item) { border-color: var(--pf-border); }
body[data-mode="admin"] :is(.scan-list-row,.file-row):hover { background: #ffffff04; }

@media (hover:hover) and (pointer:fine) {
  .pricing-page .pricing-plan:hover { border-color: #439aff70; box-shadow: 0 14px 32px #0005; }
  .check-page :is(.check-archive-stat,.check-server):hover { border-color: #439aff60; box-shadow: 0 8px 24px #0004; }
}
@media(max-width:900px) {
  .playforensic-site .public-nav > a,.playforensic-site .public-nav-menu > summary { padding: 6px 7px; font-size: 11px; }
}
@media(max-width:600px) {
  .playforensic-site .public-nav > a,.playforensic-site .public-nav-menu > summary { padding: 5px 5px; font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) {
  .playforensic-site .site-button { transition: none; }
  .playforensic-site .site-button:hover { transform: none; }
}
@media print {
  html:has(body.tos-page) { color-scheme: light; background: #fff; }
}
