@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --color-bg-primary: #f5f7fb; --color-bg-secondary: #eef2f7; --color-bg-tertiary: #fff;
  --color-text-primary: #111827; --color-text-secondary: #6b7280; --color-text-tertiary: #9ca3af;
  --color-border: #e5e7eb; --color-border-light: #dbe1ea; --color-neon-blue: #4f46e5;
  --color-neon-purple: #4f46e5; --color-neon-pink: #6366f1; --color-neon-cyan: #4338ca;
  --gradient-primary: #4f46e5; --gradient-secondary: #6366f1;
  --shadow-sm: 0 2px 8px rgba(15,23,42,.04); --shadow-md: 0 8px 24px rgba(15,23,42,.08); --shadow-lg: 0 16px 40px rgba(15,23,42,.10); --shadow-xl: 0 24px 56px rgba(15,23,42,.12);
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 20px;
}
* { scrollbar-color: #cbd5e1 transparent; }
body { background: var(--color-bg-primary); color: var(--color-text-primary); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
p { color: var(--color-text-secondary); } a { color: #4f46e5; } a:hover { color: #3730a3; }
h1,h2,h3,h4 { letter-spacing: -.035em; } h1 { font-weight: 800; }
.btn { min-height: 44px; padding: .7rem 1.05rem; border-radius: 12px; text-transform: none; letter-spacing: 0; font-size: .9rem; font-weight: 700; box-shadow: none; position: relative; overflow: visible; }
.btn::before { display:none; }.btn-primary { background: #4f46e5; border: 1px solid #4f46e5; color:#fff; box-shadow: 0 4px 12px rgba(79,70,229,.2); }.btn-primary:hover { background:#4338ca; box-shadow:0 6px 16px rgba(79,70,229,.25); transform:translateY(-1px); }
.btn-secondary { background:#fff; border:1px solid var(--color-border); color:#374151; }.btn-secondary:hover,.btn-ghost:hover { background:#f3f4f6; color:#111827; border-color:#d1d5db; box-shadow:none; }.btn-ghost { background:transparent; color:#4b5563; border:1px solid var(--color-border); }.btn-danger { background:#fef2f2; border:1px solid #fecaca; color:#dc2626; }.btn-danger:hover { background:#fee2e2; box-shadow:none; transform:translateY(-1px); }
.glass-card,.report-card { background:#fff; border:1px solid rgba(229,231,235,.7); box-shadow:var(--shadow-md); }.glass-card::before,.glass-card:hover::before { display:none; }.glass-card:hover { border-color:#e5e7eb; box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.form-label { color:#374151; letter-spacing:0; text-transform:none; font-size:.85rem; }.form-group { margin-bottom:1.25rem; }
input[type='text'],input[type='email'],input[type='password'],input[type='number'],textarea,select { background:#fff; border:1px solid #dfe3ea; color:#111827; border-radius:12px; padding:.78rem .9rem; }.input-group { margin-bottom:1rem; }
input[type='text']:focus,input[type='email']:focus,input[type='password']:focus,input[type='number']:focus,textarea:focus,select:focus { border-color:#6366f1; background:#fff; box-shadow:0 0 0 4px rgba(99,102,241,.12); }
footer { color:#6b7280; background:transparent; padding:24px; margin-left:260px; } footer p { font-size:.8rem; }

/* Application shell */
.dashboard-layout { display:block; background:#f5f7fb; }.sidebar { background:#fff; border-right:1px solid #e8ebf0; padding:24px 16px; width:260px; box-shadow:4px 0 20px rgba(15,23,42,.025); }.sidebar-header { border:0; padding:0 10px 22px; margin-bottom:16px; }.sidebar-logo { color:#111827; background:none; -webkit-text-fill-color:initial; font-size:1.35rem; letter-spacing:-.06em; }.sidebar-logo::before { content:'N'; display:inline-grid; place-items:center; width:28px; height:28px; margin-right:9px; border-radius:9px; background:#4f46e5; color:#fff; font-size:.85rem; vertical-align:2px; }
.sidebar-nav { display:grid; gap:5px; }.sidebar-nav-item { margin:0; }.sidebar-nav-link { color:#64748b; border-radius:10px; padding:11px 12px; gap:12px; font-size:.9rem; }.sidebar-nav-link:hover,.sidebar-nav-link.active { color:#4338ca; background:#eef2ff; border:0; padding-left:12px; }.sidebar-nav-icon { font-size:1rem; width:18px; }
.dashboard-main { margin-left:260px; padding:42px 48px; min-height:100vh; max-width:1700px; }.dashboard-header,.resume-header,.interview-header { margin-bottom:30px; }.dashboard-header h1,.resume-header h1,.interview-header h1 { font-size:clamp(1.8rem,3vw,2.35rem); margin-bottom:7px; }.dashboard-header p,.resume-header p,.interview-header p { font-size:1rem; }
.welcome-card { background:#171b34; background-image:radial-gradient(circle at 88% 20%, rgba(99,102,241,.35), transparent 26%); border:0; border-radius:20px; box-shadow:var(--shadow-lg); min-height:220px; padding:38px; }.welcome-card h2,.welcome-card p { color:#fff; }.welcome-card p { color:#c7d2fe; }.welcome-card .btn:first-child { background:#fff; color:#3730a3; border-color:#fff; }.welcome-card .btn:last-child { background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
.dashboard-grid { gap:18px; margin:24px 0; }.stats-card,.history-section,.action-card { background:#fff; border:1px solid #edf0f4; box-shadow:var(--shadow-sm); border-radius:18px; }.stats-card { padding:22px; }.stats-card:hover,.action-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }.stats-icon,.action-icon { background:#eef2ff; color:#4f46e5; border-radius:12px; }.stats-value { color:#111827; }.stats-change { color:#10b981; }.history-section { padding:24px; margin-top:22px; }.section-title { color:#111827; }.section-link { font-size:.85rem; font-weight:700; }.quick-actions { gap:16px; }.action-card { padding:22px; }.action-title { color:#111827; }.action-description { color:#6b7280; }.history-table { min-width:640px; }.history-section { overflow-x:auto; }.history-table th { background:#f8fafc; color:#64748b; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }.history-table td { border-color:#eef0f3; color:#374151; }.history-table tr:hover td { background:#fafbfc; }

/* Resume, reports, interview */
.upload-section,.interview-setup { gap:22px; }.upload-box,.analysis-panel,.history-card,.setup-form,.setup-info,.interview-main,.progress-widget,.previous-questions,.conversation-panel,.interview-transcript,.score-card,.analysis-card,.suggestion-card { background:#fff; border:1px solid #edf0f4; box-shadow:var(--shadow-md); border-radius:18px; }.upload-box { border:1.5px dashed #a5b4fc; background:#f8faff; }.upload-box:hover,.upload-box.dragover { border-color:#4f46e5; background:#f5f7ff; }.upload-box-icon,.setup-info-icon { color:#4f46e5; }.analysis-panel,.history-card { padding:26px; }.analysis-item { border-color:#eef0f3; }.analysis-item-title,.upload-box-title { color:#111827; }.analysis-item-value { color:#6b7280!important; }.history-list { color:#374151; }
.setup-form,.setup-info { padding:28px; }.setup-info-item { border-color:#eef0f3; }.interview-question-card { background:#f8faff; border:1px solid #e0e7ff; border-radius:18px; }.ai-indicator,.metric-card,.conversation-panel,.interview-transcript,.microphone-widget,.progress-widget,.previous-questions { border-color:#edf0f4; background:#fff; }.ai-dot { background:#10b981; box-shadow:0 0 0 4px #d1fae5; }.status-pill { background:#eef2ff; color:#4338ca; }.metric-card { box-shadow:none; }.metric-value { color:#111827; }.microphone-icon { color:#4f46e5; }.waveform-bar { background:#6366f1; }.progress-item.current { background:#4f46e5; }.progress-item.completed { background:#10b981; }.progress-item.pending { background:#f1f5f9; color:#94a3b8; }
.analysis-results { margin-top:24px; }.score-card-value,.score-number { color:#4f46e5!important; }.progress-bar,.score-progress { background:#e0e7ff; }.progress-fill { background:#4f46e5; }.keyword-chip,.skill-tag { background:#eef2ff; color:#4338ca; border:0; }.report-item,.feedback-item { background:#f8fafc; border-color:#e5e7eb; }.report-item.positive,.feedback-item.positive { border-left-color:#10b981; }.report-item.negative,.feedback-item.negative { border-left-color:#ef4444; }

/* Profile and result page */
.profile-sidebar,.profile-content,.score-display,.result-box,.timeline-card,.transcript-card { background:#fff!important; border:1px solid #edf0f4!important; box-shadow:var(--shadow-md)!important; border-radius:18px!important; }.profile-avatar { background:#4f46e5!important; box-shadow:0 8px 24px rgba(79,70,229,.2)!important; }.badge { background:#eef2ff!important; color:#4338ca!important; }.profile-stats,.meta-item { background:#f8fafc!important; }.stat-value,.score-number { color:#4f46e5!important; }.profile-section-title,.profile-divider { border-color:#edf0f4!important; }.results-header h1 { color:#111827!important; background:none!important; -webkit-text-fill-color:initial!important; }.result-item { background:#f8fafc!important; border-left-color:#6366f1!important; }.score-circle circle:first-child { stroke:#e5e7eb!important; }

/* Authentication */
.auth-container { min-height:100vh; display:grid; place-items:center; padding:32px; background:#eef2f7; }.auth-card { position:relative; width:min(100%,460px); margin-left:40%; background:transparent; border:0; box-shadow:none; }.auth-header { text-align:left; margin-bottom:24px; }.auth-header h1 { color:#111827; background:none; -webkit-text-fill-color:initial; font-size:1.75rem; }.auth-form { background:#fff; border:1px solid #e7eaf0; border-radius:20px; box-shadow:var(--shadow-lg); padding:30px; }.auth-submit { width:100%; }.error-message { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }.success-message { background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }.checkbox-wrapper input { accent-color:#4f46e5; }
.fp-container,.rp-container { min-height:100vh; display:grid; place-items:center; padding:24px; background:#eef2f7!important; }.fp-card,.rp-card { background:#fff!important; border:1px solid #e7eaf0!important; box-shadow:var(--shadow-lg)!important; border-radius:20px!important; }.fp-card h1,.rp-card h1 { color:#111827!important; }.animated-bg { display:none; }.eye-toggle { color:#6b7280!important; }

/* Landing page overrides (loaded after local styles) */
.navbar-landing { background:rgba(255,255,255,.88)!important; border-color:#e5e7eb!important; backdrop-filter:blur(14px); }.navbar-logo { background:none!important; color:#111827!important; -webkit-text-fill-color:initial!important; letter-spacing:-.06em; }.navbar-links a { color:#4b5563!important; }.navbar-links a:hover { color:#4f46e5!important; }.hero-section { min-height:calc(100vh - 70px)!important; background:#f5f7fb; }.hero-particle { opacity:.35; filter:none; }.hero-particle-1,.hero-particle-2,.hero-particle-3 { background:#e0e7ff!important; }.hero-title { color:#111827!important; background:none!important; -webkit-text-fill-color:initial!important; letter-spacing:-.06em; }.hero-subtitle { color:#64748b!important; }.features-section,.testimonials-section { background:#eef2f7!important; }.feature-card,.testimonial-card,.cta-card { background:#fff!important; border:1px solid #e8ebf0!important; box-shadow:var(--shadow-sm)!important; }.feature-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md)!important; }.feature-icon { background:#eef2ff!important; color:#4f46e5!important; }.cta-section { background:#f5f7fb!important; }.cta-card { background:#181b34!important; }.cta-card h2,.cta-card p { color:#fff!important; }.footer { background:#fff!important; border-color:#e5e7eb!important; }
/* Legal pages */
body > .header { background:#181b34!important; padding:76px 20px!important; } body > .header h1 { color:#fff!important; } body > .header p { color:#c7d2fe!important; } body > .container { max-width:1000px; padding:52px 20px; } body > .container .card { background:#fff!important; border:1px solid #e8ebf0!important; backdrop-filter:none!important; box-shadow:var(--shadow-sm); border-radius:18px!important; } body > .container .card h2 { color:#111827!important; } body > .container .card p,body > .container .card li { color:#6b7280!important; } body > .footer { margin-left:0; color:#6b7280; }
@media (max-width:1024px) { .sidebar { position:static; width:100%; height:auto; box-shadow:none; }.dashboard-main,footer { margin-left:0; }.dashboard-main { padding:30px 24px; }.auth-container::before { display:none; }.auth-card { margin:0; }.auth-container { background:#eef2f7; } }
@media (max-width:640px) { .dashboard-main { padding:24px 16px; }.sidebar { padding:15px; }.sidebar-nav { overflow-x:auto; display:flex; flex-wrap:nowrap; }.sidebar-nav-link { white-space:nowrap; }.welcome-card { padding:26px; }.history-section { padding:18px; }.auth-container { padding:16px; }.auth-form { padding:24px 20px; }.profile-container,.results-container { padding:24px 16px!important; }.score-summary { grid-template-columns:1fr 1fr!important; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
