:root{font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:#17323b;background:#f2f5f3;font-synthesis:none;line-height:1.65;--ink:#17323b;--muted:#536b72;--line:#d7e0dc;--green:#17674f;--paper:#fff;--amber:#775016}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:.55rem .9rem;min-height:44px;font-weight:600}button:hover{border-color:var(--green);background:#edf6f0}button.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;background:white;border:1px solid #98aaa4;border-radius:8px;padding:.6rem;min-height:44px;color:var(--ink)}textarea{min-height:105px;resize:vertical}input[type=checkbox]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--green)}input[type=file]{padding:.4rem;max-width:100%}:focus-visible{outline:3px solid #876000;outline-offset:3px}a{color:var(--green)}h1{font-size:clamp(1.65rem,3.5vw,2.7rem);line-height:1.35;margin:.4rem 0}h2{font-size:1.3rem;margin:0 0 1rem}h3{font-size:1.05rem;margin:.6rem 0}p{margin:.45rem 0 .8rem}.topbar{background:var(--ink);color:white;padding:1rem max(1rem,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{font-weight:750;font-size:1.2rem;letter-spacing:.03em}.topbar select{width:auto;min-width:145px}.topbar label{margin:0}.topbar .field{display:flex;align-items:center;gap:.6rem}.badge{display:inline-block;padding:.15rem .6rem;border-radius:20px;background:#e8eee9;font-size:.8rem;font-weight:700;color:var(--green)}.demo-banner{background:#f7e8c8;color:#66400b;padding:.65rem 1rem;text-align:center;font-weight:700}.container{max-width:1240px;margin:auto;padding:1.5rem}.hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem}.muted,.help{color:var(--muted);font-size:.9rem}.layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1.25rem;align-items:start}.panel{padding:1.4rem;border:1px solid var(--line);border-radius:15px;background:var(--paper);margin-bottom:1.1rem;box-shadow:0 3px 10px #102a3510}.login{max-width:470px;margin:3rem auto}.field{display:block;margin-bottom:.9rem}.field>span{display:block;font-size:.92rem;font-weight:650;margin-bottom:.25rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.stack>*+*{margin-top:.6rem}.record-link{display:block;width:100%;text-align:start;margin:.6rem 0;padding:.8rem;border-inline-start:4px solid var(--line)}.record-link.selected{border-inline-start-color:var(--green);background:#edf6f0}.record-link .code{display:block}.code,bdi{font-family:ui-monospace,monospace;unicode-bidi:isolate;overflow-wrap:anywhere}.code{font-size:.8rem}.fact{margin:.35rem 0;overflow-wrap:anywhere}.fact strong{font-size:.88rem;display:block;color:var(--muted)}.callout{padding:.85rem 1rem;border:1px solid #d9bd87;border-inline-start:4px solid #bc8b32;border-radius:8px;background:#fff8e9;margin:.7rem 0;overflow-wrap:anywhere}.success{background:#edf6f0;border-color:#9cc7b3}.error{background:#fff1ef;border-color:#dca49b}.notice{max-width:1240px;margin:1rem auto;padding:0 1rem}.evidence{border:1px solid var(--line);border-radius:9px;margin:.8rem 0;padding:1rem}.evidence img{display:block;max-width:100%;max-height:260px;object-fit:contain}.evidence audio,audio{width:100%;margin:.6rem 0}.check{display:flex;gap:.7rem;align-items:start;margin:.8rem 0}.original{white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext;padding:.8rem;background:#f4f6f4;border-radius:8px}.timeline{border-inline-start:2px solid var(--line);padding-inline-start:1.2rem;list-style:none}.timeline li{padding:.6rem 0;border-bottom:1px solid var(--line)}.footer{padding:1rem;color:var(--muted);text-align:center;font-size:.85rem}.report-table{width:100%;border-collapse:collapse;table-layout:fixed}.report-table td,.report-table th{text-align:start;border:1px solid var(--line);padding:.5rem;overflow-wrap:anywhere}#print-report{display:none}.recording{color:#9b2d1f;font-weight:bold}.full{grid-column:1/-1}.status-line{display:flex;gap:.7rem;flex-wrap:wrap}.progress-dot{width:.6rem;height:.6rem;background:var(--green);border-radius:50%;display:inline-block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:780px){.layout{grid-template-columns:1fr}.container{padding:1rem}.panel{padding:1rem}.grid{grid-template-columns:1fr}.hero{display:block}.topbar{padding:.9rem}.layout aside{position:static}.row button{flex-grow:1}h1{font-size:1.8rem}}
@media print{@page{size:A4;margin:16mm}body{background:white;color:#000;font-size:10pt}#app{display:none!important}#print-report{display:block!important}.panel{box-shadow:none;border-radius:0;border:0;padding:0}h1{font-size:19pt}h2{font-size:14pt;break-after:avoid}h3{break-after:avoid}.demo-banner{border:2px solid #444;background:white!important;color:black!important}.fact,.evidence,.timeline li,tr{break-inside:avoid}.original{background:white;padding:4pt;border:1px solid #aaa}.code{font-size:8pt}.muted,.help{color:#333}a{color:#000;text-decoration:none}button,audio,input,select,textarea{display:none!important}img{max-width:100%;max-height:60mm}.report-table{font-size:9pt}p{orphans:3;widows:3}}
/* RF2 v02 textual design handoff. Local fonts only; no remote assets. */
:root{font-family:"Noto Sans Arabic","Noto Sans",Tahoma,"Segoe UI",Arial,sans-serif;color:#162C2A;background:#F5F8F7;--ink:#162C2A;--muted:#637570;--line:#DCE6E2;--green:#006B5E;--paper:#fff;line-height:1.8}
:root[lang=en]{font-family:"Noto Sans","Segoe UI",Arial,sans-serif;line-height:1.48}
h1{font-size:clamp(21px,2.1vw,30px)}h2{font-size:22px}.container{max-width:1480px;padding:24px}.topbar{min-height:64px;background:#fff;color:#123F38;border-bottom:1px solid var(--line);padding:8px 24px}.brand{display:flex;align-items:center;gap:12px}.brand:before{content:"";display:block;width:22px;height:22px;border:2px solid #006B5E;box-shadow:5px -5px 0 -2px #fff,5px -5px 0 0 #006B5E}.brand .badge{display:none}.layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.panel{border-radius:13px;padding:24px;box-shadow:none;margin-bottom:20px}.badge{background:#E8F4EF;color:#006B5E}.demo-banner{background:#FFF4DE;color:#9A5800;font-size:14px}.hero h1{font-size:28px}.hero .badge{display:none}.nav-item{padding:12px 8px;border-bottom:1px solid var(--line)}.nav-item small{display:block;color:var(--muted);font-size:12px}.layout aside>.panel{padding:12px}.layout aside>button{width:100%;margin:12px 0}.daily-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.daily-columns form button.primary{font-size:18px;min-height:48px}.next-instruction{font-size:18px}.space-context{color:var(--muted)}button{min-height:48px;font-weight:700}button:disabled{background:#EEF1EF;color:#637570;opacity:1}.daily-columns button.primary:disabled{border-color:#DCE6E2}summary{cursor:pointer;font-weight:700}details[open]>summary{margin-bottom:18px}.error{background:#FFF0ED;color:#AE3B35}.success{background:#E8F4EF;color:#006B5E}.callout{background:#FFF4DE;border-color:#DCE6E2;color:#9A5800}.panel h1{overflow-wrap:anywhere}.layout>*{min-width:0}select{max-width:100%}
@media(max-width:1050px){.daily-columns{grid-template-columns:1fr}.layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:700px){.layout{grid-template-columns:1fr}.container{padding:26px}.panel{padding:20px}.topbar{padding:12px 26px}.daily-columns{gap:0}.daily-columns button{width:100%}.next-instruction{font-size:18px}.daily-columns h2{font-size:20px}h1,.hero h1{font-size:21px}.layout aside nav{display:none}.grid{grid-template-columns:1fr}.layout aside .panel{margin-bottom:12px}.topbar .row{width:100%}}
@media(max-width:350px){.container{padding:16px}.panel{padding:16px}.topbar{padding:12px 16px}}
@media print{.topbar,.nav-item{display:none}.panel{padding:0}.daily-columns{display:block}}
/* Reading order puts the selected work before experiment/navigation tools. */
.layout>.main-content{grid-column:2;grid-row:1;min-width:0}.layout>aside{grid-column:1;grid-row:1}.layout aside nav{display:block}.layout aside details .panel{padding:8px 0;border:0}.daily-columns details .evidence{margin-block:12px}.daily-columns [data-current-assessment]{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.daily-columns [data-current-assessment] h2{font-size:18px}
@media(max-width:700px){.layout>.main-content,.layout>aside{grid-column:1;grid-row:auto}.main-content .panel{padding:18px}.main-content .daily-columns>.panel{margin-bottom:16px}.topbar{gap:8px}.topbar .row{gap:8px}.topbar .field{flex:1;min-width:0;flex-wrap:wrap}.topbar .row button{flex-grow:0}.notice:empty{margin:0;padding:0}}
/* Keep the actual imported finding and instruction ahead of noncritical receipts. */
.finding-summary h1{margin-block:8px}.finding-summary .space-context{margin-block:0 6px}.finding-summary .grid{margin-top:8px}.finding-tools{margin-top:8px}.daily-columns .notice{margin:12px 0;padding:0}.daily-columns .notice .callout{margin:0;font-size:14px}
@media(max-width:700px){.finding-summary{padding:16px!important}.finding-summary h1{font-size:21px;line-height:1.5}.finding-summary .fact{margin:4px 0}.finding-tools button{min-height:44px;padding:6px 12px}.demo-banner{padding:8px 16px;line-height:1.6}.topbar .row{align-items:end}.topbar .field{display:block}.topbar .field>span{font-size:14px}.topbar select{min-width:120px}.topbar .row button{font-size:14px;min-height:44px}.main-content .daily-columns>.panel{padding:16px}.daily-columns .next-instruction{margin-bottom:12px}}
@media(max-width:700px){.container{padding-block:16px}.finding-tools{margin:0 0 16px}.finding-summary .grid{margin-top:6px}}

/* Capture stays in normal flow when the on-screen keyboard reduces height. */
[data-capture-preview] img{max-height:220px;object-fit:contain;width:100%}
[data-capture-form] textarea{min-height:80px;max-height:160px;scroll-margin-block:8px}
.actor-context{display:flex;gap:4px 16px;flex-wrap:wrap}.actor-context .fact{flex:1;min-width:90px}
textarea,input,select{scroll-margin-block:8px}
@media(max-height:480px){[data-capture-preview] img{max-height:100px}[data-capture-form] textarea{min-height:60px;max-height:90px}.daily-columns .panel{scroll-margin-block:8px}}
.actor-context .fact{font-size:14px;line-height:1.4}.actor-context .fact strong{font-size:13px;line-height:1.4}

/* Available record navigation and unavailable modules are separate. */
#trial-tools nav>button{width:100%;margin-block:0 12px}.future-modules{margin:0;padding-inline-start:20px}.future-modules li{padding-block:6px}.future-modules small{display:block;color:var(--muted)}

#dpc .topbar a{color:inherit}

/* Independent e8ffeef continuation: DPC role/action context only. */
#dpc:has([data-dpc-context]) .topbar{padding:.5rem 1rem;gap:.4rem}
#dpc:has([data-dpc-context]) .topbar h1{font-size:1.1rem}
#dpc:has([data-dpc-context]) .container{padding:.7rem}
#dpc .dpc-context{padding:.7rem;margin-bottom:.8rem}
#dpc .dpc-context p{margin:.25rem 0}
#dpc .dpc-context-facts{display:flex;flex-wrap:wrap;gap:.2rem 1rem}
#dpc .dpc-context details{margin:.3rem 0}
#dpc .dpc-context summary{cursor:pointer}

/* DPC help stays in document flow: no overlay, no HTML injection. */
#dpc .dpc-term{display:block;font-size:inherit;font-weight:inherit;overflow-wrap:anywhere}
#dpc .dpc-info{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.15rem;margin-inline-start:.3rem;vertical-align:middle}
#dpc .dpc-help-text:not([hidden]){display:block;font-size:1rem;font-weight:400;line-height:1.6;border-inline-start:3px solid var(--green);padding:.4rem;background:#edf6f0;max-width:100%;white-space:normal}
#dpc .dpc-help-close{display:block;margin-top:.3rem;font-size:.9rem}

#dpc .dpc-context-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
#dpc .dpc-context-facts p{min-width:0;overflow-wrap:anywhere}
@media(max-width:320px){#dpc .dpc-context-facts{grid-template-columns:minmax(0,1fr)}}
