/* ============================================================
   STUDIO — the reviewer's editing surface.
   Quill, re-skinned into the Partner Evidence palette.
   ============================================================ */

/* ---------- studio chrome ---------- */
.studio-top{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.studio-tabs{display:flex;gap:3px;background:var(--fill);border-radius:12px;padding:3px}
.studio-tabs button{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 17px;border-radius:var(--r-pill);color:var(--ink-3);font-weight:500;transition:.16s}
.studio-tabs button:hover{color:var(--ink)}
.studio-tabs button.active{background:#fff;color:var(--blue);font-weight:650;box-shadow:var(--sh-1)}
.studio-tabs .cnt{font-size:10px;border-radius:5px;background:var(--fill);padding:2px 6px;color:var(--ink-3);font-weight:650}
.studio-tabs button.active .cnt{background:var(--blue-soft);color:var(--blue)}
.studio-status{font-size:12.5px;color:var(--ink-3);flex:1}
.studio-note{padding:12px 16px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text);font-size:13px;border-radius:12px;margin-bottom:14px;display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.studio-note strong{font-weight:600}

.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:18px;align-items:start}
.studio-layout.panel-hidden{grid-template-columns:minmax(0,1fr)}
.editor-workspace{border:none;border-radius:var(--r-xl);overflow:hidden;min-width:0;background:var(--fill)}

/* ---------- ribbon ---------- */
.ribbon.ql-toolbar.ql-snow{
  border:0;border-bottom:1px solid var(--line-soft);
  background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);position:sticky;top:0;
  padding:9px 10px 3px;display:flex;flex-wrap:wrap;gap:0;position:relative;z-index:3;font-family:inherit;
}
.ribbon.ql-snow .ql-formats{margin-right:10px;margin-bottom:6px;display:inline-flex;align-items:center;gap:1px}
.ribbon.ql-snow button{border-radius:var(--r-pill);width:30px;height:30px;padding:5px}
.ribbon.ql-snow button:hover,.ribbon.ql-snow button.ql-active{background:var(--blue-soft)}
.ribbon.ql-snow button.ql-active .ql-stroke{stroke:var(--blue)}
.ribbon.ql-snow button.ql-active .ql-fill{fill:var(--blue)}
.ql-snow .ql-stroke{stroke:var(--ink-2)}
.ql-snow .ql-fill{fill:var(--ink-2)}
.ql-snow .ql-picker{color:var(--ink-2);font-size:12.5px}
.ql-snow .ql-picker-label{border-radius:var(--r-pill);padding-left:11px}
.ql-snow .ql-picker-label:hover,.ql-snow .ql-picker-label.ql-active{background:var(--blue-soft);color:var(--blue)}
.ql-snow .ql-picker-options{border-radius:10px;border:1px solid var(--line);box-shadow:var(--sh-2);padding:5px}
.ql-snow .ql-picker-item{border-radius:6px;padding:5px 8px}
.ql-snow .ql-picker-item:hover{background:var(--blue-soft);color:var(--blue)}
.ql-snow .ql-picker.ql-header{width:112px}
.ql-snow .ql-picker.ql-font{width:104px}
.ql-snow .ql-picker.ql-size{width:84px}
.ql-snow .ql-picker.ql-font .ql-picker-label:not([data-value])::before,
.ql-snow .ql-picker.ql-font .ql-picker-item:not([data-value])::before{content:'Segoe UI'}
.ql-snow .ql-picker.ql-font [data-value=serif]::before{content:'Georgia'!important;font-family:Georgia,serif}
.ql-snow .ql-picker.ql-font [data-value=monospace]::before{content:'Consolas'!important;font-family:ui-monospace,Menlo,monospace}
.ribbon [data-action]{font-size:17px;line-height:1;color:var(--ink-2)!important;display:grid;place-items:center}
.ribbon .rib-text{width:auto!important;height:30px!important;padding:0 11px!important;font-size:12.5px;font-weight:550;gap:7px;display:inline-flex!important;align-items:center!important;justify-content:center;line-height:1;white-space:nowrap;color:var(--ink-2)}
.ribbon .rib-text svg{flex:none}
.ribbon .rib-text.on{background:var(--blue-soft);color:var(--blue)}
.ribbon .rib-text.accent{color:var(--blue)}
.ribbon .rib-spacer{flex:1}

/* ---------- the page ---------- */
.page-stage{padding:28px 30px;max-height:calc(100vh - var(--simbar-h) - 300px);min-height:400px;overflow:auto;background:oklch(95.2% .006 85)}
.page-stage::-webkit-scrollbar{width:11px}
.page-stage::-webkit-scrollbar-thumb{background:var(--fill-3);border-radius:99px;border:3px solid var(--surface-3)}
.writing-page{max-width:800px;min-height:850px;margin:auto;padding:44px 52px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-page);border-radius:4px}
.page-letterhead{display:flex;align-items:center;gap:9px;color:var(--ink-4);font-size:10.5px;letter-spacing:.06em;margin-bottom:30px;text-transform:uppercase;font-weight:650}
.page-footer{margin-top:44px;padding-top:14px;border-top:1px solid var(--line-soft);color:var(--ink-4);font-size:10px;display:flex;justify-content:space-between}

.ql-container.ql-snow{border:none;font-family:var(--f-doc);font-size:15px}
.writing-page .ql-editor{padding:0;overflow:visible;line-height:1.78;min-height:660px;color:var(--ink)}
.ql-editor p{margin:0 0 15px}
.ql-editor h1{font-size:30px;font-weight:600;letter-spacing:-.028em;line-height:1.22;margin:0 0 18px}
.ql-editor h2{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.02em;margin:30px 0 12px;color:var(--ink)}
.ql-editor h3{font-size:17px;font-weight:600;margin:20px 0 11px}
.ql-editor blockquote{padding:4px 0 4px 2px;margin:26px 0;font-size:19px;line-height:1.5;font-style:italic;color:var(--ink);letter-spacing:-.01em}
.ql-editor li{margin-bottom:7px}
.ql-editor .ql-font-serif{font-family:Georgia,'Times New Roman',serif}
.ql-editor .ql-font-monospace{font-family:ui-monospace,Menlo,monospace}
.ql-editor a{color:var(--blue);text-decoration:underline}
.ql-editor.ql-blank::before{color:var(--ink-4);font-style:normal;left:0}

/* provenance inside the document, preserved as a Quill format */
.ql-editor span.claim{border-bottom:1.5px dotted var(--blue-line);cursor:pointer;border-radius:2px;transition:.14s}
.ql-editor span.claim:hover{background:var(--blue-soft);border-bottom-color:var(--blue)}
.ql-editor span.claim.derived{border-bottom-color:#D9A24B;background:#FDF8EE}
.ql-editor span.claim.derived:hover{background:#F9EDD8}
.noclaims .ql-editor span.claim{border-bottom:none;background:none;cursor:text}

.editor-footer{background:var(--surface);display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);color:var(--ink-3);font-size:11px}
.preview-label{display:flex;align-items:center;gap:9px;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12.5px;font-weight:550}
.preview-label>.sub{color:var(--ink-3);font-size:11.5px;flex:1;font-weight:400}

/* ---------- right rail ---------- */
.studio-rail{background:var(--surface);border:none;border-radius:var(--r-xl);overflow:hidden;max-height:calc(100vh - var(--simbar-h) - 220px);overflow-y:auto;box-shadow:var(--sh-1);padding-bottom:58px}
.studio-rail::-webkit-scrollbar{width:10px}
.studio-rail::-webkit-scrollbar-thumb{background:var(--fill-2);border-radius:99px;border:3px solid #fff}
.rail-tabs{display:flex;border-bottom:1px solid var(--line-soft);padding:7px;gap:3px;position:sticky;top:0;z-index:2;background:var(--surface)}
.rail-tabs button{flex:1;padding:8px 6px;font-size:12px;border-radius:var(--r-pill);color:var(--ink-3);font-weight:500;transition:.16s}
.rail-tabs button:hover{color:var(--ink)}
.rail-tabs button.active{background:var(--blue-soft);color:var(--blue);font-weight:650}
.panel-content{padding:18px 17px}
.panel-content h3{font-size:15px;line-height:1.4;margin-bottom:8px;letter-spacing:-.018em}
.panel-content p{font-size:12px;line-height:1.62;color:var(--ink-3);margin:0 0 10px}
.rail-divider{border-top:1px solid var(--line-soft);padding-top:18px;margin-top:18px}

.evidence-summary{display:flex;justify-content:space-between;font-size:11.5px;padding:12px 0 10px;color:var(--ink-3);border-bottom:1px solid var(--line-soft)}
.evidence-summary strong{color:var(--ink)}
.ledger-mini{display:flex;align-items:flex-start;gap:7px;border-bottom:1px solid var(--line-soft);padding:10px 0}
.ledger-mini>button:first-child{display:flex;align-items:flex-start;text-align:left;gap:8px;flex:1;min-width:0;padding:0;font-size:12px;line-height:1.35}
.ledger-mini small{display:block;font-size:10.5px;color:var(--ink-4);margin-top:3px}
.ledger-check{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:21px;height:21px;padding:0;flex:none;color:transparent;transition:.15s;background:#fff}
.ledger-check:hover{border-color:var(--ok)}
.ledger-check.checked{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}

.suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line-soft);line-height:1.45;color:var(--ink-2);transition:.14s}
.suggestion:hover{color:var(--blue)}
.field-label{display:block;font-size:11px;font-weight:650;color:var(--ink-2);margin:14px 0 6px}
.panel-content select,.panel-content textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--surface);font-size:12.5px;outline:none;transition:.15s}
.panel-content select:focus,.panel-content textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(15,108,189,.11)}
.panel-content textarea{min-height:76px;resize:vertical;line-height:1.55}
.panel-content .btn{width:100%;margin-top:10px}
.assistant-result{padding:11px 13px;background:var(--blue-soft);border:1px solid var(--blue-line);border-radius:10px;color:#134E82;margin-top:13px;font-size:12px;line-height:1.55}
.simulation-note{display:flex;gap:6px;align-items:center;font-size:10.5px;color:var(--ink-4);margin:16px 0 0}

.output-choice{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:15px 0;border-bottom:1px solid var(--line-soft);transition:.14s}
.output-choice:hover{color:var(--blue)}
.output-choice>.oi{color:var(--blue);flex:none}
.output-choice span.ol{flex:1}
.output-choice strong{font-size:12.5px;display:block;font-weight:600}
.output-choice small{font-size:10.5px;color:var(--ink-4);display:block;margin-top:4px}

/* ---------- slides ---------- */
.slide-workspace{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:470px;background:var(--fill)}
.slide-thumbnails{padding:14px 9px;max-height:calc(100vh - var(--simbar-h) - 320px);overflow:auto;background:var(--surface)}
.slide-thumbnails::-webkit-scrollbar{width:9px}
.slide-thumbnails::-webkit-scrollbar-thumb{background:var(--fill-3);border-radius:99px;border:3px solid var(--surface-2)}
.slide-thumb{display:flex;gap:5px;align-items:flex-start;width:100%;margin-bottom:11px;padding:0;text-align:left}
.slide-thumb>small{font-size:9px;color:var(--ink-4);margin-top:3px;font-weight:650}
.mini-slide{aspect-ratio:16/9;display:block;background:#fff;border:1px solid var(--line);border-radius:4px;flex:1;padding:6px;overflow:hidden;transition:.15s}
.mini-slide.blue{background:#DEEDFA}
.mini-slide.navy{background:#12354F;color:#EDF4F9}
.mini-slide b{font-size:5px;line-height:1.2;display:block;max-height:19px;overflow:hidden;font-weight:650}
.mini-slide i{display:block;height:2px;background:currentColor;opacity:.28;width:74%;margin-top:4px;border-radius:1px}
.mini-slide i:last-child{width:56%}
.slide-thumb.selected .mini-slide{outline:2px solid var(--blue);outline-offset:2px}
.slide-main{padding:22px 22px;min-width:0}
.slide-canvas{
  aspect-ratio:16/9;background:#fff;position:relative;padding:7% 7% 10%;
  container-type:inline-size;box-shadow:var(--sh-page);overflow:hidden;
  display:grid;align-content:start;grid-template-columns:minmax(0,1fr);gap:8px;color:#21384A;border-radius:6px;
}
.slide-kicker{font-size:8px;letter-spacing:.16em;font-weight:700;color:#3A6A88;margin-bottom:6px;text-transform:uppercase}
.slide-title{
  font-family:var(--f-doc);border:none;outline:none;background:transparent;resize:none;color:inherit;
  padding:0;min-height:0;line-height:1.18;letter-spacing:-.028em;font-size:clamp(15px,4.8cqw,32px);
  font-weight:650;width:100%;margin:0;overflow:hidden;
}
.slide-canvas .ql-container{min-height:0;font-size:clamp(10px,2.3cqw,16px);color:inherit}
.slide-canvas .ql-editor{padding:0;line-height:1.55;color:inherit;overflow:visible;min-height:0}
.slide-canvas .ql-editor p{margin-bottom:9px}
.slide-canvas .ql-editor h1,.slide-canvas .ql-editor h2{font-size:1.2em;margin:8px 0;color:inherit}
.slide-canvas .ql-editor .ql-size-large{font-size:1.25em}
.slide-canvas .ql-editor .ql-size-huge{font-size:1.5em}
.slide-canvas .ql-editor blockquote{border-left-color:currentColor;font-size:1em;margin:6px 0}
.slide-canvas.theme-blue{background:#DEEDFA;color:#113E5F}
.slide-canvas.theme-navy{background:#12354F;color:#F2F6FA}
.theme-navy .slide-kicker,.theme-navy .slide-foot{color:#B4D0E4}
.theme-blue .slide-kicker,.theme-blue .slide-foot{color:#3A6A88}
.layout-spotlight{gap:15px}
.layout-spotlight .slide-title{font-size:clamp(17px,5.7cqw,38px)}
.layout-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}
.layout-split .slide-kicker{grid-column:1/-1}
.layout-split .slide-title{font-size:clamp(16px,5cqw,34px);height:100%}
.layout-split .ql-container{padding-left:16px;border-left:1px solid currentColor}
.slide-foot{position:absolute;bottom:6%;left:7%;right:7%;display:flex;justify-content:space-between;font-size:7px;color:#647E90}
.slide-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:16px;font-size:11.5px;color:var(--ink-3)}
.slide-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:9px}
.slide-actions button{font-size:11px;color:var(--blue);padding:4px 2px;transition:.14s}
.slide-actions button:hover{text-decoration:underline}
.slide-actions button:disabled{opacity:.4;pointer-events:none;color:var(--ink-4)}
.slide-actions button.danger{color:var(--miss)}
.ql-snow .ql-tooltip{z-index:40;border-radius:10px;border:1px solid var(--line);box-shadow:var(--sh-2)}
.preview-mode .page-stage{max-height:calc(100vh - var(--simbar-h) - 268px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

@media(max-width:1400px){ .studio-layout{grid-template-columns:minmax(0,1fr) 262px} }
@media(max-width:1150px){
  .studio-layout{grid-template-columns:minmax(0,1fr)}
  .studio-rail{max-height:none}
  .page-stage{max-height:none}
  .writing-page{padding:34px 28px;min-height:0}
  .slide-workspace{grid-template-columns:92px minmax(0,1fr)}
}

/* ---- Evidence panel: insert button, in-doc badge, stale slides ---- */
.ledger-mini-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}
.ledger-ins{display:grid;place-items:center;padding:4px 6px;border-radius:6px;font-size:11px;color:var(--blue);border:1px solid transparent;opacity:0;transition:.14s;background:transparent}
.ledger-mini:hover .ledger-ins{opacity:1;border-color:var(--line)}
.ledger-ins:hover{background:var(--bg);border-color:var(--blue)!important}
.ledger-mini.in-doc{background:var(--bg-tint,#F5F9FF)}
.ev-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border-radius:4px;background:var(--blue-10,#EBF4FF);color:var(--blue);margin-left:5px;vertical-align:middle}
.ev-legend{border-top:1px solid var(--line-soft);margin-top:4px;font-size:11px;color:var(--ink-4)}

/* Slide stale notice in thumbnail strip */
.slide-stale-note{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--warn-text,#6B4A00);background:#FFFBF0;border:1px solid #F5DFA0;border-radius:7px;padding:7px 10px;margin-bottom:10px;line-height:1.3}
.slide-stale-note span{flex:1}
.mini-slide.stale{outline:2px solid var(--warn-line,#E8C040);outline-offset:1px}

/* Gate: Needs Work flagged row */
.judge-flagged{border-left:3px solid var(--warn-line,#E8C040);border-radius:0 8px 8px 0}
.judge-flagged .judge-follow textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 10px;font-size:12.5px;line-height:1.5;resize:vertical;font-family:var(--f);background:#fff;color:var(--ink)}
.warn-btn{background:var(--warn-bg,#FFFBF0)!important;border-color:var(--warn-line,#E8C040)!important;color:var(--warn-text,#6B4A00)!important}

/* Board: contact name inline */
.rev-row .ci{cursor:help}

/* Evidence rail dots: the reference marks state with a small dot, not a badge */
.studio-rail .lstate{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;display:block;overflow:hidden}
.studio-rail .lstate svg{display:none}
.studio-rail .lstate.known,.studio-rail .lstate.provisional{background:var(--green)}
.studio-rail .lstate.thin{background:var(--amber)}
.studio-rail .lstate.parked{background:var(--accent)}
.studio-rail .lstate.missing{background:transparent;border:1.5px solid var(--fill-3)}
