/* Rental workspace shell: sub-navigation plus the 11 screens. Uses the WorkHub
   shell tokens inside 8767 and falls back to its own values in the preview. */
.ra-shell{--a-bg:var(--panel,#fff);--a-fg:var(--txt,#1d2321);--a-dim:var(--dim,#5f6b67);--a-line:var(--line,#d9ddd9);--a-acc:var(--acc,#b8650f);--a-surface:var(--surface0,#f3f4f2);
  --a-ok:#2f7d4f;--a-ok-bg:#dcefe2;--a-bad:#b3362c;--a-bad-bg:#f6dcd9;--a-wait:#2d64a8;--a-wait-bg:#dce7f5;
  display:grid;gap:12px;color:var(--a-fg);font-size:13px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ra-shell{--a-bg:var(--panel,#1c2120);--a-fg:var(--txt,#e6ebe8);--a-dim:var(--dim,#9aa5a1);--a-line:var(--line,#2e3634);--a-surface:var(--surface0,#141817);
  --a-ok:#6cc48f;--a-ok-bg:#1d3527;--a-bad:#ef8076;--a-bad-bg:#3e1f1c;--a-wait:#7aa8e6;--a-wait-bg:#1b2a3f}}
:root[data-theme="dark"] .ra-shell{--a-bg:var(--panel,#1c2120);--a-fg:var(--txt,#e6ebe8);--a-dim:var(--dim,#9aa5a1);--a-line:var(--line,#2e3634);--a-surface:var(--surface0,#141817);
  --a-ok:#6cc48f;--a-ok-bg:#1d3527;--a-bad:#ef8076;--a-bad-bg:#3e1f1c;--a-wait:#7aa8e6;--a-wait-bg:#1b2a3f}
.ra-head h2{margin:2px 0;font-size:20px}.ra-head p{margin:0;color:var(--a-dim)}
.ra-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--a-dim);font-weight:700}
.ra-tag{font-size:11px;padding:1px 8px;border-radius:99px;background:var(--a-surface);color:var(--a-acc);vertical-align:middle}
.ra-layout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:12px;align-items:start}
.ra-nav{display:grid;gap:4px;position:sticky;top:12px}
.ra-nav button{display:flex;justify-content:space-between;align-items:center;gap:6px;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:none;color:var(--a-dim);font:inherit;cursor:pointer}
.ra-nav button:hover{background:var(--a-surface);color:var(--a-fg)}
.ra-nav button[aria-current="page"]{background:var(--a-bg);border-color:var(--a-line);color:var(--a-fg);font-weight:600;box-shadow:inset 3px 0 var(--a-acc)}
.ra-nav small{font-size:9px;padding:0 5px;border-radius:99px;background:var(--a-surface);color:var(--a-dim)}
.ra-main{display:grid;gap:12px;min-width:0}
.ra-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.ra-kpis article,.ra-panel{background:var(--a-bg);border:1px solid var(--a-line);border-radius:10px;padding:12px 14px;min-width:0}
.ra-kpis span,.ra-kpis small{display:block;color:var(--a-dim);font-size:11px}.ra-kpis b{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin:2px 0}
.ra-panel>header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.ra-panel h3{margin:0 0 2px;font-size:14px}.ra-panel>header p{margin:0;color:var(--a-dim);max-width:72ch}
.ra-scroll{overflow-x:auto}
.ra-shell table{border-collapse:collapse;width:100%}
.ra-shell th,.ra-shell td{padding:7px 8px;border-bottom:1px solid var(--a-line);text-align:left;vertical-align:top}
.ra-shell th{font-weight:600;color:var(--a-dim);font-size:11px;white-space:nowrap}
.ra-shell td b{display:block;white-space:nowrap}.ra-shell td small{display:block;color:var(--a-dim);font-size:11px}
.ra-shell .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ra-muted{color:var(--a-dim)}
.ra-chip{display:inline-block;font-size:11px;padding:1px 8px;border-radius:99px;white-space:nowrap;background:var(--a-surface);color:var(--a-dim)}
.ra-chip.ok{background:var(--a-ok-bg);color:var(--a-ok)}.ra-chip.bad{background:var(--a-bad-bg);color:var(--a-bad)}.ra-chip.wait{background:var(--a-wait-bg);color:var(--a-wait)}
.ra-doc{display:inline-flex;gap:4px;align-items:center;margin:0 8px 3px 0;white-space:nowrap}
.ra-actions{display:flex;flex-wrap:wrap;gap:4px}
.ra-actions button{font:inherit;font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:not-allowed;opacity:.75;white-space:nowrap}
.ra-actions em{font-style:normal;margin-left:4px;color:var(--a-acc)}
.ra-flow{font-size:11px;color:var(--a-dim)}.ra-flow summary{cursor:pointer}
.ra-flow ol{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.ra-flow li.gate{color:var(--a-acc)}.ra-flow small{margin-left:6px;color:var(--a-dim)}
.ra-note{margin:0;color:var(--a-dim);font-size:12px}
.ra-problems{margin:0;padding-left:16px;color:var(--a-bad);font-size:11px;display:grid;gap:2px;min-width:180px}
.ra-shell button:focus-visible{outline:2px solid var(--a-acc);outline-offset:1px}
@media (max-width:760px){.ra-layout{grid-template-columns:1fr}.ra-nav{position:static;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}}
.ra-tag.live{color:var(--a-ok);background:var(--a-ok-bg)}
.ra-message{padding:8px 12px;border-radius:8px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg)}
.ra-message.ok{background:var(--a-ok-bg);color:var(--a-ok);border-color:transparent}
.ra-message.bad{background:var(--a-bad-bg);color:var(--a-bad);border-color:transparent}
.ra-new{font:inherit;font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--a-acc);background:var(--a-bg);color:var(--a-acc);cursor:pointer;white-space:nowrap}
.ra-actions button:not(:disabled){cursor:pointer;opacity:1}
.ra-actions button:not(:disabled):hover{border-color:var(--a-acc)}
.ra-dialog{border:1px solid var(--a-line);border-radius:12px;background:var(--a-bg);color:var(--a-fg);padding:16px;max-width:min(560px,calc(100vw - 32px));width:100%}
.ra-dialog::backdrop{background:rgba(0,0,0,.35)}
.ra-dialog h3{margin:0 0 6px;font-size:15px}
.ra-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}
.ra-form-grid label{display:grid;gap:4px;font-size:12px;color:var(--a-dim)}
.ra-form-grid input,.ra-form-grid select{font:inherit;padding:6px 8px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg)}
.ra-dialog footer{display:flex;justify-content:flex-end;gap:8px}
.ra-dialog footer button{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-dialog footer button.primary{background:var(--a-acc);border-color:var(--a-acc);color:#fff}
.ra-matrix-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px;font-size:12px}
.ra-matrix-tools input[type=search]{font:inherit;padding:5px 8px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg);min-width:180px}
.ra-matrix-tools button{font:inherit;font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-legend{display:inline-flex;gap:6px;align-items:center;color:var(--a-dim)}.ra-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:6px}
.ra-legend i.ok{background:var(--a-ok-bg)}.ra-legend i.wait{background:var(--a-wait-bg)}.ra-legend i.bad{background:var(--a-bad-bg)}
.ra-matrix-wrap{max-height:70vh;overflow:auto;border:1px solid var(--a-line);border-radius:8px}
.ra-shell table.ra-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
.ra-shell .ra-matrix th{position:sticky;top:0;z-index:2;background:var(--a-surface);text-align:center;white-space:normal;min-width:96px;max-width:130px;vertical-align:bottom}
.ra-shell .ra-matrix th small{display:block;color:var(--a-acc);font-weight:500}
.ra-shell .ra-matrix .ra-sticky{position:sticky;left:0;z-index:1;background:var(--a-bg);text-align:left;min-width:160px;max-width:280px}
.ra-shell .ra-matrix th.ra-sticky{z-index:3;background:var(--a-surface)}
.ra-shell .ra-matrix td{border-right:1px solid var(--a-line);text-align:center;vertical-align:middle}
.ra-mcell b{display:block;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.ra-mcell small{display:block;font-size:10px}
.ra-mcell.ok{background:var(--a-ok-bg);color:var(--a-ok)}.ra-mcell.wait{background:var(--a-wait-bg);color:var(--a-wait)}
.ra-mcell.bad{background:var(--a-bad-bg);color:var(--a-bad)}.ra-mcell.none{color:var(--a-dim)}
.ra-mcell[data-ra-detail]{cursor:pointer}.ra-mcell[data-ra-detail]:hover{outline:2px solid var(--a-acc);outline-offset:-2px}
.ra-link{font:inherit;font-weight:600;padding:0;border:0;background:none;color:var(--a-fg);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--a-line);text-underline-offset:3px}
.ra-link:hover{color:var(--a-acc)}
.ra-detail h3{margin:0 0 8px}.ra-detail h4{margin:12px 0 6px;font-size:13px}
.ra-detail table{width:100%;border-collapse:collapse;font-size:12px}
.ra-detail th,.ra-detail td{padding:5px 6px;border-bottom:1px solid var(--a-line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.ra-detail-fields th{width:38%;color:var(--a-dim);font-weight:500}
.ra-detail footer{display:flex;justify-content:flex-end;margin-top:12px}
.ra-detail footer button{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-dialog:has(.ra-detail){max-width:min(760px,calc(100vw - 32px))}
.ra-month{margin-bottom:8px}.ra-month>summary{cursor:pointer;font-weight:600;padding:4px 0}
.ra-shell .ra-hours th{min-width:34px;max-width:40px}
.ra-hcell{font-variant-numeric:tabular-nums;font-size:11px;cursor:pointer;min-width:34px}
.ra-hcell.ok{background:var(--a-ok-bg);color:var(--a-ok)}.ra-hcell.wait{background:var(--a-wait-bg);color:var(--a-wait)}
.ra-hcell.bad{background:var(--a-bad-bg);color:var(--a-bad)}.ra-hcell.none{color:var(--a-dim)}
.ra-hcell.pending{outline:1px dashed currentColor;outline-offset:-3px}.ra-hcell.empty{background:transparent;cursor:default}
.ra-nav{gap:2px}
.ra-nav-group{display:grid;gap:2px;margin-bottom:6px}
.ra-nav-group>span{font-size:10px;letter-spacing:.08em;color:var(--a-dim);font-weight:700;padding:4px 10px 0}
.ra-shell td .ra-link{display:block}
.ra-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.ra-card{display:grid;gap:2px;text-align:left;font:inherit;padding:14px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-bg);color:var(--a-fg);cursor:pointer}
.ra-card:hover{border-color:var(--a-acc)}
.ra-card span{font-size:12px;color:var(--a-dim);font-weight:600}.ra-card b{font-size:24px;font-variant-numeric:tabular-nums}.ra-card small{color:var(--a-dim);font-size:11px}
.ra-todo{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ra-todo button{width:100%;text-align:left;font:inherit;font-size:12px;padding:7px 10px;border-radius:8px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-todo li.bad button{border-left:4px solid var(--a-bad)}.ra-todo li.wait button{border-left:4px solid var(--a-wait)}
.ra-todo button:hover{border-color:var(--a-acc)}
.ra-entity-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}
.ra-entity-head>div{flex:1;min-width:240px}.ra-entity-head h3{margin:2px 0;font-size:20px}.ra-entity-head p{margin:0;color:var(--a-dim)}
.ra-back{font:inherit;font-size:12px;padding:6px 10px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;counter-reset:step}
.ra-chain li button{width:100%;height:100%;text-align:left;font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--a-line);background:var(--a-surface);color:var(--a-fg);cursor:pointer}
.ra-chain li button:disabled{cursor:default}
.ra-chain li button b{display:block;font-size:12px}.ra-chain li button b::before{counter-increment:step;content:counter(step) " · ";color:var(--a-dim)}
.ra-chain li button small{display:block;font-size:11px;color:var(--a-dim);margin-top:2px}
.ra-chain li.done button{background:var(--a-ok-bg);border-color:transparent}.ra-chain li.done b{color:var(--a-ok)}
.ra-chain li.active button{background:var(--a-wait-bg);border-color:transparent}.ra-chain li.active b{color:var(--a-wait)}
.ra-chain li.blocked button{background:var(--a-bad-bg);border-color:transparent}.ra-chain li.blocked b{color:var(--a-bad)}
.ra-chain li.none button{opacity:.6}
.ra-docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ra-docbox{padding:8px 10px;border-radius:8px;border:1px solid var(--a-line);background:var(--a-surface)}
.ra-docbox span{display:block;font-size:11px;color:var(--a-dim)}.ra-docbox b{display:block;font-variant-numeric:tabular-nums}.ra-docbox small{display:block;font-size:10px}
.ra-docbox.ok{background:var(--a-ok-bg);border-color:transparent;color:var(--a-ok)}.ra-docbox.wait{background:var(--a-wait-bg);border-color:transparent;color:var(--a-wait)}
.ra-docbox.bad{background:var(--a-bad-bg);border-color:transparent;color:var(--a-bad)}.ra-docbox.none{color:var(--a-dim)}
.ra-docbox[data-ra-detail]{cursor:pointer}.ra-docbox[data-ra-detail]:hover{outline:2px solid var(--a-acc)}
.ra-close{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 12px;margin:0 0 10px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-surface)}
.ra-close ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px;font-size:12px}.ra-close li.ok{color:var(--a-ok)}.ra-close li.bad{color:var(--a-bad)}
.ra-subhead{margin:14px 0 6px;font-size:13px}
.ra-shell .ra-sheet td,.ra-shell .ra-sheet th{white-space:nowrap}
.ra-shell .ra-sheet tfoot td{position:sticky;bottom:0;background:var(--a-surface);border-top:2px solid var(--a-line)}
.ra-shell .ra-hours th small{display:block;font-weight:400;color:var(--a-dim)}
.ra-hcell[data-ra-edit-day]{cursor:pointer}
.ra-quote-lines{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}
.ra-quote-lines th{text-align:left;color:var(--a-dim);font-weight:500;padding:4px}
.ra-quote-lines td{padding:3px}.ra-quote-lines input,.ra-quote-lines select{width:100%;font:inherit;padding:5px 6px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg)}
.ra-matrix-tools select{font:inherit;padding:4px 6px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg)}
.ra-new:disabled{opacity:.5;cursor:not-allowed}
.ra-kpis-small{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.ra-kpis-small b{font-size:18px}
.ra-row-missing td{background:var(--a-bad-bg)}
.ra-entity-head p a{color:var(--a-acc)}
.ra-sheet td small{display:block;font-size:10px;color:var(--a-dim)}.ra-sheet td small.ra-bad,.ra-bad{color:var(--a-bad)}
.ra-filters{position:sticky;top:0;z-index:2;background:var(--a-bg,var(--a-surface));padding:6px 0;border-bottom:1px solid var(--a-line)}
.ra-filters [data-ra-filter-count]{margin-left:auto}
.ra-form-grid .ra-span{grid-column:1/-1}
.ra-form-grid fieldset{border:1px solid var(--a-line);border-radius:6px;padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px 14px}
.ra-form-grid fieldset legend{font-size:12px;color:var(--a-dim)}
.ra-form-grid label.ra-check{display:inline-flex;align-items:center;gap:4px;color:var(--a-fg)}
.ra-form-grid textarea{font:inherit;padding:6px 8px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg)}
.ra-quote-lines select,.ra-quote-lines input{font:inherit;padding:4px 6px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-surface);color:var(--a-fg)}
.ra-quote-lines td small{display:block;color:var(--a-dim)}
p.ra-legend{font-size:12px;margin:0 0 6px}
.ra-todo{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ra-todo li{padding:6px 10px;border-left:3px solid var(--a-line);background:var(--a-surface);border-radius:4px}
.ra-todo li.bad{border-left-color:var(--a-bad,#c0392b)}.ra-todo li.wait{border-left-color:var(--a-wait,#d68910)}.ra-todo li.ok{border-left-color:var(--a-ok,#1e8449)}
.ra-role-checks{display:flex;flex-wrap:wrap;gap:4px 12px}.ra-role-checks .ra-check{display:inline-flex;gap:4px;align-items:center}
.ra-files{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.ra-files small{display:block;color:var(--a-dim)}
.ra-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.ra-tabs{display:flex;gap:4px;border-bottom:1px solid var(--a-line);margin:6px 0 0}
.ra-tabs button{font:inherit;padding:8px 14px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:none;color:var(--a-dim);cursor:pointer}
.ra-tabs button[aria-selected="true"]{background:var(--a-surface);border-color:var(--a-line);color:var(--a-fg);font-weight:600;margin-bottom:-1px}
.ra-tabpanel{border-top-left-radius:0}
.ra-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}@media (max-width:900px){.ra-split{grid-template-columns:1fr}}
tr.ra-group td{background:var(--a-bg,rgba(0,0,0,.03));border-top:1px solid var(--a-line)}tr.ra-group td small{margin-left:8px;display:inline}
td.ra-indent{padding-left:22px}
details.ra-fold{margin-top:12px;border:1px solid var(--a-line);border-radius:8px;padding:6px 10px}details.ra-fold>summary{cursor:pointer;font-weight:600}
details.ra-hint summary{cursor:pointer;color:var(--a-dim);font-size:12px;list-style:none}details.ra-hint summary::-webkit-details-marker{display:none}details.ra-hint p{margin:4px 0 0}
.ra-group-title{margin:14px 0 6px;font-size:13px;color:var(--a-dim)}
.ra-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ra-site{display:grid;gap:10px;text-align:left;font:inherit;color:inherit;background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;padding:14px;cursor:pointer}
.ra-site:hover{border-color:var(--a-acc)}.ra-site header b{display:block;font-size:15px}.ra-site header small{color:var(--a-dim)}
.ra-site-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ra-site-stats span{display:block;font-size:11px;color:var(--a-dim)}.ra-site-stats b{font-size:16px}.ra-site-stats small{display:block;font-size:11px;color:var(--a-dim)}
.ra-nav-more summary{cursor:pointer;font-size:12px;color:var(--a-dim);padding:4px 0}
.ra-actions-line{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.ra-more-actions{display:inline-block;margin-left:6px}.ra-more-actions summary{cursor:pointer;font-size:12px;color:var(--a-acc);list-style:none}.ra-more-actions[open] .ra-actions{position:absolute;z-index:3;background:var(--a-surface);border:1px solid var(--a-line);border-radius:8px;padding:6px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.ra-tabpanel td small{white-space:nowrap}
.ra-card.bad{border-color:var(--a-bad,#c0392b)}.ra-card.bad b{color:var(--a-bad,#c0392b)}.ra-card.wait{border-color:var(--a-wait,#d68910)}

/* phone daily report */
.ra-phone{max-width:560px;margin:0 auto;display:grid;gap:12px}
.ra-phone-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ra-phone-tools label{display:grid;gap:4px;font-size:13px}
.ra-phone-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-surface)}
.ra-phone-card>div:first-child{display:grid;gap:2px;min-width:0}.ra-phone-card b{font-size:18px;letter-spacing:.02em}.ra-phone-card>div:last-child{display:grid;gap:6px;justify-items:end}
.ra-phone-card button{min-height:44px;min-width:88px;font-size:15px}.ra-phone-todo{border-color:var(--a-acc)}
.ra-phone-form{display:grid;gap:12px}.ra-phone-form h3{margin:0;font-size:20px}.ra-phone-form fieldset{border:1px solid var(--a-line);border-radius:12px;padding:10px 12px;display:grid;gap:8px;min-width:0}
.ra-phone-form input,.ra-phone-tools input,.ra-phone-tools select{min-height:44px;font-size:16px;width:100%;box-sizing:border-box}
.ra-phone-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ra-phone-pick{position:relative}.ra-phone-pick input{position:absolute;opacity:0;min-height:0}
.ra-phone-pick span{display:block;text-align:center;padding:12px 4px;border:1px solid var(--a-line);border-radius:10px;font-size:15px}
.ra-phone-pick input:checked+span{background:var(--a-acc);border-color:var(--a-acc);color:#fff}.ra-phone-pick input:focus-visible+span{outline:3px solid var(--a-acc);outline-offset:2px}
.ra-phone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ra-phone-grid label,.ra-phone-form>label,.ra-phone-form fieldset>label{display:grid;gap:4px;font-size:13px}
.ra-phone-check{margin:0;padding:8px 10px;border-radius:10px;background:var(--a-surface)}
.ra-phone-shots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ra-phone-shot{position:relative;display:grid;place-items:center;min-height:56px;border:1px dashed var(--a-line);border-radius:10px;font-size:15px;cursor:pointer}
.ra-phone-shot input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ra-phone-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ra-phone-thumbs figure{margin:0}.ra-phone-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.ra-phone-thumbs figcaption{font-size:12px;display:flex;justify-content:space-between}
.ra-phone-sign{width:100%;height:auto;aspect-ratio:600/220;background:#fff;border:1px solid var(--a-line);border-radius:10px;touch-action:none}
.ra-phone-submit{min-height:52px;font-size:17px}
.ra-phone-queue{border:1px solid var(--a-acc);border-radius:12px;padding:10px 12px}.ra-phone-queue header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ra-phone-queue ul{margin:6px 0;padding-left:18px}
@media (max-width:420px){.ra-phone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ra-phone-picks{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ra-shell:has(.ra-main[data-ra-current=phone]) .ra-nav,.ra-shell:has(.ra-main[data-ra-current=phone]) .ra-head p{display:none}}
.ra-phone-menu{justify-self:start}

/* dropping equipment papers */
.ra-drop{position:relative;display:grid;gap:4px;place-items:center;text-align:center;padding:18px 16px;margin:0 0 12px;border:2px dashed var(--a-line);border-radius:12px;cursor:pointer;color:var(--a-dim)}
.ra-drop b{color:var(--a-fg)}.ra-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ra-drop:hover,.ra-drop-over{border-color:var(--a-acc);background:var(--a-surface)}.ra-drop:focus-within{outline:3px solid var(--a-acc);outline-offset:2px}
.ra-drop-small{padding:10px;margin:8px 0}
.ra-dialog:has(.ra-intake){max-width:min(980px,calc(100vw - 32px))}
.ra-intake-thumb{width:56px;height:40px;object-fit:cover;border-radius:6px;display:block}
.ra-intake-pdf{display:inline-grid;place-items:center;width:56px;height:40px;border-radius:6px;background:var(--a-surface);font-size:12px;font-weight:600}
.ra-intake-split{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:16px}
.ra-intake-papers{display:grid;gap:8px;align-content:start;max-height:70vh;overflow:auto}
.ra-intake-paper{display:grid;gap:4px;padding:4px;border:1px solid var(--a-line);border-radius:8px;background:none;cursor:zoom-in;text-align:left;color:inherit}
.ra-intake-paper img{width:100%;border-radius:6px}
.ra-intake-review input{min-width:0;width:100%;box-sizing:border-box}
@media (max-width:760px){.ra-intake-split{grid-template-columns:1fr}.ra-intake-papers{grid-auto-flow:column;grid-auto-columns:120px;overflow-x:auto;max-height:none}}

/* Ellie, the AI colleague for rental papers */
.ra-ai-row{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;align-items:stretch;margin:0 0 12px}
.ra-ai-row .ra-drop{margin:0}
.ra-ai-card{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-surface);color:inherit;text-align:left;cursor:pointer;font:inherit}
.ra-ai-card:hover,.ra-ai-card.ra-drop-over{border-color:var(--a-acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--a-acc) 25%,transparent)}
.ra-ai-card:focus-visible{outline:3px solid var(--a-acc);outline-offset:2px}
.ra-ai-avatar{display:inline-block;flex:none;border-radius:50%;overflow:hidden;vertical-align:middle}
.ra-ai-who{display:grid;gap:2px;min-width:0}.ra-ai-who b{font-size:16px}.ra-ai-who small{color:var(--a-dim)}.ra-ai-who .ra-ai-due{color:var(--a-warn,#b26b00);font-weight:600}
.ra-ai-title{display:flex;align-items:center;gap:8px}
.ra-dialog:has(.ra-ai-desk){max-width:min(860px,calc(100vw - 32px))}
.ra-ai-desk{display:grid;gap:10px}.ra-ai-head{display:flex;gap:14px;align-items:flex-start}.ra-ai-head h3{margin:0}.ra-ai-head h3 small{font-weight:400;color:var(--a-dim)}.ra-ai-head p{margin:4px 0}
.ra-ai-desk h4{margin:6px 0 0}.ra-ai-list{margin:0;padding-left:18px;display:grid;gap:4px}.ra-ai-list small{color:var(--a-dim)}
@media (max-width:760px){.ra-ai-row{grid-template-columns:1fr}}

/* fleet: own / hired, main kinds */
.ra-fleet-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:0 0 10px}.ra-fleet-head p{margin:0;color:var(--a-dim)}
.ra-fleet-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.ra-fleet-tile{display:grid;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-surface);color:inherit;font:inherit;cursor:pointer}
.ra-fleet-tile b{font-size:16px}.ra-fleet-tile span{font-size:20px;font-weight:700}.ra-fleet-tile small{color:var(--a-dim)}
.ra-fleet-tile:hover,.ra-fleet-tile[aria-pressed="true"]{border-color:var(--a-acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--a-acc) 22%,transparent)}
.ra-fleet-tile:focus-visible{outline:3px solid var(--a-acc);outline-offset:2px}
.ra-nav .ra-nav-sub{padding-left:28px;font-size:.92em}

/* own / hired standing */
.ra-standing-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ra-standing-chips button{border:1px solid var(--a-line);border-radius:999px;padding:5px 12px;background:var(--a-surface);color:inherit;font:inherit;cursor:pointer}
.ra-standing-chips button[aria-pressed="true"]{background:var(--a-acc);border-color:var(--a-acc);color:#fff}
.ra-market{margin-left:6px;font-size:.9em}
.ra-stars{color:#d49a12;letter-spacing:1px}

/* Production tidy-up: one quiet header, a title per screen, calmer tables and a compact menu. */
.ra-shell{gap:14px}
.ra-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:2px 0}
.ra-head h2{margin:0;font-size:20px}.ra-head-date{margin-left:auto;color:var(--a-dim);font-size:12px}
.ra-page-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 2px}
.ra-page-title h3{margin:0;font-size:18px}.ra-page-title p{margin:0;color:var(--a-dim);font-size:12px}
.ra-layout{grid-template-columns:184px minmax(0,1fr);gap:18px}
.ra-nav{gap:2px;max-height:calc(100vh - 24px);overflow-y:auto;padding-right:4px;scrollbar-width:thin}
.ra-nav button{padding:6px 10px}
.ra-nav-group{display:grid;gap:1px;padding:6px 0;border-bottom:1px solid var(--a-line)}.ra-nav-group:last-child{border-bottom:0}
.ra-nav-group>span{font-size:10px;letter-spacing:.08em;color:var(--a-dim);font-weight:700;padding:2px 10px 4px}
.ra-main{gap:14px}
.ra-panel{padding:14px 16px;border-radius:12px}
.ra-panel>header{margin-bottom:10px}.ra-panel h3{font-size:15px}
.ra-shell tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--a-surface) 55%,transparent)}
.ra-shell tbody tr:hover td{background:color-mix(in srgb,var(--a-acc) 7%,transparent)}
.ra-shell th{position:sticky;top:0;background:var(--a-bg);z-index:1;border-bottom-width:2px}
.ra-shell td{padding:8px}
.ra-shell .ra-link{max-width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.ra-kpis{gap:12px}.ra-kpis article{padding:12px 14px}
.ra-tabs{gap:2px}
.ra-matrix-tools,.ra-filters{gap:8px 12px}
@media (max-width:1100px){.ra-layout{grid-template-columns:150px minmax(0,1fr)}}
.ra-shell td>.ra-muted,.ra-shell td>.ra-stars{white-space:nowrap}

/* menu children: indented under their screen, quieter, on a tree line (wins over the shared theme's flat buttons) */
.ra-shell .ra-nav .ra-nav-children{display:grid;gap:1px;margin:0 0 4px 22px;padding-left:8px;border-left:1px dashed var(--a-line)}
html[data-theme] .ra-shell .ra-nav .ra-nav-children button.ra-nav-sub:not(.primary):not(.on),.ra-shell .ra-nav .ra-nav-children button.ra-nav-sub{min-height:28px;padding:4px 10px;margin:0;font-size:12.5px;color:var(--a-dim);border:0;box-shadow:none}
html[data-theme] .ra-shell .ra-nav .ra-nav-children button.ra-nav-sub[aria-current="page"]:not(.primary):not(.on),.ra-shell .ra-nav .ra-nav-children button.ra-nav-sub[aria-current="page"]{color:var(--a-fg);font-weight:650;background:color-mix(in srgb,var(--a-acc) 12%,transparent);box-shadow:none}
html[data-theme] .ra-shell .ra-nav .ra-nav-children button.ra-nav-sub::before{display:none}
.ra-chip-btn{border:0;cursor:pointer;font:inherit;font-size:11px;margin:0 4px 4px 0}.ra-chip-btn:hover{filter:brightness(.95);text-decoration:underline}
.ra-fold{border:1px solid var(--a-line);border-radius:12px;background:var(--a-bg);padding:10px 14px}.ra-fold>summary{cursor:pointer;color:var(--a-dim);font-weight:600}.ra-fold[open]>summary{margin-bottom:10px}

/* Excel import comparison */
.ra-wb-diff{font-size:12px}.ra-wb-diff s{color:var(--a-bad)}.ra-wb-diff ins{color:var(--a-ok);text-decoration:none;font-weight:600}
.ra-wb-error{color:var(--a-bad);font-size:12px}
.ra-wb-choice{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:6px;padding:6px 8px;border-radius:8px;background:var(--a-bad-bg)}
.ra-wb-choice small{flex-basis:100%;color:var(--a-dim)}.ra-wb-reason{flex:1;min-width:220px}
.ra-wb-apply{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.ra-wb-apply p{margin:0}

/* list export / import */
.ra-list-tools{display:inline-flex;gap:6px;flex-wrap:wrap}
.ra-dialog:has(.ra-wb-dialog){max-width:min(1000px,calc(100vw - 32px))}
.ra-wb-pick{display:block;font-size:12px;color:var(--a-dim);margin-top:4px}
/* gatepass package review */
.ra-package-who{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:8px 0 12px;padding:10px 12px;border:1px solid var(--a-line);border-radius:10px}
.ra-package-who p{margin:2px 0}
.ra-package td input:not([type=checkbox]),.ra-package td select{min-width:0;width:100%;box-sizing:border-box}
.ra-package td input[type=date]{min-width:128px}
.ra-package progress,.ra-intake progress{width:100%}
@media (max-width:760px){.ra-package-who{grid-template-columns:1fr}}
.ra-package-alerts{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--a-surface)}.ra-package-alerts p{margin:4px 0}
.ra-package td .ra-chip,.ra-package td [class*=tone]{display:inline-block;margin-top:3px}
.ra-letters fieldset{border:1px solid var(--a-line);border-radius:10px;margin:8px 0;padding:6px 12px 10px}.ra-letters legend{font-weight:600;padding:0 4px}
.ra-letter-kinds{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:8px 0}.ra-letter-kinds small{display:block;margin-left:22px;color:var(--a-dim)}
@media (max-width:760px){.ra-letter-kinds{grid-template-columns:1fr}}
/* compact density: the rental view sits inside WorkHub and should fit without sideways scrolling */
.ra-shell.ra-shell{font-size:13px}
.ra-shell.ra-shell .ra-main{gap:10px}
.ra-shell.ra-shell .ra-panel{padding:10px 12px}
.ra-shell.ra-shell .ra-panel h3{font-size:14px}
.ra-shell.ra-shell th,.ra-shell.ra-shell td{padding:5px 7px}
.ra-shell.ra-shell td small{font-size:12px}
.ra-shell.ra-shell .ra-entity-head h3{font-size:16px}
.ra-shell.ra-shell .ra-kpis article b{font-size:20px}
.ra-shell.ra-shell .ra-card b{font-size:20px}
.ra-shell.ra-shell select,.ra-shell.ra-shell input:not([type=checkbox]):not([type=radio]){font-size:13px}
.ra-shell.ra-shell .ra-chip,.ra-shell.ra-shell .ra-tone{font-size:12px}
/* tables with column tools: fixed layout fills the width; widths are dragged on the header edge */
.ra-shell table.ra-coltable{table-layout:fixed;width:100%}
.ra-shell table.ra-coltable th{position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ra-shell table.ra-coltable td{overflow:hidden;text-overflow:ellipsis}
.ra-shell table.ra-coltable td>button.ra-link,.ra-shell table.ra-coltable td>small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ra-shell table.ra-coltable td select{max-width:100%}
.ra-colgrip{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;touch-action:none}
.ra-colgrip:hover,.ra-colgrip:active{background:var(--a-acc);opacity:.35}
.ra-colpicker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:8px 0 12px}
/* unit and person pages: an in-page menu instead of one long page */
.ra-entity-actions{display:flex;flex-wrap:wrap;gap:6px}
.ra-entity-tabs{margin-top:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.ra-entity-tabs button{white-space:nowrap}
.ra-tab-badge{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--a-surface);color:var(--a-dim);font-size:12px}
.ra-entity-tabs button[aria-selected="true"] .ra-tab-badge{background:color-mix(in srgb,var(--a-acc) 16%,transparent);color:var(--a-acc)}
.ra-entity-body{display:grid;gap:10px;margin-top:10px}
.ra-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:4px 0 0}
.ra-facts>div{padding:8px 10px;border:1px solid var(--a-line);border-radius:9px;background:var(--a-surface);min-width:0}
.ra-facts dt{font-size:12px;color:var(--a-dim);margin:0 0 3px}
.ra-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.ra-rate h4{margin:14px 0 4px;font-size:13px}
.ra-rate .ra-wide{grid-column:1/-1}
/* Ellie's face comes from the AI staff line when it is there; the drawn one stays as fallback */
.ra-ai-avatar{position:relative;display:inline-block;flex:none;border-radius:50%;overflow:hidden}
.ra-ai-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--a-bg)}
.ra-ai-chat{display:inline-flex;align-items:center;gap:6px}
/* rate: the amount itself is the button, with a small pencil; recent changes carry an arrow and date */
.ra-shell .ra-ratebtn{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:2px 7px;border:1px dashed transparent;border-radius:7px;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.ra-shell .ra-ratebtn:hover,.ra-shell .ra-ratebtn:focus-visible{border-color:var(--a-acc);background:color-mix(in srgb,var(--a-acc) 8%,transparent)}
.ra-shell .ra-ratebtn .ra-pen{color:var(--a-dim);flex:none}.ra-shell .ra-ratebtn:hover .ra-pen{color:var(--a-acc)}
.ra-rate-text{white-space:nowrap}
.ra-rate-mark{display:inline-block;margin-left:4px;padding:0 5px;border-radius:999px;font-size:12px;white-space:nowrap}
.ra-rate-mark.up{background:color-mix(in srgb,var(--a-bad,#c0392b) 12%,transparent);color:var(--a-bad,#c0392b)}
.ra-rate-mark.down{background:color-mix(in srgb,var(--a-ok,#1e8449) 14%,transparent);color:var(--a-ok,#1e8449)}
.ra-rate-diff.up{color:var(--a-bad,#c0392b)}.ra-rate-diff.down{color:var(--a-ok,#1e8449)}
.ra-rate tr.ra-off td{opacity:.45}
.ra-seg-row{display:inline-flex;gap:0;margin:6px 0 10px;border:1px solid var(--a-line);border-radius:9px;overflow:hidden}
.ra-seg{padding:6px 12px;cursor:pointer;border-right:1px solid var(--a-line)}.ra-seg:last-child{border-right:0}
.ra-seg input{margin:0 4px 0 0}.ra-seg:has(input:checked){background:color-mix(in srgb,var(--a-acc) 14%,transparent);font-weight:600}
/* screen sub-pages (list / papers / all papers) */
.ra-subviews{margin:2px 0 0}
/* compact category tiles with a small picture */
.ra-shell .ra-fleet-tiles{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;margin:0 0 10px}
.ra-shell .ra-fleet-tile{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;min-height:0}
.ra-shell .ra-fleet-name{display:grid;gap:0;min-width:0;flex:1}
.ra-shell .ra-fleet-name b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ra-shell .ra-fleet-name small{font-size:12px;color:var(--a-dim);white-space:nowrap}
.ra-shell .ra-fleet-count{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.ra-eq-icon{flex:none;display:block}
.ra-eq-icon .y{fill:#f4b63a}.ra-eq-icon .o{fill:#e7865a}.ra-eq-icon .t{fill:#58b4d8}.ra-eq-icon .b{fill:#3b7dc6}
.ra-eq-icon .w{fill:#d9f1fb}.ra-eq-icon .d{fill:#3a3f47}.ra-eq-icon .g{fill:#c3c9d0}
.ra-eq-icon .l{fill:none;stroke:#3a3f47;stroke-width:1}
.ra-eq-icon .lb{fill:none;stroke:#d9971f;stroke-width:1.7;stroke-linecap:round}
.ra-eq-icon .lt{fill:none;stroke:#d9971f;stroke-width:.9;stroke-linejoin:round}
.ra-eq-icon .yb{fill:none;stroke:#f4b63a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ra-eq-icon .ybar{fill:none;stroke:#f4b63a;stroke-width:3.2;stroke-linecap:round}
.ra-eq-icon .frame{fill:none;stroke:#3a3f47;stroke-width:1.7;stroke-linejoin:round}
.ra-eq-icon .band{stroke:#3b93b8;stroke-width:1.1}.ra-eq-icon .rib{stroke:#c96a42;stroke-width:1.1}
.ra-eq-icon .stripe{stroke:#3a3f47;stroke-width:1.2}
.ra-type-cell{display:flex;align-items:center;gap:6px;min-width:0}.ra-type-cell>span{min-width:0;overflow:hidden}
.ra-entity-head>.ra-eq-icon{align-self:center}
.ra-shell table.ra-coltable td .ra-rate-mark{display:block;width:max-content;margin:2px 0 0 auto}
/* maintenance */
.ra-inline-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.ra-inline-form input,.ra-inline-form select{min-width:0}
.ra-maint-config{margin-top:8px}
.ra-ticket h4{margin:14px 0 6px;font-size:13px}
.ra-sign-pad{display:block;width:100%;max-width:560px;height:160px;border:1px dashed var(--a-line);border-radius:10px;background:#fff;touch-action:none}
.ra-sign-img{max-width:280px;border:1px solid var(--a-line);border-radius:8px;background:#fff}
.ra-ok{color:var(--a-ok,#1e8449)}

/* 进场单: units on the left, the checklist on the right (stacked on narrow screens). */
.ra-mob-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
@media (max-width:1100px){.ra-mob-grid{grid-template-columns:minmax(0,1fr)}}
.ra-mob-steps{list-style:none;margin:0;padding:0}
.ra-mob-steps li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:9px 0;border-bottom:1px solid var(--a-line)}
.ra-mob-steps li b{flex:1 1 100%}
.ra-mob-steps li small{color:var(--a-dim)}
.ra-mob-steps li.done b{color:var(--a-dim);font-weight:500}
.ra-mob-steps li.active b{color:var(--a-acc)}
/* One bar per unit on the 进场单: each step a short segment, coloured by state. */
.ra-unit-bar{display:flex;gap:3px;list-style:none;margin:0;padding:0;min-width:300px}
.ra-unit-bar li{flex:1;padding:3px 4px;border-radius:4px;background:var(--a-surface);color:var(--a-dim);font-size:11px;text-align:center;white-space:nowrap}
.ra-unit-bar li.done{background:var(--a-ok-bg);color:var(--a-ok)}
.ra-unit-bar li.active{background:var(--a-wait-bg);color:var(--a-wait)}
.ra-unit-bar li.blocked{background:var(--a-bad-bg);color:var(--a-bad)}

.ra-mob-pick{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}

/* 全部证件表: plate on the left, hiring company right-aligned on the same line. */
.ra-name-line{display:flex;align-items:baseline;gap:8px;min-width:0}
.ra-name-line .ra-link{flex:none}
.ra-name-side{margin-left:auto;color:var(--a-dim);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;text-align:right}
.ra-mcol-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ra-mcol-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--a-line)}
.ra-mcol-list li span button{min-width:28px}


/* Three versions of a day: amber frame = the versions differ, red frame = someone still has to decide. */
.ra-shell .ra-hcell.ra-vdiff{box-shadow:inset 0 0 0 2px var(--a-wait)}
.ra-shell .ra-hcell.ra-vflag{box-shadow:inset 0 0 0 2px var(--a-bad);font-weight:700}
.ra-shell tr.ra-row-flag td{background:color-mix(in srgb,var(--a-bad-bg) 55%,transparent)}

/* 月结进度 bars. */
.ra-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.ra-progress{display:inline-block;vertical-align:middle;width:120px;height:8px;border-radius:99px;background:var(--a-surface);overflow:hidden;margin-right:6px}
.ra-progress i{display:block;height:100%;background:var(--a-ok)}


.ra-ph-read { margin: 8px 0; }
.ra-ph-read ul { margin: 4px 0 0 18px; }
.ra-ph-fix { width: 5em; text-align: right; }

/* 工时单 steps: one row of buttons above every 工时单 page, each with what is still open there. */
.ra-ts-steps{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;margin:0 0 12px}
.ra-ts-step{display:flex;flex-direction:column;gap:2px;min-width:118px;flex:1 1 118px;text-align:left;padding:7px 10px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-bg);color:var(--a-fg);font:inherit;cursor:pointer;border-top-width:3px}
.ra-ts-step b{font-size:13px;font-weight:600}.ra-ts-step small{font-size:11px;color:var(--a-dim)}
.ra-ts-step.ok{border-top-color:var(--a-ok)}.ra-ts-step.wait{border-top-color:var(--a-wait)}.ra-ts-step.bad{border-top-color:var(--a-bad)}.ra-ts-step.none{border-top-color:var(--a-line)}
.ra-ts-step.wait small{color:var(--a-wait)}.ra-ts-step.bad small{color:var(--a-bad)}
.ra-ts-step:hover{background:var(--a-surface)}
.ra-ts-step[aria-current="step"]{box-shadow:0 0 0 2px var(--a-acc);font-weight:600}
.ra-ts-month{align-self:center;font-size:12px;color:var(--a-dim);padding:0 4px}
@media (max-width:700px){.ra-ts-step{min-width:calc(50% - 6px)}}

/* 工时单 view: quiet panels, one toolbar, compact unit column, calendar shading, corner marks, month-end cards. */
.ra-quiet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}
.ra-quiet-head:empty{display:none}
.ra-help{position:relative;flex:none}
.ra-help>summary{list-style:none;cursor:pointer;width:22px;height:22px;border-radius:50%;border:1px solid var(--a-line);display:grid;place-items:center;font-size:12px;color:var(--a-dim);background:var(--a-surface)}
.ra-help>summary::-webkit-details-marker{display:none}
.ra-help[open]>summary{color:var(--a-fg);border-color:var(--a-acc)}
.ra-help>p{position:absolute;right:0;top:28px;z-index:20;width:min(420px,80vw);margin:0;padding:10px 12px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-bg);color:var(--a-fg);font-size:12px;line-height:1.6;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.ra-menu{position:relative}
.ra-menu>summary{list-style:none;cursor:pointer;padding:4px 10px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-bg);font-size:12px}
.ra-menu>summary::-webkit-details-marker{display:none}
.ra-menu>div{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:grid;gap:6px;min-width:240px;padding:10px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-bg);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.ra-sheet-tools{row-gap:6px}
.ra-shell .ra-matrix .ra-unit-cell{min-width:150px;max-width:210px;white-space:normal}
.ra-shell .ra-matrix .ra-unit-cell small{display:block;font-size:10px;line-height:1.35;color:var(--a-dim);white-space:normal}
.ra-shell .ra-hours th.we,.ra-hcell.empty.we{background:color-mix(in srgb,var(--a-surface) 70%,var(--a-line))}
.ra-hcell.we:not(.empty){filter:saturate(.75)}
.ra-shell .ra-hours th.today{color:var(--a-acc);box-shadow:inset 0 -3px var(--a-acc)}
.ra-hcell.today{box-shadow:inset 2px 0 var(--a-acc),inset -2px 0 var(--a-acc)}
.ra-shell .ra-hcell.ra-vdiff,.ra-shell .ra-hcell.ra-vflag{box-shadow:none;position:relative}
.ra-shell .ra-hcell.ra-vdiff::after,.ra-shell .ra-hcell.ra-vflag::after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--a-wait)}
.ra-shell .ra-hcell.ra-vflag::after{background:var(--a-bad);width:7px;height:7px}
.ra-close-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:0 0 12px}
.ra-close-card{border:1px solid var(--a-line);border-radius:10px;padding:10px 12px;background:var(--a-bg);display:grid;gap:6px;min-width:0}
.ra-close-card>header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;min-width:0}
.ra-close-card>header .ra-link{white-space:normal;text-align:left;font-weight:600}
.ra-close-card>header small{color:var(--a-dim);white-space:nowrap}
.ra-close-bar{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--a-dim)}
.ra-close-bar .ra-progress{flex:1;width:auto;height:10px}
.ra-quiet{position:relative}.ra-has-corner{padding-right:44px}
.ra-panel-title{display:flex;align-items:center;gap:8px}.ra-panel-title .ra-help>p{left:0;right:auto}
.ra-help-corner{position:absolute;top:10px;right:12px;z-index:5}
.ra-filters select{max-width:220px}

/* Unit hours card: one bar per day. */
.ra-dbars{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px;align-items:end;height:110px;padding:8px 4px 0;margin:0 0 10px;border-bottom:1px solid var(--a-line)}
.ra-dbar{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;height:100%;min-width:0;padding:0;border:0;background:transparent;font:inherit;cursor:pointer;position:relative}
.ra-dbar i{display:block;border-radius:3px 3px 0 0;background:var(--a-dim)}
.ra-dbar.ok i{background:var(--a-ok)}.ra-dbar.wait i{background:var(--a-wait)}.ra-dbar.bad i{background:var(--a-bad)}
.ra-dbar small{font-size:9px;color:var(--a-dim);text-align:center;line-height:14px}
.ra-dbar.we{background:color-mix(in srgb,var(--a-surface) 70%,transparent)}
.ra-dbar.today small{color:var(--a-acc);font-weight:700}
.ra-dbar.empty{cursor:default}
.ra-dbar.flag::after,.ra-dbar.diff::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--a-wait)}
.ra-dbar.flag::after{background:var(--a-bad)}
.ra-dbar:hover i{filter:brightness(1.1)}

/* 本页重点: the page's message, key numbers and main button, then 上一步 / 下一步 at the bottom. */
.ra-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;padding:14px 16px;border:1px solid var(--a-line);border-left:5px solid var(--a-line);border-radius:10px;background:var(--a-bg)}
.ra-hero.ok{border-left-color:var(--a-ok)}.ra-hero.wait{border-left-color:var(--a-wait)}.ra-hero.bad{border-left-color:var(--a-bad)}
.ra-hero-main{display:grid;gap:8px;min-width:0;flex:1 1 420px}
.ra-hero-kicker{font-size:11px;letter-spacing:.06em;color:var(--a-dim)}
.ra-hero-say{font-size:18px;line-height:1.35;font-weight:700;color:var(--a-fg)}
.ra-hero.bad .ra-hero-say{color:var(--a-bad)}
.ra-hero-kpis{display:flex;flex-wrap:wrap;gap:8px}
.ra-hero-kpi{display:grid;gap:1px;min-width:104px;padding:6px 12px;border-radius:8px;background:var(--a-surface)}
.ra-hero-kpi span{font-size:11px;color:var(--a-dim)}.ra-hero-kpi b{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.2}.ra-hero-kpi small{font-size:11px;color:var(--a-dim)}
.ra-hero-kpi.ok b{color:var(--a-ok)}.ra-hero-kpi.wait b{color:var(--a-wait)}.ra-hero-kpi.bad b{color:var(--a-bad)}
.ra-hero-kpi.v-client{box-shadow:inset 3px 0 #2f6fd6}.ra-hero-kpi.v-ours{box-shadow:inset 3px 0 var(--a-acc)}.ra-hero-kpi.v-supplier{box-shadow:inset 3px 0 #7a4fc4}
.ra-hero-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ra-shell .ra-hero-primary{font-size:15px;padding:10px 18px;border-radius:8px;font-weight:600}
.ra-shell .ra-hero-primary:disabled{opacity:.5}
.ra-hero-go{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:8px;border:1px solid var(--a-acc);background:transparent;color:var(--a-acc);cursor:pointer}
.ra-hero-go:hover{background:var(--a-surface)}
.ra-ts-next{display:flex;justify-content:space-between;gap:10px;margin:14px 0 4px;padding-top:12px;border-top:1px dashed var(--a-line)}
.ra-ts-next button{font:inherit;font-size:13px;padding:8px 14px;border-radius:8px;border:1px solid var(--a-line);background:var(--a-bg);color:var(--a-fg);cursor:pointer}
.ra-ts-next .ra-ts-next-go{border-color:var(--a-acc);color:var(--a-acc);font-weight:600}
.ra-ts-next button:hover{background:var(--a-surface)}

/* AI 提示 inside 本页重点: the days the assistant would raise, each one click away. */
.ra-ai{flex:1 1 100%;display:grid;gap:4px;margin-top:4px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--a-acc) 8%,var(--a-bg));border:1px solid color-mix(in srgb,var(--a-acc) 30%,var(--a-line));font-size:13px}
.ra-ai>b{font-size:11px;letter-spacing:.06em;color:var(--a-acc)}
.ra-ai.ok{background:var(--a-surface);border-color:var(--a-line)}.ra-ai.ok>b{color:var(--a-ok)}
.ra-ai ul{margin:2px 0 0;padding-left:18px;display:grid;gap:2px}
.ra-ai small{color:var(--a-dim)}

/* AI 读手写工时单 at the end of the step bar; the one-day card opened from any cell. */
.ra-ts-ai{display:flex;flex-direction:column;gap:2px;min-width:150px;flex:1 1 150px;text-align:left;padding:7px 12px;border:1px solid var(--a-acc);border-top-width:3px;border-radius:8px;background:color-mix(in srgb,var(--a-acc) 10%,var(--a-bg));color:var(--a-fg);font:inherit;cursor:pointer}
.ra-ts-ai b{font-size:13px;color:var(--a-acc)}.ra-ts-ai small{font-size:11px;color:var(--a-dim)}
.ra-ts-ai:hover{background:color-mix(in srgb,var(--a-acc) 18%,var(--a-bg))}.ra-ts-ai:disabled{opacity:.55;cursor:default}
.ra-day-card{min-width:min(560px,90vw)}
.ra-day-status{margin:0 0 10px}
.ra-day-versions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.ra-day-v{flex:1 1 140px;display:grid;gap:2px;padding:8px 12px;border-radius:8px;background:var(--a-surface)}
.ra-day-v span{font-size:12px;color:var(--a-dim)}.ra-day-v b{font-size:24px;font-variant-numeric:tabular-nums}.ra-day-v small{font-size:11px;color:var(--a-dim)}
.ra-day-v.v-client{box-shadow:inset 4px 0 #2f6fd6}.ra-day-v.v-ours{box-shadow:inset 4px 0 var(--a-acc)}.ra-day-v.v-supplier{box-shadow:inset 4px 0 #7a4fc4}
.ra-day-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 12px;margin:0 0 10px;font-size:13px}
.ra-day-facts span{display:block;font-size:11px;color:var(--a-dim)}
.ra-day-history{margin:4px 0;padding-left:18px;font-size:12px;color:var(--a-dim)}
.ra-day-card footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:12px}

/* One month for all 工时单 pages, section heads inside merged pages, card tools, driver contact. */
.ra-ts-head{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.ra-ts-head small{color:var(--a-dim);font-size:12px}
.ra-ts-head select{font-weight:600}
.ra-section-head{margin:18px 0 8px;padding-top:12px;border-top:1px solid var(--a-line);font-size:15px}
.ra-close-tools{display:flex;gap:12px;padding-top:6px;border-top:1px dashed var(--a-line)}
.ra-driver-contact{display:block;font-size:11px}.ra-driver-contact a{color:var(--a-acc)}

.ra-close-bill{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}

.ra-ai-btn{border-color:var(--a-acc);color:var(--a-acc)}
.ra-ai-draft{display:grid;gap:4px;margin:8px 0;font-size:12px;color:var(--a-dim)}
.ra-ai-draft textarea{width:100%;font:inherit;font-size:13px;color:var(--a-fg);background:var(--a-bg);border:1px solid var(--a-line);border-radius:6px;padding:8px}

/* Phone daily report: three big status buttons, the rest folded away; the signed sheet photo first. */
.ra-phone-bigs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ra-phone-pick.ra-phone-big span{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:17px;font-weight:700}
.ra-phone-more{margin:8px 0;border:1px dashed var(--a-line);border-radius:8px;padding:6px 10px}
.ra-phone-more>summary{cursor:pointer;color:var(--a-dim);font-size:13px;padding:4px 0}
.ra-phone-shot-main{font-weight:700;border-color:var(--a-acc);color:var(--a-acc)}

/* 现场审核: day tabs, one card per unit, big confirm / return buttons; ✓ on site-confirmed days in the week. */
.ra-site-days{display:flex;gap:8px;margin:0 0 10px}
.ra-site-days button{flex:1;display:grid;gap:2px;padding:8px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-bg);color:var(--a-fg);font:inherit;font-weight:600;cursor:pointer}
.ra-site-days button small{font-weight:400;color:var(--a-dim)}.ra-site-days button[aria-pressed="true"]{border-color:var(--a-acc);box-shadow:inset 0 -3px var(--a-acc)}
.ra-site-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.ra-site-card{display:grid;gap:6px;padding:12px;border:1px solid var(--a-line);border-left:5px solid var(--a-line);border-radius:10px;background:var(--a-bg)}
.ra-site-card.odd,.ra-site-card.missing{border-left-color:var(--a-bad)}.ra-site-card.todo,.ra-site-card.returned{border-left-color:var(--a-wait)}.ra-site-card.ok{border-left-color:var(--a-ok);opacity:.85}
.ra-site-card header{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.ra-site-card header b{font-size:17px}.ra-site-card header small{flex:1 1 100%;color:var(--a-dim);font-size:12px}
.ra-site-driver{margin:0;font-size:13px}
.ra-site-hours{margin:0}.ra-site-hours b{font-size:26px;font-variant-numeric:tabular-nums}.ra-site-hours small{display:block;color:var(--a-dim);font-size:12px}
.ra-site-odd{margin:0;padding-left:18px;color:var(--a-bad);font-size:13px}
.ra-site-card footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ra-shell .ra-site-ok,.ra-site-back{min-height:44px;padding:8px 18px;font-size:15px;font-weight:600;border-radius:8px}
.ra-site-back{border:1px solid var(--a-wait);background:var(--a-bg);color:var(--a-wait);cursor:pointer;font-family:inherit}
.ra-hcell.sited{position:relative}.ra-hcell.sited::before{content:"✓";position:absolute;left:2px;top:0;font-size:9px;color:var(--a-ok)}

.ra-site-cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
@media (max-width:700px){.ra-hero-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ra-hero-kpi{min-width:0;padding:6px 8px}.ra-hero-kpi b{font-size:18px}}

/* 归档 / 删除 buttons and the 资料库 grouped by kind. */
.ra-lc-btn{font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-bg);color:var(--a-dim);cursor:pointer}
.ra-lc-btn:hover{color:var(--a-fg);border-color:var(--a-dim)}
.ra-lc-delete{color:var(--a-bad)!important;border-color:color-mix(in srgb,var(--a-bad) 40%,var(--a-line))!important}
.ra-archived-toggle{margin-left:8px}
.ra-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px;margin-top:10px}
.ra-lib-kind{border:1px solid var(--a-line);border-radius:8px;padding:8px 10px;background:var(--a-bg)}
.ra-lib-kind>header{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.ra-lib-kind>header small{color:var(--a-dim)}

.ra-dup-group{border:1px solid var(--a-line);border-radius:8px;padding:8px 12px;margin:8px 0}.ra-dup-group h4{margin:0 0 6px}
.ra-dup-row{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.ra-dup-row small{display:block;color:var(--a-dim);font-size:11px}
.ra-dup-group footer{display:flex;justify-content:flex-end;margin-top:6px}

/* 机修手机页: the next step as big buttons. */
.ra-mech-actions .ra-actions button,.ra-mech-actions button.ra-new{min-height:44px;padding:8px 14px;font-size:14px}
.ra-drop-small{padding:10px}

.ra-quiet-head>div{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}

/* 上线检查 */
.ra-golive{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ra-golive-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--a-line);border-left:4px solid var(--a-line);border-radius:8px;background:var(--a-bg)}
.ra-golive-item>span{font-weight:700;width:18px;text-align:center}
.ra-golive-item.ok{border-left-color:var(--a-ok)}.ra-golive-item.ok>span{color:var(--a-ok)}
.ra-golive-item.wait{border-left-color:var(--a-wait)}.ra-golive-item.wait>span{color:var(--a-wait)}
.ra-golive-item.bad{border-left-color:var(--a-bad)}.ra-golive-item.bad>span{color:var(--a-bad)}
.ra-golive-item>div{flex:1;display:grid;gap:2px}.ra-golive-item small{color:var(--a-dim);font-size:12px}
.ra-renew-tools{display:flex;flex-wrap:wrap;gap:6px}
.ra-renew-table{width:100%;border-collapse:collapse}.ra-renew-table th,.ra-renew-table td{padding:6px 8px;border-bottom:1px solid var(--a-line);text-align:left;font-size:13px}.ra-renew-table td:first-child{width:28px}
/* PDF / Excel export pair: small and quiet beside the page's own actions */
.ra-export{display:inline-flex;align-items:center;gap:4px;margin:2px 6px 2px 0;vertical-align:middle;white-space:nowrap}.ra-export small{color:var(--a-dim);font-size:12px;font-weight:400}
.ra-export-btn{font-size:12px;line-height:1.2;padding:3px 8px;border-radius:6px;border:1px solid var(--a-line);background:var(--a-bg);color:var(--a-fg);cursor:pointer;font-weight:600}
.ra-export-btn.pdf{color:var(--a-bad);border-color:color-mix(in srgb,var(--a-bad) 35%,var(--a-line))}.ra-export-btn.xlsx{color:var(--a-ok);border-color:color-mix(in srgb,var(--a-ok) 35%,var(--a-line))}
.ra-export-btn:hover{background:var(--a-surface)}.ra-export-btn:focus-visible{outline:2px solid var(--a-wait);outline-offset:1px}
h3 .ra-export,h4 .ra-export{margin-left:8px}
/* A need's way from request to hours: five small steps */
.ra-need-loop{display:flex;gap:2px;list-style:none;margin:4px 0;padding:0}.ra-need-loop li{flex:1;min-width:0;padding:1px 4px;font-size:12px;color:var(--a-dim);background:var(--a-surface);border-radius:3px;white-space:nowrap;text-align:center}
.ra-need-loop li.done{background:var(--a-ok-bg);color:var(--a-ok)}.ra-need-loop li.next{background:var(--a-wait-bg);color:var(--a-wait);font-weight:600}
/* Project timeline and worklist */
.ra-timeline{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:2px solid var(--a-line)}.ra-timeline li{position:relative;padding:4px 0 4px 8px;font-size:13px}
.ra-timeline li::before{content:'';position:absolute;left:-19px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--a-line)}.ra-timeline li.next::before{background:var(--a-wait)}
.ra-timeline time{display:inline-block;min-width:88px;color:var(--a-dim);font-variant-numeric:tabular-nums}.ra-timeline li.past{color:var(--a-dim)}
/* 车与司机: a card per unit, the day and the night driver side by side. */
.ra-crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px;margin-bottom:10px}
.ra-crew-unit{border:1px solid var(--a-line);border-radius:8px;background:var(--a-bg);overflow:hidden}
.ra-crew-unit>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:var(--a-surface);border-bottom:1px solid var(--a-line)}
.ra-crew-unit>header .ra-chip{white-space:nowrap}.ra-crew-unit>header small{margin-left:8px;color:var(--a-dim);font-weight:400}
.ra-crew-shifts{display:grid;grid-template-columns:1fr 1fr}
.ra-crew-slot{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-left:3px solid var(--a-ok);min-width:0}
.ra-crew-slot+.ra-crew-slot{border-left-width:3px;box-shadow:inset 1px 0 0 var(--a-line)}
.ra-crew-slot.wait{border-left-color:var(--a-wait)}.ra-crew-slot.bad{border-left-color:var(--a-bad);background:var(--a-bad-bg)}.ra-crew-slot.off{border-left-color:var(--a-line);color:var(--a-dim)}
.ra-crew-label{font-size:12px;color:var(--a-dim);font-weight:600}.ra-crew-slot small{color:var(--a-dim)}
.ra-crew-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.ra-crew{grid-template-columns:1fr}.ra-crew-shifts{grid-template-columns:1fr}}
/* Project pages: one line of tabs that scrolls instead of wrapping, the job's steps split from its records. */
.ra-project-tabs{flex-wrap:wrap;gap:4px;padding-bottom:8px}.ra-project-tabs button{white-space:nowrap;flex:none;padding:6px 12px;border:1px solid var(--a-line);border-radius:999px}
.ra-project-tabs button[aria-selected="true"]{background:var(--a-fg);border-color:var(--a-fg);color:var(--a-bg);margin-bottom:0}
.ra-project-tabs .ra-tab-split{margin-left:14px;position:relative}.ra-project-tabs .ra-tab-split::before{content:'';position:absolute;left:-10px;top:6px;bottom:6px;border-left:1px solid var(--a-line)}
.ra-worklist li>.ra-link{flex:none;width:auto;margin:0;padding:2px 6px;border:0;background:none;color:var(--a-acc);font-weight:600;white-space:nowrap}
.ra-project-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px;align-items:start}
.ra-project-grid>aside{padding:2px 14px 10px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-surface)}
@media (max-width:960px){.ra-project-grid{grid-template-columns:1fr}}
.ra-supply table td:last-child>div{display:flex;gap:4px;align-items:center;flex-wrap:wrap;white-space:nowrap}.ra-supply table td:last-child>div+div{margin-top:4px}
.ra-supply table td:last-child>div>small{color:var(--a-dim);width:1.2em}
.ra-supply table td small{display:block;white-space:nowrap}.ra-supply table .ra-chip{white-space:nowrap}
.ra-supply-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0 0 4px;padding:0;position:sticky;top:0;z-index:2;background:var(--a-bg);padding-bottom:6px}
.ra-supply-steps button{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border:1px solid var(--a-line);border-left:4px solid var(--a-line);border-radius:6px;background:var(--a-bg);color:var(--a-fg);text-align:left;cursor:pointer;font:inherit}
.ra-supply-steps button span:last-child{display:grid;min-width:0}.ra-supply-steps small{color:var(--a-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ra-supply-steps li.ok button{border-left-color:var(--a-ok)}.ra-supply-steps li.wait button{border-left-color:var(--a-wait)}.ra-supply-steps li.bad button{border-left-color:var(--a-bad)}.ra-supply-steps li.bad small{color:var(--a-bad)}
.ra-supply-steps li.current button{background:var(--a-surface);border-color:var(--a-acc)}
.ra-step-no{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--a-fg);color:var(--a-bg);font-size:12px;font-weight:700}
.ra-supply{margin-top:14px;padding-top:12px;border-top:1px solid var(--a-line);scroll-margin-top:72px}
.ra-supply-title{display:flex;gap:8px;align-items:center;margin:0 0 8px;font-size:15px}
@media (max-width:720px){.ra-supply-steps{grid-template-columns:1fr;position:static}}
.ra-worklist li{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
