/* DealsPilot design system — extracted from DealsPilot App.html mockup.
   Shared tokens + primitives for the dashboard. The extension HUD embeds its
   own copy of the tokens (shadow DOM cannot reach this stylesheet). */

@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/hanken-grotesk-400-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/hanken-grotesk-400-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/space-grotesk-400-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/space-grotesk-400-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('fonts/jetbrains-mono-400-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('fonts/jetbrains-mono-400-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --dp-ink-deep:#08161A;      
  --dp-ink-panel:#0B1A1E;     
  --dp-ink-border:#214247;
  --dp-ink-border-soft:#16302F;
  --dp-ink-line:#0F2429;
  --dp-primary:#0F5A4E;
  --dp-primary-deep:#12705F;
  --dp-accent:#2FE0C8;
  --dp-accent-soft:#7CF4E0;
  --dp-success:#0E9F6E;
  --dp-success-bg:#E6F6F1;
  --dp-amber:#C9821A;
  --dp-red:#C0392B;
  --dp-red-bg:#FBEDEB;
  --dp-bg:#F6F8F8;
  --dp-surface:#FFFFFF;
  --dp-surface-2:#F4FBFA;
  --dp-surface-3:#F1F5F5;
  --dp-border:#DCE6E6;
  --dp-border-2:#E7ECEC;
  --dp-teal-border:#CDE3DD;
  --dp-text:#0E1A1C;
  --dp-text-2:#33474A;
  --dp-muted:#5C6B6C;
  --dp-faint:#7A8788;
  --dp-fainter:#9AA8A8;
  --dp-font:'Hanken Grotesk',system-ui,sans-serif;
  --dp-display:'Space Grotesk',sans-serif;
  --dp-mono:'JetBrains Mono',ui-monospace,monospace;
  --dp-r-card:16px;
  --dp-r-lg:18px;
  --dp-r-input:10px;
  --dp-shadow-card:0 1px 3px rgba(8,22,26,.06);
  --dp-shadow-pop:0 22px 54px rgba(8,22,26,.45);
}

*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--dp-font);-webkit-font-smoothing:antialiased;color:var(--dp-text);background:var(--dp-bg)}
input,select,button,textarea{font-family:inherit;font-size:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--dp-primary)!important}

@keyframes wpulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dp-pop{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}

.dp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--dp-primary);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:filter .12s}
.dp-btn:hover{filter:brightness(1.06)}
.dp-btn:disabled{opacity:.55;cursor:default;filter:none}
.dp-btn.mint{background:var(--dp-accent);color:var(--dp-ink-deep)}
.dp-btn.danger{background:var(--dp-red)}
.dp-btn.sm{padding:7px 13px;font-size:12.5px;border-radius:8px}

.dp-ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--dp-surface);color:var(--dp-text-2);border:1px solid var(--dp-border);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}
.dp-ghost:hover{background:var(--dp-surface-3)}
.dp-ghost.sm{padding:6px 12px;font-size:12px;border-radius:8px}
.dp-ghost.danger{color:var(--dp-red);border-color:#EAD3CF}

.dp-card{background:var(--dp-surface);border:1px solid var(--dp-border-2);border-radius:var(--dp-r-card);box-shadow:var(--dp-shadow-card)}
.dp-row{transition:background .1s}
.dp-row:hover{background:#FAFCFC}

.dp-nav{font-size:13.5px;cursor:pointer;height:58px;display:flex;align-items:center;color:var(--dp-muted);font-weight:400;border-bottom:2px solid transparent;text-decoration:none}
.dp-nav:hover{color:var(--dp-text)}
.dp-nav.active{color:var(--dp-text);font-weight:600;border-bottom-color:var(--dp-primary)}

.dp-chip{display:inline-flex;align-items:center;gap:5px;background:var(--dp-surface-3);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--dp-muted)}
.dp-chip.mint{background:var(--dp-success-bg);color:var(--dp-primary-deep)}
.dp-chip.amber{background:#FBF3E3;color:var(--dp-amber)}
.dp-chip.red{background:var(--dp-red-bg);color:var(--dp-red)}
.dp-chip.mono{font-family:var(--dp-mono);font-size:11.5px}

.dp-input{width:100%;background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--dp-r-input);padding:10px 12px;font-size:13.5px;color:var(--dp-text)}
.dp-label{display:block;font-size:12px;font-weight:600;color:var(--dp-muted);margin:0 0 6px;letter-spacing:.02em}

.dp-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dp-faint)}
.dp-h1{font-family:var(--dp-display);font-size:24px;font-weight:600;letter-spacing:-.3px;margin:0}
.dp-h2{font-family:var(--dp-display);font-size:17px;font-weight:600;letter-spacing:-.2px;margin:0}
.dp-mono{font-family:var(--dp-mono)}

.dp-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dp-dot.live{background:var(--dp-accent);animation:wpulse 1.4s ease infinite}
.dp-dot.ok{background:var(--dp-success)}
.dp-dot.bad{background:var(--dp-red)}
.dp-dot.idle{background:var(--dp-fainter)}
