:root{--resume-bg:#f8fafc;--resume-surface:#fff;--resume-sidebar:#f1f5f9;--resume-primary:#0f172a;--resume-text:#334155;--resume-muted:#64748b;--resume-accent:#0284c7;--resume-border:#e2e8f0}body{background-color:var(--resume-bg);color:var(--resume-text);-webkit-print-color-adjust:exact;margin:0;padding:0;font-family:Inter,system-ui,sans-serif;line-height:1.6}.print-actions{border-bottom:1px solid var(--resume-border);z-index:100;background:#fff;padding:1rem;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.print-actions-inner{justify-content:space-between;max-width:1000px;margin:0 auto;display:flex}.btn{cursor:pointer;border:1px solid var(--resume-border);color:var(--resume-primary);background:#fff;border-radius:4px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:#f1f5f9}.btn-print{background:var(--resume-primary);color:#fff;border-color:var(--resume-primary)}.btn-print:hover{background:#334155}.resume-container{background:var(--resume-surface);border-radius:8px;flex-direction:column;max-width:1000px;margin:2rem auto;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000014}.resume-sidebar{background-color:var(--resume-sidebar);padding:2.5rem 2rem}.sidebar-section{margin-bottom:2rem}.sidebar-title{text-transform:uppercase;letter-spacing:.1em;color:var(--resume-primary);border-bottom:2px solid var(--resume-accent);margin-top:0;margin-bottom:1.2rem;padding-bottom:.4rem;font-size:1.05rem;font-weight:700}.contact-info p{word-break:break-all;margin:.5rem 0;font-size:.8rem}.contact-info a{color:var(--resume-accent);font-weight:500;text-decoration:none}.contact-info a:hover{text-decoration:underline}.resume-item{margin-bottom:1.2rem}.resume-role{color:var(--resume-primary);font-size:.82rem;font-weight:600}.resume-org{color:var(--resume-text);margin-top:.1rem;font-size:.78rem}.skill-category h4{text-transform:uppercase;color:var(--resume-accent);margin:1.2rem 0 .4rem;font-size:.8rem;font-weight:600}.skill-list{margin:0;padding:0;list-style:none}.skill-list li{color:var(--resume-primary);border-bottom:1px solid #0000000a;padding:.2rem 0;font-size:.8rem}.resume-main{padding:2.5rem 2rem}.resume-header{border-bottom:1px solid var(--resume-border);margin-bottom:1.5rem;padding-bottom:1rem}.candidate-name{color:var(--resume-primary);letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:2.2rem;font-weight:800;line-height:1.1}.candidate-title{color:var(--resume-accent);letter-spacing:.05em;margin:.5rem 0 0;font-size:1.2rem;font-weight:500}.main-section{margin-bottom:1.8rem}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--resume-primary);border-bottom:2px solid var(--resume-primary);margin-top:0;margin-bottom:1rem;padding-bottom:.3rem;font-size:1.1rem;font-weight:700}.job-item{margin-bottom:1.2rem}.job-header{justify-content:space-between;align-items:baseline;margin-bottom:.2rem;display:flex}.job-title{color:var(--resume-primary);margin:0;font-size:1.1rem;font-weight:700}.job-date{color:var(--resume-accent);font-size:.85rem;font-weight:600}.job-company{color:var(--resume-text);margin-bottom:.4rem;font-size:.9rem;font-style:italic;font-weight:500}.job-bullets{margin:0;padding-left:1.25rem;font-size:.85rem}.job-bullets li{margin-bottom:.3rem}@media (width>=768px){.resume-container{flex-direction:row;align-items:stretch}.resume-sidebar{border-right:1px solid var(--resume-border);flex-shrink:0;width:280px}.resume-main{flex-grow:1}}@media (width<=767px){.resume-container{border-radius:0;margin:0}.job-header{flex-direction:column}}@media print{@page{margin:0}:root{--resume-bg:#fff;--resume-surface:#fff;--resume-sidebar:#f8fafc;--resume-primary:#000;--resume-text:#000;--resume-accent:#0f172a;--resume-border:#cbd5e1}body{background:#fff;font-size:11pt}.print-actions{display:none}.resume-container{box-shadow:none;border-radius:0;flex-direction:row;max-width:100%;margin:0}.resume-sidebar{border-right:1px solid var(--resume-border);width:240px;padding:2rem 1.5rem;background-color:var(--resume-sidebar)!important}.resume-main{flex-grow:1;padding:2rem 1.5rem}.candidate-name{font-size:24pt}.candidate-title{font-size:13pt}.job-title{font-size:11pt}.job-bullets{font-size:9.5pt}.job-item{page-break-inside:avoid}a{color:inherit;text-decoration:none}}
