/* ==== Shared reset, deduped across all pages ==== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
*{box-sizing:border-box;margin:0;padding:0}

/* ==== Shared keyframes ==== */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ==== Page-scoped styles ==== */

/* ---- index.html ---- */
body[data-page="index"]{--primary:#6c3fff;--primary-dark:#5128e0;--accent:#00d4aa;--ink:#0f0c29;--slate:#64748b;--muted:#94a3b8;--bg:#f4f6fb;--card:#fff;--border:#e2e8f0;--radius:16px;--glow:rgba(108,63,255,.15)}
body[data-page="index"]{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}
body[data-page="index"] header{background:linear-gradient(135deg,#0f0c29 0%,#302b63 60%,#24243e 100%);padding:18px 32px;display:flex;align-items:center;justify-content:space-between}
body[data-page="index"] .logo{display:flex;align-items:center;gap:12px}
body[data-page="index"] .logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}
body[data-page="index"] .logo-text{font-size:1.2rem;font-weight:800;color:#fff}
body[data-page="index"] .logo-text span{color:var(--accent)}
body[data-page="index"] .hero{text-align:center;padding:56px 24px 36px}
body[data-page="index"] .hero-tag{display:inline-flex;align-items:center;gap:6px;background:var(--glow);color:var(--primary);font-size:.76rem;font-weight:700;padding:5px 14px;border-radius:50px;border:1px solid rgba(108,63,255,.2);margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em}
body[data-page="index"] .hero h1{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:1.15;margin-bottom:14px}
body[data-page="index"] .gradient{background:linear-gradient(90deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body[data-page="index"] .hero p{color:var(--slate);font-size:1.05rem;max-width:580px;margin:0 auto 16px;line-height:1.7}
body[data-page="index"] .features{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:44px}
body[data-page="index"] .feat{background:var(--card);border:1px solid var(--border);border-radius:50px;padding:8px 18px;font-size:.83rem;font-weight:600;color:var(--slate);display:flex;align-items:center;gap:6px}
body[data-page="index"] .container{max-width:580px;margin:0 auto;padding:0 24px 80px}
body[data-page="index"] .card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.07);padding:40px}
body[data-page="index"] .card h2{font-size:1.2rem;font-weight:800;margin-bottom:6px}
body[data-page="index"] .card .sub{color:var(--slate);font-size:.9rem;margin-bottom:28px}
body[data-page="index"] .field{margin-bottom:18px}
body[data-page="index"] .field label{display:block;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:7px}
body[data-page="index"] .field input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fafbfc}
body[data-page="index"] .field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--glow);background:#fff}
body[data-page="index"] .welcome-back{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:18px 20px;margin-bottom:20px;display:none}
body[data-page="index"] .welcome-back h3{font-size:1rem;font-weight:700;color:#15803d;margin-bottom:4px}
body[data-page="index"] .welcome-back p{font-size:.87rem;color:#166534}
body[data-page="index"] .resume-choice{display:none;margin-bottom:18px}
body[data-page="index"] .resume-file-info{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:10px;padding:14px 16px;margin-bottom:12px;display:flex;align-items:center;gap:10px}
body[data-page="index"] .resume-file-info span{font-size:.88rem;font-weight:600;color:var(--primary);flex:1}
body[data-page="index"] .choice-btns{display:flex;gap:10px}
body[data-page="index"] .choice-btn{flex:1;padding:10px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;border:2px solid var(--border);background:#fff;color:var(--slate);transition:all .15s}
body[data-page="index"] .choice-btn.active{border-color:var(--primary);background:var(--glow);color:var(--primary)}
body[data-page="index"] .upload-area{border:2px dashed var(--border);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative}
body[data-page="index"] .upload-area:hover, body[data-page="index"] .upload-area.drag{border-color:var(--primary);background:var(--glow)}
body[data-page="index"] .upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
body[data-page="index"] .upload-icon{font-size:1.8rem;margin-bottom:8px}
body[data-page="index"] .upload-area p{color:var(--slate);font-size:.86rem}
body[data-page="index"] .upload-area strong{color:var(--primary);font-weight:700}
body[data-page="index"] .file-chosen{color:var(--primary);font-size:.84rem;margin-top:8px;font-weight:600;display:none}
body[data-page="index"] .btn{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:15px;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 18px rgba(108,63,255,.35);transition:transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;font-family:inherit}
body[data-page="index"] .btn:hover{transform:translateY(-1px)}
body[data-page="index"] .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
body[data-page="index"] .btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--primary);box-shadow:none}
body[data-page="index"] .btn-secondary:hover{background:var(--glow)}
body[data-page="index"] .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
body[data-page="index"] .spinner-dark{border-color:rgba(108,63,255,.3);border-top-color:var(--primary)}
body[data-page="index"] .error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;color:#dc2626;font-size:.88rem;margin-top:12px;display:none}
body[data-page="index"] .step-indicator{display:flex;align-items:center;gap:8px;margin-bottom:24px}
body[data-page="index"] .step{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid var(--border);color:var(--muted)}
body[data-page="index"] .step.active{background:var(--primary);border-color:var(--primary);color:#fff}
body[data-page="index"] .step.done{background:#dcfce7;border-color:#16a34a;color:#16a34a}
body[data-page="index"] .step-line{flex:1;height:2px;background:var(--border)}
body[data-page="index"] footer{text-align:center;padding:24px;color:var(--muted);font-size:.8rem;border-top:1px solid var(--border)}
body[data-page="index"] footer strong{color:var(--primary)}
@media(max-width:600px){body[data-page="index"] header{padding:16px 20px}body[data-page="index"] .card{padding:28px 20px}}

/* ---- dashboard.html ---- */
body[data-page="dashboard"]{--primary:#6c3fff;--primary-dark:#5128e0;--accent:#00d4aa;--ink:#0f0c29;--slate:#64748b;--muted:#94a3b8;--bg:#f4f6fb;--card:#fff;--border:#e2e8f0;--radius:16px;--glow:rgba(108,63,255,.14)}
body[data-page="dashboard"]{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}
body[data-page="dashboard"] header{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);padding:16px 32px;display:flex;align-items:center;justify-content:space-between}
body[data-page="dashboard"] .logo{display:flex;align-items:center;gap:10px}
body[data-page="dashboard"] .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px}
body[data-page="dashboard"] .logo-text{font-size:1.1rem;font-weight:800;color:#fff}
body[data-page="dashboard"] .logo-text span{color:var(--accent)}
body[data-page="dashboard"] .user-bar{display:flex;align-items:center;gap:14px}
body[data-page="dashboard"] .user-name{color:#e2e8f0;font-size:.85rem;font-weight:600}
body[data-page="dashboard"] .btn-logout{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#e2e8f0;padding:6px 16px;border-radius:50px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}
body[data-page="dashboard"] .btn-logout:hover{background:rgba(255,255,255,.18)}
body[data-page="dashboard"] .container{max-width:1100px;margin:0 auto;padding:36px 24px 80px}
body[data-page="dashboard"] .welcome{margin-bottom:32px}
body[data-page="dashboard"] .welcome h1{font-size:1.6rem;font-weight:900;margin-bottom:4px}
body[data-page="dashboard"] .welcome p{color:var(--slate);font-size:.95rem}
body[data-page="dashboard"] .card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.07);padding:32px;margin-bottom:28px}
body[data-page="dashboard"] .card-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
body[data-page="dashboard"] textarea{width:100%;padding:16px;border:2px solid var(--border);border-radius:12px;font-size:.93rem;line-height:1.65;resize:vertical;font-family:inherit;height:220px;background:#fafbfc;transition:border-color .2s,box-shadow .2s}
body[data-page="dashboard"] textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--glow);background:#fff}
body[data-page="dashboard"] textarea::placeholder{color:var(--muted)}
body[data-page="dashboard"] .actions{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap}
body[data-page="dashboard"] .btn-analyze{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:14px 44px;border-radius:50px;font-size:.98rem;font-weight:700;cursor:pointer;box-shadow:0 4px 18px rgba(108,63,255,.35);transition:transform .15s,box-shadow .15s;display:flex;align-items:center;gap:9px;font-family:inherit}
body[data-page="dashboard"] .btn-analyze:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(108,63,255,.45)}
body[data-page="dashboard"] .btn-analyze:disabled{opacity:.6;cursor:not-allowed;transform:none}
body[data-page="dashboard"] .btn-clear{background:transparent;color:var(--slate);border:2px solid var(--border);padding:12px 24px;border-radius:50px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}
body[data-page="dashboard"] .btn-clear:hover{border-color:var(--slate)}
body[data-page="dashboard"] .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
body[data-page="dashboard"] .error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:13px 18px;color:#dc2626;font-size:.88rem;margin-top:14px;display:none}
body[data-page="dashboard"] .progress-wrap{display:none;margin-top:20px;background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:20px 24px}
body[data-page="dashboard"] .progress-track{height:8px;background:var(--border);border-radius:99px;overflow:hidden;margin-bottom:14px}
body[data-page="dashboard"] .progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px;transition:width .5s ease}
body[data-page="dashboard"] .progress-steps{display:flex;flex-direction:column;gap:8px}
body[data-page="dashboard"] .progress-step{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--muted);transition:color .3s}
body[data-page="dashboard"] .progress-step.active{color:var(--primary);font-weight:600}
body[data-page="dashboard"] .progress-step.done{color:#16a34a;font-weight:600}
body[data-page="dashboard"] .step-icon{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;transition:all .3s}
body[data-page="dashboard"] .progress-step.active .step-icon{border-color:var(--primary);background:var(--glow);color:var(--primary)}
body[data-page="dashboard"] .progress-step.done .step-icon{border-color:#16a34a;background:#dcfce7;color:#16a34a}
body[data-page="dashboard"] .progress-eta{font-size:.78rem;color:var(--muted);margin-top:10px;text-align:right}
body[data-page="dashboard"] .resume-info{font-size:.82rem;color:var(--slate);margin-top:10px}
body[data-page="dashboard"] .history-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.07);padding:24px 28px;margin-bottom:28px;display:none}
body[data-page="dashboard"] .history-card h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
body[data-page="dashboard"] .hist-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
body[data-page="dashboard"] .hist-item:last-child{border-bottom:none}
body[data-page="dashboard"] .hist-title{font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}
body[data-page="dashboard"] .hist-meta{font-size:.78rem;color:var(--muted)}
body[data-page="dashboard"] .hist-score{padding:4px 12px;border-radius:50px;font-size:.78rem;font-weight:700;flex-shrink:0}
body[data-page="dashboard"] #statsStrip{display:none}
body[data-page="dashboard"] .stats-strip{display:flex;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07);margin-bottom:28px}
body[data-page="dashboard"] .stat{flex:1;text-align:center;padding:20px 12px;border-right:1px solid var(--border)}
body[data-page="dashboard"] .stat:last-child{border-right:none}
body[data-page="dashboard"] .stat-num{font-size:1.5rem;font-weight:900;letter-spacing:-.03em}
body[data-page="dashboard"] .stat-lbl{font-size:.7rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
body[data-page="dashboard"] #result{display:none}
body[data-page="dashboard"] .result-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.07);padding:36px;margin-bottom:24px;animation:fadeUp .4s ease}
body[data-page="dashboard"] .score-section{display:flex;align-items:center;gap:36px;margin-bottom:36px;flex-wrap:wrap}
body[data-page="dashboard"] .score-ring-wrap{position:relative;flex-shrink:0}
body[data-page="dashboard"] .score-svg{width:150px;height:150px;transform:rotate(-90deg)}
body[data-page="dashboard"] .score-svg .track{fill:none;stroke:var(--border);stroke-width:10}
body[data-page="dashboard"] .score-svg .fill{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1),stroke .4s}
body[data-page="dashboard"] .score-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:2.2rem;font-weight:900;letter-spacing:-.04em;line-height:1}
body[data-page="dashboard"] .score-num small{font-size:.65rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
body[data-page="dashboard"] .score-meta{flex:1;min-width:200px}
body[data-page="dashboard"] .verdict{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:5px}
body[data-page="dashboard"] .fit-pill{display:inline-block;padding:4px 14px;border-radius:50px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}
body[data-page="dashboard"] .fit-high{background:#dcfce7;color:#16a34a}
body[data-page="dashboard"] .fit-mid{background:#fef9c3;color:#a16207}
body[data-page="dashboard"] .fit-low{background:#fee2e2;color:#dc2626}
body[data-page="dashboard"] .fit-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}
body[data-page="dashboard"] .fit-bar-fill{height:100%;border-radius:99px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
body[data-page="dashboard"] .fit-label{font-size:.76rem;color:var(--muted);margin-top:5px;font-weight:500}
body[data-page="dashboard"] .sec-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:28px 0 14px}
body[data-page="dashboard"] .breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:4px}
body[data-page="dashboard"] .bcard{padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:#fafbfc;border-left-width:4px;transition:transform .15s,box-shadow .15s}
body[data-page="dashboard"] .bcard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
body[data-page="dashboard"] .bcard.match{border-left-color:#16a34a}
body[data-page="dashboard"] .bcard.partial{border-left-color:#d97706}
body[data-page="dashboard"] .bcard.gap{border-left-color:#dc2626}
body[data-page="dashboard"] .bcard-header{display:flex;align-items:center;gap:8px;margin-bottom:7px}
body[data-page="dashboard"] .bcard-label{font-weight:700;font-size:.88rem;flex:1}
body[data-page="dashboard"] .bcard-status{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:50px}
body[data-page="dashboard"] .bcard.match .bcard-status{background:#dcfce7;color:#16a34a}
body[data-page="dashboard"] .bcard.partial .bcard-status{background:#fef9c3;color:#a16207}
body[data-page="dashboard"] .bcard.gap .bcard-status{background:#fee2e2;color:#dc2626}
body[data-page="dashboard"] .bcard p{color:var(--slate);font-size:.84rem;line-height:1.5}
body[data-page="dashboard"] .skills-list{display:flex;flex-direction:column;gap:10px}
body[data-page="dashboard"] .skill-row{display:flex;align-items:flex-start;gap:14px;background:#fafbfc;border:1px solid var(--border);border-radius:12px;padding:16px 18px}
body[data-page="dashboard"] .skill-badge{flex-shrink:0;padding:3px 10px;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase}
body[data-page="dashboard"] .badge-req{background:#fee2e2;color:#dc2626}
body[data-page="dashboard"] .badge-pref{background:#fef9c3;color:#a16207}
body[data-page="dashboard"] .skill-name{font-weight:700;font-size:.9rem;margin-bottom:4px}
body[data-page="dashboard"] .skill-how{color:var(--slate);font-size:.83rem;line-height:1.5}
body[data-page="dashboard"] .ats-card{border-radius:12px;padding:20px 24px}
body[data-page="dashboard"] .ats-high{background:#fef2f2;border:1px solid #fecaca}
body[data-page="dashboard"] .ats-medium{background:#fffbeb;border:1px solid #fde68a}
body[data-page="dashboard"] .ats-low{background:#f0fdf4;border:1px solid #bbf7d0}
body[data-page="dashboard"] .ats-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
body[data-page="dashboard"] .ats-risk-badge{padding:4px 14px;border-radius:50px;font-size:.78rem;font-weight:700;text-transform:uppercase}
body[data-page="dashboard"] .ats-high .ats-risk-badge{background:#fee2e2;color:#dc2626}
body[data-page="dashboard"] .ats-medium .ats-risk-badge{background:#fef3c7;color:#d97706}
body[data-page="dashboard"] .ats-low .ats-risk-badge{background:#dcfce7;color:#16a34a}
body[data-page="dashboard"] .ats-title{font-weight:700;font-size:.95rem}
body[data-page="dashboard"] .ats-explanation{color:#374151;font-size:.9rem;line-height:1.6;margin-bottom:12px}
body[data-page="dashboard"] .ats-issues{list-style:none;display:flex;flex-direction:column;gap:6px}
body[data-page="dashboard"] .ats-issues li{font-size:.85rem;color:var(--slate);padding-left:18px;position:relative}
body[data-page="dashboard"] .ats-issues li::before{content:'→';position:absolute;left:0;color:var(--muted)}
body[data-page="dashboard"] .improve-list{display:flex;flex-direction:column;gap:12px}
body[data-page="dashboard"] .improve-row{background:#fafbfc;border:1px solid var(--border);border-radius:12px;padding:18px 20px}
body[data-page="dashboard"] .improve-section-tag{display:inline-block;background:var(--glow);color:var(--primary);font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:50px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
body[data-page="dashboard"] .improve-issue{font-size:.85rem;color:#dc2626;margin-bottom:6px;font-weight:600}
body[data-page="dashboard"] .improve-suggestion{font-size:.88rem;color:#374151;line-height:1.6}
body[data-page="dashboard"] .roadmap-summary{color:var(--slate);font-size:.93rem;line-height:1.65;margin-bottom:20px}
body[data-page="dashboard"] .roadmap-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
body[data-page="dashboard"] .phase-card{border-radius:12px;padding:20px}
body[data-page="dashboard"] .phase-1{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}
body[data-page="dashboard"] .phase-2{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:1px solid #d8b4fe}
body[data-page="dashboard"] .phase-3{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}
body[data-page="dashboard"] .phase-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
body[data-page="dashboard"] .phase-1 .phase-label{color:#0284c7}
body[data-page="dashboard"] .phase-2 .phase-label{color:#7c3aed}
body[data-page="dashboard"] .phase-3 .phase-label{color:#16a34a}
body[data-page="dashboard"] .phase-item{display:flex;gap:10px;margin-bottom:10px}
body[data-page="dashboard"] .phase-item:last-child{margin-bottom:0}
body[data-page="dashboard"] .phase-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:6px}
body[data-page="dashboard"] .phase-1 .phase-dot{background:#0284c7}
body[data-page="dashboard"] .phase-2 .phase-dot{background:#7c3aed}
body[data-page="dashboard"] .phase-3 .phase-dot{background:#16a34a}
body[data-page="dashboard"] .phase-action{font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:2px}
body[data-page="dashboard"] .phase-why{font-size:.8rem;color:var(--slate);line-height:1.4}
body[data-page="dashboard"] .rec-box{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid rgba(108,63,255,.2);border-radius:14px;padding:24px 28px;margin-top:4px}
body[data-page="dashboard"] .rec-box h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:10px}
body[data-page="dashboard"] .rec-box p{color:#374151;font-size:.95rem;line-height:1.7}
@media(max-width:680px){body[data-page="dashboard"] .score-section{flex-direction:column;gap:20px}body[data-page="dashboard"] .stats-strip{flex-wrap:wrap}body[data-page="dashboard"] .stat{min-width:50%}body[data-page="dashboard"] .card, body[data-page="dashboard"] .result-card{padding:22px 18px}body[data-page="dashboard"] header{padding:14px 18px}}

/* ---- login.html ---- */
body[data-page="login"]{--primary:#6c3fff;--primary-dark:#5128e0;--accent:#00d4aa;--ink:#0f0c29;--slate:#64748b;--bg:#f4f6fb;--card:#fff;--border:#e2e8f0;--glow:rgba(108,63,255,.15)}
body[data-page="login"]{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
body[data-page="login"] header{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);padding:18px 32px;display:flex;align-items:center;gap:12px}
body[data-page="login"] .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px}
body[data-page="login"] .logo-text{font-size:1.1rem;font-weight:800;color:#fff}
body[data-page="login"] .logo-text span{color:var(--accent)}
body[data-page="login"] main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}
body[data-page="login"] .card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 24px rgba(0,0,0,.07);padding:48px;max-width:440px;width:100%}
body[data-page="login"] h1{font-size:1.5rem;font-weight:900;margin-bottom:8px}
body[data-page="login"] .sub{color:var(--slate);font-size:.9rem;margin-bottom:28px}
body[data-page="login"] .field{margin-bottom:18px}
body[data-page="login"] .field label{display:block;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:7px}
body[data-page="login"] .field input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:.95rem;font-family:inherit;background:#fafbfc;transition:border-color .2s,box-shadow .2s}
body[data-page="login"] .field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--glow);background:#fff}
body[data-page="login"] .btn{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:14px;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:10px}
body[data-page="login"] .btn:disabled{opacity:.6;cursor:not-allowed}
body[data-page="login"] .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}
body[data-page="login"] .error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;color:#dc2626;font-size:.88rem;margin-top:12px;display:none}
body[data-page="login"] .success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px;color:#16a34a;font-size:.88rem;margin-top:12px;display:none}
body[data-page="login"] .back{text-align:center;margin-top:24px;font-size:.85rem;color:var(--slate)}
body[data-page="login"] .back a{color:var(--primary);font-weight:700;text-decoration:none}

/* ---- check-email.html ---- */
body[data-page="check-email"]{--primary:#6c3fff;--accent:#00d4aa;--ink:#0f0c29;--slate:#64748b;--bg:#f4f6fb;--card:#fff;--border:#e2e8f0}
body[data-page="check-email"]{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
body[data-page="check-email"] header{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);padding:18px 32px;display:flex;align-items:center;gap:12px}
body[data-page="check-email"] .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px}
body[data-page="check-email"] .logo-text{font-size:1.1rem;font-weight:800;color:#fff}
body[data-page="check-email"] .logo-text span{color:var(--accent)}
body[data-page="check-email"] main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}
body[data-page="check-email"] .card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 24px rgba(0,0,0,.07);padding:56px 48px;text-align:center;max-width:480px;width:100%}
body[data-page="check-email"] .email-icon{font-size:4rem;margin-bottom:20px}
body[data-page="check-email"] h1{font-size:1.6rem;font-weight:900;margin-bottom:12px}
body[data-page="check-email"] p{color:var(--slate);line-height:1.7;margin-bottom:16px}
body[data-page="check-email"] .tip{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px 18px;color:#16a34a;font-size:.85rem;font-weight:600;margin-top:24px}
body[data-page="check-email"] a{color:var(--primary);font-weight:700;text-decoration:none}

/* ---- admin.html ---- */
body[data-page="admin"]{--primary:#6c3fff;--accent:#00d4aa;--ink:#0f0c29;--slate:#64748b;--muted:#94a3b8;--bg:#f4f6fb;--card:#fff;--border:#e2e8f0;--radius:14px}
body[data-page="admin"]{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}
body[data-page="admin"] header{background:linear-gradient(135deg,#0f0c29,#302b63);padding:16px 32px;display:flex;align-items:center;justify-content:space-between}
body[data-page="admin"] .logo{display:flex;align-items:center;gap:10px}
body[data-page="admin"] .logo-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}
body[data-page="admin"] .logo-text{font-size:1rem;font-weight:800;color:#fff}
body[data-page="admin"] .logo-text span{color:var(--accent)}
body[data-page="admin"] .admin-badge{background:rgba(255,255,255,.15);color:#e2e8f0;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:50px;border:1px solid rgba(255,255,255,.2)}
body[data-page="admin"] .container{max-width:1200px;margin:0 auto;padding:32px 24px}
body[data-page="admin"] #loginSection{display:flex;align-items:center;justify-content:center;min-height:70vh}
body[data-page="admin"] .login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;width:360px;box-shadow:0 4px 24px rgba(0,0,0,.07)}
body[data-page="admin"] .login-card h2{font-size:1.2rem;font-weight:800;margin-bottom:20px}
body[data-page="admin"] .field{margin-bottom:16px}
body[data-page="admin"] .field label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:6px}
body[data-page="admin"] .field input{width:100%;padding:11px 14px;border:2px solid var(--border);border-radius:10px;font-size:.92rem;font-family:inherit;background:#fafbfc}
body[data-page="admin"] .field input:focus{outline:none;border-color:var(--primary)}
body[data-page="admin"] .btn{width:100%;background:linear-gradient(135deg,var(--primary),#5128e0);color:#fff;border:none;padding:13px;border-radius:50px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit}
body[data-page="admin"] .err{color:#dc2626;font-size:.83rem;margin-top:10px;display:none}
body[data-page="admin"] #dashboard{display:none}
body[data-page="admin"] .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
body[data-page="admin"] .stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
body[data-page="admin"] .stat-num{font-size:2rem;font-weight:900;letter-spacing:-.03em}
body[data-page="admin"] .stat-lbl{font-size:.74rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
body[data-page="admin"] .tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--card);border:1px solid var(--border);border-radius:50px;padding:4px;width:fit-content}
body[data-page="admin"] .tab{padding:8px 20px;border-radius:50px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--slate);font-family:inherit;transition:all .15s}
body[data-page="admin"] .tab.active{background:var(--primary);color:#fff}
body[data-page="admin"] .table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05)}
body[data-page="admin"] .search-bar{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:center}
body[data-page="admin"] .search-bar input{flex:1;padding:9px 14px;border:1px solid var(--border);border-radius:8px;font-size:.88rem;font-family:inherit;background:#fafbfc}
body[data-page="admin"] .search-bar input:focus{outline:none;border-color:var(--primary)}
body[data-page="admin"] .export-btn{padding:8px 18px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit}
body[data-page="admin"] table{width:100%;border-collapse:collapse}
body[data-page="admin"] th{padding:12px 16px;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);background:#fafbfc}
body[data-page="admin"] td{padding:13px 16px;font-size:.87rem;border-bottom:1px solid var(--border);vertical-align:top}
body[data-page="admin"] tr:last-child td{border-bottom:none}
body[data-page="admin"] tr:hover td{background:#fafbfc}
body[data-page="admin"] .badge{display:inline-block;padding:2px 10px;border-radius:50px;font-size:.7rem;font-weight:700}
body[data-page="admin"] .badge-verified{background:#dcfce7;color:#16a34a}
body[data-page="admin"] .badge-pending{background:#fef9c3;color:#a16207}
body[data-page="admin"] .jd-preview{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--slate);font-size:.82rem}
body[data-page="admin"] .score-chip{display:inline-block;padding:3px 10px;border-radius:50px;font-size:.75rem;font-weight:700}
body[data-page="admin"] .score-high{background:#dcfce7;color:#16a34a}
body[data-page="admin"] .score-mid{background:#fef9c3;color:#a16207}
body[data-page="admin"] .score-low{background:#fee2e2;color:#dc2626}
body[data-page="admin"] .expand-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8rem;font-weight:600;padding:0;font-family:inherit}
body[data-page="admin"] .detail-row{display:none;background:#f8fafc}
body[data-page="admin"] .detail-content{padding:16px 20px;font-size:.83rem;color:var(--slate);line-height:1.7;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;border-top:1px solid var(--border)}
body[data-page="admin"] .empty{text-align:center;padding:48px;color:var(--muted);font-size:.9rem}
