/* AML/CFT audit module. Built on the CMS tokens (variables.css / app.css): same colours, radii and fonts. */
.a-rt{display:inline-flex;align-items:center;font-size:11px;font-weight:650;border-radius:999px;padding:2px 9px;white-space:nowrap;line-height:1.6}
.a-rt.sat{color:var(--green);background:var(--green-bg)}
.a-rt.ni{color:var(--amber);background:var(--amber-bg)}
.a-rt.uns{color:var(--red);background:var(--red-bg)}
.a-rt.nr{color:var(--text-2);background:var(--grey-bg)}
.a-rt.na{color:var(--text-3);background:transparent;border:1px solid var(--line)}
.a-chip{display:inline-block;min-width:34px;text-align:center;font-size:11px;font-weight:650;border-radius:6px;padding:2px 6px}
.a-chip.sat{color:var(--green);background:var(--green-bg)}.a-chip.ni{color:var(--amber);background:var(--amber-bg)}.a-chip.uns{color:var(--red);background:var(--red-bg)}.a-chip.nr{color:var(--text-2);background:var(--grey-bg)}.a-chip.na{color:var(--text-3);border:1px solid var(--line)}
.a-sev{display:inline-flex;font-size:11px;font-weight:650;border-radius:999px;padding:2px 9px}
.a-sev.SIGNIFICANT{color:var(--red);background:var(--red-bg)}.a-sev.MODERATE{color:var(--amber);background:var(--amber-bg)}.a-sev.MINOR{color:var(--info);background:var(--blue-bg)}.a-sev.none{color:var(--text-2);background:var(--grey-bg)}

/* the ten steps */
.a-steps{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:6px;overflow-x:auto;margin-bottom:16px;padding-bottom:2px}
.a-step{display:block;border-top:3px solid var(--line);padding:8px 4px 4px;text-decoration:none;color:var(--text);min-width:104px}
.a-step .n{font-family:var(--font-mono);font-size:11px;color:var(--text-3)}
.a-step .t{font-size:12.5px;font-weight:550;line-height:1.3;margin-top:2px}
.a-step .s{font-size:11px;color:var(--text-3);margin-top:3px}
.a-step.done{border-color:var(--green)}.a-step.done .n{color:var(--green)}
.a-step.now{border-color:var(--accent)}.a-step.now .n{color:var(--accent);font-weight:700}.a-step.now .t{color:var(--accent)}
.a-step.later{opacity:.6}
.a-step.here{background:var(--brand-tint);border-radius:0 0 6px 6px}
.a-step:hover{background:var(--surface-2)}

/* the live 7.34 summary */
.a-sum{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.a-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.a-card .code{font-family:var(--font-mono);font-size:11px;color:var(--text-3)}
.a-card .name{font-size:13px;font-weight:600;line-height:1.3}
.a-card .sub{font-size:11.5px;color:var(--text-3)}
.a-card.overall{border-color:var(--accent)}
.a-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.a-tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.a-tile .lab{font-size:12px;color:var(--text-3)}.a-tile .big{display:block;font-size:24px;font-weight:700;line-height:1.2;margin-top:2px}.a-tile .sub{font-size:11.5px;color:var(--text-3)}
.a-tile.bad .big{color:var(--red)}.a-tile.warn .big{color:var(--amber)}

/* save indicator and field messages */
#a-save{font-size:12px;color:var(--text-3)}#a-save[data-state="ok"]::before{content:"✓ ";color:var(--green)}#a-save[data-state="busy"]{color:var(--text-2)}#a-save[data-state="err"]{color:var(--red);font-weight:600}
.a-fmsg{display:block;font-size:12px;margin-top:3px;color:var(--text-3)}.a-fmsg[data-k="ok"]{color:var(--green)}.a-fmsg[data-k="err"]{color:var(--red)}.a-fmsg[data-k="conflict"]{color:var(--amber)}
.a-fmsg .btn{margin-left:6px}

/* checklist of what a step still needs */
.a-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.a-checks li{display:flex;gap:8px;font-size:13px;align-items:flex-start}
.a-checks .m{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--grey-bg);color:var(--text-2)}
.a-checks li.ok .m{background:var(--green);color:#fff}
.a-checks li.ok{color:var(--text-2)}
.a-checks .h{display:block;font-size:11.5px;color:var(--text-3)}
.a-help p{margin:0 0 8px;color:var(--text-2);font-size:13px}
.a-help .who{font-size:12px;color:var(--text-3)}
.a-matrix th,.a-matrix td{text-align:center;padding:6px 5px}.a-matrix th.cl,.a-matrix td.cl{text-align:left}
.a-matrix tr.click{cursor:pointer}
.a-bars{display:flex;flex-direction:column;gap:7px}
.a-bar{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;gap:8px;align-items:center;font-size:12.5px}
.a-bar .trk{display:flex;height:14px;background:var(--grey-bg);border-radius:4px;overflow:hidden}
.a-bar .trk i{display:block;height:100%}.a-bar .s1{background:var(--red)}.a-bar .s2{background:var(--amber)}.a-bar .s3{background:var(--info)}
.a-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-3);margin-top:8px}
.st-ok{color:var(--green);font-weight:600}.st-due{color:var(--amber);font-weight:600}.st-late,.st-overdue{color:var(--red);font-weight:600}
@media (max-width:900px){.a-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the letter on paper */
.a-paper{background:#fff;color:#15202b;border:1px solid var(--line);border-radius:6px;padding:28px 34px;max-width:780px;margin:0 auto;font-size:13.5px;line-height:1.55;box-shadow:var(--shadow-sm)}
.a-paper h4{color:#1d5a86;font-size:13.5px;margin:14px 0 4px}
.a-paper p,.a-paper li{margin:0 0 8px;text-align:justify}.a-paper ul{margin:0 0 8px;padding-left:20px}
.a-paper-head{display:flex;justify-content:space-between;border-bottom:1px solid #d5dce3;padding-bottom:8px;margin-bottom:14px;font-size:13px}.a-paper-head span{color:#5a6876;font-size:12px}
.a-subj{font-weight:700}
.a-ph{background:#fff4cc;color:#7a5200;border-radius:3px;padding:0 3px}
#a-save{margin-right:10px}

/* fieldwork */
.a-areahead{margin-bottom:14px}
.a-verdict{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:230px;max-width:340px}
.a-vstats{display:flex;gap:14px;font-size:13px;color:var(--text-2)}
.a-warn{font-size:12.5px;font-weight:600;color:var(--amber)}
.a-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.a-scale>div{border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-2);opacity:.75}
.a-scale>div.on{opacity:1;border-color:var(--accent);background:var(--brand-tint)}
.a-rt.sm{font-size:10.5px;padding:1px 8px;align-self:flex-start}
.a-bar2{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.a-rows{display:flex;flex-direction:column;gap:12px}
.a-rows.guided .a-row:not(.cur){display:none}
.a-rows.table .a-nav{display:none}
.a-gw{margin-top:4px;font-size:12.5px;color:var(--text-2)}.a-gw summary{cursor:pointer;color:var(--accent)}.a-gw p{margin:6px 0 0}
.a-lab{font-size:12px;color:var(--text-3);margin-bottom:3px;display:block}
.a-note{min-height:84px;resize:vertical}
.a-evl{list-style:none;margin:0 0 6px;padding:0;font-size:12.5px;display:flex;flex-direction:column;gap:3px}.a-evl li{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.a-x{border:0;background:none;color:var(--red);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.a-attach{cursor:pointer}
.a-fx{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.a-fx[hidden]{display:none}
.a-fx-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.a-fx-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.a-fx-g label{display:block}
.a-del{align-self:flex-end}
.a-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;background:var(--bg);padding:10px 0;z-index:5}
.a-dlg{border:0;border-radius:14px;padding:0;max-width:640px;width:calc(100% - 32px);box-shadow:var(--shadow-lg);background:var(--surface);color:var(--text)}
.a-dlg::backdrop{background:rgba(10,18,30,.5)}
.a-dlg-b{padding:20px}
.a-opts{display:flex;flex-wrap:wrap;gap:6px}
.a-opt{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 11px;font-size:13px;cursor:pointer;color:var(--text)}
.a-opt[aria-pressed="true"]{border-color:var(--accent);background:var(--brand-tint);font-weight:600}

/* area tiles: A to L, six to a row, like the workbench */
.a-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}
.a-tab{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:8px;row-gap:5px;align-items:start;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 10px;text-decoration:none;color:var(--text);min-height:68px}
.a-tab b{font-family:var(--font-mono);font-size:13px;color:var(--text-3);font-weight:500;padding-top:1px}
.a-tab .a-tn{font-size:13px;font-weight:600;line-height:1.3}
.a-tab .a-tm{grid-column:2;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.a-tab .a-rt{text-transform:uppercase;font-size:10px;letter-spacing:.03em}
.a-tab small{color:var(--text-3);font-size:11.5px}.a-tab i{color:var(--green);font-style:normal;font-weight:700}
.a-tab:hover{background:var(--surface-2)}.a-tab.on{border-color:var(--accent);background:var(--brand-tint);box-shadow:0 0 0 1px var(--accent) inset}
@media (max-width:1100px){.a-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.a-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the test points: a short table, each row opens in a window */
.a-rows{gap:0}
.a-thead,.a-row{display:grid;grid-template-columns:34px minmax(0,2fr) 128px 104px minmax(0,1.5fr) 96px 72px;gap:12px;align-items:center}
.a-thead{padding:10px 14px;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);background:var(--surface);border:1px solid var(--line);border-radius:10px 10px 0 0}
.a-row{padding:11px 14px;border-radius:0;border-top:0;cursor:pointer}
.a-row:hover{background:var(--surface-2)}
.a-row:last-of-type{border-radius:0 0 10px 10px}
.c-no{font-family:var(--font-mono);color:var(--text-3);font-size:13px}
.c-item b{font-weight:600;font-size:13.5px;line-height:1.4;display:block}
.c-sub{font-size:12px;color:var(--text-3);margin-top:2px}
.c-nt{font-size:12.5px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0;word-break:break-word}
.c-dt{font-size:12.5px;color:var(--text-2)}
.c-go{text-align:right}
.a-stp{display:inline-flex;font-size:12px;font-weight:650;border-radius:999px;padding:2px 10px;color:var(--text-2);background:var(--grey-bg)}
.a-row[data-st="C"] .a-stp{color:var(--green);background:var(--green-bg)}.a-row[data-st="P"] .a-stp{color:var(--amber);background:var(--amber-bg)}.a-row[data-st="NC"] .a-stp{color:var(--red);background:var(--red-bg)}.a-row[data-st="NA"] .a-stp{background:transparent;border:1px solid var(--line)}
.a-row[data-st="C"]{box-shadow:inset 3px 0 0 var(--green)}.a-row[data-st="P"]{box-shadow:inset 3px 0 0 var(--amber)}.a-row[data-st="NC"]{box-shadow:inset 3px 0 0 var(--red)}
.a-row:not([data-st="P"]):not([data-st="NC"]) .c-sv .a-sev{display:none}
/* the window for one test point */
.a-tpm{width:min(1000px,100%);max-height:min(92vh,100%);display:flex;flex-direction:column;overflow:hidden;cursor:default}
.a-tp .modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.a-tp .modal-head h3{font-size:16px;line-height:1.4;margin:2px 0 0}.a-tp .modal-head .input{font-weight:600;width:100%}
.a-tpb{overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-content:start}
.a-tpl,.a-tpr{display:flex;flex-direction:column;gap:14px;min-width:0}
.a-k{font-size:13.5px;line-height:1.5;color:var(--text)}.a-k .a-lab{margin-bottom:4px}
.a-two{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:start}
.a-tpb .a-fx{grid-column:1/-1;background:var(--surface-2);border-radius:10px;padding:12px 14px;margin:0;border:0;display:flex;flex-direction:column;gap:10px}
.a-tpb .a-fx[hidden]{display:none}
.a-fx-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.a-fx-rec textarea{min-height:60px}
.a-more{font-size:12.5px;color:var(--text-2)}.a-more summary{cursor:pointer;color:var(--accent);width:max-content}
.a-more .a-fx-g{margin-top:10px}.a-more .wide{grid-column:1/-1}
.a-ev{display:flex;flex-direction:column;gap:4px}.a-attach{width:max-content;font-size:12.5px}
@media (max-width:1100px){.a-thead{display:none}.a-row{grid-template-columns:30px minmax(0,1fr) auto;border-top:1px solid var(--line);border-radius:10px;margin-bottom:8px}.c-sv,.c-nt,.c-dt{display:none}.a-tpb{grid-template-columns:1fr}.a-two{grid-template-columns:1fr}}
.a-stbtn{display:flex;flex-wrap:wrap;gap:6px}
.a-s{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--text);min-height:38px}
.a-s:hover:not(:disabled){background:var(--surface-2)}.a-s:disabled{opacity:.55;cursor:default}
.a-s[aria-pressed="true"]{font-weight:650;border-width:2px}
.a-s.s-C[aria-pressed="true"]{border-color:var(--green);background:var(--green-bg);color:var(--green)}
.a-s.s-P[aria-pressed="true"]{border-color:var(--amber);background:var(--amber-bg);color:var(--amber)}
.a-s.s-NC[aria-pressed="true"]{border-color:var(--red);background:var(--red-bg);color:var(--red)}
.a-s.s-NA[aria-pressed="true"],.a-s.s-NT[aria-pressed="true"]{border-color:var(--text-3);background:var(--grey-bg)}

.a-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:300;max-width:min(560px,calc(100% - 32px));background:var(--text);color:var(--surface);border-radius:10px;padding:11px 16px;font-size:13.5px;box-shadow:var(--shadow-lg)}

/* unfinished work in Fieldwork: tile badge, row marker, banner */
.a-todo-pill{display:inline-flex;font-size:11px;font-weight:650;color:var(--amber);background:var(--amber-bg);border:1px solid var(--amber);border-radius:999px;padding:1px 8px}
.a-tab.todo{border-color:var(--amber)}
.a-tab.on.todo{border-color:var(--accent)}
.c-item .a-todo-pill{margin-top:4px}
.a-todo-banner{margin-bottom:12px}
.a-todo-link{display:inline-block;margin:2px 14px 2px 0;color:inherit;text-decoration:underline}

/* review: read-only view of one area in a window */
.a-rvb{overflow:auto;display:flex;flex-direction:column;gap:10px}
.a-rvi{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.a-rvh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.a-rvh b{flex:1 1 280px;font-weight:600;font-size:13.5px;line-height:1.4}
.a-rvi[data-st="C"] .a-stp{color:var(--green);background:var(--green-bg)}.a-rvi[data-st="P"] .a-stp{color:var(--amber);background:var(--amber-bg)}.a-rvi[data-st="NC"] .a-stp{color:var(--red);background:var(--red-bg)}.a-rvi[data-st="NA"] .a-stp{background:transparent;border:1px solid var(--line)}
.a-rvi .a-fx{background:var(--surface-2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}

/* planning: the request for the client, and the files that came back */
.a-req{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px}
.a-req-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}
.a-req-body{font-family:var(--font-mono);font-size:12.5px;line-height:1.5;white-space:pre-wrap}
.a-pf{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-top:4px}
.a-pf .a-x{border:0;background:none;color:var(--text-3);cursor:pointer;font-size:16px;line-height:1}
.a-nofile{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--amber);margin-top:4px}

/* Prepared by / Checked by / Approved by */
.a-so{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.a-so>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface,#fff)}
.a-so .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3,#6b7280)}
.a-so .d{font-size:12.5px;color:var(--text-3,#6b7280)}
.a-so .done{border-color:var(--green,#16a34a);background:color-mix(in srgb,var(--green,#16a34a) 8%,transparent)}
.a-so .now{border-color:var(--brand,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand,#2563eb) 22%,transparent)}
@media (max-width:700px){.a-so{grid-template-columns:1fr}}

.a-step.later{cursor:not-allowed;opacity:.6;pointer-events:auto}
