:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-rgb: 79, 70, 229;--secondary: #7c3aed;--secondary-rgb: 124, 58, 237;--dark-slate: #0f172a;--neutral-dark: #1e293b;--neutral-muted: #64748b;--light-bg: #f8fafc;--card-bg: #ffffff;--border-color: #e2e8f0;--success: #10b981;--danger: #ef4444;--gold: #d97706;--font-headers: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--shadow-sm: 0 1px 3px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px -5px rgba(0,0,0,.05), 0 8px 10px -6px rgba(0,0,0,.05);--shadow-premium: 0 20px 40px -15px rgba(79, 70, 229, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s ease}.cv-builder-app{font-family:var(--font-body);background-color:var(--light-bg);color:var(--neutral-dark);min-height:100vh;margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cv-builder-app *{box-sizing:border-box}.cv-builder-container{max-width:1280px;margin:0 auto;padding:40px 20px}.cv-builder-app ::-webkit-scrollbar{width:8px;height:8px}.cv-builder-app ::-webkit-scrollbar-track{background:#e2e8f080;border-radius:var(--radius-full)}.cv-builder-app ::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:var(--radius-full);border:2px solid transparent}.cv-builder-app ::-webkit-scrollbar-thumb:hover{background:#64748bb3}.cv-builder-header{text-align:center;margin-bottom:40px}.cv-builder-header h1{font-family:var(--font-headers);font-size:2.75rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 10px;letter-spacing:-.5px}.cv-builder-header p{color:var(--neutral-muted);font-size:1.1rem;margin:0;font-weight:500}.cv-builder-grid{display:grid;grid-template-columns:1fr;gap:30px}@media (min-width: 1024px){.cv-builder-grid{grid-template-columns:minmax(0,1fr)}}.cv-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:30px;transition:var(--transition-normal);position:relative;overflow:hidden}.cv-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:.85}.cv-card-title{font-family:var(--font-headers);font-size:1.5rem;font-weight:700;color:var(--dark-slate);margin-top:0;margin-bottom:25px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-color);padding-bottom:15px}.cv-card-title i{color:var(--primary);font-size:1.25rem}.form-section-group{margin-bottom:35px}.form-section-title{font-family:var(--font-headers);font-size:1.15rem;font-weight:600;color:var(--neutral-dark);margin-bottom:20px;padding-left:10px;border-left:3px solid var(--secondary)}.form-row{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px}@media (min-width: 768px){.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-2-1{grid-template-columns:2fr 1fr}.form-row-1-2{grid-template-columns:1fr 2fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.85rem;font-weight:600;color:var(--neutral-dark);text-transform:uppercase;letter-spacing:.5px}.form-control{font-family:var(--font-body);font-size:.95rem;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--light-bg);color:var(--dark-slate);outline:none;transition:var(--transition-fast)}.form-control:focus{border-color:var(--primary);background:var(--card-bg);box-shadow:0 0 0 4px #4f46e51a}textarea.form-control{resize:vertical;min-height:100px;line-height:1.5}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:40px}.radio-group{display:flex;flex-wrap:wrap;gap:15px;padding:8px 0}.radio-label{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:var(--neutral-dark);cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--border-color);border-radius:50%;outline:none;margin:0;display:grid;place-content:center;transition:var(--transition-fast);cursor:pointer}.radio-label input[type=radio]:before{content:"";width:8px;height:8px;border-radius:50%;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--primary)}.radio-label input[type=radio]:checked{border-color:var(--primary)}.radio-label input[type=radio]:checked:before{transform:scale(1)}.photo-uploader{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--light-bg);cursor:pointer;transition:var(--transition-normal);text-align:center;margin-bottom:25px}.photo-uploader:hover{border-color:var(--primary);background:#4f46e505}.photo-uploader-input{display:none}.photo-preview-container{position:relative;width:120px;height:150px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);border:2px solid white;background:#e2e8f0;display:flex;justify-content:center;align-items:center}.photo-preview-container img{width:100%;height:100%;object-fit:cover}.photo-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--neutral-muted)}.photo-preview-placeholder i{font-size:2rem}.photo-uploader-text{font-size:.85rem;color:var(--neutral-muted)}.photo-uploader-text span{color:var(--primary);font-weight:600}.table-responsive{width:100%;overflow-x:auto;margin-bottom:15px;border:1px solid var(--border-color);border-radius:var(--radius-md)}.academic-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.academic-table th{background:#f1f5f9;color:var(--neutral-dark);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.academic-table td{padding:10px 16px;border-bottom:1px solid var(--border-color);vertical-align:middle}.academic-table tr:last-child td{border-bottom:none}.academic-table .form-control{padding:8px 12px;font-size:.875rem}.btn{font-family:var(--font-headers);font-size:.95rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);border:none;outline:none;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 12px #4f46e540}.btn-primary:hover{box-shadow:0 6px 16px #4f46e566;transform:translateY(-1px)}.btn-secondary{background:#f1f5f9;color:var(--neutral-dark);border:1px solid var(--border-color)}.btn-secondary:hover{background:#e2e8f0}.btn-danger-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:#ef444414;color:var(--danger);cursor:pointer;transition:var(--transition-fast)}.btn-danger-icon:hover{background:var(--danger);color:#fff}.btn-add{margin-top:10px;font-size:.85rem;padding:8px 16px;border:1px dashed var(--primary);background:transparent;color:var(--primary)}.btn-add:hover{background:#4f46e50a}.actions-footer{display:flex;justify-content:flex-end;gap:15px;border-top:1px solid var(--border-color);padding-top:25px;margin-top:25px}.preview-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:15px 25px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.preview-controls-title{font-family:var(--font-headers);font-size:1.15rem;font-weight:700;color:var(--dark-slate)}.preview-buttons{display:flex;gap:12px}.resume-viewport-container{width:100%;overflow-x:auto;padding:20px 0;background:#e2e8f0;border-radius:var(--radius-lg);display:flex;justify-content:center;box-shadow:inset 0 2px 8px #0000000f}.resume-paper{width:794px;min-height:1123px;background:#fff;box-shadow:var(--shadow-lg);margin:0 auto;box-sizing:border-box;font-family:Inter,sans-serif;color:#334155;display:flex;flex-direction:column;position:relative;overflow:hidden}.resume-header{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.resume-header-left{flex:1}.resume-header-photo{width:105px;height:131px;border-radius:6px;border:3px solid rgba(255,255,255,.95);overflow:hidden;box-shadow:0 4px 10px #00000040;flex-shrink:0;background:#334155}.resume-header-photo img{width:100%;height:100%;object-fit:cover}.resume-name{font-family:var(--font-headers);font-size:2.2rem;font-weight:800;margin:0 0 5px;letter-spacing:-.5px;color:#fff}.resume-title{font-size:1.15rem;font-weight:500;color:#38bdf8;margin:0 0 15px;text-transform:uppercase;letter-spacing:1px}.resume-contact-inline{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:8px;font-size:.85rem;color:#cbd5e1;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.resume-contact-inline span{display:flex;align-items:center;gap:6px}.resume-contact-inline span i{color:#38bdf8}.resume-body{display:grid;grid-template-columns:260px 1fr;flex:1}.resume-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;padding:30px;display:flex;flex-direction:column;gap:30px}.resume-main{padding:35px 40px;display:flex;flex-direction:column;gap:30px}.resume-sec-title{font-family:var(--font-headers);font-size:1.1rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin:0 0 15px;border-bottom:2px solid #e2e8f0;padding-bottom:6px;display:flex;align-items:center;gap:8px}.resume-main .resume-sec-title{border-bottom:2px solid #cbd5e1;position:relative}.resume-main .resume-sec-title:after{content:"";position:absolute;bottom:-2px;left:0;width:50px;height:2px;background-color:var(--primary)}.resume-objective-text{font-size:.9rem;line-height:1.6;color:#475569;margin:0}.resume-experience-item{margin-bottom:20px}.resume-experience-item:last-child{margin-bottom:0}.resume-experience-header{display:flex;justify-content:space-between;margin-bottom:6px}.resume-experience-role{font-weight:700;color:#0f172a;font-size:.95rem}.resume-experience-company{color:var(--neutral-muted);font-size:.85rem;font-weight:500}.resume-experience-desc{font-size:.9rem;line-height:1.5;color:#475569;white-space:pre-line}.resume-detail-list{display:flex;flex-direction:column;gap:12px}.resume-detail-item{display:flex;flex-direction:column;gap:4px}.resume-detail-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--neutral-muted);letter-spacing:.5px}.resume-detail-val{font-size:.875rem;color:var(--neutral-dark);font-weight:500}.resume-skills-tags{display:flex;flex-wrap:wrap;gap:6px}.resume-skill-tag{font-size:.8rem;font-weight:500;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;padding:4px 10px;border-radius:4px}.resume-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:10px}.resume-table th{background:#f8fafc;color:#1e293b;font-weight:700;text-align:left;border-bottom:1px solid #cbd5e1;padding:8px 12px}.resume-table td{padding:8px 12px;border-bottom:1px solid #e2e8f0;color:#475569}.resume-table tr:last-child td{border-bottom:none}.resume-footer{margin-top:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #f1f5f9;background:#fafafa}.resume-footer-item{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.resume-signature-line{width:150px;border-top:1px dashed #cbd5e1;margin-top:25px;text-align:center;padding-top:6px;color:var(--neutral-muted);font-size:.75rem;font-weight:500}
