/* v5.14: contextual writing help and advisory pre-download review.
   Scoped to new UI; no changes to the desktop preview width or document styles. */
.writing-slot { grid-column:1/-1; min-width:0; }
.writing-tools { margin:12px 0 8px; border:1px solid #c6d8ce; border-radius:12px; background:#f6f9f6; color:var(--ui-text,#18271f); }
.writing-tools>summary { display:flex; gap:9px; align-items:center; padding:13px 15px; list-style:none; cursor:pointer; color:#205b50; font-size:15px; font-weight:650; min-height:46px; }
.writing-tools>summary::-webkit-details-marker { display:none; }
.writing-summary-chevron { margin-left:auto; display:flex; }
.writing-tools[open] .writing-summary-chevron { transform:rotate(180deg); }
.writing-panel { padding:0 15px 15px; min-width:0; }
.writing-note,.writing-context,.writing-placeholder-note,.writing-local { font-size:14px; line-height:1.55; color:#3d5145; margin:0 0 12px; }
.writing-context { margin:8px 0 14px; }
.writing-role-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center; }
.writing-role-row label { font-size:14px; font-weight:650; }
.writing-role-row select { font-size:15px; padding:9px 30px 9px 10px; width:100%; min-width:0; min-height:43px; color:#18271f; background-color:white; border:1px solid #a2b1a7; border-radius:8px; }
.writing-segments { display:flex; padding:3px; background:#e5eee8; border-radius:8px; gap:3px; margin-bottom:12px; }
.writing-segments button { flex:1; padding:9px 8px; min-height:40px; border:0; border-radius:6px; font:inherit; font-size:14px; color:#3d5145; background:transparent; cursor:pointer; }
.writing-segments button[aria-pressed=true] { background:white; color:#163e35; font-weight:650; box-shadow:0 1px 3px #14362a19; }
.writing-tense { display:flex; align-items:center; gap:8px; font-size:13px; line-height:1.5; color:#3d5145; margin-bottom:14px; }
.writing-tense input { accent-color:#24645e; width:17px; height:17px; flex:none; }
.writing-ideas { display:grid; gap:9px; }
.writing-idea { display:flex; align-items:flex-start; gap:12px; background:white; padding:13px; border:1px solid #dce6df; border-radius:9px; }
.writing-idea p { flex:1; margin:0; color:#263d32; line-height:1.6; font-size:15px; overflow-wrap:anywhere; }
.writing-add { display:inline-flex; align-items:center; justify-content:center; gap:4px; flex:none; min-width:64px; min-height:38px; padding:6px 8px; color:#205b50; border:1px solid #bfd1c6; background:#f6faf7; border-radius:7px; font:inherit; font-size:13px; font-weight:650; cursor:pointer; }
.writing-add:disabled { opacity:1; color:#526358; background:#edf2ef; border-color:transparent; cursor:default; }
.writing-local { font-size:12px; margin:14px 0 0; color:#526358; }
.writing-improve { gap:6px; margin:5px 0 12px; min-height:36px; font-size:14px; }
.writing-undo { margin-top:12px; font-size:14px; min-height:34px; text-decoration:underline; text-underline-offset:3px; }
.writing-skill-list { display:flex; gap:8px; flex-wrap:wrap; }
.writing-skill { display:inline-flex; gap:6px; align-items:center; max-width:100%; padding:9px 11px; min-height:40px; font:inherit; font-size:14px; color:#205b50; border:1px solid #b8cdbf; border-radius:8px; background:white; cursor:pointer; }
.writing-skill svg { flex:none; }
.writing-skill:disabled { color:#526358; border-color:#dce6df; background:#eaf1ec; opacity:1; cursor:default; }
.writing-summary-card { padding:15px; border:1px solid #dce6df; background:white; border-radius:9px; }
.writing-summary-card h4 { margin:0 0 8px; font-size:15px; color:#18271f; }
.writing-summary-card p { font-size:15px; line-height:1.65; color:#3d5145; margin:0 0 10px; }
.writing-summary-card .text-button { font-size:14px; text-align:left; line-height:1.5; }
.writing-dialog-intro { color:#3d5145; line-height:1.65; }
.writing-comparison { display:grid; grid-template-columns:1fr; gap:18px; margin-block:18px; }
.writing-comparison h3 { font-size:15px; margin:0 0 8px; font-weight:650; color:#3d5145; }
.writing-before { white-space:pre-wrap; overflow-wrap:anywhere; background:#f1f5f2; border:1px solid #dce6df; border-radius:8px; padding:14px; max-height:200px; overflow:auto; line-height:1.6; font-size:15px; color:#3d5145; }
#writing-proposal { width:100%; box-sizing:border-box; font-size:16px; line-height:1.65; min-height:200px; }
.writing-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin:18px 0 2px; }
.review-download-dialog { width:760px; }
.review-introduction { display:flex; gap:12px; align-items:flex-start; background:#eff5f0; border:1px solid #dce6df; padding:18px; border-radius:12px; margin-bottom:18px; }
.review-introduction>svg { flex:none; color:#24645e; margin-top:2px; }
.review-introduction h3 { margin:0 0 7px; font-size:18px; color:#18271f; line-height:1.4; }
.review-introduction p { margin:0; font-size:15px; line-height:1.6; color:#3d5145; }
.review-suggestions>h3,.review-required-group>h3 { font-size:16px; color:#18271f; margin:20px 0 12px; display:flex; align-items:center; gap:8px; }
.review-suggestions>h3>span,.review-required-group>h3>span { background:#ecf1ed; font-size:12px; padding:3px 7px; border-radius:6px; }
.resume-review-item { display:flex; gap:11px; margin-bottom:10px; padding:14px; border:1px solid #e1d8c3; border-radius:10px; background:#fcfaf4; }
.review-item-icon { color:#77552b; flex:none; display:flex; margin-top:2px; }
.resume-review-item h4 { font-size:15px; margin:0 0 5px; color:#26382e; line-height:1.4; }
.resume-review-item p { font-size:14px; margin:0 0 5px; line-height:1.6; color:#4c4e3f; overflow-wrap:anywhere; }
.resume-review-item .text-button { font-size:14px; min-height:32px; }
.review-required { border-color:#e3c2b9; background:#fff7f4; }
.review-required .review-item-icon { color:#923e30; }
.review-more { margin:10px 0 16px; }
.review-more>summary { font-size:14px; font-weight:600; color:#205b50; min-height:40px; cursor:pointer; }
.review-clean,.review-layout-status { font-size:14px; color:#3d5145; line-height:1.65; display:flex; align-items:center; gap:8px; margin:14px 0; flex-wrap:wrap; }
.review-layout-status .spinner { width:14px; height:14px; }
.review-layout-status svg,.review-clean svg { flex:none; color:#24645e; }
.review-limit-note { font-size:13px; line-height:1.6; color:#526358; margin:16px 0 22px; }
.review-format-heading { padding-top:18px; border-top:1px solid #dce6df; }
.review-format-heading h3 { font-size:20px; margin:0 0 7px; color:#18271f; }
.review-format-heading p { color:#3d5145; font-size:15px; margin:0 0 16px; line-height:1.6; }
.review-download-dialog .format-option:disabled { opacity:.55; cursor:not-allowed; }
.review-field-highlight { outline:2px solid #bb9157; outline-offset:7px; border-radius:5px; }
.writing-tools>summary:focus-visible,.writing-panel button:focus-visible { outline:2px solid #24645e; outline-offset:3px; }
@media(max-width:500px) {
  .writing-panel { padding:0 12px 12px; }
  .writing-tools>summary { padding-inline:12px; }
  .writing-role-row { grid-template-columns:1fr; gap:6px; }
  .writing-role-row select { font-size:16px; min-height:46px; }
  .writing-idea { flex-direction:column; gap:7px; }
  .writing-add { align-self:flex-end; min-height:42px; min-width:74px; }
  .writing-note,.writing-context,.writing-placeholder-note { font-size:14px; }
  .writing-dialog-actions { flex-direction:column-reverse; }
  .writing-dialog-actions .button { width:100%; }
  .review-introduction { padding:14px; }
  .resume-review-item { padding:12px; }
  .review-download-dialog .modal-content { padding:18px 16px; }
}

.review-download-dialog .review-limit-note { font-size:13px; line-height:1.6; }
.writing-dialog .writing-note { font-size:14px; line-height:1.6; }
.review-skip { margin-top:8px; font-size:14px; min-height:35px; }
