/* ═══ STUDIOHAUS PORTAL — Core Styles ═══ */

    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    /* Custom scrollbar */
    ::-webkit-scrollbar { width: 6px; height: 6px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 3px; }
    ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.15); }
    [data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); }
    [data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.2); }

    :root {
      --bg: #0a0a0a;
      --bg-elevated: #111111;
      --bg-card: rgba(255,255,255,0.03);
      --bg-card-hover: rgba(255,255,255,0.06);
      --bg-input: rgba(255,255,255,0.04);
      --bg-glass: rgba(255,255,255,0.02);
      --text: #f0f0f0;
      --text-60: rgba(255,255,255,0.6);
      --text-45: rgba(255,255,255,0.42);
      --text-40: rgba(255,255,255,0.35);
      --text-20: rgba(255,255,255,0.18);
      --text-10: rgba(255,255,255,0.08);
      --accent: #f0f0f0;
      --success: #4ADE80;
      --warning: #FBBF24;
      --error: rgba(255,80,80,0.7);
      --border: rgba(255,255,255,0.06);
      --border-hover: rgba(255,255,255,0.12);
      --font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', Helvetica, Arial, sans-serif;
      --radius: 12px;
      --radius-sm: 8px;
      --radius-lg: 16px;
    }

    [data-theme="light"] {
      --bg: #f2f1ef;
      --bg-elevated: #e8e7e4;
      --bg-card: rgba(0,0,0,0.03);
      --bg-card-hover: rgba(0,0,0,0.06);
      --bg-input: rgba(0,0,0,0.03);
      --bg-glass: rgba(0,0,0,0.02);
      --text: #1a1a1a;
      --text-60: rgba(0,0,0,0.6);
      --text-45: rgba(0,0,0,0.45);
      --text-40: rgba(0,0,0,0.35);
      --text-20: rgba(0,0,0,0.18);
      --text-10: rgba(0,0,0,0.06);
      --accent: #1a1a1a;
      --success: #16a34a;
      --warning: #ca8a04;
      --error: rgba(220,38,38,0.7);
      --border: rgba(0,0,0,0.08);
      --border-hover: rgba(0,0,0,0.15);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font);
      background: var(--bg);
      color: var(--text);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
      transition: background 0.4s ease, color 0.4s ease;
    }

    .app {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* ─── LAYOUT ─── */

    .header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      padding: 16px 32px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: rgba(10,10,10,0.8);
      backdrop-filter: blur(24px) saturate(1.2);
      -webkit-backdrop-filter: blur(24px) saturate(1.2);
      border-bottom: 1px solid var(--border);
      transition: background 0.4s ease, border-color 0.4s ease;
    }
    .header::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(16, 185, 129, 0.3), rgba(59, 130, 246, 0.2), transparent);
      opacity: 0.6;
    }

    [data-theme="light"] .header {
      background: rgba(242,241,239,0.8);
    }

    .header-left {
      display: flex;
      align-items: baseline;
      gap: 16px;
    }

    .header-logo {
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 0.5px;
    }

    .header-right {
      display: flex;
      align-items: center;
      gap: 24px;
    }

    .header-client {
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--text-40);
    }

    .header-btn {
      background: var(--bg-card);
      border: 1px solid var(--border);
      color: var(--text-45);
      padding: 7px 16px;
      font-size: 11px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      font-family: var(--font);
      cursor: pointer;
      transition: all 0.2s;
      border-radius: 100px;
    }

    .header-btn:hover {
      border-color: var(--border-hover);
      color: var(--text-60);
      background: var(--bg-card-hover);
    }

    .main {
      flex: 1;
      padding: 96px 40px 60px;
      max-width: 1200px;
      margin: 0 auto;
      width: 100%;
      position: relative;
      z-index: 1;
      background: radial-gradient(ellipse 120% 50% at 50% 100%, rgba(16,185,129,0.18) 0%, rgba(16,185,129,0.07) 25%, rgba(16,185,129,0.02) 50%, transparent 75%);
    }

    .footer {
      padding: 24px 40px;
      display: flex;
      justify-content: space-between;
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--text-40);
      border-top: 1px solid var(--border);
      position: relative;
      z-index: 1;
    }

    /* ─── THEME TOGGLE ─── */
    .theme-toggle {
      background: transparent;
      border: 1px solid var(--border);
      border-radius: 50px;
      display: flex;
      align-items: center;
      padding: 2px;
      cursor: pointer;
      gap: 0;
      position: relative;
      height: 28px;
      width: 130px;
      transition: border-color 0.4s ease;
    }

    .theme-toggle-option {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      padding: 3px 10px;
      border-radius: 50px;
      font-size: 8px;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      z-index: 1;
      transition: color 0.3s ease;
      white-space: nowrap;
      flex: 1;
      font-family: var(--font);
    }

    .theme-toggle-option svg {
      width: 10px;
      height: 10px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.5;
    }

    /* Dark mode: DARK is active (white pill, black text) */
    .theme-toggle-option.dark-opt {
      color: #000;
    }

    .theme-toggle-option.light-opt {
      color: var(--text-40);
    }

    /* Active pill background */
    .theme-toggle::before {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: calc(50% - 2px);
      height: calc(100% - 4px);
      background: var(--text);
      border-radius: 50px;
      transition: transform 0.3s ease, background 0.4s ease;
    }

    /* Light mode: pill slides right */
    [data-theme="light"] .theme-toggle::before {
      transform: translateX(100%);
    }

    [data-theme="light"] .theme-toggle-option.dark-opt {
      color: var(--text-40);
    }

    [data-theme="light"] .theme-toggle-option.light-opt {
      color: #f5f5f5;
    }

    /* ─── LOGIN ─── */
    .login-screen {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 40px;
      position: relative;
      overflow: hidden;
    }

    .login-screen::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(ellipse at 30% 50%, rgba(255,255,255,0.02) 0%, transparent 60%),
                  radial-gradient(ellipse at 70% 60%, rgba(255,255,255,0.015) 0%, transparent 50%);
      pointer-events: none;
    }

    .login-logo {
      font-size: 24px;
      font-weight: 500;
      letter-spacing: 0.5px;
      margin-bottom: 8px;
      position: relative;
    }

    .login-subtitle {
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--text-40);
      margin-bottom: 60px;
      position: relative;
    }

    .login-form {
      width: 100%;
      max-width: 380px;
      position: relative;
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 36px;
    }

    .login-field {
      position: relative;
      margin-bottom: 20px;
    }

    .login-field input {
      width: 100%;
      background: var(--bg-input);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      color: var(--text);
      font-family: var(--font);
      font-size: 15px;
      font-weight: 300;
      padding: 14px 48px 14px 16px;
      outline: none;
      transition: all 0.3s;
    }

    .login-field input::placeholder {
      color: var(--text-40);
    }

    .login-field input:focus {
      border-color: var(--border-hover);
      background: var(--bg-card-hover);
    }

    .login-submit {
      position: absolute;
      right: 6px;
      top: 50%;
      transform: translateY(-50%);
      background: var(--text);
      color: var(--bg);
      border: none;
      cursor: pointer;
      padding: 8px 12px;
      font-size: 16px;
      transition: all 0.2s;
      border-radius: 6px;
      font-weight: 500;
    }

    .login-submit:hover { opacity: 0.85; }

    .login-error {
      font-size: 13px;
      color: var(--error);
      margin-top: 16px;
      text-align: center;
      min-height: 20px;
    }

    .login-footer {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 20px 40px;
      display: flex;
      justify-content: space-between;
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--text-40);
    }

    /* ─── DASHBOARD ─── */
