:root{--paper:#f4f3ee;--ink:#182732;--muted:#69757b;--line:#dcded8;--blue:var(--ws-accent);--yellow:#ffe66a;--white:#fff;--radius:12px;--font:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
/* Workspace roles own application actions; legacy --blue aliases this authority. */
--ws-black:#000;--ws-gray-950:#111;--ws-gray-850:#252525;--ws-gray-700:#444;--ws-gray-600:#626262;--ws-gray-300:#b4b4b4;--ws-gray-200:#dedede;--ws-gray-050:#f5f5f5;--ws-blue-600:#006bd6;--ws-blue-700:#0058b0;
--ws-surface:var(--white);--ws-canvas:var(--white);--ws-text:var(--ws-gray-950);--ws-muted:var(--ws-gray-600);--ws-border:var(--ws-gray-200);--ws-accent:var(--ws-blue-600);--ws-accent-soft:#eef5ff;--ws-accent-hover:var(--ws-blue-700);--ws-hero:var(--ws-gray-950);--ws-hero-muted:var(--ws-gray-300);--ws-focus:#63aaff;--ws-shell:var(--ws-black);--ws-shell-text:var(--white);--ws-shell-muted:var(--ws-gray-300);--ws-shell-hover:var(--ws-gray-850);--ws-shell-border:var(--ws-gray-700);
--ws-space-xs:4px;--ws-space-sm:8px;--ws-space-md:12px;--ws-space-lg:16px;--ws-space-xl:24px;--ws-space-2xl:32px;--ws-space-3xl:40px;
--ws-type-caption:12px;--ws-type-body:14px;--ws-type-label:15px;--ws-type-title:20px;--ws-type-display:34px;--ws-type-hero:44px;--ws-radius-control:2px;--ws-radius-card:0px;--ws-control-height:44px;--ws-header-height:68px;--ws-sidebar-width:216px;--ws-content-width:1240px;--ws-count-accent:var(--ws-text);--ws-shadow:0 12px 32px #18273214;--ws-duration:150ms;--ws-easing:ease-out}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{border:1px solid var(--blue);border-radius:var(--ws-radius-control);background:var(--blue);color:white;padding:11px 16px;font-weight:650;cursor:pointer;transition:background .15s}button:hover{background-color:var(--ws-accent-hover)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ws-focus);outline-offset:3px}input,select,textarea{width:100%;border:1px solid #bdc6c8;border-radius:6px;background:#fff;color:var(--ink);padding:10px 11px}textarea{resize:vertical;line-height:1.75}label{display:block;font-weight:650;font-size:12px;margin:17px 0 7px}h1,h2,p{margin:0}h1{font-size:clamp(30px,3vw,43px);letter-spacing:-1.8px;line-height:1.25;font-weight:700}h2{font-size:18px;letter-spacing:-.6px;line-height:1.5}p{color:var(--muted)}header{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 4vw}.wordmark{font-size:29px;font-weight:850;letter-spacing:-1.5px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:20px}.wordmark span{font-size:10px;letter-spacing:2.5px;border-left:1px solid #b8c0bd;padding-left:20px;font-weight:600}.header-right{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.live-dot{height:7px;width:7px;background:#469576;border-radius:50%}main{max-width:1600px;margin:auto;padding:0 4vw}.intro{display:flex;justify-content:space-between;align-items:center;padding:42px 0 31px}.intro p{margin-top:12px}.eyebrow{font-size:10px;letter-spacing:2.7px;color:var(--blue);font-weight:700;margin-bottom:14px}.demo-note{border-left:2px solid var(--ink);padding-left:17px;font-size:12px;line-height:1.9;color:var(--muted)}.demo-note strong{font-size:11px;color:var(--ink);font-weight:500}.steps{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-bottom:26px;font-size:12px;color:var(--muted)}.steps span{padding:13px 0;border-bottom:2px solid transparent}.steps b{margin-right:9px;font-size:11px}.steps .active{color:var(--blue);border-color:var(--blue)}.workspace{display:grid;grid-template-columns:minmax(245px,.95fr) minmax(370px,1.7fr) minmax(250px,1fr);gap:22px;align-items:start}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:23px}.section-caption{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:15px}.full{width:100%;margin-top:15px}.secondary{background:var(--ws-surface);color:var(--ws-text);border-color:var(--ws-border)}.secondary:hover{background:var(--ws-gray-050);border-color:var(--ws-muted)}.text-button{background:transparent;color:var(--muted);border:0;font-size:11px;padding:7px}.text-button:hover{background:var(--ws-gray-050);color:var(--ws-text)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 7px;border-top:1px solid var(--line);padding-top:18px}.metrics span{font-size:10px;color:var(--muted)}.metrics strong{display:block;font-size:28px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.fine{font-size:11px;line-height:1.75;margin-top:7px}.muted{font-weight:400;font-size:10px;color:var(--muted)}.tone-box{padding:14px;background:#f4f6f6;border-radius:6px;margin-top:20px}.tiny-label{font-size:9px;letter-spacing:1.5px;color:var(--muted);display:block}.tone-box strong{font-size:12px;display:block;margin-top:5px}details{font-size:11px;color:var(--muted);margin-top:10px}summary{cursor:pointer}details ul{padding-left:16px}details li{margin:8px 0}.content-panel{min-height:650px}.empty-state{text-align:center;padding:95px 0}.empty-symbol{font-family:Georgia,serif;font-size:100px;font-style:italic;color:#c9d2ce;letter-spacing:-12px;line-height:1;position:relative;display:inline-block;margin:0 0 40px}.empty-symbol span{position:absolute;font-family:var(--font);font-style:normal;font-size:33px;color:var(--blue);top:-8px;right:-35px;letter-spacing:0}.empty-state p{font-size:12px;line-height:1.9;margin-top:13px}.empty-tags{display:flex;justify-content:center;gap:8px;margin-top:30px}.empty-tags span{border:1px solid var(--line);border-radius:30px;padding:4px 11px;font-size:10px;color:var(--muted)}.result-top{display:flex;justify-content:space-between;gap:7px;flex-wrap:wrap}.badge{background:#edf2ff;color:#234db4;padding:4px 8px;border-radius:3px;font-size:10px;font-weight:650}.status{font-size:10px;color:#826027;padding:4px 0}.channel-tabs{display:flex;border-bottom:1px solid var(--line);margin:25px 0 16px;gap:20px}.channel-tabs button{border:0;background:none;color:var(--muted);padding:10px 0;border-bottom:2px solid transparent;border-radius:0;font-size:12px}.channel-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink)}.review-box{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.review-box>p:first-of-type{font-size:12px;color:var(--ink);margin-top:8px}.checkbox-label{font-weight:400;font-size:11px;display:flex;align-items:start;gap:8px}.checkbox-label input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}.audit p{white-space:pre-wrap;overflow-wrap:anywhere}.preview-panel{padding:23px 0}.preview-panel h2{font-size:16px}.phone{border:6px solid #293741;background:#e3ebee;border-radius:30px;margin-top:24px;overflow:hidden;box-shadow:0 12px 24px #1827320c}.phone-top{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:17px}.phone-top strong{font-size:12px}.phone-content{padding:16px 12px 40px;min-height:330px;display:flex;gap:7px;align-items:start}.sender-avatar{width:29px;height:29px;background:white;border-radius:10px;display:grid;place-items:center;font-size:9px;font-weight:800;flex-shrink:0}.bubble{background:var(--yellow);border-radius:0 9px 9px 9px;padding:14px 12px;min-width:0;flex:1}.bubble strong{font-size:12px;line-height:1.7;display:block;overflow-wrap:anywhere}.bubble p{color:#344146;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;line-height:1.8}.preview-cta{background:#fff8cf;border-radius:4px;padding:9px 4px;text-align:center;font-size:10px;margin-top:16px;color:#625624}.phone-bottom{background:#293741;height:4px;width:70px;border-radius:4px;margin:0 auto 9px}.guard-note{border-top:1px solid var(--line);margin-top:24px;padding-top:15px;font-size:11px}.guard-note b{font-weight:650}.guard-note p{margin-top:7px;line-height:1.8}#notice{position:fixed;top:76px;left:50%;transform:translateX(-50%);margin:0;width:max-content;max-width:min(850px,calc(100vw - 32px));background:var(--ink);color:#fff;padding:12px 18px;border-radius:7px;box-shadow:0 6px 24px #0003;font-size:12px;line-height:1.6;z-index:60;cursor:pointer;user-select:text;overflow-wrap:anywhere}#notice.error{background:#913e38}#notice.error::after{content:" · 눌러서 닫기";opacity:.75}footer{padding:36px 4vw 22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#737d7e}.login-panel{max-width:620px;margin:90px auto 100px;padding:48px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.login-panel h1{font-size:42px;line-height:1.4}.login-panel>p{margin-top:20px}.login-row{display:flex;gap:8px}.login-row button{white-space:nowrap}.login-panel form{margin-top:32px}
@media(min-width:1500px){.workspace{gap:28px}.panel{padding:28px}}
@media(max-width:1100px){.workspace{grid-template-columns:270px minmax(330px,1fr)}.preview-panel{grid-column:2}.phone{max-width:300px}.header-right{font-size:10px}.demo-note{max-width:220px}}
@media(max-width:700px){header{height:68px;padding:0 20px}.wordmark{font-size:25px;gap:10px}.wordmark span{font-size:8px;letter-spacing:1.5px;padding-left:10px}.header-right{font-size:0}.header-right button{font-size:10px}.live-dot{display:none}main{padding:0 18px}.intro{padding:30px 0 20px;display:block}.intro p{font-size:12px}.demo-note{margin-top:22px;max-width:none}.steps{gap:20px;font-size:11px}.steps b{margin-right:4px}.workspace{display:block}.panel{margin-bottom:18px;padding:20px}.content-panel{min-height:460px}.empty-state{padding:65px 0}.preview-panel{padding:15px 4px}.phone{margin:20px auto 0;width:290px;max-width:100%}.login-panel{margin:45px 0;padding:26px}.login-panel h1{font-size:30px}.login-panel p{font-size:12px}.login-row{display:block}.login-row button{margin-top:10px;width:100%}footer{gap:20px;font-size:8px}.empty-tags{gap:5px}.empty-tags span{padding:4px 9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.image-workspace{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.image-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.image-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.image-candidate{padding:5px;overflow:hidden;text-align:left;font-size:11px}.image-candidate img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:4px}.image-candidate span{display:block;padding:7px 4px}.image-candidate[aria-pressed=true]{border:2px solid var(--blue);background:var(--white);color:var(--blue)}.reference-crop.generated-preview{aspect-ratio:1}.reference-crop.generated-preview img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain}.image-workspace .fine{overflow-wrap:anywhere}
.reference-library,.button-editor,.handoff-box{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.handoff-box h2{font-size:16px;margin-top:8px}.bubble{background:var(--white);padding:0;overflow:hidden}.message-copy{padding:14px 12px}.preview-cta{background:#f4f5f6;color:var(--ink);border:1px solid #e2e5e7;margin-top:8px;overflow-wrap:anywhere}.preview-cta small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.phone-content{padding-left:8px;padding-right:8px}.sender-avatar{width:23px;height:23px;font-size:8px}.reference-crop{position:relative;overflow:hidden;width:100%;background:#e9ecee}.reference-crop img{position:absolute;max-width:none;height:auto;display:block}.reference-crop[data-reference=hk-battery]{aspect-ratio:1}.reference-crop[data-reference=hk-battery] img{width:144.7619%;left:-16.5079%;top:-38.7302%}.reference-crop[data-reference=hk-season]{aspect-ratio:315/199}.reference-crop[data-reference=hk-season] img{width:146.0317%;left:-16.5079%;top:-61.3065%}.reference-crop[data-reference=hk-genuine]{aspect-ratio:315/293}.reference-crop[data-reference=hk-genuine] img{width:149.8413%;left:-19.6825%;top:-43.0034%}.reference-crop[data-reference=profoto-battery]{aspect-ratio:283/316}.reference-crop[data-reference=profoto-battery] img{width:162.5442%;left:-19.4346%;top:-34.8101%}.reference-crop[data-reference=profoto-l600c]{aspect-ratio:315/157}.reference-crop[data-reference=profoto-l600c] img{width:147.6190%;left:-17.4603%;top:-82.1656%}.reference-crop[data-reference=profoto-soft]{aspect-ratio:313/157}.reference-crop[data-reference=profoto-soft] img{width:146.9649%;left:-17.8914%;top:-79.6178%}#original-image{display:block;max-width:100%;height:auto;margin-top:12px}#handoff-text{font-size:11px;overflow-wrap:anywhere}.workspace>*{min-width:0}#preview-source{overflow-wrap:anywhere}
.source-card{margin-top:12px;padding:14px;border-left:3px solid var(--blue);background:#f3f6ff}.source-card strong{font-size:13px}.source-card a{display:inline-block;margin-top:9px;color:var(--blue);font-size:11px;font-weight:650}.supporting-data{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:18px}.revision-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.revision-compare>div{padding:12px;border:1px solid var(--line);border-radius:6px}.revision-compare b{font-size:11px}.reference-crop[data-reference=hk-ecoflow-delta3-max-20260920]{aspect-ratio:1}.reference-crop[data-reference=hk-ecoflow-delta3-max-20260920] img{position:static;width:100%;height:100%;object-fit:contain;background:#fff}@media(max-width:700px){.revision-compare{grid-template-columns:1fr}}
.strategy-options{margin:-8px 0 24px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 16px}.strategy-options summary{font-size:12px;font-weight:650;color:var(--ink)}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.option-grid article{border-top:2px solid var(--blue);padding-top:10px}.option-grid b{font-size:12px}.option-grid p{font-size:11px;line-height:1.7;margin-top:5px}@media(max-width:700px){.option-grid{grid-template-columns:1fr}}

.source-intake{border-bottom:1px solid var(--line);padding-bottom:16px}.variant-box{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}#variant-image{display:block;width:100%;max-width:320px;height:auto;margin-top:12px;border:1px solid var(--line);border-radius:6px;background:#fff}
.consent-companion{margin-top:24px}.consent-companion>summary{font-size:14px;font-weight:700;color:var(--ink)}.consent-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:28px;margin-top:18px}.consent-grid>div{min-width:0}.consent-grid #consent-result{border-left:3px solid var(--blue);padding-left:20px}#consent-warning{color:#826027}@media(max-width:700px){.consent-grid{grid-template-columns:1fr}.consent-grid #consent-result{border-left:0;border-top:3px solid var(--blue);padding:18px 0 0}}
.reference-crop[data-reference=hk-dji]{aspect-ratio:315/275}.reference-crop[data-reference=hk-dji] img{width:146.6667%;left:-16.8254%;top:-41.8182%}
.reference-crop[data-reference=profoto-cleaning]{aspect-ratio:315/146}.reference-crop[data-reference=profoto-cleaning] img{width:147.6190%;left:-17.4603%;top:-84.9315%}
.variant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.variant-card{border:1px solid var(--line);border-radius:6px;padding:6px;text-align:center}.variant-card img{width:100%;height:54px;object-fit:contain;display:block;background:#f4f6f6;border-radius:3px}.variant-card span{display:block;font-size:9px;color:var(--muted);margin:6px 0 1px;line-height:1.4}.variant-card .text-button{font-size:10px;padding:5px 2px;margin-top:0}
.ig-frame,.mail-frame{border:6px solid #293741;background:var(--white);border-radius:30px;margin-top:24px;overflow:hidden;box-shadow:0 12px 24px #1827320c}
.ig-bar,.mail-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 15px 11px;font-size:16px;color:var(--ink)}
.ig-bar strong,.mail-bar span:nth-child(2){font-size:12px;font-weight:650}
.mail-bar{padding-bottom:13px;border-bottom:1px solid #eceeee;color:var(--muted)}
.ig-head{display:flex;align-items:center;gap:9px;padding:0 12px 11px}
.ig-avatar,.mail-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:800;flex-shrink:0;background:#293741;color:var(--white)}
.ig-head strong{display:block;font-size:11px}
.ig-tag{font-size:9px;color:var(--muted)}
.ig-media{position:relative;aspect-ratio:1;background:#f1f2f2;overflow:hidden}
.ig-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.frame-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:var(--muted)}
.ig-actions{display:flex;align-items:center;gap:14px;padding:12px 13px 7px}
.ig-actions svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ig-gap{flex:1}
.ig-caption{font-size:11px;line-height:1.75;color:var(--ink);padding:0 13px 17px;white-space:pre-wrap;overflow-wrap:anywhere}
.ig-caption strong{margin-right:5px}
.ig-hashtag{color:var(--blue);font-weight:500}
.mail-head{padding:14px 14px 13px;border-bottom:1px solid #eceeee}
.mail-head>strong{display:block;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.mail-from{display:flex;align-items:center;gap:9px;margin-top:12px}
.mail-avatar{background:#e7ebef;color:var(--ink)}
.mail-from b{display:block;font-size:11px}
.mail-from span{font-size:9px;color:var(--muted)}
.mail-body{padding:14px 14px 19px}
.mail-image{margin-bottom:13px}
.mail-image img{width:100%;height:auto;display:block;border-radius:4px}
.mail-body p{font-size:11px;line-height:1.85;color:#344146;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1100px){.ig-frame,.mail-frame{max-width:300px}}
@media(max-width:700px){.ig-frame,.mail-frame{margin:20px auto 0;width:290px;max-width:100%}.variant-card img{height:48px}}
.reference-crop.natural-preview{aspect-ratio:auto;background:var(--white)}.reference-crop.natural-preview img{position:static;width:100%;height:auto;display:block}
.variant-card span{white-space:pre-line}

.bundle-box{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.bundle-box h2{font-size:16px;margin-top:8px}
.source-thumb{width:100%;max-height:120px;object-fit:contain;background:#f4f6f6;border-radius:4px;margin-top:8px;display:block}#source-body{white-space:pre-wrap;max-height:180px;overflow:auto}
.example-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.example-row .tiny-label{width:100%;margin-bottom:2px}
.example-chip{border:1px solid #bfc8c9;background:transparent;color:var(--ink);border-radius:20px;padding:6px 11px;font-size:11px;font-weight:500}
.example-chip:hover{background:#edf1f5}

.workbench-check{display:flex;gap:8px;align-items:flex-start}.workbench-check input{width:auto;flex:none;margin-top:4px}#article-body{min-height:180px}
.guidance-panel{margin:18px 0;padding:16px 20px}.guidance-panel>summary{cursor:pointer;font-weight:700}.guidance-panel .guidance-current{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid var(--blue);padding:10px 12px;background:var(--paper);font-size:13px}.guidance-panel .guidance-history{max-height:180px;overflow:auto;padding-left:22px}.guidance-history li{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.guidance-panel input,.guidance-panel textarea{max-width:650px}.guidance-panel #guidance-admin-login-box,.guidance-panel #guidance-admin-editor{margin-top:14px}
.me-badge{background:#edf2ff;color:#234db4;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:650}.account-login{margin-top:32px}.login-divider{display:flex;align-items:center;gap:12px;margin:26px 0 0;color:var(--muted);font-size:11px}.login-divider::before,.login-divider::after{content:"";flex:1;border-top:1px solid var(--line)}.login-panel #login-form{margin-top:6px}
.password-panel{margin:18px 0}.password-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:700px){.password-grid{grid-template-columns:1fr}}
.drafts-panel,.guidance-v2,.accounts-panel{margin:18px 0;padding:16px 20px}.drafts-panel>summary,.guidance-v2>summary,.accounts-panel>summary{cursor:pointer}.summary-title{font-weight:700;font-size:14px;color:var(--ink)}.drafts-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.drafts-toolbar>div{min-width:150px}.drafts-toolbar button{padding:9px 14px}.bridge-status{border-left:3px solid #469576;padding-left:10px}
.drafts-list{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto}.draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-weight:400}.draft-row:hover{background:#f3f6ff}.draft-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.draft-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.draft-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.tag{border-radius:20px;padding:2px 9px;font-size:10px;font-weight:650;background:#eef0ef;color:var(--ink);white-space:nowrap}.tag.flow{background:#fff4d6;color:#7a5a10}.tag.approved{background:#e3f4ea;color:#1f6a43}.tag.review_pending{background:#edf2ff;color:#234db4}.tag.changes_requested{background:#fde8e6;color:#913e38}
.gv-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:26px;margin-top:10px}.gv-grid>div{min-width:0}@media(max-width:800px){.gv-grid{grid-template-columns:1fr}}.guidance-v2 .guidance-current{white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid var(--blue);padding:10px 12px;background:var(--paper);font-size:13px;color:var(--ink);margin:6px 0 12px}.gv-knowledge-view{padding-left:18px;font-size:12px;color:var(--ink)}.gv-knowledge-view li{white-space:pre-wrap;overflow-wrap:anywhere}.gv-readonly{color:#826027}.gv-knowledge-label{margin-top:17px}.knowledge-item{border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:8px}.knowledge-item label{margin-top:6px}.knowledge-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.gv-history{padding-left:20px;max-height:260px;overflow:auto}.gv-history li{margin:10px 0;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.gv-history .text-button{padding:2px 6px;color:var(--blue)}
.accounts-table{overflow:auto;margin-top:10px}.accounts-table table{border-collapse:collapse;width:100%;font-size:12px;min-width:720px}.accounts-table th,.accounts-table td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:middle}.accounts-table th{font-size:10px;color:var(--muted);letter-spacing:.5px}.accounts-table select{padding:4px 6px;font-size:11px;width:auto}.accounts-table .text-button{color:var(--blue)}.account-create{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:800px){.account-grid{grid-template-columns:1fr 1fr}}.acc-secret{margin-top:12px;padding:12px;border:1px dashed #826027;border-radius:8px;background:#fffaf0}.acc-secret code{display:block;font-size:16px;margin:6px 0;letter-spacing:.5px}.accounts-audit ol{padding-left:20px}
.decision-box #decision-state{font-size:13px;color:var(--ink);font-weight:650}.decision-buttons{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.decision-history{padding-left:18px;font-size:11px;color:var(--muted)}.decision-history li{margin:6px 0}.flow-thread-replies{padding-left:18px;font-size:11px;color:var(--muted)}#flow-thread-summary{color:var(--ink);font-size:12px}
.flow-thread-box{margin-top:14px;padding:12px 14px;border:1px solid #f0d88a;border-radius:8px;background:#fffaf0}.flow-thread-box .tiny-label{color:#7a5a10}
.publish-box{margin:14px 0 6px;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:#f7f9fa}.publish-box #article-publish-status{margin:8px 0 0}.publish-box #article-publish-status a{overflow-wrap:anywhere}.publish-box #article-publish-status[data-state=published]{color:#2f6f55}.publish-box #article-publish-status[data-state=failed],.publish-box #article-publish-status[data-state=needs_check]{color:#9b3b2e}
.publication-check{margin-top:16px;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:#f7f9fa}.publication-check strong{display:block;font-size:13px;margin-top:6px;color:var(--ink)}.publication-check strong[data-state=published]{color:#2f6f55}.publication-check strong[data-state=not_published]{color:#234db4}.publication-check strong[data-state=uncertain],.publication-check strong[data-state=unknown]{color:#826027}.publication-check strong[data-state=person]{color:var(--ink)}.publication-check a{display:block;font-size:12px;margin-top:6px;overflow-wrap:anywhere}.publication-check ul{padding-left:16px;margin:6px 0 0}
/* ── 2026-09-30 공통 업무 화면(설계서 docs/design/2026-09-30-dashboard) ── */
.topbar{height:64px;position:sticky;top:0;z-index:5;background:var(--paper);gap:20px}.topbar .wordmark{font-size:22px;gap:14px}.topbar .wordmark span{padding-left:14px}
.brand-scope{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-scope label{margin:0;font-size:12px;color:var(--muted)}.brand-scope select{width:auto;min-width:150px;padding:7px 10px}
main{max-width:none;padding:0}
.app{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:calc(100vh - 64px)}
.sidenav{border-right:1px solid var(--line);padding:22px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:64px;height:calc(100vh - 64px)}
.nav-link{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600;font-size:13px}
.nav-link:hover{background:#e9ede9}.nav-link.active{background:#e3eaff;color:var(--blue)}.nav-count{background:var(--blue);color:#fff;border-radius:10px;padding:0 7px;font-size:10px;font-weight:700}
.nav-foot{margin-top:auto;padding:0 12px}
.pages{padding:26px 3vw 60px;min-width:0}.page{display:block}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.page-head h1{font-size:28px;letter-spacing:-1px}.page-sub{margin-top:6px;font-size:13px}
.page-actions{display:flex;gap:8px;align-items:center}.page-actions .text-button{width:auto}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-head h2{font-size:16px}.panel-head .text-button{width:auto;padding:4px 6px}
.button-link:hover{background:var(--ws-gray-050);border-color:var(--ws-muted)}.button-link.primary{background:var(--ws-accent);color:var(--ws-surface);border-color:var(--ws-accent)}.button-link.primary:hover{background:var(--ws-accent-hover);border-color:var(--ws-accent-hover)}.button-link{display:inline-block;border:1px solid var(--ws-border);border-radius:var(--ws-radius-control);background:var(--ws-surface);color:var(--ws-text);padding:10px 16px;font-weight:650;text-decoration:none}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.stat{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);text-align:left;padding:18px 20px;display:flex;flex-direction:column;gap:2px}
.stat:hover{background:#f7f8ff}.stat span{font-size:12px;color:var(--muted);font-weight:650}.stat strong{font-size:30px;letter-spacing:-1px}.stat small{font-size:11px;color:var(--muted);font-weight:400}
.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;margin-bottom:18px}
.task-list{display:flex;flex-direction:column;gap:6px}.task-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f7f8f6;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);text-align:left;font-weight:400}
.task-row:hover{background:#eef2ff}.task-row strong{display:block;font-size:13px}.task-row small{color:var(--muted);font-size:11px}
.connection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.connection-list li{display:flex;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid var(--line);padding:6px 0}
.state{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap}.state.ok{background:#e5f3ec;color:#2f6f55}.state.warn{background:#fff3d6;color:#826027}.state.bad{background:#fbe4e1;color:#913e38}.state.off{background:#eceeea;color:var(--muted)}
.stepper{list-style:none;display:flex;gap:10px;padding:0;margin:0 0 18px}.stepper li{flex:1}
.step-btn{width:100%;background:var(--white);color:var(--muted);border:1px solid var(--line);text-align:left;display:flex;gap:10px;align-items:center}
.step-btn b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eceeea;font-size:11px}
.step-btn.active{border-color:var(--blue);color:var(--ws-accent);background:var(--ws-accent-soft)}.step-btn.active b{background:var(--blue);color:#fff}.step-btn.done b{background:#2f6f55;color:#fff}
.mk-step{display:flex;flex-direction:column;gap:16px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.tab{background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:9px 12px;font-size:13px}
.tab:hover{background:none;color:var(--ink)}.tab.active{color:var(--blue);border-color:var(--blue)}
.intake-panel .tab-panel label:first-child{margin-top:0}.intake-panel .examples{margin-top:8px}
.source-card.panel{padding:20px}.sc-grid{display:grid;grid-template-columns:220px minmax(0,1.3fr) minmax(260px,1fr);gap:20px;align-items:start}
.sc-media{display:flex;flex-direction:column;gap:8px}.sc-media .source-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eceeea;border:1px solid var(--line)}
.sc-media .secondary{width:100%}.sc-body strong{display:block;font-size:17px;margin:4px 0 6px}.sc-side .review-box{border-top:0;margin-top:4px;padding-top:0}
.image-dialog{border:1px solid var(--line);border-radius:var(--radius);padding:22px;max-width:760px;width:92vw;color:var(--ink)}.image-dialog::backdrop{background:#18273255}
.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dialog-head .text-button{width:auto}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.image-grid button{padding:0;border:2px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;aspect-ratio:4/3}.image-grid button[aria-selected=true]{border-color:var(--blue);box-shadow:0 0 0 2px #c9d7ff}
.image-grid img{width:100%;height:100%;object-fit:cover;display:block}.image-grid .broken{display:grid;place-items:center;font-size:11px;color:var(--muted);height:100%}
.dialog-section{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.dialog-section h3{font-size:14px;margin:0 0 6px}
.image-dialog #source-image{display:none}
.support-data{padding:16px 20px}
.action-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;box-shadow:0 -4px 16px #18273212}
.action-bar button{width:auto;margin:0}.mk-selection{font-size:12px;color:var(--muted)}.mk-selection strong{color:var(--ink)}
.editor-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:20px;align-items:start}
.source-bar{display:flex;align-items:center;gap:10px;background:#f4f6f6;border-radius:8px;padding:9px 12px;margin-bottom:14px}.source-bar strong{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-bar .text-button{width:auto}
.drawer{position:fixed;top:64px;right:0;bottom:0;width:min(440px,92vw);background:var(--white);border-left:1px solid var(--line);box-shadow:-8px 0 24px #1827321f;padding:20px;overflow:auto;z-index:6}
.drawer h3{font-size:14px;margin:14px 0 4px}.evidence-item{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:8px;font-size:12px}.evidence-item b{display:block}
.step3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.step3-grid .panel .handoff-box,.step3-grid .panel .bundle-box{border:0;margin:0;padding:0}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:start}.review-detail{min-height:420px}.empty-note{color:var(--muted);font-size:13px;padding:40px 10px;text-align:center}
.draft-row.selected{border-color:var(--ws-accent);background:var(--ws-accent-soft)}
.kn-badges{display:flex;gap:6px}.kn-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:18px;align-items:start;margin-bottom:18px}
.kn-list table{width:100%;border-collapse:collapse;font-size:12px}.kn-list th{text-align:left;color:var(--muted);font-weight:650;border-bottom:1px solid var(--line);padding:8px 6px}.kn-list td{border-bottom:1px solid var(--line);padding:9px 6px;vertical-align:top}
.kn-list tr.selected td{background:#f3f6ff}.kn-list tr{cursor:pointer}.kn-detail dl{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;font-size:12px;margin:10px 0}.kn-detail dt{color:var(--muted)}.kn-detail dd{margin:0;overflow-wrap:anywhere}
.kn-detail .kn-body{white-space:pre-wrap;font-size:12px;background:#f7f8f6;border-radius:8px;padding:10px;max-height:260px;overflow:auto}
.kn-proposal{margin-top:16px}.kn-proposal .compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kn-proposal .compare>div{border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px;white-space:pre-wrap}
.guidance-v2 .panel-head{align-items:flex-end}
.data-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.table-wrap{overflow:auto}.plain-table{width:100%;border-collapse:collapse;font-size:12px}.plain-table th{text-align:left;color:var(--muted);font-weight:650;border-bottom:1px solid var(--line);padding:8px 6px}.plain-table td{border-bottom:1px solid var(--line);padding:8px 6px;vertical-align:top}
.project-notes{padding:16px 20px}
@media(max-width:1100px){.app{grid-template-columns:64px minmax(0,1fr)}.nav-link{font-size:0;padding:12px}.nav-link::first-letter{font-size:13px}.nav-foot{display:none}
.editor-layout,.review-layout,.kn-layout,.data-grid,.home-grid{grid-template-columns:minmax(0,1fr)}.editor-layout>.preview-panel{grid-column:auto}.sc-grid{grid-template-columns:180px minmax(0,1fr)}.sc-side{grid-column:1/-1}.step3-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){.app{display:block}.sidenav{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.nav-link{font-size:12px;white-space:nowrap}.nav-link::first-letter{font-size:inherit}
.topbar{height:auto;flex-wrap:wrap;padding:10px 16px}.pages{padding:18px 16px 60px}.stat-row{grid-template-columns:1fr}.sc-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.stepper{flex-direction:column}.drawer{top:0}}
.kn-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px}.kn-meta-grid label{margin-top:10px}.task-checks{display:flex;gap:10px;flex-wrap:wrap}
.kn-test-row,.kn-apply-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}.kn-test-row label{width:100%;margin:0}.kn-test-row select{flex:1;min-width:200px}.kn-test-row button,.kn-apply-row button{width:auto;margin:0}.kn-apply-row input{flex:1;min-width:200px}
#gv-save{margin-top:8px}
@media(max-width:1100px){.kn-meta-grid{grid-template-columns:1fr 1fr}}
.refresh-table{table-layout:fixed}.refresh-table th:nth-child(1){width:19%}.refresh-table th:nth-child(2){width:15%}.refresh-table th:nth-child(3){width:13%}.refresh-table th:nth-child(4){width:9%}.refresh-table th:nth-child(5){width:14%}.refresh-table td{overflow-wrap:anywhere;word-break:keep-all}.refresh-table .state{white-space:normal;display:inline-block}.plain-table .nowrap{white-space:nowrap}.plain-table .num{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:768px){.action-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.action-bar button{width:100%}.action-bar .mk-selection{font-size:12px;max-height:3.2em;overflow:hidden}}
.switch-link{display:inline-block;margin-right:12px;padding:6px 12px;border:1px solid #1D242B;border-radius:4px;background:#1D242B;color:#FFFFFF;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}.switch-link:hover{background:#FFFFFF;color:#1D242B}
@media (max-width:768px){.switch-link{margin-right:6px;padding:5px 9px;font-size:11px}}
@media (max-width:768px){.header-right{flex-wrap:wrap;row-gap:6px}.header-right .text-button,.header-right .me-badge,.header-right .switch-link{white-space:nowrap}}
.upload-status{min-height:1em;margin:8px 0 0}.upload-status.error{color:#9b3b2e}
.tag.archived{background:#eef0f2;color:#5b6570}.drafts-archived-toggle{flex-basis:100%;margin:2px 0 0}

/* UX review 2026-10-07: a wide writing surface, contextual feedback and one save action. */
.editor-layout{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr)}
.editor-layout>*{min-width:0}.editor-layout.preview-collapsed{grid-template-columns:minmax(0,1fr)}
.content-panel{min-height:0}.source-bar{flex-wrap:wrap}.source-bar strong{min-width:120px}
.channel-workbench{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;margin-top:18px}
.channel-workbench .channel-tabs{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0;border:0}
.channel-tabs button{min-height:44px;white-space:normal;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--ws-radius-control)}
.channel-tabs button[aria-selected=true]{background:var(--ws-accent-soft);color:var(--ws-accent);border-color:var(--ws-accent)}
.channel-content{min-width:0}.channel-content>div>label:first-child{margin-top:0}
.channel-content textarea{min-height:280px;font-size:15px}.editor-support{font-size:13px;border-top:1px solid var(--line);padding:12px 0;margin-top:18px}
.editor-support summary{color:var(--ink);font-weight:600;min-height:44px;display:flex;align-items:center}
.editor-support summary::before{content:'▸';margin-right:8px}.editor-support[open]>summary::before{content:'▾'}
.editor-support .review-box{border:0;margin-top:0;padding-top:0}.preview-panel{grid-column:auto;padding-top:0}
.editor-actions{margin-top:20px;align-items:end;position:static;box-shadow:none}
.save-confirmation{flex:1;min-width:0}.save-confirmation .checkbox-label{font-size:13px;max-width:65ch;margin:8px 0}
.save-confirmation #save{width:auto;min-width:240px}.save-secondary{display:flex;flex-direction:column;gap:8px}
button:disabled{cursor:not-allowed}.text-button{min-height:44px;font-size:12px}a:focus-visible{outline:3px solid var(--ws-focus);outline-offset:3px}
.field-error{font-size:13px;color:#9b3b2e;padding:8px 0;margin:0;max-width:65ch;white-space:pre-wrap}
[aria-invalid=true]{outline:2px solid #9b3b2e;outline-offset:2px}
.review-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr)}
.review-compare-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0 12px}
.review-compare-toolbar label{margin:0;font-size:13px}.review-compare-toolbar select{width:auto;min-width:150px}
.review-compare-toolbar p{flex-basis:100%;font-size:12px}.revision-compare{grid-template-columns:repeat(2,minmax(0,1fr))}
.compare-pane{min-width:0}.compare-pane h3{margin:0 0 10px;font-size:15px}.compare-title{font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere}
.compare-body{margin-top:12px;max-height:480px;overflow:auto;font-size:14px;line-height:1.8;border-top:1px solid var(--line);padding-top:10px}
.diff-line{white-space:pre-wrap;overflow-wrap:anywhere;padding:4px 6px}.diff-line.added{background:#eaf4ec;color:#24492d}.diff-line.removed{background:#faeded;color:#77312c}
.diff-label{font-size:11px;font-weight:700}.compare-creative{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin-top:16px;border-top:1px solid var(--line);padding-top:10px}
.decision-buttons{flex-wrap:wrap}.decision-buttons button{min-height:44px}.home-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}
.data-shortcuts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.secondary-link{color:var(--muted);padding:12px}
.ig-media:has(#ig-image[hidden]){min-height:64px;aspect-ratio:auto}.source-image-pick:has(#source-image-preview:not([src])){display:none}
@media(max-width:1100px){.editor-layout,.review-layout,.home-grid{grid-template-columns:minmax(0,1fr)}.editor-layout>.preview-panel{grid-column:auto;max-width:540px;width:100%;margin:auto}.channel-workbench{grid-template-columns:minmax(0,1fr)}.channel-workbench .channel-tabs{flex-direction:row;flex-wrap:wrap;gap:6px}.channel-tabs button{flex:1;min-width:95px;text-align:center}.app{grid-template-columns:150px minmax(0,1fr)}.nav-link{font-size:12px}}
@media(min-width:769px) and (max-width:1100px){.nav-link::first-letter{font-size:inherit}}
@media(max-width:768px){.app{display:block}.editor-actions{position:static;flex-direction:column;align-items:stretch}.save-confirmation #save{width:100%;min-width:0}.save-secondary{width:100%}.channel-content textarea{font-size:16px;min-height:280px}.source-bar strong{white-space:normal;flex-basis:100%}.revision-compare{grid-template-columns:minmax(0,1fr)}.compare-body{max-height:none}.pages{padding:18px 12px 30px}.panel{padding:18px}.stepper{flex-direction:row;flex-wrap:wrap}.step-btn{min-height:44px}.phone{max-width:100%}.editor-actions .mk-selection{max-height:none;overflow:visible}}
.source-thumb:not([src]){display:none}.publish-box{background:#f7f8f6;border:1px solid var(--line);border-radius:8px;padding:16px}.publish-box button{background:var(--ws-surface);color:var(--ws-text);border-color:var(--ws-border)}.publish-box button:hover:enabled{background:var(--ws-gray-050);border-color:var(--ws-muted)}
.previous-source{background:#f7f8f6;border-color:var(--line)}.preview-panel .phone,.preview-panel .ig-frame,.preview-panel .mail-frame{max-width:360px;margin-left:auto;margin-right:auto}.editor-actions{flex-wrap:wrap;padding:14px;gap:12px}.save-secondary{flex-direction:row;flex-wrap:wrap}.save-confirmation{flex-basis:100%}
.kn-export{display:inline-flex;gap:8px;margin-left:8px;flex-wrap:wrap}.kn-feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px}.kn-feedback-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.gv-knowledge-buttons{display:flex;gap:8px;flex-wrap:wrap}#kn-feedback-table td:first-child{width:24px}
/* 2026-10-07 담당자 피드백 반영 — 다중 이미지·초점, 캐러셀, 게시글형 뉴스레터, 비교 시험 모드, 검수함 범위 */
.image-grid button{position:relative}.image-grid button .order{position:absolute;top:6px;left:6px;background:var(--blue);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:11px;font-weight:700}
.image-grid button[aria-selected=true]{border-color:var(--blue)}.image-selected{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.image-selected .row{display:grid;grid-template-columns:28px 48px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12px}
.image-selected .row img{width:48px;height:36px;object-fit:cover;border-radius:4px;background:#eceeea}.image-selected .row select{width:auto;padding:4px 6px;font-size:11px}
.image-selected .row .text-button{min-height:32px;padding:4px 6px}.image-selected .row b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}
.image-selected .row span.url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.carousel-actions{margin-top:10px}.carousel-actions button{width:auto;margin:0}.carousel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}
.carousel-card{border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center;background:#fff}.carousel-card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#111;border-radius:4px;display:block}
.carousel-card span{display:block;font-size:10px;color:var(--muted);margin:6px 0 2px}.carousel-card a{font-size:10px;color:var(--blue);margin:0 4px}
.ig-media:has(#ig-carousel:not([hidden])){aspect-ratio:4/5;min-height:0}.ig-carousel{position:absolute;inset:0;background:#101010;color:#fff;display:flex;flex-direction:column}
.ig-slide{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.ig-slide img{position:absolute;inset:0;width:100%;height:58%;object-fit:cover;display:block}.ig-slide.has-image::after{content:"";position:absolute;left:0;right:0;top:32%;height:30%;background:linear-gradient(transparent,#101010)}
.ig-slide .accent{width:34px;height:3px;background:var(--ig-accent,#E8A48C);margin-bottom:8px;position:relative}.ig-slide h4{position:relative;margin:0;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.ig-slide p{position:relative;color:#cfcfcf;font-size:11px;line-height:1.5;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:7.5em;overflow:hidden}.ig-slide .kind{position:absolute;top:10px;left:12px;font-size:9px;letter-spacing:1px;color:#9a9a9a}
.ig-slide .counter{position:absolute;top:10px;right:12px;font-size:9px;color:#9a9a9a}.ig-slide.quote h4{font-size:14px;font-weight:600}.ig-slide.quote .mark{position:relative;font-size:40px;line-height:1;color:var(--ig-accent,#E8A48C);font-weight:700}
.ig-slide.closing h4{color:var(--ig-accent,#E8A48C);font-size:20px}.ig-carousel-nav{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#1a1a1a}
.ig-carousel-nav button{background:transparent;border:0;color:#fff;font-size:18px;padding:2px 10px;min-height:0}.ig-dots{display:flex;gap:4px}.ig-dots i{width:6px;height:6px;border-radius:50%;background:#555;display:block}.ig-dots i.on{background:#fff}
.mode-badge{display:inline-block;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700;margin-right:6px}.mode-badge.live{background:#e5f3ec;color:#2f6f55}.mode-badge.extractive_fallback{background:#fff3d6;color:#826027}.mode-badge.failed{background:#fbe4e1;color:#913e38}
.kn-test-channel{display:flex;gap:8px;align-items:center;margin:10px 0 6px;font-size:12px}.kn-test-channel select{width:auto;padding:4px 8px}.kn-proposal .compare .fine{white-space:normal}
.drafts-all-toggle{flex-basis:100%;margin:2px 0 0}#drafts-scope{margin:6px 0 0;color:var(--ink)}
.image-dialog{max-width:860px}
.variant-head{grid-column:1/-1;margin-top:8px}.test-pane .mode-badge{margin-bottom:6px}

/* Own crop area (2026-10-12) */
.image-selected .row{grid-template-columns:28px 48px minmax(0,1fr) auto auto auto auto}
.image-selected .row .crop-open.on{color:var(--blue);font-weight:700}
.crop-editor{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:10px;background:#fafbf8}
.crop-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.crop-stage{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none;-webkit-user-select:none;line-height:0;cursor:crosshair}
.crop-stage img{display:block;max-width:100%;max-height:56vh;width:auto;height:auto;pointer-events:none}
.crop-rect{position:absolute;border:2px solid var(--blue);box-shadow:0 0 0 9999px #18273266;cursor:move;outline:none}
.crop-rect:focus-visible{border-color:#ffd23f}
.crop-rect span{position:absolute;width:14px;height:14px;background:#fff;border:2px solid var(--blue);border-radius:3px}
.crop-rect span[data-handle=nw]{left:-8px;top:-8px;cursor:nwse-resize}.crop-rect span[data-handle=ne]{right:-8px;top:-8px;cursor:nesw-resize}
.crop-rect span[data-handle=sw]{left:-8px;bottom:-8px;cursor:nesw-resize}.crop-rect span[data-handle=se]{right:-8px;bottom:-8px;cursor:nwse-resize}
.crop-previews{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.crop-previews figure{margin:0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}
.crop-previews canvas{border:1px solid var(--line);border-radius:4px;background:#fff;max-width:160px}
@media (max-width:640px){.image-selected .row{grid-template-columns:24px 40px minmax(0,1fr) auto;row-gap:4px}.image-selected .row select{grid-column:2 / span 2}.crop-rect span{width:20px;height:20px}}

/* Blog-style newsletter editor and preview (2026-10-12) */
.nl-head{display:flex;justify-content:space-between;align-items:end;gap:8px}.nl-head label{margin-bottom:7px}
.nl-blocks{display:flex;flex-direction:column;gap:8px}
.nl-block{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:6px}
.nl-block-head{display:flex;align-items:center;gap:4px;font-size:12px}.nl-block-head b{flex:1;font-weight:650}
.nl-block-head .text-button{min-height:30px;padding:4px 8px}
.nl-block.nl-heading input{font-weight:700}.nl-block.nl-callout textarea{border-left:4px solid var(--blue);background:#f4f6fb}
.nl-block .nl-bold{align-self:flex-start;font-weight:800}
.nl-thumb{width:96px;height:64px;object-fit:cover;border-radius:4px;background:#eceeea}
.nl-add{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.nl-add button{padding:8px 12px}
.mail-rich{display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.85;color:#344146;overflow-wrap:anywhere}
.mail-rich .mail-p.lead{font-size:12px}.mail-rich .mail-h{font-size:13px;color:#182732;margin-top:6px}
.mail-rich .mail-callout{border-left:3px solid var(--blue);background:#f4f6fb;padding:8px 10px;color:#182732}
.mail-rich .mail-inline-image{display:block;width:100%;height:auto;border-radius:4px}
.mail-rich .mail-missing{color:#913e38;font-size:10px}.mail-rich .mail-p.footer{color:var(--muted);font-size:10px}
.mail-rich .preview-cta{display:block}

/* Fixed brand banner (2026-10-12) */
.banner-switch{border-top:1px solid var(--line);margin-top:14px;padding-top:6px}
.mail-rich .mail-banner-box{display:block;background:#182732;color:#fff;border-top:3px solid var(--blue);padding:10px 12px;font-weight:700;white-space:pre-wrap}
.ig-slide.banner h4{color:var(--ig-accent,#E8A48C);font-size:20px}.ig-slide.banner p{color:#fff;font-weight:700;font-size:12px}

.publish-capability{color:#8a5a00;background:#fff6e0;border-radius:6px;padding:8px 10px}

/* 2026-10-12 fixes from the E2E captures: the dimming stays on the image; block inputs keep their row height */
.crop-stage{overflow:hidden}
.crop-rect span[data-handle=nw]{left:-2px;top:-2px}.crop-rect span[data-handle=ne]{right:-2px;top:-2px}
.crop-rect span[data-handle=sw]{left:-2px;bottom:-2px}.crop-rect span[data-handle=se]{right:-2px;bottom:-2px}
.nl-block textarea{min-height:0;height:auto}

/* The editable newsletter uses the same 600px content width and type rhythm as newsletter_export.build. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#marketing-menu,.marketing-mobile-footer{display:none}
.nl-block-editor{background:#f4f3ee;padding:16px 8px;border-radius:8px}
.nl-toolbar{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:4px;max-width:600px;margin:0 auto 12px;padding:6px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 12px #18273212;border-radius:8px}
.nl-toolbar select{width:auto;min-width:104px;margin:0}.nl-toolbar button{background:transparent;color:#182732;border:1px solid transparent;padding:6px 12px}.nl-toolbar button[aria-pressed=true]{background:var(--ws-accent-soft);border-color:var(--ws-accent);color:var(--ws-accent)}
.nl-toolbar button,.nl-toolbar select,.nl-insert summary,.nl-insert button,.nl-block-head button,.nl-dialog button,.nl-dialog summary{min-height:44px;min-width:44px}
.nl-paper{max-width:600px;margin:auto;background:#fff;color:#344146;font-family:Arial,sans-serif;line-height:1.8;overflow-wrap:anywhere}
.nl-render-brand{padding:18px 28px 8px;font-size:13px;font-weight:700;letter-spacing:2px;color:#69757b}.nl-render-brand span+span{font-weight:400;letter-spacing:0}
.nl-hero{display:block;width:100%;height:auto}.nl-paper #nl-render-title{padding:10px 28px 0;margin:0;font:700 24px/1.4 Arial,sans-serif;color:#182732}
.nl-blocks{display:block;gap:0}.nl-block{display:block;position:relative;border:0;border-radius:0;padding:0 28px;margin:0;background:transparent;gap:0}
.nl-edit{min-height:32px;white-space:pre-wrap;overflow-wrap:anywhere;outline:0;border:0;font:400 15px/1.8 Arial,sans-serif;color:#344146;border-radius:2px;padding:0}
.nl-block:first-of-type .nl-edit{font-size:16px}.nl-edit:focus{outline:2px solid #2252d755;outline-offset:5px}
.nl-heading .nl-edit{font:700 19px/1.5 Arial,sans-serif;color:#182732}.nl-callout .nl-edit{border-left:4px solid var(--blue);background:#f4f6fb;padding:14px 16px;font:400 15px/1.7 Arial,sans-serif;color:#182732}
.nl-block-head{display:flex;position:relative;justify-content:flex-end;align-items:center;height:0;overflow:hidden;gap:3px;color:#69757b;font:12px/1.3 Arial,sans-serif;opacity:0;transition:opacity .1s}
.nl-block:focus-within .nl-block-head,.nl-block:hover .nl-block-head{height:44px;overflow:visible;opacity:1}.nl-kind{margin-right:auto}.nl-block-head .text-button{min-height:44px;min-width:44px;padding:6px}
.nl-insert{margin:0 20px;position:relative;line-height:1.2}.nl-insert summary{display:flex;align-items:center;justify-content:center;font-size:12px;color:#69757b;cursor:pointer;list-style:none;opacity:.65}.nl-insert summary:after{content:"";position:absolute;left:0;right:0;border-top:1px solid #dbe1e5;z-index:0}.nl-insert summary{background:#fff}.nl-insert summary:hover,.nl-insert summary:focus{opacity:1;color:var(--blue)}
.nl-insert[open] summary{color:var(--blue)}.nl-insert-menu{display:flex;flex-wrap:wrap;gap:4px;padding:8px;margin-bottom:12px;border:1px solid var(--line);background:#f8f9ff;border-radius:6px}.nl-insert-menu button{font-size:12px;background:#fff;color:#182732;border:1px solid #dce0e5;padding:6px 9px}
.nl-paper .preview-cta{display:inline-block;font:700 15px/1 Arial,sans-serif;color:#fff;background:var(--blue);border:0;border-radius:6px;padding:14px 26px;margin:0;min-height:44px;text-decoration:none;white-space:normal}
.nl-image{padding:0}.nl-image .nl-block-head{margin:0 28px}.nl-image-edit{display:block;padding:0;border:0;background:transparent;width:100%;border-radius:0}.nl-image-edit img{width:100%;display:block}
.nl-photo{display:block;width:100%;position:relative}.nl-photo img{display:block;width:100%;height:auto}.nl-photo.cropped{overflow:hidden}.nl-photo.cropped img{position:absolute;max-height:none}
.nl-fixed{padding:8px 28px 24px}.nl-fixed>.preview-cta{margin:8px 8px 6px 0}.nl-fixed .mail-banner-box{display:block;margin-top:26px;background:#182732;color:#fff;border-top:4px solid var(--blue);padding:16px 18px;font:700 15px/1.7 Arial,sans-serif;white-space:pre-wrap}.nl-fixed .footer{margin:26px 0 0;border-top:1px solid #e5e7e9;padding-top:20px;color:#69757b;font:400 12px/1.6 Arial,sans-serif}
.nl-add{max-width:600px;margin:14px auto 0}.nl-add button{min-height:44px}.nl-shared-title{margin:0 0 10px}.nl-paper .mail-inline-image{max-width:100%}
.nl-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper,#fff)}
.nl-dialog::backdrop{background:#14222c88}.nl-dialog h2{margin:0 0 10px}.nl-dialog h3{font-size:15px}.nl-dialog input:not([type=checkbox]){max-width:100%}.nl-dialog input[type=checkbox]{min-width:24px;min-height:24px}.nl-dialog .checkbox-label{min-height:44px;align-items:center}.nl-dialog-actions{position:sticky;bottom:-22px;display:flex;gap:8px;flex-wrap:wrap;z-index:6;padding:12px 0;background:#fff;border-top:1px solid var(--line);margin-top:14px}
.nl-image-candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-bottom:14px}.nl-image-candidates button{padding:4px;border:2px solid transparent;background:#fff;border-radius:6px;min-height:84px}.nl-image-candidates button[aria-pressed=true]{border-color:var(--blue)}.nl-image-candidates img{width:100%;height:76px;object-fit:contain}.nl-upload{padding:12px;background:#f4f3ee;border-radius:8px}.nl-upload summary{display:flex;align-items:center;cursor:pointer}.nl-upload input{margin-bottom:8px}
.nl-crop>.example-row{display:none}.crop-editor>.example-row{position:sticky;bottom:0;padding:10px;background:#fafbf8;z-index:4;border-top:1px solid var(--line)}.crop-editor .example-row button{min-height:44px}.crop-previews{display:block}.crop-previews>figure{max-width:260px;margin:10px auto}.crop-previews>figure canvas{max-width:100%;width:auto}.crop-other summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.crop-other-grid{display:flex;flex-wrap:wrap;gap:12px}.crop-other-grid figure{flex:1;min-width:120px;margin:8px 0}.crop-stage{max-height:400px;max-width:100%}.crop-stage>img{max-height:400px;max-width:100%;object-fit:contain}
#mail-cta .mail-banner-box{display:block;white-space:pre-wrap;margin-top:18px}#mail-cta .footer{display:block;margin-top:18px;color:var(--muted);font-size:10px}
@media(max-width:700px){
 body.marketing-page .topbar{display:flex;flex-wrap:nowrap;align-items:center;height:60px;min-height:60px;padding:8px 12px;gap:8px;position:sticky;top:0;z-index:20}
 body.marketing-page .wordmark{font-size:18px;flex:none}body.marketing-page .wordmark span,body.marketing-page .brand-scope label{display:none}
 body.marketing-page .brand-scope{margin:0;flex:1;min-width:0}body.marketing-page #brand{width:100%;min-height:44px;margin:0;font-size:14px}
 body.marketing-page #marketing-menu{display:block;min-width:44px;min-height:44px;margin:0}body.marketing-page .header-right{display:none}
 body.marketing-page .sidenav{display:none}body.marketing-page.marketing-menu-open .sidenav{display:flex;position:fixed;top:60px;left:8px;right:8px;max-height:45dvh;overflow:auto;z-index:30;background:#fff;padding:10px;border:1px solid var(--line);box-shadow:0 4px 24px #18273222;flex-direction:column}
 body.marketing-page.marketing-menu-open .header-right{display:flex;position:fixed;top:auto;bottom:80px;left:8px;right:8px;background:#fff;padding:12px;z-index:30;border:1px solid var(--line);flex-wrap:wrap}
 body.marketing-page .sidenav a,body.marketing-page .header-right button,body.marketing-page .header-right a{min-height:44px;display:flex;align-items:center}
 body.marketing-page.marketing-editing .marketing-mobile-footer{display:flex;position:fixed;bottom:var(--keyboard-inset,0px);left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;background:#fff;border-top:1px solid var(--line);z-index:25}
 .marketing-mobile-footer button{min-height:44px;flex:1;margin:0}body.marketing-page.marketing-editing{padding-bottom:82px}
 body.marketing-page .content-panel{min-width:0}body.marketing-page .channel-tabs button,body.marketing-page .tabs button,body.marketing-page #preview-close,body.marketing-page #preview-toggle,body.marketing-page #nl-mode{min-height:44px}
 .nl-block-editor{padding:8px 0}.nl-toolbar{top:64px;margin:0 0 12px;padding:4px;gap:2px}.nl-toolbar select{min-width:100px;max-width:130px;font-size:14px}.nl-toolbar button{padding:4px 8px}
 .nl-paper #nl-render-title,.nl-block{padding-left:18px;padding-right:18px}.nl-image{padding:0}.nl-render-brand{padding-left:18px;padding-right:18px}.nl-fixed{padding-left:18px;padding-right:18px}.nl-insert{margin-left:12px;margin-right:12px}
 .nl-block-head{height:44px;opacity:1;overflow:visible}.nl-dialog{padding:14px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.nl-dialog-actions{bottom:-14px}.nl-dialog-actions button{flex:1}.nl-dialog-actions #nl-image-insert{flex-basis:65%}
 body.marketing-page.marketing-editing #editor-preview{display:none}body.marketing-page.mobile-preview-open #editor-preview{display:block!important;position:fixed;inset:60px 0 calc(70px + var(--keyboard-inset,0px));background:var(--paper,#f4f3ee);z-index:22;overflow:auto;padding:12px}
 body.marketing-page.mobile-preview-open #editor-layout>.content-panel{visibility:hidden}body.marketing-page.mobile-preview-open #preview-close{position:sticky;top:0;background:#fff;z-index:2;width:100%}
 body.keyboard-open .nl-toolbar{top:64px}body.keyboard-open .nl-edit{scroll-margin-top:130px;scroll-margin-bottom:100px}
 .nl-dialog .crop-stage,.nl-dialog .crop-stage>img{max-height:280px}.nl-dialog .crop-previews>figure{margin:8px auto}
}
/* Keep block controls in a stable slot: pointer-down must not move an insert target before click. */
.nl-block-head{height:44px;overflow:visible;visibility:hidden;pointer-events:none}
.nl-block:focus-within .nl-block-head,.nl-block:hover .nl-block-head{visibility:visible;pointer-events:auto}
@media(max-width:700px){.nl-block-head{visibility:visible;pointer-events:auto}}
.nl-toolbar{top:86px}.nl-photo{line-height:0}
@media(max-width:700px){.nl-toolbar{top:64px}}
/* Editing chrome floats in the boundary; it never changes block layout on focus.
   Insert stays at the left edge, management stays at the right: hit regions do not overlap. */
.nl-block{padding-top:12px}
.nl-blocks>.nl-insert:first-child+.nl-paragraph{padding-top:14px}
.nl-heading{padding-top:24px}.nl-callout{padding-top:16px}.nl-image,.nl-button{padding-top:16px}
.nl-edit{min-height:27px}.nl-heading .nl-edit{min-height:28.5px}
.nl-block-head,.nl-block:hover .nl-block-head,.nl-block:focus-within .nl-block-head{position:absolute;top:0;right:8px;transform:translateY(-100%);height:44px;max-width:220px;margin:0;overflow:visible;visibility:visible;opacity:0;transition:none;pointer-events:none;z-index:3;background:#fff;border-radius:6px;box-shadow:0 2px 8px #18273218;padding:0 4px}
.nl-block:focus-within .nl-block-head{opacity:1;pointer-events:auto}
.nl-kind{font-size:10px;white-space:nowrap}
.nl-insert{height:0;min-height:0;margin:0 28px;position:relative;z-index:4}
.nl-insert summary{position:absolute;left:-20px;top:-4px;width:80px;height:8px;min-height:8px;padding:0;opacity:.15;font-size:11px;line-height:1;background:transparent;overflow:hidden;z-index:1}
.nl-insert summary:after{pointer-events:none}
.nl-insert:hover summary,.nl-insert:focus-within summary,.nl-insert[open] summary,.nl-insert:has(+.nl-block:hover) summary,.nl-insert:has(+.nl-block:focus-within) summary{height:28px;min-height:28px;top:-14px;opacity:1;background:#fff;border:1px solid #dbe1e5;border-radius:5px;overflow:visible}
.nl-insert[open]{z-index:6}
.nl-insert-menu{position:absolute;left:0;top:16px;width:min(420px,100%);box-shadow:0 4px 18px #18273222;margin:0;z-index:2}
.nl-block,.nl-insert summary{scroll-margin-top:160px;scroll-margin-bottom:100px}
#notice{z-index:100}
@media(max-width:700px),(pointer:coarse){
 .nl-insert{height:44px;margin:0 18px}
 .nl-insert summary,.nl-insert:hover summary,.nl-insert:focus-within summary,.nl-insert[open] summary,.nl-insert:has(+.nl-block:hover) summary,.nl-insert:has(+.nl-block:focus-within) summary{left:-8px;top:0;width:80px;height:44px;min-height:44px;opacity:.7;background:#fff;border:0;overflow:visible}
 .nl-insert-menu{top:44px}
 .nl-block-head{right:4px;max-width:210px}
 .nl-block{padding-top:0}.nl-blocks>.nl-insert:first-child+.nl-paragraph{padding-top:0}
}
/* Fine-pointer insertion lives entirely in the paper gutter, never over text. */
@media(min-width:701px) and (pointer:fine){
 .nl-insert summary,.nl-insert:hover summary,.nl-insert:focus-within summary,.nl-insert[open] summary,.nl-insert:has(+.nl-block:hover) summary,.nl-insert:has(+.nl-block:focus-within) summary{left:-28px;top:-14px;width:24px;min-width:24px;height:28px;min-height:28px;font-size:0;opacity:0;background:#fff;overflow:visible}
 .nl-insert summary::before{content:'+';font-size:16px;line-height:1}
 .nl-insert summary::after{display:none}
 .nl-insert:hover summary,.nl-insert:focus-within summary,.nl-insert[open] summary,.nl-insert:has(+.nl-block:hover) summary,.nl-insert:has(+.nl-block:focus-within) summary{opacity:1}
}
/* Notices remain live-region toasts, clear of the top editing toolbar. */
@media(min-width:701px){#notice{top:auto;bottom:16px}}
.nl-tools{display:contents}
@media(max-width:700px){
 .nl-tools{display:block;position:sticky;top:64px;z-index:100;background:#fff;margin-bottom:12px}
 .nl-tools .nl-toolbar{position:static;margin-bottom:0}
 .nl-tools #notice,body.mobile-preview-open #editor-preview #notice{position:static;transform:none;width:auto;max-width:none;margin:4px 0 0;box-shadow:none}
}

/* Explicit newsletter delivery dialog. */
#newsletter-send-dialog { max-width: min(560px, calc(100vw - 32px)); box-sizing: border-box; }
#newsletter-send-dialog textarea { width: 100%; box-sizing: border-box; }
#newsletter-send-receipts { overflow-wrap: anywhere; max-height: 28vh; overflow-y: auto; }
#newsletter-send-dialog .nl-dialog-actions { flex-wrap: wrap; }

/* Carousel cards share the existing studio form controls and spacing. */
.carousel-edit-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.carousel-edit-head h3{flex:1}.carousel-edit-card{border:1px solid var(--line,#ddd);border-radius:12px;padding:16px;margin:12px 0}.carousel-edit-card label{display:block;margin-top:10px}.carousel-edit-card input,.carousel-edit-card textarea,.carousel-edit-card select{max-width:100%;width:100%;box-sizing:border-box}.carousel-edit-head select{width:auto}.carousel-edit-thumb{display:block;max-width:100%;height:120px;object-fit:contain;margin-top:8px}.carousel-edit-card button{min-height:44px}.carousel-edit-card:focus-within{outline:2px solid var(--accent,#c77760);outline-offset:2px}

.carousel-edit-card textarea{min-height:96px;height:96px;resize:vertical}
.carousel-slide-strip{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity}
.carousel-slide-strip .carousel-slide-choice{flex:0 0 140px;min-width:0;display:flex;flex-direction:column;gap:7px;text-align:left;background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--line,#ddd);border-radius:0;padding:10px;scroll-snap-align:start}
.carousel-slide-choice[aria-pressed=true]{border:2px solid var(--blue,#0068d9);padding:9px;background:#f2f7ff}
.carousel-slide-choice img,.carousel-slide-placeholder{width:100%;height:115px;object-fit:contain;background:#f5f5f5;display:grid;place-items:center;font-size:12px;color:var(--muted)}
.carousel-slide-title{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.carousel-slide-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.carousel-slide-copy,.carousel-slide-photo{min-width:0}
.carousel-slide-copy textarea{min-height:210px;height:210px}
.carousel-photo-name{overflow-wrap:anywhere}
.carousel-photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.carousel-photo-choices[hidden]{display:none}
.carousel-photo-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.carousel-photo-choices .carousel-photo-choice{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;padding:6px;border:1px solid var(--line,#ddd);background:#fff;color:var(--text,#111);font-size:12px}
.carousel-photo-choice img{width:100%;height:80px;object-fit:contain;background:#f5f5f5}
.carousel-photo-choice[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--blue,#0068d9);background:#f2f7ff}
.carousel-photo-choice:focus-visible{outline:2px solid var(--blue,#0068d9);outline-offset:2px}
.carousel-slide-changed{font-size:11px;color:#945000}
.carousel-undo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:#f5f7fa}
.carousel-focus-tools{display:none}
.carousel-savebar{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line,#ddd);padding:14px 16px;background:#fff;box-shadow:0 -6px 18px #00000008}
.carousel-savebar p{margin:0 0 6px;font-weight:600;font-size:13px}
.carousel-savebar .carousel-review-label{display:flex;align-items:center;gap:8px;font-size:12px;margin:0}
.carousel-savebar input[type=checkbox]{width:18px;min-height:18px;flex:0 0 18px;margin:0}
.carousel-savebar button{flex-shrink:0;min-height:44px}
.carousel-focused #common-authoring,.carousel-focused .common-media{display:none}
.carousel-focused .carousel-focus-tools{display:flex;justify-content:flex-end;margin-bottom:16px}
.carousel-focused #instagram-editor{scroll-margin-top:88px}
.carousel-focused #carousel-editor{scroll-margin-top:88px}
body.carousel-focused.marketing-editing .carousel-savebar{position:fixed;left:216px;right:0;bottom:0;z-index:24}
body.carousel-focused.mobile-preview-open .carousel-savebar{visibility:hidden}
body.carousel-focused.marketing-editing .editor-actions{display:none}
body.carousel-focused.marketing-editing #instagram-editor{padding-bottom:150px}
@media(max-width:768px){body.carousel-focused.marketing-editing .carousel-savebar{left:0;bottom:70px}}
@media(min-width:1101px){.carousel-focused .editor-layout{grid-template-columns:minmax(0,1fr) 300px}.carousel-focused #editor-preview{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}}
@media(max-width:700px){.carousel-savebar{flex-direction:column;align-items:stretch;padding:12px;gap:10px}.carousel-savebar button{width:100%}.carousel-photo-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
.carousel-photo-stage{height:260px;background:#f7f7f7;border:1px solid var(--line,#ddd);display:flex;align-items:center;justify-content:center;margin-top:10px}
.carousel-photo-stage .carousel-edit-thumb{width:100%;height:100%;max-height:100%;object-fit:contain;margin:0}
.carousel-edit-card:focus-within{outline:none}
.carousel-slide-choice:focus-visible{outline:2px solid var(--blue,#0068d9);outline-offset:2px}
@media(max-width:700px){.carousel-slide-fields{grid-template-columns:minmax(0,1fr);gap:12px}.carousel-slide-strip .carousel-slide-choice{flex-basis:120px}.carousel-photo-stage{height:230px}}

/* Approved three-stage common authoring flow, 2026-10-15. */
.unified-workflow .common-channel-choices{display:flex;flex-wrap:wrap;gap:12px 24px;border:1px solid var(--line,#d8d9df);border-radius:12px;padding:20px;margin:0 0 20px;background:#fff}
.common-channel-choices legend{font-weight:700;padding:0 8px}.common-channel-choices label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0}.common-channel-choices input{width:18px;height:18px}
.common-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.common-heading h2{margin:12px 0}.common-toolbar{display:flex;gap:4px;flex-wrap:wrap;margin:16px 0 10px}.common-toolbar button{min-height:44px;font-size:13px}
.common-authoring{margin-top:24px;min-width:0}#common-editor{min-width:0}#common-error,#common-button-error{color:#a12b21;font-weight:600;white-space:pre-wrap}
.unified-workflow .toastui-editor-defaultUI{border:1px solid #cdd2dc;border-radius:8px;overflow:hidden;font-family:inherit}.unified-workflow .toastui-editor-contents{font-family:inherit;font-size:16px;line-height:1.8;color:#243045;padding:18px 28px}.unified-workflow .toastui-editor-contents p{margin:0 0 16px}.unified-workflow .toastui-editor-contents h2{font-size:23px;border:0;margin:28px 0 12px}.unified-workflow .toastui-editor-contents blockquote{background:#f0f4ff;border-left:4px solid #4265d8;padding:14px 18px;color:#243045}.unified-workflow .toastui-editor-defaultUI-toolbar{height:auto;min-height:56px;flex-wrap:wrap;padding:6px}.unified-workflow .toastui-editor-defaultUI-toolbar button{min-height:44px;min-width:36px}.unified-workflow .toastui-editor-contents img{max-height:280px;object-fit:contain}.unified-workflow .toastui-editor-contents a{display:inline-block;padding:8px 18px;background:#315be8;color:white;border-radius:6px}
.common-media{padding:20px;margin:24px 0;background:#f5f7fb;border:1px solid #e0e4ec;border-radius:12px}.common-media h3{margin:0}.common-media button{min-height:44px;margin-right:8px}
.unified-workflow #mk-step-1 .sc-grid{grid-template-columns:120px minmax(0,1fr)}.unified-workflow #mk-step-1 .sc-side{grid-column:1/-1}.unified-workflow #mk-step-1 .sc-media{align-self:start}
.unified-workflow .channel-content{padding-top:16px}.unified-workflow #editor-preview{min-width:0}.unified-workflow .editor-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}
.delivery-panel{margin-bottom:24px}.delivery-channels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.delivery-channels>section{padding:22px;border:1px solid #dfe4ed;border-radius:12px;min-width:0}.delivery-channels h3{margin-top:0}.delivery-channels button{min-height:44px;margin:8px 0;white-space:normal}#delivery-mail-actions{display:flex;flex-direction:column}#mk-step-3 #article-workbench{margin-top:20px}.unified-workflow #mk-step-3 .step3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.unified-workflow .editor-layout{grid-template-columns:1fr}.delivery-channels,.unified-workflow #mk-step-3 .step3-grid{grid-template-columns:1fr}.unified-workflow .toastui-editor-contents{padding:16px}.common-toolbar button{flex:1 0 auto}}
@media(max-width:700px){.common-channel-choices{padding:12px!important;gap:8px!important}.common-channel-choices label{flex:1 1 40%}.common-heading h2{font-size:21px}.common-media{padding:14px}.common-media button{margin:4px 0;width:100%}.delivery-channels>section{padding:16px}.unified-workflow .toastui-editor-popup{max-width:calc(100vw - 48px)}.unified-workflow .toastui-editor-defaultUI-toolbar button{margin:2px}.unified-workflow #mk-step-1 .sc-grid{grid-template-columns:1fr}.unified-workflow .sc-media{max-width:140px}.common-authoring .toastui-editor-contents{font-size:15px}.common-toolbar{gap:4px}.common-toolbar button{font-size:12px}}
/* Use explicit text-labelled commands; retain TOAST's editing/IME/Undo engine. */
#common-editor .toastui-editor-md-tab-container{display:none!important}
/* TOAST UI's own toolbar (2026-10-26). Icons keep their 32px sprite box; padding makes every target 44px. */
#common-editor .toastui-editor-defaultUI-toolbar{padding:0 6px;height:auto;min-height:45px;align-items:center}
#common-editor .toastui-editor-toolbar{height:auto}
#common-editor .toastui-editor-defaultUI-toolbar button,#common-editor .toastui-editor-dropdown-toolbar button{width:44px;height:44px;margin:0 1px;padding:6px;background-origin:content-box;background-clip:content-box}
#common-editor .toastui-editor-toolbar-item-wrapper{margin:0 1px;height:44px;line-height:normal}
#common-editor .toastui-editor-toolbar-divider{margin:13px 6px}
#common-editor .toastui-editor-dropdown-toolbar{height:auto;padding:0 4px;flex-wrap:wrap;max-width:calc(100vw - 48px)}
#common-editor .common-tool{background:none!important;color:#555;display:inline-flex;align-items:center;justify-content:center}
#common-editor .common-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#common-editor .toastui-editor-defaultUI-toolbar[inert]{opacity:.45}
#common-editor .toastui-editor-defaultUI-toolbar button:focus-visible{outline:2px solid var(--ws-focus);outline-offset:-2px}
/* TOAST's popups: the app's global button padding squeezed their labels; heading rows are 44px targets with a focus ring.
   Below 700px TOAST's own -150px margin (max-width 480px) put them off-screen, so they open at the editor's left edge. */
#common-editor .toastui-editor-popup-body button{padding:0}
#common-editor .toastui-editor-popup-add-heading li{min-height:44px;display:flex;align-items:center}
#common-editor .toastui-editor-popup-add-heading li:focus{outline:2px solid var(--ws-focus);outline-offset:-2px}
@media(max-width:700px){#common-editor .toastui-editor-popup{left:0!important;margin-left:0!important;max-width:calc(100vw - 48px)}}
/* A hover tooltip never takes a tap, and touch screens without hover do not show it over an open menu. */
#common-editor .toastui-editor-tooltip{pointer-events:none}
@media(hover:none){#common-editor .toastui-editor-tooltip{display:none!important}}
/* The newsletter grammar keeps one heading size; a formatted draft keeps h2-h6 (rich_html.py maps h1 to h2). */
#common-authoring:not(.rich) .toastui-editor-popup-add-heading li[data-level]:not([data-level="2"]),#common-authoring.rich .toastui-editor-popup-add-heading li[data-level="1"]{display:none}
.unified-workflow .common-toolbar{border:1px solid #d8dfeb;background:#f6f8fc;padding:6px;border-radius:8px}
.unified-workflow .common-authoring{margin-top:14px}.unified-workflow .editor-support{margin:10px 0}.unified-workflow #common-editor .toastui-editor-contents{padding:20px 24px}
@media(max-width:700px){.unified-workflow .source-bar{padding:10px;gap:6px}.unified-workflow .source-bar button{font-size:12px;padding:6px}.unified-workflow .source-bar .tiny-label{display:none}.unified-workflow .source-bar strong{flex-basis:100%}.unified-workflow .result-top{margin:10px 0}.unified-workflow .common-heading h2{font-size:18px}.unified-workflow #common-editor .toastui-editor-contents{padding:14px}.unified-workflow .stepper button{font-size:12px}}
.unified-workflow #editor-preview .channel-tabs{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;border:0;margin:8px 0 16px;padding:0}.unified-workflow #editor-preview .channel-tabs button{flex:1;min-height:44px;padding:8px;font-size:12px}.unified-workflow .channel-workbench{display:block}.unified-workflow .channel-content{min-width:0}
.common-toolbar button{min-width:44px}#delivery-mail-status,#delivery-instagram-status,#delivery-kakao-status,#kakao-api-status{white-space:pre-line;padding:10px 0;color:var(--ink)}
/* Kakao brand message (SOLAPI) send, 2026-11-03: sits above the manual record in the same card. */
.kakao-api{margin:14px 0 18px;padding:14px;border:1px solid var(--ws-border,#dfe4ed);border-radius:10px;background:var(--ws-surface,#fff)}.kakao-api h4,.kakao-manual-title{margin:0;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kakao-manual-title{margin:6px 0 6px}.kakao-api-actions{display:flex;gap:8px;flex-wrap:wrap}.kakao-api-actions button{flex:1 1 140px}#kakao-api-audience textarea{font-variant-numeric:tabular-nums;min-height:110px}#kakao-api-audience button{width:100%}.kakao-api-preview{display:grid;gap:10px;margin:12px 0;padding:12px;border-radius:10px;background:var(--yellow,#fee500)}.kakao-api-preview img{width:100%;max-width:320px;aspect-ratio:1;object-fit:cover;border-radius:6px;background:#fff}.kakao-api-preview pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.7;color:#1d2529}#kakao-api-preview-buttons{display:flex;gap:6px;flex-wrap:wrap}#kakao-api-preview-buttons:empty{display:none}.kakao-api-button{flex:1 1 120px;text-align:center;background:#fff;border-radius:6px;padding:8px;font-size:12px;color:#1d2529}.kakao-api-facts{white-space:pre-line;color:var(--ink);font-size:13px}#kakao-api-dialog-warnings{padding-left:18px;color:#8a5a14}#kakao-api-dialog-warnings:empty{display:none}@media(max-width:700px){.kakao-api{padding:12px}.kakao-api-actions button{flex-basis:100%}}
#instagram-permalink{display:inline-block;padding:10px 0;font-weight:650}.unified-workflow #common-authoring{scroll-margin-top:76px}
/* 2026-10-22 원문 서식 본문과 TOAST UI 입력칸 */
.mail-article{display:flex;flex-direction:column;gap:6px}.mail-article>*{margin:0}.mail-article h2,.mail-article h3,.mail-article h4,.mail-article h5,.mail-article h6{font-size:13px;color:#182732;margin-top:6px}
.mail-article ul,.mail-article ol{padding-left:18px}.mail-article blockquote{border-left:3px solid var(--blue);background:#f4f6fb;padding:8px 10px;color:#182732}
.mail-article table{border-collapse:collapse;width:100%;font-size:10px}.mail-article th,.mail-article td{border:1px solid #d9dde0;padding:3px 5px;text-align:left}.mail-article hr{border:0;border-top:1px solid #e5e7e9;width:100%}
.mail-article a{color:var(--blue)}
#common-authoring.rich .toastui-editor-contents a{display:inline;padding:0;background:none;color:#315be8;text-decoration:underline;border-radius:0}
#common-authoring.rich .toastui-editor-contents img{max-height:none;max-width:100%}
#common-authoring.rich .toastui-editor-contents table{margin:0 0 16px}
textarea.toast-backed{display:none!important}
.toast-field{margin:4px 0 10px;min-width:0}.toast-field .toastui-editor-toolbar,.toast-field .toastui-editor-defaultUI-toolbar,.toast-field .toastui-editor-md-tab-container,.toast-field .toastui-editor-mode-switch{display:none!important}
.toast-field .toastui-editor-defaultUI{border:1px solid #cdd2dc;border-radius:8px;overflow:hidden;font-family:inherit;background:#fff}
.unified-workflow .toast-field .toastui-editor-contents,.toast-field .toastui-editor-contents{padding:10px 14px;font-family:inherit;font-size:15px;line-height:1.6;color:#243045}
.toast-field .toastui-editor-contents p{margin:0}.toast-field .toastui-editor-contents a{display:inline;padding:0;background:none;color:#315be8}
.toast-field.invalid .toastui-editor-defaultUI,.toast-field.over-limit .toastui-editor-defaultUI{border-color:#a12b21}.toast-field.readonly .toastui-editor-defaultUI{background:#f6f7f9}
.toast-field-limit{color:#a12b21;font-size:12px;font-weight:600;margin:-6px 0 8px}

/* Workspace shell + home v1. Native editor styling is intentionally scoped separately. */

/* Contact-sheet workspace: selected visual direction, 2026-10-31. */
.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-200%);background:var(--ws-surface);color:var(--ws-accent);padding:12px}.skip-link:focus{transform:none}
.topbar{height:var(--ws-header-height);background:var(--ws-shell);color:var(--ws-shell-text);border-color:var(--ws-shell-border);padding:0 clamp(24px,3.2vw,48px);gap:24px}
.topbar .wordmark{font-size:28px;letter-spacing:-1.3px;color:var(--ws-shell-text)}.topbar .wordmark span{font-size:9px;color:var(--ws-shell-muted)}
.topbar .brand-scope select{min-height:44px;border-color:var(--ws-shell-border);border-radius:var(--ws-radius-control);background:var(--ws-shell);color:var(--ws-shell-text);color-scheme:dark}.topbar .brand-scope label{color:var(--ws-shell-muted)}
.topbar .header-right{flex:1;min-width:0;flex-wrap:nowrap;justify-content:flex-end;max-width:none;gap:12px;color:var(--ws-shell-muted)}.topbar .header-right>.text-button{flex-shrink:0;white-space:nowrap;color:var(--ws-shell-text)}.topbar .text-button:hover{background:var(--ws-shell-hover)}
.topbar .me-badge{min-width:0;max-width:220px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;color:var(--ws-shell-text)}
.topbar .switch-link,.topbar #workspace-label,.topbar .live-dot{display:none}
.app{display:block;min-height:calc(100dvh - var(--ws-header-height));background:var(--ws-canvas)}
.sidenav{position:sticky;top:var(--ws-header-height);height:auto;min-height:64px;display:flex;flex-direction:row;align-items:stretch;gap:40px;padding:0 clamp(24px,3.2vw,48px);background:var(--ws-surface);border:0;border-bottom:1px solid var(--ws-border);overflow-x:auto;z-index:10}
.nav-section-label,.nav-foot,.nav-icon{display:none}.nav-link{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:none;min-height:64px;padding:0 4px;background:transparent;color:var(--ws-text);border-radius:0;border-bottom:3px solid transparent;font-size:16px;font-weight:550;white-space:nowrap}
.nav-link:hover{background:var(--ws-gray-050);color:var(--ws-text)}.nav-link.active{background:transparent;color:var(--ws-accent);border-bottom-color:var(--ws-accent)}.nav-count{margin:0;background:var(--ws-accent);color:var(--ws-surface)}#nav-crm{order:1}
.pages{padding:42px clamp(24px,3.2vw,48px) 32px;max-width:1536px;margin:auto;min-width:0}
.nav-link:focus-visible,.home-library-link:focus-visible,.skip-link:focus-visible,#page-home button:focus-visible{outline:3px solid var(--ws-focus);outline-offset:3px}
#page-home{max-width:1440px;margin:auto;color:var(--ws-text)}.home-heading{align-items:center;gap:24px;margin-bottom:34px}#page-home h1{font-size:42px;letter-spacing:-1.4px}#page-home .page-sub{margin-top:12px;font-size:16px;color:var(--ws-muted)}
#home-new{min-height:48px;background:var(--ws-accent);color:var(--ws-surface);border-color:var(--ws-accent);border-radius:var(--ws-radius-control);padding:12px 28px;font-size:14px;white-space:nowrap;flex-shrink:0}#home-new:hover{background:var(--ws-accent-hover)}
.home-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ws-border)}.home-filters{display:flex;gap:28px;min-width:0}.home-filters button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ws-muted);border-radius:0;padding:14px 8px;white-space:nowrap;font-weight:500;min-height:48px}.home-filters button[aria-pressed=true]{border-color:var(--ws-accent);color:var(--ws-accent);font-weight:700}.home-filters button span{margin-left:6px;font-variant-numeric:tabular-nums}
#page-home .text-button{font-size:12px;min-height:44px;color:var(--ws-muted);white-space:nowrap}.home-load-status{font-size:11px;min-height:18px;margin:4px 0 8px;color:var(--ws-muted)}
#page-home .home-contact-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px;align-items:start;margin-bottom:40px}
#page-home .home-content-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--ws-text);text-align:left;font-weight:400}
#page-home .home-content-card:hover{background:transparent}#page-home .home-content-card:hover .home-card-action{background:var(--ws-accent-soft)}#page-home .home-content-card:focus-visible{outline-offset:6px}
.home-card-status{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;line-height:20px;margin-bottom:12px;border-radius:2px;background:#edf0f2;color:#46515a}.home-card-status.pending{background:#fff0cd;color:#805300}.home-card-status.changes{background:#fde8e5;color:#a3322a}
.home-card-media{display:block;position:relative;aspect-ratio:1.6;width:100%;overflow:hidden;background:var(--ws-gray-050);margin-bottom:18px}.home-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-card-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;color:var(--ws-muted);font-size:13px}
#page-home .home-content-card strong{font-size:19px;font-weight:700;line-height:1.45;letter-spacing:-.5px;overflow-wrap:anywhere}#page-home .home-content-card small{display:block;font-size:14px;line-height:1.7;color:var(--ws-muted);margin-top:8px;overflow-wrap:anywhere}.home-card-action{color:var(--ws-accent);font-weight:650;font-size:14px;margin-top:16px;min-height:44px;display:flex;align-items:center}.home-card-action{border:1px solid var(--ws-accent);border-radius:var(--ws-radius-control);padding:8px 24px}
.home-empty{grid-column:1/-1;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;background:var(--ws-gray-050);padding:32px}.home-empty p{font-size:14px;color:var(--ws-muted)}
.home-support{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:32px;border-top:1px solid var(--ws-border);padding-top:24px;margin-bottom:32px}.home-support .panel-head{gap:16px;align-items:center;margin-bottom:12px}.home-support h2{font-size:20px}.home-support .fine{color:var(--ws-muted);font-size:12px}
#page-home .connection-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;margin:16px 0 0;padding:0}#page-home .connection-list li{display:flex;align-items:flex-start;flex-direction:column;gap:4px;min-width:0;padding:0 0 0 12px;border:0;border-left:1px solid var(--ws-border);font-size:13px}#page-home .connection-list .state{font-size:11px;white-space:normal}
.home-library-link{display:flex;flex-direction:column;gap:12px;padding:0 0 0 32px;border-left:1px solid var(--ws-border);color:var(--ws-text);text-decoration:none}.home-library-link strong{font-size:20px}.home-library-link span{font-size:13px;color:var(--ws-muted)}.home-library-link b{font-size:14px;color:var(--ws-accent)}.home-library-link:hover b{text-decoration:underline}
#page-home .project-notes{border:0;border-top:1px solid var(--ws-border);border-radius:0;padding:16px 0;background:transparent;font-size:12px}#page-home .project-notes summary{min-height:44px;display:flex;align-items:center;gap:8px}
footer{background:var(--ws-surface);color:var(--ws-muted);border-top:1px solid var(--ws-border)}
@media(max-width:1100px){#page-home .connection-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .wordmark span{display:none}.topbar .me-badge{max-width:160px}.sidenav{gap:20px}.pages{padding-top:32px}#page-home h1{font-size:32px}.home-support{grid-template-columns:minmax(0,2fr) minmax(210px,1fr)}}
@media(min-width:769px) and (max-width:900px){#page-home .home-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.home-support{grid-template-columns:1fr}.home-library-link{border-left:0;padding-left:0}}
@media(max-width:768px){
 .app{display:block}.topbar,body.marketing-page .topbar{height:64px;min-height:64px;flex-wrap:nowrap;padding:8px 16px;gap:12px}
 .topbar .wordmark,body.marketing-page .wordmark{font-size:24px}.topbar .wordmark span,.brand-scope label{display:none}.brand-scope,body.marketing-page .brand-scope{flex:1;min-width:0;margin:0}.brand-scope select{min-width:0;width:100%}
 #marketing-menu,body.marketing-page #marketing-menu{display:block;min-width:44px;min-height:44px;font-size:14px;margin:0;color:var(--ws-shell-text)}
 .sidenav,body.marketing-page .sidenav{display:none}.topbar .header-right{display:none}
 body.marketing-menu-open .topbar{z-index:40}
 body.marketing-menu-open .sidenav,body.marketing-page.marketing-menu-open .sidenav{display:flex;position:fixed;top:64px;left:0;right:0;height:calc(100dvh - 64px);max-height:none;flex-direction:column;align-items:stretch;gap:0;background:var(--ws-shell);border:1px solid var(--ws-shell-border);padding:16px 16px 180px;z-index:30;overflow:auto}
 body.marketing-menu-open .topbar .header-right{display:flex;position:fixed;top:auto;bottom:0;left:0;right:0;max-width:none;max-height:30dvh;overflow:auto;flex-wrap:wrap;padding:16px;background:var(--ws-shell);border:1px solid var(--ws-shell-border);z-index:30;justify-content:flex-start}
 .topbar .me-badge{max-width:100%}.nav-link{color:var(--ws-shell-muted);border:0;min-height:48px;font-size:14px;padding:12px}.nav-link.active{background:var(--ws-shell-hover);color:var(--ws-shell-text)}.nav-link:hover{background:var(--ws-shell-hover);color:var(--ws-shell-text)}.nav-link::first-letter{font-size:inherit}
 .pages{padding:28px 20px}.home-heading{flex-wrap:wrap;align-items:flex-start;margin-bottom:20px}#page-home h1{font-size:28px}#page-home .page-sub{font-size:14px}#home-new{padding:10px 20px}.home-filters{gap:8px}.home-filters button{padding:12px 4px;font-size:13px}.home-filter-bar{gap:4px}#page-home .home-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.home-support{grid-template-columns:1fr;gap:24px}.home-support .panel-head{flex-wrap:wrap}.home-library-link{border-left:0;border-top:1px solid var(--ws-border);padding:20px 0 0}#page-home .home-content-card strong{font-size:17px}
}
@media(max-width:540px){#page-home .home-contact-sheet{grid-template-columns:1fr}.home-card-media{aspect-ratio:1.6}#page-home .connection-list{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.nav-link,#page-home button{transition:none}}
/* Inner workspace surfaces share the selected home's flat editorial rhythm. */
.pages>.page{color:var(--ws-text)}
.pages>.page:not(#page-home)>.page-head{margin-bottom:24px;align-items:center;gap:20px}
.pages>.page:not(#page-home)>.page-head h1{font-size:32px;letter-spacing:-1px}
.pages>.page:not(#page-home) .page-sub{font-size:14px;color:var(--ws-muted);margin-top:8px}
:is(#page-marketing,#page-reviews,#page-data,#page-knowledge,#page-accounts) .panel{border-radius:var(--ws-radius-card);border-color:var(--ws-border);box-shadow:none;padding:24px}
:is(#page-reviews,#page-data,#page-knowledge,#page-accounts) h2{font-size:20px;color:var(--ws-text)}
:is(#page-reviews,#page-data,#page-knowledge,#page-accounts) .fine{font-size:12px;color:var(--ws-muted)}
:is(#page-reviews,#page-data,#page-knowledge,#page-accounts) input,:is(#page-reviews,#page-data,#page-knowledge,#page-accounts) select{border-radius:var(--ws-radius-control)}
#page-data .data-grid{gap:32px;align-items:start}#page-data .data-grid>.panel{border:0;border-top:1px solid var(--ws-border);padding:20px 0}#page-data .data-shortcuts{margin-bottom:24px;gap:12px}
#page-data table{font-size:13px;word-break:keep-all;overflow-wrap:break-word}#page-data th:first-child,#page-data td:first-child{white-space:nowrap}#page-data th,#page-data td{padding:12px 8px}
#page-reviews .review-layout,#page-knowledge .kn-layout{gap:24px}
#page-reviews .review-layout>.drafts-panel{margin:0}#page-reviews .draft-row{border-radius:var(--ws-radius-control)}
#page-marketing .stepper{gap:24px;margin-bottom:20px;border-bottom:1px solid var(--ws-border)}
#page-marketing .step-btn{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;min-height:48px;padding:10px 0;color:var(--ws-muted)}
#page-marketing .step-btn.active{border-bottom-color:var(--ws-accent);color:var(--ws-accent);background:transparent}
#page-marketing .common-channel-choices{border:0;border-bottom:1px solid var(--ws-border);border-radius:0;padding:8px 0 16px!important;margin:0!important;gap:12px 24px!important}
#page-marketing .common-channel-choices label{min-height:44px;margin:0;align-items:center}
#page-marketing .common-channel-choices legend{padding:0;font-size:13px;color:var(--ws-muted)}
#page-marketing #mk-step-1{gap:20px}
#page-marketing .intake-panel{border:0;padding:0 0 20px;border-bottom:1px solid var(--ws-border)}
#page-marketing .intake-panel .source-intake{border:0;padding:0}#page-marketing .intake-panel .tabs{margin-bottom:20px;gap:20px}
#page-marketing .intake-panel .tab{padding:10px 0;min-height:44px;font-size:14px}
#page-marketing .intake-panel :is(input:not([type=checkbox]),select,textarea){border-radius:var(--ws-radius-control);border-color:var(--ws-border);font-size:14px}
#page-marketing .intake-panel label{font-size:13px}
#page-marketing .intake-panel .fine{font-size:12px;line-height:1.7}
#page-marketing .support-data{padding:0;border:0;border-bottom:1px solid var(--ws-border);margin:0}
#page-marketing .support-data>summary{min-height:44px;align-content:center}
#page-marketing #mk-step-1>.action-bar{position:static;border:0;border-radius:0;box-shadow:none;padding:4px 0 16px;flex-wrap:wrap;gap:12px}
#page-marketing #mk-step-1>.action-bar #generate-reason{flex:1;min-width:180px;margin:0}
#page-marketing #mk-step-1>.action-bar #generate{min-height:48px}
@media(min-width:900px){#page-marketing #tab-url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start}#page-marketing #tab-url>label,#page-marketing #tab-url>details,#page-marketing #tab-url>p{grid-column:1/-1}#page-marketing #source-add{margin:0;min-height:44px}#page-marketing #source-url{min-height:44px}}
@media(max-width:768px){.pages>.page:not(#page-home)>.page-head{margin-bottom:20px;align-items:flex-start}.pages>.page:not(#page-home)>.page-head h1{font-size:28px}:is(#page-reviews,#page-data,#page-knowledge,#page-accounts) .panel{padding:20px}#page-marketing .stepper{gap:12px}#page-marketing .step-btn{font-size:12px;min-height:60px}#page-marketing .common-channel-choices{gap:8px 16px!important;margin-bottom:0!important}#page-marketing .intake-panel .tabs{gap:20px}#page-marketing #mk-step-1>.action-bar{align-items:stretch}#page-marketing #mk-step-1>.action-bar #generate{width:100%}#page-marketing #mk-selection{width:100%}}

/* Audit refinements: preserve native controls and readable table columns. */
.table-scroll-hint{display:none}
#page-data .table-wrap,#accounts-table,#kn-list{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#page-data #data-refresh table{min-width:660px}
#page-data .plain-table{min-width:560px}
#accounts-table table{min-width:980px}
#page-data .table-wrap:focus-visible,#accounts-table:focus-visible{outline:2px solid var(--ws-focus);outline-offset:4px}
#page-data .data-grid>*{min-width:0}
#page-knowledge .kn-layout{grid-template-columns:1fr}
#page-knowledge .kn-layout.has-selection{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
#page-knowledge .kn-layout>.panel{min-width:0}
#page-knowledge .guidance-v2.is-readonly .gv-grid{grid-template-columns:1fr}
#page-knowledge .guidance-v2 .panel-head{align-items:flex-start;flex-direction:column;gap:8px}
#page-knowledge .guidance-v2 .panel-head h2{white-space:normal}
#page-knowledge .guidance-v2 .panel-head .muted{font-size:13px;line-height:1.6}
.bridge-disclosure{border-bottom:1px solid var(--ws-border);margin:8px 0 16px;padding-bottom:8px}
.bridge-disclosure>summary{font-size:12px;min-height:44px;align-content:center;color:var(--ws-muted);cursor:pointer}
#page-reviews .drafts-toolbar{gap:12px}
#page-reviews .draft-row{padding:16px 12px}
#page-reviews .draft-row strong{font-size:15px;line-height:1.5}
#page-reviews .draft-row small{font-size:12px;line-height:1.6}
#page-reviews .review-detail:has(#review-pane[hidden]){min-height:0;align-self:start}
#page-reviews .review-detail .empty-note{min-height:120px;padding:24px 8px}
.topbar .account-summary{position:relative;color:var(--ws-shell-text);font-size:12px}
.topbar .account-summary>summary{min-height:44px;align-content:center;cursor:pointer;padding:8px}
.topbar .account-summary .me-badge{position:absolute;right:0;top:100%;width:300px;max-width:80vw;padding:20px;background:var(--ws-shell);border:1px solid var(--ws-shell-border);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.8;font-size:13px;z-index:45}
.login-panel{border-radius:var(--ws-radius-card);background:var(--ws-surface);box-shadow:none;border-color:var(--ws-border)}
.login-panel input{border-radius:var(--ws-radius-control)}
body:has(#login-panel:not([hidden])){background:var(--ws-surface)}
.password-panel.nl-dialog{width:min(480px,calc(100vw - 32px));max-width:480px;margin:auto;padding:28px;background:var(--ws-surface);border-radius:var(--ws-radius-card);border:1px solid var(--ws-border);max-height:calc(100dvh - 32px);overflow:auto}
.password-panel .password-grid{grid-template-columns:1fr;gap:16px;margin:20px 0}
.password-panel input{border-radius:var(--ws-radius-control)}
#password-error{color:var(--danger,#a3322a);font-size:14px}
.home-load-status.is-error{color:var(--danger,#a3322a);font-size:13px}
#page-home .home-error{min-height:210px;border:1px solid var(--ws-border);background:var(--ws-surface)}
#page-home .home-heading .page-sub{max-width:640px;line-height:1.6}
@media(max-width:1100px){#page-data .data-grid{grid-template-columns:1fr}}
@media(max-width:768px){
 .table-scroll-hint{display:block;font-size:12px;color:var(--ws-muted);margin:0 0 12px}
 #page-data .data-grid>.panel{padding:20px 0}
 #page-accounts .account-grid{grid-template-columns:1fr;gap:12px}
 #page-accounts .account-grid label{margin-top:0}
 #page-accounts #acc-create{margin-top:20px}
 #page-accounts .account-grid input,#page-accounts .account-grid select{width:100%;min-height:44px}
 #page-knowledge .kn-layout.has-selection{grid-template-columns:1fr}
 #page-knowledge #kn-kind-tabs{gap:8px;flex-wrap:wrap}
 #page-knowledge #kn-kind-tabs .tab{font-size:13px;min-height:44px}
 #page-knowledge .guidance-v2 .panel-head h2{font-size:20px}
 #page-reviews .review-detail:has(#review-pane[hidden]){display:none}
 #page-reviews .drafts-toolbar{display:grid;grid-template-columns:1fr 1fr}
 #page-reviews .drafts-toolbar>div{min-width:0}
 #page-reviews .drafts-toolbar select{width:100%;min-width:0}
 #page-reviews .drafts-toolbar label{margin-top:0}
 #page-reviews .drafts-toolbar>button{grid-column:1/-1;min-height:44px}
 #page-reviews .drafts-toolbar label.workbench-check{min-height:44px;margin:0;grid-column:1/-1}
 #page-reviews .bridge-disclosure{margin-bottom:8px}
 .topbar .account-summary .me-badge{position:static;width:auto;max-width:100%;border:0;padding:8px 0}
 .topbar .account-summary{width:100%}
 .pages>#page-marketing.page>.page-head{gap:8px;margin-bottom:12px;flex-direction:column;align-items:stretch}
 #page-marketing>.page-head .page-actions{margin:0;justify-content:flex-start}
 #page-marketing #latest{min-height:44px;width:auto;margin:0;padding:8px 0;text-align:left;font-size:12px}
 #page-marketing .stepper{margin-bottom:12px;gap:12px}
 #page-marketing .step-btn{min-height:44px;padding:8px 0;line-height:1.4}
 #page-marketing #mk-step-1{gap:12px}
 #page-marketing .common-channel-choices{display:grid!important;grid-template-columns:1fr 1fr;gap:0 12px!important;padding:0 0 8px!important}
 #page-marketing .common-channel-choices label{font-size:13px;min-height:44px}
 #page-marketing .intake-panel .tabs{margin-bottom:12px;gap:16px}
 #page-marketing .manual-intake>p:first-child{margin-top:0}
 #page-marketing .manual-intake .checkbox-label,#page-marketing .manual-intake .workbench-check{display:flex;align-items:flex-start;gap:8px;line-height:1.7;word-break:keep-all}
}
@media(max-width:540px){
 #page-home .home-contact-sheet{gap:24px}
 #page-home .home-card-media{aspect-ratio:2.4;margin-bottom:12px}
 #page-home .home-card-status{margin-bottom:8px}
 #page-home .home-content-card small{font-size:12px;margin-top:4px}
 #page-home .home-card-action{margin-top:12px}
}

/* Approved sidebar navigation, 2026-10-31. Mobile drawer remains unchanged. */
@media(min-width:769px){
 .app{display:grid;grid-template-columns:216px minmax(0,1fr);align-items:start}
 .sidenav{display:flex;flex-direction:column;gap:4px;height:calc(100dvh - var(--ws-header-height));padding:24px 12px;border:0;border-right:1px solid var(--ws-border);overflow:auto}
 .nav-link{min-height:48px;padding:12px 16px;border:0;border-left:3px solid transparent;font-size:14px;gap:12px}
 .nav-link.active{border-left-color:var(--ws-accent);background:var(--ws-accent-soft);color:var(--ws-accent)}
 .nav-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
 .nav-section-label{display:block;font-size:10px;letter-spacing:2px;color:var(--ws-muted);padding:0 16px 20px}
 .pages{width:100%;min-width:0;margin:0;padding:36px 32px}
 #page-home h1{font-size:32px}
 #page-home .home-contact-sheet{gap:28px 24px}
 #page-home .home-content-card strong{font-size:17px}
 .home-support{grid-template-columns:minmax(0,1fr)}
 .home-library-link{border-left:0;padding-left:0}
}
@media(max-width:1000px) and (min-width:769px){#page-home .home-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Account directory: read first, expand only the account being managed. */
#accounts-table{overflow:visible;margin:0}
.accounts-list-head{display:flex;align-items:baseline;gap:12px;padding-bottom:20px}
.accounts-list-head h2{margin:0}
.accounts-list-head>span{color:var(--ws-muted);font-size:13px}
.account-item{border-top:1px solid var(--ws-border)}
.account-item:last-child{border-bottom:1px solid var(--ws-border)}
.account-row-summary{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.5fr) minmax(100px,.65fr) 60px;gap:24px;align-items:center;padding:24px 8px;list-style:none;cursor:pointer}
.account-row-summary::-webkit-details-marker{display:none}
.account-row-summary:hover{background:var(--ws-surface-subtle,#f7f7f7)}
.account-row-summary:focus-visible{outline:2px solid var(--ws-focus);outline-offset:-2px}
.account-identity,.account-scope{display:flex;flex-direction:column;gap:6px;min-width:0}
.account-identity strong{font-size:15px;color:var(--ws-text)}
.account-identity .account-login-name,.account-scope>span{margin:0;color:var(--ws-muted);font-size:12px;overflow-wrap:anywhere;word-break:keep-all}
.account-scope strong{font-size:13px;font-weight:500}
.account-status{--account-active:#167343;--account-paused:#c03030;--account-password:#a6530b;font-size:12px;word-break:keep-all;color:var(--account-active)}
.account-status::before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:8px;vertical-align:middle}
.account-status.is-paused{color:var(--account-paused)}
.account-status.needs-password{color:var(--account-password)}
.account-manage-label{font-size:12px;text-align:right;white-space:nowrap}
.account-manage-label::after{content:' +';margin-left:8px}
.account-item[open] .account-manage-label::after{content:' −'}
.account-item[open]>.account-row-summary{background:var(--ws-surface-subtle,#f7f7f7)}
.account-details{padding:0 24px 24px;background:var(--ws-surface-subtle,#f7f7f7)}
.account-meta{display:flex;flex-wrap:wrap;gap:8px 24px;padding:16px 0 24px;color:var(--ws-muted);font-size:12px;border-top:1px solid var(--ws-border)}
.account-settings{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
.account-settings-group h3,.account-management h3{margin:0 0 12px;font-size:13px;color:var(--ws-text)}
.account-settings-group .fine{margin:0 0 14px}
.account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#page-accounts .account-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12px;color:var(--ws-muted)}
#page-accounts .account-field select{width:100%;min-height:44px;padding:10px 12px;font-size:13px;color:var(--ws-text);background:var(--ws-surface,#fff)}
#page-accounts .account-field select:disabled{color:var(--ws-muted)}
.account-settings-group>.secondary{margin-top:14px;min-height:44px}
.account-management{border-top:1px solid var(--ws-border);margin-top:24px;padding-top:20px}
.account-management-actions{display:flex;flex-wrap:wrap;gap:8px 20px}
#page-accounts .account-management-actions .text-button{min-height:44px;color:var(--ws-text);padding:8px 0;text-decoration:underline;text-underline-offset:4px}
#page-accounts .account-management-actions .text-button:disabled{opacity:.4;cursor:not-allowed}
#page-accounts .account-create{margin-top:40px;padding-top:24px}
#page-accounts .account-create>.tiny-label{font-size:18px;letter-spacing:0;font-weight:700;color:var(--ws-text)}
#page-accounts .account-grid{margin-top:20px;gap:18px}
#page-accounts .account-grid input,#page-accounts .account-grid select{min-height:44px}
#page-accounts #acc-create{margin-top:20px}
#page-accounts .accounts-audit{margin-top:28px;padding-top:20px;border-top:1px solid var(--ws-border)}
@media(max-width:1100px){.account-row-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 100px 48px;gap:12px}.account-settings{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.account-row-summary{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:20px 0}.account-identity{grid-column:1}.account-scope{grid-column:1;grid-row:2}.account-status{grid-column:2;grid-row:2;max-width:100px}.account-manage-label{grid-column:2;grid-row:1}.account-details{padding:0 14px 20px}.account-fields{grid-template-columns:1fr}.account-meta{flex-direction:column;gap:10px}.account-settings{gap:24px}}
/* Focused carousel overrides the shared authoring grid while preserving mobile preview. */
@media(min-width:1101px){body.unified-workflow.carousel-focused .editor-layout{grid-template-columns:minmax(0,1fr) 300px}body.unified-workflow.carousel-focused #editor-preview{max-height:calc(100dvh - 180px)}}
@media(max-width:768px){body.carousel-focused.marketing-editing #instagram-editor{padding-bottom:230px}}
/* Carousel preview is opt-in; a hidden preview must not reserve a grid column. */
body.unified-workflow.carousel-focused .editor-layout.preview-collapsed{grid-template-columns:minmax(0,1fr)}
.carousel-focus-tools{gap:8px;flex-wrap:wrap}
#page-data .data-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.data-source{border-bottom:1px solid var(--ws-border);margin:0}
.data-source>summary{display:grid;grid-template-columns:minmax(0,1fr) 150px 160px 110px 80px;gap:24px;align-items:center;padding:22px 8px;list-style:none;cursor:pointer}
.data-source>summary::-webkit-details-marker{display:none}
.data-source>summary:hover{background:var(--ws-surface)}
.data-source>summary:focus-visible{outline:2px solid var(--ws-focus);outline-offset:2px}
.data-source-name{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}
.data-source-name>strong{font-size:15px;color:var(--text);font-weight:650}
.data-source-warning{font-size:12px;color:#925400;line-height:1.6}
.data-source-metric{display:grid;gap:6px;font-size:13px;font-variant-numeric:tabular-nums}
.data-source-metric>.muted{font-size:11px}
.data-source .state{justify-self:start;white-space:normal}
.data-source-toggle{font-size:12px;color:var(--muted)}
.data-source-toggle::after{content:' +'}
.data-source[open] .data-source-toggle::after{content:' −'}
.data-source-detail{padding:0 24px 18px;line-height:1.7;background:var(--ws-surface)}
.data-source-detail p{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;margin:0;padding-top:12px;font-size:13px;overflow-wrap:anywhere}
.data-connections>summary{font-size:16px;font-weight:700;cursor:pointer;padding:4px 0}
.data-connections[open]>summary{margin-bottom:20px}
@media(max-width:1100px){.data-source>summary{grid-template-columns:minmax(0,1fr) 130px 140px 90px;gap:16px}.data-source-toggle{grid-column:1/-1}}
@media(max-width:600px){.data-source>summary{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:20px 0}.data-source-name{grid-column:1/-1}.data-source .state{grid-column:1/-1}.data-source-toggle{grid-column:1/-1}.data-source-detail{padding:0 8px 16px}.data-source-detail p{grid-template-columns:1fr;gap:4px}}

/* Review workspace: one saved version first, deliberate comparison second. */
#page-reviews .review-filters{border-block:1px solid var(--line);padding:20px 0;margin-bottom:28px}
#page-reviews .drafts-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
#page-reviews .drafts-toolbar>div{min-width:150px}
#page-reviews .drafts-toolbar label{margin-top:0}
#page-reviews .drafts-toolbar .workbench-check{align-self:center;margin:0}
#page-reviews .bridge-disclosure{margin-top:12px}
#page-reviews #drafts-scope:empty{display:none}
#page-reviews .review-layout{grid-template-columns:300px minmax(0,1fr);gap:28px}
#page-reviews .drafts-panel{padding:0;border:0;background:transparent}
#page-reviews .review-list-heading{font-size:14px;margin:0 0 16px}
#page-reviews .drafts-list{max-height:650px;margin:0;padding:0 6px 4px 0}
#page-reviews .draft-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 16px}
#page-reviews .draft-tags{justify-content:start}
#page-reviews .draft-row small{margin-top:8px}
#page-reviews .review-detail{padding:28px;min-width:0}
#page-reviews #rv-title{font-size:23px;line-height:1.45;margin:12px 0}
#page-reviews .review-compare-toolbar{border-block:1px solid var(--line);padding:18px 0;margin:24px 0;align-items:center}
#page-reviews .review-compare-toolbar p{margin:0}
#page-reviews #review-compare-toggle{margin-left:auto}
#page-reviews .revision-compare{grid-template-columns:minmax(0,1fr);gap:24px}
#page-reviews .revision-compare.review-comparing{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-reviews .compare-pane{border:0;padding:0;min-width:0}
#page-reviews .compare-body{max-height:none;line-height:1.9;font-size:14px}
#page-reviews .compare-creative{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ws-surface);padding:16px;font-size:12px;line-height:1.8}
#page-reviews .review-saved-media{display:grid;gap:20px;margin-top:24px;min-width:0}
#page-reviews .review-saved-media figure{margin:0;min-width:0}
#page-reviews .review-saved-media img{display:block;max-width:100%;width:auto;height:auto;max-height:560px;object-fit:contain;margin:auto}
#page-reviews .review-saved-media figcaption{font-size:12px;color:var(--muted);margin-top:8px}
#page-reviews .review-saved-slide{border:1px solid var(--line);padding:20px}
#page-reviews .review-saved-slide p{white-space:pre-wrap;line-height:1.8}
#page-reviews .decision-box{margin-top:32px;padding:24px;background:var(--ws-surface);border:1px solid var(--line)}
#page-reviews .decision-buttons{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
#page-reviews #rv-open-editor{margin-top:20px}
@media(max-width:1100px){#page-reviews .review-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}#page-reviews .review-detail{padding:20px}#page-reviews .revision-compare.review-comparing{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#page-reviews .review-layout{grid-template-columns:minmax(0,1fr)}#page-reviews .drafts-list{max-height:340px}#page-reviews .drafts-toolbar>div{flex:1;min-width:120px}#page-reviews .review-detail{padding:18px}#page-reviews #rv-title{font-size:20px}#page-reviews #review-compare-toggle{margin-left:0}#page-reviews .decision-box{padding:16px}}

#page-reviews .drafts-toolbar .drafts-all-toggle,#page-reviews .drafts-toolbar .drafts-archived-toggle{flex-basis:auto;width:auto}
#page-reviews .revision-compare:not(.review-comparing) .compare-title{display:none}

/* Account disclosure: a centered trigger and one place for session actions. */
.topbar .account-summary{align-self:center;flex:0 1 auto;min-width:0;margin:0}
.topbar .account-summary>summary{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;min-height:44px;padding:0 12px;margin:0;line-height:1;list-style:none;border:1px solid transparent}
.topbar .account-summary>summary::-webkit-details-marker{display:none}
.topbar .account-summary>summary:hover,.topbar .account-summary[open]>summary{background:var(--ws-shell-hover)}
#account-menu-name{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.account-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);flex:none}
.account-summary[open] .account-chevron{transform:translateY(2px) rotate(225deg)}
.topbar .account-menu-panel{position:absolute;top:calc(100% + 8px);right:0;width:280px;max-width:calc(100vw - 32px);padding:0;background:var(--ws-surface);color:var(--ws-text);border:1px solid var(--ws-border);border-radius:var(--ws-radius-card);box-shadow:0 12px 30px #0002;z-index:45}
.topbar .account-summary .me-badge{display:block;position:static;width:auto;max-width:none;padding:18px 20px;margin:0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ws-border);border-radius:0;white-space:normal;overflow-wrap:anywhere;line-height:1.7}
.topbar .account-menu-actions{display:grid;padding:8px}
.topbar .account-menu-actions .text-button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px 12px;margin:0;color:var(--ink);line-height:1.4;border-radius:var(--ws-radius-control);text-align:left}
.topbar .account-menu-actions .text-button:hover{background:var(--ws-gray-050)}
@media(max-width:768px){.topbar .account-summary{width:100%}.topbar .account-summary>summary{justify-content:space-between}.topbar .account-menu-panel{position:static;width:100%;max-width:none;margin-top:8px;box-shadow:none}.topbar .header-right:has(.account-summary[open]){max-height:50dvh}}

/* Channel studio (2026-11-03): per-channel bodies, the recipient's screen as the editor, Stibee-like newsletter blocks. */
body.channel-studio #editor-preview,body.channel-studio #preview-toggle,body.channel-studio #mobile-preview{display:none!important}
body.channel-studio .editor-layout{grid-template-columns:minmax(0,1fr)!important}
.cs{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:18px;align-items:start;margin:18px 0}
.cs-left,.cs-right{display:flex;flex-direction:column;gap:14px;min-width:0;position:sticky;top:84px}
.cs-panel{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cs-panel label{margin:6px 0 0}
.cs-cap{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--ws-muted)}
.cs-tabs{display:flex;flex-direction:column;gap:8px}
.cs-tab{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;background:var(--ws-surface);color:var(--ws-text);border:1px solid var(--ws-border);border-radius:8px;padding:11px 12px;font-weight:400;min-height:44px}
.cs-tab:hover{background:var(--ws-gray-050)}
.cs-tab.on{background:var(--ws-accent-soft);border:2px solid var(--ws-accent);padding:10px 11px}
.cs-tab.on strong{color:var(--ws-accent)}
.cs-tab-row{display:flex;align-items:center;gap:6px}.cs-tab-row strong{flex:1;font-size:15px}
.cs-tab-meta{font-size:12px;color:var(--ws-muted)}
.cs-state{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600}
.cs-state svg,.cs-check svg,.cs-locked svg,.cs-icon-btn svg,.cs-tile svg,.cs-overlay-btn svg,.cs-slide svg,.cs-k-add svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cs-state.ok,.cs-check.ok svg{color:#2e7d4f}.cs-state.bad,.cs-check.bad{color:#b3261e}
.cs-relation{margin:0}
.cs-import{position:relative}.cs-import>button{width:100%}
.cs-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--ws-border);border-radius:8px;box-shadow:var(--ws-shadow);z-index:30;display:flex;flex-direction:column;padding:4px}
.cs-menu button{background:none;border:0;color:var(--ws-text);text-align:left;font-weight:500;min-height:44px}.cs-menu button:hover{background:var(--ws-gray-050)}
.cs-menu button:disabled{color:var(--ws-gray-300)}
.cs-canvas{background:#e9ecef;border-radius:12px;padding:14px 18px 40px;min-width:0}
.cs-canvas-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#cs-canvas-tools{display:flex;align-items:center;gap:6px}
.cs-error{color:#b3261e;font-size:13px;font-weight:600;margin:0 0 8px}.cs-error:empty{display:none}
.cs-stage{display:flex;flex-direction:column;align-items:center;gap:18px}
.cs-seg{display:flex;border:1px solid var(--ws-border);border-radius:6px;overflow:hidden;background:#fff}
.cs-seg button{flex:1;border:0;border-radius:0;background:#fff;color:var(--ws-text);font-weight:500;font-size:12px;padding:8px 6px;min-height:36px;white-space:nowrap}
.cs-seg button[aria-pressed=true]{background:var(--ws-text);color:#fff}
.cs-seg button+button{border-left:1px solid var(--ws-border)}
.cs-prop{display:flex;flex-direction:column;gap:6px;margin-top:6px}.cs-prop-label{font-size:12px;font-weight:700}
.cs-icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;background:#fff;color:var(--ws-text);border:1px solid var(--ws-border);border-radius:6px}
.cs-icon-btn:hover{background:var(--ws-gray-050)}.cs-icon-btn.danger{color:#b3261e}
.cs-edit{outline:none;border-radius:4px;cursor:text;overflow-wrap:anywhere}
.cs-edit:hover{box-shadow:0 0 0 1px #9bb8e6}
.cs-edit:focus{box-shadow:0 0 0 2px var(--ws-accent)}
.cs-edit[data-placeholder]:empty::before{content:attr(data-placeholder);color:#9aa0a6}
.cs-locked{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#8a9097;font-weight:400}
.cs-overlay-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;background:#111;color:#fff;border:0;border-radius:18px;padding:8px 14px;font-size:12px;opacity:0;transition:opacity .15s}
.cs-k-media:hover .cs-overlay-btn,.cs-img:hover .cs-overlay-btn,.cs-overlay-btn:focus-visible{opacity:1}
.cs-thumb{width:100%;max-height:180px;object-fit:contain;background:#f4f6f6;border-radius:6px}
.cs-row{display:flex;gap:8px;flex-wrap:wrap}.cs-row>button{flex:1;min-height:44px}
.cs-field-error{color:#b3261e;font-size:12px;margin:0}.cs-field-error:empty{display:none}
.cs-tip{margin:0 2px}
.cs-meters{display:flex;flex-direction:column;gap:10px}
.cs-meter-row{display:flex;justify-content:space-between;font-size:12px;font-weight:600}.cs-meter.over b{color:#b3261e}
.cs-meter-track{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin-top:4px}.cs-meter-track i{display:block;height:100%;background:var(--ws-accent)}.cs-meter.over i{background:#b3261e}
.cs-check{display:flex;gap:8px;align-items:flex-start;font-size:12px}
/* Kakao phone */
.cs-phone{width:380px;max-width:100%;background:#c9d6df;border:8px solid #293741;border-radius:36px;overflow:hidden}
.cs-phone-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 10px;font-size:18px}.cs-phone-bar strong{font-size:13px}
.cs-k-row{display:flex;gap:8px;padding:6px 14px 24px 10px;align-items:flex-start}
.cs-k-avatar{width:30px;height:30px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:9px;font-weight:800;flex-shrink:0}
.cs-k-bubble{flex:1;min-width:0;background:#fff;border-radius:10px;overflow:hidden}
.cs-k-media{position:relative;min-height:80px;background:#eef0f2;display:grid;place-items:center}.cs-k-media img{display:block;width:100%;height:auto}
.cs-k-copy{display:flex;flex-direction:column;gap:8px;padding:12px 12px 6px}
.cs-k-title{font-weight:700;font-size:13px;line-height:1.6;padding:4px;white-space:pre-wrap}
.cs-k-body{font-size:12px;line-height:1.8;color:#344146;padding:4px;white-space:pre-wrap;min-height:60px}
.cs-k-buttons{display:flex;flex-direction:column;gap:6px;padding:6px 12px 12px}
.cs-k-btn{display:flex;flex-direction:column;gap:2px;background:#f4f5f6;color:var(--ws-text);border:1px solid #e2e5e7;border-radius:4px;padding:8px;font-weight:500;font-size:12px;min-height:44px}
.cs-k-btn small{font-size:9px;color:var(--ws-muted)}.cs-k-btn.selected{border:2px solid var(--ws-accent)}
.cs-k-add{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:none;border:1px dashed #aab4bc;color:var(--ws-muted);font-weight:500;font-size:12px;min-height:40px}
.cs-phone-home{width:110px;height:5px;border-radius:3px;background:#293741;margin:0 auto 12px}
.over{color:#b3261e;font-weight:700}
/* Newsletter canvas */
.cs-paper{width:600px;max-width:100%;background:#fff;box-shadow:0 2px 10px #0000000d;font-family:Arial,var(--font);color:#344146;padding-bottom:4px}
.cs-paper.mobile{width:390px}
.cs-nl-brand{display:flex;justify-content:space-between;align-items:center;padding:16px 28px 6px;font:700 13px/1.4 sans-serif;letter-spacing:2px;color:#69757b}
.cs-nl-hero{position:relative}.cs-nl-hero img{display:block;width:100%;height:auto}.cs-nl-hero .cs-locked{position:absolute;left:8px;bottom:8px;background:#fffffff0;padding:3px 8px;border-radius:10px}
.cs-nl-title{margin:10px 28px 4px;padding:4px;font:700 24px/1.4 sans-serif;color:#182732;letter-spacing:0}
.cs-blocks{display:flex;flex-direction:column;padding:6px 0;min-height:60px}
.cs-blk{position:relative;padding:6px 28px;border:2px solid transparent;outline:none}
.cs-blk:hover{border-color:#cfe0fa}.cs-blk.selected{border-color:var(--ws-accent)}
.cs-blk-handle,.cs-blk-actions{position:absolute;top:-2px;display:none;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--ws-border);border-radius:6px;padding:3px;z-index:3}
.cs-blk-handle{left:-46px}.cs-blk-actions{right:-46px}
.cs-blk:hover .cs-blk-handle,.cs-blk:hover .cs-blk-actions,.cs-blk.selected .cs-blk-handle,.cs-blk.selected .cs-blk-actions{display:flex}
.cs-grip{display:grid;place-items:center;width:32px;height:28px;cursor:grab;color:var(--ws-muted)}.cs-grip svg{fill:none;stroke:currentColor;stroke-width:2}
.cs-rich{font:400 15px/1.8 sans-serif;color:#344146;padding:2px 4px;min-height:1.8em}
.cs-rich p{margin:0 0 10px;color:inherit}.cs-rich p:last-child{margin-bottom:0}
.cs-rich ul,.cs-rich ol{margin:0 0 10px;padding-left:22px}.cs-rich blockquote{margin:0 0 10px;border-left:4px solid #2252d7;background:#f4f6fb;padding:10px 14px}
.cs-rich table{border-collapse:collapse;width:100%;font-size:14px}.cs-rich th,.cs-rich td{border:1px solid #d9dde0;padding:6px 8px}
.cs-rich a{color:#2252d7}
.cs-heading .cs-rich{font-weight:700;color:#182732;line-height:1.45}
h2.cs-rich{font-size:20px}h3.cs-rich{font-size:18px}h4.cs-rich,h5.cs-rich,h6.cs-rich{font-size:16px}
.cs-inline-bar{position:sticky;top:76px;display:none;align-items:center;gap:2px;flex-wrap:wrap;background:#111;border-radius:6px;padding:4px 6px;margin:0 0 8px;z-index:5;width:max-content;max-width:100%}
.cs-blk.selected .cs-inline-bar{display:flex}
.cs-tb{background:none;border:0;color:#fff;min-width:30px;height:30px;padding:0 6px;font-size:13px;font-weight:700;border-radius:4px}.cs-tb:hover{background:#333}
.cs-tb.i{font-style:italic}.cs-tb.u{text-decoration:underline}.cs-tb.s{text-decoration:line-through}
.cs-tb-colors{display:inline-flex;gap:3px;padding:0 4px}
.cs-swatch{width:18px;height:18px;padding:0;border:2px solid #fff;border-radius:50%;min-height:0}.cs-swatch.big{width:26px;height:26px;border-color:var(--ws-border)}
.cs-swatches{display:flex;gap:8px}
.cs-tb-size{width:auto;height:30px;padding:0 6px;font-size:12px;background:#222;color:#fff;border:0}
.cs-link-form{display:flex;gap:4px;width:100%;margin-top:4px}.cs-link-form input{height:32px;padding:4px 8px}.cs-link-form button{padding:4px 10px}
.cs-img{position:relative}.cs-img img{display:block;width:100%;height:auto;border-radius:2px}
.cs-btn-row{padding:6px 0}
.cs-nl-btn{display:inline-block;background:#2252d7;color:#fff;font:700 15px/1 sans-serif;padding:14px 26px;border-radius:6px}
.cs-blk hr{border:0;border-top:1px solid #e5e7e9;margin:10px 0}
.cs-spacer{height:26px;display:grid;place-items:center;font-size:10px;color:transparent}.cs-blk:hover .cs-spacer,.cs-blk.selected .cs-spacer{color:#9aa0a6;background:repeating-linear-gradient(45deg,#f6f7f8,#f6f7f8 6px,#fff 6px,#fff 12px)}
.cs-drop-mark{display:flex;align-items:center;gap:8px;margin:0 28px;height:22px}.cs-drop-mark::before,.cs-drop-mark::after{content:"";flex:1;height:2px;background:var(--ws-accent)}
.cs-drop-mark span{background:var(--ws-accent);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:2px 10px}
.cs-empty{text-align:center;padding:30px 20px}
.cs-nl-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 28px}
.cs-nl-banner{margin:14px 28px 0;background:#182732;color:#fff;padding:14px 16px;white-space:pre-line;font:700 14px/1.7 sans-serif;display:flex;flex-direction:column;gap:4px}
.cs-nl-footer{display:flex;align-items:center;gap:6px;margin:18px 0 0;padding:16px 28px;border-top:1px solid #e5e7e9;font:400 12px/1.6 sans-serif;color:#69757b}
.cs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cs-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:66px;background:#fff;color:var(--ws-text);border:1px solid var(--ws-border);border-radius:6px;font-weight:500;font-size:12px;cursor:grab}
.cs-tile:hover{border-color:var(--ws-accent);background:var(--ws-accent-soft)}
/* Instagram */
.cs-ig{width:420px;max-width:100%;background:#fff;border:6px solid #293741;border-radius:28px;overflow:hidden}
.cs-ig-head{display:flex;gap:10px;align-items:center;padding:14px}.cs-ig-head strong{display:block;font-size:12px}.cs-ig-head small{font-size:10px;color:var(--ws-muted)}
.cs-ig-avatar{width:30px;height:30px;border-radius:50%;background:#293741;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.cs-ig-media{position:relative;aspect-ratio:4/5;background:linear-gradient(160deg,#3e4a57,#1d252d);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.cs-ig-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cs-ig-media::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000000b0);pointer-events:none}
.cs-ig-text{position:relative;z-index:2;padding:0 26px 34px;display:flex;flex-direction:column;gap:8px}
.cs-ig-headline{font-size:20px;font-weight:700;line-height:1.4;color:#fff;padding:4px;white-space:pre-wrap}
.cs-ig-lines{font-size:13px;line-height:1.6;color:#f1f1f1;padding:4px;white-space:pre-wrap;min-height:1.6em}
.cs-ig-text .cs-edit{box-shadow:0 0 0 1px #ffffff80}.cs-ig-text .cs-edit:focus{box-shadow:0 0 0 2px #fff}
.cs-ig-page{position:absolute;top:12px;right:12px;z-index:2;background:#00000080;color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:2px 9px}
.cs-ig-nav{position:absolute;top:50%;z-index:2;width:30px;height:30px;padding:0;border-radius:50%;border:0;background:#ffffffd9;color:#111;display:grid;place-items:center}.cs-ig-nav svg{fill:none;stroke:currentColor;stroke-width:2}
.cs-ig-nav.left{left:8px}.cs-ig-nav.right{right:8px}.cs-ig-nav:disabled{display:none}
.cs-ig-dots{display:flex;justify-content:center;gap:4px;padding:10px}.cs-ig-dots i{width:6px;height:6px;border-radius:50%;background:#c9ced3}.cs-ig-dots i.on{background:var(--ws-accent)}
.cs-ig-caption{padding:0 14px 18px;font-size:12px;line-height:1.7}.cs-ig-caption>strong{display:block;margin-bottom:2px}.cs-ig-caption .cs-edit{white-space:pre-wrap;padding:4px;min-height:3em}
.cs-strip{width:100%;max-width:680px;background:#fff;border-radius:10px;padding:14px}
.cs-strip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cs-strip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.cs-slide-cell{display:flex;flex-direction:column;gap:4px;width:88px;flex-shrink:0}
.cs-slide{position:relative;width:88px;height:110px;padding:0;border-radius:6px;overflow:hidden;background:#5c6670;border:1px solid var(--ws-border);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-weight:500}
.cs-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cs-slide.on{outline:3px solid var(--ws-accent);outline-offset:1px}
.cs-slide.auto{border:1px dashed #aab4bc}.cs-slide.none{background:#f2f3f4;color:var(--ws-muted)}
.cs-slide-state{position:relative;display:inline-flex;align-items:center;gap:3px;font-size:10px;background:#000000a0;color:#fff;border-radius:8px;padding:2px 6px;margin-bottom:6px}
.cs-slide.none .cs-slide-state{background:#e3e6e9;color:var(--ws-muted)}
.cs-slide.add{background:#fff;color:var(--ws-muted);border:1px dashed #aab4bc;justify-content:center;gap:4px;font-size:11px}
.cs-slide-label{font-size:12px;font-weight:600}
.cs-reels summary{font-size:12px;font-weight:700;color:var(--ws-text)}
/* Image picker */
.cs-picker{width:min(560px,calc(100vw - 32px))}
.cs-picker-head{display:flex;justify-content:space-between;align-items:center}
.cs-picker-tabs{display:flex;gap:16px;border-bottom:1px solid var(--ws-border);margin:8px 0 14px}
.cs-picker-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ws-muted);padding:10px 0;font-weight:600;min-height:44px}
.cs-picker-tabs button[aria-selected=true]{color:var(--ws-text);border-color:var(--ws-text)}
.cs-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:46vh;overflow:auto}
.cs-cand{padding:0;aspect-ratio:1;background:#f4f6f6;border:1px solid var(--ws-border);border-radius:6px;overflow:hidden}
.cs-cand img{width:100%;height:100%;object-fit:contain}.cs-cand[aria-pressed=true]{outline:3px solid var(--ws-accent)}
.cs-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 12px;border:1px dashed #aab4bc;border-radius:8px;background:#fafbfc;cursor:pointer;text-align:center}
.cs-drop.over{border-color:var(--ws-accent);background:var(--ws-accent-soft)}
.cs-picker-status{margin-top:12px;font-size:13px}.cs-picker-status:empty{display:none}
.cs-picker-status.busy{color:var(--ws-accent)}.cs-picker-status.error{color:#b3261e;background:#fdecea;border-radius:6px;padding:10px 12px;font-weight:600}
@media(max-width:1280px){.cs{grid-template-columns:240px minmax(0,1fr)}.cs-right{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:900px){.cs{grid-template-columns:minmax(0,1fr)}.cs-left{position:static}.cs-blk-handle{left:2px;top:-38px;flex-direction:row}.cs-blk-actions{right:2px;top:-38px;flex-direction:row}.cs-canvas{padding:12px 6px 30px}}
/* 시안 E (2026-11-03): pick → frame the visible part; each channel keeps its own picture. */
.cs-framed{position:relative;overflow:hidden;background:#fff;width:100%}
.cs-framed>img{position:absolute;left:0;top:0;width:100%;height:100%;display:block;max-width:none}
.cs-k-media.cs-framed{display:block;min-height:0;cursor:pointer}
.cs-thumb-frame{width:160px;max-width:100%;border:1px solid var(--ws-border);border-radius:6px;overflow:hidden}
.cs-crop-title{margin:0 0 10px;color:var(--ws-text)}
.cs-crop-stage{display:grid;place-items:center;background:#1d242b;border-radius:8px;padding:18px}
.cs-crop-frame{position:relative;overflow:hidden;outline:2px solid #fff;cursor:grab;touch-action:none;background:#fff}
.cs-crop-frame:active{cursor:grabbing}.cs-crop-frame.fit{cursor:default}
.cs-crop-frame img{position:absolute;max-width:none;user-select:none;pointer-events:none}
.cs-crop-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000000a0;color:#fff;font-size:12px;border-radius:14px;padding:5px 12px;pointer-events:none}
.cs-crop-frame.fit .cs-crop-hint{display:none}
.cs-zoom{display:flex;align-items:center;gap:10px;margin:12px 0 8px;font-weight:400}.cs-zoom input{flex:1;padding:0;border:0}
.cs-crop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cs-crop-actions button{min-height:44px}
/* 광고 성과(읽기 전용, 2026-11-03). 숫자는 표가 정본이고 막대는 보조다. 빈 날은 빗금, 참고용 지역 수치는 흐리게 */
.ads-caption{display:inline-block;margin:0 0 var(--ws-space-lg);padding:var(--ws-space-xs) var(--ws-space-md);border:1px solid var(--ws-border);background:var(--ws-gray-050);color:var(--ws-gray-700);font-size:var(--ws-type-caption);font-weight:650}
.ads-period{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--ws-space-md);margin-bottom:var(--ws-space-lg)}
.ads-presets{display:flex;flex-wrap:wrap;gap:var(--ws-space-xs)}
.ads-presets button{width:auto;min-height:var(--ws-control-height);padding:0 var(--ws-space-md);border:1px solid var(--ws-border);background:var(--ws-surface);color:var(--ws-text);border-radius:var(--ws-radius-control);font-weight:500}
.ads-presets button[aria-pressed="true"]{border-color:var(--ws-text);background:var(--ws-text);color:var(--ws-surface)}
.ads-range{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-sm)}
.ads-range label{margin:0;font-size:var(--ws-type-caption);color:var(--ws-muted)}
.ads-range input{width:auto;min-height:var(--ws-control-height)}
.ads-range button{width:auto;min-height:var(--ws-control-height)}
.ads-period .field-error{flex-basis:100%}
.ads-status p{margin:0 0 var(--ws-space-sm)}
.ads-status[aria-busy="true"]{opacity:.6}
.ads-warning{margin:0 0 var(--ws-space-sm);padding:var(--ws-space-sm) var(--ws-space-md);border-left:3px solid #c89a2b;background:#fff8e5;color:#5d4310;font-size:13px;line-height:1.55}
.ads-empty{padding:var(--ws-space-xl) 0}
.ads-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ws-space-lg)}.ads-body>*{min-width:0}
.ads-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ws-border);background:var(--ws-surface)}
.ads-kpi{display:flex;flex-direction:column;gap:var(--ws-space-xs);padding:var(--ws-space-lg);border-right:1px solid var(--ws-border)}
.ads-kpi:last-child{border-right:0}
.ads-kpi span{font-size:var(--ws-type-caption);color:var(--ws-muted)}
.ads-kpi strong{font-size:var(--ws-type-title);font-variant-numeric:tabular-nums}
.ads-kpi small{font-size:var(--ws-type-caption);color:var(--ws-muted)}
.ads-kpis.incomplete{border-style:dashed;border-color:#c89a2b}
.ads-kpis.incomplete .ads-kpi strong::after{content:" (불완전)";font-size:var(--ws-type-caption);font-weight:600;color:#826027}
.ads-spark{height:48px;margin-bottom:var(--ws-space-md)}
.ads-spark svg{width:100%;height:48px;display:block}
.ads-bar{fill:var(--ws-accent)}
.ads-bar-warn{fill:#c89a2b}
.ads-bar-missing{fill:none;stroke:var(--ws-gray-300);stroke-dasharray:3 3}
.ads-table th[scope="row"]{font-weight:600;color:var(--ws-text);white-space:nowrap}
.ads-table th.num,.ads-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ads-day-missing th,.ads-day-pending th{color:var(--ws-muted)}
.ads-unreliable .ads-table td.num{color:var(--ws-gray-600);font-style:italic}
.weekly-panel{margin-top:var(--ws-space-lg)}
.weekly-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-md);margin-bottom:var(--ws-space-md)}
.weekly-actions button{width:auto;min-height:var(--ws-control-height)}
.weekly-actions p{margin:0}
.weekly-layout{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:var(--ws-space-lg);align-items:start}
.weekly-layout>*{min-width:0}
.weekly-list{list-style:none;margin:var(--ws-space-xs) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--ws-space-xs)}
.weekly-item{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-xs);min-height:var(--ws-control-height);padding:var(--ws-space-xs) var(--ws-space-sm);border:1px solid var(--ws-border);background:var(--ws-surface);color:var(--ws-text);border-radius:var(--ws-radius-control);font-weight:500;text-align:left;font-variant-numeric:tabular-nums}
.weekly-item[aria-pressed="true"]{border-color:var(--ws-text);box-shadow:inset 3px 0 0 var(--ws-text)}
.weekly-detail{display:flex;flex-direction:column;gap:var(--ws-space-md)}
.weekly-head h3{margin:var(--ws-space-xs) 0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-sm)}
.weekly-section h3{margin:0 0 var(--ws-space-sm);font-size:var(--ws-type-body);font-weight:700}
.weekly-section .table-wrap+.table-wrap{margin-top:var(--ws-space-sm)}
.weekly-bullets,.weekly-insights,.weekly-recs,.weekly-ideas{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:var(--ws-space-sm);line-height:1.55}
.weekly-insights p,.weekly-idea p{margin:var(--ws-space-xs) 0 0}
.weekly-rec-head,.weekly-idea-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-xs)}
.weekly-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--ws-space-xs) var(--ws-space-md);margin:var(--ws-space-xs) 0 0;font-size:13px}
.weekly-dl dt{color:var(--ws-muted)}
.weekly-dl dd{margin:0}
.weekly-idea{padding:var(--ws-space-sm) 0;border-bottom:1px solid var(--ws-border)}
.weekly-idea.blocked{border-left:3px solid #c0392b;padding-left:var(--ws-space-sm)}
.weekly-hook{font-weight:600}
.weekly-cap{margin:0 0 var(--ws-space-sm);padding:var(--ws-space-sm) var(--ws-space-md);background:var(--ws-gray-050);border:1px solid var(--ws-border);font-size:13px}
.weekly-decision label{margin-top:var(--ws-space-sm)}
.weekly-review-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ws-space-sm);margin:var(--ws-space-xs) 0 0;font-size:13px}
@media (max-width:900px){.weekly-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.weekly-dl{grid-template-columns:minmax(0,1fr)}.weekly-dl dd{margin-bottom:var(--ws-space-xs)}.weekly-actions button{width:100%}}
@media (max-width:700px){
  .ads-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ads-kpi:nth-child(2){border-right:0}
  .ads-kpi:nth-child(-n+2){border-bottom:1px solid var(--ws-border)}
  .ads-range{width:100%}
  .ads-range input{flex:1 1 40%}
  .ads-range button{width:100%}
}

/* AT 발행 금칙(검수 결정 위). 차단은 --danger 토큰, 경고는 본문색 — DESIGN.md 「검수 결정」 */
.publish-check{margin:10px 0 4px;padding:12px 14px;border:1px solid var(--line);background:var(--ws-surface,#fff)}
.publish-check-head{font-size:13px;font-weight:650;color:var(--ink);margin:0 0 6px}
.publish-check-head.blocked{color:var(--danger,#a3322a)}
.publish-check-head.warned{color:#8a5a00}
.publish-findings{margin:0 0 6px;padding-left:18px;font-size:12px;color:var(--ink)}
.publish-finding{margin:4px 0}.publish-finding.block b{color:var(--danger,#a3322a)}.publish-finding.warn b{color:var(--muted)}
.publish-finding.warn.strong b{color:#8a5a00}
.weekly-skeleton-control{margin-top:8px}.weekly-skeleton{margin-top:8px}
.weekly-skeleton-text{white-space:pre-wrap;font-size:12px;line-height:1.5;max-height:320px;overflow:auto;padding:10px 12px;border:1px solid var(--line);background:var(--ws-surface,#fff);color:var(--ink)}

/* 간단 영상 편집 (2026-11-04). 색은 아래 영상 토큰과 ws 역할만 쓴다. 브랜드 강조색은 서버(video_edit.VIDEO_ACCENT)가 --vx-accent 로 넘긴다. */
:root{--ws-video-stage:var(--ws-gray-950);--ws-video-band:#0a0a0a;--ws-video-alert:#d6453d;--ws-video-ok:#2f8f5f;--ws-video-shadow:#000000a3;--ws-video-scrim:#000000a6;--ws-video-light:#ffffffeb;--ws-video-accent:#ff6b1a}
.nav-new{font-size:10px;font-weight:700;letter-spacing:.4px;line-height:16px;color:var(--ws-surface);background:var(--ws-accent);padding:0 5px;border-radius:var(--ws-radius-control)}
#page-video{color:var(--ws-text)}
#page-video .panel{border-radius:var(--ws-radius-card);border-color:var(--ws-border);box-shadow:none;padding:20px}
#page-video h2{font-size:17px;color:var(--ws-text)}
#page-video .fine{font-size:12px;color:var(--ws-muted)}
#page-video input,#page-video select,#page-video textarea{border-radius:var(--ws-radius-control)}
#page-video .text-button{color:var(--ws-accent);font-size:12px}
.vx-crumb{font-size:13px;color:var(--ws-muted);margin-bottom:6px}
.vx-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vx-save-state{font-size:13px;color:var(--ws-muted);display:inline-flex;align-items:center;gap:6px}
.vx-save-state:not(:empty)::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ws-video-ok)}
.vx-save-state.is-error{color:var(--ws-video-alert)}.vx-save-state.is-error::before{background:var(--ws-video-alert)}
.vx-banner{border-left:3px solid var(--ws-video-alert);background:var(--ws-gray-050);padding:12px 16px;margin:0 0 16px;color:var(--ws-text);font-size:14px}
.vx-projects{margin-bottom:16px}
.vx-project-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1.2fr) auto;gap:12px;align-items:end}
.vx-project-row label{margin-top:0}
.vx-project-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vx-workspace{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(250px,320px);gap:16px;align-items:stretch;margin-bottom:16px}
.vx-workspace>*{min-width:0;margin:0}
.vx-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}
.vx-count{font-size:12px;color:var(--ws-muted)}
.vx-clip-list{display:grid;gap:10px;max-height:470px;overflow:auto}
.vx-clip{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}
.vx-clip.is-failed .vx-clip-info small{color:var(--ws-video-alert)}
.vx-clip-thumb{position:relative;aspect-ratio:16/10;background:var(--ws-video-stage);overflow:hidden}
.vx-clip-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vx-badge{position:absolute;top:4px;left:4px;background:var(--ws-accent);color:var(--ws-surface);font-size:10px;line-height:16px;padding:0 5px}
.vx-dur{position:absolute;right:4px;bottom:4px;background:var(--ws-video-scrim);color:var(--ws-surface);font-size:10px;line-height:16px;padding:0 4px;font-variant-numeric:tabular-nums}
.vx-thumb-wait{display:grid;place-items:center;height:100%;color:var(--ws-shell-muted)}
.vx-clip-info{min-width:0}.vx-clip-info strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vx-clip-info small{display:block;font-size:11px;line-height:1.5;color:var(--ws-muted)}
.vx-clip-actions{display:flex;gap:2px;flex-wrap:wrap;margin-left:-6px}.vx-clip-actions .text-button{padding:4px 6px}
.vx-drop{display:grid;gap:2px;text-align:center;border:1px dashed var(--ws-gray-300);padding:16px 10px;margin:14px 0 0;cursor:pointer;font-weight:400;color:var(--ws-muted);font-size:12px}
.vx-drop b{color:var(--ws-accent);font-size:15px}
.vx-drop:hover,.vx-drop.is-over{border-color:var(--ws-accent);background:var(--ws-accent-soft)}
.vx-drop.is-disabled{opacity:.5;pointer-events:none}
.vx-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.vx-drop:has(+ .vx-file:focus-visible),.vx-pick:has(+ .vx-file:focus-visible){outline:3px solid var(--ws-focus);outline-offset:2px}
.vx-images{margin-top:14px;border-top:1px solid var(--ws-border);padding-top:10px}.vx-images summary{font-weight:650;font-size:13px;cursor:pointer}
.vx-image-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.vx-pick{display:inline-block;margin:0;border:1px solid var(--ws-border);padding:8px 10px;font-size:12px;cursor:pointer;font-weight:600;color:var(--ws-text);background:var(--ws-surface)}
.vx-pick:hover{border-color:var(--ws-muted)}
.vx-rights{font-size:12px}
.vx-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:8px}
.vx-image{display:grid;gap:2px;font-size:11px;align-content:start}.vx-image img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--ws-gray-050)}
.vx-image-actions{display:flex;gap:10px}.vx-image .text-button{padding:2px 0}
.vx-stage{background:var(--ws-video-stage);padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px}
.vx-ratio{display:flex;gap:6px;align-self:flex-end;flex-wrap:wrap}
.vx-ratio button{background:transparent;border:1px solid var(--ws-shell-border);color:var(--ws-shell-muted);padding:6px 10px;font-size:12px;font-weight:600}
.vx-ratio button:hover{background:var(--ws-shell-hover)}.vx-ratio button[aria-pressed=true]{border-color:var(--ws-surface);color:var(--ws-surface)}
.vx-frame{--vx-accent:var(--ws-video-accent);container-type:inline-size;position:relative;width:min(100%,340px);aspect-ratio:9/16;background:var(--ws-black);overflow:hidden}
.vx-frame[data-ratio="4:5"]{aspect-ratio:4/5;width:min(100%,420px)}.vx-frame[data-ratio="1:1"]{aspect-ratio:1;width:min(100%,440px)}
.vx-footage{position:absolute;left:0;right:0;top:0;height:100%}
.vx-frame[data-layout=band]:not(.is-still) .vx-footage{height:76%}
.vx-footage video,.vx-footage img{width:100%;height:100%;object-fit:cover;display:block}
.vx-band{position:absolute;left:0;right:0;bottom:0;height:24%;background:var(--ws-video-band);display:grid;place-items:center;color:var(--ws-surface);font-weight:800;font-size:5.9cqw}
.vx-band img{max-width:50%;max-height:55%;object-fit:contain}
.vx-mark{position:absolute;top:2.7%;right:4.8%;color:var(--ws-surface);font-weight:800;font-size:2.5cqw;text-shadow:0 0 .6cqw var(--ws-video-shadow)}
.vx-mark img{height:6.5cqw;max-width:24cqw;object-fit:contain;display:block}
.vx-overlays{position:absolute;inset:0;pointer-events:none}.vx-frame[data-layout=band] .vx-overlays{bottom:24%}
.vx-text{position:absolute;left:5.9%;right:5.9%;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ws-surface);font-weight:800;font-size:5.19cqw;line-height:1.28;letter-spacing:-.02em;text-shadow:0 .25cqw .9cqw var(--ws-video-shadow)}
.vx-text.pos-top{top:8.5%}.vx-frame[data-layout=band] .vx-text.pos-top{top:9.2%}
.vx-text.pos-middle{top:50%;transform:translateY(-50%)}
.vx-text.pos-bottom{bottom:14%}.vx-frame[data-layout=band] .vx-text.pos-bottom{bottom:6%}
.vx-text em{font-style:normal;color:var(--vx-accent)}
.vx-chip{font-size:2.6cqw;line-height:1.5;background:var(--vx-accent);color:var(--ws-surface);padding:0 1.3cqw;border-radius:.6cqw;margin-bottom:1.3cqw;text-shadow:none;font-weight:700}
.vx-text.is-headline{align-items:flex-start;text-align:left;font-size:5.74cqw;border-left:.85cqw solid var(--vx-accent);padding-left:1.6cqw}
.vx-text.style-plain em{color:inherit}
.vx-text.style-box,.vx-text.style-light{text-shadow:none}
.vx-text.style-box .vx-line,.vx-text.style-light .vx-line{background:var(--ws-video-scrim);padding:0 1.7cqw;border-radius:.6cqw;margin-bottom:.4cqw}
.vx-text.style-light .vx-line{background:var(--ws-video-light);color:var(--ws-gray-950)}
.vx-text.is-selected .vx-line{outline:.3cqw dashed var(--ws-focus);outline-offset:.4cqw}
.vx-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;margin:0;color:var(--ws-shell-muted);font-size:13px}
.vx-transport{display:flex;align-items:center;gap:12px;color:var(--ws-surface)}
.vx-icon{background:transparent;border:0;color:var(--ws-surface);font-size:16px;padding:8px 10px}.vx-icon:hover{background:var(--ws-shell-hover)}
.vx-play{width:44px;height:44px;border-radius:50%;background:var(--ws-surface);color:var(--ws-gray-950);border:0;padding:0;font-size:15px}.vx-play:hover{background:var(--ws-gray-200)}
.vx-time{font-variant-numeric:tabular-nums;font-size:13px}
.vx-stage-note{font-size:11px;line-height:1.6;color:var(--ws-shell-muted);text-align:center;max-width:360px}
.vx-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.vx-field-label{display:block;font-weight:650;font-size:12px;margin:17px 0 7px}
#page-video .vx-sub-label{margin:0 0 4px;font-weight:400;font-size:11px;color:var(--ws-muted)}
.vx-styles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.vx-styles button{background:var(--ws-surface);color:var(--ws-text);border:1px solid var(--ws-border);display:grid;gap:6px;padding:8px;font-size:12px;font-weight:500;text-align:left}
.vx-styles button:hover{background:var(--ws-gray-050)}.vx-styles button[aria-checked=true]{border:2px solid var(--ws-accent);padding:7px}
.vx-swatch{display:block;background:var(--ws-gray-950);color:var(--ws-surface);text-align:center;padding:6px 4px;font-weight:800;font-size:12px}
.vx-swatch i{font-style:normal}.vx-swatch.style-brand b{color:var(--ws-video-accent)}
.vx-swatch.style-box{background:var(--ws-gray-600)}.vx-swatch.style-light{background:var(--ws-gray-200);color:var(--ws-gray-950)}
.vx-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ws-border)}
.vx-seg button{background:var(--ws-surface);color:var(--ws-text);border:0;border-right:1px solid var(--ws-border);border-radius:0;font-weight:500;padding:9px 4px}
.vx-seg button:last-child{border-right:0}.vx-seg button:hover{background:var(--ws-gray-050)}
.vx-seg button[aria-checked=true]{background:var(--ws-gray-950);color:var(--ws-surface)}
#vx-text-delete{margin-top:12px;padding-left:0}
.vx-settings{margin-top:20px;border-top:1px solid var(--ws-border);padding-top:12px}.vx-settings summary{font-weight:650;font-size:13px;cursor:pointer}
.vx-settings .checkbox-label{font-size:13px;margin:14px 0 0}
.vx-timeline-panel{margin-bottom:16px}
.vx-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.vx-tools button{padding:8px 12px;font-size:13px}
.vx-tool-gap{flex:1}
.vx-ai{background:var(--ws-accent-soft);color:var(--ws-accent);border-color:var(--ws-accent)}.vx-ai:hover{background:var(--ws-surface)}
.vx-ai-tag{display:inline-block;background:var(--ws-accent);color:var(--ws-surface);font-size:10px;line-height:16px;padding:0 4px;margin-right:2px;border-radius:var(--ws-radius-control)}
.vx-total{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.vx-total.is-over{color:var(--ws-video-alert)}
.vx-trim{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:10px;background:var(--ws-gray-050);margin-bottom:10px}
.vx-trim input{width:120px}.vx-trim-name{flex-basis:100%;font-size:12px;font-weight:650}
.vx-scroll{overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--ws-border);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.vx-timeline{position:relative;min-width:100%;padding:4px 0 8px}
.vx-row{display:flex;align-items:stretch;border-bottom:1px solid var(--ws-gray-050)}
.vx-track-label{flex:0 0 64px;font-size:12px;font-weight:650;color:var(--ws-muted);padding:8px 0 0 4px;position:sticky;left:0;background:var(--ws-surface);z-index:4}
.vx-lane{position:relative;flex:none;min-height:34px}
.vx-ruler{height:24px;min-height:24px;cursor:pointer}
.vx-tick{position:absolute;top:4px;font-size:10px;color:var(--ws-muted);border-left:1px solid var(--ws-border);padding-left:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.vx-lane-video{height:60px;cursor:pointer}
.vx-seg-item{position:absolute;top:5px;height:50px;padding:0;border:1px solid var(--ws-gray-850);background:var(--ws-gray-850);overflow:hidden;color:var(--ws-surface);text-align:left;border-radius:var(--ws-radius-control);cursor:grab}
.vx-seg-item:hover{background:var(--ws-gray-700)}.vx-seg-item.is-selected{outline:3px solid var(--ws-accent);outline-offset:-1px;z-index:1}
.vx-strip{position:absolute;inset:0;display:flex;pointer-events:none}.vx-strip img{flex:1 1 0;min-width:0;height:100%;object-fit:cover}
.vx-seg-label{position:absolute;left:4px;bottom:3px;font-size:11px;font-weight:600;line-height:16px;background:var(--ws-video-scrim);padding:0 4px;white-space:nowrap;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.vx-lane-text{cursor:pointer}
.vx-text-item{position:absolute;height:26px;padding:0 8px;font-size:12px;font-weight:500;background:var(--ws-accent-soft);color:var(--ws-accent);border:1px solid var(--ws-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;border-radius:var(--ws-radius-control)}
.vx-text-item:hover{background:var(--ws-surface)}.vx-text-item.is-selected{background:var(--ws-accent);color:var(--ws-surface)}
.vx-lane-next{display:flex;gap:8px;align-items:center;padding:4px 0;flex:1;min-width:0}
.vx-next-chip{font-size:12px;color:var(--ws-muted);background:var(--ws-gray-050);border:1px dashed var(--ws-gray-300);padding:3px 8px;white-space:nowrap}
.vx-audio-chip{font-size:12px;background:var(--ws-gray-200);color:var(--ws-text);padding:3px 8px;white-space:nowrap}.vx-audio-chip.is-off{text-decoration:line-through;color:var(--ws-muted)}
.vx-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--ws-video-alert);pointer-events:none;z-index:3}
.vx-suggest,.vx-captions,.vx-output{margin-bottom:16px}
.vx-suggest-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#page-video .vx-suggest-controls label{margin:0}.vx-suggest-controls select{width:auto}
.vx-suggest-list{list-style:none;padding:0;margin:12px 0}
.vx-suggest-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ws-border)}
.vx-suggest-row img{width:120px;aspect-ratio:16/10;object-fit:cover;background:var(--ws-video-stage)}
.vx-suggest-row strong{font-size:14px}.vx-suggest-row p{font-size:13px;margin-top:4px;color:var(--ws-muted)}
.vx-suggest-row.is-off strong{color:var(--ws-muted)}
.vx-use{min-width:64px;padding:8px 12px}
.vx-panel-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.vx-captions-list{padding-left:20px;display:grid;gap:8px;margin:10px 0}.vx-caption-when{display:block;font-size:11px;color:var(--ws-muted)}
.vx-caption-label{margin-left:8px;font-size:11px;background:var(--ws-gray-050);padding:1px 6px}
.vx-progress{height:6px;background:var(--ws-gray-200);margin:8px 0}.vx-progress span{display:block;height:100%;width:0;background:var(--ws-accent);transition:width .3s}
.vx-output-body{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.vx-output video{width:min(100%,280px);background:var(--ws-black)}
.vx-output-actions{display:grid;gap:8px;align-content:start;justify-items:start;min-width:0;flex:1 1 220px}
.rv-video{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:20px;margin:14px 0}
.rv-video video{width:100%;aspect-ratio:9/16;background:var(--ws-black)}
.rv-video-heading{font-size:14px;margin:12px 0 6px}.rv-video-texts{padding-left:18px;font-size:13px;color:var(--ws-text)}
.tag.video{background:var(--ws-gray-950);color:var(--ws-surface)}
@media(max-width:1100px){.vx-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vx-stage{grid-column:1/-1;order:-1}.vx-project-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vx-project-buttons{grid-column:1/-1}}
@media(max-width:700px){.vx-workspace{grid-template-columns:minmax(0,1fr)}.vx-project-row{grid-template-columns:minmax(0,1fr)}.vx-frame{width:min(100%,300px)}.vx-actions{justify-content:flex-start}.vx-tool-gap{display:none}.vx-clip-list{max-height:none}
.vx-suggest-row{grid-template-columns:84px minmax(0,1fr)}.vx-suggest-row img{width:84px}.vx-suggest-row .vx-use{grid-column:2;justify-self:start}
.rv-video{grid-template-columns:minmax(0,1fr)}.rv-video video{max-width:260px}#page-video .panel{padding:16px}}
