 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --bg:#0d0f14;--card:#161922;--border:#252a36;--accent:#4f7dfc;
      --accent-glow:rgba(79,125,252,0.25);--text:#e8ecf4;--muted:#6b7385;
      --error:#f04f4f;--success:#3ecf8e;--input-bg:#1d2230;--warn:#f5a623;
    }
    body{font-family:'Inter',sans-serif;background:var(--bg);min-height:100vh;
      display:flex;align-items:center;justify-content:center;position:relative;overflow-x:hidden;}
    body::before,body::after{content:'';position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;}
    body::before{width:500px;height:500px;background:rgba(79,125,252,0.12);top:-100px;left:-100px;}
    body::after{width:400px;height:400px;background:rgba(62,207,142,0.08);bottom:-80px;right:-80px;}

    /* ===== SHARED ===== */
    .screen{display:none;position:relative;z-index:1;width:100%;max-width:700px;}
    .screen.active{display:block;}
    .card{background:var(--card);border:1px solid var(--border);border-radius:20px;
      padding:44px 40px;box-shadow:0 24px 80px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.04) inset;}
    .logo-mark{width:46px;height:46px;background:linear-gradient(135deg,var(--accent),#7c5cfc);
      border-radius:12px;display:flex;align-items:center;justify-content:center;
      margin-bottom:24px;box-shadow:0 0 24px var(--accent-glow);}
    .logo-mark svg{width:22px;height:22px;fill:#fff;}
    h1{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.4px;}
    .subhead{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.5;}
    .divider{height:1px;background:var(--border);margin:28px 0;}
    .field{margin-bottom:18px;}
    label{display:block;font-size:12px;font-weight:600;color:var(--muted);
      letter-spacing:.6px;text-transform:uppercase;margin-bottom:8px;}
    .input-wrap{position:relative;display:flex;align-items:center;}
    .input-icon{position:absolute;left:14px;width:16px;height:16px;color:var(--muted);pointer-events:none;}
    input[type=text],input[type=password]{width:100%;background:var(--input-bg);border:1px solid var(--border);
      border-radius:10px;padding:12px 14px 12px 40px;color:var(--text);font-size:14px;
      outline:none;transition:border-color .2s,box-shadow .2s;}
    input::placeholder{color:var(--muted);}
    input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
    input.error-field{border-color:var(--error);}
    .toggle-pass{position:absolute;right:13px;background:none;border:none;cursor:pointer;
      padding:2px;color:var(--muted);transition:color .2s;}
    .toggle-pass:hover{color:var(--text);}
    .toggle-pass svg{width:17px;height:17px;}
    .error-msg{display:none;font-size:12px;color:var(--error);margin-top:6px;}
    .error-msg.show{display:block;}
    .alert{display:none;border-radius:10px;padding:12px 14px;font-size:13px;
      margin-bottom:20px;font-weight:500;}
    .alert.show{display:flex;align-items:center;gap:8px;}
    .alert.fail{background:rgba(240,79,79,.12);border:1px solid rgba(240,79,79,.3);color:var(--error);}
    .alert.ok{background:rgba(62,207,142,.10);border:1px solid rgba(62,207,142,.3);color:var(--success);}
    .btn{width:25%;padding:13px;background:linear-gradient(135deg,var(--accent),#6b5ff5);
      border:none;border-radius:10px;color:#fff;font-size:14.5px;font-weight:600;
      cursor:pointer;transition:opacity .2s,transform .1s,box-shadow .2s;
      box-shadow:0 4px 20px rgba(79,125,252,.35);margin-top:6px;}
    .btn:hover{opacity:.92;box-shadow:0 6px 28px rgba(79,125,252,.5);}
    .btn:active{transform:scale(.985);}
    .btn:disabled{opacity:.4;cursor:not-allowed;}
    .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--muted);
      border-radius:10px;padding:10px 24px;font-size:13.5px;
      font-weight:500;cursor:pointer;transition:all .2s;}
    .btn-secondary:hover{border-color:var(--accent);color:var(--accent);}

    /* ===== LOGIN ===== */
    .footer-note{text-align:center;font-size:12px;color:var(--muted);margin-top:22px;}
    .footer-note span{color:var(--accent);font-weight:600;}

    /* ===== EXTRACTOR SCREEN ===== */
    #extractorScreen{max-width:1320px;padding:0 15px;}
    .top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
    .top-bar h2{font-size:18px;font-weight:700;color:var(--text);}
    .user-chip{display:flex;align-items:center;gap:8px;background:rgba(79,125,252,.1);
      border:1px solid rgba(79,125,252,.25);border-radius:50px;padding:6px 14px;
      font-size:12px;font-weight:600;color:var(--accent);}
    .dot{width:7px;height:7px;background:var(--success);border-radius:50%;
      animation:pulse 1.8s infinite;}
    @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

    /* API Key Bar */
    .apikey-bar{background:rgba(79,125,252,.07);border:1px solid rgba(79,125,252,.2);
      border-radius:12px;padding:12px 16px;margin-bottom:16px;}
    .apikey-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
    .apikey-left{display:flex;align-items:center;gap:7px;flex-shrink:0;}
    .apikey-label{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap;}
    .provider-tabs{display:flex;gap:6px;flex-wrap:wrap;}
    .ptab{padding:6px 14px;background:var(--input-bg);border:1px solid var(--border);
      border-radius:8px;color:var(--muted);font-size:12px;font-weight:600;
      cursor:pointer;transition:all .2s;white-space:nowrap;}
    .ptab:hover{border-color:var(--accent);color:var(--text);}
    .ptab.active{background:rgba(79,125,252,.15);border-color:var(--accent);color:var(--accent);}
    .apikey-input-wrap{flex:1;min-width:180px;position:relative;display:flex;align-items:center;}
    .apikey-input-wrap input{width:100%;background:var(--input-bg);border:1px solid var(--border);
      border-radius:8px;padding:8px 34px 8px 12px;color:var(--text);font-size:13px;
      font-family:monospace;outline:none;transition:border-color .2s,box-shadow .2s;}
    .apikey-input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
    .apikey-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;
      color:var(--muted);padding:2px;transition:color .2s;}
    .apikey-toggle:hover{color:var(--text);}
    .apikey-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
      white-space:nowrap;flex-shrink:0;}
    .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
    .status-dot.grey{background:var(--muted);}
    .status-dot.green{background:var(--success);box-shadow:0 0 6px var(--success);}
    .status-dot.red{background:var(--error);}
    #apikeyStatusTxt{color:var(--muted);}
    #apikeyStatusTxt.ok{color:var(--success);}
    #apikeyStatusTxt.err{color:var(--error);}

    /* Upload tabs */
    .upload-tabs{display:flex;gap:8px;margin-bottom:14px;}
    .utab{flex:1;padding:10px 14px;background:var(--input-bg);border:1px solid var(--border);
      border-radius:10px;color:var(--muted);font-size:13px;font-weight:600;
      cursor:pointer;transition:all .2s;}
    .utab:hover{border-color:var(--accent);color:var(--text);}
    .utab.active{background:rgba(79,125,252,.12);border-color:var(--accent);color:var(--accent);}

    /* Bulk file list */
    .bulk-list{margin-top:12px;display:none;max-height:160px;overflow-y:auto;
      background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;}
    .bulk-list.show{display:block;}
    .bulk-item{display:flex;align-items:center;justify-content:space-between;
      padding:5px 0;border-bottom:1px solid rgba(37,42,54,.6);font-size:12.5px;color:var(--text);}
    .bulk-item:last-child{border-bottom:none;}
    .bulk-item .bi-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78%;}
    .bulk-item .bi-size{color:var(--muted);font-size:11px;flex-shrink:0;}
    .bulk-summary{font-size:12.5px;color:var(--muted);margin-top:8px;display:flex;
      align-items:center;justify-content:space-between;}
    .bulk-summary .bs-count{color:var(--accent);font-weight:600;}
    .bulk-process-btn{margin-top:12px;display:none;}
    .bulk-process-btn.show{display:block;}
    .drop-zone{border:2px dashed var(--border);border-radius:14px;padding:36px 24px;
      text-align:center;cursor:pointer;transition:all .25s;background:var(--input-bg);
      position:relative;}
    .drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);
      background:rgba(79,125,252,.06);box-shadow:0 0 0 4px var(--accent-glow);}
    .drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
    .dz-icon{font-size:36px;margin-bottom:10px;}
    .dz-title{font-size:15px;font-weight:600;color:var(--text);}
    .dz-sub{font-size:12.5px;color:var(--muted);margin-top:5px;}
    .dz-badge{display:inline-block;margin-top:10px;background:rgba(79,125,252,.12);
      border:1px solid rgba(79,125,252,.25);border-radius:6px;padding:3px 10px;
      font-size:11px;font-weight:600;color:var(--accent);}

    /* Progress */
    .progress-wrap{margin-top:16px;display:none;}
    .progress-wrap.show{display:block;}
    .progress-bar-bg{height:6px;background:var(--border);border-radius:99px;overflow:hidden;}
    .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7c5cfc);
      border-radius:99px;transition:width .3s;width:0%;}
    .progress-label{font-size:11.5px;color:var(--muted);margin-top:6px;}

    /* Resume table */
    .table-wrap{margin-top:24px;display:none;overflow-x:auto;}
    .table-wrap.show{display:block;}
    .table-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px;
      display:flex;align-items:center;justify-content:space-between;}
    .count-badge{background:rgba(62,207,142,.1);border:1px solid rgba(62,207,142,.25);
      border-radius:6px;padding:2px 10px;font-size:11px;font-weight:600;color:var(--success);}
    table{width:100%;border-collapse:collapse;font-size:13px;}
    thead tr{border-bottom:1px solid var(--border);}
    th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;
      color:var(--muted);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;}
    td{padding:10px 12px;color:var(--text);border-bottom:1px solid rgba(37,42,54,.5);}
    tr:last-child td{border-bottom:none;}
    tbody tr:hover{background:rgba(255,255,255,.025);}
    td.mono{font-family:monospace;font-size:12px;color:var(--muted);}
    .tag{display:inline-block;background:rgba(79,125,252,.12);border:1px solid rgba(79,125,252,.2);
      border-radius:5px;padding:1px 7px;font-size:11px;color:var(--accent);font-weight:600;}
    .tag.miss{background:rgba(240,79,79,.08);border-color:rgba(240,79,79,.2);color:var(--error);}

    /* Field selector */
    .field-selector{margin-top:24px;display:none;}
    .field-selector.show{display:block;}
    .fs-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:14px;}
    .checkboxes{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
    .cb-item{display:flex;align-items:center;gap:7px;background:var(--input-bg);
      border:1px solid var(--border);border-radius:8px;padding:8px 14px;
      cursor:pointer;transition:all .2s;user-select:none;}
    .cb-item:hover{border-color:var(--accent);}
    .cb-item.checked{background:rgba(79,125,252,.1);border-color:var(--accent);}
    .cb-item input[type=checkbox]{display:none;}
    .cb-dot{width:14px;height:14px;border-radius:3px;border:2px solid var(--border);
      display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
    .cb-item.checked .cb-dot{background:var(--accent);border-color:var(--accent);}
    .cb-dot::after{content:'✓';font-size:9px;color:#fff;display:none;}
    .cb-item.checked .cb-dot::after{display:block;}
    .cb-label{font-size:13px;font-weight:500;color:var(--text);}
    .btn-row{display:flex;gap:12px;flex-wrap:wrap;}
    .btn-row .btn{width:auto;flex:1;min-width:160px;}

    /* Toast */
    .toast{position:fixed;bottom:28px;right:28px;background:#1d2230;
      border:1px solid var(--border);border-radius:12px;padding:12px 18px;
      font-size:13px;font-weight:500;color:var(--text);z-index:999;
      box-shadow:0 8px 32px rgba(0,0,0,.4);transform:translateY(20px);
      opacity:0;transition:all .3s;pointer-events:none;}
    .toast.show{transform:translateY(0);opacity:1;}
    .toast.ok-toast{border-color:rgba(62,207,142,.3);color:var(--success);}
    .toast.err-toast{border-color:rgba(240,79,79,.3);color:var(--error);}

    @media(max-width:520px){
      .card{padding:28px 18px;}
    }
    /* ===== AI TOGGLE BAR ===== */
    .ai-toggle-bar{display:flex;align-items:center;justify-content:space-between;
      background:rgba(79,125,252,.06);border:1px solid rgba(79,125,252,.18);
      border-radius:14px;padding:12px 18px;margin-bottom:18px;flex-wrap:wrap;gap:12px;}
    .ai-toggle-left{display:flex;align-items:center;gap:12px;}
    .ai-icon{font-size:22px;}
    .ai-label{font-size:13px;font-weight:700;color:var(--text);}
    .ai-badge{display:inline-block;padding:1px 8px;border-radius:5px;font-size:11px;
      font-weight:700;letter-spacing:.5px;margin-left:5px;
      background:rgba(107,115,133,.2);color:var(--muted);transition:all .3s;}
    .ai-badge.on{background:rgba(62,207,142,.15);color:var(--success);border:1px solid rgba(62,207,142,.3);}
    .ai-sublabel{font-size:11.5px;color:var(--muted);margin-top:2px;}
    .ai-toggle-right{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end;flex-wrap:wrap;}

    /* Toggle switch */
    .ai-toggle-btn{background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;}
    .ai-toggle-btn:disabled .ai-toggle-track{background:var(--border);cursor:not-allowed;opacity:.5;}
    .ai-toggle-track{display:flex;align-items:center;width:50px;height:27px;
      background:var(--border);border-radius:99px;padding:3px;
      transition:background .3s;position:relative;}
    .ai-toggle-track.on{background:linear-gradient(135deg,var(--accent),#7c5cfc);
      box-shadow:0 0 12px var(--accent-glow);}
    .ai-toggle-thumb{width:21px;height:21px;background:#fff;border-radius:50%;
      transition:transform .3s;box-shadow:0 1px 4px rgba(0,0,0,.3);}

.page-heading{font-size:80px;font-weight:700;color:#fff;text-align:center;
  margin:0 auto 14px;max-width:900px;letter-spacing:-0.2px}

/* keep footer visually small and place it after content (not fixed) */
.dev-footer{position:static;display:flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;padding:6px 10px;color:var(--muted);font-size:13px;border-radius:8px;
  margin:28px auto 36px;width:auto;pointer-events:none}
.dev-footer img{height:48px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45));}
.dev-footer .dev-text{color:var(--muted);font-weight:500;font-size:20px}
.dev-footer .company{color:var(--accent);font-weight:700;margin-left:6px}
@media(max-width:480px){.dev-footer{font-size:12px;gap:8px}.dev-footer img{height:18px}}
    .ai-toggle-thumb.on{transform:translateX(23px);}
