/* Light shared shell; tokens.css owns every colour. */
.rb-workspace{background:var(--page)}
body.rb-workspace{padding-left:0}
.firm-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);margin-left:var(--menu-w);border-bottom:1px solid var(--line);background:var(--page);min-height:64px;font-size:var(--text-meta)}
.firm-topbar button,.firm-topbar input,.firm-topbar select{font:inherit;min-height:var(--control-h);border:1px solid var(--line-control);border-radius:var(--radius-control);background:var(--page);color:var(--ink);padding:var(--space-2)}
.firm-topbar label{display:flex;align-items:center;gap:var(--space-2)}
.firm-topbar .client-picker{max-width:240px}.firm-topbar .client-picker select{width:auto;max-width:180px}
.shell-search{flex:1;display:flex;align-items:center;gap:var(--space-2)}.shell-search input{width:100%;min-width:80px}.key-hint{font:var(--text-head) var(--f-mono);white-space:nowrap}.shell-person{max-width:160px}
.ws-nav{position:fixed;inset:0 auto 0 0;box-sizing:border-box;width:var(--menu-w);padding:var(--space-4);background:var(--well);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-2);overflow:auto;z-index:45}
.ws-nav .brand{padding:var(--space-3) 0;color:var(--ink);font-size:var(--text-title)}
.ws-nav .item{display:flex;gap:var(--space-2);align-items:center;min-height:var(--control-h);font-size:var(--text-list);color:var(--ink-2);padding:var(--space-2);border-radius:var(--radius-control);text-decoration:none}
.ws-nav .item.on{background:var(--ink);color:var(--page)}.ws-nav .item:hover{background:var(--hover);color:var(--ink)}.nav-icon{width:20px;text-align:center}.ws-nav summary{cursor:pointer;padding:var(--space-2);border-top:1px solid var(--line)}.ws-nav .spacer{flex:1}
.rb-workspace main.ws{margin-left:var(--menu-w);padding:var(--space-5) var(--space-6);max-width:calc(var(--content-w) + var(--menu-w));min-width:0}
.rb-workspace main.rv{max-width:calc(var(--review-w) + var(--menu-w))}
.rb-workspace .ws-top{display:none}.ws .card,.ws .tile,.today-actions>a{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;transform:none}
.ws .tw{border:1px solid var(--line);border-radius:var(--radius-container);overflow:auto}.ws .drawer{width:var(--drawer-w);max-width:100vw;border-radius:var(--radius-container) 0 0 var(--radius-container);box-shadow:var(--shadow-overlay)}
.ws .btn,.ws button,.ws input,.ws select{min-height:var(--control-h);border-radius:var(--radius-control)}
.ws .btn:not(.primary){background:var(--page);color:var(--ink);border:1px solid var(--line-control)}.ws .btn.primary{background:var(--you);color:var(--you-label);border:1px solid var(--you-mark)}
.rb-assistant-launch{position:static;white-space:nowrap;background:var(--page);color:var(--ink)}
.nav-rail .ws-nav{width:var(--rail-w);padding:var(--space-1)}.nav-rail .ws-nav .brand{font-size:var(--text-head);overflow-wrap:anywhere}.nav-rail .ws-nav .item{flex-direction:column;gap:0;padding:var(--space-1);font-size:var(--text-head)}.nav-rail .ws-nav .nav-label{max-width:56px;overflow-wrap:anywhere}.nav-rail .firm-topbar,.nav-rail main.ws{margin-left:var(--rail-w)}.nav-rail .ws-nav .up{padding:var(--space-1);font-size:var(--text-head)}
.details-menu{border-top:1px solid var(--line);padding:var(--space-3) 0}.details-menu summary{cursor:pointer;color:var(--ink-2)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus);outline-offset:2px}
[hidden]{display:none!important}

/* Dot and words, with no status fill. */
.ws .st,.ws .rb-status,.ws .tag{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:0;border-radius:0;padding:0;font-size:var(--text-meta);color:var(--ink-2)}
.ws .st::before,.ws .rb-status::before,.ws .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--off);flex:none}
.ws .st.rev,.ws [data-state="Needs review"],.ws .status-needs{color:var(--you-text)}
.ws .st.rev::before,.ws [data-state="Needs review"]::before,.ws .status-needs::before{background:var(--you-mark)}
.ws .st.ok,.ws [data-state="Verified"],.ws [data-state="Posted"],.ws .status-ready,.ws .status-posted{color:var(--agreed-text)}
.ws .st.ok::before,.ws [data-state="Verified"]::before,.ws [data-state="Posted"]::before,.ws .status-ready::before,.ws .status-posted::before{background:var(--agreed)}
.ws .st.proc,.ws [data-state="Reading"],.ws .status-reading{color:var(--machine)}
.ws .st.proc::before,.ws [data-state="Reading"]::before,.ws .status-reading::before{background:var(--machine)}
.ws .st.dup{color:var(--wrong-text)}.ws .st.dup::before{background:var(--wrong)}
.ws .st>.dot{display:none}

.document-cell{display:flex;align-items:center;gap:var(--space-3)}.document-cell input{width:auto;min-height:auto}.document-cell .fname,.status-reason{display:block;font-size:var(--text-meta);color:var(--ink-3);white-space:normal}.ws #files-table td{height:var(--row-double);vertical-align:middle}.ws #files-table td:first-child{font-weight:600}.tabs:not(.rb-tabs-v2){display:flex;gap:var(--space-2);flex-wrap:wrap}.ws .tabs:not(.rb-tabs-v2) button{background:var(--page);border:1px solid var(--line);color:var(--ink-2)}.ws .tabs:not(.rb-tabs-v2) button.on{border-color:var(--machine);color:var(--machine)}.source-card[data-tab="Reading"]{border-bottom:2px solid var(--machine)}.bulk-bar{position:sticky;top:64px;background:var(--well);z-index:10}

.rv-layout{--q:56px;--p:460px}.rv-layout.noq{grid-template-columns:56px 0 minmax(0,1fr) 6px minmax(360px,var(--p))}.rv-layout.noq .rv-queue{display:block}.rv-layout.noq .rv-qf,.rv-layout.noq .rv-qh,.rv-layout.noq .rv-q .dt,.rv-layout.noq .rv-q .st{display:none}.rv-layout.noq .rv-q{padding:var(--space-2);height:var(--row-double);overflow:hidden}.rv-layout.noq .rv-q .nm{font-size:var(--text-head);overflow:hidden;white-space:nowrap}/* Each field uses the same label/value tracks, including rows without a dot. */
/* Folded document list (Show list): the 56px column showed only the left edge of each file badge ("[", Rachel 7 Nov).
   Show the whole badge centred with the status dot under it; the name stays in the row's tooltip. B (Bravo). */
.rv-layout.noq .rv-q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-2) 0}
.rv-layout.noq .rv-q .nm{font-size:0;line-height:0;overflow:visible}
.rv-layout.noq .rv-q .nm .ft{font-size:var(--text-head);line-height:1;min-width:30px;padding:0 3px}
.rv-layout.noq .rv-q .st{display:block;font-size:0;line-height:0}
.rv-layout.noq .rv-q .st .dot{display:inline-block;margin:0}
.rv .rv-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0}
.rv .rv-fields>label{grid-column:1/-1;display:grid;grid-template-columns:subgrid;grid-template-rows:auto auto;align-items:center;column-gap:var(--space-2);row-gap:2px;position:relative;min-height:var(--row-h);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}
.rv .rv-fields>label .lt{grid-column:1;grid-row:1;display:block;min-width:0;padding-left:15px;font-size:var(--text-list);white-space:normal;overflow:visible;line-height:1.5}
.rv .rv-fields>label .field-dot{position:absolute;left:0;top:15px}
.rv .rv-fields>label .lt .pattern,.rv .rv-fields>label .lt .rv-pct{display:block;width:auto;height:auto;margin:3px 0 0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.5;text-align:left}
.rv .rv-fields>label>input,.rv .rv-fields>label>select{grid-column:2;grid-row:1;width:100%;min-width:0;text-align:right}
.rv .rv-fields>label input{border:1px solid transparent;padding:var(--space-1);min-height:var(--control-small)}
.rv .rv-fields>label input:focus{border-color:var(--line-control)}
.rv .rv-fields>label small{grid-column:1/-1;grid-row:2;padding-left:15px;white-space:normal;line-height:1.4}
.rv .rv-fields>label small:empty{display:none}
.field-dot{width:7px;height:7px;border-radius:50%;background:var(--machine)}[data-field-state="agreed"] .field-dot{background:var(--agreed)}[data-field-state="needs"] .field-dot{background:var(--you-mark)}[data-field-state="wrong"] .field-dot{background:var(--wrong)}.rv-panel details{border-top:1px solid var(--line);padding:var(--space-3) 0}.rv-panel summary{cursor:pointer;font-size:var(--text-list);color:var(--ink-2)}.rv .rv-scroll{padding:var(--space-4)}.rv .rv-foot{gap:var(--space-2);flex-wrap:wrap}.rv .box{border:1.5px solid var(--agreed);background:transparent;opacity:0;pointer-events:none}.rv .box.flash,.rv #boxes.show-all .box{opacity:1;pointer-events:auto}.rv .box[data-field-state="agreed"]{border-width:2px}.rv .box.flash{outline:var(--focus);background:var(--pen-fill)}.pen-card:not(:empty){padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-container);background:var(--you-soft)}.rv .findings li{background:transparent;border:0;border-left:2px solid var(--you-mark);padding:var(--space-2);margin-bottom:var(--space-2)}.rv .findings li.error{border-color:var(--wrong)}.rv .findings li.ok{border-color:var(--agreed)}.rv .rv-recon{font-size:var(--text-list)}.rv .pattern{border-radius:0;background:transparent;font-size:var(--text-meta);height:auto;width:auto}.rv .rv-verdict{display:none}.compact-context{margin-bottom:var(--space-3)}

.ws .bank td{height:var(--row-compact);padding:var(--space-1) var(--space-2);vertical-align:top}.bank-line-field{min-height:var(--control-small)}.bank .dsc{white-space:pre-wrap}.money-in{color:var(--agreed-text)}.bank tr.selected{outline:var(--focus)}.statement-band{background:transparent!important;border:1.5px solid var(--agreed)!important;border-left:4px solid var(--machine)!important;border-radius:2px}.statement-band[data-state="needs"]{border-left-color:var(--you-mark)!important}.statement-band[data-state="wrong"]{border-left-color:var(--wrong)!important}.statement-band[data-state="agreed"]{border-left-color:var(--agreed)!important}.statement-band[data-read="check"]{border-style:dashed!important;border-top-color:var(--you-mark)!important;border-right-color:var(--you-mark)!important;border-bottom-color:var(--you-mark)!important}.statement-band[data-focus="1"]{background:var(--pen-fill)!important;outline:var(--focus)}.statement-balance{position:absolute;border:2px solid var(--agreed);border-radius:2px;pointer-events:none}.statement-cell{border:1.5px solid var(--machine)!important;background:var(--machine-mark)!important}.month-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-1);margin:var(--space-3) 0 var(--space-5)}.month-strip a,.month-strip span{font-size:var(--text-meta);padding:var(--space-2);border-top:3px solid var(--off);color:var(--ink-3)}.month-strip a{border-color:var(--agreed);color:var(--agreed-text)}

.questions-screen{max-width:var(--questions-w);margin:var(--space-5) auto}.question-card{border:1px solid var(--line);border-radius:var(--radius-container);padding:var(--space-4);margin:var(--space-3) 0;background:var(--page)}.question-card h3{font:600 var(--text-body)/var(--leading) var(--f-body)}.question-card p{margin:var(--space-2) 0;font-size:var(--text-list)}.question-answers{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.question-own summary{min-height:var(--control-h);padding:var(--space-2);cursor:pointer}.question-card.answered{border:0;border-top:1px solid var(--line);border-radius:0;color:var(--agreed-text);display:flex;align-items:center;gap:var(--space-3)}.question-card .suggested{outline:1px solid var(--machine)}.question-preview:not(:empty){border-top:1px solid var(--line);margin-top:var(--space-3);padding-top:var(--space-3)}.question-group{margin-bottom:var(--space-5)}

.sentence-rule{border-top:1px solid var(--line);padding:var(--space-3) 0}.sentence-rule summary{cursor:pointer}.sentence-rule small{display:block;color:var(--ink-3);font-size:var(--text-meta);margin-top:var(--space-1)}.format-columns{display:flex;gap:var(--space-1);margin:var(--space-2) 0}.format-columns span{background:var(--well);border:1px solid var(--line);padding:var(--space-2);font-size:var(--text-meta)}

.job-states{display:flex;gap:var(--space-5);flex-wrap:wrap;margin:var(--space-4) 0}.activity-log h2{margin:var(--space-5) 0 var(--space-2)}.activity-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);border-top:1px solid var(--line);padding:var(--space-2) 0;min-height:var(--row-h)}.activity-row time{margin-left:auto;color:var(--ink-3);font-size:var(--text-meta)}.activity-row>details{width:100%;font-size:var(--text-meta)}

.home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin:var(--space-5) 0}.home-actions article{border-top:1px solid var(--line);padding:var(--space-3) 0}.home-actions b{font:600 var(--text-figure) var(--f-display);color:var(--ink)}.home-actions p{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-list)}.home-flow{display:flex;margin:var(--space-4) 0 var(--space-6);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-flow a{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);color:var(--ink-2);font-size:var(--text-list);text-decoration:none}.home-flow a b{font-size:var(--text-figure);color:var(--machine)}.home-activity{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line)}.home-activity time{margin-left:auto;color:var(--ink-3);font-size:var(--text-meta)}

.tablet-needed{display:none}.drawer-open::after{content:"";position:fixed;inset:0;background:var(--overlay);z-index:75}.ws .drawer{z-index:80}.ws .drawer.open{overflow:auto;max-height:100dvh}.ws .drawer summary{cursor:pointer;padding:var(--space-3) 0}.ws .drawer .drop{overflow-wrap:anywhere}.ws .drawer .opt{flex-wrap:wrap}.ws .drawer input[type=file]{max-width:100%;height:auto}.ws .drawer>h2{margin-top:var(--space-5)}
@media(max-width:1100px){.firm-topbar{flex-wrap:wrap}.shell-search{order:5;flex-basis:100%}.shell-person{margin-left:auto}.home-actions{gap:var(--space-3)}}
@media(max-width:720px){
 body.rb-workspace{overflow-x:hidden}.firm-topbar,.nav-rail .firm-topbar{margin-left:0;padding:var(--space-2);gap:var(--space-2);position:relative;min-height:var(--touch-h)}
 .firm-topbar .client-picker{max-width:calc(100% - 100px);flex:1}.firm-topbar .client-picker select{max-width:180px}.firm-topbar .shell-person{display:none}.firm-topbar .shell-search{display:none}
 .firm-topbar button,.firm-topbar select,.firm-topbar .btn{min-height:var(--touch-h);font-size:var(--text-meta)}
 .ws-nav,.nav-rail .ws-nav{display:none;inset:100px auto 0 0;width:var(--menu-w);padding:var(--space-3);box-shadow:var(--shadow-overlay)}.mobile-menu-open .ws-nav{display:flex}.mobile-menu-open .ws-nav .item{flex-direction:row;font-size:var(--text-body);min-height:var(--touch-h)}.mobile-menu-open .ws-nav .brand{font-size:var(--text-title)}
 .rb-workspace main.ws,.rb-workspace.nav-rail main.ws{margin-left:0;padding:var(--space-4);width:100%;max-width:100%;min-width:0}
 .home-actions{grid-template-columns:1fr;gap:var(--space-2)}.home-actions article{display:grid;grid-template-columns:48px 1fr;column-gap:var(--space-3);padding:var(--space-3) 0}.home-actions article>.btn{grid-column:2;justify-self:start}.home-actions p{margin-top:0}.home-flow{gap:0;overflow:hidden}.home-flow a{padding:var(--space-2) var(--space-1);font-size:var(--text-head);min-width:0;flex-direction:column;align-items:flex-start}.home-flow a span:first-child{min-height:32px}.home-flow a span:last-child{display:none}.home-flow a b{font-size:var(--text-body)}
 .questions-screen{margin:var(--space-3) 0;width:100%;max-width:100%}.question-card{padding:var(--space-3)}.question-answers{display:block}.question-answers>.btn,.question-preview>.btn{display:flex;width:100%;min-height:var(--touch-h);white-space:normal;margin:var(--space-2) 0;text-align:left}.question-card .question-own summary{min-height:var(--touch-h)}.question-card input,.question-card select{min-height:var(--touch-h)}.question-card.answered{flex-wrap:wrap}.ws .tabs:not(.rb-tabs-v2) button{min-height:var(--touch-h)}
 .ws .drawer{width:100%;max-width:375px;padding:var(--space-4);border-radius:0}.ws .drawer .btn,.ws .drawer select{min-height:var(--touch-h)}.ws .drawer .acts{flex-wrap:wrap}.ws .drawer .sub{font-size:var(--text-list)}
 .tablet-needed{display:block;padding:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-body)}.rv .rv-layout,.rv .rv-head,.rv .rv-links,.rv #split-message{display:none}#workspace-app:has(.tablet-needed)>.sub,#workspace-app:has(.tablet-needed)>section{display:none}
 .home-activity{display:block}.home-activity time{margin:0 var(--space-2)}.activity-row{display:block}.activity-row time{display:block}.format-columns{flex-wrap:wrap}
}

/* Override the legacy responsive grid after its sheets. */
.rv .rv-head{display:flex;gap:var(--space-3);flex-wrap:wrap}.rv .rv-head details{margin-left:auto}
.rv .rv-layout{grid-template-columns:var(--q,56px) 6px minmax(0,1fr) 6px minmax(360px,var(--p,460px));gap:var(--space-2)}
.rv .rv-layout.two{grid-template-columns:minmax(0,1fr) 6px minmax(380px,var(--p,560px))}
.rv .rv-layout.noq .rv-gutter[data-side=q]{display:block}.rv #toggle-queue{display:inline-flex}
.rv .rv-panel{border:0;border-left:1px solid var(--line);border-radius:0;top:100px}.rv .preview{border-radius:var(--radius-container)}
@media(min-width:721px) and (max-width:1100px){
 .rb-workspace{--menu-w:var(--rail-w)}.ws-nav{padding:var(--space-1)}.ws-nav .brand{font-size:var(--text-head);overflow-wrap:anywhere}.ws-nav .item{flex-direction:column;font-size:var(--text-head);padding:var(--space-1)}.ws-nav .nav-label{max-width:56px;overflow-wrap:anywhere}.ws-nav .up{font-size:var(--text-head);padding:var(--space-1)}
 .rv .rv-layout,.rv .rv-layout.noq,.rv .rv-layout.two{grid-template-columns:minmax(0,1fr) 6px minmax(300px,1fr)}.rv .rv-layout.noq .rv-queue,.rv .rv-queue,.rv .rv-layout.noq .rv-gutter[data-side=q],.rv #toggle-queue{display:none}.rv .rv-gutter[data-side=p]{display:block}.rv .rv-panel{position:sticky;max-height:calc(100vh - 130px)}.rv .rv-scroll{overflow:auto}
}
@media(max-width:720px){.rv .rv-head,.rv .rv-layout{display:none}}

.rb-workspace main.ws,.firm-topbar{box-sizing:border-box}
.ws-nav a.item{border:0;background:transparent;margin:0;justify-content:flex-start;min-height:var(--control-h);border-radius:var(--radius-control);padding:var(--space-2)}.ws-nav a.item.on{background:var(--ink);color:var(--page)}.ws-nav .up{box-sizing:border-box;width:100%}
.ws .st.rev,.ws .st.ok,.ws .st.proc,.ws .st.dup,.ws .st.wait,.ws .st.ai{background:transparent}
@media(max-width:720px){.home-flow a b{display:block}.rb-workspace .ws-nav a.item{min-height:var(--touch-h)}}
.document-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.document-gallery article{border-top:1px solid var(--line);padding:var(--space-3) 0}.document-gallery img{display:block;max-width:100%;max-height:180px;object-fit:contain;margin-bottom:var(--space-2)}.document-group{border-top:1px solid var(--line);padding:var(--space-3) 0}.document-group a{display:block;padding:var(--space-2) 0}

.ws h1{font:700 var(--text-title)/1.2 var(--f-display)}.ws h2,.ws h3{font-family:var(--f-body);font-size:var(--text-body);font-weight:700}.ws th{font:600 var(--text-head)/var(--leading) var(--f-body);letter-spacing:.06em;text-transform:uppercase}.ws .num,.bank td.num{font-family:var(--f-body);font-variant-numeric:tabular-nums;text-align:right}

.ws .drawer{box-sizing:border-box}.rv .rv-layout.two{--p:600px}.bank .mt,.bank .mt .hd{display:block}.bank .match-reason{display:block;overflow:visible;white-space:normal}.bank td.dsc{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.bank-answer-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.bank tr.edit-row .edit{display:block}.bank tr.edit-row .bank-decision,.bank tr.edit-row .bank-reason{width:100%;margin:var(--space-2) 0}.ws .bank .num{font-weight:500}

.rv .box[data-field-state="needs"]{opacity:1;border:2px dashed var(--you-mark)}.rv .box[data-field-state="wrong"]{opacity:1;border:2px dashed var(--wrong)}.rv .box.flash[data-field-state]{background:var(--pen-fill)}

.ws #column-choices{position:static;top:auto;right:auto;box-shadow:none;min-width:0;border:0;border-top:1px solid var(--line);padding:var(--space-3) 0}.ws #column-choices label{display:inline-flex;gap:var(--space-2);align-items:center;margin-right:var(--space-4)}

.rb-fox{flex:none;display:inline-block;vertical-align:middle;max-width:100%}.rika-greeting{display:flex;gap:16px;align-items:center}.rika-greeting span{display:block;color:var(--ink-3);font-size:12px}.rb-assistant-launch{display:inline-flex;align-items:center;gap:5px}.rika-count{font-size:11px;background:var(--assistant-soft);color:var(--ink);border-radius:50%;padding:2px 5px}.policy-page #assistant-character-toggle{margin-right:8px}

.who-question{border:0;border-top:1px solid var(--line);margin:20px 0;padding:20px 0}.who-question legend{font-weight:700;font-size:18px}.who-company{padding:10px 0;border-top:1px solid var(--line)}.who-share{display:block}.policy-page [hidden]{display:none!important}.account-single{display:none!important}

/* Rika stays available on every assigned-client screen. */
.rb-assistant-launch{position:fixed;right:24px;bottom:24px;z-index:70;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--ink);background:var(--assistant-soft);color:var(--ink);padding:2px;box-shadow:0 4px 18px var(--line);cursor:pointer}
.rb-assistant-launch .rika-count{position:absolute;right:-4px;top:-5px;background:var(--you);border:1px solid var(--ink);border-radius:50%;min-width:22px;text-align:center;font:12px var(--font-mono)}
.rb-assistant{box-sizing:border-box;position:fixed;inset:auto 24px 100px auto;margin:0;width:400px;height:600px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 124px);border:1px solid var(--ink);border-radius:16px;padding:20px;background:var(--well);color:var(--ink);overflow:auto}
.rb-assistant::backdrop{background:transparent}.rb-assistant header{display:flex;align-items:center;gap:12px}.rb-assistant h2{flex:1;font-size:18px}.rb-assistant [data-assistant-log]{max-height:200px;overflow:auto}.rb-assistant article{padding:10px 0;border-bottom:1px solid var(--line)}.rb-assistant textarea{width:100%;min-height:64px}.rb-assistant a{color:var(--ink-2);text-decoration:underline}.rb-assistant [data-assistant-question]{max-height:160px;overflow:auto}.rb-assistant [data-assistant-message]{white-space:pre-wrap}.rb-assistant button{min-height:40px}.rb-assistant button:focus-visible,.rb-assistant-launch:focus-visible,.rb-assistant a:focus-visible,.rb-assistant textarea:focus-visible{outline:3px solid var(--you-mark);outline-offset:3px}
@media(max-width:720px){.rb-assistant-launch{right:16px;bottom:16px}.rb-assistant{inset:0;width:100%;height:100dvh;max-width:100%;max-height:100dvh;border-radius:0;margin:0;padding:16px}.rb-assistant [data-assistant-log]{max-height:35dvh}}

.policy-prompt{margin:24px 0;padding:20px;background:var(--assistant-soft);border-radius:12px}.policy-prompt label{display:block;font-weight:700}.policy-prompt textarea{width:100%;min-height:110px;margin:12px 0;box-sizing:border-box}.policy-page .prompt-changed{border-left:3px solid var(--you-mark);padding-left:12px}.rb-assistant [data-assistant-settings]{padding:12px 0}.rb-assistant .settings-card{border-top:1px solid var(--line);padding:8px 0}.rb-assistant select{max-width:100%;margin-bottom:8px}

.rb-assistant[open]{display:flex;flex-direction:column;gap:8px}.rb-assistant header,.rb-assistant form,.rb-assistant [data-assistant-close]{flex:none}.rb-assistant p,.rb-assistant h2,.rb-assistant h3{margin:0}.rb-assistant .rika-open-questions{flex:0 1 auto;max-height:170px;overflow:auto}.rb-assistant .rika-open-questions>.rb-fox{float:left;margin-right:8px}.rb-assistant [data-assistant-log]{flex:1 1 120px;min-height:70px;max-height:none;overflow:auto}.rb-assistant [data-assistant-settings]{flex:0 1 auto;max-height:250px;overflow:auto}.rb-assistant [data-assistant-settings]:empty,.rb-assistant [data-assistant-answers]:empty{display:none}.rb-assistant [data-assistant-answers]{max-height:90px;overflow:auto}.rb-assistant textarea{box-sizing:border-box;min-height:64px;height:64px}.rb-assistant form label{display:block}.rb-assistant form select{margin:4px 0}.rb-assistant [data-assistant-clear]{flex:none;align-self:flex-start;font-size:12px}

/* Rika chat, 12 Oct 2026: white, bubbles, input at the bottom (owner: "be like we chat in here"). */
.rb-assistant{background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 40px var(--line);padding:0;gap:0}
.rb-assistant[open]{display:flex;flex-direction:column}
.rb-assistant header{padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.rb-assistant header h2{font-size:16px;font-weight:600}
.rb-assistant [data-assistant-close]{border:0;background:transparent;font-size:22px;min-height:32px;cursor:pointer}
.rb-assistant .rika-thread{flex:1 1 auto;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.rb-assistant [data-assistant-log]{display:flex;flex-direction:column;gap:10px;max-height:none;overflow:visible;flex:none;min-height:0}
.rb-assistant .rb-msg{max-width:85%;padding:10px 14px;border-radius:16px;line-height:1.45;border:0;margin:0}
.rb-assistant .rb-msg strong{display:none}
.rb-assistant .rb-msg-rika{align-self:flex-start;background:var(--surface-2);color:var(--ink);border-bottom-left-radius:4px}
.rb-assistant .rb-msg-user{align-self:flex-end;background:var(--you-soft);color:var(--ink);border-bottom-right-radius:4px}
.rb-assistant .rika-status{font-size:13px;color:var(--ink-2)}
.rb-assistant .rika-status:empty{display:none}
.rb-assistant .rika-question{max-height:none;overflow:visible}
.rb-assistant .rika-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rb-assistant .rika-choice{border:1px solid var(--line-control);background:var(--surface);border-radius:999px;padding:6px 14px;min-height:36px;cursor:pointer;font:inherit}
.rb-assistant .rika-choice-main{background:var(--ink);color:var(--page);border-color:var(--ink)}
.rb-assistant .rika-more{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.rb-assistant .rika-more[hidden]{display:none}
.rb-assistant .rika-skip{border:0;background:transparent;color:var(--ink-2);font-size:13px;text-decoration:underline;min-height:28px;padding:4px 0;margin-top:6px;cursor:pointer;align-self:flex-start}
.rb-assistant .rika-confirm-text{margin-top:10px}
.rb-assistant [data-assistant-answers],.rb-assistant [data-assistant-settings]{padding:0 16px}
.rb-assistant form{border-top:1px solid var(--line);padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;background:var(--surface)}
.rb-assistant form textarea{flex:1 1 200px;min-height:44px;height:44px;max-height:120px;border:1px solid var(--line-control);border-radius:22px;padding:11px 16px;resize:none;font:inherit}
.rb-assistant form button[type=submit]{border-radius:22px;min-height:44px;padding:0 18px;background:var(--ink);color:var(--page);border:0;cursor:pointer}
.rb-assistant form select{flex:1 1 100%;font-size:12px}
.rb-assistant .rika-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rb-assistant .rika-clear{border:0;background:transparent;font-size:12px;color:var(--ink-2);padding:4px 16px 10px;align-self:flex-end;cursor:pointer;min-height:24px}
.rb-assistant form{flex-wrap:nowrap}
.rb-assistant form [data-assistant-intent]{display:none}
.rb-assistant form [data-assistant-rule-options]:not([hidden]){flex:1 1 100%}
.rb-assistant form:has([data-assistant-rule-options]:not([hidden])){flex-wrap:wrap}
.rb-assistant form textarea{min-width:0}
.rb-assistant form button[type=submit]{flex:none}
.rb-assistant .rika-thread{min-height:0}
.rb-assistant .rika-clear{padding-top:0}
@media(max-width:720px){.rb-assistant{padding:0}.rb-assistant header h2{font-size:16px}.rb-assistant [data-assistant-log]{max-height:none}}

.setup-blockers{display:grid;gap:var(--space-2);margin:var(--space-3) 0}.setup-blocker{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-left:3px solid var(--you-mark);background:var(--you-soft);border-radius:var(--radius-container)}.setup-blocker p{margin:4px 0 0}.setup-blocker .btn{white-space:normal;text-align:left}.source-card[data-tab="Waiting for setup"] .st{color:var(--ink-2)}
@media(max-width:1000px){.setup-blocker{align-items:flex-start;flex-direction:column}}

/* Narrow rails use icons and accessible tooltips through 1199 CSS pixels. */
@media (min-width:721px) and (max-width:1199px){
 .rb-workspace .ws-nav{width:var(--rail-w);padding:var(--space-1)}
 .rb-workspace .ws-nav .item{justify-content:center;flex-direction:row;min-height:44px}
 .rb-workspace .ws-nav .nav-label,.rb-workspace .ws-nav .badge,.rb-workspace .ws-nav .brand,.rb-workspace .ws-nav .up{display:none}
 .rb-workspace .firm-topbar,.rb-workspace main.ws{margin-left:var(--rail-w)}
 .rb-workspace .ws-nav .more-menu{white-space:nowrap}
 .rb-workspace .ws-nav .more-menu[open]{position:fixed;left:var(--rail-w);top:80px;min-width:180px;background:var(--surface);padding:12px;box-shadow:var(--shadow-overlay)}
 .rb-workspace .ws-nav .more-menu[open] .item{justify-content:flex-start}
}
.nav-rail .ws-nav .nav-label{display:none}
/* Home text must fit its grid/flex allocation, including grouped machine activity. */
.ws .home-activity{min-width:0;max-width:100%}
.ws .home-activity>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ws .home-activity>.st{display:block;flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ws .home-activity>.st::before{display:inline-block;margin-right:var(--space-2)}
.ws .home-actions>article,.ws .home-flow>a,.ws .setup-blocker>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Menu toggle (Sandy 28 Oct): on desktop the menu hides completely and stays hidden until shown again. */
@media(min-width:721px){body.nav-off .ws-nav{display:none}body.nav-off .firm-topbar,body.rb-workspace.nav-off main.ws{margin-left:0}body.rb-workspace.nav-off main.ws{max-width:var(--content-w)}body.rb-workspace.nav-off main.rv{max-width:var(--review-w)}}
#nav-toggle{white-space:nowrap;cursor:pointer}
/* UBS-style entry window (review + statement): batch header, voucher grid, journal lines, status and key strips. */
.rv .rv-layout:not(.two):has(.rv-panel.ubs){--p:560px}
.rv .rv-panel.ubs{background:var(--well);border:1px solid var(--line-control);border-radius:4px}
.rv .ubs-bar{flex:none;display:flex;justify-content:space-between;gap:var(--space-3);padding:5px var(--space-3);background:var(--fill);color:var(--on-titlebar);font:600 var(--text-list) var(--f-body);white-space:nowrap;overflow:visible;text-overflow:clip}
.rv .ubs-bar>span:first-child{overflow:visible;text-overflow:clip}
.rv .rv-panel.ubs .rv-scroll{padding:var(--space-3)}
.rv .rv-panel.ubs h1{font-size:var(--text-body);margin:var(--space-3) 0 0}.rv .rv-panel.ubs .compact-context{margin:0 0 var(--space-2)}
.rv .rv-panel.ubs h2{font-size:var(--text-head);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:var(--space-3) 0 var(--space-2)}
.rv .ubs-batch{display:grid;grid-template-columns:112px minmax(0,1fr);gap:6px var(--space-3);align-items:center}
.rv .ubs-lbl,.rv .ubs-voucher .lt{font-size:var(--text-meta);color:var(--ink-2);white-space:nowrap;overflow:visible;text-overflow:clip}
.rv .ubs-f{box-sizing:border-box;display:block;min-height:26px;padding:3px 6px;background:var(--page);border:1px solid var(--line-control);border-radius:2px;font:var(--text-list) var(--f-mono);color:var(--ink);white-space:nowrap;overflow:visible;text-overflow:clip;min-width:0}
.rv .ubs-f.hi{background:var(--machine-soft);border-color:var(--machine);font-weight:500}.rv .ubs-f.num{text-align:right}
.rv .ubs-pair{display:flex;gap:6px;min-width:0;align-items:center}.rv .ubs-pair>*{min-width:0}.rv .ubs-pair>input,.rv .ubs-pair>label,.rv .ubs-pair>.ubs-f{flex:1 1 auto}
.rv .ubs-code{flex:0 0 auto;font:500 var(--text-list) var(--f-mono);color:var(--ink);background:var(--machine-soft);border:1px solid var(--line-control);border-radius:2px;padding:3px 6px;white-space:nowrap}.rv .ubs-code:empty{display:none}
.rv .ubs-sec{border:1px solid var(--line-control);border-radius:3px;padding:var(--space-2) var(--space-3);margin-top:var(--space-3);background:var(--page)}
.rv .ubs-sec h3{margin:0 0 6px;font-size:var(--text-head);color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.rv .rv-fields.ubs-voucher,.rv .ubs-voucher{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px var(--space-3);align-items:start}
.rv .rv-fields.ubs-voucher>label,.rv .ubs-voucher>label,.rv .ubs-voucher>div{grid-column:auto;display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto;align-items:center;column-gap:var(--space-2);row-gap:2px;min-height:0;padding:0;border:0;position:relative}
.rv .rv-fields.ubs-voucher>.wide,.rv .ubs-voucher>.wide{grid-column:1/-1}
.rv .rv-fields.ubs-voucher>label .lt,.rv .ubs-voucher>div .lt,.rv .ubs-voucher>label .lt{grid-column:1;grid-row:1;padding-left:12px;line-height:1.3;white-space:nowrap;overflow:visible;text-overflow:clip}
.rv .rv-fields.ubs-voucher>label .field-dot{position:absolute;left:0;top:10px}
.rv .rv-fields.ubs-voucher>label>input,.rv .rv-fields.ubs-voucher>label>select,.rv .rv-fields.ubs-voucher .ubs-pair,.rv .ubs-voucher>label>output,.rv .ubs-voucher>label>.ubs-pair{grid-column:2;grid-row:1;width:100%;min-width:0;text-align:left}
.rv .rv-fields.ubs-voucher input,.rv .rv-fields.ubs-voucher select{box-sizing:border-box;min-height:26px;padding:3px 6px;background:var(--page);border:1px solid var(--line-control);border-radius:2px;font:var(--text-list) var(--f-mono);color:var(--ink)}
.rv .rv-fields.ubs-voucher input.num{text-align:right}
.rv .rv-fields.ubs-voucher input:focus,.rv .rv-fields.ubs-voucher select:focus{outline:2px solid var(--you);outline-offset:0;background:var(--you-soft)}
.rv .rv-fields.ubs-voucher input:disabled,.rv .rv-fields.ubs-voucher select:disabled{background:var(--well);color:var(--ink-2)}
.rv .rv-fields.ubs-voucher .ubs-pair select{width:100%}.rv .rv-fields.ubs-voucher .ubs-pair label{display:block;min-width:0}.rv .rv-fields.ubs-voucher .ubs-pair label+label{flex:0 0 120px}
.rv .rv-fields.ubs-voucher>[data-field-state="needs"] input{outline:2px dashed var(--you-mark);outline-offset:1px}.rv .rv-fields.ubs-voucher>[data-field-state="wrong"] input{outline:2px dashed var(--wrong);outline-offset:1px}
.rv .rv-fields.ubs-voucher small{grid-column:2;grid-row:auto;padding-left:0;font-size:var(--text-meta);color:var(--ink-3);white-space:normal;line-height:1.35}
.rv .rv-fields.ubs-voucher small:empty,.rv .rv-fields.ubs-voucher .ubs-hint:empty{display:none}
.rv .rv-fields.ubs-voucher .ubs-hint .pattern,.rv .rv-fields.ubs-voucher .ubs-hint .rv-pct{display:inline;margin:0}
.rv .ubs-tw{margin-top:var(--space-3);overflow:auto;border:1px solid var(--line-control);border-radius:2px}
.rv .ubs-lines{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font:var(--text-meta) var(--f-mono)}
.rv .ubs-lines th{background:var(--hover);font:600 var(--text-meta) var(--f-body);color:var(--ink-2);text-align:left;padding:4px 6px;border:1px solid var(--line-control);white-space:nowrap;overflow:visible;text-overflow:clip}
.rv .ubs-lines td{background:var(--page);border:1px solid var(--line);padding:3px 6px;white-space:nowrap;overflow:visible;text-overflow:clip;cursor:pointer}
.rv .ubs-lines th.num,.rv .ubs-lines td.num{text-align:right;font-variant-numeric:tabular-nums}
.rv .ubs-lines tbody tr:hover td,.rv .ubs-lines tbody tr:focus td{background:var(--machine-soft)}
.rv .ubs-lines tfoot td{font-weight:600;cursor:default;background:var(--agreed-soft);color:var(--agreed-text)}.rv .ubs-lines tfoot tr.bad td{background:var(--you-soft);color:var(--you-text)}
.rv .ubs-status{flex:none;display:flex;flex-wrap:wrap;gap:6px var(--space-4);align-items:center;padding:6px var(--space-3);border-top:1px solid var(--line-control);background:var(--hover);font-size:var(--text-meta);color:var(--ink-2)}
.rv .ubs-status>span{white-space:nowrap}.rv .ubs-status .ok{color:var(--agreed-text)}.rv .ubs-status .bad{color:var(--you-text);white-space:normal}
.rv .ubs-pill{display:inline-block;padding:1px 8px;border-radius:var(--radius-count);background:var(--you-soft);color:var(--you-text);font-weight:600}.rv .ubs-pill[data-state="Verified"],.rv .ubs-pill[data-state="Posted"]{background:var(--agreed-soft);color:var(--agreed-text)}
.rv .ubs-keys{flex:none;display:flex;flex-wrap:wrap;gap:4px var(--space-3);padding:6px var(--space-3);border-top:1px solid var(--line);font-size:var(--text-meta);color:var(--ink-2)}
.rv .ubs-keys>span{white-space:nowrap}
.rv .ubs-keys kbd{font:var(--text-head) var(--f-mono);background:var(--page);border:1px solid var(--line-control);border-bottom-width:2px;border-radius:3px;padding:0 4px}
.rv .rv-panel.ubs .rv-foot{background:var(--well)}.rv .rv-panel.ubs .btn{white-space:nowrap}
.rv .rv-panel.ubs .bank th{background:var(--hover);border:1px solid var(--line-control);color:var(--ink-2);text-transform:none;letter-spacing:0}.rv .rv-panel.ubs .bank{border-radius:2px;border-color:var(--line-control)}.rv .rv-panel.ubs .bank td{border-bottom:1px solid var(--line);background:var(--page)}
.rv .rv-panel.ubs .bank td.num{font-family:var(--f-mono)}.rv .rv-panel.ubs .bank tfoot td{background:var(--agreed-soft);color:var(--agreed-text);font-weight:600;white-space:normal}.rv .rv-panel.ubs .bank tfoot tr.bad td{background:var(--you-soft);color:var(--you-text)}
.rv .rv-panel.ubs .rv-float .btn,.rv .rv-float .btn,.rv .rv-docnav .btn{white-space:nowrap}
@media(max-width:900px){.rv .rv-layout,.rv .rv-layout.noq,.rv .rv-layout.two{grid-template-columns:minmax(0,1fr)}.rv .rv-layout .rv-gutter[data-side],.rv .rv-layout.noq .rv-queue,.rv .rv-queue{display:none}.rv .rv-panel,.rv .rv-panel.ubs{position:static;max-height:none}.rv .preview{max-height:70vh}}
.rv .ubs-lines th:nth-child(1){width:14%}.rv .ubs-lines th:nth-child(2){width:14%}.rv .ubs-lines th:nth-child(3){width:15%}.rv .ubs-lines th:nth-child(5),.rv .ubs-lines th:nth-child(6){width:16%}
.rv .ubs-lines td,.rv .ubs-lines td:first-child{height:auto;font-weight:400;vertical-align:middle}.rv .ubs-lines tfoot td{font-weight:600}
.rv .ubs-legend{margin:0 0 var(--space-2);white-space:nowrap;overflow:visible;text-overflow:clip}
.rv .rv-fields.ubs-voucher small[data-located]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rv .rv-fields.ubs-voucher>label:has(small[data-located]:not(:empty)) .field-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--off)}
.rv .bank-staff:not([hidden]){display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-2) 0}.rv .bank-staff input,.rv .bank-staff select{min-height:var(--control-small);flex:1 1 180px;min-width:0}.rv .bank-staff p{flex-basis:100%;margin:0}
.rv .bank-explain{display:block;font-size:var(--text-meta);color:var(--ink-2)}.rv .bank-explain .bank-reason{display:block;box-sizing:border-box;width:100%}.rv .bank .line-note{display:block;color:var(--ink-2)}
/* Bank month tiles (Sandy 28 Oct): green = statement present, red = missing, grey = outside the period. */
.month-strip a,.month-strip span{border-top-width:1px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--well);text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;text-decoration:none}
.month-strip a{border-color:var(--agreed);background:var(--agreed-soft);color:var(--agreed-text);font-weight:600}
.month-strip .m-missing{border-color:var(--wrong);background:var(--wrong-soft);color:var(--wrong-text);font-weight:600}
.month-strip .m-current-month{border-color:var(--you-mark);background:var(--you-soft);color:var(--you-text)}
/* B, 6 Nov 2026: a sidebar click shows at once that the next page is on its way. */
.rb-loadbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;display:none;background:linear-gradient(90deg,transparent,var(--machine),transparent) no-repeat;background-size:40% 100%;animation:rb-load 1.1s linear infinite}
.rb-loadnote{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:1000;display:none;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:var(--text-meta)}
body.rb-loading .rb-loadbar,body.rb-loading .rb-loadnote{display:block}
body.rb-loading main{opacity:.55;pointer-events:none;transition:opacity .15s .08s}
@keyframes rb-load{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.rb-loadbar{animation:none;background:var(--machine)}body.rb-loading main{transition:none}}

/* Long activity phrases and audit details fit their flex allocation. */
.ws .activity-row{min-width:0;max-width:100%}
.ws .activity-row>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ws .activity-row>.st{display:block;flex:0 1 auto;white-space:normal;overflow-wrap:anywhere}
.ws .activity-row>.st::before{display:inline-block;margin-right:var(--space-2)}