/* Foundry semantic UI primitives. Shared product/admin pages should use these tokens/classes instead of page-specific colors. */
:root{
  --fd-surface-page:#f3f5f8;
  --fd-surface-panel:#fff;
  --fd-surface-subtle:#f8fafc;
  --fd-surface-raised:#fff;
  --fd-surface-control:#fff;
  --fd-surface-hover:#f1f4f9;
  --fd-text-primary:#172033;
  --fd-text-secondary:#687386;
  --fd-text-inverse:#fff;
  --fd-border-default:#e1e6ee;
  --fd-border-strong-semantic:#cbd3df;
  --fd-accent:#2452cc;
  --fd-accent-hover:#173ea8;
  --fd-accent-surface:#eef2ff;
  --fd-focus-ring:#5b7cfa;
  --fd-status-success:#087443;
  --fd-status-success-bg:#ecfdf3;
  --fd-status-success-border:#abefc6;
  --fd-status-danger:#9b1c14;
  --fd-status-danger-bg:#fff3f0;
  --fd-status-danger-border:#ffd0c9;
  --fd-status-warning:#7a4d00;
  --fd-status-warning-bg:#fffaeb;
  --fd-status-warning-border:#f0c36d;
  --fd-status-info:#2447ad;
  --fd-status-info-bg:#eef2ff;
  --fd-status-info-border:#c7d3ff;
  --fd-shadow-raised:0 10px 30px rgba(18,32,56,.07);
  color-scheme:light;
}
html[data-theme="dark"]{
  --fd-surface-page:#10131a;
  --fd-surface-panel:#171b24;
  --fd-surface-subtle:#1d222d;
  --fd-surface-raised:#202632;
  --fd-surface-control:#151a23;
  --fd-surface-hover:#242b38;
  --fd-text-primary:#edf1f7;
  --fd-text-secondary:#aab4c4;
  --fd-border-default:#303846;
  --fd-border-strong-semantic:#465164;
  --fd-accent:#91a7ff;
  --fd-accent-hover:#b5c3ff;
  --fd-accent-surface:#252f50;
  --fd-focus-ring:#9bb0ff;
  --fd-status-success:#72d6a7;
  --fd-status-success-bg:#10291f;
  --fd-status-success-border:#276847;
  --fd-status-danger:#ffaca3;
  --fd-status-danger-bg:#351714;
  --fd-status-danger-border:#7d332d;
  --fd-status-warning:#f4c96c;
  --fd-status-warning-bg:#302713;
  --fd-status-warning-border:#735d23;
  --fd-status-info:#a8b8ff;
  --fd-status-info-bg:#20294a;
  --fd-status-info-border:#45558a;
  --fd-shadow-raised:0 12px 34px rgba(0,0,0,.28);
  color-scheme:dark;
}
@media(prefers-color-scheme:dark){
  html[data-theme="system"]{
    --fd-surface-page:#10131a;
    --fd-surface-panel:#171b24;
    --fd-surface-subtle:#1d222d;
    --fd-surface-raised:#202632;
    --fd-surface-control:#151a23;
    --fd-surface-hover:#242b38;
    --fd-text-primary:#edf1f7;
    --fd-text-secondary:#aab4c4;
    --fd-border-default:#303846;
    --fd-border-strong-semantic:#465164;
    --fd-accent:#91a7ff;
    --fd-accent-hover:#b5c3ff;
    --fd-accent-surface:#252f50;
    --fd-focus-ring:#9bb0ff;
    --fd-status-success:#72d6a7;
    --fd-status-success-bg:#10291f;
    --fd-status-success-border:#276847;
    --fd-status-danger:#ffaca3;
    --fd-status-danger-bg:#351714;
    --fd-status-danger-border:#7d332d;
    --fd-status-warning:#f4c96c;
    --fd-status-warning-bg:#302713;
    --fd-status-warning-border:#735d23;
    --fd-status-info:#a8b8ff;
    --fd-status-info-bg:#20294a;
    --fd-status-info-border:#45558a;
    --fd-shadow-raised:0 12px 34px rgba(0,0,0,.28);
    color-scheme:dark;
  }
}
:root{
  --fd-page:var(--fd-surface-page);
  --fd-panel:var(--fd-surface-panel);
  --fd-panel-soft:var(--fd-surface-subtle);
  --fd-border:var(--fd-border-default);
  --fd-border-strong:var(--fd-border-strong-semantic);
  --fd-text:var(--fd-text-primary);
  --fd-muted:var(--fd-text-secondary);
  --fd-link:var(--fd-accent);
  --fd-link-strong:var(--fd-accent-hover);
  --fd-focus:var(--fd-focus-ring);
  --fd-success:var(--fd-status-success);
  --fd-danger:var(--fd-status-danger);
  --fd-shadow:var(--fd-shadow-raised);
}
html,body{background:var(--fd-surface-page);color:var(--fd-text-primary)}
.fd-topbar{background:color-mix(in srgb,var(--fd-surface-panel) 92%,transparent)}
.fd-topbar-link,button.fd-topbar-link{color:var(--fd-text-secondary)}
.fd-topbar-link:hover,button.fd-topbar-link:hover{background:var(--fd-surface-hover);color:var(--fd-text-primary)}
.fd-avatar{background:var(--fd-accent-surface);color:var(--fd-status-info);border-color:var(--fd-status-info-border)}
button,.fd-button{background:var(--fd-surface-control);color:var(--fd-text-primary)}
button:hover:not(:disabled),.fd-button:hover{background:var(--fd-surface-hover)}
.fd-button-primary{background:var(--fd-accent);border-color:var(--fd-accent);color:var(--fd-text-inverse)}
.fd-button-primary:hover{background:var(--fd-accent-hover);border-color:var(--fd-accent-hover);color:var(--fd-text-inverse)}
.error{background:var(--fd-status-danger-bg);color:var(--fd-status-danger);border-color:var(--fd-status-danger-border)}
.success{background:var(--fd-status-success-bg);color:var(--fd-status-success);border-color:var(--fd-status-success-border)}
.fd-palette-dialog,.fd-palette{background:var(--fd-surface-raised);color:var(--fd-text-primary)}
.fd-palette input{background:var(--fd-surface-control);color:var(--fd-text-primary)}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fd-theme-select{min-height:34px;max-width:8.5rem;padding:.25rem .45rem;border:1px solid var(--fd-border-default);border-radius:8px;background:var(--fd-surface-control);color:var(--fd-text-primary);font-size:.78rem}

.fd-field{display:grid;gap:.35rem;min-width:0}
.fd-field>label,.fd-field-label{font-weight:650;color:var(--fd-text-primary)}
.fd-field-help{font-size:.84rem;color:var(--fd-text-secondary)}
.fd-field-error{font-size:.84rem;color:var(--fd-status-danger);font-weight:600}
.fd-field :is(input,select,textarea){width:100%;min-width:0;padding:.65rem .7rem;border:1px solid var(--fd-border-strong-semantic);border-radius:8px;background:var(--fd-surface-control);color:var(--fd-text-primary)}
.fd-field :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--fd-status-danger)}
.fd-fieldset,.fd-card-system{min-width:0;padding:1rem;border:1px solid var(--fd-border-default);border-radius:12px;background:var(--fd-surface-panel);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.fd-fieldset{display:grid;gap:.85rem}
.fd-fieldset>label{display:grid;gap:.35rem;min-width:0;font-weight:650}
.fd-fieldset>label>:is(input,select,textarea){width:100%;min-width:0;padding:.65rem .7rem;border:1px solid var(--fd-border-strong-semantic);border-radius:8px;background:var(--fd-surface-control);color:var(--fd-text-primary)}
.fd-fieldset>label>input[type="checkbox"]{width:auto}
.fd-fieldset>legend{padding:0 .35rem;font-weight:700}
.fd-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.9rem 1rem}
.fd-action-bar{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
.fd-action-bar--end{justify-content:flex-end}
.fd-button-danger{border-color:var(--fd-status-danger-border);color:var(--fd-status-danger);background:var(--fd-status-danger-bg)}
.fd-button-danger:hover{border-color:var(--fd-status-danger);background:var(--fd-status-danger-bg)}
.fd-badge{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;padding:.17rem .5rem;border:1px solid var(--fd-border-default);border-radius:999px;background:var(--fd-surface-subtle);color:var(--fd-text-primary);font-size:.75rem;font-weight:650;line-height:1.35}
.fd-badge--success{background:var(--fd-status-success-bg);border-color:var(--fd-status-success-border);color:var(--fd-status-success)}
.fd-badge--warning{background:var(--fd-status-warning-bg);border-color:var(--fd-status-warning-border);color:var(--fd-status-warning)}
.fd-badge--danger{background:var(--fd-status-danger-bg);border-color:var(--fd-status-danger-border);color:var(--fd-status-danger)}
.fd-badge--info{background:var(--fd-status-info-bg);border-color:var(--fd-status-info-border);color:var(--fd-status-info)}
.fd-technical-details{margin:.7rem 0;border:1px solid var(--fd-border-default);border-radius:9px;background:var(--fd-surface-subtle);min-width:0}
.fd-technical-details>summary{cursor:pointer;padding:.55rem .7rem;color:var(--fd-text-secondary);font-weight:650}
.fd-technical-details-content{padding:.2rem .7rem .7rem;overflow-wrap:anywhere;word-break:break-word}
.fd-technical-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;overflow-wrap:anywhere;word-break:break-word}
.fd-preflight{padding:.8rem 1rem;border:1px solid var(--fd-status-info-border);border-radius:10px;background:var(--fd-status-info-bg);color:var(--fd-text-primary)}
.fd-loading[aria-busy="true"]{opacity:.72}
@media(max-width:640px){.fd-action-bar>*{max-width:100%}.fd-theme-select{max-width:7.5rem}.fd-form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(forced-colors:active){.fd-badge,.fd-fieldset,.fd-card-system,.fd-technical-details{border:1px solid CanvasText}}
