.professional-tools { margin: 14px 0; border-top: 1px solid var(--line); padding-top: 12px; }
.professional-tools summary { cursor: pointer; font-weight: 700; margin-bottom: 10px; }
.professional-tools label, .inspector > label { display: grid; gap: 5px; margin: 8px 0; font-size: 12px; }
.inspector > label input, .inspector > label select, .professional-tools input, .professional-tools select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; padding: 7px; background: white; }
.checkbox-field { display: flex !important; align-items: center; gap: 8px; }
.checkbox-field input { width: auto !important; }
.layout-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.layout-tools button { font-size: 11px; padding: 7px 4px; border: 1px solid var(--line); border-radius: 6px; color: var(--text); background: white; }
.layout-tools button:disabled { opacity: .4; }
.layer-list { max-height: 220px; overflow: auto; display: grid; gap: 4px; }
.layer-row { display: flex; border: 1px solid var(--line); border-radius: 6px; }
.layer-row.is-active { border-color: var(--blue); background: #edf3fa; }
.layer-row button { background: transparent; border: 0; padding: 7px; color: var(--text); }
.layer-row button:first-child { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; font-size: 11px; }
.editor-tip { font-size: 11px; color: var(--muted); line-height: 1.6; }
.editor-context-menu { position: fixed; z-index: 1000; width: 250px; max-height: calc(100vh - 16px); overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 8px 28px #10243430; background: white; }
.editor-context-menu button, .editor-context-menu label { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--text); text-align: left; font: inherit; font-size: 12px; }
.editor-context-menu button:hover, .editor-context-menu button:focus-visible { background: #edf3fa; }
.editor-context-menu button:disabled { opacity: .4; }
.editor-context-menu input[type=color] { width: 28px; height: 24px; padding: 0; border: 0; }
.editor-context-menu select { width: 135px; min-width: 0; border: 1px solid var(--line); border-radius: 5px; padding: 5px; }
.editor-context-menu input[type=number] { width: 70px; border: 1px solid var(--line); border-radius: 5px; padding: 5px; }
.selection-marquee { position: absolute; z-index: 100001; pointer-events: none; border: 1px solid var(--blue); background: #3f73b51a; }
.resume-block.is-locked { cursor: default; }
.resume-block.is-locked .move-handle, .resume-block.is-locked .resize-handle { display: none !important; }
/* Editing controls overlay chips and never consume space in the resume layout. */
.resume-page .skill-chip__color, .resume-page .skill-chip__remove, .resume-page .skill-chip__drag { position: absolute; top: 0; z-index: 1; }
.resume-page .skill-chip__color { right: 36px; }
.resume-page .skill-chip__remove { right: 0; }
.resume-page .skill-chip__drag { right: 18px; }
.resume-page .skill-add-button { position: absolute; bottom: 0; right: 0; }
.vacancy-review-dialog { width: min(900px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; padding: 26px; border: 1px solid var(--line); border-radius: 16px; color: var(--text); }
.vacancy-review-dialog::backdrop { background: #10243470; }
.vacancy-review-dialog > label { display: grid; gap: 8px; margin-top: 14px; }
.draft-change { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.draft-change > label { grid-column: 1 / -1; display: flex; gap: 8px; font-weight: 700; }
.draft-change pre { margin: 0; padding: 12px; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 13px; line-height: 1.6; }
.draft-before { background: #f4f5f6; color: #65707b; }
.draft-after { background: #edf6f0; }
.analysis-stale { padding: 10px; background: #fff4dd; border-radius: 6px; }
.coach-action, .requirement-card { border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin: 8px 0; font-size: 12px; }
.coach-action p, .requirement-card p { margin: 6px 0; line-height: 1.5; }
.requirement-card summary { cursor: pointer; font-weight: 600; }
.requirement-card blockquote { padding-left: 8px; margin: 12px 0; border-left: 2px solid var(--line); color: var(--muted); }
.requirement-card--missing { border-left: 3px solid #c98448; }
.requirement-card--evidence { border-left: 3px solid #4d9772; }
.ats-check p, .ats-check button { grid-column: 1 / -1; font-weight: 400; }
.account-search select, .collection-rename input { padding: 10px; border: 1px solid var(--line); border-radius: 8px; min-width: 0; }
.account-resume { justify-content: flex-start; align-items: flex-start; }
.account-resume > div { flex: 1; min-width: 0; }
.collection-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.collection-actions form { margin: 0; }
.collection-rename { margin-top: 12px; font-size: 12px; }
.collection-thumbnail { position: relative; display: block; flex: 0 0 126px; width: 126px; height: 178px; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: #f5f7f8; pointer-events: auto; }
.collection-thumbnail .resume-page { pointer-events: none; }
@media (max-width: 650px) { .draft-change { grid-template-columns: 1fr; } .account-resume { flex-direction: row; } .collection-thumbnail { flex-basis: 80px; width: 80px; height: 113px; } }
@media print { .editor-context-menu, .selection-marquee { display: none !important; } }
.wizard-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 16px; }
.wizard-mode-card { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 12px; border: 1px solid #ccd8de; border-radius: 10px; background: #fff; color: #263b44; cursor: pointer; }
.wizard-mode-card.is-active { border-color: #2f6f73; background: #edf7f5; box-shadow: inset 0 0 0 1px #2f6f73; }
.wizard-mode-card span { font-size: 12px; line-height: 1.45; }
.wizard-detailed-only { display: none; }
.is-detailed .wizard-detailed-only { display: block; }
.wizard-photo-preview { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; margin: 10px 0; }
[data-wizard-steps] { flex-wrap: wrap; gap: 5px; }
[data-wizard-ats-host] .ats-panel { margin: 0; padding: 10px; }
.resume-readiness p { padding: 8px; border-radius: 7px; font-size: 13px; }
.readiness-pass { background: #edf7f1; color: #236d43; }
.readiness-review { background: #fff7e5; color: #77591b; }
.media-upload-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.media-upload-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; flex-shrink: 0; }
.toolbar .media-button { width: auto; padding: 7px 10px; font-size: 12px; }
.toolbar .media-upload-button { display: inline-flex; }
[data-blank-resume] { margin-top: 14px; }
.photo-menu { display: inline-flex; }
.photo-menu-options { position: fixed; z-index: 120; width: min(260px, calc(100vw - 16px)); padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: 0 10px 30px #172b372e; }
.toolbar .photo-menu-options button { display: block; width: 100%; height: auto; min-height: 42px; padding: 10px 12px; border: 0; text-align: start; font-size: 14px; }
.photo-menu-options button:hover, .photo-menu-options button:focus-visible { background: #edf6f5; outline: 2px solid var(--accent); outline-offset: -2px; }
.photo-menu[hidden], .photo-menu-options[hidden], .photo-editor [hidden] { display: none !important; }
.assistant-dialog.photo-editor { width: min(1060px, calc(100vw - 32px)); }
.photo-editor[open] { display: flex; flex-direction: column; }
.photo-editor > header, .photo-editor > footer { flex: 0 0 auto; }
.photo-editor-body { padding: 20px 24px; min-height: 0; overflow-y: auto; }
.photo-editor-sources, .photo-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.photo-editor-status { min-height: 1.5em; margin: 12px 0; font-size: 14px; line-height: 1.5; }
.photo-editor-status:empty { display: none; }
.photo-camera-stage { display: grid; justify-items: center; gap: 16px; }
.photo-camera-stage video { display: block; width: 100%; height: min(50dvh, 450px); object-fit: contain; border-radius: 10px; background: #18262d; }
.photo-editor-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 285px; align-items: start; gap: 24px; margin-top: 16px; }
.photo-editor-preview { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f4f7f8; position: sticky; top: 0; z-index: 1; }
.photo-crop-surface { position: relative; margin: 0 auto; overflow: hidden; line-height: 0; background: repeating-conic-gradient(#e6ebee 0% 25%, #fff 0% 50%) 50% / 16px 16px; }
.photo-crop-surface canvas { display: block; width: 100%; height: 100%; }
.photo-crop-frame { position: absolute; border: 2px solid white; box-shadow: 0 0 0 2000px #08151b80; cursor: move; touch-action: none; }
.photo-crop-frame::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 33.1%, #ffffff88 33.3%, transparent 33.5%, transparent 66.4%, #ffffff88 66.6%, transparent 66.8%), linear-gradient(transparent 33.1%, #ffffff88 33.3%, transparent 33.5%, transparent 66.4%, #ffffff88 66.6%, transparent 66.8%); pointer-events: none; }
.photo-crop-frame:focus-visible { outline: 3px solid var(--accent); outline-offset: -5px; }
.photo-crop-frame .photo-crop-handle { position: absolute; width: 22px; height: 22px; padding: 0; border: 2px solid white; border-radius: 4px; background: var(--accent); touch-action: none; }
.photo-crop-handle[data-crop-handle=n] { top: 0; left: calc(50% - 11px); cursor: ns-resize; }
.photo-crop-handle[data-crop-handle=s] { bottom: 0; left: calc(50% - 11px); cursor: ns-resize; }
.photo-crop-handle[data-crop-handle=w] { left: 0; top: calc(50% - 11px); cursor: ew-resize; }
.photo-crop-handle[data-crop-handle=e] { right: 0; top: calc(50% - 11px); cursor: ew-resize; }
.photo-crop-handle[data-crop-handle=nw] { left: 0; top: 0; cursor: nwse-resize; }
.photo-crop-handle[data-crop-handle=ne] { right: 0; top: 0; cursor: nesw-resize; }
.photo-crop-handle[data-crop-handle=sw] { left: 0; bottom: 0; cursor: nesw-resize; }
.photo-crop-handle[data-crop-handle=se] { right: 0; bottom: 0; cursor: nwse-resize; }
.photo-editor-controls { display: grid; gap: 16px; }
.photo-editor fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.photo-editor legend { padding: 0 6px; font-weight: 700; font-size: 14px; }
.photo-editor-controls label { display: grid; gap: 6px; margin: 8px 0; font-size: 13px; }
.photo-editor-controls label > span { display: flex; justify-content: space-between; gap: 8px; }
.photo-editor-controls output { font-variant-numeric: tabular-nums; color: var(--muted); }
.photo-editor-controls select, .photo-editor-controls input[type=number] { width: 100%; min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--text); }
.photo-editor-controls input[type=range] { width: 100%; accent-color: var(--accent); }
.photo-crop-edges { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.photo-zoom { margin: 8px 0; }
.photo-zoom span { flex: 1; font-size: 13px; }
.photo-editor-footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; position: sticky; bottom: 0; z-index: 2; padding: 14px 24px; border-top: 1px solid var(--line); background: white; }
@media (max-width: 700px) { .photo-editor-workspace { grid-template-columns: 1fr; gap: 16px; } .photo-editor-body { padding: 12px; } .photo-editor-preview { padding: 10px; } .photo-editor-footer { padding: 12px; } .photo-crop-surface { width: min(100%, calc(20dvh * var(--photo-aspect))) !important; } }
.toolbar .primary-button { background: var(--accent); border-color: var(--accent); color: white; }
.toolbar .primary-button:hover { background: var(--accent-strong); }
.wizard-photos, .photo-tools { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f5f9fa; }
.wizard-photos > button { width: 100%; margin: 4px 0; }
.photo-tools { margin: 14px 0; }
.photo-tools h3 { margin: 0 0 10px; font-size: 14px; }
.photo-tools > label { display: grid; gap: 5px; margin: 10px 0; font-size: 12px; }
.photo-tools input, .photo-tools select { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 6px; padding: 7px; background: #fff; }
.photo-tools > button { width: 100%; margin: 8px 0; }
.photo-inspector-preview { display: block; width: 100%; max-height: 140px; object-fit: contain; margin-bottom: 10px; }
.photo-tools button[aria-pressed=true] { background: #e2eeef; border-color: #2f6f73; }
.wizard-photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin: 8px 0; }
.wizard-photo-card { position: relative; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.wizard-photo-card.is-selected { border-color: #2f6f73; box-shadow: 0 0 0 1px #2f6f73; }
.wizard-photo-card > button:first-child { width: 100%; padding: 0; border: 0; background: white; display: block; }
.wizard-photo-card img { display: block; width: 100%; height: 70px; object-fit: cover; }
.wizard-photo-card .photo-remove { position: absolute; top: 2px; right: 2px; width: 23px; height: 23px; border: 0; border-radius: 4px; color: #263b44; background: #ffffffe8; cursor: pointer; }
.background-image-preview { width: 100%; height: 75px; object-fit: contain; margin: 8px 0; }
.photo-tools[hidden], .background-image-preview[hidden], .wizard-photo-preview[hidden] { display: none !important; }
.wizard-photo-gallery[hidden] { display: none !important; }

.step-dot.is-skipped { color: #6d7c86; background: #eef1f3; border-style: dashed; text-decoration: line-through; }
.step-dot.is-skipped.is-active { border-color: #2f6f73; box-shadow: inset 0 0 0 1px #2f6f73; }
.wizard-page.is-skipped, .wizard-skipped[hidden], .wizard-skip-button[hidden] { display: none !important; }
.wizard-skipped { display: grid; gap: 12px; padding: 16px; border: 1px dashed #a4b4bf; border-radius: 10px; background: #f5f8fa; }
.wizard-skip-help { margin: 0 0 12px; }
.wizard-skip-button { grid-column: 1 / -1; border-style: dashed; }
.wizard-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wizard-actions > button { white-space: normal; }
.readiness-skipped { color: #657481; }

.word-export { display: inline-flex; }
.word-export[hidden], .word-export-menu[hidden] { display: none !important; }
.word-export-menu { position: fixed; z-index: 120; width: min(320px, calc(100vw - 16px)); max-height: calc(100dvh - 16px); overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgb(23 43 55 / 18%); }
.word-export-menu > button { display: grid; gap: 5px; width: 100%; padding: 12px; border: 0; border-radius: 7px; background: transparent; text-align: start; white-space: normal; color: var(--text); cursor: pointer; }
.word-export-menu > button:hover, .word-export-menu > button:focus-visible { background: #edf6f5; outline: 2px solid var(--accent); outline-offset: -2px; }
.word-export-menu span { color: #52636e; font-size: 12px; line-height: 1.5; }
.assistant-shortcuts { display: inline-flex; align-items: stretch; gap: 10px; max-width: 100%; }
.assistant-shortcuts > button { min-width: 0; white-space: normal; }
.topbar-actions .ats-assistant-shortcut { background: linear-gradient(120deg, #226780, #227a72); border-color: #226780; color: #fff; box-shadow: 0 2px 7px rgb(34 103 128 / 18%); }
.topbar-actions .ats-assistant-shortcut:hover { background: linear-gradient(120deg, #19546b, #1e665f); border-color: #19546b; }
.assistant-dialog { width: min(860px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--text); box-shadow: var(--shadow); overflow: auto; }
.assistant-dialog::backdrop, .welcome-modal::backdrop { background: rgb(22 30 36 / 46%); }
.delivery-dialog { width: min(1040px, calc(100vw - 32px)); }
.delivery-intro { margin-top: 0; line-height: 1.5; }
.delivery-formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.delivery-formats > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.delivery-formats p { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: var(--muted); }
.delivery-review { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px; }
.delivery-review h3 { margin: 0 0 8px; font-size: 16px; }
.delivery-review .delivery-preview-label { display: block; margin-bottom: 10px; font-weight: 700; }
.delivery-review textarea { min-height: 380px; line-height: 1.5; margin-bottom: 12px; white-space: pre-wrap; }
.delivery-status { min-height: 1.5em; overflow-wrap: anywhere; }
.delivery-order { padding: 0; list-style: none; counter-reset: delivery-block; }
.delivery-order li { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); padding: 10px 0; counter-increment: delivery-block; }
.delivery-order li::before { content: counter(delivery-block) "."; min-width: 1.5em; font-size: 12px; color: var(--muted); }
.delivery-order li > span { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.delivery-order button { flex: 0 0 32px; min-width: 32px; padding: 6px; }
@media (max-width: 680px) {
    .delivery-formats, .delivery-review { grid-template-columns: minmax(0, 1fr); }
    .delivery-review textarea { min-height: 260px; }
}
.assistant-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; position: sticky; top: 0; z-index: 1; padding: 18px 24px; border-bottom: 1px solid var(--line); background: #fff; }
.assistant-dialog-header h2 { margin: 0; font-size: 21px; line-height: 1.3; }
.assistant-dialog-header button { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; font-size: 25px; }
.assistant-dialog-body { padding: 20px 24px 24px; }
.assistant-dialog-body > section { margin: 0; padding: 20px; box-shadow: none; }
.assistant-dialog-body > section > h3 { display: none; }
.assistant-dialog-body textarea { display: block; width: 100%; min-height: 170px; resize: vertical; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--text); font: inherit; }
.assistant-dialog-body details > label { margin-top: 12px; }
.assistant-dialog .ats-results, .assistant-dialog .vacancy-builder-results { overflow-wrap: anywhere; }
.assistant-status { padding: 10px 12px; border-radius: 8px; border: 1px solid var(--line); background: rgb(255 255 255 / 85%); }
.assistant-dialog :focus-visible, .ats-assistant-shortcut:focus-visible, .share-copy-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
dialog.welcome-modal { max-width: none; max-height: none; width: 100%; height: 100%; margin: 0; border: 0; background: transparent; color: var(--text); }
dialog.welcome-modal:not([open]) { display: none; }
.welcome-modal .welcome-dialog { max-width: 100%; }
body:has(dialog[open]) { overflow: hidden; }
.share-field { display: grid; gap: 8px; }
.share-field label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; }
.is-read-only .access-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.is-read-only .access-banner[hidden] { display: none; }
.is-read-only .access-banner .share-field { width: min(380px, 100%); margin: 0 0 0 auto; }
.share-copy-button { display: block; width: 100%; margin: 0; }
.share-copy-status:empty { display: none; }
.share-dialog > .share-copy-button { margin: 10px 0 16px; }
@media (max-width: 650px) {
    .assistant-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
    .assistant-dialog-header { padding: 12px 16px; gap: 10px; }
    .assistant-dialog-header h2 { font-size: 18px; }
    .assistant-dialog-body { padding: 12px; }
    .assistant-dialog-body > section { padding: 14px; }
}
@media print { .assistant-dialog, .welcome-modal { display: none !important; } }
