@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Archivo+Black&family=JetBrains+Mono:wght@500;700&display=swap";:root{--jo-paper: hsl(40 33% 97%);--jo-paper-sunk: hsl(30 22% 93%);--jo-ink: hsl(0 0% 8%);--jo-ink-soft: hsl(0 0% 12%);--jo-white: hsl(0 0% 100%);--jo-orange: hsl(18 95% 54%);--jo-orange-deep: hsl(14 88% 42%);--jo-muted: hsl(30 10% 92%);--jo-muted-ink: hsl(0 0% 35%);--jo-danger: hsl(0 84% 55%);--jo-warning: hsl(40 90% 38%);--jo-paper-hsl: 40 33% 97%;--jo-ink-hsl: 0 0% 8%;--jo-orange-hsl: 18 95% 54%;--jo-warning-hsl: 40 90% 38%;--font-display: "Archivo Black", "Archivo", system-ui, sans-serif;--font-sans: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--border: 2px solid var(--jo-ink);--radius: 4px;--radius-pill: 999px;--shadow-brutal-sm: 3px 3px 0 0 var(--jo-ink);--shadow-brutal: 6px 6px 0 0 var(--jo-ink);--shadow-brutal-lg: 10px 10px 0 0 var(--jo-ink);--shadow-brutal-orange: 6px 6px 0 0 var(--jo-orange);--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--dur: .2s;color:var(--jo-ink);background:var(--jo-paper);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}.beta-modal-backdrop{align-items:center;background:hsl(var(--jo-ink-hsl) / .5);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:90}.beta-modal{background:var(--jo-white);border:var(--border);box-shadow:0 24px 60px hsl(var(--jo-ink-hsl) / .28);display:grid;gap:12px;max-width:480px;padding:26px;width:min(480px,100%)}.beta-modal>span{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.beta-modal h2{font-size:clamp(1.15rem,2vw,1.5rem)}.beta-modal p{color:var(--jo-muted-ink);line-height:1.5;margin:0}.beta-modal .primary-button{justify-self:start;margin-top:6px}body:before{background-image:linear-gradient(hsl(var(--jo-ink-hsl) / .06) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--jo-ink-hsl) / .06) 1px,transparent 1px);background-size:48px 48px;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:fixed;z-index:-1}button,input,select,textarea{font:inherit}button{border:0}h1,h2,p{margin:0}::selection{background:var(--jo-orange);color:var(--jo-white)}.app-shell{min-height:100vh;padding:clamp(14px,1.7vw,26px)}.juggling-loader{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100vh;color:var(--jo-ink);font-size:14px;font-weight:700}.juggling-loader-dots{display:inline-block;position:relative}.juggling-loader-dot{animation-iteration-count:infinite;animation-name:jo-cascade;border-radius:50%;position:absolute}@keyframes jo-cascade{0%{transform:var(--loader-right);animation-timing-function:linear}20%{transform:var(--loader-right);animation-timing-function:cubic-bezier(.2,0,.4,1)}45%{transform:var(--loader-top);animation-timing-function:cubic-bezier(.6,0,.8,1)}68%{transform:var(--loader-left);animation-timing-function:linear}73%{transform:var(--loader-left);animation-timing-function:ease-in-out}80%{transform:var(--loader-bottom-left);animation-timing-function:ease-in-out}90%{transform:var(--loader-bottom-right);animation-timing-function:ease-in-out}to{transform:var(--loader-right)}}@media(prefers-reduced-motion:reduce){.juggling-loader-dot{animation-duration:.001ms!important;animation-iteration-count:1}}.toolbar,.summary-strip,.workspace,.implementation-note{margin-left:auto;margin-right:auto;width:100%}.toolbar{align-items:center;background:hsl(var(--jo-paper-hsl) / .94);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal);display:flex;gap:24px;justify-content:space-between;margin-bottom:18px;padding:14px 18px}.brand-lockup{align-items:center;display:flex;gap:18px;min-width:0}.brand-link{align-items:center;color:inherit;display:flex;flex:0 0 auto;gap:18px;text-decoration:none}.brand-link:focus-visible{outline:3px solid var(--jo-orange);outline-offset:4px}.brand-mark{background:var(--jo-paper);border:var(--border);box-shadow:var(--shadow-brutal-sm);display:grid;flex:0 0 auto;height:48px;overflow:hidden;place-items:center;width:48px}.brand-mark img{display:block;height:100%;width:100%}.brand-name{color:var(--jo-ink);flex:0 0 auto;font-family:var(--font-display);font-size:16px;letter-spacing:-.03em;line-height:.86}.eyebrow,.section-title,.metric span,.metadata-grid dt,th,.segmented-control button,.suggestion code,.suggestion-topline span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:var(--jo-orange-deep);font-size:.75rem;font-weight:700}h1{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.02em;line-height:.98;margin-top:4px}h2{font-family:var(--font-display);font-size:1.15rem;letter-spacing:-.01em;line-height:1}.toolbar-actions{align-items:center;display:flex;gap:16px}.account-chip{align-items:center;display:flex;gap:10px}.account-avatar{align-items:center;background:var(--jo-orange);border:var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-brutal-sm);color:var(--jo-white);display:flex;flex:0 0 auto;font-family:var(--font-display);font-size:1rem;height:34px;justify-content:center;width:34px}.account-chip strong{color:var(--jo-ink);font-size:.9rem;font-weight:700}.toolbar-actions .text-button,.toolbar-actions .primary-button{font-weight:700;height:auto;letter-spacing:.06em;min-height:40px;text-transform:uppercase}.toolbar-actions .text-button{background:transparent;border:2px solid transparent;box-shadow:none;color:var(--jo-ink);padding:0 18px}.toolbar-actions .text-button:hover{background:var(--jo-muted);box-shadow:none;transform:translate(-3px,-3px)}.toolbar-actions .text-button:active{transform:translate(0)}.login-screen{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);min-height:100vh}.login-art{border-right:var(--border);display:flex;flex-direction:column;gap:48px;justify-content:space-between;min-height:100vh;padding:clamp(28px,5vw,72px)}.login-art .brand-lockup{margin-bottom:24px}.login-copy{max-width:640px}.login-copy h1{font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:1;margin-top:20px}.login-copy p{color:var(--jo-muted-ink);font-size:1.05rem;line-height:1.6;margin-top:20px;max-width:560px}.highlight{background:var(--jo-orange);border:var(--border);box-shadow:var(--shadow-brutal);color:var(--jo-white);display:inline-block;padding:0 .1em .08em;transform:rotate(-1deg)}.policy-card{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal);max-width:620px;padding:20px}.policy-card h2{font-family:var(--font-display);font-size:1.25rem;line-height:1;margin-bottom:12px}.policy-card ul{display:grid;gap:8px;list-style:none;margin:0}.policy-card li{color:var(--jo-muted-ink);line-height:1.45;padding-left:20px;position:relative}.policy-card li:before{background:var(--jo-orange);border:1.5px solid var(--jo-ink);border-radius:50%;content:"";height:8px;left:0;position:absolute;top:6px;width:8px}.login-panel-wrap{align-items:center;background:var(--jo-paper-sunk);display:grid;justify-items:center;min-height:100vh;padding:24px}.login-panel{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-lg);padding:24px;width:min(100%,440px)}.login-panel h2{font-family:var(--font-display);font-size:2rem;line-height:1;margin:0 0 8px}.login-panel>p{color:var(--jo-muted-ink);line-height:1.5}.form-stack{display:grid;gap:14px;margin-top:22px}.login-panel label{color:var(--jo-muted-ink);display:block;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;margin-bottom:7px;text-transform:uppercase}.login-panel .input{background:var(--jo-white);border:var(--border);outline:0;padding:10px 12px;width:100%}.login-panel .input:focus{box-shadow:0 0 0 3px var(--jo-orange)}.ai-toggle{align-items:start;background:var(--jo-paper);border:1.5px solid hsl(var(--jo-ink-hsl) / .3);cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-transform:none}.ai-toggle input{accent-color:var(--jo-orange);flex:0 0 auto;height:16px;margin-top:2px;width:16px}.ai-toggle span{display:grid;gap:3px}.ai-toggle strong{color:var(--jo-ink);font-family:var(--font-sans);font-size:.82rem;font-weight:700;letter-spacing:0}.ai-toggle small{color:var(--jo-muted-ink);font-family:var(--font-sans);font-size:.72rem;font-weight:400;letter-spacing:0;line-height:1.4}.alert{border:var(--border);font-family:var(--font-mono);font-size:.75rem;line-height:1.45;padding:10px}.alert.error{background:hsl(var(--jo-orange-hsl) / .12);color:#a52727}.jo-btn{align-items:center;background:var(--jo-orange);border:var(--border);box-shadow:var(--shadow-brutal-sm);color:var(--jo-white);display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 18px;text-transform:uppercase;transition:box-shadow var(--dur) var(--ease-pop),transform var(--dur) var(--ease-pop)}.jo-btn:hover{box-shadow:var(--shadow-brutal);transform:translate(-2px,-2px)}.jo-btn:active{box-shadow:var(--shadow-brutal-sm);transform:translate(0)}.jo-btn:disabled{cursor:default;opacity:.5;transform:none}.jo-btn.ink{background:var(--jo-ink);color:var(--jo-paper)}.jo-btn.paper{background:var(--jo-white);color:var(--jo-ink);width:100%}.without-ai-note{color:var(--jo-muted-ink);display:block;font-family:var(--font-mono);font-size:.66rem;margin-top:10px;text-align:center}.login-divider{align-items:center;color:var(--jo-muted-ink);display:flex;gap:12px;margin:18px 0 14px}.login-divider:before,.login-divider:after{background:hsl(var(--jo-ink-hsl) / .15);content:"";flex:1 1 auto;height:1px}.login-divider span{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}@media(max-width:900px){.login-screen{grid-template-columns:1fr}.login-art{border-bottom:var(--border);border-right:0;min-height:auto}.login-panel-wrap{min-height:auto}}.primary-button,.icon-button,.file-button,.suggestion-actions button,.mini-apply{align-items:center;border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm);cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;transition:background var(--dur) ease,box-shadow var(--dur) ease,color var(--dur) ease,transform var(--dur) var(--ease-pop)}.primary-button{background:var(--jo-orange);color:var(--jo-white);gap:9px;min-height:44px;padding:0 18px;text-transform:uppercase}.primary-button:hover,.icon-button:hover,.file-button:hover,.suggestion-actions button:hover,.mini-apply:hover{box-shadow:var(--shadow-brutal);transform:translate(-3px,-3px)}.primary-button:active,.icon-button:active,.file-button:active,.suggestion-actions button:active,.mini-apply:active{box-shadow:var(--shadow-brutal-sm);transform:translate(0)}.primary-button:hover{background:var(--jo-orange-deep)}.icon-button,.file-button,.suggestion-actions button{background:var(--jo-white);color:var(--jo-ink);height:44px;width:44px}.file-button input{display:none}.summary-strip{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}.metric{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-sm);min-height:86px;padding:14px 15px}.metric span{color:var(--jo-muted-ink);display:block;font-size:.68rem;font-weight:700}.metric strong{display:block;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.02em;line-height:.95;margin-top:10px}.metric.ok strong{color:var(--jo-ink)}.metric.warn{background:var(--jo-paper-sunk)}.metric.warn strong{color:var(--jo-warning)}.metric.info strong{color:var(--jo-orange-deep)}.workspace{display:grid;gap:18px;grid-template-columns:minmax(340px,.92fr) minmax(330px,.78fr) minmax(520px,1.3fr)}.panel{background:var(--jo-white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal);height:min(72vh,820px);min-height:min(72vh,820px);overflow:hidden}.panel-header{align-items:flex-start;background:var(--jo-paper-sunk);border-bottom:var(--border);display:flex;gap:14px;justify-content:space-between;min-height:82px;padding:15px}.panel-tools{align-items:center;display:flex;flex-shrink:0;gap:10px}.panel-header p{color:var(--jo-muted-ink);font-size:.86rem;line-height:1.35;margin-top:6px}textarea{background:var(--jo-white);border:0;color:var(--jo-ink);height:calc(100% - 82px);line-height:1.5;outline:none;padding:16px;resize:none;width:100%;white-space:pre-wrap;word-break:break-word}textarea,pre,code{font-family:var(--font-mono)}pre{color:var(--jo-ink);font-size:.76rem;line-height:1.5;margin:0;max-height:calc(min(72vh,820px) - 82px);overflow:auto;padding:16px 24px 24px 16px;white-space:pre-wrap;word-break:break-word}.segmented-control{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-brutal-sm);display:flex;min-height:34px;padding:3px}.segmented-control button{background:transparent;border-radius:var(--radius-pill);color:var(--jo-muted-ink);cursor:pointer;font-size:.68rem;font-weight:700;min-height:26px;padding:0 10px}.segmented-control button.active{background:var(--jo-orange);color:var(--jo-white)}.readable{color:var(--jo-ink);max-height:calc(min(72vh,820px) - 82px);overflow:auto;padding:16px 24px 24px 16px}.empty-readable{color:var(--jo-muted-ink);font-size:.94rem}.upload-dropzone{display:grid;height:calc(100% - 82px);padding:24px}.upload-dropzone label{align-items:center;background:linear-gradient(135deg,hsl(var(--jo-orange-hsl) / .08),transparent 42%),var(--jo-white);border:2px dashed var(--jo-ink);border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;justify-items:center;min-height:260px;padding:28px;text-align:center;transition:background var(--dur) ease,box-shadow var(--dur) ease,transform var(--dur) var(--ease-pop)}.upload-dropzone label:hover,.upload-dropzone.dragging label{background:hsl(var(--jo-orange-hsl) / .14);box-shadow:var(--shadow-brutal-sm);transform:translate(-2px,-2px)}.upload-dropzone input{display:none}.dropzone-icon{align-items:center;background:var(--jo-orange);border:var(--border);box-shadow:var(--shadow-brutal-sm);color:var(--jo-white);display:inline-flex;height:58px;justify-content:center;width:58px}.upload-dropzone strong{font-family:var(--font-display);font-size:1.35rem;line-height:1}.upload-dropzone label>span:last-of-type{color:var(--jo-muted-ink);font-size:.9rem;line-height:1.4;max-width:360px}.start-panel{display:grid;gap:18px;padding:22px}.start-panel .upload-dropzone{height:auto;padding:0}.start-panel .upload-dropzone label{min-height:360px}.start-create-block>p{color:var(--jo-muted-ink);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-align:center;text-transform:uppercase}.start-create-actions{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,320px));justify-content:center}.start-scratch-button{min-height:48px;width:100%}.legacy-parties-list{padding-top:4px}@media(max-width:760px){.start-create-actions{grid-template-columns:minmax(0,320px)}}.sheet-picker-backdrop{align-items:center;background:hsl(var(--jo-ink-hsl) / .42);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:50}.sheet-picker-dialog{background:var(--jo-white);border:var(--border);box-shadow:0 24px 60px hsl(var(--jo-ink-hsl) / .28);display:grid;gap:14px;max-height:min(720px,calc(100vh - 48px));max-width:720px;overflow:hidden;padding:16px;width:min(720px,100%)}.sheet-picker-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.sheet-picker-header span{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sheet-picker-header h2{font-size:clamp(1.25rem,2vw,1.8rem);margin:4px 0}.sheet-picker-header p{color:var(--jo-muted-ink);margin:0}.sheet-picker-list{display:grid;gap:8px;max-height:480px;overflow:auto}.sheet-picker-item{background:var(--jo-paper);border:var(--border);cursor:pointer;display:grid;gap:4px;padding:10px 12px;text-align:left}.sheet-picker-item:hover{background:var(--jo-white);border-color:var(--jo-orange-deep)}.sheet-picker-item span{color:var(--jo-muted-ink);font-size:.85rem}.sheet-picker-item code{color:var(--jo-orange-deep);font-size:.72rem}.territory-request-more{background:transparent;border:0;color:var(--jo-muted-ink);cursor:pointer;font-size:.72rem;font-weight:700;margin-right:auto;padding:9px 0;text-align:left;text-decoration:underline dotted;text-underline-offset:3px}.territory-request-more:hover{color:var(--jo-orange-deep)}.report-problem-dialog{background:var(--jo-white);border:var(--border);box-shadow:0 24px 60px hsl(var(--jo-ink-hsl) / .28);gap:0;margin:auto;max-width:480px;padding:0;width:min(480px,calc(100vw - 48px))}.report-problem-dialog:not([open]){display:none}.report-problem-dialog[open]{display:grid}.report-problem-dialog::backdrop{background:hsl(var(--jo-ink-hsl) / .42)}.report-problem-header{align-items:center;background:var(--jo-paper);border-bottom:var(--border);display:flex;justify-content:space-between;padding:14px 16px}.report-problem-header span{font-family:var(--font-display);font-size:1.05rem}.report-problem-body{padding:18px 16px}.report-problem-form{display:grid;gap:12px}.report-problem-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.report-problem-field{display:grid;gap:5px}.report-problem-field span{color:var(--jo-muted-ink);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.report-problem-field small{color:var(--jo-orange-deep);text-transform:none}.report-problem-field input,.report-problem-field textarea{background:var(--jo-white);border:var(--border);border-radius:var(--radius);font-family:var(--font-sans);padding:8px 10px}.report-problem-field textarea{min-height:120px;resize:vertical}.report-problem-error{color:var(--jo-danger);font-size:.78rem}.report-problem-actions{display:flex;gap:8px;justify-content:flex-end}.report-problem-success{align-items:center;color:var(--jo-orange-deep);display:grid;gap:8px;justify-items:center;padding:12px 0;text-align:center}.report-problem-success-title{color:var(--jo-ink);font-family:var(--font-display);font-size:1.05rem;margin:0}.report-problem-success-hint{color:var(--jo-muted-ink);font-size:.78rem;margin:0}.spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.workspace-editor{display:grid;gap:18px}.editor-section,.cue-editor{background:var(--jo-white);border:var(--border);min-width:0}.editor-section{padding:14px}.editor-section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.editor-section-heading>span,.editor-section-heading>div>span,.editor-subtitle{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.editor-section-heading>div{align-items:center;display:flex;gap:8px}.editor-section-heading>div>strong{background:var(--jo-ink);color:var(--jo-white);padding:3px 7px}.editor-grid{align-items:start;display:grid;gap:6px 12px;grid-auto-flow:row dense;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.workspace-field.field-wide{grid-column:span 2}.workspace-field.field-3x{grid-column:span 3}.workspace-field.field-full{grid-column:1 / -1}.workspace-field{display:grid;gap:3px;min-width:0}.workspace-field>span{align-items:center;color:var(--jo-muted-ink);display:flex;font-size:.7rem;font-weight:700;justify-content:space-between;gap:6px}.suggestion-hint{color:var(--jo-muted-ink);cursor:help;display:inline-flex;flex:0 0 auto;position:relative}.suggestion-hint:after{content:"";height:10px;position:absolute;right:0;top:100%;width:240px}.suggestion-hint:hover,.suggestion-hint:focus-within{color:var(--jo-orange-deep)}.generate-hint{align-items:center;background:transparent;border:0;color:var(--jo-muted-ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:var(--font-sans);font-size:.65rem;font-weight:700;gap:3px;letter-spacing:.02em;margin-left:auto;padding:0;text-transform:none}.generate-hint:hover,.generate-hint:focus-visible{color:var(--jo-orange-deep)}.suggestion-popover{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal);cursor:default;display:none;margin-top:6px;padding:10px;position:absolute;right:0;text-align:left;text-transform:none;top:100%;width:240px;z-index:40}.suggestion-hint:hover .suggestion-popover,.suggestion-hint:focus-within .suggestion-popover{display:block}.suggestion-popover-title{color:var(--jo-ink);font-size:.76rem;font-weight:800;letter-spacing:0;margin-bottom:5px;text-transform:none}.suggestion-popover-value{background:var(--jo-paper);border:1px solid var(--jo-ink);color:var(--jo-ink);font-family:var(--font-mono);font-size:.74rem;font-weight:500;margin-bottom:6px;overflow-wrap:anywhere;padding:4px 6px}.suggestion-popover-rationale{color:var(--jo-muted-ink);font-size:.72rem;font-weight:400;letter-spacing:0;line-height:1.4;margin-bottom:8px;text-transform:none}.suggestion-popover-actions{display:flex;flex-wrap:wrap;gap:6px}.suggestion-popover-actions .mini-apply,.suggestion-popover-actions .text-button{font-size:.66rem;min-height:28px;padding:0 8px}.workspace-field input,.workspace-field select{background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);min-height:34px;min-width:0;padding:5px 8px;width:100%}.workspace-field.validation-error input,.workspace-field.validation-error select{background:#ed2c2c14;border-color:#d03939;box-shadow:0 0 0 1px #d039391f}.workspace-field.validation-warning input,.workspace-field.validation-warning select{background:hsl(var(--jo-warning-hsl) / .1);border-color:var(--jo-warning);box-shadow:0 0 0 1px hsl(var(--jo-warning-hsl) / .12)}.workspace-field.validation-error>span{color:#a52727}.workspace-field.validation-warning>span{color:var(--jo-warning)}@keyframes field-flash{0%,to{box-shadow:0 0 0 4px #ed2c2c00}25%{box-shadow:0 0 0 4px #ed2c2c66}}.field-flash{animation:field-flash 1.4s ease;border-radius:var(--radius)}.workspace-field small{color:var(--jo-muted-ink);display:block;font-size:.68rem;line-height:1.3;min-height:1.3em}.searchable-select{position:relative}.searchable-select-trigger{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);cursor:pointer;display:flex;justify-content:space-between;min-height:34px;padding:5px 8px;text-align:left;width:100%}.searchable-select-placeholder{color:var(--jo-muted-ink)}.searchable-select-chips{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);cursor:text;display:flex;flex-wrap:wrap;gap:5px;min-height:34px;padding:5px 7px;width:100%}.chip{align-items:center;background:var(--jo-paper-sunk);border:1px solid hsl(var(--jo-ink-hsl) / .3);border-radius:var(--radius-pill);display:inline-flex;font-size:.72rem;gap:5px;padding:3px 6px 3px 9px}.chip button{align-items:center;background:transparent;color:var(--jo-muted-ink);cursor:pointer;display:flex}.searchable-select-panel{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-sm);left:0;max-height:280px;position:absolute;right:0;top:calc(100% + 4px);z-index:30}.searchable-select-panel input{border:0;border-bottom:1px solid var(--jo-ink);padding:9px 10px;width:100%}.searchable-select-options{max-height:230px;overflow:auto}.searchable-select-option{cursor:pointer;font-size:.8rem;padding:7px 10px}.searchable-select-option strong{color:var(--jo-orange-deep);margin-right:6px}.searchable-select-option:hover,.searchable-select-option.active{background:var(--jo-paper)}.searchable-select-clear{color:var(--jo-muted-ink);font-style:italic}.searchable-select-empty{color:var(--jo-muted-ink);font-size:.78rem;padding:10px}.territory-input{min-width:0;position:relative}.territory-picker-trigger{align-items:center;background:var(--jo-muted);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm);color:var(--jo-muted-ink);cursor:pointer;display:flex;gap:6px;min-height:34px;min-width:0;overflow:hidden;padding:0 10px;transition:background var(--dur) ease,box-shadow var(--dur) ease,color var(--dur) ease,transform var(--dur) var(--ease-pop);width:100%}.territory-picker-trigger svg{flex:0 0 auto}.territory-picker-trigger-label{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.territory-picker-trigger:hover{box-shadow:var(--shadow-brutal);color:var(--jo-ink);transform:translate(-3px,-3px)}.territory-picker-trigger:active{box-shadow:var(--shadow-brutal-sm);transform:translate(0)}.territory-picker-backdrop{align-items:center;background:hsl(var(--jo-ink-hsl) / .42);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:60}.territory-picker-dialog{background:var(--jo-white);border:var(--border);box-shadow:0 24px 60px hsl(var(--jo-ink-hsl) / .28);display:flex;flex-direction:column;gap:14px;max-height:min(760px,calc(100vh - 48px));max-width:640px;overflow:hidden;padding:16px;width:min(640px,100%)}.territory-picker-header{align-items:start;display:flex;flex:0 0 auto;gap:16px;justify-content:space-between}.territory-picker-header span{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.territory-picker-header h2{font-size:clamp(1.15rem,2vw,1.5rem);margin:4px 0 0}.territory-picker-header-actions{align-items:center;display:flex;gap:10px}.territory-picker-group-select{background:var(--jo-white);border:var(--border);border-radius:var(--radius);font-size:.8rem;padding:8px 10px}.territory-picker-toolbar{align-items:center;border-bottom:var(--border);display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;padding-bottom:12px}.territory-picker-preview{background:var(--jo-paper);border:1px solid hsl(var(--jo-ink-hsl) / .3);border-radius:var(--radius);color:var(--jo-orange-deep);flex:1 1 220px;font-size:.78rem;overflow-wrap:break-word;padding:6px 10px}.territory-picker-list{display:grid;flex:1 1 auto;gap:8px;min-height:0;overflow-y:auto;padding-right:2px}.territory-picker-section{background:var(--jo-paper);border:var(--border)}.territory-picker-section summary{align-items:center;cursor:pointer;display:flex;gap:8px;list-style:none;padding:10px 12px}.territory-picker-section summary::-webkit-details-marker{display:none}.territory-picker-section summary:before{color:var(--jo-muted-ink);content:"▸";flex:0 0 auto;font-size:.7rem;transition:transform var(--dur) var(--ease-pop)}.territory-picker-section[open] summary:before{transform:rotate(90deg)}.territory-picker-section summary span{color:var(--jo-orange-deep);flex:1 1 auto;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.06em}.territory-picker-section summary small{color:var(--jo-muted-ink);flex:0 0 auto;font-size:.7rem;font-weight:500}.territory-picker-countries{border-top:var(--border);column-gap:14px;columns:180px 3;padding:10px 12px}.territory-picker-country{align-items:center;break-inside:avoid;color:var(--jo-ink);cursor:pointer;display:flex;font-size:.78rem;gap:6px;padding:2px 0}.territory-picker-country input,.territory-picker-section summary input{accent-color:var(--jo-orange);flex:0 0 auto;height:14px;margin:0;width:14px}.territory-picker-footer{border-top:var(--border);display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end;padding-top:12px}.time-counter{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);display:flex;gap:2px;justify-content:center;min-height:34px;padding:2px 0}.time-segment{border-radius:var(--radius);color:var(--jo-ink);cursor:ns-resize;font-family:var(--font-mono);font-size:.95rem;font-weight:700;padding:4px 5px;-webkit-user-select:none;user-select:none}.time-segment:hover{background:hsl(var(--jo-orange-hsl) / .12)}.time-colon{color:var(--jo-muted-ink);font-weight:700}.workspace-field.validation-error .time-segment{color:#a52727}.workspace-field.validation-warning .time-segment{color:var(--jo-warning)}.workspace-field.validation-error small{color:#a52727}.workspace-field.validation-warning small{color:var(--jo-warning)}.cue-editor.validation-error{border-color:#d03939}.cue-editor.validation-warning{border-color:var(--jo-warning)}.cue-editor summary small{color:var(--jo-muted-ink);font-size:.7rem;font-weight:500;margin-left:auto;max-width:52%;text-align:right}.cue-editor.validation-error summary small{color:#a52727}.cue-editor.validation-warning summary small{color:var(--jo-warning)}.cue-editor summary{align-items:center;cursor:pointer;display:flex;gap:10px;padding:13px}.cue-editor summary span{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase}.cue-editor-body{border-top:var(--border);display:grid;gap:9px;padding:13px}.cue-editor-body .editor-subtitle{margin-top:3px}.editor-subtitle span{color:var(--jo-muted-ink);font-family:var(--font-sans);font-weight:500;letter-spacing:0;margin-left:8px;text-transform:none}.editor-empty{background:var(--jo-white);border:var(--border);color:var(--jo-muted-ink);padding:16px}.danger-button{color:var(--jo-danger);justify-self:end}.territories-list,.parties-list,.shares-list{display:grid;gap:12px;min-width:0}.territory-block{background:var(--jo-paper);border:var(--border);min-width:0}.territory-block-body{border-top:var(--border);display:grid;gap:12px;padding:14px}.party-block{background:var(--jo-white);border:1.5px solid var(--jo-ink);min-width:0}.party-block-body{border-top:1.5px solid var(--jo-ink);display:grid;gap:10px;padding:12px}.territory-block summary,.party-block summary{align-items:center;cursor:pointer;display:flex;gap:10px;list-style:none;padding:11px 14px}.territory-block summary::-webkit-details-marker,.party-block summary::-webkit-details-marker{display:none}.territory-block summary:before,.party-block summary:before{color:var(--jo-muted-ink);content:"▸";flex:0 0 auto;font-size:.7rem;transition:transform var(--dur) var(--ease-pop)}.territory-block[open]>summary:before,.party-block[open]>summary:before{transform:rotate(90deg)}.territory-block summary>span,.party-block summary>span{color:var(--jo-orange-deep);flex:0 0 auto;font-family:var(--font-mono);font-size:.68rem;font-weight:700;text-transform:uppercase}.territory-block summary>strong,.party-block summary>strong{flex:1 1 auto;font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.territory-block summary>small,.party-block summary>small{color:var(--jo-muted-ink);flex:0 0 auto;font-size:.7rem;font-weight:500}.party-block summary>strong{font-size:.8rem}.share-row{align-items:center;background:var(--jo-paper-sunk);border:1px solid hsl(var(--jo-ink-hsl) / .3);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px;padding:10px}.share-row .workspace-field{flex:1 1 140px}.share-row .danger-button{flex:0 0 auto}.export-menu-wrap{position:relative}.edit-output-button{background:var(--jo-white);border:var(--border);border-radius:var(--radius);cursor:pointer;font-weight:800;min-height:38px;padding:0 11px;white-space:nowrap}.edit-output-button.active{background:var(--jo-orange);color:var(--jo-white)}.finalize-action-button{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:800;gap:7px;min-height:38px;padding:0 14px;transition:background var(--dur) ease,box-shadow var(--dur) ease,transform var(--dur) var(--ease-pop);white-space:nowrap}.finalize-action-button:hover:not(:disabled){box-shadow:var(--shadow-brutal);transform:translate(-3px,-3px)}.finalize-action-button:active:not(:disabled){box-shadow:var(--shadow-brutal-sm);transform:translate(0)}.finalize-action-button:disabled{cursor:not-allowed;opacity:.5}.finalize-action-button svg{flex:0 0 auto}.export-menu{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-sm);display:grid;min-width:285px;position:absolute;right:0;top:calc(100% + 7px);z-index:5}.export-menu button{background:var(--jo-white);border-bottom:1px solid var(--jo-ink);cursor:pointer;display:grid;gap:3px;padding:10px;text-align:left}.export-menu button:last-child{border-bottom:0}.export-menu button:hover{background:var(--jo-paper)}.export-menu span{color:var(--jo-muted-ink);font-size:.72rem}.section-title{color:var(--jo-orange-deep);font-size:.72rem;font-weight:700;margin:0 0 12px}.metadata-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 18px}.metadata-grid div{background:var(--jo-paper);border:var(--border);padding:11px}.metadata-grid dt{color:var(--jo-muted-ink);font-size:.68rem;font-weight:700;margin-bottom:5px}.metadata-grid dd{font-weight:700;margin:0;overflow-wrap:anywhere}.table-wrap{border:var(--border);overflow:auto}table{border-collapse:collapse;min-width:790px;width:100%}th,td{border-bottom:2px solid var(--jo-ink);font-size:.78rem;line-height:1.36;padding:9px 10px;text-align:left;vertical-align:top}th{background:var(--jo-ink);color:var(--jo-paper);font-size:.68rem;font-weight:700;position:sticky;top:0;z-index:1}td{overflow-wrap:anywhere}th:first-child,td:first-child{white-space:nowrap;width:1%}tbody tr:nth-child(2n) td{background:var(--jo-paper)}tbody tr:last-child td{border-bottom:0}.review-panel{display:flex;flex-direction:column;min-width:0}.review-panel>.panel-header svg{background:var(--jo-orange);border:var(--border);color:var(--jo-white);height:38px;padding:7px;width:38px}.review-toolbar{align-items:center;border-bottom:var(--border);display:flex;gap:8px;padding:10px 14px}.review-toolbar strong{flex:1 1 auto;font-family:var(--font-mono);font-size:.75rem;text-align:center}.review-nav,.review-mode-button{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:34px}.review-nav{width:38px}.review-mode-button{gap:6px;padding:0 10px}.review-mode-button.active{background:var(--jo-orange);color:var(--jo-white)}.review-nav:disabled{cursor:default;opacity:.45}button:disabled{cursor:default;opacity:.45;transform:none}.review-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 22px 22px 14px}.review-active-card{min-width:0}.review-list{display:grid;gap:10px}.review-list-item{background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);cursor:pointer;display:grid;gap:4px;padding:9px;text-align:left}.review-list-item.active{background:var(--jo-paper);box-shadow:var(--shadow-brutal-sm)}.review-list-item span,.review-list-item code{color:var(--jo-muted-ink);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.review-list-item strong{font-size:.84rem;overflow-wrap:anywhere}.review-list-item code{letter-spacing:.04em;text-transform:none}.review-list .review-active-card{margin-top:4px}.issue-list{display:grid;gap:10px}.issue,.empty-state{align-items:flex-start;display:flex;gap:10px}.issue{background:hsl(var(--jo-orange-hsl) / .12);border:var(--border);box-shadow:var(--shadow-brutal-sm);color:var(--jo-ink);padding:10px}.issue svg{color:var(--jo-orange-deep);flex:0 0 auto}.issue strong,.issue span{display:block;font-size:.82rem}.issue div{min-width:0}.issue strong{font-weight:900;overflow-wrap:anywhere}.issue span{color:var(--jo-muted-ink);margin-top:3px;overflow-wrap:anywhere}.empty-state{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-sm);color:var(--jo-ink);font-size:.88rem;font-weight:700;padding:12px}.empty-state svg{color:var(--jo-orange)}.suggestions{align-content:start;display:grid;gap:12px;margin-top:14px}.suggestion{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal-sm);cursor:pointer;padding:12px;transition:box-shadow var(--dur) ease,opacity var(--dur) ease,transform var(--dur) var(--ease-pop)}.suggestion:hover{box-shadow:var(--shadow-brutal);transform:translate(-2px,-2px)}.suggestion.accepted{background:var(--jo-paper-sunk)}.suggestion.dismissed{opacity:.48}.suggestion-topline{align-items:center;display:flex;gap:10px;justify-content:space-between}.suggestion-topline strong{font-weight:900}.suggestion-badges{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px}.suggestion-topline span,.suggestion-badges span{background:var(--jo-orange);border:var(--border);color:var(--jo-white);flex:0 0 auto;font-size:.68rem;font-weight:700;padding:3px 7px}.suggestion-badges span:first-child:not(:last-child){background:var(--jo-ink);color:var(--jo-paper)}.suggestion code{color:var(--jo-muted-ink);display:block;font-size:.74rem;margin-top:8px;word-break:break-word}.suggestion p{color:var(--jo-muted-ink);font-size:.85rem;line-height:1.45;margin-top:9px}.field-editor{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;margin-top:11px}.field-editor label{display:grid;gap:5px;min-width:0}.field-editor label span{color:var(--jo-muted-ink);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field-editor input,.field-editor select,.field-editor textarea{background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);min-height:36px;outline:0;padding:7px 9px;width:100%}.field-editor input:focus,.field-editor select:focus,.field-editor textarea:focus{box-shadow:0 0 0 3px hsl(var(--jo-orange-hsl) / .24)}.field-editor textarea{font-family:var(--font-mono);height:96px;line-height:1.4;resize:vertical;white-space:pre}.structured-editor{align-items:stretch;grid-template-columns:1fr}.structured-label,.party-editor label span,.territory-fields label span{color:var(--jo-muted-ink);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.structured-stack{display:grid;gap:10px;min-width:0}.party-editor,.territory-editor{background:var(--jo-paper);border:var(--border);display:grid;gap:8px;padding:9px}.party-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.party-editor label,.territory-fields label{display:grid;gap:5px;min-width:0}.party-editor input,.party-editor select,.territory-fields input,.territory-fields select{background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);min-height:34px;outline:0;padding:6px 8px;width:100%}.territory-fields{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.structured-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.text-button{background:var(--jo-white);border:var(--border);border-radius:var(--radius);color:var(--jo-ink);cursor:pointer;font-size:.78rem;font-weight:800;min-height:34px;padding:0 10px}.party-editor>.text-button{align-self:end}.mini-apply{background:var(--jo-orange);color:var(--jo-white);gap:6px;min-height:36px;padding:0 10px;white-space:nowrap}.suggestion-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.suggestion-actions button{height:34px;width:34px}.suggestion-actions button:first-child{background:var(--jo-orange);color:var(--jo-white)}.implementation-note{align-items:center;background:var(--jo-ink);border:var(--border);box-shadow:var(--shadow-brutal-orange);color:var(--jo-paper);display:flex;gap:12px;margin-top:22px;padding:13px 15px}.implementation-note svg{color:var(--jo-orange);flex:0 0 auto}.implementation-note p{font-size:.92rem;line-height:1.45}@media(max-width:1280px){.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.output-panel{grid-column:1 / -1}.panel{min-height:520px}.output-panel{min-height:580px}}@media(max-width:920px){.workspace{grid-template-columns:1fr}.output-panel{grid-column:auto}.panel,.output-panel{min-height:460px}}@media(max-width:760px){.app-shell{padding:14px}.toolbar{align-items:stretch;flex-direction:column;position:static}.brand-lockup{align-items:flex-start;flex-direction:column}.brand-mark{height:44px;width:44px}.toolbar-actions{justify-content:flex-end}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metadata-grid,.editor-grid{grid-template-columns:1fr}}@media(max-width:480px){.summary-strip{grid-template-columns:1fr}.panel-header{align-items:stretch;flex-direction:column}.panel-tools{justify-content:flex-end}}.workflow-steps{background:var(--jo-white);border:var(--border);display:grid;grid-template-columns:repeat(2,1fr);margin:0 auto 12px;width:100%}.workflow-steps button{align-items:center;background:var(--jo-white);border-right:var(--border);color:var(--jo-muted-ink);cursor:pointer;display:flex;gap:10px;min-height:58px;padding:10px 16px}.workflow-steps button:last-child{border-right:0}.workflow-steps button.active{background:var(--jo-ink);color:var(--jo-white)}.workflow-steps button.complete{background:var(--jo-paper-sunk);color:var(--jo-ink)}.workflow-steps button span{align-items:center;border:2px solid currentColor;border-radius:50%;display:inline-flex;font-family:var(--font-mono);font-size:.7rem;height:28px;justify-content:center;width:28px}.workflow-steps button strong{font-size:.9rem}.workspace-summary{align-items:center;background:var(--jo-paper-sunk);border:var(--border);display:flex;flex-wrap:wrap;gap:18px;margin:0 auto 18px;min-height:44px;padding:8px 12px;width:100%}.workspace-summary>span{font-size:.78rem}.workspace-summary .warn strong{color:var(--jo-warning)}.workspace-summary .error strong{color:#a52727}.workspace-summary .workspace-status{color:var(--jo-muted-ink);margin-left:auto}.workflow-stage{margin:0 auto;width:100%}.workflow-stage>.start-panel{min-height:520px}.stage-panel{background:var(--jo-white);border:var(--border);box-shadow:var(--shadow-brutal);min-height:560px}.stage-header{align-items:center;background:var(--jo-paper-sunk);border-bottom:var(--border);display:flex;gap:20px;justify-content:space-between;padding:18px 20px}.stage-header>div>span{color:var(--jo-orange-deep);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stage-header h2{font-size:1.35rem;margin-top:4px}.stage-header p{color:var(--jo-muted-ink);font-size:.86rem;margin-top:6px}.replace-file-button{align-items:center;display:inline-flex}.replace-file-button input{display:none}.draft-stage>.workspace-editor,.finalize-stage>.finalize-preview{max-height:none;overflow:visible;padding:20px}.draft-work-area{padding:20px}.draft-work-area>.workspace-editor{max-height:none;overflow:visible;padding:0}.draft-work-area.with-pdf-preview{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.draft-suggestions{background:var(--jo-paper);border-top:var(--border)}.draft-suggestions>summary{cursor:pointer;font-weight:800;padding:14px 20px}.draft-suggestion-list{border-top:1px solid var(--jo-ink);display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 20px 20px}.draft-suggestion-list .suggestion{margin:0}.pdf-preview-pane{background:var(--jo-paper-sunk);border:var(--border);position:sticky;top:16px}.pdf-preview-header{border-bottom:var(--border);display:grid;gap:3px;padding:10px 12px}.pdf-preview-pane strong{font-size:.8rem}.pdf-preview-pane span{color:var(--jo-muted-ink);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-toolbar{align-items:center;border-bottom:var(--border);display:flex;gap:6px;padding:8px 10px}.pdf-toolbar-group{align-items:center;display:flex;gap:4px}.pdf-toolbar-spacer{margin-left:auto}.pdf-toolbar-button{align-items:center;background:var(--jo-white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-brutal-sm);cursor:pointer;display:flex;height:26px;justify-content:center;transition:box-shadow var(--dur) var(--ease-pop),transform var(--dur) var(--ease-pop);width:26px}.pdf-toolbar-button:hover:not(:disabled){box-shadow:var(--shadow-brutal);transform:translate(-2px,-2px)}.pdf-toolbar-button:active:not(:disabled){box-shadow:none;transform:translate(0)}.pdf-toolbar-label{color:var(--jo-muted-ink);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.04em;min-width:56px;text-align:center;text-transform:uppercase}.pdf-canvas-scroll{background:var(--jo-paper-sunk);height:min(70vh,680px);overflow:auto;padding:12px}.pdf-canvas-frame{cursor:none;display:inline-block;line-height:0;position:relative}.pdf-canvas{background:var(--jo-white);border:1px solid hsl(var(--jo-ink-hsl) / .25);display:block}.pdf-loupe{border:3px solid var(--jo-ink);border-radius:50%;box-shadow:var(--shadow-brutal-sm),0 0 0 3px var(--jo-white);overflow:hidden;pointer-events:none;position:absolute}.pdf-loupe canvas{display:block}.pdf-loupe:after{background:var(--jo-orange);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.pdf-viewer-status{align-items:center;color:var(--jo-muted-ink);display:flex;flex-direction:column;font-size:.78rem;gap:10px;height:min(70vh,680px);justify-content:center;padding:20px;text-align:center}.stage-upload{height:auto;min-height:460px}.stage-upload label{min-height:410px}.source-reference{background:var(--jo-paper);border-bottom:var(--border);padding:0}.source-reference summary{cursor:pointer;font-weight:800;padding:14px 20px}.source-reference-tools{border-top:1px solid var(--jo-ink);display:flex;justify-content:flex-end;padding:9px 20px}.source-reference .readable{max-height:360px}.source-reference textarea{border-top:1px solid var(--jo-ink);height:300px}.stage-actions{align-items:center;background:var(--jo-paper-sunk);border-top:var(--border);display:flex;gap:12px;justify-content:flex-end;padding:14px 20px}.stage-actions>span{color:var(--jo-muted-ink);font-size:.8rem;margin-right:auto}.review-stage-content{min-height:340px;padding:20px}.review-stage .review-toolbar{background:var(--jo-white)}.review-stage .review-active-card{margin:0 auto;max-width:760px}.review-stage .review-list{grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr)}.review-stage .review-list .review-active-card{grid-column:2;grid-row:1 / span 20;width:100%}.validation-banner{align-items:center;border-bottom:var(--border);display:flex;gap:14px;padding:12px 20px}.validation-banner span{color:var(--jo-muted-ink);font-size:.82rem}.validation-banner.has-errors{background:#d0393917}.validation-banner.has-warnings{background:hsl(var(--jo-warning-hsl) / .12)}.validation-banner.valid{background:#e3f2e8}.finalize-preview pre,.finalize-preview .readable{max-height:580px}.finalize-actions{align-items:center;border-top:var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:14px 20px}@media(max-width:760px){.workflow-steps button{justify-content:center;padding:8px}.workflow-steps button strong{font-size:.78rem}.workspace-summary{gap:10px}.workspace-summary .workspace-status{flex-basis:100%;margin-left:0}.stage-header{align-items:flex-start;flex-direction:column}.stage-actions{align-items:stretch;flex-direction:column}.stage-actions>span{margin:0}.review-stage .review-list{grid-template-columns:1fr}.review-stage .review-list .review-active-card{grid-column:auto;grid-row:auto}.validation-banner{align-items:flex-start;flex-direction:column}.draft-suggestion-list,.draft-work-area.with-pdf-preview{grid-template-columns:1fr}.pdf-preview-pane{position:static}.pdf-canvas-scroll,.pdf-viewer-status{height:420px}}
