/* ============================================================
   Vestinit — Design Tokens  (ITP-03B Visual Refresh)
   Oxblood / warm-neutral institutional language.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');

/* ── Day (Light) Theme ── */
[data-theme="light"] {
  --bg-base:        #F6F2EF;
  --bg-surface:     #FFFDFB;
  --bg-raised:      #F1ECE8;
  --bg-elevated:    #E9E2DC;
  --bg-overlay:     #E1D8D0;
  --border-subtle:  #ECE5DF;
  --border-default: #DFD6CD;
  --border-strong:  #CABEB3;
  --text-primary:   #231A19;
  --text-secondary: #6A5E5A;
  --text-tertiary:  #9E938D;
  --text-inverse:   #FFFDFB;
  --accent:         var(--brand-claret);
  --accent-hover:   var(--brand-claret-hover);
  --accent-light:   var(--brand-claret-light);
  --accent-bg:      rgba(139,30,63,0.08);
  --accent-border:  rgba(139,30,63,0.24);
  --on-accent:      #FFFDFB;
  --gold:           #8A6A12;
  --gold-bg:        rgba(138,106,18,0.10);
  --red:            #B4342E;
  --red-bg:         rgba(180,52,46,0.10);
  --blue:           #2B5FA8;
  --blue-bg:        rgba(43,95,168,0.10);
  --ok:             #1F7A46;
  --ok-bg:          rgba(31,122,70,0.10);
  --shadow:         0 1px 3px rgba(40,20,20,0.06);
  --shadow-md:      0 6px 20px rgba(40,20,20,0.09);
  --shadow-lg:      0 14px 34px rgba(40,20,20,0.12);
  --input-bg:       #FFFDFB;
}

/* ── Night (Dark) Theme ── */
[data-theme="dark"] {
  --bg-base:        #161010;
  --bg-surface:     #1E1614;
  --bg-raised:      #241B18;
  --bg-elevated:    #2C211D;
  --bg-overlay:     #342722;
  --border-subtle:  #2A201D;
  --border-default: #3A2C28;
  --border-strong:  #4A3833;
  --text-primary:   #F3ECE8;
  --text-secondary: #B4A49E;
  --text-tertiary:  #7E6F6A;
  --text-inverse:   #161010;
  --accent:         #EC91A2;
  --accent-hover:   #F4AAB6;
  --accent-light:   #F4AAB6;
  --accent-bg:      rgba(236,145,162,0.12);
  --accent-border:  rgba(236,145,162,0.30);
  --on-accent:      #2A0F16;
  --gold:           #CBAA52;
  --gold-bg:        rgba(203,170,82,0.14);
  --red:            #E97B73;
  --red-bg:         rgba(233,123,115,0.14);
  --blue:           #77A8E6;
  --blue-bg:        rgba(119,168,230,0.14);
  --ok:             #52BD82;
  --ok-bg:          rgba(82,189,130,0.14);
  --shadow:         0 1px 3px rgba(0,0,0,0.4);
  --shadow-md:      0 8px 26px rgba(0,0,0,0.5);
  --shadow-lg:      0 16px 40px rgba(0,0,0,0.6);
  --input-bg:       #1E1614;
}

/* ── Static tokens (theme-independent) ── */
:root {
  --brand-claret:#8B1E3F; --brand-claret-hover:#701830; --brand-claret-light:#A83A57;
  --font-body:      'Libre Franklin', system-ui, sans-serif;
  --font-display:   'Libre Franklin', system-ui, sans-serif;
  --font-serif-alt: 'Libre Franklin', system-ui, sans-serif;

  --header-height:  60px;
  --sidebar-width:  264px;
  --radius:         12px;
  --radius-lg:      18px;
  --transition:     0.18s ease;

  --ground:         #6E1A28;
  --ground-deep:    #5A1420;
  --rose:           #EBB9C1;
  --pinstripe:      repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 8px);

  --navy-900: var(--bg-base);
  --navy-800: var(--bg-surface);
  --navy-700: var(--bg-raised);
  --navy-600: var(--bg-elevated);
  --navy-500: var(--border-default);
  --navy-400: var(--border-strong);
  --green-500: var(--accent);
  --green-400: var(--accent);
  --green-300: var(--accent-light);
  --gray-400:  var(--text-tertiary);
  --gray-500:  var(--text-secondary);
}
:root:not([data-theme]) {
  --bg-base:#F6F2EF; --bg-surface:#FFFDFB; --bg-raised:#F1ECE8;
  --bg-elevated:#E9E2DC; --bg-overlay:#E1D8D0;
  --border-subtle:#ECE5DF; --border-default:#DFD6CD; --border-strong:#CABEB3;
  --text-primary:#231A19; --text-secondary:#6A5E5A; --text-tertiary:#9E938D; --text-inverse:#FFFDFB;
  --accent:var(--brand-claret); --accent-hover:var(--brand-claret-hover); --accent-light:var(--brand-claret-light);
  --accent-bg:rgba(139,30,63,0.08); --accent-border:rgba(139,30,63,0.24); --on-accent:#FFFDFB;
  --gold:#8A6A12; --gold-bg:rgba(138,106,18,0.10);
  --red:#B4342E; --red-bg:rgba(180,52,46,0.10);
  --blue:#2B5FA8; --blue-bg:rgba(43,95,168,0.10);
  --ok:#1F7A46; --ok-bg:rgba(31,122,70,0.10);
  --shadow:0 1px 3px rgba(40,20,20,0.06); --shadow-md:0 6px 20px rgba(40,20,20,0.09); --shadow-lg:0 14px 34px rgba(40,20,20,0.12);
  --input-bg:#FFFDFB;
}
