    :root {
      --midnight: #0A0E1A;
      --surface: #111827;
      --surface-raised: #1C2333;
      --border: #2D3748;
      --brand-primary: #7C3AED;
      --brand-secondary: #06B6D4;
      --brand-mid: #2563EB;
      --brand-gradient: linear-gradient(135deg, #7C3AED 0%, #2563EB 50%, #06B6D4 100%);
      --text-primary: #F8FAFC;
      --text-secondary: #94A3B8;
      --text-faint: #475569;
      --success: #10B981;
      --warning: #F59E0B;
      --error: #EF4444;
      --font-display: 'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
      --font-body: 'Inter', 'Helvetica Neue', sans-serif;
      --font-mono: 'JetBrains Mono', 'Courier New', monospace;
      --radius-sm: 6px;
      --radius-md: 10px;
      --radius-lg: 16px;
      --radius-xl: 24px;
      --radius-icon: 18px;
      --shadow-subtle: 0 1px 3px rgba(0,0,0,0.4);
      --shadow-card: 0 4px 24px rgba(0,0,0,0.5);
      --shadow-elevated: 0 8px 40px rgba(124,58,237,0.15);
      --shadow-cta: 0 0 32px rgba(124,58,237,0.4);
      --transition: 200ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background-color: var(--midnight); color: var(--text-primary); font-family: var(--font-body); font-size: 16px; line-height: 1.6; min-height: 100vh; -webkit-font-smoothing: antialiased; display: flex; flex-direction: column; align-items: center; padding: 2rem 1rem 4rem; }
    h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); line-height: 1.15; color: var(--text-primary); }
    ::selection { background: rgba(124,58,237,0.3); color: var(--text-primary); }
    ::-webkit-scrollbar { width: 6px; height: 6px; }
    ::-webkit-scrollbar-track { background: var(--midnight); }
    ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--brand-primary); }

    @keyframes fadeInDown { from { opacity:0; transform:translateY(-32px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeInUp   { from { opacity:0; transform:translateY(32px); }  to { opacity:1; transform:translateY(0); } }
    @keyframes pulse-border { 0%,100% { box-shadow:0 0 0 0 rgba(16,185,129,0.4); } 50% { box-shadow:0 0 0 8px rgba(16,185,129,0); } }
    @keyframes spin { to { transform:rotate(360deg); } }
    @keyframes successBounce { 0% { transform:scale(0.8); opacity:0; } 60% { transform:scale(1.05); opacity:1; } 100% { transform:scale(1); opacity:1; } }
    @keyframes pulsingDots { 0%,80%,100% { opacity:.3; } 40% { opacity:1; } }

    .app-screen { display: none; }
    .app-screen.is-active { display: block; }
    .page-wrapper { width: 100%; max-width: 760px; display: flex; flex-direction: column; gap: 1.5rem; }
    .page-wrapper-wide { width: 100%; max-width: 960px; display: flex; flex-direction: column; gap: 1.5rem; }

    .aw-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: 48px 40px; box-shadow: var(--shadow-card); transition: var(--transition); }
    .btn-primary { background: var(--brand-gradient); color: white; border: none; border-radius: var(--radius-md); padding: 12px 24px; font-family: var(--font-display); font-weight: 600; font-size: 15px; cursor: pointer; transition: var(--transition); box-shadow: var(--shadow-elevated); width: 100%; }
    .btn-primary:hover { transform: translateY(-1px); box-shadow: var(--shadow-cta); }
    .btn-primary:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }
    .btn-secondary { background: var(--surface-raised); color: var(--text-primary); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px 24px; font-family: var(--font-display); font-weight: 600; font-size: 15px; cursor: pointer; transition: var(--transition); width: 100%; }
    .btn-secondary:hover { border-color: var(--brand-primary); background: var(--surface); }
    .btn-ghost { background: transparent; color: var(--text-secondary); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 10px 20px; font-family: var(--font-body); font-weight: 500; font-size: 14px; cursor: pointer; transition: var(--transition); }
    .btn-ghost:hover { color: var(--text-primary); border-color: var(--text-secondary); }
    .btn-sm { padding: 6px 14px; font-size: 13px; width: auto; }
    .btn-google { background: transparent; color: var(--text-secondary); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 10px 20px; font-family: var(--font-body); font-weight: 500; font-size: 14px; cursor: pointer; transition: var(--transition); display: inline-flex; align-items: center; gap: 0.5rem; width: 100%; justify-content: center; }
    .btn-google:hover { color: var(--text-primary); border-color: var(--text-secondary); }
    .btn-google svg { width: 18px; height: 18px; }

    input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-family: var(--font-body); font-size: 15px; padding: 12px 16px; width: 100%; transition: var(--transition); }
    input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus, textarea:focus, select:focus { outline: 2px solid var(--brand-secondary); outline-offset: 2px; border-color: var(--brand-primary); box-shadow: 0 0 0 3px rgba(124,58,237,0.15); }
    input::placeholder, textarea::placeholder { color: var(--text-faint); }
    input[type="text"]:hover, input[type="email"]:hover, input[type="password"]:hover, input[type="number"]:hover, textarea:hover { border-color: var(--text-faint); }
    label { font-family: var(--font-body); font-size: 14px; font-weight: 500; color: var(--text-secondary); display: block; margin-bottom: 6px; }
    label .required-star { color: var(--error); margin-left: 2px; }
    input[type="file"] { cursor:pointer; padding:0.55rem 0.9rem; font-size:0.93rem; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); }
    input[type="file"]:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 3px rgba(124,58,237,0.15); }
    textarea { resize: vertical; min-height: 130px; line-height: 1.6; }
    select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394A3B8' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }

    .form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
    .form-field { display: flex; flex-direction: column; gap: 0.35rem; }
    .form-field.full-width { grid-column: 1/-1; }
    .form-group { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1rem; }
    .helper-text { font-family: var(--font-body); font-size: 0.85rem; color: var(--text-faint); line-height: 1.45; margin-top: 0.1rem; }
    .error-text { font-family: var(--font-body); font-size: 0.85rem; color: var(--error); display: none; margin-top: 0.15rem; }
    .form-field.has-error input, .form-field.has-error textarea { border-color: var(--error); background: rgba(239,68,68,0.05); }
    .form-field.has-error .error-text { display: block; }
    .divider { border: none; border-top: 1px solid var(--border); margin: 1.6rem 0; opacity: 0.5; }

    .file-drop-zone { position:relative; border:2px dashed var(--border); border-radius:var(--radius-lg); background:var(--surface-raised); padding:32px 1rem; text-align:center; cursor:pointer; transition:var(--transition); }
    .file-drop-zone:hover { background:rgba(124,58,237,0.05); border-color:var(--brand-primary); }
    .file-drop-zone.drag-over { background:rgba(124,58,237,0.08); border-color:var(--brand-secondary); transform:scale(1.01); }
    .file-drop-zone.has-file { background:rgba(16,185,129,0.05); border-color:var(--success); border-style:solid; }
    .file-drop-zone input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
    .file-drop-zone .drop-label { font-family:var(--font-body); font-size:0.98rem; color:var(--text-secondary); pointer-events:none; }
    .file-drop-zone .drop-icon { font-size:1.4rem; margin-right:0.4rem; }

    .collapsible-header { display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; padding:0.75rem 1rem; border-radius:var(--radius-md); background:var(--surface-raised); border:1px solid var(--border); transition:var(--transition); }
    .collapsible-header:hover { border-color:var(--brand-primary); }
    .collapsible-header-left { display:flex; align-items:center; gap:0.65rem; }
    .collapsible-badge { font-family:var(--font-display); font-size:0.64rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:white; background:var(--brand-gradient); padding:0.18rem 0.65rem; border-radius:20px; }
    .collapsible-title { font-family:var(--font-display); font-size:0.73rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-secondary); }
    .chevron { width:22px; height:22px; color:var(--text-secondary); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); flex-shrink:0; }
    .collapsible-header[aria-expanded="true"] .chevron { transform:rotate(180deg); }
    .collapsible-body { overflow:hidden; max-height:0; opacity:0; transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease; }
    .collapsible-body.is-open { max-height:900px; opacity:1; }
    .collapsible-inner { padding-top:1.4rem; display:flex; flex-direction:column; gap:1.1rem; }
    .section-heading { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--text-primary); border-left:3px solid var(--brand-primary); padding-left:12px; margin-bottom:1.2rem; }

    .btn-submit { font-family:var(--font-display); font-size:17px; font-weight:700; color:white; background:var(--brand-gradient); border:none; border-radius:var(--radius-md); padding:16px 24px; cursor:pointer; width:100%; margin-top:1.4rem; transition:var(--transition); display:flex; align-items:center; justify-content:center; gap:0.6rem; position:relative; overflow:hidden; box-shadow:var(--shadow-elevated); }
    .btn-submit:hover { transform:translateY(-2px); box-shadow:var(--shadow-cta); }
    .btn-submit:active { transform:translateY(0); }
    .btn-submit:disabled { opacity:0.65; cursor:not-allowed; transform:none; }
    .btn-submit .spinner { width:18px; height:18px; border:2.5px solid rgba(255,255,255,0.4); border-top-color:#fff; border-radius:50%; animation:spin 0.7s linear infinite; display:none; }
    .btn-submit.is-loading .spinner { display:block; }
    .btn-submit.is-loading .btn-label { display:none; }

    .success-section { display:none; text-align:center; animation:successBounce 0.55s ease both; }
    .success-section.is-visible { display:block; }
    .success-icon { width:72px; height:72px; background:rgba(16,185,129,0.15); border:2px solid var(--success); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1.4rem; animation:pulse-border 2s ease infinite; }
    .success-icon svg { width:36px; height:36px; color:var(--success); }
    .success-title { font-family:var(--font-display); font-size:28px; font-weight:700; margin-bottom:0.6rem; }
    .success-subtitle { font-family:var(--font-body); font-size:1rem; color:var(--text-secondary); margin-bottom:1.4rem; line-height:1.65; }
    .success-features { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-lg); padding:16px 24px; margin-bottom:1.6rem; text-align:left; }
    .success-features-title { font-family:var(--font-display); font-size:0.72rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-faint); margin-bottom:0.8rem; }
    .success-feature-list { list-style:none; display:flex; flex-direction:column; gap:0.45rem; }
    .success-feature-list li { font-family:var(--font-body); font-size:0.97rem; color:var(--text-secondary); display:flex; align-items:flex-start; gap:0.55rem; line-height:1.5; }
    .success-feature-list li::before { content:''; width:7px; height:7px; background:var(--brand-gradient); border-radius:50%; flex-shrink:0; margin-top:0.45em; }
    .btn-reset { font-family:var(--font-display); font-size:14px; font-weight:600; color:var(--text-secondary); background:transparent; border:1px solid var(--border); border-radius:var(--radius-md); padding:10px 20px; cursor:pointer; transition:var(--transition); display:inline-block; }
    .btn-reset:hover { color:var(--text-primary); border-color:var(--text-secondary); }

    .landing-bullets { list-style:none; text-align:left; max-width:420px; margin:0 auto 2rem; display:flex; flex-direction:column; gap:0.7rem; }
    .landing-bullets li { font-family:var(--font-body); font-size:1rem; color:var(--text-secondary); display:flex; align-items:flex-start; gap:0.6rem; line-height:1.5; }
    .landing-bullets li::before { content:''; width:8px; height:8px; background:var(--brand-gradient); border-radius:50%; flex-shrink:0; margin-top:0.45em; }
    .landing-btn-stack { display:flex; flex-direction:column; gap:0.65rem; margin-bottom:1.5rem; }
    .landing-footer { font-family:var(--font-body); font-size:12px; color:var(--text-faint); text-align:center; margin-top:1rem; }

    .auth-card { max-width:440px; margin:0 auto; }
    .auth-field { display:flex; flex-direction:column; gap:0.3rem; margin-bottom:1rem; }
    .auth-error { font-family:var(--font-body); font-size:0.85rem; color:var(--error); display:none; margin-top:0.1rem; }
    .auth-field.has-error input { border-color:var(--error); background:rgba(239,68,68,0.05); }
    .auth-field.has-error .auth-error { display:block; }
    .auth-msg { font-family:var(--font-body); font-size:0.92rem; text-align:center; margin-top:0.8rem; padding:0.7rem; border-radius:var(--radius-md); display:none; }
    .auth-msg.is-error { display:block; background:rgba(239,68,68,0.1); color:var(--error); border:1px solid rgba(239,68,68,0.3); }
    .auth-msg.is-success { display:block; background:rgba(16,185,129,0.1); color:var(--success); border:1px solid rgba(16,185,129,0.3); }
    .auth-divider { display:flex; align-items:center; gap:0.8rem; margin:1.2rem 0; }
    .auth-divider::before, .auth-divider::after { content:''; flex:1; height:1px; background:var(--border); }
    .auth-divider span { font-family:var(--font-body); font-size:12px; font-weight:500; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.1em; }
    .auth-link-row { text-align:center; margin-top:1rem; font-family:var(--font-body); font-size:0.92rem; color:var(--text-secondary); }
    .auth-link { color:var(--brand-secondary); cursor:pointer; text-decoration:none; font-weight:500; }
    .auth-link:hover { text-decoration:underline; }
    .password-wrapper { position:relative; }
    .password-wrapper input { padding-right:3rem; }
    .password-toggle { position:absolute; right:0.7rem; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:var(--text-faint); font-family:var(--font-body); font-size:0.7rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; }
    .password-toggle:hover { color:var(--brand-secondary); }
    .auth-checkbox { display:flex; align-items:flex-start; gap:0.5rem; margin-bottom:1rem; }
    .auth-checkbox input[type="checkbox"] { width:16px; height:16px; accent-color:var(--brand-primary); margin-top:0.15rem; flex-shrink:0; }
    .auth-checkbox label { font-size:0.88rem; font-family:var(--font-body); color:var(--text-secondary); text-transform:none; letter-spacing:0; font-weight:400; }
    .recaptcha-wrap { margin-bottom:1rem; display:flex; justify-content:center; }
    .forgot-link { font-size:13px; color:var(--brand-secondary); cursor:pointer; text-align:right; display:block; margin-top:0.4rem; }
    .forgot-link:hover { text-decoration:underline; }

    .dash-header { background:var(--surface); border-bottom:1px solid var(--border); border-radius:var(--radius-lg); padding:16px 32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; animation:fadeInDown 0.5s ease both; }
    .dash-welcome { font-family:var(--font-display); font-size:18px; font-weight:600; }
    .dash-email { font-family:var(--font-body); font-size:0.88rem; color:var(--text-faint); margin-top:0.15rem; }
    .dash-actions { display:flex; gap:0.6rem; flex-wrap:wrap; }
    .btn-dash { font-family:var(--font-display); font-size:13px; font-weight:600; border-radius:var(--radius-md); padding:8px 16px; cursor:pointer; transition:var(--transition); border:none; }
    .btn-dash-primary { background:var(--brand-gradient); color:white; box-shadow:var(--shadow-elevated); }
    .btn-dash-primary:hover { transform:translateY(-1px); box-shadow:var(--shadow-cta); }
    .btn-dash-outline { background:transparent; color:var(--text-secondary); border:1px solid var(--border); }
    .btn-dash-outline:hover { color:var(--text-primary); border-color:var(--text-secondary); }

    .stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; animation:fadeInUp 0.5s ease 0.1s both; }
    .stat-card { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px 24px; text-align:center; }
    .stat-value { font-family:var(--font-display); font-size:32px; font-weight:700; background:var(--brand-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .stat-label { font-family:var(--font-body); font-size:13px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.08em; margin-top:0.2rem; }

    .reports-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; animation:fadeInUp 0.5s ease 0.2s both; }
    .reports-title { font-family:var(--font-display); font-size:18px; font-weight:600; margin-bottom:0.3rem; }
    .reports-subtitle { font-family:var(--font-body); font-size:13px; color:var(--text-faint); margin-bottom:1.2rem; }
    .reports-list { display:flex; flex-direction:column; gap:0.8rem; }
    .report-item { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0.8rem; padding:20px 24px; border-radius:var(--radius-lg); background:var(--surface); border:1px solid var(--border); transition:var(--transition); }
    .report-item:hover { border-color:var(--brand-primary); box-shadow:var(--shadow-elevated); }
    .report-info { flex:1; min-width:200px; }
    .report-date { font-family:var(--font-mono); font-size:12px; color:var(--text-faint); }
    .report-job { font-family:var(--font-display); font-size:16px; font-weight:600; margin-top:0.2rem; }
    .report-features-tags { display:flex; flex-wrap:wrap; gap:0.3rem; margin-top:0.4rem; }
    .report-tag { font-family:var(--font-body); font-size:11px; font-weight:500; padding:3px 10px; border-radius:20px; background:rgba(124,58,237,0.15); color:var(--brand-primary); border:1px solid rgba(124,58,237,0.3); }
    .report-meta { display:flex; align-items:center; gap:0.8rem; flex-shrink:0; }
    .report-score { font-family:var(--font-display); font-size:20px; font-weight:700; background:var(--brand-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .badge { font-family:var(--font-body); font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; }
    .badge-pending { background:rgba(245,158,11,0.15); color:#F59E0B; border:1px solid rgba(245,158,11,0.3); }
    .badge-complete { background:rgba(16,185,129,0.15); color:#10B981; border:1px solid rgba(16,185,129,0.3); }
    .badge-failed { background:rgba(239,68,68,0.15); color:#EF4444; border:1px solid rgba(239,68,68,0.3); }
    .btn-view { font-family:var(--font-body); font-size:13px; font-weight:500; color:var(--text-secondary); background:transparent; border:1px solid var(--border); border-radius:var(--radius-md); padding:6px 14px; cursor:pointer; transition:var(--transition); }
    .btn-view:hover { color:var(--text-primary); border-color:var(--text-secondary); }
    .empty-state { text-align:center; padding:3rem 1rem; }
    .empty-state p { font-family:var(--font-body); font-size:1rem; color:var(--text-secondary); margin-bottom:0.5rem; }
    .empty-state .empty-sub { color:var(--text-faint); font-size:0.9rem; margin-bottom:1.2rem; }
    .loading-spinner { display:flex; justify-content:center; padding:3rem; }
    .loading-spinner .spinner-lg { width:36px; height:36px; border:3px solid rgba(124,58,237,0.15); border-top-color:var(--brand-primary); border-radius:50%; animation:spin 0.8s linear infinite; }

    .features-section { margin-top:0.5rem; }
    .feature-group-label { font-family:var(--font-display); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--text-faint); margin-bottom:0.7rem; }
    .feature-grid { display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1rem; }
    .feature-item { display:flex; align-items:center; gap:0.6rem; padding:12px 16px; border-radius:var(--radius-md); background:var(--surface-raised); border:1px solid var(--border); transition:var(--transition); cursor:pointer; user-select:none; }
    .feature-item:hover { border-color:var(--brand-primary); }
    .feature-item.is-core { background:rgba(16,185,129,0.08); border:1px solid rgba(16,185,129,0.2); opacity:0.8; cursor:default; }
    .feature-item.is-checked { border-color:var(--brand-primary); background:rgba(124,58,237,0.05); }
    .feature-item.is-hidden { display:none; }
    .feature-item input[type="checkbox"] { width:16px; height:16px; accent-color:var(--brand-primary); cursor:pointer; flex-shrink:0; }
    .feature-item.is-core input[type="checkbox"] { cursor:default; }
    .feature-label { font-family:var(--font-body); font-size:0.95rem; color:var(--text-primary); flex:1; }
    .feature-tooltip { font-family:var(--font-body); font-size:0.78rem; color:var(--text-faint); font-style:italic; margin-left:auto; }
    .quick-select-row { display:flex; gap:0.5rem; flex-wrap:wrap; margin-bottom:1rem; }
    .btn-quick { font-family:var(--font-body); font-size:13px; font-weight:500; color:var(--text-secondary); background:transparent; border:1px solid var(--border); border-radius:var(--radius-md); padding:6px 14px; cursor:pointer; transition:var(--transition); }
    .btn-quick:hover { color:var(--text-primary); border-color:var(--brand-primary); }
    .time-estimate { font-family:var(--font-body); font-size:13px; color:var(--brand-primary); padding:10px 16px; background:rgba(124,58,237,0.08); border:1px solid rgba(124,58,237,0.2); border-radius:var(--radius-md); }

    .modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.85); backdrop-filter:blur(4px); z-index:1000; display:none; align-items:center; justify-content:center; padding:1.5rem; }
    .modal-overlay.is-open { display:flex; }
    .modal-content { background:white; border-radius:var(--radius-xl) var(--radius-xl) 0 0; width:100%; max-width:860px; max-height:90vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
    .modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; background:var(--surface); border-bottom:1px solid var(--border); flex-shrink:0; border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
    .modal-title { font-family:var(--font-display); font-size:14px; font-weight:600; color:var(--text-primary); }
    .modal-actions { display:flex; gap:0.5rem; }
    .btn-modal { font-family:var(--font-body); font-size:13px; font-weight:500; border-radius:var(--radius-md); padding:6px 14px; cursor:pointer; transition:var(--transition); }
    .btn-modal-close { background:transparent; border:1px solid var(--border); color:var(--text-secondary); }
    .btn-modal-close:hover { border-color:var(--text-secondary); color:var(--text-primary); }
    .btn-modal-print { background:var(--brand-gradient); border:none; color:white; }
    .btn-modal-print:hover { box-shadow:var(--shadow-elevated); }
    .modal-body { padding:1.5rem; overflow-y:auto; flex:1; font-family:var(--font-body); font-size:1rem; line-height:1.65; color:#1a1a2e; }
    .btn-back { font-family:var(--font-body); font-size:14px; font-weight:500; color:var(--text-secondary); background:transparent; border:1px solid var(--border); border-radius:var(--radius-md); padding:8px 16px; cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; gap:0.4rem; }
    .btn-back:hover { color:var(--text-primary); border-color:var(--text-secondary); }
    .form-header-bar { background:var(--surface); border-bottom:1px solid var(--border); border-radius:var(--radius-lg); padding:16px 32px; display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }

    @media print { body > *:not(.modal-overlay) { display:none !important; } .modal-overlay { position:static; background:none; backdrop-filter:none; padding:0; } .modal-content { max-height:none; box-shadow:none; border-radius:0; } .modal-header { display:none; } .modal-body { padding:0; overflow:visible; } }

    .admin-badge { font-family:var(--font-body); font-size:11px; font-weight:600; background:rgba(245,158,11,0.15); color:#F59E0B; border:1px solid rgba(245,158,11,0.3); padding:3px 10px; border-radius:20px; margin-left:0.5rem; vertical-align:middle; }
    .btn-dash-admin { background:rgba(245,158,11,0.15); color:#F59E0B; border:1px solid rgba(245,158,11,0.3); }
    .btn-dash-admin:hover { background:rgba(245,158,11,0.25); }
    .admin-header { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem 2rem; margin-bottom:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
    .admin-header h2 { font-family:var(--font-display); font-size:1.3rem; font-weight:700; margin:0; }
    .admin-header p { font-family:var(--font-body); font-size:0.85rem; color:var(--text-faint); margin:0.2rem 0 0; }
    .admin-actions { display:flex; gap:0.5rem; }
    .admin-metrics { display:grid; grid-template-columns:repeat(6, 1fr); gap:1rem; margin-bottom:1.5rem; }
    .admin-metric-card { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px 16px; text-align:center; cursor:default; }
    .admin-metric-card.clickable { cursor:pointer; transition:var(--transition); }
    .admin-metric-card.clickable:hover { border-color:var(--brand-primary); box-shadow:var(--shadow-elevated); transform:translateY(-2px); }
    .admin-metric-value { font-family:var(--font-display); font-size:1.6rem; font-weight:700; background:var(--brand-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .admin-metric-label { font-family:var(--font-body); font-size:13px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.08em; margin-top:0.3rem; }
    .admin-table-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; margin-bottom:1.5rem; }
    .admin-table-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.8rem; padding:1.5rem 2rem 1rem; }
    .admin-search { font-family:var(--font-body); font-size:0.9rem; padding:8px 16px; background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); color:var(--text-primary); width:250px; outline:none; transition:var(--transition); }
    .admin-search:focus { border-color:var(--brand-primary); }
    .admin-search::placeholder { color:var(--text-faint); }
    .admin-filters { display:flex; gap:0.4rem; }
    .admin-filter-btn { font-family:var(--font-body); font-size:13px; font-weight:500; padding:6px 14px; border-radius:var(--radius-md); border:1px solid var(--border); background:transparent; color:var(--text-secondary); cursor:pointer; transition:var(--transition); }
    .admin-filter-btn.active { background:rgba(124,58,237,0.15); color:var(--brand-primary); border-color:var(--brand-primary); }
    .admin-table { width:100%; border-collapse:collapse; font-family:var(--font-body); font-size:0.88rem; }
    .admin-table th { font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-faint); text-align:left; padding:12px 20px; background:var(--surface-raised); border-bottom:1px solid var(--border); }
    .admin-table td { padding:16px 20px; border-bottom:1px solid var(--border); vertical-align:middle; color:var(--text-primary); }
    .admin-table tr:hover { background:var(--surface-raised); }
    .admin-table .cost-cell { color:var(--brand-secondary); font-weight:600; font-family:var(--font-mono); }
    .admin-total-row { display:flex; justify-content:flex-end; padding:1rem 20px; font-family:var(--font-display); font-size:0.85rem; font-weight:700; color:var(--brand-primary); }
    .admin-chart-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem 2rem; margin-bottom:1.5rem; }
    .chart-bar-row { display:flex; align-items:center; gap:0.8rem; margin-bottom:0.5rem; }
    .chart-bar-label { font-family:var(--font-body); font-size:13px; min-width:160px; text-align:right; color:var(--text-secondary); }
    .chart-bar-track { flex:1; height:24px; background:var(--surface-raised); border-radius:12px; overflow:hidden; }
    .chart-bar-fill { height:100%; background:var(--brand-gradient); border-radius:12px; transition:width 0.6s ease; display:flex; align-items:center; justify-content:flex-end; padding-right:0.5rem; }
    .chart-bar-count { font-family:var(--font-display); font-size:0.65rem; font-weight:700; color:#fff; }
    .cost-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(4px); z-index:1001; display:none; align-items:center; justify-content:center; padding:1.5rem; }
    .cost-modal-overlay.is-open { display:flex; }
    .cost-modal { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl); width:100%; max-width:700px; max-height:90vh; overflow-y:auto; padding:2rem; box-shadow:var(--shadow-card); color:var(--text-primary); }
    .cost-modal h3 { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--brand-primary); margin:1.2rem 0 0.6rem; }
    .cost-modal h3:first-child { margin-top:0; }
    .cost-modal table { width:100%; border-collapse:collapse; margin-bottom:1rem; font-family:var(--font-body); font-size:0.88rem; }
    .cost-modal table th { font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; text-align:left; padding:0.5rem 0.6rem; border-bottom:1px solid var(--border); color:var(--text-faint); }
    .cost-modal table td { padding:0.4rem 0.6rem; border-bottom:1px solid var(--border); color:var(--text-secondary); }
    .cost-modal .cost-total-row td { font-weight:700; border-top:2px solid var(--brand-primary); color:var(--brand-primary); }
    .cost-modal-close { position:absolute; top:1rem; right:1rem; background:transparent; border:none; font-size:1.5rem; cursor:pointer; color:var(--text-faint); }
    .cost-modal-close:hover { color:var(--text-primary); }

    .debug-toggle { position:fixed; bottom:1.2rem; right:1.2rem; width:38px; height:38px; background:var(--surface-raised); border:1px solid var(--border); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--transition); z-index:999; }
    .debug-toggle:hover { border-color:var(--brand-primary); }
    .debug-toggle svg { width:16px; height:16px; color:var(--text-faint); }
    .debug-panel { position:fixed; bottom:4.2rem; right:1.2rem; width:min(380px,calc(100vw - 2.4rem)); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:0.9rem 1rem; z-index:998; display:none; max-height:220px; overflow-y:auto; }
    .debug-panel.is-open { display:block; }
    .debug-panel-title { font-family:var(--font-display); font-size:0.65rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-faint); margin-bottom:0.5rem; border-bottom:1px solid var(--border); padding-bottom:0.35rem; }
    .debug-log { font-family:var(--font-mono); font-size:0.75rem; color:var(--text-secondary); white-space:pre-wrap; word-break:break-all; line-height:1.55; }
    .debug-log .log-entry { padding:0.15rem 0; border-bottom:1px solid rgba(45,55,72,0.3); }
    .debug-log .log-entry.log-error { color:#ff8080; }
    .debug-log .log-entry.log-success { color:#80ffb8; }

    .dash-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin-bottom:0; background:var(--surface); border-radius:var(--radius-lg) var(--radius-lg) 0 0; overflow-x:auto; }
    .dash-tab { background:transparent; border:none; border-bottom:2px solid transparent; color:var(--text-secondary); font-family:var(--font-display); font-size:14px; font-weight:600; padding:12px 20px; cursor:pointer; transition:var(--transition); white-space:nowrap; }
    .dash-tab.active { color:var(--brand-primary); border-bottom-color:var(--brand-primary); }
    .dash-tab:hover { color:var(--text-primary); }
    .tab-content { display:none; }
    .tab-content.active { display:block; }

    .tag-input-container { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); padding:8px 12px; display:flex; flex-wrap:wrap; gap:6px; min-height:48px; cursor:text; align-items:center; }
    .tag-input-container:focus-within { border-color:var(--brand-primary); box-shadow:0 0 0 3px rgba(124,58,237,0.15); }
    .tag-input-container input { background:transparent; border:none; outline:none; color:var(--text-primary); font-family:var(--font-body); font-size:14px; flex:1; min-width:120px; padding:4px 0; }
    .tag-input-container input::placeholder { color:var(--text-faint); }
    .location-dropdown { position:relative; }
    .location-search { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); padding:12px 14px; color:var(--text-primary); font-family:var(--font-body); font-size:14px; width:100%; outline:none; box-sizing:border-box; }
    .location-search:focus { border-color:var(--brand-primary); box-shadow:0 0 0 3px rgba(124,58,237,0.15); }
    .location-search::placeholder { color:var(--text-faint); }
    .location-list { position:absolute; top:100%; left:0; right:0; background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); max-height:200px; overflow-y:auto; z-index:50; display:none; margin-top:4px; box-shadow:var(--shadow-elevated); }
    .location-list.show { display:block; }
    .location-option { padding:10px 14px; cursor:pointer; font-size:13px; color:var(--text-secondary); transition:var(--transition); }
    .location-option:hover { background:rgba(124,58,237,0.1); color:var(--text-primary); }
    .location-selected-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
    .tag-pill { background:rgba(124,58,237,0.15); color:var(--brand-primary); border:1px solid rgba(124,58,237,0.3); border-radius:20px; padding:4px 10px; font-size:13px; display:flex; align-items:center; gap:6px; font-family:var(--font-body); }
    .tag-pill .remove-tag { cursor:pointer; color:var(--text-faint); font-size:16px; line-height:1; }
    .tag-pill .remove-tag:hover { color:var(--error); }
    .tags-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
    .radio-group { display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
    .radio-option { display:flex; align-items:center; gap:6px; font-family:var(--font-body); font-size:14px; color:var(--text-secondary); cursor:pointer; padding:6px 12px; border-radius:var(--radius-md); border:1px solid var(--border); transition:var(--transition); }
    .radio-option:has(input:checked) { border-color:var(--brand-primary); background:rgba(124,58,237,0.08); color:var(--brand-primary); }
    .radio-option input[type="radio"] { accent-color:var(--brand-primary); }

    .filter-bar { display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
    .filter-btn { background:var(--surface-raised); border:1px solid var(--border); border-radius:20px; color:var(--text-secondary); font-size:13px; font-family:var(--font-body); padding:6px 14px; cursor:pointer; transition:var(--transition); }
    .filter-btn.active { background:rgba(124,58,237,0.15); border-color:var(--brand-primary); color:var(--brand-primary); }
    .filter-btn:hover { border-color:var(--text-faint); }

    .job-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px 24px; margin-bottom:12px; display:grid; grid-template-columns:80px 1fr auto; gap:20px; align-items:start; transition:var(--transition); }
    .job-card:hover { border-color:var(--brand-primary); box-shadow:var(--shadow-elevated); }
    .score-badge { width:72px; height:72px; border-radius:var(--radius-md); display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:20px; position:relative; }
    .score-badge span { font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; margin-top:2px; }
    .score-exceptional { background:var(--brand-gradient); color:white; }
    .score-strong { background:rgba(16,185,129,0.15); color:#10B981; border:1px solid rgba(16,185,129,0.3); }
    .score-good { background:rgba(37,99,235,0.15); color:#2563EB; border:1px solid rgba(37,99,235,0.3); }
    .score-fair { background:var(--surface-raised); color:var(--text-secondary); border:1px solid var(--border); }
    .job-title { font-family:var(--font-display); font-size:16px; font-weight:700; margin:0 0 6px; }
    .job-meta { display:flex; gap:16px; font-size:13px; color:var(--text-secondary); margin-bottom:10px; flex-wrap:wrap; }
    .match-reasons { list-style:none; margin:0 0 10px; padding:0; }
    .match-reasons li { font-size:13px; color:var(--text-secondary); margin-bottom:3px; }
    .category-tag { background:rgba(6,182,212,0.1); color:var(--brand-secondary); border:1px solid rgba(6,182,212,0.2); border-radius:20px; padding:3px 10px; font-size:11px; font-family:var(--font-body); }
    .visa-badge { display:inline-flex; align-items:center; gap:4px; border-radius:20px; font-size:11px; font-weight:600; padding:3px 10px; font-family:var(--font-mono); margin-top:6px; }
    .visa-yes { background:rgba(16,185,129,0.1); color:#10B981; border:1px solid rgba(16,185,129,0.25); }
    .visa-no { background:rgba(239,68,68,0.1); color:#EF4444; border:1px solid rgba(239,68,68,0.25); }
    .visa-unknown { background:var(--surface-raised); color:var(--text-faint); border:1px solid var(--border); }
    .visa-dot { position:absolute; top:-3px; right:-3px; width:10px; height:10px; background:#10B981; border-radius:50%; border:2px solid var(--midnight); }
    .tooltip-wrapper { position:relative; display:inline-block; }
    .tooltip-text { visibility:hidden; opacity:0; background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); color:var(--text-secondary); font-size:12px; font-family:var(--font-body); font-weight:400; line-height:1.5; padding:10px 14px; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:260px; box-shadow:var(--shadow-card); transition:opacity 150ms ease; z-index:100; pointer-events:none; }
    .tooltip-wrapper:hover .tooltip-text { visibility:visible; opacity:1; }
    .job-actions { display:flex; flex-direction:column; gap:8px; min-width:160px; }

    .prep-loading-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl); padding:48px 40px; text-align:center; max-width:480px; width:100%; }
    .prep-spinner { width:48px; height:48px; border:3px solid rgba(124,58,237,0.15); border-top-color:var(--brand-primary); border-radius:50%; animation:spin 0.8s linear infinite; margin:0 auto 20px; }
    .prep-steps { text-align:left; margin:20px auto; max-width:300px; }
    .prep-step { font-family:var(--font-body); font-size:14px; color:var(--text-faint); padding:8px 0; transition:var(--transition); }
    .prep-step.active { color:var(--brand-primary); font-weight:600; }
    .prep-step.done { color:var(--success); }

    .package-modal-container { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl); width:100%; max-width:860px; max-height:90vh; display:flex; flex-direction:column; box-shadow:var(--shadow-card); }
    .package-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--border); flex-shrink:0; }
    .package-tabs { display:flex; border-bottom:1px solid var(--border); flex-shrink:0; }
    .pkg-tab { background:transparent; border:none; border-bottom:2px solid transparent; color:var(--text-secondary); font-family:var(--font-display); font-size:13px; font-weight:600; padding:12px 20px; cursor:pointer; transition:var(--transition); }
    .pkg-tab.active { color:var(--brand-primary); border-bottom-color:var(--brand-primary); }
    .pkg-tab:hover { color:var(--text-primary); }
    .pkg-tab-content { padding:24px; overflow-y:auto; flex:1; display:none; }
    .pkg-tab-content.active { display:block; }
    .changes-summary { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); padding:16px; margin-bottom:16px; }
    .changes-summary h4, .key-points h4, .tips-section h4, .gap-section h4, .questions-section h4, .followup-section h4 { font-family:var(--font-display); font-size:14px; font-weight:700; margin-bottom:8px; color:var(--text-primary); }
    .changes-summary ul, .tips-section ol, .questions-section ol, .selling-points ul { font-family:var(--font-body); font-size:14px; color:var(--text-secondary); padding-left:20px; margin-bottom:12px; }
    .changes-summary ul li, .tips-section ol li, .questions-section ol li { margin-bottom:4px; }
    .keywords-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; }
    .keywords-row span { font-size:13px; color:var(--text-faint); }
    .resume-content, .cover-content { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); padding:20px; font-family:var(--font-body); font-size:14px; color:var(--text-secondary); line-height:1.7; white-space:pre-wrap; margin-bottom:16px; max-height:400px; overflow-y:auto; }
    .pkg-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
    .pkg-actions .btn-ghost, .pkg-actions .btn-primary { width:auto; }
    .key-points, .tips-section, .gap-section, .questions-section, .followup-section { margin-bottom:16px; }
    .gap-section p, .followup-section p { font-family:var(--font-body); font-size:14px; color:var(--text-secondary); line-height:1.6; }
    .package-modal-footer { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-top:1px solid var(--border); flex-shrink:0; }
    .package-modal-footer .btn-ghost, .package-modal-footer .btn-primary { width:auto; }

    .tracker-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:20px; }
    .tracker-stat { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); padding:16px; text-align:center; }
    .tracker-stat .stat-num { font-family:var(--font-display); font-size:28px; font-weight:700; background:var(--brand-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block; }
    .tracker-stat .stat-label { font-family:var(--font-body); font-size:12px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.08em; margin-top:4px; }
    .tracker-stat.success { border-color:rgba(16,185,129,0.3); background:rgba(16,185,129,0.05); }
    .app-row { display:grid; grid-template-columns:40px 1fr 60px 120px 100px auto auto; gap:12px; align-items:center; padding:16px 20px; border-bottom:1px solid var(--border); font-size:14px; transition:var(--transition); }
    .app-row:hover { background:var(--surface-raised); }
    .app-row.status-preparing { border-left:3px solid var(--brand-primary); }
    .app-row.status-applied { border-left:3px solid var(--brand-mid); }
    .app-row.status-interviewing { border-left:3px solid var(--warning); }
    .app-row.status-offer { border-left:3px solid var(--success); background:rgba(16,185,129,0.03); }
    .app-row.status-rejected { opacity:0.5; }
    .app-initials { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:14px; color:white; flex-shrink:0; }
    .app-row select { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-primary); font-family:var(--font-body); font-size:12px; padding:4px 24px 4px 8px; cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%2394A3B8' d='M5 7L0 2h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 6px center; }
    .score-badge-sm { font-family:var(--font-display); font-size:12px; font-weight:700; padding:2px 8px; border-radius:20px; }

    .toast { position:fixed; bottom:24px; right:24px; background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius-md); color:var(--text-primary); font-family:var(--font-body); font-size:14px; padding:12px 20px; box-shadow:var(--shadow-card); transform:translateY(20px); opacity:0; transition:var(--transition); z-index:9999; }
    .toast.show { transform:translateY(0); opacity:1; }
    .toast-success { border-left:3px solid var(--success); }
    .toast-error { border-left:3px solid var(--error); }
    .toast-info { border-left:3px solid var(--brand-primary); }

    .admin-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin-bottom:1.5rem; }
    .admin-tab-btn { background:transparent; border:none; border-bottom:2px solid transparent; color:var(--text-secondary); font-family:var(--font-display); font-size:14px; font-weight:600; padding:12px 20px; cursor:pointer; transition:var(--transition); }
    .admin-tab-btn.active { color:var(--brand-primary); border-bottom-color:var(--brand-primary); }
    .admin-tab-btn:hover { color:var(--text-primary); }
    .admin-tab-content { display:none; }
    .admin-tab-content.active { display:block; }

    @media (max-width: 768px) {
      .job-card { grid-template-columns:1fr; gap:12px; }
      .job-actions { flex-direction:row; flex-wrap:wrap; min-width:auto; }
      .package-modal-container { max-height:100vh; border-radius:0; }
      .dash-tabs { overflow-x:auto; -webkit-overflow-scrolling:touch; }
      .tracker-stats { grid-template-columns:1fr 1fr; }
      .app-row { grid-template-columns:1fr; gap:8px; }
    }
    @media (max-width: 640px) {
      .form-grid-2 { grid-template-columns:1fr; }
      .form-field.full-width { grid-column:auto; }
      .aw-card { padding:32px 24px; }
      .btn-submit { font-size:15px; padding:14px 20px; }
      .stats-row { grid-template-columns:1fr 1fr; }
      .dash-header { padding:16px; flex-direction:column; align-items:flex-start; }
      .reports-card { padding:16px; }
      .auth-card { padding:0; }
      .admin-metrics { grid-template-columns:repeat(2, 1fr); }
      .admin-table { font-size:0.78rem; }
      .admin-search { width:100%; }
      .chart-bar-label { min-width:100px; font-size:12px; }
      .form-header-bar { padding:12px 16px; }
    }

/* ============ ATS v2 section ============ */
.ats-v2 { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.ats-v2 h3 { font-family: var(--font-display); font-size: 20px; margin: 0 0 1rem; }
.ats-v2-overall { font-family: var(--font-display); font-size: 36px; font-weight: 800; margin-bottom: 1rem; }

.ats-subscore-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 1.5rem; }
@media (max-width: 768px) { .ats-subscore-row { grid-template-columns: repeat(2, 1fr); } }

.ats-subscore-card { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 14px; }
.ats-subscore-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-faint); margin-bottom: 6px; }
.ats-subscore-value { font-size: 24px; font-weight: 700; font-family: var(--font-display); margin-bottom: 8px; }
.ats-subscore-bar { height: 4px; background: var(--border); border-radius: 2px; overflow: hidden; }
.ats-subscore-fill { height: 100%; border-radius: 2px; transition: width 0.4s ease; }
.ats-score-bad { color: #EF4444; } .ats-score-bad .ats-subscore-fill { background: #EF4444; }
.ats-score-mid { color: #F59E0B; } .ats-score-mid .ats-subscore-fill { background: #F59E0B; }
.ats-score-good { color: #10B981; } .ats-score-good .ats-subscore-fill { background: #10B981; }

.ats-parseability { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 14px 18px; margin-bottom: 1.5rem; }
.ats-parse-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 14px; }
.ats-parse-ok { color: #10B981; }
.ats-parse-fail { color: #EF4444; }
.ats-parse-warn { color: #F59E0B; }

.ats-suggestion { background: var(--surface-raised); border-left: 3px solid var(--border); border-radius: var(--radius-sm); padding: 14px 16px; margin-bottom: 10px; }
.ats-suggestion-critical { border-left-color: #EF4444; }
.ats-suggestion-important { border-left-color: #F59E0B; }
.ats-suggestion-nice-to-have { border-left-color: #06B6D4; }

.ats-sev-pill { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 2px 8px; border-radius: 20px; margin-right: 8px; }
.ats-sev-critical { background: rgba(239,68,68,0.15); color: #EF4444; }
.ats-sev-important { background: rgba(245,158,11,0.15); color: #F59E0B; }
.ats-sev-nice-to-have { background: rgba(6,182,212,0.15); color: #06B6D4; }

.ats-category-tag { font-size: 10px; padding: 2px 6px; border-radius: 4px; background: var(--border); color: var(--text-faint); }
.ats-evidence { font-size: 13px; color: var(--text-secondary); background: rgba(0,0,0,0.2); border-left: 2px solid var(--brand-primary); padding: 6px 10px; margin: 8px 0; font-style: italic; }
.ats-fix { font-size: 13px; color: var(--text-primary); margin-top: 6px; }
.ats-impact { display: inline-block; font-size: 11px; background: rgba(124,58,237,0.15); color: var(--brand-primary); padding: 2px 8px; border-radius: 20px; margin-top: 6px; }

/* ============ Resume Rewrite diff section ============ */
.rewrite-section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.rewrite-section h3 { font-family: var(--font-display); font-size: 20px; margin: 0 0 1rem; }

.rewrite-meta-card { background: rgba(124,58,237,0.06); border: 1px solid rgba(124,58,237,0.2); border-radius: var(--radius-md); padding: 16px 20px; margin-bottom: 1.5rem; }
.rewrite-keywords-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.rewrite-keyword-chip { font-size: 11px; padding: 3px 10px; border-radius: 20px; background: rgba(124,58,237,0.15); color: var(--brand-primary); }

.rewrite-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 14px; margin-bottom: 10px; }
@media (max-width: 768px) { .rewrite-pair { grid-template-columns: 1fr; } }

.rewrite-col-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-faint); margin-bottom: 6px; }
.rewrite-col-body { font-size: 14px; line-height: 1.6; color: var(--text-primary); white-space: pre-wrap; }

.diff-add { background: rgba(16,185,129,0.2); color: #10B981; padding: 0 2px; border-radius: 2px; }
.diff-remove { background: rgba(239,68,68,0.15); color: #EF4444; text-decoration: line-through; padding: 0 2px; border-radius: 2px; }

.rewrite-reasons { margin-top: 10px; padding: 10px 14px; background: rgba(0,0,0,0.2); border-radius: var(--radius-sm); font-size: 13px; color: var(--text-secondary); }
.rewrite-reasons summary { cursor: pointer; font-weight: 600; color: var(--brand-secondary); }
.rewrite-reasons ul { margin: 8px 0 0; padding-left: 20px; }
.rewrite-reasons li { margin-bottom: 4px; }

.rewrite-error { background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.2); border-radius: var(--radius-md); padding: 14px 18px; color: var(--text-secondary); font-size: 14px; }
.rewrite-section-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.btn-copy-rewrite { background: rgba(124,58,237,0.15); color: var(--brand-primary); border: none; border-radius: var(--radius-sm); padding: 4px 10px; font-size: 11px; cursor: pointer; font-weight: 600; }
.btn-copy-rewrite:hover { background: rgba(124,58,237,0.25); }
.btn-rewrite-go-profile { background: var(--brand-gradient); color: white; border: none; border-radius: var(--radius-sm); padding: 8px 16px; font-size: 13px; cursor: pointer; font-weight: 600; margin-top: 10px; }
