*,:before,:after{box-sizing:border-box}body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;padding:0}p{margin:0}ul{margin:0;padding:0;list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea{font-family:inherit;font-size:inherit}#root{min-height:100vh}.sortable-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden;box-shadow:0 1px 2px #0000000d}.sortable-section__header{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:10px 12px;display:flex}.sortable-section__drag-handle{cursor:grab;color:#9ca3af;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-section__drag-handle:hover{color:#4b5563}.sortable-section__drag-handle:active{cursor:grabbing}.sortable-section__label{color:#1f2937;flex:1;font-size:14px;font-weight:600}.sortable-section__toggle{color:#9ca3af;transition:color .15s}.sortable-section__toggle:hover{color:#4b5563}.sortable-section__body{padding:12px}.field{margin-bottom:12px}.field__label{color:#4b5563;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.field__input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px;transition:box-shadow .15s,border-color .15s}.field__input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.field__input--textarea{resize:vertical;min-height:60px}.bullet-editor__list{flex-direction:column;gap:4px;display:flex}.bullet-editor__row{align-items:center;gap:4px;display:flex}.bullet-editor__bullet{color:#9ca3af;flex-shrink:0;width:16px;font-size:12px}.bullet-editor__input{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:12px;transition:border-color .15s,box-shadow .15s}.bullet-editor__input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.bullet-editor__delete{color:#d1d5db;flex-shrink:0;transition:color .15s}.bullet-editor__delete:hover{color:#ef4444}.bullet-editor__add{color:#2563eb;align-items:center;gap:4px;margin-top:4px;font-size:12px;transition:color .15s;display:flex}.bullet-editor__add:hover{color:#1d4ed8}.tag-editor__tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.tag-editor__tag{color:#1e40af;background:#eff6ff;border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tag-editor__tag-remove{color:#93c5fd;transition:color .15s}.tag-editor__tag-remove:hover{color:#ef4444}.tag-editor__input-row{gap:4px;display:flex}.tag-editor__input{background:#fff;border:1px solid #e5e7eb;border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:12px;transition:border-color .15s,box-shadow .15s}.tag-editor__input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.tag-editor__add-btn{color:#fff;background:#2563eb;border-radius:4px;padding:4px 8px;font-size:12px;transition:background .15s}.tag-editor__add-btn:hover{background:#1d4ed8}.resume-header{margin-bottom:16px}.resume-header__name{margin-bottom:4px;font-weight:700;line-height:1.1}.resume-header__title{margin-bottom:8px;font-weight:600}.resume-header__contacts{color:#4b5563;flex-wrap:wrap;gap:0 8px;margin-bottom:8px;font-size:12px;display:flex}.resume-header__contact{align-items:center;gap:4px;display:flex}.resume-header__diamond{margin:0 4px}.resume-header__availability{flex-wrap:wrap;gap:6px;display:flex}.resume-header__tag{border-radius:9999px;padding:2px 8px;font-size:12px;font-weight:500}.resume-section{margin-bottom:16px}.resume-section__title{text-transform:uppercase;letter-spacing:1px;border-bottom-style:solid;border-bottom-width:2px;margin-bottom:8px;padding-bottom:4px;font-weight:700}.resume-section__item{margin-bottom:12px}.resume-section__item:last-child{margin-bottom:0}.resume-section__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;display:flex}.resume-section__date{color:#6b7280;white-space:nowrap;font-size:12px}.resume-section__location{color:#6b7280;margin-bottom:4px;font-size:12px}.resume-section__bullets{flex-direction:column;gap:2px;margin-top:4px;margin-left:16px;list-style:outside;display:flex}.resume-section__role{font-weight:700}.resume-section__company{color:#4b5563}.resume-section__degree{font-weight:700}.resume-section__school{color:#4b5563;font-size:12px}.resume-section__desc{margin-bottom:4px}.resume-section__tags{flex-wrap:wrap;gap:4px;display:flex}.resume-section__tag{border-radius:3px;padding:2px 6px;font-size:11px}.resume-skill-row{margin-bottom:6px}.resume-skill-category{font-weight:600}.resume-skill-items{color:#4b5563}.resume-award-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 8px;display:flex}.preview-pages{flex-direction:column;align-items:center;gap:24px;padding:24px;display:flex;position:relative}.preview-measure{box-sizing:border-box;visibility:hidden;pointer-events:none;z-index:-1;width:210mm;min-height:297mm;padding:16mm;font-family:Helvetica,Arial,sans-serif;font-size:10pt;line-height:1.4;position:absolute;top:0;left:-10000px}.preview-page-sizer{flex-shrink:0;width:115.5mm;height:163.35mm;overflow:hidden}.preview-page{box-sizing:border-box;transform-origin:0 0;page-break-after:always;background:#fff;width:210mm;height:297mm;padding:16mm;font-family:Helvetica,Arial,sans-serif;font-size:10pt;line-height:1.4;overflow:hidden;transform:scale(.55);box-shadow:0 4px 24px #0000001f}.preview-page-break{align-items:center;gap:12px;width:115.5mm;margin:8px 0 12px;display:flex}.preview-page-break:before,.preview-page-break:after{content:"";border-top:1px dashed #999;flex:1}.preview-page-break span{color:#888;white-space:nowrap;font-size:11px}.preview-panel{background:#e5e7eb;height:100%;overflow-y:auto}.export-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex;box-shadow:0 1px 3px #00000014}.export-btn:hover{background:#1d4ed8}.export-btn__label{display:none}@media (width>=640px){.export-btn__label{display:inline}}.app-layout{background:#f3f4f6;flex-direction:column;height:100vh;display:flex}.app-header{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;box-shadow:0 1px 3px #00000014}.header-left{align-items:center;gap:12px;display:flex}.header-logo{color:#2563eb}.header-title{color:#111827;font-size:18px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.header-btn{color:#4b5563;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.header-btn:hover{color:#111827;background:#f3f4f6}.header-btn--danger{color:#ef4444}.header-btn--danger:hover{color:#dc2626;background:#fef2f2}.header-btn__label{display:none}.header-divider{background:#e5e7eb;width:1px;height:24px;margin:0 4px}.tab-bar{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;display:flex}.tab-btn{color:#6b7280;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.tab-btn:hover{color:#374151}.tab-btn--active{color:#2563eb;background:#2563eb0d;border-bottom-color:#2563eb}.app-main{flex:1;display:flex;overflow:hidden}.editor-pane{background:#f9fafb;border-right:1px solid #e5e7eb;flex-direction:column;width:100%;display:flex;overflow:hidden auto}.preview-pane{background:#e5e7eb;flex-direction:column;width:100%;display:flex;overflow:hidden}@media (width>=1024px){.editor-pane{width:45%}.preview-pane{width:55%}}@media (width>=768px){.header-btn__label{display:inline}}@media (width<=400px){.header-title{display:none}}@media (width>=1024px){.tab-bar{display:none}}.pane--hidden-mobile{display:none}@media (width>=1024px){.pane--hidden-mobile{display:flex!important}}.hidden-input{display:none}
