:root{
  --fo-bg:#0b0f19;
  --fo-panel:#111827;
  --fo-panel2:#0f172a;
  --fo-border:rgba(148,163,184,.22);
  --fo-text:#e5e7eb;
  --fo-muted:#a7b0c0;
  --fo-accent:#3b82f6;
  --fo-accent2:#2563eb;
  --fo-danger:#ef4444;
  --fo-warn:#f59e0b;
  --fo-ok:#22c55e;
  --fo-shadow:rgba(0,0,0,.35);
  --fo-radius:14px;
}
.fo-theme-light{
  --fo-bg:#f6f7fb;
  --fo-panel:#ffffff;
  --fo-panel2:#ffffff;
  --fo-border:rgba(15,23,42,.14);
  --fo-text:#0f172a;
  --fo-muted:#475569;
  --fo-accent:#2563eb;
  --fo-accent2:#1d4ed8;
  --fo-danger:#dc2626;
  --fo-warn:#d97706;
  --fo-ok:#16a34a;
  --fo-shadow:rgba(2,6,23,.10);
}
body{background:var(--fo-bg);color:var(--fo-text);}
.fo-wrap{display:flex;gap:12px;padding:12px;}
.fo-col{border:1px solid var(--fo-border);border-radius:var(--fo-radius);padding:12px;background:linear-gradient(180deg, rgba(17,24,39,.62), rgba(15,23,42,.62));box-shadow:0 18px 44px var(--fo-shadow);}
.fo-theme-light .fo-col{background:var(--fo-panel);}
.fo-left{width:380px;}
.fo-right{flex:1;min-width:0;}
.fo-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.fo-stack{display:grid;gap:10px;}
.fo-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.fo-mini{font-size:12px;color:var(--fo-muted);line-height:1.4;}
.fo-muted{color:var(--fo-muted);}
.fo-pill{display:inline-block;padding:2px 8px;border:1px solid var(--fo-border);border-radius:999px;font-size:12px;color:var(--fo-text);background:rgba(15,23,42,.28);}
.fo-theme-light .fo-pill{background:rgba(15,23,42,.04);}
.fo-btn{padding:8px 10px;border-radius:12px;border:1px solid var(--fo-border);background:rgba(15,23,42,.18);color:var(--fo-text);cursor:pointer;}
.fo-theme-light .fo-btn{background:rgba(15,23,42,.03);}
.fo-btn:hover{border-color:rgba(59,130,246,.6);}
.fo-btn.primary{background:var(--fo-accent);border-color:var(--fo-accent);color:white;}
.fo-btn.primary:hover{background:var(--fo-accent2);border-color:var(--fo-accent2);}
.fo-btn.danger{border-color:rgba(239,68,68,.5);color:var(--fo-danger);background:rgba(239,68,68,.08);}
.fo-btn:disabled{opacity:.55;cursor:not-allowed;}
.fo-input,.fo-select{padding:8px;border-radius:12px;border:1px solid var(--fo-border);background:rgba(15,23,42,.14);color:var(--fo-text);}
.fo-theme-light .fo-input,.fo-theme-light .fo-select{background:rgba(15,23,42,.02);}
.fo-link{color:var(--fo-muted);text-decoration:underline;}
.fo-link:hover{color:var(--fo-text);}
.fo-card{border:1px solid var(--fo-border);border-radius:var(--fo-radius);padding:12px;background:rgba(15,23,42,.18);}
.fo-theme-light .fo-card{background:rgba(15,23,42,.02);}
details.fo-accordion{border:1px solid var(--fo-border);border-radius:var(--fo-radius);padding:10px;background:rgba(15,23,42,.12);}
.fo-theme-light details.fo-accordion{background:rgba(15,23,42,.02);}
details.fo-accordion summary{cursor:pointer;user-select:none;font-weight:700;color:var(--fo-text);opacity:.92;}
details.fo-accordion summary::-webkit-details-marker{display:none;}
.fo-messages{max-height:58vh;overflow:auto;border:1px solid var(--fo-border);border-radius:var(--fo-radius);padding:10px;background:rgba(15,23,42,.08);}
.fo-theme-light .fo-messages{background:rgba(15,23,42,.01);}
.fo-threads{max-height:62vh;overflow:auto;margin-top:10px;}
.fo-thread{padding:8px;border:1px solid var(--fo-border);border-radius:12px;margin-bottom:6px;cursor:pointer;}
.fo-thread.active{border-color:rgba(34,197,94,.6);background:rgba(34,197,94,.10);}

/* FO_OPS_BUTTON_UNIFY_V1
   - Ops/Export and plan/status links rendered as buttons
   - Make <a class="fo-btn"> match <button class="fo-btn">
*/
a.fo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-decoration:none;
  line-height:1;
}
a.fo-btn:visited{ color: var(--fo-text); }
.fo-theme-light a.fo-btn:visited{ color: var(--fo-text); }
