/* ═══════════════════════════════════════════
   FoncierOps v4 — shadcn/ui Light System
   DM Sans · Zinc light · Black primary
   ═══════════════════════════════════════════ */
:root{
  --bg:#FFFFFF;
  --bg-raised:#FFFFFF;
  --bg-muted:#F4F4F5;
  --bg-subtle:#FAFAFA;
  --border:#E4E4E7;
  --border-hover:#D4D4D8;
  --ring:rgba(9,9,11,.05);
  --text:#09090B;
  --text-muted:#71717A;
  --text-dim:#A1A1AA;
  --accent:#E94E1B;
  --accent-hover:#D4441A;
  --accent-muted:rgba(233,78,27,.08);
  --success:#16A34A;--success-bg:rgba(22,163,74,.06);
  --warning:#CA8A04;--warning-bg:rgba(202,138,4,.06);
  --error:#DC2626;--error-bg:rgba(220,38,38,.06);
  --info:#2563EB;--info-bg:rgba(37,99,235,.06);
  --radius-sm:6px;--radius:8px;--radius-lg:12px;
  --font:'DM Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --sidebar-bg:#FAFAFA;--sidebar-border:#E4E4E7;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px}
body{font-family:var(--font);background:var(--bg-subtle);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}

.fo-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s}
.fo-card:hover{border-color:var(--border-hover)}
.fo-card--section{padding:20px}
.fo-card--clickable{cursor:pointer}
.fo-card--clickable:hover{box-shadow:0 1px 3px rgba(0,0,0,.04);border-color:var(--border-hover)}

.fo-score{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.fo-score--hot{background:var(--accent-muted);color:var(--accent)}
.fo-score--warm{background:var(--warning-bg);color:var(--warning)}
.fo-score--cold{background:var(--info-bg);color:var(--info)}

.fo-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500;background:var(--bg-muted);color:var(--text-muted)}
.fo-tag--active{background:var(--success-bg);color:var(--success)}
.fo-tag--low{background:var(--error-bg);color:var(--error)}
.fo-badge{font-size:10px;padding:1px 7px;border-radius:99px;background:var(--bg-muted);color:var(--text-muted);font-weight:600;font-variant-numeric:tabular-nums}

.fo-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}

.fo-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;border:1px solid transparent;font-family:var(--font)}
.fo-btn:active{transform:scale(.98)}
.fo-btn--primary{background:var(--text);color:#fff;border-color:var(--text)}
.fo-btn--primary:hover{background:#27272A}
.fo-btn--accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.fo-btn--accent:hover{background:var(--accent-hover)}
.fo-btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}
.fo-btn--ghost:hover{background:var(--bg-muted);color:var(--text);border-color:var(--border-hover)}
.fo-btn--sm{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}
.fo-btn--danger{color:var(--error);background:var(--error-bg);border-color:transparent}
.fo-btn--danger:hover{background:var(--error);color:#fff}

.fo-input{padding:8px 12px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:13px;font-family:var(--font);outline:none;transition:border-color .15s}
.fo-input:focus{border-color:var(--text);box-shadow:0 0 0 2px var(--ring)}
.fo-input--sm{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}
.fo-input::placeholder{color:var(--text-dim)}
select.fo-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}

.fo-toast{padding:10px 16px;border-radius:var(--radius);font-size:13px;animation:toast-in .3s ease;border:1px solid var(--border);background:var(--bg);color:var(--text);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.fo-toast--success{border-color:rgba(22,163,74,.2);color:var(--success)}
.fo-toast--error{border-color:rgba(220,38,38,.2);color:var(--error)}
@keyframes toast-in{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}

.fo-table{width:100%;border-collapse:collapse;font-size:13px}
.fo-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}
.fo-table td{padding:10px 12px;border-bottom:1px solid var(--border)}
.fo-table tr:hover td{background:var(--bg-muted)}
.fo-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}

.fo-text--muted{color:var(--text-muted)}.fo-text--dim{color:var(--text-dim)}.fo-text--mono{font-family:var(--font-mono);font-size:12px}
.fo-text--hot{color:var(--accent)}.fo-text--warm{color:var(--warning)}.fo-text--success{color:var(--success)}.fo-text--error{color:var(--error)}
.fo-link{color:var(--accent);text-decoration:none}.fo-link:hover{text-decoration:underline}
