/* Reused verbatim from source-supplied PRISM_FRONTEND2/Index.html style blocks. */

    :root{--ink:#172641;--soft:#65758a;--line:#e5eaf1;--page:#f4f7fb;--white:#fff;--nav:#102f4d;--accent:#176c91;--ok:#147d54;--warn:#a86a10;--danger:#b0363c}
    *{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--page);color:var(--ink);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}
    .hide{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.side{background:var(--nav);color:#fff;padding:25px 18px;min-height:100vh}.brand{font-size:25px;font-weight:800;letter-spacing:1px}.brandSub{color:#b8cddb;font-size:11px;line-height:1.5;margin:7px 0 30px}.sideLabel{color:#8fb0c8;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;margin:20px 10px 8px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{background:transparent;color:#dbe7f1;border:0;text-align:left;padding:13px;border-radius:9px}.nav button:hover,.nav button.active{background:#27526d;color:#fff}.sideFooter{margin-top:36px;font-size:11px;color:#9cb5c8;line-height:1.6}.main{padding:27px 34px;max-width:1360px;width:100%;margin:auto}
    .top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:23px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);font-size:11px;font-weight:700;margin-bottom:8px}h1{font-size:26px;margin:0 0 8px}h2{font-size:18px;margin:0 0 10px}h3{font-size:14px;margin:0}.sub{color:var(--soft);line-height:1.55}.profile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;max-width:380px}.avatar{height:38px;width:38px;display:grid;place-items:center;border-radius:50%;background:#e8f2f6;font-weight:800;color:var(--accent);flex:none}.profileName{font-weight:700}.profileMeta{font-size:11px;color:var(--soft);margin-top:3px;word-break:break-word}
    .card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 3px 15px rgba(16,47,77,.025)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:19px}.statLabel{font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.7px}.statValue{font-size:24px;font-weight:800;margin:10px 0 1px}.stack{display:grid;gap:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.toolbarLeft{display:flex;gap:8px;flex-wrap:wrap}.btn{background:#176b8c;border:1px solid #176b8c;border-radius:9px;padding:10px 15px;color:#fff;font-weight:700}.btn:hover{background:#125674}.btn.secondary{background:#fff;color:#244964;border-color:#c7d7e2}.btn.secondary:hover{background:#f4f8fa}.btn.ghost{background:transparent;color:#45647e;border-color:transparent}.input{padding:10px 12px;border:1px solid #cdd7e1;border-radius:9px;background:#fff;min-width:130px;color:var(--ink)}.input:focus{outline:2px solid #98cbd9;outline-offset:1px}.search{width:260px}.tableArea{overflow-x:auto}.prTable{width:100%;border-collapse:collapse;white-space:nowrap}.prTable th{text-align:left;font-size:11px;color:#708399;text-transform:uppercase;letter-spacing:.6px;background:#f6f8fb}.prTable td,.prTable th{border-bottom:1px solid var(--line);padding:12px 11px}.prTable tbody tr{cursor:pointer}.prTable tbody tr:hover{background:#f3f8fb}.prTable .purpose{max-width:360px;overflow:hidden;text-overflow:ellipsis}.chip{font-size:10px;letter-spacing:.2px;border-radius:20px;padding:5px 9px;font-weight:700;display:inline-block;background:#e9eff5;color:#35536a}.chip.good{background:#e6f4ed;color:var(--ok)}.chip.warn{background:#fff3e1;color:var(--warn)}.chip.bad{background:#ffe9ec;color:var(--danger)}.empty{padding:26px;color:var(--soft);text-align:center}.detailsGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kv{margin-bottom:12px}.kv .key{font-size:11px;color:var(--soft);display:block;margin-bottom:5px}.kv .val{font-size:14px;font-weight:650;white-space:pre-wrap;word-wrap:break-word}.historyItem{border-left:2px solid #cbdde7;padding:4px 0 13px 15px;margin-left:6px}.historyItem h3{margin-bottom:5px}.historyItem .sub{font-size:12px}.readOnly{font-size:11px;color:var(--soft);border:1px solid var(--line);padding:8px 11px;border-radius:16px;background:#fff}.notice{padding:12px 15px;margin-bottom:16px;border-radius:10px;background:#eaf4f8;color:#234e66;line-height:1.5}.notice.error{background:#ffebed;color:#8b232c}.limitNote{font-size:11px;color:var(--soft);margin-top:12px}
    .authWrap{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#0e304d 0%,#1d6784 100%)}.loginBox{width:min(450px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 20px 65px rgba(0,0,0,.18)}.loginBrand{font-size:35px;font-weight:900;letter-spacing:2px;color:#163c58;margin:8px 0}.formRow{display:grid;gap:7px;margin:18px 0}.formRow label{font-size:12px;color:#50667b;font-weight:700}.formRow input{width:100%}.loginBox .btn{width:100%;margin-top:7px}.loginBox .sub{font-size:12px}.loginNote{font-size:12px;color:#6b7a8a;margin-top:18px;line-height:1.6}.loginMsg{margin:15px 0 0;font-size:12px;line-height:1.5;min-height:16px}.loginMsg.error{color:var(--danger)}.busy{opacity:.5;pointer-events:none}
    @media(max-width:900px){.shell{grid-template-columns:1fr}.side{min-height:0;padding:16px 18px}.brand{font-size:20px}.brandSub{margin:3px 0 12px}.nav{flex-direction:row;flex-wrap:wrap}.nav button{padding:9px 11px}.sideLabel,.sideFooter{display:none}.main{padding:20px 15px}.stats{grid-template-columns:1fr 1fr}.detailsGrid{grid-template-columns:1fr}.top{align-items:flex-start}}
    .googleSignIn{background:#fff!important;color:#163c58!important;border:1px solid #c6d6e5!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:19px}
    .googleSignIn:hover{background:#f3f8fc!important}.googleG{font-weight:900;font-size:18px;background:linear-gradient(90deg,#4285f4 20%,#34a853 46%,#fbbc05 65%,#ea4335 85%);background-clip:text;color:transparent}
    .googleOr{text-align:center;margin:19px 0 4px;color:#6b8195;font-size:12px;position:relative}
    @media(max-width:460px){.stats{grid-template-columns:1fr}.search{width:100%}.input{max-width:100%}.toolbarLeft{width:100%}.loginBox{padding:25px}}
    /* Phase 2: online PR entry, in the same visual system as Phase 1. */
    .editorHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap}
    .formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .field{display:grid;gap:7px;min-width:0}.field label{font-size:12px;font-weight:700;color:#51687d}
    textarea.input{width:100%;resize:vertical;min-height:70px;font:inherit;line-height:1.5}
    .field .input{width:100%}.helper{font-size:12px;color:#65758a;line-height:1.5}
    .formWide{grid-column:1/-1}.editorActions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
    .subCard{background:#f7fafc;border:1px solid #dfe9ef;border-radius:10px;padding:13px 15px}
    .itemGrid{display:grid;grid-template-columns:1.1fr 1fr .8fr .8fr;gap:10px;margin-bottom:12px}
    .itemDesc{grid-column:1/-1}.itemBar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
    .itemsTable{width:100%;border-collapse:collapse}.itemsTable th,.itemsTable td{padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:12px;white-space:normal}.itemsTable th{color:var(--soft);background:#f6f8fb;font-size:11px;text-transform:uppercase}.itemPreview{max-width:370px;white-space:pre-wrap;word-break:break-word}.tinyBtn{border:1px solid #cbd6e0;background:white;border-radius:7px;padding:6px 9px;font-size:11px;color:#215674;cursor:pointer;margin:0 2px 3px 0}
    .totalLine{text-align:right;font-weight:800;font-size:18px;margin-top:14px}.warnText{color:var(--warn)}
    @media(max-width:720px){.formGrid{grid-template-columns:1fr}.itemGrid{grid-template-columns:1fr 1fr}.itemDesc{grid-column:1/-1}.editorActions{flex-direction:column}.editorActions button{width:100%}}
    @media(max-width:430px){.itemGrid{grid-template-columns:1fr}}
    /* Phase 3.1: clear dual statuses and trustworthy APP/PR details. */
    .pendingIndicator{font-size:10px;line-height:1.35;margin-top:6px;color:#9b620f;font-weight:700;white-space:normal}
    .pendingIndicator::before{content:'●';font-size:8px;margin-right:5px}
    .listStatusCell{min-width:156px;white-space:normal}
    .appBudgetPanel{border:1px solid #cbdfe9;border-radius:13px;background:linear-gradient(110deg,#f0f7fa,#fff);padding:17px;margin-top:12px}
    .appBudgetPanel h3{font-size:13px;color:#28516c;margin:0 0 12px}
    .budgetGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
    .budgetCell{border-radius:9px;background:#fff;border:1px solid #e1eaf0;padding:13px}
    .budgetLabel{color:#607990;font-size:11px;line-height:1.4}
    .budgetValue{color:#133b55;font-size:18px;font-weight:800;margin-top:7px;overflow-wrap:anywhere}
    .budgetValue.alert{color:#af3640}
    .budgetFoot{color:#627d8f;font-size:11px;margin-top:11px;line-height:1.55}
    .appDetailsCard{border-top:1px solid #e6edf1;margin-top:15px;padding-top:13px}
    .appDetailTitle{font-weight:750;color:#1b4b67;margin-bottom:10px;line-height:1.45}
    .appDetailsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .appDetailsGrid .kv{margin:0}
    .detailItemsTable{width:100%;border-collapse:collapse}
    .detailItemsTable th,.detailItemsTable td{padding:11px 10px;text-align:left;border-bottom:1px solid #e6edf2;font-size:12px;vertical-align:top}
    .detailItemsTable th{background:#f5f8fb;color:#62788d;font-size:10px;text-transform:uppercase}
    .detailItemsTable td:nth-child(3){white-space:pre-wrap;min-width:190px;max-width:420px;overflow-wrap:anywhere}
    @media(max-width:780px){.budgetGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.appDetailsGrid{grid-template-columns:1fr 1fr}}
    @media(max-width:460px){.budgetGrid,.appDetailsGrid{grid-template-columns:1fr}}
    /* Phase 3: cancellation/revision and procurement acceptance — visually separate from PR editing. */
    .lifeBar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
    .lifeHint{background:#f0f6fa;border:1px solid #dce9f1;border-radius:11px;padding:14px 16px;color:#33536c;line-height:1.55;font-size:13px}
    .lifeActions{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0 0}
    .lifeActions .btn{font-size:12px;padding:9px 14px}
    .lifeRequest{border:1px solid #e4eaf1;border-radius:12px;padding:14px 15px;background:#fff;margin-top:12px}
    .lifeRequest .lifeTitle{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;font-weight:700}
    .lifeRequest .lifeReason{font-size:12px;color:#425a70;line-height:1.6;white-space:pre-wrap;margin:9px 0}
    .lifeMeta{color:#6b7e8e;font-size:11px;line-height:1.6;margin-top:4px}
    .lifeModalBackdrop{position:fixed;inset:0;background:rgba(12,31,49,.68);z-index:10005;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}
    .lifeModal{width:min(555px,100%);background:#fff;border-radius:19px;padding:25px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 25px 70px rgba(15,31,52,.22)}
    .lifeModalTitle{font-size:21px;font-weight:800;margin:8px 0}.lifeModalSub{color:#5b7188;line-height:1.55;font-size:13px}
    .lifeModalIcon{background:#e9f3f9;color:#176b8c;border-radius:12px;padding:10px 13px;font-size:22px;display:inline-block}
    .lifeModal .field{margin:20px 0 12px}.lifeModal textarea{min-height:120px}
    .lifeFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:17px;flex-wrap:wrap}
    .lifeModalMessage{color:#a4363c;line-height:1.5;font-size:12px;margin-top:8px}
    @media(max-width:480px){.lifeFooter .btn{flex:1}.lifeModal{padding:19px}}
    /* Project PRISM in-page confirmation; no browser-native confirm dialog. */
    .prismModalOverlay{position:fixed;inset:0;z-index:9999;background:rgba(12,31,49,.62);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
    .prismModal{width:min(490px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--white);border:1px solid #dce7ef;border-radius:18px;padding:27px;box-shadow:0 25px 80px rgba(10,30,48,.26)}
    .prismModalHead{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.prismModalIcon{background:#e8f3f9;color:#176b8c;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;font-weight:800;font-size:23px}
    .prismModalEyebrow{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:5px}.prismModal h2{margin:0;font-size:20px;line-height:1.25}.prismModalDesc{color:#526880;line-height:1.55;margin:13px 0 16px}
    .prismModalSummary{background:#f3f7fa;border:1px solid #e2eaf2;border-radius:12px;padding:6px 16px;margin-bottom:15px}.prismModalRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0}.prismModalRow+.prismModalRow{border-top:1px solid #dde6ed}.prismModalRow span{color:#597086;font-size:12px}.prismModalRow strong{font-size:16px;text-align:right;word-break:break-word}.prismModalRow .prismAmount{font-size:22px;color:#173d57}
    .prismModalWarning{border-left:3px solid #dba94b;background:#fff8e9;padding:10px 12px;border-radius:0 8px 8px 0;font-size:12px;color:#6e5420;line-height:1.55}.prismModalActions{display:flex;justify-content:flex-end;gap:11px;margin-top:24px}.prismModalActions .btn{min-width:125px}.prismModalActions .btn:focus-visible{outline:3px solid #7fc6e8;outline-offset:3px}
    @media(max-width:480px){.prismModal{padding:20px}.prismModalActions{flex-direction:column-reverse}.prismModalActions .btn{width:100%}}

  
    /* Phase 4A: authorized checklist review, without altering end-user permissions. */
    .prcEntry{padding:12px 0;border-bottom:1px solid #e5edf2}
    .prcEntry:last-child{border-bottom:0}
    .prcEntryTitle{font-weight:700;color:#244763;margin-bottom:5px}
    .prcEntryMeta{font-size:12px;color:#65758a;line-height:1.5}
    .prcEntry .chip{margin:7px 0}
    .prcRemark{font-size:12px;color:#546a80;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin:5px 0}
    .prcEditPanel{margin-top:12px;padding:13px;background:#f5f9fc;border:1px solid #dae6ee;border-radius:11px;display:grid;gap:12px}
    .prcEditPanel .input{width:100%;min-width:0}
    .prcEditPanel label{font-size:12px;font-weight:700;color:#51687d;display:block;margin-bottom:5px}
    .prcEditActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
    .prcEditActions .btn{font-size:12px;padding:8px 12px}
    .prcEditError{color:#a52835;font-size:12px;line-height:1.4}
    .prcLink{font-size:12px;overflow-wrap:anywhere}

    /* Phase 4C: PR-scoped document upload and secure in-app download. */
    .docUploadGrid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;align-items:end}
    .docUploadGrid .input{width:100%}.docFileRow{padding:12px 0;border-bottom:1px solid var(--line)}
    .docFileRow:last-child{border-bottom:0}.docFileTitle{font-size:13px;font-weight:700;overflow-wrap:anywhere}
    .docFileMeta{color:var(--soft);font-size:11px;line-height:1.5;margin-top:5px}
    .docFileActions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
    @media(max-width:720px){.docUploadGrid{grid-template-columns:1fr}}
    /* Phase 4C.2: authenticated in-app PDF preview (no public Drive links). */
    .docFileButtons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
    .docDeleteBtn{border:1px solid #bf5961!important;color:#a52a34!important;background:#fff!important}
    .docDeleteWarning{padding:12px;margin:12px 0;background:#fff6f2;border:1px solid #f1d4c6;border-radius:9px;color:#78382c;font-size:13px;line-height:1.55}
    .docDeleteError{font-size:12px;color:#9d2431;margin:8px 0;white-space:pre-wrap}
    .prismPdfLayer{position:fixed;inset:0;z-index:10020;background:rgba(12,31,49,.76);display:flex;align-items:center;justify-content:center;padding:14px}
    .prismPdfDialog{width:min(1080px,100%);height:min(90vh,940px);min-height:350px;background:var(--white);border-radius:15px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.3)}
    .prismPdfHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 19px;border-bottom:1px solid var(--line)}
    .prismPdfHeadText{flex:1;min-width:0}
    .prismPdfHead h2{font-size:17px;margin:0 0 4px;overflow-wrap:anywhere}
    .prismPdfHead .helper{font-size:11px}
    .prismPdfBody{flex:1;min-height:0;overflow:auto;background:#e9eef4;display:flex;flex-direction:column;align-items:stretch}
    .prismPdfViewerToolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px;background:#fff;border-bottom:1px solid var(--line)}
    .prismPdfViewerToolbar .btn{padding:7px 12px;font-size:12px}
    .prismPdfPageInfo{font-weight:700;font-size:12px;color:#244763;min-width:92px;text-align:center}
    .prismPdfCanvasWrap{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:18px 12px;gap:10px}
    .prismPdfCanvasWrap canvas{display:block;max-width:none;background:#fff;box-shadow:0 2px 16px rgba(22,43,62,.18)}
    .prismPdfProgress{margin:auto;text-align:center;padding:22px;color:#526880;line-height:1.5;max-width:440px}
    .prismPdfFoot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:9px 19px;border-top:1px solid var(--line);font-size:11px;color:var(--soft)}
    @media(max-width:600px){.prismPdfLayer{padding:0}.prismPdfDialog{width:100%;height:100dvh;min-height:100dvh;border-radius:0}.prismPdfHead{padding:12px}.prismPdfHead h2{font-size:14px}}
    /* Phase 4F.1 — linked, scoped documentary evidence. */
    .prcEvidencePanel{background:#f6f9fc;border:1px solid #dce6ef;border-radius:9px;padding:12px;margin-top:11px;display:grid;gap:8px}
    .prcEvidenceTitle{font-weight:700;color:#23536d;font-size:12px}
    .prcEvidenceWarning{font-size:12px;color:#a33b28;background:#fff0ed;border-radius:7px;padding:8px;line-height:1.45}
    .prcEvidenceActions,.prcEvidencePicker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
    .prcEvidenceActions button,.prcEvidencePicker button{font-size:12px;padding:8px 10px}
    .prcEvidencePicker select{min-width:210px;max-width:100%;flex:1}

    /* PRISM 4F.2A — accessible typography + purposeful section colors.
       Loading is RED as requested; completion is GREEN; warnings are AMBER. */
    :root{--ink:#102842;--soft:#405c74;--page:#f1f5fa;--line:#cbd8e6;
      --accent:#075f9e;--ok:#08663b;--danger:#b42318;--warn:#925800}
    body{font-size:16px;line-height:1.55;color:var(--ink)}
    h1{font-size:29px}h2{font-size:21px}h3{font-size:16px}
    .sub,.helper,.lifeHint,.docFileMeta,.budgetFoot,.limitNote{color:#40566e!important;font-size:14px!important;line-height:1.6}
    .field label,.formRow label,.statLabel,.kv .key,.budgetLabel{color:#284960!important;font-size:13px!important;font-weight:750}
    .kv .val{font-size:16px;font-weight:700}
    .btn,.input,button,select,textarea{font-size:15px}
    .chip{font-size:12px!important;line-height:1.4;letter-spacing:.1px;padding:7px 11px}
    .chip.good{background:#d9f5e5!important;color:#086437!important;border:1px solid #80cda4}
    .chip.bad{background:#ffe1e0!important;color:#ae1f20!important;border:1px solid #efa5a5}
    .chip.warn{background:#fff0c7!important;color:#855400!important;border:1px solid #e5c06d}
    .notice:not(.error){background:#e5f7eb;color:#075d33;border:1px solid #89d1a8;font-weight:700}
    .notice.error{background:#fff0ee;color:#ac2520;border:1px solid #eab4aa;font-weight:700}
    .prTable th,.itemsTable th,.detailItemsTable th{font-size:12px!important;color:#28475f!important}
    .prTable td,.itemsTable td,.detailItemsTable td{font-size:14px!important;color:#16344d}
    .docFileTitle,.prcEvidenceTitle{font-size:15px!important;color:#1b3760}
    .readOnly,.profileMeta,.budgetFoot,.docFileMeta,.prcEvidenceWarning{font-size:13px!important}
    .prismLoading{color:#b42318!important;font-weight:800!important}
    .prismLoading::before{content:'◌ ';color:#b42318}
    .prismDone{color:#087547!important;font-weight:800!important}
    .prismDone::before{content:'✓ ';color:#087547}
    .prismWarning{color:#a05c00!important;font-weight:750!important}
    /* Color coding by section: color in the heading stripe and faint backgrounds,
       not saturated, inaccessible full-panel fills. */
    #overview>.card{border-left:5px solid #087e8b}
    #listing>.card{border-left:5px solid #1557b0}
    #editor>.card{border-left:5px solid #6650b8}
    #details>.card:first-of-type{border-left:5px solid #2859b0}
    #lifecyclePanel{border-left:5px solid #7953c6;background:#fcfaff}
    #lifecyclePanel h2{color:#583d9f}
    #details>.detailsGrid>.card:first-child{border-left:5px solid #057f9a;background:#f9fdff}
    #details>.detailsGrid>.card:first-child h2{color:#006c88}
    #details>.detailsGrid>.card:last-child{border-left:5px solid #b87800;background:#fffcf6}
    #details>.detailsGrid>.card:last-child h2{color:#905400}
    #documentPanel{border-left:5px solid #6550be;background:#fcfbff}
    #documentPanel h2{color:#543b9e}
    #details>.card:last-child{border-left:5px solid #087e71}
    #details>.card:last-child h2{color:#087e71}
    .prcEvidencePanel{background:#f3f8ff;border-color:#abcce9}
    .appBudgetPanel{border-color:#9dc0e9}
    @media(max-width:600px){body{font-size:15px}.main{padding:16px 12px}h2{font-size:19px}}

  /* PRISM MOCKUP-ALIGNED UI — visual-only styling, retains all server checks */
  :root{--nav:#102947;--accent:#086dba;--soft:#50647c;--ink:#182d4a;--page:#eff5fc;--ok:#007e48;--danger:#c31c3c;--warn:#945a06}
  body{font-size:15px;color:#172b47;background:#eff4fb;line-height:1.5}
  .shell{grid-template-columns:250px minmax(0,1fr)}
  .side{background:linear-gradient(155deg,#08294c 0%,#173d5c 56%,#192f49 100%);padding:19px 12px;box-shadow:4px 0 12px #102f4d10;overflow-y:auto}
  .prismBrandLine{display:flex;align-items:center;gap:12px;padding:8px 10px 2px}.prismMark{display:grid;place-items:center;width:42px;height:42px;background:linear-gradient(145deg,#00bcbc,#346ce4 45%,#8b38d9 85%);border-radius:12px;color:white;font-size:28px}
  .brand{font-size:25px;letter-spacing:1.8px}.brandTiny{font-size:9px;opacity:.75;font-weight:600}.brandSub{margin:7px 10px 22px;color:#caddec;font-size:11px;line-height:1.6}
  .sideLabel{font-size:11px;color:#8dc4e6;margin:17px 13px 8px}.prismNavGroupLabel{border-top:1px solid #ffffff29;padding-top:13px}
  .nav{gap:3px}.nav button{border-radius:9px;font-size:14px;font-weight:650;color:#e7f2fc;padding:11px 12px;display:flex;gap:10px;align-items:center;min-height:42px}
  .nav button:hover,.nav button.active{background:#0874c8;color:white;box-shadow:inset 3px 0 0 #8cdbf7}.navSymbol{font-size:19px;width:22px;text-align:center;flex:0 0 22px;line-height:1}
  .sideFooter{margin:24px 11px;color:#aac6da;font-size:11px}
  .main{max-width:1600px;padding:26px 28px;width:100%}.top{background:#fff;border:1px solid #e3e9f1;border-radius:14px;padding:18px 20px;margin-bottom:21px;box-shadow:0 2px 8px #112a4c08}
  h1{font-size:26px;font-weight:820}h2{font-size:20px;font-weight:800}h3{font-size:16px}.eyebrow{color:#0062a7;font-size:12px;font-weight:800}
  .card{border-radius:13px;border:1px solid #dce6f1;box-shadow:0 2px 7px #123b6109;padding:20px}.sub{color:#50667f}
  .statLabel,.key,.field label,.helper,.readOnly,.limitNote{font-size:13px}.statValue{font-size:26px}.val,.kv .val{font-size:15px}
  .input{font-size:14px;border-color:#aebfd2;padding:11px 12px;min-height:42px}.btn{font-size:13px;padding:10px 15px;background:#0869b9;border-color:#0869b9;border-radius:8px;min-height:39px}.btn:hover{background:#075694}.btn.secondary{border-color:#bad0e5;color:#07518b}.btn.secondary:hover{background:#e9f3fc}
  .prTable{font-size:13px}.prTable th{font-size:12px;color:#243e5d;background:#eaf2fb}.prTable td{white-space:normal}.prTable th,.prTable td{padding:12px 11px}.chip{font-size:11px;font-weight:850;border-radius:6px;padding:5px 9px;letter-spacing:0}
  .chip.good{background:#dcf7e7;color:#006735}.chip.warn{background:#fff0c8;color:#865000}.chip.bad{background:#ffe3e7;color:#aa1731}.chip.info{background:#dfefff;color:#0954a4}
  .prismDashboardIntro{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:4px 0 2px}.prismDashboardIntro h2{font-size:23px;margin:3px 0}.prismKicker{font-size:11px;color:#1762a6;font-weight:850;letter-spacing:1.2px}
  .prismMetricGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .prismMetric{padding:19px 15px 15px;min-height:127px;border-radius:12px;border:1px solid #d9e6f1;background:white;box-shadow:0 1px 5px #1534510a;border-top:5px solid currentColor}
  .metricLabel{font-size:13px;font-weight:800}.metricValue{font-size:31px;font-weight:900;line-height:1.25;margin:9px 0 4px}.metricHelp{font-size:11px;color:#536783}
  .mBlue{color:#0865bd;background:#f7fbff}.mGreen{color:#00783b;background:#f5fff9}.mAmber{color:#a06500;background:#fffcf5}.mRed{color:#bc2945;background:#fff9fa}.mPurple{color:#6536b1;background:#fcf9ff}
  .prismDashboardColumns{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:16px}.prismSectionCard{border-top:5px solid}.prismSectionBlue{border-top-color:#0866b7}.prismSectionGreen{border-top-color:#07965c}.prismSectionPurple{border-top-color:#704ac3}.prismSectionAmber{border-top-color:#c17a12}.prismSectionRed{border-top-color:#bb3545}
  .prismDashboardColumns .toolbar h2{font-size:18px;margin:0}.prismDashboardColumns .prTable td,.prismDashboardColumns .prTable th{font-size:12px;padding:9px 7px}
  .prismInlineStatus{font-size:13px;font-weight:700;border:1px solid #c9def0;background:#edf6ff;color:#14568a;padding:11px 14px;border-radius:9px}
  .prismInlineStatus[data-state="loading"]{background:#fff1f3;border-color:#ffc1ca;color:#b51e3a}.prismInlineStatus[data-state="done"]{background:#e8f8ef;border-color:#9adab6;color:#006b3b}.prismInlineStatus[data-state="error"]{background:#ffe5e8;color:#a41c32;border-color:#ffacb7}
  .prismQuickLinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.prismQuickLinks .helper{flex:1}
  .prismFilters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.prismFilters #appPageSearch{flex:1;min-width:220px}
  .prismReportBars{display:grid;gap:12px;margin-top:18px}.prismBarRow{display:grid;grid-template-columns:180px 1fr 65px;align-items:center;gap:12px;font-size:14px;font-weight:700}.prismBarTrack{height:15px;border-radius:30px;background:#e2ebf5;overflow:hidden}.prismBarFill{height:100%;border-radius:30px;background:#0875b6}.prismBarFill.isComplete{background:#048a51}.prismBarFill.isReturned{background:#c12f49}.prismBarFill.isDraft{background:#a26f12}
  .prism-detail-panels .prism-detail-tracker{border-top:5px solid #078eb0}.prism-detail-panels .prism-detail-checklist{border-top:5px solid #bb7900}.prism-detail-documents{border-top:5px solid #7052c6}.prism-detail-history{border-top:5px solid #008370}.prism-detail-controls{border-top:5px solid #ba3954}.prism-detail-items{border-top:5px solid #1767ad}
  #details[data-prism-focus="checklist"]>.prism-detail-items,#details[data-prism-focus="checklist"]>.prism-detail-controls,#details[data-prism-focus="checklist"]>.prism-detail-documents,#details[data-prism-focus="checklist"]>.prism-detail-history{display:none}
  #details[data-prism-focus="checklist"] .prism-detail-tracker{display:none}
  #details[data-prism-focus="documents"]>.prism-detail-items,#details[data-prism-focus="documents"]>.prism-detail-controls,#details[data-prism-focus="documents"]>.prism-detail-panels,#details[data-prism-focus="documents"]>.prism-detail-history{display:none}
  #details[data-prism-focus="workflow"]>.prism-detail-items,#details[data-prism-focus="workflow"]>.prism-detail-documents,#details[data-prism-focus="workflow"]>.prism-detail-history{display:none}
  #details[data-prism-focus="workflow"] .prism-detail-checklist{display:none}
  #details[data-prism-focus="history"]>.prism-detail-items,#details[data-prism-focus="history"]>.prism-detail-controls,#details[data-prism-focus="history"]>.prism-detail-panels,#details[data-prism-focus="history"]>.prism-detail-documents{display:none}
  #details[data-prism-focus="all"] .prism-detail-panels{grid-template-columns:1fr 1fr}
  #details[data-prism-focus="checklist"] .prism-detail-panels,#details[data-prism-focus="workflow"] .prism-detail-panels{grid-template-columns:minmax(0,1fr)}
  .prismLoading{color:#b21b36!important;font-weight:750}.prismDone{color:#007c41!important;font-weight:750}
  .prcEntryTitle,.docFileRow,.lifeHint{font-size:14px}.prcEntryMeta,.historyItem .sub,.prcRemark{font-size:13px}
  @media(max-width:1270px){.prismMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.prismDashboardColumns{grid-template-columns:1fr}}
  @media(max-width:900px){.shell{grid-template-columns:1fr}.side{min-height:0;padding:14px}.nav{display:flex;flex-direction:row;flex-wrap:wrap}.nav button{font-size:12px;min-height:37px}.prismNavGroupLabel{display:none}.main{padding:16px}.prismMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.top{padding:14px}.prism-detail-panels{grid-template-columns:1fr!important}}
  @media(max-width:520px){.prismMetricGrid{grid-template-columns:1fr 1fr;gap:8px}.prismMetric{padding:13px 10px;min-height:105px}.metricLabel{font-size:11px}.metricValue{font-size:25px}.metricHelp{font-size:10px}.prismBarRow{grid-template-columns:95px 1fr 35px;font-size:11px}.main{padding:12px}.card{padding:14px}h1{font-size:22px}.nav button{padding:8px}.brandSub{margin-bottom:8px}}
  .prismListTabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.prismListTabs button{border:1px solid #b8cde0;border-radius:24px;padding:8px 13px;background:#f3f8fd;color:#245377;font-size:13px;cursor:pointer;font-weight:750}.prismListTabs button.active,.prismListTabs button:hover{background:#0c69af;border-color:#0c69af;color:#fff}
  /* Keep mobile layout within viewport; only tables may scroll horizontally. */
  .shell,.main,.side{min-width:0;max-width:100%}
  .prismMetricGrid{min-width:0}
  .prismMetric{min-width:0;overflow-wrap:anywhere}
  @media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.prismMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.main,.side,.prismDashboardColumns{min-width:0}.prismDashboardColumns{grid-template-columns:minmax(0,1fr)}}
  

  /* Phase 6O — system-wide readability and dashboard polish */
  :root{
    --page:#0a121c;
    --canvas:#0d1724;
    --panel:#ffffff;
    --panel-soft:#f4f8fc;
    --ink:#15314f;
    --ink-strong:#0f2740;
    --soft:#455f79;
    --soft-2:#5c738c;
    --line:#c8d8e7;
    --line-strong:#adc2d7;
    --accent:#0a6fd1;
    --accent-2:#0958a5;
    --accent-soft:#eaf4ff;
    --ok:#117246;
    --warn:#975d06;
    --danger:#b4232d;
  }
  html{background:var(--page)}
  body{background:var(--page);color:var(--ink);font-size:15px;line-height:1.55}
  .main{background:transparent}
  .top,.card,.profile,.prismModal,.prismPdfDialog{background:var(--panel)}
  .card{border-color:#d7e3ee;box-shadow:0 10px 28px rgba(4,22,44,.10)}
  .top{box-shadow:0 8px 24px rgba(4,22,44,.08)}
  h1,h2,h3,.profileName,.kv .val,.val,.brand{color:var(--ink-strong)}
  .sub,.helper,.readOnly,.limitNote,.prcEntryMeta,.historyItem .sub,.prcRemark,.key,.statLabel{color:var(--soft)!important}
  .eyebrow,.prismKicker,.prismModalEyebrow{color:#0b69c4}
  .nav button,.btn,.tinyBtn,.prismListTabs button,.prismMsgListItem,.prismClickableRow,.card,.input,select,textarea{
    transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
  }
  .nav button:hover,.nav button.active,.btn:hover:not(:disabled),.tinyBtn:hover,.prismListTabs button:hover{transform:translateY(-1px)}
  .input,select,textarea{
    color:var(--ink-strong)!important;
    background:#fff;
    border:1px solid var(--line-strong)!important;
    border-radius:10px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
  }
  .input::placeholder,textarea::placeholder{color:#7a8ea4}
  .input:focus,select:focus,textarea:focus{
    outline:none!important;
    border-color:#58a8ef!important;
    box-shadow:0 0 0 3px rgba(40,132,223,.18)!important;
  }
  .btn{
    background:linear-gradient(180deg,#0a73d8 0%,#085fb2 100%)!important;
    border:1px solid #0757a3!important;
    color:#ffffff!important;
    font-weight:800;
    letter-spacing:.1px;
    box-shadow:0 6px 16px rgba(9,91,170,.22);
  }
  .btn:hover:not(:disabled){background:linear-gradient(180deg,#0b7ce7 0%,#0a65bf 100%)!important;box-shadow:0 9px 18px rgba(9,91,170,.28)}
  .btn.secondary{
    background:#ffffff!important;
    color:#0d4f89!important;
    border:1px solid #9fc0df!important;
    box-shadow:0 3px 10px rgba(9,58,106,.06);
  }
  .btn.secondary:hover:not(:disabled){background:#eef7ff!important;color:#0b4a81!important;border-color:#72abdb!important}
  .btn.ghost{
    background:#edf4fb!important;
    color:#2c577c!important;
    border:1px solid #d0dfec!important;
  }
  .btn.ghost:hover:not(:disabled){background:#e2eef9!important;color:#204c70!important}
  button:disabled,.btn:disabled,.tinyBtn:disabled{
    opacity:1!important;
    cursor:not-allowed!important;
    background:#dce7f2!important;
    color:#68809a!important;
    border-color:#c3d2e0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .tinyBtn{
    background:#fff!important;
    color:#0b568e!important;
    border:1px solid #9fbdd8!important;
    font-weight:700;
  }
  .tinyBtn:hover:not(:disabled){background:#eef6ff!important}
  .toolbar,.editorActions,.prismMsgActions,.lifeActions,.prismPdfHead,.prismPdfFoot{gap:10px}
  .prTable th,.itemsTable th{
    color:#24445f!important;
    background:#edf4fb!important;
    font-weight:800;
  }
  .prTable td,.itemsTable td{color:#18344f}
  .prTable tbody tr:hover,.prismClickableRow:hover{background:#f5faff}
  .chip{font-weight:800}
  .chip.good{background:#def7e8;color:#0b6a3b}.chip.warn{background:#fff0cf;color:#8a5604}.chip.bad{background:#ffe4e7;color:#ab2030}.chip.info{background:#e5f0ff;color:#0a57a9}
  .statValue,.metricValue{color:var(--ink-strong)}
  .prismMetric{
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border-color:#d9e6f1;
    box-shadow:0 8px 18px rgba(7,28,52,.06);
  }
  .prismMetric:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(7,28,52,.10)}
  .prismSectionCard{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
  .notice{background:#edf7ff;color:#214f73;border:1px solid #b8d8f2}
  .notice.error{background:#fff0f2;color:#992332;border-color:#f3bcc4}
  .prismInlineStatus{background:#edf6ff;border-color:#bfdaf1;color:#205b8a;font-weight:700}
  .prismInlineStatus[data-state="loading"]{background:#fff0f2;border-color:#f7b2bc;color:#b4232d}
  .prismInlineStatus[data-state="done"]{background:#e8f7ef;border-color:#addcc0;color:#0b6e42}
  .prismInlineStatus[data-state="error"]{background:#fff0f2;border-color:#f5b4be;color:#af2233}
  .prismMsgListItem,.prismMsgBubble,.prcEvidencePanel,.prismPdfHead,.prismPdfFoot{border-color:#cfe0ed}
  .prismMsgBody,.prismMsgMeta,.prismMsgBy{color:#193754}
  .side{background:linear-gradient(180deg,#071c36 0%,#0a2340 48%,#071728 100%)}
  .nav button{color:#eef6ff;border:1px solid transparent}
  .nav button:hover,.nav button.active{background:linear-gradient(180deg,#0b6fcb 0%,#0a5ead 100%);border-color:#5ca7ea;box-shadow:inset 3px 0 0 #8bd3ff,0 6px 14px rgba(5,44,83,.22)}
  .sideLabel,.brandSub,.sideFooter{color:#c5d7e8}
  .prismDashboardIntro,.prismFilters,.toolbar{align-items:center}
  .prismDashboardIntro h2{font-size:24px}
  #overview .card h2,#listing .card h2,#details .card h2,#editor .card h2,#reportsPage .card h2,#messagesPage .card h2{letter-spacing:.1px}
  .totalLine{color:#0f2740;font-size:20px}
  .prismModal,.lifeModal,.prismPdfDialog{box-shadow:0 20px 55px rgba(0,0,0,.25)}
  .prismModalWarning{background:#fff8e9;border-left-color:#d9a640;color:#6b531d}
  .prcQuickUpload{display:block;width:100%;text-align:center;font-weight:800}
  .prismPdfViewerToolbar .btn.secondary,.prcEvidenceActions .btn.secondary,.prcEvidencePicker .btn.secondary{color:#0d4f89!important}
  @media(max-width:900px){
    body{background:var(--page)}
    .main{padding:14px}
    .top,.card{border-radius:14px}
    .btn{min-height:42px}
  }
  @media print{body{background:#fff!important}.card,.top{box-shadow:none!important}}

    /* Phase 5A — formal message inbox (separate from submitted PR inbox). */
    #messagesPage .card{border-left:5px solid #087f96}
    .prismMsgIntro{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
    .prismMsgLayout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);gap:16px;align-items:start}
    .prismMsgList{display:grid;gap:8px;max-height:66vh;overflow-y:auto;padding:3px}
    .prismMsgListItem{width:100%;border:1px solid #cadbe9;border-radius:11px;padding:13px;background:#fff;text-align:left;color:#16334f;display:grid;gap:5px;cursor:pointer}
    .prismMsgListItem:hover,.prismMsgListItem.selected{background:#edf7fc;border-color:#087ba7}
    .prismMsgListItem.unread{border-left:5px solid #e78c12;background:#fff9ee}
    .prismMsgListTop{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#547087}
    .prismMsgTitle{font-size:15px;font-weight:800;overflow-wrap:anywhere}
    .prismMsgMeta{font-size:12px;color:#45627a;overflow-wrap:anywhere}
    .prismMsgBadge{display:inline-grid;place-items:center;min-width:22px;height:22px;background:#f7c349;color:#18314a;border-radius:20px;font-size:12px;font-weight:850;padding:0 6px;margin-left:6px}
    .prismMsgBadge.hide{display:none}
    .prismMsgThread{display:grid;gap:12px}
    .prismMsgBubble{max-width:92%;border:1px solid #c8dded;border-radius:14px;background:#f0f7fc;padding:14px 16px;overflow-wrap:anywhere}
    .prismMsgBubble.mine{background:#eaf8f1;border-color:#a6dabc;margin-left:auto}
    .prismMsgBubble .prismMsgBy{font-size:12px;font-weight:750;color:#365873;margin-bottom:7px}
    .prismMsgBody{white-space:pre-wrap;line-height:1.65;font-size:15px;color:#18324b}
    .prismMsgTimeline{display:grid;gap:12px;max-height:55vh;overflow-y:auto;padding:5px 3px 15px}
    .prismMsgFields{display:grid;gap:13px}
    .prismMsgFields .input{width:100%;min-width:0}
    .prismMsgActions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
    .prismMsgActions button{font-size:14px}
    .prismMsgHint{font-size:13px;color:#3e5c73;line-height:1.5}
    #messagesStatus{min-height:25px;font-size:14px;font-weight:750}
    #messagesStatus.isBusy{color:#b42318}
    #messagesStatus.isGood{color:#087547}
    #messagesStatus.isBad{color:#b42318}
    @media(max-width:850px){.prismMsgLayout{grid-template-columns:1fr}.prismMsgList{max-height:310px}.prismMsgTimeline{max-height:50vh}}

    /* PRISM PHASE 6A — Procurement package and lots workspace. */
    #packagesPage .pkgSummary{border-left:5px solid #156a9d;background:#f3f9ff}
    .pkgItem{display:flex;gap:12px;align-items:flex-start;padding:12px;border-bottom:1px solid #e0e9f1;flex-wrap:wrap}
    .pkgItem:last-child{border-bottom:0}.pkgItem input[type=checkbox]{width:19px;height:19px;margin-top:5px;flex:0 0 19px}
    .pkgItemName{font-weight:750;color:#183a5b;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
    .pkgItemDesc{color:#49647b;font-size:13px}.pkgItemMain{flex:1;min-width:190px}
    .pkgItemLot{width:145px;max-width:100%}.pkgSummary .sub{font-size:14px}
    .pkgCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
    .pkgTile{border:1px solid #cbdde9;background:#f9fbfe;padding:15px;border-radius:12px}
    .pkgTile h3{font-size:16px;color:#164f74;margin:0 0 6px;overflow-wrap:anywhere}
    .pkgTileActions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
    .pkgIntro{padding:13px 15px;border-radius:11px;background:#eaf3fd;border:1px solid #b2d1eb;color:#194f78}
    .pkgStatus{min-height:22px;font-size:14px;font-weight:700}.pkgStatus.loading{color:#bb2724}.pkgStatus.done{color:#086f42}.pkgStatus.error{color:#ad2222}
    .pkgForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .pkgForm .field{min-width:0}.pkgFull{grid-column:1/-1}
    .pkgActions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
    .pkgHelp{font-size:13px;color:#465e73;line-height:1.5;margin-top:6px}
    @media(max-width:650px){.pkgForm{grid-template-columns:1fr}.pkgItemLot{width:100%}.pkgActions button{flex:1}}

    /* PRISM RFQ deadline alerts and clear inline distribution form validation */
    .prismActionBadge{margin-left:auto;padding:2px 8px;border-radius:12px;background:#fce5cf;color:#8a2b02;font-size:12px;font-weight:800}
    .prismDeadlineStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:14px 0}
    .prismDeadlineStat{border:1px solid #d0dfea;border-radius:10px;background:#f5f9fc;padding:11px}
    .prismDeadlineStat strong{display:block;font-size:28px;color:#143655}
    .prismDeadlineStat span{font-size:13px;font-weight:700}
    .prismDeadlineEntry{border:1px solid #cbd9e6;border-radius:10px;padding:13px;margin:9px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fbfdff}
    .prismDeadlineEntry .data{font-size:13px;color:#365779;margin-top:3px}
    .prismUrgent{border-left:5px solid #c42b28}.prismCaution{border-left:5px solid #e4a22c}.prismUpcoming{border-left:5px solid #246fb5}
    .prismDeadlineAlert{color:#af2d21;font-weight:700;margin-top:7px}
    .prismIssueError{color:#b32021;font-size:14px;font-weight:700;margin:10px 0;min-height:1em}
    .prismFieldInvalid{border:2px solid #b32021!important;background:#fff5f4!important}
    /* RFQ Phase 1 — larger text and clear loading/done distinction. */
    .rfqLayout{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
    .rfqBox{border:1px solid #c6d9ea;border-radius:12px;background:#f8fbff;padding:16px;min-width:0}
    .rfqBox h3{margin:0 0 6px;color:#073b6a;font-size:17px}
    .rfqBox p,.rfqBox .sub{font-size:14px}
    .rfqPill{display:inline-block;background:#e3f4e8;color:#09683a;border:1px solid #8cceb0;border-radius:5px;font-size:12px;font-weight:700;padding:3px 8px}
    .rfqDraft{background:#fff0cf;color:#8d5800;border-color:#efc477}
    .rfqInputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-top:12px}
    .rfqInputs .field{margin:0}.rfqInputs label{font-size:14px;font-weight:700}
    .rfqStatus{font-weight:700;font-size:15px;min-height:20px;margin-top:10px}
    .rfqStatus.loading{color:#b32624}.rfqStatus.done{color:#087445}.rfqStatus.error{color:#b32624}
    .rfqSmall{font-size:13px;color:#355572}.rfqActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
    .rfqRows{display:grid;gap:8px;margin:10px 0}
    .rfqRow{display:grid;grid-template-columns:minmax(150px,1fr) 110px;gap:8px;align-items:center;border-bottom:1px solid #dae5ef;padding:7px 0}
    .rfqRow strong{font-size:14px}.rfqRow input{text-align:right}
    .absTableWrap{overflow-x:auto;max-width:100%}
    .absTable{border-collapse:collapse;min-width:650px;width:100%;font-size:14px}
    .absTable th,.absTable td{padding:12px 13px;border:1px solid #c7d8e9;text-align:left;vertical-align:top}
    .absTable th{background:#e6f1fa;color:#053961}
    .absTable .absLow{background:#e9f7ee;color:#075e34;font-weight:700}
    .absTable .absTie{background:#fff1d0;color:#875100;font-weight:700}
    .absPriceRankFlag{display:block;font-size:11px;font-weight:800;margin-top:5px;letter-spacing:.02em}
    .absTable .absMissing{color:#a12d28;background:#fff4f4}
    /* Phase 6E.1: price-only guidance, separate from supplier allocation colors. */
    .paRankHint{padding:9px 11px;background:#e8f6ed;border:1px solid #9bdbc0;color:#145734;border-radius:8px;margin:9px 0 7px;font-size:13px;line-height:1.45}
    .paRankHint.tie{background:#fff2d6;color:#84540a;border-color:#f0cc78}
    .paRankHint.none{background:#eef3f7;color:#38506a;border-color:#d3dfe9}
    .paRankHint strong{font-weight:800}
    .paPriceFootnote{font-size:11px;color:#536a7a;line-height:1.5;margin-top:6px}
    .paScope .paSelectedPrice{margin-top:7px;font-size:12px;font-weight:700}
    .paScope select option.paOptionLow{color:#096943;font-weight:800;background:#e8f6ed}
    .paScope select option.paOptionTie{color:#82500d;font-weight:800;background:#fff0d2}
    /* Phase 6E: Proposed award allocations in the existing Abstract, not an approved award */
    .paLegend{display:flex;flex-wrap:wrap;gap:10px;padding:9px 0}
    .paLegendItem{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
    .paDot{width:13px;height:13px;border-radius:4px;border:1px solid #789}
    .paScopeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:11px;margin:13px 0}
    .paScope{border:1px solid #ccddeb;background:#f8fbff;border-radius:10px;padding:12px}
    .paScope.locked{background:#f0f4f6}
    .paScope h3{font-size:15px;color:#173b59;margin:0 0 5px}
    .paScope .input{width:100%;margin-top:7px}
    .paScope .paMeta{font-size:12px;color:#506780;line-height:1.5}
    .paSelectRow{display:flex;align-items:center;gap:8px}
    .paSelectRow .paDot{flex-shrink:0}
    .paActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}
    .paActions .btn{min-height:38px}
    /* Phase 6L: Visible, accessible submission readiness next to proposal actions. */
    .paSubmitReadiness{margin:10px 0 16px;padding:13px 16px;border-radius:12px;border:2px solid #d3e5d7;background:#effbf3;color:#17472d;font-size:14px;line-height:1.6}
    .paSubmitReadiness.blocked{background:#fff3dc;border-color:#e6a13b;color:#683700}
    .paSubmitReadiness strong{display:block;font-size:15px;line-height:1.5;margin-bottom:4px}
    .paSubmitReadiness ul{margin:7px 0 0;padding-left:21px}
    .paSubmitReadiness li{margin:5px 0;overflow-wrap:anywhere}
    .paActions .paSubmitBlocked{border:2px solid #b75b06!important;background:#fff1d6!important;color:#673800!important;font-weight:800!important;opacity:1!important}
    .paActions .paSubmitBlocked:hover:not(:disabled){background:#ffebc2!important}
    @media(max-width:640px){.paActions{align-items:stretch}.paActions .btn{width:100%}.paSubmitReadiness{font-size:14px}}
    .paGroup{border:1px solid #cbddeb;border-radius:11px;overflow:hidden;margin:12px 0}
    .paGroupHeading{padding:12px 14px;font-size:15px;font-weight:800}
    .paGroup table{width:100%;border-collapse:collapse;font-size:13px}
    .paGroup th,.paGroup td{padding:9px 12px;border-bottom:1px solid #e0e9f1;text-align:left}
    .absProposalPick{font-size:11px;font-weight:800;display:block;padding-top:6px}
    .paPrintRoot{display:none}
    @media print{body.printAwardSchedule>*:not(#paPrintRoot){display:none!important}body.printAwardSchedule #paPrintRoot{display:block!important;position:static!important;background:white;color:black;padding:12px}body.printAwardSchedule #paPrintRoot table{width:100%;border-collapse:collapse}body.printAwardSchedule #paPrintRoot th,body.printAwardSchedule #paPrintRoot td{border:1px solid #666;padding:8px}}
    .absPanel{border:1px solid #c3d9eb;background:#f8fbff;border-radius:11px;padding:15px;margin:12px 0}
    .absPanel h3{margin:0 0 8px;color:#153e68;font-size:17px}
    .absNotice{background:#fff8e8;color:#805007;padding:12px;border:1px solid #efdcae;border-radius:9px;margin:8px 0}
    .absReview{display:grid;gap:8px;margin:9px 0}
    .absReview select,.absReview textarea{width:100%}

    /* Phase 6C.1: compact supplier review summary, single on-demand editor. */
    .absReviewToolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
    .absReviewToolbar .input{width:auto;min-width:185px;max-width:320px}
    .absReviewTableWrap{overflow-x:auto;max-width:100%;margin-top:13px}
    .absReviewTable{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}
    .absReviewTable th,.absReviewTable td{padding:13px 12px;border-bottom:1px solid #d8e6f0;text-align:left;vertical-align:middle}
    .absReviewTable th{background:#e8f3fc;color:#153e68;font-size:13px}
    .absReviewTable tbody tr:hover{background:#f4faff}
    .absReviewTable .absSupplierName{font-weight:800;color:#153e68;font-size:15px}
    .absReviewTable .absSupplierNote{font-size:12px;color:#506c83;max-width:350px;overflow-wrap:anywhere;margin-top:4px}
    .absReviewStatus{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:800;border:1px solid #a6c4df;background:#e7f1fd;color:#244a6b;border-radius:7px}
    .absReviewStatus[data-status="CHECKED"]{border-color:#9dd7b8;background:#e5f6ed;color:#075938}
    .absReviewStatus[data-status="FOLLOW_UP_REQUIRED"]{border-color:#edc285;background:#fff0d9;color:#815100}
    .absTinyFlag{font-weight:750;font-size:12px;display:inline-block;padding:2px 6px;border-radius:5px;margin-top:3px}
    .absTinyFlag.bad{color:#a32626;background:#fff0f0}
    .absTinyFlag.good{color:#067147;background:#e7f6ee}
    .absTinyFlag.warn{color:#865400;background:#fff3d9}
    .absReviewEditor{border:2px solid #0a76ba;border-radius:12px;background:#f7fbff;padding:20px;margin-top:18px}
    .absReviewEditor.hide{display:none!important}
    .absReviewEditor h3{margin:0;font-size:19px;color:#123e66}
    .absReviewEditor .absEditorFields{display:grid;gap:12px;margin-top:13px}
    .absReviewEditor textarea{width:100%;min-height:110px}
    .absReviewEditor select{min-width:220px;max-width:380px;width:100%}
    .absReviewEditor label{font-weight:800;font-size:14px;display:block;margin-bottom:6px}
    .absReviewEditor .absEditorButtons{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}
    .absReviewEditor .absEditorHead{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    @media(max-width:680px){.absReviewToolbar{width:100%}.absReviewToolbar .input{width:100%;max-width:unset}.absReviewEditor{padding:13px}}


    @media(max-width:650px){.rfqRow{grid-template-columns:1fr}.rfqLayout{grid-template-columns:1fr}}


  /* Hybrid readiness: nonblocking status for secondary data, scoped to the current page. */
  .prismBackgroundStatus{padding:11px 15px;border-radius:10px;border:1px solid #efc3cc;background:#fff1f3;color:#a92239;font-size:13px;font-weight:720;margin:0 0 15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .prismBackgroundStatus.hide{display:none!important}
  .prismBackgroundStatus[data-state="done"]{background:#e9f8f0;color:#006d3f;border-color:#a2dec0}
  .prismBackgroundStatus[data-state="error"]{background:#fff1f2;color:#a62237;border-color:#f3a7b5}
  .prismBackgroundStatus .prismBgMark{font-size:18px}

  /* Project PRISM — honest page-readiness overlay (frontend only). */
  .prismPageGate{position:fixed;inset:0;z-index:99999;background:rgba(12,29,50,.72);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(5px)}
  .prismPageGate.hide{display:none!important}
  .prismPageGateCard{background:#fff;color:#123451;width:min(520px,100%);border:2px solid #d6e5f5;border-radius:18px;box-shadow:0 24px 75px rgba(0,0,0,.32);padding:27px;max-height:87vh;overflow:auto}
  .prismPageGateBrand{font-size:12px;letter-spacing:.15em;color:#0869ae;font-weight:850;text-transform:uppercase;margin-bottom:7px}
  .prismPageGateCard h2{font-size:25px;line-height:1.18;margin:0 0 9px;color:#0d2d52}
  .prismPageGateStatus{font-size:15px;line-height:1.5;color:#bb2135;font-weight:750;margin-bottom:14px}
  .prismPageGateBar{height:10px;background:#e8eff8;border-radius:100px;overflow:hidden;margin-bottom:9px}
  #prismGateBarFill{display:block;height:100%;width:0;background:#0878c5;transition:width .22s ease}
  .prismPageGateCount{font-size:13px;color:#45657e;font-weight:650;margin-bottom:14px}
  .prismPageGateTasks{display:grid;gap:9px;list-style:none;margin:0;padding:0}
  .prismPageGateTasks li{display:flex;gap:11px;align-items:flex-start;background:#f4f8fd;border:1px solid #dce8f4;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}
  .prismPageGateTasks li[data-state="loading"]{color:#a71c2c}
  .prismPageGateTasks li[data-state="done"]{color:#08713d}
  .prismPageGateTasks li[data-state="error"]{color:#b32b22;background:#fff3f3}
  .prismPageGateTasks .gateMark{font-size:18px;line-height:1;min-width:20px;text-align:center}
  .prismPageGateNote{font-size:13px;line-height:1.4;color:#496279;margin-top:16px}
  .prismPageGateAction{margin-top:13px;padding:11px 15px;border-radius:9px;border:1px solid #0675bd;color:#fff;font-size:14px;font-weight:750;background:#0767af;cursor:pointer;width:100%}
  .prismPageGateAction.hide{display:none!important}
  @media(max-width:600px){.prismPageGateCard{padding:19px}.prismPageGateCard h2{font-size:22px}}
  @media(prefers-reduced-motion:reduce){#prismGateBarFill{transition:none}}

  /* PRISM Action Feedback v1 — viewport-anchored, nonmodal, truthful. */
  .prismFeedbackHost{position:fixed;inset:0;z-index:99997;display:flex;align-items:flex-start;justify-content:center;padding:clamp(80px,24vh,230px) 14px 14px;pointer-events:none}
  .prismFeedbackHost.hide{display:none!important}
  .prismFeedbackCard{pointer-events:auto;display:grid;grid-template-columns:34px minmax(0,1fr) 30px;gap:12px;align-items:start;width:min(445px,100%);background:#fff;border:2px solid #78abd5;border-radius:16px;padding:15px;box-shadow:0 12px 55px rgba(10,42,73,.26);color:#163755;overflow-wrap:anywhere}
  .prismFeedbackCard[data-state=working]{border-color:#e4a0aa;background:#fff7f8}
  .prismFeedbackCard[data-state=success]{border-color:#48ac83;background:#f4fff9}
  .prismFeedbackCard[data-state=error]{border-color:#d97f80;background:#fff8f7}
  .prismFeedbackCard[data-state=slow]{border-color:#d7a34d;background:#fffdf7}
  .prismFeedbackIcon{display:grid;place-items:center;border-radius:100%;height:32px;width:32px;background:#ffe2e7;color:#ac2638;font-weight:900;font-size:18px}
  [data-state=success]>.prismFeedbackIcon{background:#d8f5e6;color:#09703e}
  [data-state=error]>.prismFeedbackIcon{background:#ffe3e3;color:#b4212a}
  [data-state=slow]>.prismFeedbackIcon{background:#fff0cb;color:#996007}
  .prismFeedbackTitle{font-size:16px;line-height:1.25;font-weight:850}
  .prismFeedbackDetail{font-size:13px;line-height:1.4;margin-top:5px;color:#516a80;white-space:pre-wrap;max-height:130px;overflow-y:auto}
  .prismFeedbackCard[data-state=working] .prismFeedbackIcon{animation:prismFeedbackSpin 1.4s linear infinite}
  @keyframes prismFeedbackSpin{to{transform:rotate(360deg)}}
  .prismFeedbackClose{background:transparent;color:#4c657c;border:0;border-radius:7px;padding:3px 0;font-size:22px;line-height:1;min-width:30px;min-height:30px;cursor:pointer}
  .prismFeedbackClose:hover{background:#e9edf3}
  @media(prefers-reduced-motion:reduce){.prismFeedbackCard[data-state=working] .prismFeedbackIcon{animation:none}}


    /* PRISM Simplified Evaluation — presentation only; existing auth, routes and records preserved. */
    /* Phase 6D.4: clear two-step evaluation; advanced assessment tools stay available on demand. */
    .evalReadiness{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 16px}
    .evalMetric{border:1px solid #dbe7f0;border-radius:11px;background:#f7fafd;padding:13px 14px;min-width:0}
    .evalMetric strong{display:block;font-size:22px;color:#183955;line-height:1.2;margin-bottom:4px}
    .evalMetric span{font-size:11px;color:#526a80;font-weight:700}
    .evalMetric.warn{border-color:#edce87;background:#fff9e9}.evalMetric.warn strong{color:#8b5a10}
    .evalMetric.success{border-color:#b6e4cd;background:#f0fbf5}.evalMetric.success strong{color:#097446}
    .evalTableToolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0}
    .evalOnlyAttention{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#244e6d;cursor:pointer}
    .evalOnlyAttention input{width:16px;height:16px;accent-color:#086db1}
    .evalAdvancedTools{margin-top:18px;padding:14px 16px;border:1px solid #c8dced;background:#f6faff;border-radius:12px}
    .evalAdvancedTools>summary{cursor:pointer;color:#0964a2;font-weight:800;font-size:14px;padding:2px 0;line-height:1.5}
    .evalAdvancedHelp{color:#607b8f;font-weight:500;font-size:12px}
    .evalAdvancedTools[open]>summary{margin-bottom:14px}
    .evalStatusHint{font-size:11px;color:#57758a;line-height:1.45}
    .evalActionNeeded{color:#97530a;font-weight:700}
    .evalReviewFootnote{margin-top:12px;padding:11px 13px;background:#fff8e9;border:1px solid #f2d9a2;border-radius:9px;font-size:12px;color:#74531b;line-height:1.5}
    @media(max-width:900px){.evalReadiness{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:480px){.evalReadiness{grid-template-columns:1fr 1fr}.evalAdvancedHelp{display:block}.evalTableToolbar{align-items:flex-start}}
    .evalAssessmentGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:13px 0}
    .evalAssessmentGrid .field select{max-width:none;width:100%;min-width:0}
    .evalAssessmentHint{font-size:13px;padding:12px 14px;border:1px solid #c9d9e9;border-radius:10px;background:#eff7ff;color:#214b69;margin:12px 0;line-height:1.5}
    .evalAssessmentHint.warn{background:#fff8e7;border-color:#f0cd82;color:#745308}
    .evalAssessmentHint.bad{background:#fff0f0;border-color:#efafaf;color:#991b1b}
    .evalOptionalDetails{margin-top:13px;border:1px solid #d4e3ef;background:#fff;border-radius:9px;padding:11px 14px}
    .evalOptionalDetails summary{cursor:pointer;font-weight:750;color:#265478}
    .evalOptionalDetails .field{margin-top:12px}
    .evalFindingsField textarea{min-height:74px!important}
    @media(max-width:660px){.evalAssessmentGrid{grid-template-columns:1fr;gap:9px}}

  
    /* Phase 6D.2: compact batch review and packaging presets. */
    .prbulkPanel{background:#eff7ff;border:1px solid #a4cde5;border-radius:13px;padding:15px;margin:12px 0 20px}
    .prbulkFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0}
    .prbulkToolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:12px 0}
    .prbulkRows{max-height:330px;overflow:auto;background:white;border:1px solid #c8d7e7;border-radius:9px}
    .prbulkRow{display:flex;align-items:center;gap:11px;padding:9px 11px;border-bottom:1px solid #e4edf4;font-size:14px}
    .prbulkRow:last-child{border-bottom:0}.prbulkRow input,.prbulkConfirm input{width:17px;height:17px;flex-shrink:0}
    .prbulkRow small{color:#50667e;display:block;margin-top:2px}
    .prbulkConfirm{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;color:#143b58;padding:10px 0}
    .prbulkCount{color:#34495e;font-size:13px}
    @media(max-width:650px){.prbulkFields{grid-template-columns:1fr}}

    /* Phase 5C — docked Message Inbox. Same authenticated messaging, no new backend. */
    #prismMsgDockLaunch{position:fixed;right:20px;bottom:18px;z-index:8900;display:flex;align-items:center;gap:9px;border:0;border-radius:24px;background:#0873c4;color:#fff;font-weight:800;font-size:15px;padding:13px 17px;box-shadow:0 8px 27px rgba(13,51,87,.32)}
    #prismMsgDockLaunch:focus-visible,#prismMsgDockMin:focus-visible,#prismMsgDockBack:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
    #prismMsgDockBadge{display:inline-grid;place-items:center;border-radius:100px;background:#f59e0b;color:#172940;min-width:23px;height:23px;padding:0 5px;font-size:12px;font-weight:900}
    #messagesPage.prismMsgDock{position:fixed;bottom:80px;right:20px;z-index:8901;display:flex;flex-direction:column;gap:0;width:min(480px,calc(100vw - 24px));height:min(680px,calc(100dvh - 106px));margin:0;padding:0;border:1px solid #bdd4e7;background:#f4f8fc;border-radius:17px;box-shadow:0 18px 55px rgba(13,42,68,.29);overflow:hidden;max-width:none}
    #messagesPage.prismMsgDock .prismMsgDockHeader{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#103b60;color:#fff;padding:12px 13px;flex:none}
    #messagesPage.prismMsgDock .prismMsgDockTitle{font-size:16px;font-weight:850;line-height:1.2}
    #messagesPage.prismMsgDock .prismMsgDockCaption{font-size:11px;color:#bad8ef;margin-top:3px}
    #messagesPage.prismMsgDock .prismMsgDockControls{display:flex;gap:5px}
    #messagesPage.prismMsgDock .prismMsgDockControls button{border:1px solid #84b2d1;color:#fff;background:#1e557b;border-radius:8px;padding:7px 10px;min-height:32px;font-size:12px;font-weight:750}
    #messagesPage.prismMsgDock .prismMsgDockBody{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:9px;padding:11px;flex:1;min-height:0}
    #messagesPage.prismMsgDock .card{padding:12px;border:1px solid #d4e4f0;border-radius:10px;box-shadow:none}
    #messagesPage.prismMsgDock .prismMsgIntro h2{margin-bottom:3px;font-size:15px}
    #messagesPage.prismMsgDock .prismMsgIntro .sub{font-size:11px;line-height:1.4;margin:0}
    #messagesPage.prismMsgDock .prismMsgIntro .prismMsgActions button{font-size:12px;padding:7px 10px}
    #messagesPage.prismMsgDock .prismMsgLayout{display:flex;flex-direction:column;gap:9px;min-width:0}
    #messagesPage.prismMsgDock .prismMsgLayout > .card{min-width:0;width:100%}
    #messagesPage.prismMsgDock .prismMsgList{max-height:290px;min-width:0}
    #messagesPage.prismMsgDock .prismMsgListItem{padding:10px 12px}
    #messagesPage.prismMsgDock .prismMsgTimeline{max-height:255px}
    #messagesPage.prismMsgDock .prismMsgBody{font-size:13px}
    #messagesPage.prismMsgDock textarea.input{min-height:55px}
    #messagesPage.prismMsgDock #messagesThreadEntries{scrollbar-width:thin;overflow-anchor:none}
    #messagesPage.prismMsgDock .prismMsgScrollControls{display:flex;justify-content:flex-end;margin:3px 0 0}
    #messagesPage.prismMsgDock .prismMsgScrollControls .tinyBtn{font-size:12px;font-weight:750;padding:5px 9px;color:#0867a3;background:#e9f4fd;border:1px solid #b4d6ec}
    #messagesPage.prismMsgDock #messagesStatus{min-height:0;font-size:12px}
    #messagesPage.prismMsgDock .prismMsgLayout h2{font-size:15px}
    #messagesPage.prismMsgDock.prismMsgDockConversation .prismMsgLayout > .card:first-child{display:none}
    #messagesPage.prismMsgDock .prismMsgDockBack.hide{display:none!important}
    @media(max-width:600px){#prismMsgDockLaunch{right:10px;bottom:10px;padding:12px 14px}#messagesPage.prismMsgDock{right:8px;bottom:69px;width:calc(100vw - 16px);height:min(690px,calc(100dvh - 85px))}#messagesPage.prismMsgDock .prismMsgDockBody{padding:8px}}
    @media print{#prismMsgDockLaunch,#messagesPage.prismMsgDock{display:none!important}}

/* PRISM official workflow + read-only procurement activity overview */
.prwCardHead{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.prwCardHead h2{margin:0 0 5px;color:#0f416b;font-size:20px}
.prwExplainer{margin:0;color:#60738a;font-size:12px;line-height:1.5}
.prwCardHead button{padding:9px 12px;font-size:12px;white-space:nowrap}
.prwHero{border:1px solid #c9e0f3;border-radius:13px;background:linear-gradient(125deg,#eff8fe,#fff);padding:14px 15px;margin-bottom:12px}
.prwHeroLabel{font-size:11px;color:#54758c;text-transform:uppercase;letter-spacing:.75px;font-weight:800}
.prwHeroStage{font-size:20px;line-height:1.32;font-weight:850;color:#123b60;margin:7px 0 9px}
.prwBadgeRow{display:flex;flex-wrap:wrap;gap:6px}
.prwBadge{display:inline-flex;align-items:center;gap:4px;border-radius:18px;padding:5px 9px;background:#e7eef6;color:#33536d;font-size:11px;font-weight:750}
.prwBadge.ok{background:#dcf4e5;color:#0b713c}.prwBadge.warn{background:#fff0d5;color:#945b00}.prwBadge.err{background:#ffebec;color:#a01d2c}
.prwInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.prwInfo{padding:11px 12px;border:1px solid #e2eaf1;border-radius:9px;background:#fafcff;min-width:0}
.prwInfo span{display:block;font-size:11px;color:#62778a;margin-bottom:5px}
.prwInfo strong{color:#173f5e;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.prwNext{background:#eaf7f8;border-left:4px solid #0891a9;border-radius:8px;padding:12px 13px;margin:10px 0;color:#164c61;line-height:1.5}
.prwNext b{display:block;margin-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.55px}
.prwSectionTitle{font-size:12px;font-weight:800;color:#234760;margin:14px 0 9px}
.prwTimeline{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0 10px}
.prwStep{border:1px solid #d7e0eb;border-radius:8px;padding:8px 9px;font-size:11px;color:#587080;background:#fafcff;max-width:185px;line-height:1.3}
.prwStep.current{border-color:#107dbb;background:#e7f5ff;color:#075782;font-weight:800}
.prwStep.before{border-color:#d2e9de;background:#f4fcf7;color:#476754}
.prwMetricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.prwMetric{background:#f3f7fb;border-radius:9px;padding:11px 6px;text-align:center;border:1px solid #e2eaf2}
.prwMetric strong{display:block;font-size:20px;color:#0f466b;margin-bottom:3px}
.prwMetric span{font-size:10px;color:#577184;font-weight:700;line-height:1.4}
.prwActivityItem{display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid #edf1f6;padding:8px 0;font-size:12px;color:#24455f}
.prwActivityItem small{color:#6b7e90;font-size:10px;text-align:right}
.prwCaution{font-size:11px;line-height:1.5;color:#885100;background:#fff5e6;border:1px solid #eed6aa;padding:11px;border-radius:8px;margin:10px 0}
.prwMuted{font-size:11px;color:#61788b;line-height:1.5;margin:8px 0}
.prwActivityNotice{padding:9px;background:#f4f8fb;border-radius:8px;color:#50667b;font-size:11px;line-height:1.5}
 .prwActions{display:flex;gap:8px;flex-wrap:wrap}.prwStagePanel{background:#f7fbff;border:1px solid #c7dff0;border-radius:12px;padding:15px;margin-top:16px}.prwStagePanel h3{margin:0 0 6px;font-size:16px;color:#12446c}.prwStagePanel p{line-height:1.5}.prwStagePanel .prwBlock{border:1px solid #f1cf99;background:#fff6e8;padding:10px;border-radius:8px;color:#885200;margin:7px 0;font-size:12px}.prwStagePanel label{font-size:12px;display:block;color:#164969;font-weight:750;margin:10px 0 5px}.prwStagePanel textarea,.prwStagePanel input[type=text]{width:100%;box-sizing:border-box}.prwStagePanel .prwConfirm{display:flex;align-items:start;gap:9px;font-size:12px;font-weight:600;color:#36536b}.prwStagePanel .prwConfirm input{margin-top:3px}.prwStagePanel .prwBtns{display:flex;gap:9px;justify-content:end;margin-top:12px;flex-wrap:wrap}
@media(max-width:580px){.prwInfoGrid{grid-template-columns:1fr}.prwMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.prwHeroStage{font-size:18px}}


/* Phase 6G: centered accessible stage-review dialog, with a scrollable mobile-safe body. */
.prwDialogOverlay{position:fixed;inset:0;z-index:19000;background:rgba(12,32,56,.68);display:flex;align-items:center;justify-content:center;padding:18px;overscroll-behavior:contain}
.prwDialog{display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 90px rgba(4,21,38,.38);border:2px solid #b5d9ef;width:min(720px,100%);max-height:min(86dvh,900px);overflow:hidden;outline:none}
.prwDialogHeader{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:19px 22px 16px;background:#eaf5ff;border-bottom:1px solid #c3ddeb}
.prwDialogEyebrow{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#29718b;font-weight:800;margin-bottom:7px}
.prwDialogHeader h2{font-size:21px;color:#0b436b;margin:0}.prwDialogX{width:36px;height:36px;font-size:28px;line-height:1;background:#fff;border:1px solid #bed6e6;border-radius:9px;color:#0c5279;flex:none}
#prismStageReviewPanel.prwStagePanel{min-height:120px;overflow-y:auto;flex:1;padding:18px 22px 24px;margin:0;border:0;border-radius:0;background:#fff}
#prismStageReviewPanel.prwStagePanel h3{font-size:15px;margin-bottom:10px}
#prismStageReviewPanel .prwBlock{font-size:13px;padding:12px}
#prismStageReviewPanel .prwMuted{font-size:13px;line-height:1.6}
.prwDialogOpen{overflow:hidden}
@media(max-width:650px){.prwDialogOverlay{padding:9px;align-items:center}.prwDialog{max-height:92dvh;border-radius:13px}.prwDialogHeader{padding:15px}.prwDialogHeader h2{font-size:18px}#prismStageReviewPanel.prwStagePanel{padding:15px}}

/* Phase 6Q — Messenger-style, honest send/receipt indicators and visible live conversation */
#messagesPage.prismMsgDock .prismMsgReplyHint{font-size:12px;font-weight:700;color:#a2232b;padding:6px 4px;line-height:1.35}

#messagesPage.prismMsgDock .prismMsgBubble{position:relative;max-width:95%;}
#messagesPage.prismMsgDock .prismMsgBubble.mine{margin-left:auto;background:#e9f6ee;border-color:#9bd3ae}
#messagesPage.prismMsgDock .prismMsgBubble.prismMsgPending{opacity:.90;border-style:dashed}
#messagesPage.prismMsgDock .prismMsgBubble.prismMsgFailed{border-color:#e68b8b;background:#fff1f1}
#messagesPage.prismMsgDock .prismMsgReceipt{font-size:11px;font-weight:750;color:#49647f;text-align:right;margin-top:7px;line-height:1.4}
#messagesPage.prismMsgDock .prismMsgReceipt[data-status="sending"]{color:#87651c}
#messagesPage.prismMsgDock .prismMsgReceipt[data-status="sent"]{color:#316284}
#messagesPage.prismMsgDock .prismMsgReceipt[data-status="delivered"]{color:#145b9d}
#messagesPage.prismMsgDock .prismMsgReceipt[data-status="seen"]{color:#087345}
#messagesPage.prismMsgDock .prismMsgReceipt[data-status="failed"]{color:#a4242e}
#messagesPage.prismMsgDock .prismMsgRetry{margin:5px 0 0;padding:4px 9px;font-size:11px;border:1px solid #d08080;border-radius:7px;background:#fff;color:#9c222e;font-weight:800}
#messagesPage.prismMsgDock .prismMsgSendingPreview{border:1px dashed #a9cde5;border-radius:10px;background:#f2f8ff;padding:11px;margin-top:12px;overflow-wrap:anywhere}
#messagesPage.prismMsgDock .prismMsgSendingPreview .prismMsgReceipt{text-align:left}
#messagesPage.prismMsgDock.prismMsgThreadMode .prismMsgDockBody{overflow:hidden;gap:0;padding:8px}
#messagesPage.prismMsgDock.prismMsgThreadMode .prismMsgDockBody>.card:first-child{display:none}
#messagesPage.prismMsgDock.prismMsgThreadMode .prismMsgLayout{display:flex;flex:1;min-height:0;gap:0}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesRightPanel{flex:1;display:flex;flex-direction:column;min-height:0;padding:11px}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesThread:not(.hide){display:flex;flex-direction:column;min-height:0;flex:1}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesThreadEntries{flex:1;min-height:90px;max-height:none;overflow-y:auto;scrollbar-width:thin;padding:7px 3px 11px;overscroll-behavior:contain}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesReplyBlock{flex:none;gap:6px;margin-top:6px!important}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesReply{min-height:45px;max-height:115px;resize:vertical}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesReplyBlock .field label{font-size:11px}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesThread .toolbar{margin-bottom:5px}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesThreadTitle{font-size:15px;line-height:1.3}
#messagesPage.prismMsgDock.prismMsgThreadMode #messagesThreadMeta{font-size:10px}
#messagesPage.prismMsgDock.prismMsgThreadMode .prismMsgScrollControls{flex:none}
@media(max-height:600px){#messagesPage.prismMsgDock.prismMsgThreadMode #messagesReply{min-height:38px;max-height:85px}}
@media(prefers-reduced-motion:reduce){#messagesPage.prismMsgDock .prismMsgBubble{transition:none!important}}




.prcEntryStage{margin-top:7px;font-size:12px;font-weight:700;color:#24668c}
.prcEntryGate{font-size:12px;line-height:1.55;font-weight:700;padding:9px 11px;margin:8px 0 5px;border-radius:9px;border:1px solid}
.prcGateBlock,.prcEntryGateWarning{color:#995000;background:#fff4de;border-color:#edca7b}
.prcEntryGateWarning{padding:12px;border-style:solid;border-width:1px;border-radius:10px;margin-bottom:12px;font-size:13px}
.prcGateDone{color:#146a3a;background:#e4f6eb;border-color:#90dcb0}
.prcGateFuture{color:#315b7f;background:#eff6fc;border-color:#c7dced}
@media(max-width:650px){.prcEntryGate{font-size:12px;padding:9px}.prcEntryStage{font-size:12px}}




/* PROJECT PRISM — Phase 6J visual refresh (presentation only).
   No changes to sessions, PR workflow, supplier data, RFQ calls, or message behavior. */
:root{--page:#080c14;--nav:#081321;--accent:#157ce5;--ink:#142846;--soft:#576d86;--line:#e1eaf3;--ok:#08794b;--warn:#a86009;--danger:#bb2940}
html{background:#080c14}
body{background:#080c14;color:#172b47}
#app.shell{background:#080c14;min-height:100vh}
#app .side{background:linear-gradient(175deg,#09182d 0%,#0b203a 43%,#0b1020 100%);border-right:1px solid rgba(118,172,235,.20);box-shadow:5px 0 32px rgba(0,0,0,.20)}
#app .main{background:transparent;min-width:0}
#app .prismBrandLine{padding-top:13px}
#app .prismMark{background:linear-gradient(135deg,#09c8d8 0%,#346ef0 55%,#9e49ef 100%);border:1px solid rgba(255,255,255,.24);box-shadow:0 4px 20px rgba(44,119,245,.32);transform:rotate(-3deg)}
#app .brand{font-weight:900;letter-spacing:2.6px;font-size:27px;text-shadow:0 2px 13px rgba(37,175,253,.16)}
#app .brandSub{color:#c4d9ee;font-size:11px;letter-spacing:.05px}
#app .sideLabel{color:#80c7fd;font-weight:800;letter-spacing:1.65px}
#app .nav button{transition:background .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease;border:1px solid transparent}
#app .nav button:hover{background:#153d68;border-color:rgba(133,204,255,.18);transform:translateX(3px)}
#app .nav button.active{background:linear-gradient(105deg,#1174d9,#16478c);border-color:rgba(138,209,255,.38);box-shadow:inset 4px 0 0 #53ddff,0 6px 20px rgba(2,14,39,.23);color:#fff}
#app .nav .navSymbol{color:#8ce7ff}
#app .top{background:linear-gradient(120deg,#fff 0%,#f4f9ff 100%);border:1px solid #d6e9fb;box-shadow:0 8px 32px rgba(0,0,0,.15);border-radius:17px}
#app .eyebrow{color:#0a72bb;font-weight:850}
#app .card{background:#fff;border-color:#dce7f2;border-radius:17px;box-shadow:0 7px 26px rgba(0,0,0,.12)}
#app .card h2{letter-spacing:-.25px}
#app .prismSectionCard{border-top-width:4px}
#app .prismDashboardIntro h2{color:#f3f8ff;font-size:25px}
#app .prismDashboardIntro .sub{color:#bdd2ea}
#app .prismKicker{color:#6bdfff}
#app .prismQuickLinks .helper{color:#c2d4e9}
#app .prismMetric{border-radius:15px;box-shadow:0 7px 25px rgba(0,0,0,.16);transition:transform .2s ease,box-shadow .2s ease}
#app .prismMetric:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
#app .btn{border-radius:11px;background:linear-gradient(115deg,#0874d4,#1156b8);border-color:#1769c8;box-shadow:0 4px 12px rgba(13,85,180,.12);transition:transform .17s ease,box-shadow .17s ease,filter .17s ease}
#app .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 18px rgba(13,85,180,.22);filter:brightness(1.07)}
#app .btn.secondary{background:#fff;color:#135890;border-color:#c0d9ec;box-shadow:none}
#app .btn.secondary:hover:not(:disabled){background:#ebf6ff}
#app .chip.good,#app .prwBadge.ok{background:#ddf8e8;color:#08743e;border:1px solid #8bd8ad}
#app .chip.warn,#app .prwBadge.warn{background:#fff1d4;color:#895200;border:1px solid #efce8c}
#app .chip.bad,#app .prwBadge.err{background:#ffe7ed;color:#af243c;border:1px solid #f1b3c2}
#app .prwHero{border-left:4px solid #0998c0;background:linear-gradient(110deg,#eaf7ff,#fff)}
#app .prwStep.current{border-color:#278ce1;background:#dceeff;box-shadow:0 0 0 1px rgba(28,114,224,.14)}
#app .prwMetric{background:linear-gradient(145deg,#f0f8ff,#fff)}
#app .rfqLayout{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:17px;margin-top:18px}
#app .rfqBox.prismRfCard{background:#fff;border:1px solid #cfe2f4;border-radius:17px;padding:19px;overflow:hidden;border-top:5px solid #1687d6;box-shadow:0 6px 23px rgba(19,52,103,.09);transition:box-shadow .2s ease,transform .2s ease, border-color .2s ease;min-width:0}
#app .rfqBox.prismRfCard:hover{transform:translateY(-3px);border-color:#8ac6ea;box-shadow:0 14px 32px rgba(19,52,103,.16)}
#app .rfqBox.prismRfDraft{border-top-color:#e3ab3d}
#app .prismRfHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
#app .prismRfEyebrow{font-size:10px;letter-spacing:1.5px;font-weight:850;color:#557c99;margin-bottom:3px}
#app .prismRfHead h3{font-size:22px;font-weight:900;color:#104778;line-height:1.2;margin:0;overflow-wrap:anywhere}
#app .prismRfHead .rfqPill{border-radius:999px;padding:6px 11px;font-size:11px;letter-spacing:.55px;background:#d8f8e5;border:1px solid #6bca9c;color:#077441;box-shadow:0 2px 6px rgba(12,117,75,.08)}
#app .prismRfHead .rfqPill.rfqDraft{background:#fff2d7;color:#885500;border-color:#ebce8f}
#app .prismRfFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 14px}
#app .prismRfFact{min-width:0;display:flex;flex-direction:column;gap:5px;background:#f3f8fe;border:1px solid #e3edf7;border-radius:11px;padding:10px 11px}
#app .prismRfFact.prismRfFactDeadline{background:#fff3e3;border-color:#f2d5a4}
#app .prismRfFactLabel{font-size:10px;color:#53738c;letter-spacing:.6px;font-weight:850}
#app .prismRfFactDeadline .prismRfFactLabel{color:#a15d09}
#app .prismRfFactValue{font-size:13px;color:#163e60;line-height:1.35;overflow-wrap:anywhere}
#app .prismRfFactDeadline .prismRfFactValue{color:#9a5109}
#app .prismRfRemarks{background:#f7f7fc;border-left:3px solid #7b66cf;color:#4d5972;font-size:12px;line-height:1.5;padding:9px 11px;margin:9px 0}
#app .prismRfQuoteHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px;padding-top:14px;border-top:1px solid #e0eaf4}
#app .prismRfQuoteLabel{font-size:13px;color:#163f63;font-weight:850}
#app .prismRfQuoteCount{font-size:16px;font-weight:900;color:#fff;background:linear-gradient(120deg,#087dce,#315fc1);border-radius:999px;min-width:30px;padding:3px 9px;text-align:center}
#app .prismRfSuppliers{display:grid;gap:8px}
#app .prismRfSupplier{padding:11px 12px;background:#f9fbff;border:1px solid #e0eaf4;border-radius:11px;transition:background .2s ease,border-color .2s ease}
#app .prismRfSupplier:hover{background:#eff7ff;border-color:#b7d9f1}
#app .prismRfSupplierTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
#app .prismRfSupplierIdentity{min-width:0;display:flex;flex-direction:column;gap:3px}
#app .prismRfSupplierName{font-size:13px;color:#173e64;overflow-wrap:anywhere}
#app .prismRfSupplierDate{font-size:11px;color:#677f96}
#app .prismRfSupplierAmount{color:#095b98;font-size:15px;white-space:nowrap}
#app .prismRfSupplierTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
#app .prismRfReviewTag,#app .prismRfDocumentTag{border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;line-height:1.25}
#app .prismRfReviewTag.pending{background:#fff0d3;color:#945400;border:1px solid #e9ca83}
#app .prismRfReviewTag.verified{background:#def8e8;color:#0b7440;border:1px solid #9bdab6}
#app .prismRfReviewTag.exception{background:#ffe9ec;color:#aa2637;border:1px solid #ebafbc}
#app .prismRfDocumentTag{background:#e9f1ff;color:#365b85;border:1px solid #d5e4f7;text-transform:capitalize}
#app .prismRfNoQuotes{padding:13px;color:#627d92;font-size:12px;border:1px dashed #b9d3e5;border-radius:11px}
#app .rfqActions.prismRfActions{border-top:1px solid #e3edf5;margin-top:16px;padding-top:14px;justify-content:flex-end}
#app .rfqActions.prismRfActions button{font-size:13px;font-weight:850;padding:11px 16px}
/* Floating Messages — upper-right launcher and a panel that drops down below it. */
#prismMsgDockLaunch{top:16px;bottom:auto;right:19px;z-index:8900;background:linear-gradient(115deg,#078ad7,#264ac5);border:1px solid rgba(215,239,255,.55);border-radius:14px;box-shadow:0 10px 29px rgba(0,29,86,.31);transition:transform .2s ease,box-shadow .2s ease;min-height:46px}
#prismMsgDockLaunch:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,29,86,.42)}
#messagesPage.prismMsgDock{top:76px;bottom:auto;right:19px;width:min(480px,calc(100vw - 24px));height:min(680px,calc(100dvh - 93px));max-height:calc(100dvh - 93px);border:1px solid #b2d5ee;border-radius:16px;box-shadow:0 24px 68px rgba(0,8,29,.47)}
#messagesPage.prismMsgDock .prismMsgDockHeader{background:linear-gradient(110deg,#0b3d74,#1758aa)}
#app .top{padding-right:155px}
/* Reduced-motion and mobile respect. No full-page flashing or intrusive animation. */
@media(min-width:901px){#app .card{animation:prism6jEnter .36s ease both}#app .prismRfCard{animation:prism6jEnter .35s ease both}}
@keyframes prism6jEnter{from{opacity:.65}to{opacity:1}}
@media(max-width:900px){#app .top{padding-right:145px}#app .prismDashboardIntro{padding:8px 0}#prismMsgDockLaunch{top:12px;right:11px;padding:10px 12px;min-height:42px;font-size:12px}#messagesPage.prismMsgDock{top:65px;right:8px;bottom:auto;width:calc(100vw - 16px);height:min(650px,calc(100dvh - 79px));max-height:calc(100dvh - 79px)}}
@media(max-width:540px){#app .top{padding-right:12px;padding-top:61px}#app .brand{font-size:23px}#app .prismBrandLine{max-width:calc(100% - 116px)}#app .prismRfFacts{grid-template-columns:repeat(2,minmax(0,1fr))}#app .rfqBox.prismRfCard{padding:13px}#app .prismRfHead h3{font-size:19px}#app .prismRfSupplierAmount{font-size:13px}#messagesPage.prismMsgDock{top:61px;height:calc(100dvh - 72px);max-height:calc(100dvh - 72px)}}
@media(prefers-reduced-motion:reduce){#app .card,#app .prismRfCard{animation:none!important}#app .nav button,#app .btn,#app .prismMetric,#app .prismRfSupplier,#app .rfqBox.prismRfCard,#prismMsgDockLaunch{transition:none!important}#app .nav button:hover,#app .btn:hover:not(:disabled),#app .prismMetric:hover,#app .rfqBox.prismRfCard:hover,#prismMsgDockLaunch:hover{transform:none!important}}
@media print{html,body,#app.shell{background:#fff!important}#app .main{background:#fff!important}#app .card{box-shadow:none!important}#prismMsgDockLaunch,#messagesPage.prismMsgDock{display:none!important}}




/* Project PRISM Phase 6K: accessible text colors and typography.
   Preserves the dark outer canvas, light content cards, and high-visibility action states. */
#app .card, #app .profile, #app .subCard, #app .prismRfCard,
#prismStageDialog .prwDialogBox {color:#162b43}
#app .prism-detail-checklist .sub, #app .prism-detail-tracker .sub,
#app .prism-detail-documents .sub, #app .prism-detail-panels .helper,
#app .prism-detail-documents .helper, #app .prism-detail-checklist .helper,
#app .prism-detail-tracker .prwMuted, #app .prism-detail-checklist .prcRemark,
#app .prism-detail-checklist .prcEntryMeta,
#app .prism-detail-documents .docFileMeta {
  color:#344c63!important;font-size:14px!important;line-height:1.7!important;
}
#app .prcEntry{padding:17px 0;min-width:0}
#app .prcEntryTitle{font-size:17px;font-weight:800;color:#102f51;line-height:1.45}
#app .prcEntryMeta{font-weight:700}
#app .prcEntryStage{font-size:14px;font-weight:800;color:#115687;line-height:1.5}
#app .prcEntryGate{font-size:14px;line-height:1.55;font-weight:800;padding:12px 13px}
#app .prcGateBlock,#app .prcEntryGateWarning{color:#794400;background:#fff0ce;border-color:#d99b32}
#app .prcGateDone{color:#095c35;background:#e0f5e9;border-color:#6ac397}
#app .prcGateFuture{color:#234b70;background:#eaf3ff;border-color:#a9c9e7}
#app .prcEvidencePanel{background:#f1f7ff;border-color:#a7c7e6;gap:10px;min-width:0}
#app .prcEvidenceTitle{font-size:15px!important;color:#14375a!important;line-height:1.55}
#app .prcEvidencePanel .helper{font-size:14px!important;color:#344a60!important;overflow-wrap:anywhere}
#app .prcEvidencePicker select{font-size:14px;max-width:100%}
#app .prwHeroLabel{font-size:13px;color:#2d526f;font-weight:850}
#app .prwHeroStage{font-size:23px;color:#0e3558}
#app .prwStep{font-size:13px;line-height:1.5;color:#334a62}
#app .prwStep.before{color:#235c3a}
#app .prwStep.current{color:#034d80}
#app .prwMuted{font-size:13px;line-height:1.65;color:#3b5267}
#app .prwExplainer{font-size:14px;color:#3c5368}
#app .prwInfoGrid .prwInfoLabel, #app .prwMetric span{font-size:13px;color:#384f65}
#app .prwActivityItem small{font-size:12px;color:#3c526a}
#app .prwCaution{font-size:14px;line-height:1.6;color:#744000;border-color:#e0af59}
#app .prcEntry .chip{font-size:13px!important;padding:7px 11px}
#app .prcEntry .btn,#app .prism-detail-documents .btn{font-size:14px;font-weight:800}
#app .prism-detail-panels>.card,#app .prcEntry,#app .prcEvidencePanel,
#app .prwCardHead,#app .prwInfoGrid{min-width:0}
#app .prcEntry *,#app .prcEvidencePanel *,#app .prwCardHead *{overflow-wrap:anywhere}
#app .prismRfSupplierDate{font-size:13px;color:#344e65}
#app .prismRfFactLabel,#app .prismRfEyebrow{font-size:12px;color:#345a78}
#app .prismRfFactValue,#app .prismRfSupplierName{font-size:15px}
#app .prismRfReviewTag,#app .prismRfDocumentTag{font-size:12px}
#app .prismRfNoQuotes{font-size:14px;color:#3b5369}
#app .sideFooter{color:#d1e4f5;font-size:12px;line-height:1.65}
#app .brandSub{font-size:12px;color:#d4e9fc}
#app .nav button{font-size:14px;font-weight:700}
#app .prcQuickUpload{background:#0c639e;color:#fff;border-color:#0c639e;
  box-shadow:0 3px 10px rgba(0,73,134,.13);font-size:14px!important}
#app .prcQuickUpload:hover{background:#084b7c;color:#fff;border-color:#084b7c}
#app .prismAutoLinkExplain{margin:10px 0 3px;padding:12px 13px;background:#e7f5ff;
  border:1px solid #a5cde9;border-left:4px solid #1683bd;border-radius:10px;
  color:#163f60!important;font-size:14px!important;line-height:1.65;font-weight:600}
#app .prismAutoLinkExplain strong{color:#0d426f}
#app .prismUploadHint{font-size:14px!important;color:#1a526e!important}
#app #documentMessage.warn{background:#fff1d6;color:#774609;border:1px solid #dfad54}
#app :is(.btn,.input,.tinyBtn,.prcEvidencePicker button):focus-visible{
  outline:3px solid #ffbd39!important;outline-offset:3px!important;
}
@media(max-width:650px){
  #app .prcEntryTitle{font-size:16px}
  #app .prcEntryGate,#app .prcEntryStage{font-size:13px}
  #app .prcEvidencePicker select{min-width:0;width:100%;flex-basis:100%}
  #app .prcEvidencePicker button{min-height:42px}
}
@media print{#app .prcQuickUpload{display:none!important}}



/* Phase 6M: no invisible disabled save action, strong readable contrast,
   and separate persisted draft status from selection in local controls. */
#app .paActions{gap:12px;align-items:stretch}
#app .paActions .btn{font-size:15px!important;font-weight:900!important;min-height:48px;padding:11px 16px;line-height:1.35;white-space:normal;opacity:1!important;text-align:center}
#app .paActions .paSaveReady{background:#055da6!important;border:2px solid #055da6!important;color:#fff!important;box-shadow:0 3px 12px rgba(0,67,125,.19)!important}
#app .paActions .paSaveReady:hover:not(:disabled){background:#034a88!important;border-color:#034a88!important;color:#fff!important}
#app .paActions .paSaveExplainOnly{background:#e5edf6!important;border:2px solid #7993ab!important;color:#18354f!important;box-shadow:none!important}
#app .paActions .paSaveExplainOnly:hover:not(:disabled){background:#d5e5f6!important;color:#102e4d!important}
#app .paActions .paSubmitBlocked{background:#fff0d3!important;border:2px solid #b55c08!important;color:#673600!important}
#app .paActions .btn:disabled{background:#dbe6f1!important;border-color:#899eb2!important;color:#1d3953!important;opacity:1!important;cursor:wait}
#app .paSaveReadiness{font-size:14px;line-height:1.55;color:#244564;background:#f1f6fc;border:2px solid #b9cfe2;border-radius:12px;padding:12px 15px;margin:9px 0 11px;overflow-wrap:anywhere}
#app .paSaveReadiness strong{display:block;font-size:15px;color:#153b61;margin-bottom:4px;line-height:1.5}
#app .paSaveReadiness.unsaved{background:#eaf3ff;border-color:#73b1f1;color:#164170}
#app .paSaveReadiness.saved{background:#eaf9f1;border-color:#70c49b;color:#0e5835}
#app .paSaveReadiness.saved strong{color:#075334}
#app .paActions :is(button):focus-visible{outline:3px solid #f0ad2c!important;outline-offset:3px!important}
#app .prbulkToolbar .btn.ghost{color:#17476e!important;border:1px solid #9bbbd6!important;background:#edf5fc!important;font-weight:800}
#app .prbulkToolbar .btn.ghost:hover{background:#dceeff!important}
@media(max-width:700px){#app .paActions .btn{width:100%}}



/* Phase 6N: legible multi-file evidence queue; form styling only. */
#documentUploadPanel{background:#f9fcff!important;border:2px solid #accfe9!important;padding:18px!important}
#documentUploadPanel h3{font-size:19px!important;color:#073b69!important;margin-bottom:7px}
#documentUploadPanel .field label{font-size:14px!important;color:#194668!important}
#documentUploadPanel .helper{font-size:13px!important;color:#415a72!important}
#documentFile{border:2px dashed #69a7d4!important;background:#f2f8ff!important;min-height:48px}
.prismBatchQueue{display:grid;gap:10px;margin-top:14px}
.prismBatchEmpty{color:#3a5570;font-size:14px;border:1px dashed #b9cbdc;background:#f1f6fc;border-radius:12px;padding:14px;margin:0}
.prismBatchRow{background:#fff;border:1.5px solid #c5d9eb;border-radius:12px;padding:12px;display:grid;gap:9px;box-shadow:0 2px 9px rgba(21,78,132,.04)}
.prismBatchTop{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.prismBatchName{color:#143d64;font-size:14px;font-weight:850;overflow-wrap:anywhere}
.prismBatchSub{font-size:12px;color:#455e75;font-weight:650}
.prismBatchRow select{font-size:14px!important;font-weight:650;max-width:100%;width:100%;min-width:0}
.prismBatchRow .prismBatchRemove{font-size:12px;padding:7px 10px;color:#8b2831;background:#fff3f3;border-color:#e5b6bd}
.prismBatchRow .prismBatchRemove:hover:not(:disabled){background:#ffe6e9}
.prismBatchState{font-size:13px;font-weight:750;color:#244d6a;line-height:1.4}
.prismBatchRow[data-status="uploading"]{border-color:#3e90d3;background:#f6fbff}
.prismBatchRow[data-status="done"]{border-color:#75c9a1;background:#f5fff9}
.prismBatchRow[data-link-kind="manual"],.prismBatchRow[data-link-kind="reviewer"],.prismBatchRow[data-link-kind="existing"]{border-color:#deb367;background:#fffaf0}
.prismBatchRow[data-status="error"]{border-color:#e49b9d;background:#fff7f7}
.prismBatchRow[data-status="error"] .prismBatchState{color:#a12633}
.prismBatchProgress{width:100%;height:9px;border-radius:8px;overflow:hidden;background:#e3edf6;border:1px solid #c8d9e8}
.prismBatchProgressFill{height:100%;background:linear-gradient(90deg,#087fba,#286ced);transition:width .16s ease;width:0}
.prismBatchRow[data-status="done"] .prismBatchProgressFill{background:#1a985b}
.prismBatchSummary{font-size:14px;font-weight:800;color:#153b5e;background:#eaf3ff;border:1.5px solid #a8cee9;border-radius:10px;padding:10px 13px;margin-top:12px}
#documentUploadPanel .editorActions .btn{opacity:1!important;color:#fff!important;background:#075f9e!important;font-weight:850!important;min-height:44px}
#documentUploadPanel .editorActions .btn.secondary{background:#fff!important;color:#164a72!important;border-color:#98b9d8!important}
#documentUploadPanel .editorActions .btn:disabled{opacity:1!important;color:#263c52!important;background:#e3eaf2!important;border-color:#b0bfcd!important}
@media(max-width:650px){#documentUploadPanel{padding:12px!important}.prismBatchTop{align-items:start}.prismBatchName{font-size:14px}}
@media(prefers-reduced-motion:reduce){.prismBatchProgressFill{transition:none}}

  /* Phase 6P — Messenger-like quiet message sync */
  #messagesPage .prismMsgDockCaption{color:#d4e9ff;font-size:12px;font-weight:650}
  #messagesPage .prismMsgListItem{transition:background-color .18s ease,border-color .18s ease}
  #messagesPage .prismMsgBubble{animation:prismIncomingBubble .18s ease-out both}
  @keyframes prismIncomingBubble{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
  @media(prefers-reduced-motion:reduce){#messagesPage .prismMsgBubble{animation:none}}

  