.app-evidence { padding:20px; background:var(--card); border:1px solid var(--line-input); border-radius:var(--r-lg); box-shadow:var(--sh-card); }
.app-evidence-heading,.app-evidence-meta,.app-evidence-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.app-evidence-heading { justify-content:space-between; margin-bottom:12px; }
.app-evidence-actions { margin:12px 0; gap:8px; }
.app-evidence-row { padding:16px 0; border-bottom:1px solid var(--line-row); overflow-wrap:anywhere; font-size:13.5px; color:var(--body); }
.app-evidence-row:last-child { border-bottom:0; }
.app-evidence-row h4 { margin:8px 0; font-size:14px; font-weight:600; color:var(--ink); }
.app-evidence-meta { color:var(--muted); font-size:12.5px; }
.app-evidence-meta strong { color:var(--ink); }
.app-evidence-meta svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.app-evidence-summary { margin:8px 0; white-space:pre-wrap; }
.app-evidence pre,.app-comms-drawer pre,.app-comms-settings pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; max-height:360px; overflow:auto; }
.app-evidence summary,.app-comms-drawer summary { cursor:pointer; font-weight:600; color:var(--link); }
.app-evidence-form { margin:16px 0; padding:20px; background:var(--fill-row); border:1px solid var(--line-row); border-radius:var(--r-md); }
.app-evidence-form[hidden],.app-evidence [hidden] { display:none; }
.app-evidence-form label,.app-comms-drawer label,.app-comms-settings label { display:block; font-size:13px; font-weight:600; color:var(--ink); margin:14px 0 6px; }
.app-evidence-form input,.app-evidence-form textarea,.app-evidence-form select,.app-comms-drawer input,.app-comms-drawer textarea,.app-comms-drawer select,.app-comms-settings input,.app-comms-settings select,.app-comms-settings textarea { width:100%; min-height:38px; padding:8px 12px; border:1px solid var(--line-input); background:var(--card); border-radius:var(--r-md); color:var(--ink); font:inherit; font-size:14px; box-sizing:border-box; outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
.app-evidence-form :is(input,textarea,select):focus,.app-comms-drawer :is(input,textarea,select):focus,.app-comms-settings :is(input,textarea,select):focus { border-color:var(--action); box-shadow:var(--focus-ring); }
.app-evidence-form input[type=checkbox],.app-evidence-form input[type=radio],.app-comms-drawer input[type=checkbox],.app-comms-drawer input[type=radio],.app-comms-settings input[type=checkbox],.app-comms-settings input[type=radio] { width:auto; min-height:0; accent-color:var(--action); }
.app-evidence textarea,.app-comms-drawer textarea,.app-comms-settings textarea { resize:vertical; }
.app-evidence-preview { font-size:13.5px; margin:12px 0; }
.app-evidence-preview>div { display:grid; grid-template-columns:minmax(90px,1fr) minmax(0,3fr); gap:12px; margin:8px 0; }
.app-evidence-preview dt { font-weight:600; color:var(--ink); }
.app-evidence-preview dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.app-evidence [role=alert],.app-comms-drawer [role=alert],.app-comms-settings [role=alert] { color:var(--err); }
.app-comms-drawer { position:fixed; inset:0 0 0 auto; width:min(620px,100vw); height:100dvh; max-height:100dvh; max-width:100vw; margin:0; border:0; border-left:1px solid var(--line); border-radius:var(--r-xl) 0 0 var(--r-xl); padding:24px; box-sizing:border-box; color:var(--ink); background:var(--card); box-shadow:var(--sh-pop); overflow:auto; }
.app-comms-drawer::backdrop { background:rgba(11, 37, 69, .32); }
.app-comms-settings { max-width:850px; padding:20px; }
.app-evidence button:focus-visible,.app-comms-drawer button:focus-visible { outline:2px solid var(--action); outline-offset:2px; }
@media(pointer:coarse) { .app-evidence button,.app-comms-drawer button { min-height:var(--touch-h); } }
.app-evidence-heading [data-evidence-count] { margin:2px 0 0; font-size:13px; color:var(--muted); }
.app-evidence-form h3 { margin:0; font-size:var(--fs-card); font-weight:600; color:var(--ink); }
.app-comms-drawer h2 { margin:0; font-family:var(--serif); font-size:22px; font-weight:600; color:var(--navy); }
.app-comms-drawer [aria-pressed="true"], .app-comms-drawer [aria-pressed="true"]:hover { background:var(--navy); border-color:var(--navy); color:var(--card); }
.app-comms-drawer a, .app-comms-settings a { color:var(--link); font-weight:600; text-decoration:none; }
.app-comms-drawer a:hover, .app-comms-settings a:hover { text-decoration:underline; }
