/* A quiet default path; the full studio remains available on request. */
.simple-details { margin:18px 0; border-top:1px solid #dce0d4; border-bottom:1px solid #dce0d4; border-radius:0; background:transparent; }
.simple-details > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:52px; padding:13px 0; color:#40543e; font-size:13px; font-weight:500; cursor:pointer; list-style:none; }
.simple-details > summary::-webkit-details-marker { display:none; }
.simple-details > summary::after { content:'＋'; flex:none; font-size:18px; font-weight:400; color:#7d8b70; }
.simple-details[open] > summary::after { content:'−'; }
.simple-details > summary > span { margin-left:auto; color:#7a806e; font-size:11px; font-weight:400; }
.simple-details[open] { padding-bottom:18px; }
.simple-details :is(input,textarea,select) { max-width:100%; }
.simple-details .simple-details { margin-block:10px; }
#shopVisitDetails { margin-top:16px; }
#shopVisitDetails .shop-profile-preview { margin-bottom:16px; }
#menuFactFields > .upload-heading { margin-top:24px; }
#menuFactFields > label[for=menu] { margin-top:20px; }
#menuFactFields > label[for=note] { margin-top:22px; }
#menuFactFields > #note { min-height:100px; }
.dictation-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:7px; }
.dictation-tools .text-button { min-height:44px; padding:8px 12px; border:1px solid #d8ddcc; border-radius:6px; }
.dictation-tools [aria-pressed=true] { background:#e5ebdd; border-color:#7b8c6b; }
.dictation-tools .helper { flex:1 1 190px; margin:0; }
.dictation-tools [hidden],#manualPostPanel[hidden],#otherChannelExports[hidden] { display:none!important; }
#promotionPurposeDetails .promotion-chooser { margin-top:4px; }
#promotionPurposeDetails .promotion-options { margin-bottom:18px; }
.selected-result-heading { margin-top:24px; }
.alternative-designs { margin:5px 0 22px; }
.alternative-designs .creative-proposals { margin-top:18px; }
.output-options { margin-top:5px; }
.output-options .output-switch { margin:6px 0; }
#copyOptions { max-width:760px; margin-inline:auto; }
#copyOptions .copy-editor { border:0; margin:0; padding:12px 0; background:transparent; }
.post-readiness-checks,.post-readiness-metrics { display:none; }
.post-readiness { padding:14px 0; border:0; background:transparent; }
.post-readiness h3 { font-size:14px; }
.post-readiness-next { padding:12px 14px; }
.manual-post { margin:24px 0 10px; padding:25px 24px; background:#f6f5ed; border:1px solid #d8ddce; border-radius:8px; }
.manual-post > .eyebrow { color:#8a785e; font-size:9px; letter-spacing:.12em; }
.manual-post h3 { margin:10px 0 9px; font-family:var(--display); font-size:24px; font-weight:400; color:#354b38; line-height:1.5; word-break:keep-all; }
.manual-post-intro { margin:0; color:#777c6b; font-size:12px; line-height:1.8; word-break:keep-all; }
.manual-post-steps { display:grid; gap:0; list-style:none; margin:20px 0 8px; padding:0; }
.manual-post-steps > li { display:grid; grid-template-columns:23px minmax(0,1fr); gap:13px; padding:14px 0; border-top:1px solid #dfe2d7; }
.manual-step-number { padding-top:13px; font:400 13px Georgia,serif; color:#8f7c5e; }
.manual-post-steps .primary,.manual-post-steps .secondary { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px 15px; font-size:14px; text-decoration:none; text-align:center; box-sizing:border-box; }
.manual-post-steps p { margin:7px 0 0; color:#7d826f; font-size:11px; line-height:1.8; }
.manual-post-next { margin:14px 0 0; color:#40583c; font-size:12px; line-height:1.85; }
.manual-phone-help { margin-top:16px; padding-top:12px; border-top:1px solid #dfe2d7; color:#7a806e; font-size:11px; line-height:1.9; }
.manual-phone-help > summary { min-height:32px; cursor:pointer; }
.manual-phone-help p { margin:8px 0 0; }
#additionalPublishing { margin-top:24px; }
#additionalPublishing > summary { font-size:12px; color:#747d67; }
#additionalPublishing .publish-kit { margin-top:12px; }
#additionalPublishing .instagram-publish { margin-bottom:0; }
.simple-details > summary:focus-visible,.manual-post :is(a,button,summary):focus-visible { outline:2px solid #8b744f; outline-offset:4px; }
@media (min-width:980px) {
 body[data-output=online] .completion-workspace { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.85fr); align-items:start; gap:32px; }
 body[data-output=online] .completion-workspace > .export-panel { margin-top:0; padding:22px; }
 body[data-output=online] .completion-workspace > .result-body { min-width:0; }
 body[data-output=online] .completion-workspace .social-preview { max-width:100%; }
}
@media (max-width:600px) {
 .simple-details > summary { font-size:12px; gap:8px; }
 .simple-details > summary > span { font-size:10px; }
 .alternative-designs > summary > span { display:none; }
 .manual-post { padding:20px 16px; margin-top:20px; }
 .manual-post h3 { font-size:22px; }
 .manual-post-steps > li { gap:8px; }
 .dictation-tools .helper { font-size:11px; }
}


/* Native file sharing keeps the saved-file route within reach. */
.manual-post [hidden] { display:none!important; }
.manual-post-fallback { margin:0; padding:0; border:0; background:transparent; }
.manual-post-fallback > summary { min-height:44px; display:flex; align-items:center; color:#69785c; font-size:12px; cursor:pointer; }
.manual-post-fallback .manual-post-steps { margin-top:0; }
.manual-post[data-native-share=true] .manual-post-fallback { border-top:1px solid #dfe2d7; margin-top:14px; }
.manual-post[data-native-share=true] .manual-post-fallback .manual-step-number { visibility:hidden; }
.manual-post[data-native-share=true] .manual-post-fallback .primary { background:transparent; color:#40543e; border:1px solid #aebaa1; }
#retryShareImages { min-height:44px; padding:8px 0; color:#40543e; text-decoration:underline; text-underline-offset:4px; }
#mobileShareStatus { color:#40583c; }
#shareImages[aria-busy=true] { cursor:progress; }


/* Return visits start with the owner's own material, without extra setup. */
.recent-promotions { margin:36px 0 44px; padding:28px 0; border-top:1px solid #dce0d4; border-bottom:1px solid #dce0d4; }
.recent-promotions[hidden],.archive-reuse-notice[hidden] { display:none!important; }
.recent-promotions-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.recent-promotions-heading h3 { margin:8px 0; font-family:var(--display); font-size:25px; font-weight:400; color:#354b38; }
.recent-promotions-heading p { margin:0; font-size:12px; color:#69745e; line-height:1.8; word-break:keep-all; }
.recent-promotions-heading > a { flex:none; padding:14px 0; font-size:12px; color:#40543e; text-decoration:none; }
.recent-promotion-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.recent-promotion { display:flex; align-items:center; gap:14px; min-width:0; padding:12px; text-align:left; color:#354b38; background:#f6f5ed; border:1px solid #d8ddce; border-radius:7px; cursor:pointer; font:inherit; }
.recent-promotion-picture { display:flex; align-items:center; justify-content:center; flex:0 0 82px; height:108px; overflow:hidden; border-radius:3px; background:#e8eadf; }
.recent-promotion-picture img { width:100%; height:100%; object-fit:cover; }
.recent-promotion-text-only { font-family:var(--display); font-size:26px; color:#75836b; }
.recent-promotion-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
.recent-promotion-copy strong { font-size:15px; font-weight:500; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-promotion-store { font-size:11px; color:#69745e; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-promotion-date { font-size:10px; line-height:1.6; color:#707660; }
.recent-promotion-action { font-size:11px; color:#40583c; }
.recent-promotion:hover { border-color:#9eae92; }
.recent-promotion:disabled { opacity:.6; cursor:wait; }
.recent-promotion:focus-visible,.recent-promotions a:focus-visible,.archive-manage > summary:focus-visible { outline:2px solid #8b744f; outline-offset:4px; }
.archive-reuse-notice { margin:4px 0 24px; padding:18px 20px; border-left:2px solid #9cae8d; background:#f2f3e9; }
.archive-reuse-notice h3 { margin:8px 0; font-family:var(--display); color:#354b38; font-size:21px; font-weight:400; }
.archive-reuse-notice p { margin:0; color:#59674f; font-size:12px; line-height:1.9; word-break:keep-all; }
.archive-manage { margin-top:14px; border-top:1px solid #dce0d4; }
.archive-manage > summary { min-height:44px; display:flex; align-items:center; font-size:11px; color:#717c65; cursor:pointer; }
.archive-more-actions { margin-top:0; }
@media (max-width:900px) { .recent-promotion-items { grid-template-columns:1fr; } .recent-promotion-picture { flex-basis:70px; height:82px; } .recent-promotion-copy { gap:4px; } }
@media (max-width:600px) { .recent-promotions-heading { align-items:flex-start; gap:12px; } .recent-promotions-heading h3 { font-size:22px; } .recent-promotions-heading > a { font-size:11px; padding-top:24px; } .recent-promotions { margin:26px 0 30px; padding:22px 0; } }

/* One useful idea, followed by one clear action. */
.today-story { margin:30px 0 20px; padding:30px 34px; border:1px solid #d8ddce; background:#eeefe4; color:#354b38; }
.today-story[hidden],.today-story [hidden],.story-compose-notice[hidden] { display:none!important; }
.today-story-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 22px; margin-bottom:20px; }
.today-story-heading .eyebrow { color:#737c64; font-size:10px; letter-spacing:.12em; }
.today-story-heading h2 { margin:0; font-size:13px; font-weight:400; color:#637157; }
.today-story-content { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.today-story-copy { max-width:700px; min-width:0; }
.today-story-copy h3 { margin:8px 0 12px; font-family:var(--display); font-size:clamp(24px,2.4vw,32px); line-height:1.6; font-weight:400; word-break:keep-all; }
.today-story-copy p { margin:8px 0; line-height:1.85; font-size:13px; word-break:keep-all; overflow-wrap:anywhere; }
.today-story-copy .today-story-reason { font-size:11px; color:#6e7963; }
.today-story-copy .today-story-photo-hint { margin-top:15px; font-size:12px; color:#64745b; }
.today-story-actions { display:flex; flex-direction:column; align-items:stretch; gap:13px; }
.today-story-actions > .primary { min-height:50px; padding:15px 23px; font-size:13px; white-space:nowrap; }
.today-story-actions > div { display:flex; justify-content:center; gap:22px; }
.today-story .text-button { min-height:44px; font-size:12px; color:#56694e; }
.today-story :is(button):focus-visible { outline:2px solid #8b744f; outline-offset:4px; }
.today-story button:disabled { cursor:wait; opacity:.6; }
.today-story-status { margin:12px 0 0; font-size:12px; line-height:1.8; color:#56694e; }
.today-story-status:empty { display:none; }
.today-story-paused { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.today-story-paused p { margin:0; font-size:13px; line-height:1.8; word-break:keep-all; }
.story-compose-notice .story-compose-photo-hint { margin:12px 0 6px; }
@media (max-width:800px) {
 .today-story { padding:24px; }
 .today-story-content { grid-template-columns:1fr; gap:18px; }
 .today-story-actions { align-items:flex-start; }
 .today-story-actions > div { justify-content:flex-start; }
}
@media (max-width:480px) {
 .today-story { margin:20px 0; padding:22px 18px; }
 .today-story-heading { gap:8px; flex-direction:column; margin-bottom:14px; }
 .today-story-actions,.today-story-actions > .primary { width:100%; }
 .today-story-actions > div { justify-content:center; }
 .today-story-paused { align-items:flex-start; flex-direction:column; gap:8px; }
}

/* A quiet opt-in below the daily idea; the owner chooses the device and cadence. */
.story-reminder { margin-top:20px; border-top:1px solid #d3d9c9; }
.story-reminder summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:44px; padding-top:7px; color:#40543e; font-size:13px; cursor:pointer; list-style:none; }
.story-reminder summary::-webkit-details-marker { display:none; }
.reminder-summary-aside { display:inline-flex; align-items:center; gap:10px; font-size:11px; color:#65725b; }
.reminder-summary-aside i { position:relative; display:inline-block; width:12px; height:12px; }
.reminder-summary-aside i::before,.reminder-summary-aside i::after { content:""; position:absolute; left:1px; top:6px; width:10px; border-top:1px solid currentColor; }
.reminder-summary-aside i::after { transform:rotate(90deg); }
.story-reminder[open] .reminder-summary-aside i::after { display:none; }
.story-reminder-inner { max-width:670px; padding:5px 0 6px; }
.story-reminder-intro { margin:2px 0 15px; font-size:13px; color:#3f533d; line-height:1.8; }
.story-reminder-fields { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 22px; }
.story-reminder-fields fieldset { min-width:0; padding:0; border:0; margin:0; }
.story-reminder-fields legend,.story-reminder-fields .reminder-hour { display:block; font-size:13px; color:#344933; margin:0; }
.story-reminder-fields small { margin-left:4px; font-weight:400; font-size:11px; color:#65725b; }
.reminder-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; margin-top:7px; }
.reminder-week label { position:relative; display:block; margin:0; cursor:pointer; }
.reminder-week input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.reminder-week span { display:grid; place-items:center; min-width:32px; min-height:44px; border:1px solid #c5cfbc; color:#4a6045; font-size:13px; border-radius:4px; background:#f8f8ef; }
.reminder-week input:checked + span { background:#40543e; border-color:#40543e; color:white; }
.reminder-week input:focus-visible + span,.story-reminder summary:focus-visible { outline:2px solid #8b744f; outline-offset:3px; }
.story-reminder .reminder-hour select { margin-top:7px; min-height:44px; min-width:122px; background-color:#f8f8ef; }
.story-reminder-status,.story-reminder-calendar-hint { font-size:12px; color:#51624a; line-height:1.8; word-break:keep-all; }
.story-reminder-status { margin:15px 0 10px; }
.story-reminder-calendar-hint { margin:9px 0 0; font-size:11px; }
.story-reminder-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.story-reminder-buttons button { min-height:44px; }
@media (max-width:520px) { .story-reminder-fields { display:grid; } .reminder-week span { min-width:0; } .reminder-hour select { display:block; } .story-reminder-status { margin-top:12px; } }
