.account-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; min-width: 0; }
.account-actions[hidden] { display: none; }
.account-actions span { overflow-wrap: anywhere; font-size: 13px; }
.account-actions button { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; }
.login-layout { max-width: 480px; margin: 72px auto; padding: 24px; }
.login-layout h1 { font-size: 32px; }
.login-page { min-height: 100vh; background-image: repeating-linear-gradient(0deg, transparent, transparent 31px, #13131308 32px); }
@media (max-width: 600px) {
  .account-actions { gap: 6px; max-width: 45%; }
  .login-layout { margin: 40px auto; }
}
:root { --ink:#17202d; --muted:#647084; --line:#dce2e9; --paper:#fffdfa; --canvas:#edf1f4; --orange:#e76538; --teal:#0a7778; --yellow:#f2bd52; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--canvas); font-family:Manrope, sans-serif; }
.topbar { height:62px; padding:0 5vw; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; font-family:"DM Mono", monospace; font-size:13px; letter-spacing:2px; font-weight:500; }.brand-mark { display:grid; place-items:center; width:30px; height:30px; background:var(--orange); color:#fff; letter-spacing:0; font-weight:800; }
main { max-width:1440px; margin:auto; padding:54px 5vw 70px; }.intro { max-width:740px; margin-bottom:38px; }.eyebrow { margin:0 0 8px; color:var(--teal); font-family:"DM Mono", monospace; letter-spacing:1.3px; font-size:11px; text-transform:uppercase; }.intro h1 { margin:0; font-size:clamp(34px,5vw,60px); line-height:1.04; letter-spacing:0; }.intro > p:last-child { max-width:610px; margin:17px 0 0; color:var(--muted); font-size:15px; line-height:1.7; }
.workspace { display:grid; grid-template-columns:minmax(330px, 430px) 1fr; min-height:680px; border:1px solid var(--line); background:var(--paper); }.controls { border-right:1px solid var(--line); padding:24px; overflow:auto; }.tabs { display:flex; border-bottom:1px solid var(--line); margin:-24px -24px 25px; }.tab { flex:1; height:57px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--muted); cursor:pointer; font:600 12px Manrope; }.tab svg { width:15px; vertical-align:middle; margin-right:5px; }.tab.is-active { color:var(--ink); border-color:var(--orange); }.view { display:none; }.view.is-active { display:block; }.view h2,.result-header h2 { margin:0; font-size:20px; letter-spacing:0; }.muted { color:var(--muted); font-size:12px; line-height:1.6; }
.mode-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0; }.mode-option { text-align:left; min-height:110px; border:1px solid var(--line); background:#fff; padding:14px; cursor:pointer; color:var(--ink); }.mode-option svg { display:block; width:20px; color:var(--teal); margin-bottom:13px; }.mode-option b,.mode-option small { display:block; }.mode-option b { font-size:13px; }.mode-option small { color:var(--muted); font-size:10px; margin-top:3px; }.mode-option.is-selected { border:2px solid var(--teal); background:#effbfa; }.mode-option:disabled { opacity:.55; cursor:not-allowed; }
.theme-switch { display:flex; flex-wrap:wrap; margin:18px 0; border:1px solid var(--line); background:#fff; }.theme-option { border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:8px 12px; background:transparent; color:var(--muted); cursor:pointer; font:700 10px Manrope; }.theme-option.is-selected { background:var(--ink); color:#fff; }
.theme-default-action { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:36px; margin:12px 0 10px; padding:6px 9px; border:1px solid var(--line); background:var(--paper); color:var(--teal); cursor:pointer; font:700 10px Manrope,sans-serif; }
.theme-default-action svg { width:14px; height:14px; }
.theme-default-action:disabled { color:#246b4a; background:#edf8f1; border-color:#8fc7a5; cursor:default; }
.toggle-row { display:flex; align-items:center; gap:8px; margin:0 0 18px; cursor:pointer; }.toggle-row input { width:auto; margin:0; }.toggle-row span { font-size:11px; font-weight:700; letter-spacing:.3px; color:#4c596b; }.toggle-row.is-hidden { display:none; }
.toggle-row.is-unavailable { opacity:.45; cursor:not-allowed; }
.toggle-row.is-unavailable span { color:var(--muted); }
.toggle-row.is-unavailable input { cursor:not-allowed; }
.photo-picker { margin:-8px 0 18px; }.photo-picker.is-hidden { display:none; }.photo-grid { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.photo-thumb { position:relative; width:54px; height:54px; padding:0; border:2px solid var(--line); background:#fff; cursor:pointer; overflow:hidden; }.photo-thumb img { width:100%; height:100%; object-fit:cover; display:block; }.photo-thumb.is-selected { border-color:var(--teal); }.photo-upload-btn { display:inline-flex; align-items:center; gap:6px; margin:0; border:1px dashed var(--line); background:#fff; padding:8px 10px; color:var(--teal); font-size:10px; font-weight:700; cursor:pointer; }.photo-upload-btn:hover { background:#effbfa; }.photo-upload-btn svg { width:13px; height:13px; }
.accent-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 16px; font-size:11px; font-weight:700; letter-spacing:.3px; color:#4c596b; }.accent-row input[type="color"] { width:40px; height:26px; padding:2px; margin:0; border:1px solid var(--line); cursor:pointer; }
#secondary-row-standard[hidden], #secondary-row-lettre[hidden] { display:none; }
label { display:block; margin:16px 0; color:#4c596b; font-size:11px; font-weight:700; letter-spacing:.3px; } input,textarea,select { width:100%; border:1px solid var(--line); border-radius:0; margin-top:6px; padding:10px; color:var(--ink); background:#fff; font:12px/1.45 Manrope; resize:vertical; } input:focus,textarea:focus,select:focus { outline:2px solid #a9dedd; border-color:var(--teal); } select { appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:30px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23647084'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }.selector-title { display:flex; flex-direction:column; gap:3px; margin-top:25px; font-size:12px; font-weight:800; }.selector-title small { color:var(--muted); font-size:10px; font-weight:500; }
.work-selector { display:grid; gap:8px; margin-top:10px; }.work-choice { border:1px solid var(--line); background:#fff; }.work-toggle { position:relative; margin:0; display:flex; gap:9px; align-items:flex-start; padding:10px; cursor:pointer; }.work-toggle input { position:absolute; opacity:0; }.work-toggle > span { width:15px; height:15px; border:1px solid #9eabb9; flex:none; margin-top:2px; }.work-toggle input:checked + span { background:var(--teal); border-color:var(--teal); box-shadow:inset 0 0 0 3px #fff; }.work-toggle b { display:block; color:var(--ink); font-size:11px; }.work-toggle small { display:block; font-size:10px; color:var(--muted); margin-top:2px; } details { border-top:1px solid var(--line); } summary { padding:8px 10px; color:var(--teal); cursor:pointer; font-size:10px; font-weight:700; list-style:none; } summary svg { width:13px; vertical-align:middle; margin-right:4px; } details label { padding:0 10px; margin:10px 0; font-size:10px; }.chip-selector { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }.chip-selector label { position:relative; margin:0; }.chip-selector input { position:absolute; opacity:0; }.chip-selector span { display:block; border:1px solid var(--line); padding:6px 8px; background:#fff; color:var(--muted); cursor:pointer; font-size:10px; font-weight:600; }.chip-selector input:checked + span { color:var(--ink); border-color:var(--yellow); background:#fff5d8; }
.chip-add { display:flex; gap:6px; margin-top:8px; }.chip-add input { margin:0; }.chip-add-btn { flex:none; width:36px; border:1px solid var(--line); background:#fff; color:var(--teal); cursor:pointer; }.chip-add-btn:hover { background:#effbfa; }.chip-add-btn svg { width:15px; height:15px; vertical-align:middle; }
.primary-action { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; border:0; margin-top:26px; padding:13px; background:var(--orange); color:white; cursor:pointer; font:700 12px Manrope; }.primary-action:hover { background:#cf5228; }.primary-action:disabled { opacity:.55; cursor:wait; }.primary-action svg { width:17px; }
.result-panel { position:relative; min-width:0; display:flex; flex-direction:column; background:#f7f8f7; }.result-header { min-height:95px; padding:23px 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#fffdfa; }.status-pill { border:1px solid var(--line); padding:6px 9px; color:var(--muted); font:10px "DM Mono"; }.status-pill.success { color:#087071; border-color:#80c4c3; background:#effbfa; }.status-pill.error { color:#a44222; border-color:#e9b4a5; background:#fff2ed; }.empty-state { flex:1; min-height:440px; display:grid; place-content:center; text-align:center; color:var(--muted); }.empty-state svg { width:45px; height:45px; margin:auto; color:#aab5bf; }.empty-state p { margin:15px 0 4px; font-weight:700; color:#566273; }.empty-state small { font-size:11px; }.empty-state.is-hidden { display:none; } #preview { display:none; width:100%; flex:1; min-height:550px; border:0; background:#cdd2de; } #preview.is-visible { display:block; }.new-preview-theme-picker { position:absolute; z-index:2; top:108px; right:16px; display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid var(--line); background:#fffdfa; box-shadow:0 4px 14px #17202d24; }.new-preview-theme-picker.is-hidden { display:none; }.new-preview-theme-picker label { display:flex; align-items:center; gap:5px; margin:0; color:var(--ink); font-size:10px; }.new-preview-theme-picker label svg { width:14px; color:var(--teal); }.new-preview-theme-picker select { width:auto; min-width:112px; margin:0; padding:6px 24px 6px 8px; font-size:10px; }.result-actions { display:none; gap:8px; padding:14px 24px; background:#fffdfa; border-top:1px solid var(--line); }.result-actions.is-visible { display:flex; }.result-actions a { display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--teal); border:1px solid #abd4d3; padding:8px 10px; font-size:11px; font-weight:700; }.result-actions svg { width:14px; } #generation-log { display:none; margin:0; max-height:110px; overflow:auto; padding:12px 24px; border-top:1px solid var(--line); background:#17202d; color:#c5d2df; font:10px/1.5 "DM Mono"; white-space:pre-wrap; } #generation-log.is-visible { display:block; }
.env-banner { display:flex; gap:8px; align-items:center; padding:10px 12px; background:#fff5d8; border:1px solid #f2c84e; color:#7a5c1a; font-size:11px; font-weight:700; margin-bottom:16px; } .env-banner.is-hidden { display:none; } .env-banner svg { width:15px; flex:none; } .env-banner code { font-family:"DM Mono",monospace; }
.env-feedback { text-align:center; min-height:1.5em; color:var(--teal); font-size:11px; margin-top:10px; }
.json-editor { min-height:460px; font-family:"DM Mono",monospace; font-size:11px; line-height:1.5; white-space:pre; }
.editor-section { border-top:1px solid var(--line); padding-top:18px; margin-top:22px; } .editor-section:first-of-type { border-top:0; padding-top:0; margin-top:0; } .editor-section h3 { margin:0 0 4px; font-size:13px; letter-spacing:0; }
.editor-list { display:grid; gap:10px; margin-top:12px; }
.editor-card { position:relative; border:1px solid var(--line); background:#fff; padding:14px 94px 6px 14px; }
.editor-card label { margin:0 0 12px; }
.editor-card.is-string-item { padding-right:94px; }
.editor-card-actions { position:absolute; top:8px; right:8px; display:flex; gap:2px; }
.editor-card-actions button { display:grid; place-items:center; width:24px; height:24px; padding:4px; border:0; background:transparent; color:var(--teal); cursor:pointer; }
.editor-card-actions button:disabled { color:#aab2bb; cursor:not-allowed; }
.editor-card-actions button:focus-visible { outline:2px solid var(--teal); outline-offset:1px; }
.editor-card-actions button svg { width:14px; height:14px; display:block; }
.editor-card-actions .remove-item-btn { color:#a44222; }
.add-item-btn { display:inline-flex; align-items:center; gap:6px; margin-top:10px; border:1px dashed var(--line); background:#fff; padding:8px 12px; color:var(--teal); font-size:11px; font-weight:700; cursor:pointer; }
.add-item-btn:hover { background:#effbfa; }
.add-item-btn svg { width:13px; height:13px; }
.field-hint { display:block; margin:4px 0 0; font-size:9px; font-weight:500; color:var(--muted); text-transform:none; letter-spacing:0; }
.danger-action { display:inline-flex; align-items:center; gap:6px; border:1px solid #e9b4a5; background:#fff2ed; color:#a44222; padding:8px 10px; cursor:pointer; font:700 10px Manrope; }
.danger-action svg { width:13px; height:13px; }
.resume-picker { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:20px; padding:14px; border:1px solid var(--line); background:#fff; }
.resume-picker-title { margin:0 0 8px; color:var(--ink); font:700 13px Manrope,sans-serif; }
.resume-state-select { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.resume-option-list { display:grid; gap:9px; max-height:230px; overflow:auto; overscroll-behavior:contain; padding:2px 3px 4px 0; }
.resume-option-group { display:grid; gap:4px; }
.resume-option-group h3 { margin:7px 0 2px; color:var(--muted); font:500 10px "DM Mono",monospace; text-transform:uppercase; }
.resume-option-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.resume-option { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-width:0; min-height:34px; padding:6px 8px; border:1px solid transparent; background:#fff; color:var(--ink); text-align:left; cursor:pointer; font:600 11px Manrope; }
.resume-option:hover { border-color:var(--line); background:#f8faf9; }
.resume-option:focus-visible { outline:2px solid var(--teal); outline-offset:1px; }
.resume-option[aria-pressed="true"] { border-color:#81b99d; background:#edf8f2; }
.resume-option-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.resume-option-status { flex:none; border:1px solid #8fc7b3; padding:3px 5px; background:#edf8f2; color:#246b4a; font:9px "DM Mono",monospace; }
.resume-group-official .resume-option-status, .resume-group-draft .resume-option-status, .resume-group-modified .resume-option-status { border-color:#8fc7b3; background:#edf8f2; color:#246b4a; }
.resume-group-ai .resume-option-status { border-color:#c4b6e8; background:#f3effb; color:#604a91; }
.resume-group-demo .resume-option-status, .resume-group-test .resume-option-status, .resume-group-invalid .resume-option-status { border-color:#d4d9df; background:#f1f3f5; color:#606a75; }
.resume-option-create { justify-content:center; min-height:38px; border:1px dashed var(--line); color:var(--teal); }
.resume-option-create:hover { border-color:var(--teal); background:#effbfa; }
.resume-option[hidden], .resume-option-group[hidden] { display:none; }
.resume-option-actions { display:flex; align-items:center; gap:7px; }
.compare-resume-btn { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid #9ac9c5; background:#edf8f7; color:#176d6a; cursor:pointer; }
.compare-resume-btn[hidden] { display:none; }
.compare-resume-btn svg { width:16px; height:16px; }
.compare-resume-btn:disabled { opacity:.5; cursor:not-allowed; }
.linked-draft-banner { display:grid; gap:8px; margin:-9px 0 16px; padding:11px; border:1px solid #8fc7b3; background:#edf8f2; }
.linked-draft-banner.is-hidden { display:none; }
.linked-draft-banner p { display:flex; align-items:center; gap:7px; margin:0; color:#246b4a; font-size:11px; font-weight:800; }
.linked-draft-banner p svg { width:14px; height:14px; }
.linked-draft-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.linked-draft-controls select { min-width:0; margin:0; }
.linked-draft-controls button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:6px 10px; border:1px solid #8fc7b3; background:#fff; color:#246b4a; cursor:pointer; font:700 10px Manrope,sans-serif; }
.linked-draft-controls button svg { width:14px; height:14px; }
.resume-option-actions.is-hidden { display:none; }
.resume-photo { position:relative; display:grid; place-items:center; width:32px; height:40px; overflow:hidden; border:1px solid var(--line); background:#f3f4f4; color:#8a96a5; }
.resume-photo svg { width:20px; height:20px; }
.resume-photo img { display:none; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.resume-photo.has-photo img { display:block; }
.resume-photo.has-photo svg { display:none; }
.resume-status { width:max-content; max-width:100%; border:1px solid var(--line); padding:4px 7px; color:var(--muted); font:10px "DM Mono",monospace; }
.resume-status[data-kind="official"], .resume-status[data-kind="draft"], .resume-status[data-kind="modified"] { border-color:#8fc7b3; background:#edf8f2; color:#246b4a; }
.resume-status[data-kind="test"], .resume-status[data-kind="demo"], .resume-status[data-kind="invalid"] { border-color:#d4d9df; background:#f1f3f5; color:#606a75; }
.resume-status[data-kind="ai"] { border-color:#b8a9e4; background:#f4f0fc; color:#594783; }
.resume-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.promote-resume-btn { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid #8fc7b3; background:#edf8f2; color:#246b4a; cursor:pointer; }
.promote-resume-btn[hidden] { display:none; }
.promote-resume-btn svg { width:17px; height:17px; }
.promote-resume-btn:disabled { opacity:.5; cursor:not-allowed; }
.promote-resume-btn:focus-visible { outline:2px solid #246b4a; outline-offset:2px; }
.promote-dialog { border-color:#b7d8c6; }
.delete-dialog.promote-dialog { width:min(1220px, calc(100% - 32px)); }
.promote-dialog .delete-dialog-content { max-height:calc(100vh - 32px); overflow-y:auto; }
.promote-dialog-toolbar { display:flex; justify-content:flex-end; }
.promote-fullscreen-toggle { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; }
.promote-fullscreen-toggle svg { width:17px; height:17px; }
.promote-dialog.is-preview-fullscreen { width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; border:0; border-radius:0; }
.promote-dialog.is-preview-fullscreen .delete-dialog-content { display:grid; grid-template-rows:auto minmax(0,1fr); gap:6px; width:100%; height:100%; max-height:none; padding:8px; overflow:hidden; }
.promote-dialog.is-preview-fullscreen .delete-dialog-content > :not(.promote-dialog-toolbar):not(.promote-preview-grid) { display:none; }
.promote-dialog.is-preview-fullscreen .promote-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-height:0; height:100%; margin:0; overflow:hidden; }
.promote-dialog.is-preview-fullscreen .promote-preview-pane { display:flex; flex-direction:column; min-height:0; padding:4px; }
.promote-dialog.is-preview-fullscreen .promote-preview-pane h3 { margin:0; padding:2px 4px 6px; }
.promote-dialog.is-preview-fullscreen .promote-preview-frame { flex:1; height:100%; min-height:0; }
.promote-dialog #promote-admin-password-label.is-hidden { display:none; }
.promote-diff-summary { margin:14px 0; padding:9px 11px; border-left:3px solid #36825b; background:#edf8f1; color:#246b4a; font-size:11px; font-weight:800; }
.promote-preview-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:12px; margin:12px 0 18px; }
.promote-preview-pane { min-width:0; padding:10px; border:1px solid var(--line); background:var(--paper); }
.promote-preview-pane h3 { margin:0 0 8px; font-size:12px; }
.promote-preview-frame { display:block; width:100%; height:min(46vh, 480px); min-height:260px; border:1px solid var(--line); background:#cdd2de; }
.promote-preview-placeholder { display:grid; place-items:center; min-height:260px; border:1px dashed var(--line); color:var(--muted); font-size:11px; text-align:center; }
.promote-preview-placeholder.is-hidden, .promote-preview-frame.is-hidden { display:none; }
#promote-admin-password-label.is-hidden, #confirm-promote-resume[hidden] { display:none; }
.promote-dialog .delete-dialog-icon { background:#edf8f2; color:#246b4a; }
.promote-dialog .eyebrow { color:#246b4a; }
.promote-confirm-btn { display:inline-flex; align-items:center; gap:6px; border:0; background:#246b4a; color:#fff; padding:9px 12px; cursor:pointer; font:700 11px Manrope; }
.promote-confirm-btn svg { width:15px; height:15px; }
.promote-confirm-btn:disabled { opacity:.55; cursor:wait; }
.delete-resume-btn { display:grid; place-items:center; width:36px; height:36px; border:1px solid #efc3b6; background:#fff5f1; color:#b3442c; cursor:pointer; transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.delete-resume-btn:not(:disabled):hover { transform:translateY(-1px); border-color:#b3442c; background:#b3442c; color:#fff; }
.delete-resume-btn:disabled { border-color:var(--line); background:#f3f4f4; color:#aab2bb; cursor:not-allowed; }
.delete-resume-btn svg { width:18px; height:18px; }
@media (max-width:520px) { .resume-picker { padding:11px; }.resume-option-row { grid-template-columns:minmax(0,1fr) auto; gap:5px; }.resume-option-actions { gap:5px; }.resume-photo { width:28px; height:35px; }.promote-resume-btn { width:30px; height:30px; }.delete-resume-btn { width:32px; height:32px; } }
.delete-dialog { width:min(440px, calc(100% - 32px)); max-width:none; padding:0; border:1px solid #e4d4cd; background:#fffdfa; color:var(--ink); box-shadow:0 24px 80px #17202d40; }
.delete-dialog::backdrop { background:#17202db3; backdrop-filter:blur(3px); }
.delete-dialog-content { padding:30px; }
.delete-dialog-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:20px; background:#fff0eb; color:#b3442c; }
.delete-dialog-icon svg { width:20px; height:20px; }
.delete-dialog .eyebrow { color:#b3442c; }
.delete-dialog h2 { margin:0; font-size:22px; }
.delete-dialog-copy { color:var(--muted); font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.delete-dialog-copy strong { color:var(--ink); }
.delete-dialog-content label { margin:22px 0 8px; }
.delete-dialog-feedback { min-height:1.5em; margin:8px 0; color:#a44222; font-size:11px; }
.delete-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.delete-dialog-actions button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:0 14px; cursor:pointer; font:700 11px Manrope; }
.delete-cancel-btn { border:1px solid var(--line); background:#fff; color:var(--ink); }
.delete-confirm-btn { border:1px solid #a83e28; background:#b3442c; color:#fff; }
.delete-confirm-btn:hover { background:#96351f; }
.delete-confirm-btn svg { width:14px; height:14px; }
.delete-confirm-btn:disabled { opacity:.65; cursor:wait; }
.ai-admin-dialog .delete-dialog-icon { background:#fff5d8; color:#946200; }
.ai-admin-dialog .eyebrow { color:#946200; }
.ai-generate-confirm-btn { border:1px solid #946200; background:#a97700; color:#fff; }
.ai-generate-confirm-btn:hover { background:#805c00; }
.ai-generate-confirm-btn:disabled { opacity:.65; cursor:wait; }
.ai-generate-confirm-btn svg { width:14px; height:14px; }
.tab.is-hidden, .editor-section.is-hidden, .info-drawer.is-hidden, #skill-categories-block.is-hidden { display:none; }
.ai-fill-panel { background:#fff5d8; border:1px solid #f2c84e; padding:14px; }
.ai-fill-panel h3 { display:flex; align-items:center; gap:6px; }
.work-compact-option { display:flex; align-items:center; gap:6px; margin:0; padding:0 10px 8px 34px; color:var(--muted); cursor:pointer; font-size:10px; font-weight:600; }
.work-compact-option input { width:auto; margin:0; }
.work-category-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:14px 0 2px; padding-bottom:4px; border-bottom:1px solid var(--line); font-size:10px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--muted); }
.work-category-head:first-child { margin-top:0; }
.work-category-toggle { border:0; background:transparent; color:var(--teal); cursor:pointer; font:700 10px Manrope; padding:0; }
.toast-container { position:fixed; top:16px; right:16px; z-index:9999; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.toast { min-width:220px; max-width:360px; border:1px solid var(--line); border-left:4px solid var(--teal); background:#fff; color:var(--ink); padding:10px 14px; font-size:12px; font-weight:700; box-shadow:0 10px 30px rgba(0,0,0,.14); opacity:0; transform:translateY(-6px); transition:opacity .2s ease, transform .2s ease; }
.toast.is-visible { opacity:1; transform:translateY(0); }
.toast.is-error { border-left-color:var(--orange); color:#a44222; }
.ai-fill-panel h3 svg { width:15px; color:var(--orange); }
.info-drawer { border:1px solid var(--line); margin:18px 0; } .info-drawer > summary { padding:11px 14px; cursor:pointer; font:700 12px Manrope; list-style:none; display:flex; align-items:center; gap:6px; color:var(--ink); } .info-drawer > summary svg { width:14px; } .info-drawer-body { padding:0 14px 14px; border-top:1px solid var(--line); }
.ai-letter-proposal { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.ai-letter-proposal.is-hidden { display:none; }
.highlights-toggle { display:flex; border:1px solid var(--line); background:#fff; margin:0 10px 8px; } .highlights-toggle.is-hidden { display:none; } .hl-option { flex:1; border:0; border-right:1px solid var(--line); padding:5px 8px; background:transparent; color:var(--muted); cursor:pointer; font:600 9px Manrope; } .hl-option:last-child { border-right:0; } .hl-option.is-selected { background:var(--teal); color:#fff; }
@keyframes spin { to { transform:rotate(360deg); } } .spin { display:inline-block; animation:spin 0.85s linear infinite; }
.editor-form-body { position:relative; }
.editor-loading-overlay { position:absolute; inset:0; z-index:5; display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(255,253,250,.92); color:var(--teal); font-size:12px; font-weight:700; }
.editor-loading-overlay.is-hidden { display:none; }
.editor-loading-overlay svg, .editor-loading-overlay i { width:16px; height:16px; }
.gen-progress { display:none; flex:1; flex-direction:column; align-items:center; justify-content:center; min-height:300px; } .gen-progress:not(.is-hidden) { display:flex; } .gen-steps { display:flex; flex-direction:column; gap:22px; } .gen-step { display:flex; align-items:center; gap:14px; font:600 13px Manrope; color:#b8c3cc; transition:color 0.25s; } .gen-step.is-active { color:var(--teal); } .gen-step.is-done { color:var(--ink); } .gen-step-icon { width:22px; height:22px; display:flex; align-items:center; justify-content:center; flex:none; } .gen-step-icon svg { width:18px; height:18px; }
@media (min-width:1100px) {
  main { padding-top:36px; padding-bottom:36px; }
  .intro { margin-bottom:20px; }
  .workspace { grid-template-columns:minmax(400px,500px) 1fr; height:calc(100vh - 190px); min-height:700px; }
  .controls { overflow-y:auto; }
  #preview { min-height:0; }
}
@media (min-width:1600px) {
  main { max-width:1900px; }
  .workspace { grid-template-columns:minmax(440px,540px) 1fr; height:calc(100vh - 170px); min-height:700px; }
}
@media (min-width:2600px) {
  main { max-width:2000px; padding-left:2vw; padding-right:2vw; }
  .workspace { grid-template-columns:minmax(500px,620px) 1fr; height:calc(100vh - 150px); min-height:700px; }
}
@media (max-width:850px) { main { padding:30px 16px; }.workspace { grid-template-columns:1fr; }.controls { border-right:0; border-bottom:1px solid var(--line); }.topbar { padding:0 16px; }.result-panel { min-height:600px; }.result-header { padding:16px; }.result-heading { flex-wrap:wrap; }.result-actions { flex-wrap:wrap; } .new-preview-theme-picker { top:104px; right:10px; } #preview { min-height:620px; } }
.chip-selector label { cursor:grab; touch-action:none; }
.chip-selector label:active { cursor:grabbing; }
.chip-selector label:focus-within { outline:2px solid var(--teal); outline-offset:2px; }
.chip-selector label.is-dragging { opacity:.4; }
.chip-selector label.is-drop-target { outline:1px dashed var(--teal); outline-offset:2px; }
.chip-selector label.is-drop-target[data-drop-position="before"]::before,
.chip-selector label.is-drop-target[data-drop-position="after"]::after { position:absolute; top:0; bottom:0; width:3px; background:var(--orange); content:""; }
.chip-selector label.is-drop-target[data-drop-position="before"]::before { left:-5px; }
.chip-selector label.is-drop-target[data-drop-position="after"]::after { right:-5px; }
.chip-selector span { display:flex; align-items:center; gap:5px; }
.chip-selector span svg { width:12px; height:12px; flex:none; color:#8794a3; }
.result-heading { display:flex; align-items:center; gap:22px; min-width:0; }
.generation-indicators { display:flex; flex-wrap:wrap; gap:7px; }
.log-toggle { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:6px 9px; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; font:600 10px Manrope; }
.log-toggle svg { width:15px; height:15px; }
.log-toggle:disabled { opacity:.55; cursor:not-allowed; }
.warning-toggle svg, .warning-toggle span:first-of-type { color:#9a6500; }
.error-toggle svg, .error-toggle span:first-of-type { color:#a44222; }
#generation-log { flex:none; max-height:clamp(140px, 24vh, 260px); }
.result-panel { min-height:0; }
body[data-ui-theme="dark"] { color-scheme:dark; --ink:#e5edf1; --muted:#a1adb8; --line:#39454e; --paper:#1e272d; --canvas:#141b20; --teal:#63c5bd; --orange:#ef7954; --yellow:#e1bb62; }
body[data-ui-theme="dark"] .topbar { background:#0c1216; }
body[data-ui-theme="dark"] .ui-theme-toggle { border-color:#46545e; background:#1d282f; color:#e5edf1; }
body[data-ui-theme="dark"] .workspace, body[data-ui-theme="dark"] .controls, body[data-ui-theme="dark"] .resume-picker,
body[data-ui-theme="dark"] .result-header, body[data-ui-theme="dark"] .result-actions,
body[data-ui-theme="dark"] .theme-switch, body[data-ui-theme="dark"] .mode-option,
body[data-ui-theme="dark"] .work-choice, body[data-ui-theme="dark"] .photo-thumb,
body[data-ui-theme="dark"] .photo-upload-btn, body[data-ui-theme="dark"] .editor-card,
body[data-ui-theme="dark"] .add-item-btn, body[data-ui-theme="dark"] .resume-option,
body[data-ui-theme="dark"] .chip-add-btn, body[data-ui-theme="dark"] .highlights-toggle,
body[data-ui-theme="dark"] .log-toggle, body[data-ui-theme="dark"] .delete-cancel-btn,
body[data-ui-theme="dark"] .toast { background-color:#1e272d; color:var(--ink); }
body[data-ui-theme="dark"] .result-panel { background:#182127; }
body[data-ui-theme="dark"] .mode-option.is-selected, body[data-ui-theme="dark"] .resume-option[aria-pressed="true"],
body[data-ui-theme="dark"] .resume-option:hover, body[data-ui-theme="dark"] .resume-option-create:hover,
body[data-ui-theme="dark"] .photo-upload-btn:hover, body[data-ui-theme="dark"] .chip-add-btn:hover,
body[data-ui-theme="dark"] .add-item-btn:hover { background:#263a3b; }
body[data-ui-theme="dark"] .theme-option.is-selected { background:#43525c; color:#fff; }
body[data-ui-theme="dark"] .toggle-row span, body[data-ui-theme="dark"] .accent-row,
body[data-ui-theme="dark"] label, body[data-ui-theme="dark"] .work-toggle b,
body[data-ui-theme="dark"] .resume-picker-title { color:#c8d2d9; }
body[data-ui-theme="dark"] input, body[data-ui-theme="dark"] textarea, body[data-ui-theme="dark"] select,
body[data-ui-theme="dark"] .resume-option, body[data-ui-theme="dark"] .delete-dialog,
body[data-ui-theme="dark"] .delete-cancel-btn { background-color:#182127; color:var(--ink); }
body[data-ui-theme="dark"] .resume-option-create { color:var(--teal); }
body[data-ui-theme="dark"] .chip-selector span { background:#1e272d; color:var(--muted); }
body[data-ui-theme="dark"] .chip-selector input:checked + span { background:#3d3520; color:#f0d58a; }
body[data-ui-theme="dark"] .empty-state p, body[data-ui-theme="dark"] .delete-dialog-copy strong { color:var(--ink); }
body[data-ui-theme="dark"] .new-preview-theme-picker { background:#1e272d; }
body[data-ui-theme="dark"] .new-preview-theme-picker label { color:var(--ink); }
body[data-ui-theme="dark"] .theme-default-action { background:#1e272d; color:var(--teal); }
body[data-ui-theme="dark"] .theme-default-action:disabled { background:#1e3027; color:#a8ddba; border-color:#47745a; }
body[data-ui-theme="dark"] .ai-fill-panel, body[data-ui-theme="dark"] .env-banner { background:#382f1a; color:#efd58d; }
body[data-ui-theme="dark"] .delete-dialog { border-color:var(--line); }
body[data-ui-theme="dark"] .delete-cancel-btn { border-color:var(--line); }
body[data-ui-theme="dark"] .compare-resume-btn { border-color:#467b77; background:#203533; color:#a7e0da; }
body[data-ui-theme="dark"] .linked-draft-banner { border-color:#47745a; background:#1e3027; }
body[data-ui-theme="dark"] .linked-draft-banner p { color:#b4e2c3; }
body[data-ui-theme="dark"] .linked-draft-controls button { border-color:#47745a; background:#1e272d; color:#b4e2c3; }
body[data-ui-theme="dark"] .promote-diff-summary { background:#1e3027; color:#a8ddba; }
body[data-ui-theme="dark"] .promote-preview-pane { background:#1e272d; }
.ui-theme-toggle { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0 12px; border:1px solid #45515e; background:#222c38; color:#fff; cursor:pointer; font:600 11px Manrope,sans-serif; }
.ui-theme-toggle svg { width:15px; height:15px; }
.ai-modify-review { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.ai-modify-review.is-hidden, .ai-skill-suggestions.is-hidden { display:none; }
.ai-modify-review h4 { margin:0 0 12px; font-size:13px; }
.ai-modify-stream { max-height:180px; overflow:auto; margin:10px 0 0; padding:9px 11px; border:1px solid var(--line); background:var(--paper); color:var(--muted); font:10px/1.5 "DM Mono",monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-modify-stream.is-hidden { display:none; }
.ai-preview-toggle { display:flex; gap:6px; margin-bottom:14px; }
.ai-preview-toggle button, .ai-modify-cancel { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; padding:7px 10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; font:600 10px Manrope,sans-serif; }
.ai-preview-toggle button.is-selected { border-color:var(--teal); background:#e8f5f2; color:#155c59; }
.ai-preview-toggle svg, .ai-modify-cancel svg { width:14px; height:14px; }
.ai-modify-diff { display:grid; gap:8px; max-height:390px; overflow:auto; }
.ai-review-legend { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 12px; font-size:10px; font-weight:700; }
.ai-review-legend span::before { content:""; display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:currentColor; }
.ai-legend-pending { color:#a85d00; }.ai-legend-refused { color:#b3442c; }.ai-legend-validated { color:#246b4a; }
label.ai-field-pending, label.ai-field-refused, label.ai-field-validated { padding:8px 10px; border-left:3px solid; }
label.ai-field-pending { border-color:#d17b00; background:#fff6e5; }
label.ai-field-refused { border-color:#c64e42; background:#fff0ee; }
label.ai-field-validated { border-color:#36825b; background:#edf8f1; }
label.ai-field-pending input, label.ai-field-pending textarea, label.ai-field-pending select { border-color:#d17b00; }
label.ai-field-refused input, label.ai-field-refused textarea, label.ai-field-refused select { border-color:#c64e42; }
label.ai-field-validated input, label.ai-field-validated textarea, label.ai-field-validated select { border-color:#36825b; }
.ai-field-review { margin:-6px 0 12px; padding:9px; border:1px solid; border-left-width:3px; }
.ai-field-review.ai-field-pending { border-color:#d17b00; background:#fffaf0; }
.ai-field-review.ai-field-refused { border-color:#c64e42; background:#fff7f6; }
.ai-field-review.ai-field-validated { border-color:#36825b; background:#f4fbf6; }
.ai-field-values { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ai-field-value { min-width:0; color:var(--ink); font-size:10px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-field-value b { display:block; margin-bottom:3px; color:var(--muted); font-size:9px; text-transform:uppercase; }
.ai-text-removed { color:#a51d16; background:#ffebe9; }
.ai-text-added { color:#116329; background:#dafbe1; }
.ai-field-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.ai-field-action { display:inline-flex; align-items:center; gap:4px; min-height:30px; padding:5px 7px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; font:600 9px Manrope,sans-serif; }
.ai-field-action svg { width:12px; height:12px; }
.ai-field-action[data-ai-action="validate"] { color:#246b4a; border-color:#8fc7a5; }
.ai-field-action[data-ai-action="refuse"] { color:#a44222; border-color:#dfaa9f; }
.ai-field-action[data-ai-action="reapply"] { color:#946000; border-color:#dfc27f; }
.ai-skill-suggestions { min-width:0; margin:14px 0; padding:10px; border:1px solid #78aaa0; }
.ai-skill-suggestions legend { padding:0 4px; color:var(--teal); font-size:11px; font-weight:800; }
.ai-skill-suggestion { display:flex; align-items:flex-start; gap:8px; margin:8px 0; color:var(--ink); font-size:10px; }
.ai-skill-suggestion input { flex:none; width:auto; margin:2px 0 0; }
.ai-skill-suggestion span { display:block; }
.ai-skill-suggestion small { display:block; margin-top:3px; color:var(--muted); font-size:9px; line-height:1.5; }
.ai-modify-actions { display:grid; gap:8px; margin-top:14px; }
.ai-modify-actions .primary-action { margin-top:0; }
.ai-review-navigator { position:fixed; right:22px; bottom:22px; z-index:20; display:flex; align-items:center; gap:8px; padding:6px; border:1px solid #c4a453; background:var(--paper); color:var(--ink); box-shadow:0 8px 28px #17202d30; }
.ai-review-navigator.is-hidden { display:none; }
.ai-review-navigator button { display:grid; place-items:center; width:34px; height:34px; border:0; background:var(--ink); color:#fff; cursor:pointer; }
.ai-review-navigator button:disabled { opacity:.45; cursor:not-allowed; }
.ai-review-navigator button svg { width:17px; height:17px; }
.ai-review-navigator span { min-width:42px; color:var(--ink); text-align:center; font:700 10px "DM Mono",monospace; }
.ai-field-review.is-current { box-shadow:0 0 0 2px #e76538; scroll-margin:100px; }
body[data-ui-theme="dark"] .ai-review-navigator { border-color:#7a6840; background:#1e272d; }
body[data-ui-theme="dark"] .ai-review-navigator span { color:var(--ink); }
@media (max-width:520px) { .ai-review-navigator { right:12px; bottom:12px; } }
body[data-ui-theme="dark"] .ai-preview-toggle button.is-selected { background:#24403e; color:#b5eee3; }
body[data-ui-theme="dark"] label.ai-field-pending, body[data-ui-theme="dark"] .ai-field-review.ai-field-pending { border-color:#c58835; background:#342d20; }
body[data-ui-theme="dark"] label.ai-field-refused, body[data-ui-theme="dark"] .ai-field-review.ai-field-refused { border-color:#c56b62; background:#352322; }
body[data-ui-theme="dark"] label.ai-field-validated, body[data-ui-theme="dark"] .ai-field-review.ai-field-validated { border-color:#66a980; background:#1e3027; }
body[data-ui-theme="dark"] .ai-text-removed { color:#ffb8b0; background:#542d2b; }
body[data-ui-theme="dark"] .ai-text-added { color:#a5e6b4; background:#21432d; }
body[data-ui-theme="dark"] .ai-field-action { background:#1e272d; }
body[data-ui-theme="dark"] .ai-modify-stream { background:#182127; color:#c8d2d9; }
@media (max-width:520px) {
  main { padding:22px 12px 36px; }
  .intro { margin-bottom:20px; }
  .intro h1 { font-size:30px; line-height:1.08; }
  .intro > p:last-child { margin-top:12px; font-size:13px; line-height:1.55; }
  .workspace { min-height:0; }
  .controls { padding:16px; }
  .tabs { margin:-16px -16px 20px; }
  .tab { height:52px; font-size:11px; }
  .result-header { align-items:flex-start; gap:12px; }
  .result-heading { gap:12px; }
}