/* Shared office preview and worker reader. Brand tokens come from tokens.css. */
.sg-dialog{padding:0;border:1px solid var(--line);border-radius:20px;width:min(860px,calc(100vw - 32px));height:min(920px,calc(100dvh - 32px));max-width:none;max-height:none;color:var(--text);background:var(--surface);box-shadow:0 24px 80px color-mix(in srgb,var(--ink) 25%,transparent);overflow:hidden;font-family:var(--font-brand,Manrope,sans-serif)}
.sg-dialog::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}.sg-dialog[open]{display:flex;flex-direction:column}.sg-dialog.sg-confirm{height:auto;max-width:560px;max-height:90dvh;overflow:auto;margin:auto;border-radius:18px}.sg-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);flex:none}.sg-header-title{flex:1;font-weight:750}.sg-main{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scroll-padding-top:16px}.sg-library,.sg-reader{max-width:740px;margin:auto;padding:28px 24px 44px;overflow-wrap:anywhere}.sg-library h1,.sg-reader h1{font-size:30px;line-height:1.25;margin:8px 0 12px;letter-spacing:-.6px}.sg-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}.sg-intro{font-size:17px;line-height:1.65;white-space:pre-line;margin:12px 0 20px}.sg-meta{font-size:12px;line-height:1.6;color:var(--muted)}.sg-notice{font-size:13px;line-height:1.6;background:var(--surface-2);padding:14px 16px;border-radius:12px;border:1px solid var(--line);margin:16px 0}.sg-context{font-size:13px;font-weight:700;color:var(--gold-ink)}
.sg-btn{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:700;min-height:44px;padding:10px 14px;cursor:pointer}.sg-btn.sg-primary{background:var(--gold-grad);border-color:var(--brand-700);color:var(--surface)}.sg-btn:disabled{opacity:.55;cursor:default}.sg-btn[hidden]{display:none}.sg-btn:focus-visible,.sg-card:focus-visible,.sg-jumps a:focus-visible,.sg-search :focus-visible,.sg-editor :focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
.sg-search{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:22px 0 14px}.sg-search label,.sg-editor label{display:block;font-size:13px;font-weight:700}.sg-search input,.sg-search select,.sg-editor input,.sg-editor textarea,.sg-editor select{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px;min-height:46px}.sg-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sg-card{display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;min-width:0;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere}.sg-card:hover{border-color:var(--gold);background:var(--gold-soft)}.sg-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sg-tag{padding:4px 8px;border-radius:6px;background:var(--surface-2);font-size:11px;font-weight:800}.sg-relevant{font-size:11px;font-weight:800;color:var(--gold-ink)}.sg-card-title{font-size:18px;font-weight:800;line-height:1.4}.sg-card-summary{font-size:13px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sg-card .sg-meta{margin-top:auto}.sg-empty{grid-column:1/-1;padding:30px 16px;text-align:center;background:var(--surface-2);border-radius:12px}.sg-empty h2{font-size:18px}.sg-empty p{line-height:1.6}
.sg-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.sg-jumps a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:750;text-decoration:none;color:var(--text)}.sg-section{margin:28px 0}.sg-section h2{font-size:20px;margin:0 0 14px;letter-spacing:-.3px}.sg-section ul{padding-left:24px;margin:0}.sg-section ul li{padding:4px 0;font-size:16px;line-height:1.7;white-space:pre-line}.sg-warning,.sg-stop{padding:20px;border-radius:14px;background:var(--gold-soft);border:1px solid var(--gold)}.sg-stop{background:var(--danger-soft);border-color:var(--danger);color:var(--ink)}.sg-steps{list-style:none;padding:0;margin:0}.sg-steps>li{display:flex;gap:16px;padding:24px 0;border-top:1px solid var(--line)}.sg-step-number{display:flex;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold-ink);font-size:16px;font-weight:800;width:36px;height:36px;border-radius:50%;flex:none}.sg-step-body{min-width:0;flex:1}.sg-step-body h3{font-size:18px;margin:3px 0 10px;line-height:1.4}.sg-step-body p{font-size:17px;line-height:1.75;white-space:pre-line;margin:0}.sg-step-body figure{margin:18px 0 0}.sg-photo{border-radius:12px;overflow:hidden;min-height:90px;background:var(--surface-2);font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center}.sg-photo img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}.sg-step-body figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding-top:8px}
.sg-editor{font-family:var(--font-brand,Manrope,sans-serif)}.sg-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.sg-toolbar h2{flex:1;margin:0;font-size:20px}.sg-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sg-editor-grid .sg-wide{grid-column:1/-1}.sg-editor fieldset{border:1px solid var(--line);border-radius:14px;margin:20px 0;padding:18px;min-width:0}.sg-editor legend{font-weight:800;padding:0 6px}.sg-editor-step{padding:18px;margin:14px 0;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}.sg-editor-step label{margin:12px 0}.sg-editor-step .sg-toolbar{margin:0}.sg-editor textarea{line-height:1.65;resize:vertical}.sg-editor .sg-error{white-space:pre-line;color:var(--danger);line-height:1.6}.sg-office-list{display:grid;gap:10px}.sg-office-row{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px}.sg-office-row>div{flex:1;min-width:0}.sg-office-row strong{display:block;font-size:16px}.sg-office-row .sg-meta{margin:6px 0 0}.sg-editor input[type=file]{padding:10px}.sg-office-tabs{display:flex;gap:8px;flex-wrap:wrap}.sg-office-tabs .sg-btn[aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-ink)}
@media(max-width:600px){.sg-dialog{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.sg-header{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.sg-library,.sg-reader{padding:24px 18px max(32px,env(safe-area-inset-bottom))}.sg-library h1,.sg-reader h1{font-size:27px}.sg-cards,.sg-search,.sg-editor-grid{grid-template-columns:1fr}.sg-editor-grid .sg-wide{grid-column:auto}.sg-step-number{width:30px;height:30px}.sg-steps>li{gap:12px}.sg-step-body p{font-size:17px}.sg-jumps a{flex:1;justify-content:center;text-align:center}.sg-office-row{align-items:flex-start;flex-wrap:wrap}.sg-editor fieldset{padding:12px}.sg-editor-step{padding:12px}}

/* Office authoring: the reader keeps its simpler layout and existing type scale. */
.sg-step-media{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.sg-step-media h4{font-size:14px;margin:0 0 12px}.sg-video{margin:18px 0}.sg-video-player{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.sg-video-player .sg-btn{display:inline-flex;align-items:center;text-decoration:none;max-width:100%;box-sizing:border-box}.sg-video video{display:block;width:100%;max-height:480px;margin-top:14px;border-radius:10px;background:var(--ink)}.sg-video .sg-meta,.sg-transcript p{font-size:13px;line-height:1.6;white-space:pre-line;margin:10px 0 0}.sg-video figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding-top:8px}.sg-transcript{margin-top:12px}.sg-transcript summary{cursor:pointer;font-size:14px;font-weight:700;min-height:44px;display:flex;align-items:center}.sg-transcript summary:focus-visible,.sg-video .sg-btn:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
.sg-office-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;margin:20px 0;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.sg-office-hero h2{font-size:28px;letter-spacing:-.6px;margin:8px 0}.sg-office-hero p{font-size:15px;line-height:1.7;max-width:580px;color:var(--muted);margin:0}.sg-office-hero>.sg-btn{flex:none}
.sg-office-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sg-stat{font:inherit;display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);padding:18px;cursor:pointer;min-height:90px}.sg-stat strong{font-size:27px;line-height:1.2}.sg-stat span{font-size:12px;color:var(--muted)}.sg-stat[aria-pressed=true]{border-color:var(--gold-ink);background:var(--gold-soft)}
.sg-office-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:24px 0 12px}.sg-office-filters label{font:700 13px var(--font-brand)}.sg-office-filters input,.sg-office-filters select{font:inherit;font-size:16px;display:block;width:100%;box-sizing:border-box;min-width:0;min-height:46px;margin-top:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:12px}
.sg-office-row{background:var(--surface);padding:20px;align-items:center}.sg-office-row strong{font-size:17px;margin-top:9px}.sg-row-actions{display:flex;gap:8px;flex-wrap:wrap}.sg-office-row .sg-tag{display:inline-block;font-size:11px;line-height:1.5}.sg-state-published{color:var(--ok);background:var(--ok-soft)}.sg-state-draft,.sg-state-review{color:var(--gold-ink);background:var(--gold-soft)}.sg-state-archived{color:var(--muted);background:var(--surface-2)}
.sg-author-dialog{width:min(960px,calc(100vw - 32px))}.sg-author-dialog .sg-library.sg-editor{max-width:820px;padding-bottom:18px}.sg-author-intro{margin-bottom:20px}.sg-author-section{padding:20px 0;scroll-margin-top:82px}.sg-author-section h3,.sg-author-review h3{font-size:21px;letter-spacing:-.3px;margin:0 0 8px}.sg-author-section>.sg-meta{margin-bottom:18px}.sg-editor fieldset{scroll-margin-top:82px}.sg-editor fieldset>label{margin:16px 0}.sg-editor label textarea::placeholder,.sg-editor label input::placeholder{color:var(--faint);font-size:14px;line-height:1.6;opacity:1}
.sg-editor-nav{position:sticky;top:0;z-index:2;display:flex;gap:6px;flex-wrap:wrap;padding:10px 0;background:var(--surface);border-bottom:1px solid var(--line)}.sg-editor-nav .sg-btn{font-size:12px;padding:9px 10px;flex:1;white-space:nowrap}
.sg-starters,.sg-paste{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-2);margin:18px 0}.sg-starters summary,.sg-paste summary{font-size:14px;font-weight:750;cursor:pointer;min-height:28px;padding:4px 0}.sg-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sg-template{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer}.sg-template strong{font-size:14px}.sg-template span{font-size:12px;line-height:1.6;color:var(--muted)}.sg-template:hover{border-color:var(--gold-ink)}.sg-paste label{margin:16px 0}.sg-paste-preview{max-height:240px;overflow:auto;white-space:pre-line;font-size:14px;line-height:1.7;padding-left:25px}.sg-paste-preview li{padding:6px 0}
.sg-author-review{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);scroll-margin-top:82px}.sg-author-review [data-review]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.sg-review-item{display:flex;align-items:flex-start;gap:10px;min-width:0;text-align:left;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface);color:var(--text);font:700 13px var(--font-brand);cursor:pointer;min-height:60px}.sg-review-item small{display:block;font-size:11px;color:var(--muted);font-weight:500;line-height:1.5;margin-top:4px}.sg-review-mark{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-weight:800}.sg-review-done{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.sg-editor-footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:16px;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 -8px 24px color-mix(in srgb,var(--ink) 6%,transparent);padding:16px;margin:24px 0 0}.sg-editor-footer>div:first-child{flex:1;min-width:0}.sg-editor-footer strong{display:block;font-size:12px;line-height:1.5}.sg-editor-footer small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}.sg-footer-actions{display:flex;gap:8px;flex-wrap:wrap}.sg-editor-footer .sg-btn{font-size:13px}.sg-stat:focus-visible,.sg-template:focus-visible,.sg-review-item:focus-visible,.sg-office-filters :focus-visible,.sg-starters summary:focus-visible,.sg-paste summary:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
@media(max-width:700px){.sg-office-filters{grid-template-columns:1fr 1fr}.sg-office-filters label:first-child{grid-column:1/-1}.sg-office-hero{align-items:flex-start;flex-direction:column;padding:20px}.sg-office-hero h2{font-size:24px}.sg-office-stats{grid-template-columns:1fr 1fr}.sg-stat{padding:14px}.sg-office-row{padding:16px;flex-wrap:wrap}.sg-row-actions{width:100%}.sg-row-actions .sg-btn{flex:1}.sg-template-grid{grid-template-columns:1fr}.sg-author-review [data-review]{grid-template-columns:1fr}.sg-author-review{padding:16px}.sg-editor-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.sg-editor-nav .sg-btn{flex:none}.sg-editor-footer{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.sg-footer-actions .sg-btn{flex:1}.sg-editor-footer small{display:none}}
.sg-author-dialog{margin:auto}
@media(max-width:600px){.sg-author-dialog{width:100vw;margin:0}.sg-author-dialog .sg-library.sg-editor{padding:18px 16px max(16px,env(safe-area-inset-bottom))}.sg-editor-footer{bottom:0}.sg-author-section,.sg-editor fieldset,.sg-author-review{scroll-margin-top:70px}}
