/* Lean portal shell (see docs/LIVE_R5_SHELL_LOCK.md) — does not load the R5
   payload; --rp-* below are local mirrors snapped to the nearest exact
   dashboard/static/vnext/r5/css/tokens.css value: ink=r5-neutral-950,
   muted=r5-neutral-600, green=r5-brand-800, green-2=r5-brand-600,
   mint=r5-brand-100, line=r5-neutral-200, bg=r5-neutral-50,
   amber=r5-gold-700 (exact), amber-bg=r5-gold-100, red=r5-danger-700. */
:root{--rp-ink:#10211A;--rp-muted:#5D6D65;--rp-green:#10503F;--rp-green-2:#18785C;--rp-mint:#DFF3EA;--rp-line:#DDE5E1;--rp-bg:#F7F9F8;--rp-white:#fff;--rp-amber:#9b6a08;--rp-amber-bg:#F8EAC4;--rp-red:#A92D2D;--rp-shadow:0 18px 50px rgba(7,58,43,.09);font-family:Vazirmatn,Tahoma,Arial,sans-serif}*{box-sizing:border-box}body.nf-v73-portal{margin:0;background:radial-gradient(circle at top right,#e1f2e9 0,transparent 30%),var(--rp-bg);color:var(--rp-ink);font-size:14px;min-height:100vh}.rp-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:10px max(18px,calc((100vw - 1160px)/2));background:rgba(255,255,255,.92);border-bottom:1px solid rgba(220,231,225,.9);backdrop-filter:blur(18px)}.rp-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.rp-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--rp-green-2),var(--rp-green));color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(7,92,67,.2)}.rp-brand>span:last-child,.rp-user{display:grid}.rp-brand strong{font-size:16px}.rp-brand small,.rp-user small{color:var(--rp-muted);font-size:11px}.rp-user{text-align:left}.rp-shell{width:min(1160px,calc(100% - 28px));margin:24px auto 64px}.rp-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px;border:1px solid #cfe3d9;border-radius:28px;background:linear-gradient(135deg,#fff 0,#edf8f2 100%);box-shadow:var(--rp-shadow)}.rp-hero h1{margin:4px 0 8px;font-size:clamp(24px,4vw,38px);letter-spacing:-.5px}.rp-hero p{max-width:680px;margin:0;color:var(--rp-muted);line-height:1.9}.rp-kicker{display:block;color:var(--rp-green-2);font-size:11px;font-weight:850;letter-spacing:.4px}.rp-role-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border-radius:999px;background:var(--rp-green);color:#fff;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.rp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.rp-metrics article{display:grid;gap:3px;padding:18px;border:1px solid var(--rp-line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(7,58,43,.05)}.rp-metrics span{color:var(--rp-muted);font-size:12px}.rp-metrics strong{font-size:26px}.rp-card{padding:20px;border:1px solid var(--rp-line);border-radius:22px;background:#fff;box-shadow:0 10px 34px rgba(7,58,43,.055)}.rp-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.rp-card h2,.rp-card h3{margin:3px 0}.rp-card h2{font-size:19px}.rp-card h3{font-size:16px}.rp-card code{direction:ltr;display:inline-block;color:var(--rp-green);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.rp-score{display:grid;place-items:center;min-width:62px;height:62px;border-radius:19px;background:var(--rp-green);color:#fff;font-size:24px}.rp-trust-card{margin:16px 0}.rp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.rp-trust-grid article,.rp-facts span{display:grid;gap:3px;padding:11px;border-radius:14px;background:#f3f7f5}.rp-trust-grid span,.rp-facts small{color:var(--rp-muted);font-size:10px}.rp-trust-grid b,.rp-facts b{font-size:13px;overflow-wrap:anywhere}.rp-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 2px 12px}.rp-section-head h2{margin:3px 0 0;font-size:21px}.rp-section-head>a,.rp-section-head>span{color:var(--rp-green);font-size:12px;font-weight:800}.rp-list{display:grid;gap:13px}.rp-task.is-attention{border-color:#e3ca89;background:linear-gradient(135deg,#fff,#fffaf0)}.rp-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef3f0;color:#4e625a;font-size:10px;font-weight:800}.rp-status--submitted,.rp-status--published,.rp-status--published_to_buyers,.rp-status--completed,.rp-status--approved{background:#dff3e8;color:#096541}.rp-status--needs_correction{background:var(--rp-amber-bg);color:var(--rp-amber)}.rp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.rp-alert{margin:12px 0 0;padding:11px;border-radius:13px;background:var(--rp-amber-bg);color:var(--rp-amber);line-height:1.7}.rp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.rp-primary,.rp-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:0;border-radius:13px;text-decoration:none;font-weight:850;font-size:12px;cursor:pointer}.rp-primary{background:var(--rp-green);color:#fff}.rp-secondary{border:1px solid #a9cbbc;background:var(--rp-mint);color:var(--rp-green)}.rp-disabled{padding:10px;color:var(--rp-muted);font-size:11px}.rp-empty{grid-column:1/-1;padding:38px 20px;border:1px dashed #adc8bc;border-radius:22px;background:#fff;text-align:center}.rp-empty strong{font-size:18px}.rp-empty p{color:var(--rp-muted)}.rp-qr-panel{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:center;margin-top:15px;padding:14px;border-radius:18px;background:#f1f7f4}.rp-qr-panel img{width:132px;height:132px;border-radius:14px;background:#fff;object-fit:contain}.rp-qr-panel>div{display:grid;gap:6px}.rp-qr-panel small{color:var(--rp-muted)}.rp-disclosure{margin-top:14px}.rp-disclosure summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:850}.rp-ledger{display:grid;gap:0;margin-top:12px;border-top:1px solid var(--rp-line)}.rp-ledger article{display:grid;grid-template-columns:130px 1fr auto auto;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--rp-line)}.rp-ledger small{color:var(--rp-muted)}.rp-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.rp-market-card p{margin:4px 0;color:var(--rp-muted)}/*Mission I I_PREEXISTING_BUG_FIX: .rp-honeypot uses left:-10000px to hide it from sighted users; without a positioned ancestor that offset escaped to the document root and blew out scrollWidth by 10000px on every .rp-form page (public_inquiry.html) - position:relative here contains it, zero other visual effect.*/.rp-form{margin-top:18px;position:relative}.rp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rp-form label{display:grid;gap:6px}.rp-form label>span{font-size:12px;font-weight:800}.rp-form input,.rp-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #cddbd5;border-radius:13px;background:#fff;color:var(--rp-ink);font:inherit;outline:none}.rp-form textarea{min-height:100px;resize:vertical}.rp-form input:focus,.rp-form textarea:focus{border-color:var(--rp-green-2);box-shadow:0 0 0 3px rgba(12,123,88,.12)}.rp-span-2{grid-column:1/-1}.rp-submit{width:100%;margin-top:16px}.rp-form-note{display:block;margin-top:10px;color:var(--rp-muted);text-align:center}/*Mission I I_PREEXISTING_BUG_FIX: left:-10000px had no positioned ancestor to contain it (this class is used standalone, not nested in anything with position set), so the offset escaped to the document root and inflated document.documentElement.scrollWidth by 10000px on every page using it (public_inquiry.html) - a real, severe mobile layout defect (confirmed via computed scrollWidth, not just visual review). width:1px;height:1px;overflow:hidden already fully hides this element from sighted users without needing any offset at all - the standard accessible-but-invisible honeypot pattern.*/.rp-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.rp-success{max-width:660px;margin:20px auto;text-align:center}.rp-success>strong{font-size:24px;color:var(--rp-green)}.rp-flashes{display:grid;gap:8px;margin-bottom:14px}.rp-flash{padding:12px 15px;border-radius:14px;background:#edf3f0}.rp-flash--success{background:#dff3e8;color:#096541}.rp-flash--danger{background:#fbe8e8;color:var(--rp-red)}.rp-footer{display:grid;justify-items:center;gap:5px;padding:30px;color:var(--rp-muted);text-align:center}.rp-footer span{font-weight:900;color:var(--rp-green)}
@media(max-width:760px){.rp-topbar{min-height:62px;padding:8px 12px}.rp-user{display:none}.rp-shell{width:calc(100% - 18px);margin-top:10px}.rp-hero{padding:20px;border-radius:22px}.rp-hero{display:grid}.rp-role-badge{justify-self:start}.rp-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.rp-metrics article{padding:13px;border-radius:16px}.rp-metrics strong{font-size:22px}.rp-card{padding:15px;border-radius:18px}.rp-trust-grid{grid-template-columns:repeat(2,1fr)}.rp-facts{grid-template-columns:repeat(2,1fr)}.rp-market-grid{grid-template-columns:1fr}.rp-qr-panel{grid-template-columns:92px 1fr;gap:11px}.rp-qr-panel img{width:92px;height:92px}.rp-ledger article{grid-template-columns:1fr auto}.rp-ledger article code,.rp-ledger article small{grid-column:auto}.rp-form-grid{grid-template-columns:1fr}.rp-span-2{grid-column:auto}}
@media(max-width:390px){.rp-brand small{display:none}.rp-hero h1{font-size:24px}.rp-card>header{display:grid}.rp-status{justify-self:start}.rp-qr-panel{grid-template-columns:1fr}.rp-qr-panel img{width:150px;height:150px;margin:auto}.rp-actions{display:grid}.rp-actions a{width:100%}}
.rp-skip{position:fixed;inset-inline-start:12px;top:-80px;z-index:1000;padding:10px 14px;border-radius:12px;background:#fff;color:var(--rp-green);box-shadow:var(--rp-shadow);font-weight:800}.rp-skip:focus{top:10px}.rp-topbar-actions{display:flex;align-items:center;gap:12px}.rp-language{display:flex;padding:3px;border:1px solid var(--rp-line);border-radius:999px;background:#f5f8f6}.rp-language a{display:grid;place-items:center;min-width:34px;min-height:30px;padding:4px 8px;border-radius:999px;color:var(--rp-muted);text-decoration:none;font-size:11px;font-weight:900}.rp-language a.is-active{background:var(--rp-green);color:#fff}.rp-lang-en{font-family:Inter,Arial,sans-serif}.rp-lang-en .rp-user{text-align:right}.rp-lang-en .rp-card code,.rp-lang-en code{direction:ltr}.rp-lang-en .rp-ledger article{direction:ltr}.rp-primary:focus-visible,.rp-secondary:focus-visible,.rp-language a:focus-visible,.rp-form input:focus-visible,.rp-form textarea:focus-visible{outline:3px solid rgba(12,123,88,.28);outline-offset:2px}@media(max-width:760px){.rp-topbar-actions{gap:7px}.rp-language a{min-width:30px}.rp-user{display:none}}
.rp-owner-flow-list{display:grid;gap:12px;margin-top:14px}.rp-owner-flow{padding:14px;border:1px solid var(--rp-line);border-radius:17px;background:#fbfdfc}.rp-owner-flow>header{display:flex;justify-content:space-between;gap:10px}.rp-owner-flow>header>div{display:grid;gap:4px}.rp-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.rp-flow-steps span{display:grid;gap:3px;min-height:66px;padding:10px;border-radius:13px;background:#edf2ef;color:var(--rp-muted)}.rp-flow-steps span.is-done{background:#e4f4eb;color:#0a6442}.rp-flow-steps span.is-current{background:var(--rp-amber-bg);color:var(--rp-amber)}.rp-flow-steps b{font-size:11px}.rp-flow-steps small{font-size:10px;overflow-wrap:anywhere}@media(max-width:650px){.rp-flow-steps{grid-template-columns:repeat(2,1fr)}}
.rp-muted-note{color:var(--rp-muted);line-height:1.8}
.rp-submit{min-height:48px}

/* Low-literacy / mobile-first owner quick intake */
.rp-quick-intake,.rp-owner-home,.rp-load-boost{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.rp-quick-hero{margin:0 0 16px;padding:18px 16px;border-radius:22px;background:linear-gradient(160deg,#0d3b30 0%,#147a57 70%,#1a9a6c 100%);color:#fff;box-shadow:0 14px 36px rgba(7,58,43,.22)}
.rp-quick-hero h1{margin:6px 0 8px;font-size:clamp(22px,6vw,30px);line-height:1.35;letter-spacing:-.3px}
.rp-quick-hero p{margin:0;opacity:.92;line-height:1.7;font-size:14px}
.rp-quick-kicker{margin:0;font-size:12px;font-weight:850;letter-spacing:.3px;opacity:.85}
.rp-quick-hero .rp-primary{margin-top:14px;background:#fff;color:#0d3b30}
.rp-quick-hero--home .rp-primary{display:inline-flex;width:100%;min-height:52px;font-size:16px}
.rp-endowed{margin-top:14px}
.rp-endowed__bar{display:block;height:10px;border-radius:999px;background:rgba(255,255,255,.25);overflow:hidden}
.rp-endowed__bar>i{display:block;height:100%;border-radius:inherit;background:#f6d36b}
.rp-endowed small{display:block;margin-top:6px;font-size:11px;opacity:.85}
.rp-quick-form{display:grid;gap:14px}
.rp-chip-field{margin:0;padding:0;border:0}
.rp-chip-field legend{margin-bottom:8px;font-size:14px;font-weight:900}
.rp-chips{display:flex;flex-wrap:wrap;gap:8px}
.rp-chip{min-height:48px;padding:10px 14px;border:1px solid #c5d9cf;border-radius:16px;background:#fff;color:var(--rp-ink);font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.rp-chip.is-on{border-color:var(--rp-green);background:var(--rp-green);color:#fff;box-shadow:0 8px 18px rgba(7,92,67,.18)}
.rp-chips--amount .rp-chip{flex:1 1 calc(50% - 8px);text-align:center}
.rp-amount-other{display:grid;gap:6px;margin-top:10px}
.rp-amount-other input,.rp-more input,.rp-more textarea{width:100%;min-height:48px;padding:12px;border:1px solid #cddbd5;border-radius:14px;font:inherit;font-size:16px}
.rp-more{border:1px solid var(--rp-line);border-radius:16px;background:#fff;padding:4px 12px}
.rp-more summary{min-height:48px;display:flex;align-items:center;font-weight:850;cursor:pointer}
.rp-more label{display:grid;gap:6px;margin:10px 0}
.rp-touch{min-height:52px!important;font-size:16px!important;border-radius:16px!important}
.rp-sticky-submit{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;width:100%;box-shadow:0 10px 30px rgba(7,58,43,.28)}
.rp-quick-success{text-align:center;padding:28px 16px;border-radius:24px;background:#fff;border:1px solid #cfe3d9}
.rp-quick-success__mark{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--rp-green);color:#fff;font-size:32px;font-weight:900}
.rp-persuade{color:var(--rp-amber);font-weight:750}
.rp-quick-actions{display:grid;gap:10px;margin-top:18px}
.rp-persuade-banner{margin:0 0 14px;padding:14px 16px;border-radius:18px;background:var(--rp-amber-bg);color:var(--rp-amber)}
.rp-persuade-banner strong{display:block;margin-bottom:4px}
.rp-metrics--compact{grid-template-columns:repeat(2,1fr)}
.rp-load-list{display:grid;gap:12px}
.rp-load-card{padding:16px;border:1px solid var(--rp-line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(7,58,43,.05)}
.rp-load-card.is-attention{border-color:#e3ca89;background:linear-gradient(180deg,#fffaf0,#fff)}
.rp-load-card>header{display:flex;justify-content:space-between;gap:10px}
.rp-load-card h3{margin:4px 0;font-size:17px}
.rp-load-card p{margin:0;color:var(--rp-muted)}
.rp-progress{height:12px;border-radius:999px;background:#e6eee9;overflow:hidden;margin-top:12px}
.rp-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0c7b58,#19a56f)}
.rp-progress-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px}
.rp-progress-meta small{color:var(--rp-muted);text-align:left}
.rp-flow-steps--mini{grid-template-columns:repeat(4,1fr);gap:6px}
.rp-flow-steps--mini span{min-height:44px;place-items:center;text-align:center}
.rp-upload-big{display:grid;gap:6px;justify-items:center;padding:22px 14px;border:2px dashed #a9cbbc;border-radius:18px;background:#f3faf6;text-align:center;cursor:pointer}
.rp-upload-big input{width:100%}
.rp-upload-big strong{font-size:16px}
.rp-checklist{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--rp-line);margin-bottom:14px}
.rp-checklist h2{margin:0 0 10px;font-size:16px}
.rp-checklist ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.rp-checklist li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.6}
.rp-back{display:inline-flex;margin-bottom:10px;color:#d9ffe9;text-decoration:none;font-weight:800}
.rp-rep-nudge{margin:0 0 14px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fff5d9,#fff);border:1px solid #e3ca89;color:#7a5400}
.rp-rep-nudge strong{display:block;margin-bottom:4px}
@media(max-width:760px){
  .rp-chip{font-size:15px}
  .rp-load-card>header{display:grid}
  .rp-status{justify-self:start}
}

/* radio chips: no-JS selection */
.rp-chip-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;clip:rect(0,0,0,0)}
.rp-chips{position:relative}
label.rp-chip{display:inline-flex;align-items:center;justify-content:center;user-select:none;-webkit-tap-highlight-color:transparent}
.rp-chip-input:focus-visible + label.rp-chip{outline:3px solid rgba(12,123,88,.35);outline-offset:2px}
.rp-chip-input:checked + label.rp-chip{border-color:var(--rp-green);background:var(--rp-green);color:#fff;box-shadow:0 8px 18px rgba(7,92,67,.18)}
.rp-form-note.is-error{color:#a13737;font-weight:800}
.rp-chips--amount .rp-chip-input + label.rp-chip{flex:1 1 calc(50% - 8px)}

/* in-page portal toast */
.rp-toast{display:grid;gap:4px;margin:0 0 14px;padding:14px 16px;border-radius:18px;border:1px solid #9ad4b8;background:linear-gradient(180deg,#e9f8ef,#dff3e8);color:#0d3b30;box-shadow:0 12px 28px rgba(7,58,43,.14);position:sticky;top:calc(8px + env(safe-area-inset-top,0px));z-index:40}
.rp-toast strong{font-size:16px;font-weight:900}
.rp-toast span{font-size:13px;line-height:1.6;opacity:.92}
.rp-toast--success{border-color:#7bc49d;background:linear-gradient(180deg,#e7f7ee,#d5f0e2)}
.rp-toast--danger{border-color:#e2a0a0;background:linear-gradient(180deg,#fff1f1,#ffe4e4);color:#7a1f1f}
.rp-toast.is-visible{animation:rp-toast-in .35s ease-out}
.rp-toast.is-leaving{opacity:0;transform:translateY(-10px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
@keyframes rp-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.rp-quick-success{border:2px solid #7bc49d;box-shadow:0 16px 36px rgba(7,92,67,.16)}

/* garden map picker */
.rp-map-card{display:grid;gap:10px;padding:14px;border:1px solid var(--rp-line);border-radius:18px;background:#fff}
.rp-map-card h2{margin:0;font-size:16px}
.rp-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rp-garden-map{width:100%;height:min(52vh,360px);min-height:240px;border-radius:16px;overflow:hidden;border:1px solid #c5d9cf;z-index:1;margin-top:.75rem}
.rp-garden-map .leaflet-container{font:inherit;width:100%;height:100%}
#map-confirm-pin{width:100%;margin-top:.65rem}
.rp-factor-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.28rem}
.rp-factor-list li{font-size:.82rem;padding:.35rem .55rem;border-radius:10px;background:#eef5f1;color:#3d524a}
.rp-factor-list li.is-done{background:#d9eee3;color:#1f3d34;font-weight:700}
.rp-factor-list li.is-miss{background:#f7ece8;color:#7a3b2e}

/* lean portal shell */
.rp-shell{max-width:720px;margin:0 auto;padding:14px 14px 28px}
.rp-portal-footer{padding:16px;text-align:center;color:var(--rp-muted);font-size:12px}
.rp-user{font-size:12px;font-weight:800;color:var(--rp-muted);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-file-native{display:block;width:100%;min-height:52px;padding:12px;border:2px dashed #a9cbbc;border-radius:16px;background:#f3faf6;font:inherit;font-size:15px}
.rp-flash{margin:0 0 12px;padding:12px 14px;border-radius:14px}
.rp-flash--success,.rp-flash--success.alert-success{background:#e7f7ee;color:#0d3b30}
.rp-flash--danger,.alert-danger{background:#fff1f1;color:#7a1f1f}
.nf-flash-stack{display:grid;gap:8px;margin-bottom:12px}

/* Owner load-boost Mini App — mobile-first checklist */
.rp-load-boost .rp-shell{padding:0 0 calc(108px + env(safe-area-inset-bottom,0px));max-width:440px}
.rp-load-boost .rp-topbar,.rp-load-boost .rp-portal-footer{display:none}
.rp-boost-top{
  display:flex;align-items:center;gap:10px;padding:12px 14px;
  background:linear-gradient(165deg,#10503F,#1a6b52);color:#f3faf7;
  position:sticky;top:0;z-index:30;
}
.rp-boost-back{color:#c8ebe0;text-decoration:none;font-weight:800;font-size:14px;padding:8px 4px}
.rp-boost-top__title{flex:1;min-width:0;display:grid;gap:2px}
.rp-boost-top__title strong{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-boost-top__title span{font-size:11px;opacity:.8;direction:ltr}
.rp-boost-ring{
  min-width:54px;height:54px;border-radius:16px;display:grid;place-content:center;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);text-align:center;line-height:1.05;
}
.rp-boost-ring strong{font-size:18px;font-weight:900}
.rp-boost-ring small{font-size:10px;opacity:.85}
.rp-boost-summary{padding:12px 14px 4px}
.rp-progress--boost{height:8px;border-radius:999px;background:#d7e8df;overflow:hidden}
.rp-progress--boost span{display:block;height:100%;background:linear-gradient(90deg,#10503F,#2a9b6f);border-radius:inherit}
.rp-boost-hint{margin:8px 0 10px;font-size:13px;color:#3d524a;line-height:1.5}
.rp-boost-rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.rp-boost-rail li{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:14px;background:#eef5f1;font-size:11px;font-weight:800;color:#5c736a}
.rp-boost-rail li span{font-size:16px;line-height:1}
.rp-boost-rail li.is-done{background:#d4eee3;color:#145239}
.rp-boost-rail li.is-todo{opacity:.9}
.rp-boost-sheet{display:grid;gap:12px;padding:8px 14px 20px}
.rp-boost-card{
  display:grid;gap:12px;padding:16px;border-radius:20px;background:#fff;
  border:1px solid #d7e8df;box-shadow:0 8px 20px rgba(12,48,38,.05);
}
.rp-boost-card.is-complete{border-color:#9ad4b8;background:linear-gradient(180deg,#fbfffd,#f3faf7)}
.rp-boost-card > header{display:flex;align-items:flex-start;gap:10px}
.rp-boost-num{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  background:#e4f4ec;color:#10503F;font-weight:900;font-size:13px;flex:0 0 auto;
}
.rp-boost-card h2{margin:0;font-size:1.02rem;font-weight:900;color:#12352c}
.rp-boost-card header p{margin:2px 0 0;font-size:12px;color:#5c736a}
.rp-boost-ok{margin-inline-start:auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#10503F;color:#fff;font-style:normal;font-weight:900}
.rp-boost-drop{
  display:grid;gap:4px;justify-items:center;padding:18px 14px;border:2px dashed #a9cbbc;
  border-radius:16px;background:#f3faf6;text-align:center;cursor:pointer;position:relative;
}
.rp-boost-drop strong{font-size:15px;color:#10503F}
.rp-boost-drop small{color:#5c736a;font-size:12px}
.rp-boost-drop .rp-file-native{
  position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;
  min-height:0;padding:0;border:0;
}
.rp-boost-actions{display:grid;gap:8px}
.rp-boost-status{margin:0;font-size:13px;color:#3d524a;line-height:1.5;min-height:1.3em}
.rp-boost-status.is-ok{color:#145239;font-weight:700}
.rp-boost-status.is-err{color:#8a2f2f;font-weight:700}
.rp-boost-status.is-busy{color:#1a5c48}
.rp-boost-field{display:grid;gap:6px;font-size:13px;font-weight:700;color:#3d524a}
.rp-boost-field input,.rp-boost-field textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid #c5d9cf;
  font:inherit;background:#fff;box-sizing:border-box;
}
.rp-boost-saved{padding:12px 14px;border-radius:14px;background:#eef7f2;color:#145239;font-size:13px;line-height:1.55;display:grid;gap:6px}
.rp-boost-saved p{margin:0}
.rp-load-boost .rp-primary,.rp-load-boost .rp-secondary{width:100%;min-height:50px;border-radius:14px;font-size:15px;font-weight:800}
.rp-boost-final{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(180deg,rgba(245,248,246,0),rgba(245,248,246,.94) 28%,#f5f8f6 100%);
  pointer-events:none;
}
.rp-boost-final__btn{
  pointer-events:auto;width:100%;max-width:440px;margin:0 auto;display:grid;gap:2px;
  min-height:56px;padding:12px 16px;border:0;border-radius:16px;cursor:pointer;
  background:linear-gradient(135deg,#10503F,#1a7a58);color:#fff;
  box-shadow:0 12px 28px rgba(8,48,38,.28);font:inherit;text-align:center;
}
.rp-boost-final__btn span{font-size:16px;font-weight:900}
.rp-boost-final__btn small{font-size:11px;opacity:.88;font-weight:700}
.rp-boost-final__btn:disabled{opacity:.7;cursor:wait}
@media (min-width:720px){
  .rp-boost-top{border-radius:0 0 18px 18px;margin:0 14px}
}

/* Multi-role Pilot mission (2026-08-14): small, professional role
   indicator + switcher, shown only when other_role_links is non-empty
   (single-role users never see this). */
.rp-role-switch{position:relative;margin-inline-start:auto}
.rp-role-switch summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid var(--rp-line);border-radius:999px;background:#fff;color:var(--rp-green);font-size:11px;font-weight:800;white-space:nowrap}
.rp-role-switch summary::-webkit-details-marker{display:none}
.rp-role-switch[open] summary{background:var(--rp-mint)}
.rp-role-switch__menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:40;display:grid;gap:4px;min-width:180px;padding:8px;border:1px solid var(--rp-line);border-radius:14px;background:#fff;box-shadow:var(--rp-shadow)}
.rp-role-switch__menu a{display:block;padding:8px 10px;border-radius:10px;color:var(--rp-ink);text-decoration:none;font-size:12px;font-weight:700}
.rp-role-switch__menu a:hover{background:var(--rp-mint)}
@media(max-width:760px){.rp-role-switch summary{font-size:10px;padding:5px 9px}}

/* PWA install UX — discreet topbar menu entry + dismissible workspace
   banner. Both start hidden (data-pwa-install-el); pwa-install.js reveals
   them only once the platform actually signals installability (a real
   beforeinstallprompt on Android/Chromium, or detected iOS Safari), and
   keeps them hidden entirely in standalone/already-installed mode. */
.rp-pwa-menu-link{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 12px;border:1px solid var(--rp-line);border-radius:999px;background:#fff;color:var(--rp-muted);text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;font:inherit}
.rp-pwa-menu-link:hover{border-color:var(--rp-green-2);color:var(--rp-green-2);background:var(--rp-mint)}
@media(max-width:760px){.rp-pwa-menu-link span:not(.rp-pwa-menu-link__icon){display:none}}

.rp-pwa-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 16px;border:1px solid #9ad4b8;border-radius:18px;background:linear-gradient(180deg,#e9f8ef,#dff3e8);color:#0d3b30;box-shadow:0 12px 28px rgba(7,58,43,.1)}
.rp-pwa-banner p{margin:0;font-size:13px;font-weight:700;line-height:1.6}
.rp-pwa-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.rp-pwa-banner-install{display:inline-flex;align-items:center;min-height:36px;padding:8px 16px;border:0;border-radius:12px;background:var(--rp-green);color:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.rp-pwa-banner-install:hover{filter:brightness(1.08)}
.rp-pwa-banner-dismiss{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:10px;background:transparent;color:#4e625a;font-size:16px;line-height:1;cursor:pointer}
.rp-pwa-banner-dismiss:hover{background:rgba(7,58,43,.08)}
.rp-pwa-banner-ios{margin:0;font-size:12px;font-weight:600;color:#0d3b30;opacity:.9}
@media(max-width:600px){.rp-pwa-banner{flex-direction:column;align-items:stretch;text-align:center}.rp-pwa-banner-actions{justify-content:center}}
