:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--accent-400:#c084fc;--accent-500:#a855f7;--accent-600:#9333ea;--success-100:#dcfce7;--success-500:#22c55e;--success-600:#16a34a;--warning-100:#fef9c3;--warning-500:#eab308;--warning-600:#ca8a04;--error-100:#fee2e2;--error-500:#ef4444;--error-600:#dc2626;--neutral-50:#f8fafc;--neutral-100:#f1f5f9;--neutral-200:#e2e8f0;--neutral-300:#cbd5e1;--neutral-400:#94a3b8;--neutral-500:#64748b;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1e293b;--neutral-900:#0f172a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glass:0 8px 32px 0 #1f268712;--glass-bg:#ffffffb3;--glass-border:1px solid #ffffff4d;--glass-backdrop:blur(12px);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:30px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--sidebar-width:240px;--header-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{font-family:var(--font-family);color:var(--neutral-800);background-color:var(--neutral-100);min-height:100vh;line-height:1.6}#root{min-height:100vh}a{color:var(--primary-500);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-400)}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--primary-700) 0%, var(--primary-800) 100%);color:#fff;z-index:100;transition:width var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.admin-sidebar::-webkit-scrollbar{width:4px}.admin-sidebar::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#fff3}.sidebar-logo{align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);border-bottom:1px solid #ffffff1a;flex-shrink:0;display:flex}.sidebar-logo .logo-icon{background:linear-gradient(135deg, var(--accent-400), var(--accent-500));border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.sidebar-logo .logo-text{font-size:var(--font-size-xl);white-space:nowrap;font-weight:600}.sidebar-logo .logo-sub{font-size:var(--font-size-xs);color:#ffffff80;display:block}.sidebar-nav{padding:var(--space-sm) 0;flex:1}.nav-group-title{font-size:var(--font-size-xs);color:#fff6;padding:var(--space-md) var(--space-md) var(--space-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.nav-item{align-items:center;gap:var(--space-sm);padding:10px var(--space-md);margin:2px var(--space-sm);border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-md);white-space:nowrap;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#ffffff26;font-weight:500}.nav-item .nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:18px}.admin-main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.admin-header{height:var(--header-height);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop);padding:0 var(--space-lg);z-index:50;box-shadow:var(--shadow-sm);border-bottom:1px solid #fff6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.admin-header .page-title{font-size:var(--font-size-lg);color:var(--neutral-800);font-weight:600}.admin-header .header-actions{align-items:center;gap:var(--space-md);display:flex}.admin-content{padding:var(--space-lg);flex:1;overflow-y:auto}.candidate-layout{background:linear-gradient(135deg, var(--primary-50) 0%, #fff 50%, var(--primary-50) 100%);min-height:100vh}.candidate-header{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;padding:var(--space-lg) var(--space-md);text-align:center}.candidate-header .company-name{font-size:var(--font-size-2xl);margin-bottom:var(--space-xs);font-weight:700}.candidate-header .page-subtitle{font-size:var(--font-size-sm);opacity:.8}.candidate-content{padding:var(--space-md);max-width:480px;margin:0 auto}.candidate-content .form-card{border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-lg);margin-top:calc(-1 * var(--space-lg));background:#fff;position:relative}.page-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);border:var(--glass-border);overflow:hidden}.page-card .card-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--neutral-200);justify-content:space-between;align-items:center;display:flex}.page-card .card-header h3{font-size:var(--font-size-lg);color:var(--neutral-800);font-weight:600}.page-card .card-body{padding:var(--space-lg)}.stat-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-200);align-items:flex-start;gap:var(--space-md);transition:all var(--transition-fast);cursor:default;background:#fff;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}@media print{.no-print{display:none!important}.print-container{box-shadow:none!important;margin:0!important;padding:0!important}body,html{background:#fff}}.stat-card .stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-card .stat-icon.blue{background:var(--primary-50);color:var(--primary-500)}.stat-card .stat-icon.green{background:var(--success-100);color:var(--success-500)}.stat-card .stat-icon.orange{background:var(--warning-100);color:var(--warning-500)}.stat-card .stat-icon.red{background:var(--error-100);color:var(--error-500)}.stat-card .stat-icon.purple{color:var(--accent-500);background:#f0e5ff}.stat-card .stat-info .stat-value{font-size:var(--font-size-3xl);color:var(--neutral-900);font-weight:700;line-height:1.2}.stat-card .stat-info .stat-label{font-size:var(--font-size-sm);color:var(--neutral-500);margin-top:2px}.ai-badge{background:linear-gradient(135deg, var(--accent-400), var(--accent-500));color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.3px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.ai-badge:before{content:"✦";font-size:10px}.status-tag{border-radius:var(--radius-full);font-size:var(--font-size-xs);align-items:center;padding:2px 10px;font-weight:500;display:inline-flex}.status-tag.applied{background:var(--primary-50);color:var(--primary-500)}.status-tag.screening{background:var(--warning-100);color:var(--warning-600)}.status-tag.interviewing{color:#096dd9;background:#e6f7ff}.status-tag.offered{color:var(--accent-600);background:#f0e5ff}.status-tag.accepted,.status-tag.hired{background:var(--success-100);color:var(--success-600)}.status-tag.rejected{background:var(--error-100);color:var(--error-500)}.status-tag.active{background:var(--success-100);color:var(--success-600)}.status-tag.departed{background:var(--neutral-200);color:var(--neutral-600)}.status-tag.pass{background:var(--success-100);color:var(--success-600)}.status-tag.fail{background:var(--error-100);color:var(--error-500)}.status-tag.pending{background:var(--warning-100);color:var(--warning-600)}.status-tag.draft{background:var(--neutral-200);color:var(--neutral-600)}.status-tag.confirmed{background:var(--primary-50);color:var(--primary-500)}.status-tag.paid{background:var(--success-100);color:var(--success-600)}.ai-panel{border-radius:var(--radius-lg);padding:var(--space-lg);background:linear-gradient(135deg,#fafafe 0%,#f5f0ff 100%);border:1px solid #e9dfff;position:relative;overflow:hidden}.ai-panel:before{content:"";background:linear-gradient(90deg, var(--accent-400), var(--accent-500), var(--primary-400));height:3px;position:absolute;top:0;left:0;right:0}.ai-panel .ai-panel-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.ai-panel .ai-panel-header h4{font-size:var(--font-size-lg);font-weight:600}.ai-panel .ai-content{font-size:var(--font-size-md);color:var(--neutral-700);white-space:pre-wrap;line-height:1.8}@media print{.admin-sidebar,.admin-header,.no-print{display:none!important}.admin-main{margin-left:0!important}.admin-content{padding:0!important}.print-area{padding:20mm}.print-area h2{border-bottom:2px solid #333;margin-bottom:12pt;padding-bottom:6pt;font-size:18pt}.print-question-item{page-break-inside:avoid;border-bottom:1px dotted #ccc;margin-bottom:16pt;padding-bottom:12pt}.print-question-item .question-label{margin-bottom:4pt;font-weight:600}.print-question-item .question-text{margin-bottom:8pt}.print-question-item .answer-area{background:#fafafa;border:1px solid #ddd;border-radius:4pt;min-height:60pt}}.loading-container{padding:var(--space-2xl);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.ai-loading{align-items:center;gap:var(--space-sm);color:var(--accent-500);font-size:var(--font-size-sm);display:flex}.ai-loading .dots{gap:4px;display:flex}.ai-loading .dots span{background:var(--accent-500);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite dotPulse}.ai-loading .dots span:nth-child(2){animation-delay:.2s}.ai-loading .dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.signature-container{border:2px dashed var(--neutral-300);border-radius:var(--radius-md);padding:var(--space-xs);background:#fff;position:relative}.signature-container canvas{cursor:crosshair;width:100%;display:block}.signature-container .signature-hint{color:var(--neutral-400);font-size:var(--font-size-sm);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--neutral-400)}.empty-state .empty-icon{margin-bottom:var(--space-md);font-size:48px}.empty-state .empty-text{font-size:var(--font-size-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-slide-in{animation:slideInLeft var(--transition-normal) ease forwards}@media (width<=768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}.stat-grid{grid-template-columns:repeat(2,1fr)}}
