:root{--iao-navy:#102f46;--iao-blue:#1e607d;--iao-green:#23805f;--iao-red:#a92c36;--iao-amber:#9a5a08;--iao-ink:#203746;--iao-muted:#607380;--iao-line:#d4dfe5;--iao-soft:#f5f8fa;--iao-shadow:0 12px 32px rgba(18,47,68,.09)}
.iao-body{background:#edf2f4;color:var(--iao-ink)}.iao-shell{max-width:1560px;margin:auto;padding:28px}.iao-hero{background:linear-gradient(125deg,#12364f,#1a5a72);border-radius:20px;padding:36px;color:#fff;box-shadow:var(--iao-shadow)}.iao-hero h1{color:#fff!important;margin:.3rem 0 .7rem;font-size:clamp(2rem,3vw,3.4rem)}.iao-hero p{max-width:900px;color:#e8f3f6;font-size:1.05rem;line-height:1.6}.iao-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px}.iao-hero-actions{display:flex;gap:10px;align-items:start;flex-wrap:wrap}.iao-hero button{background:#fff!important;color:#173e55!important;border:1px solid #fff!important}.iao-hero button.secondary{background:transparent!important;color:#fff!important}.iao-kicker{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:#4f7184}.iao-hero>.iao-kicker{color:#bfe4ed}.iao-authority{margin-top:20px;padding:13px 15px;background:rgba(4,23,36,.28);border:1px solid rgba(255,255,255,.22);border-radius:11px;line-height:1.5}.review-status{margin:14px 0;padding:12px 14px;border:1px solid #c9d6dd;border-radius:10px;background:#fff;color:#496170}.review-status.error{border-color:#e0aab0;background:#fff2f3;color:#8b2730}.review-status.success{border-color:#9bc8b6;background:#eef9f4;color:#176148}.iao-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.iao-nav{position:sticky;top:18px;align-self:start;background:#173d54;border-radius:14px;padding:12px;box-shadow:var(--iao-shadow)}.iao-nav-title{padding:9px;color:#bcd4df;font-size:.75rem;text-transform:uppercase;font-weight:900}.iao-nav a{display:block;color:#e9f2f5;text-decoration:none;padding:9px 10px;border-radius:8px;font-weight:750;font-size:.88rem}.iao-nav a:hover,.iao-nav a.active{background:#fff;color:#173d54}.iao-content{display:grid;gap:18px}.iao-section{background:#fff;border:1px solid var(--iao-line);border-radius:16px;padding:22px;box-shadow:var(--iao-shadow);scroll-margin-top:20px}.iao-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:16px}.iao-section-heading h2{margin:.2rem 0 0;color:#173e55}.iao-section-heading p{margin:0;max-width:620px;color:var(--iao-muted);text-align:right}.iao-ref{font-size:.8rem;color:var(--iao-muted)}.iao-metrics{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.iao-metric{background:var(--iao-soft);border:1px solid var(--iao-line);border-radius:11px;padding:13px}.iao-metric span{display:block;color:var(--iao-muted);font-size:.76rem;font-weight:800}.iao-metric strong{display:block;margin-top:4px;font-size:1.55rem;color:#173e55}.iao-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.iao-overview-grid article{border:1px solid var(--iao-line);border-radius:11px;padding:15px;background:#fafcfd}.iao-overview-grid span{font-size:.75rem;color:var(--iao-muted);font-weight:900;text-transform:uppercase}.iao-overview-grid strong{display:block;margin:.35rem 0;color:#17445d}.iao-overview-grid p{margin:0;color:#5d707d;line-height:1.5}.iao-basis{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}.iao-basis span{background:#edf5f8;border:1px solid #cbdfe8;color:#365a6d;border-radius:99px;padding:.4rem .65rem;font-size:.78rem;font-weight:750}.iao-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.iao-plan-card{border:1px solid var(--iao-line);border-radius:12px;padding:15px;background:#fafcfd;display:grid;gap:9px}.iao-plan-card.critical{border-left:5px solid var(--iao-red)}.iao-plan-card.high{border-left:5px solid #d77b16}.iao-plan-card.medium{border-left:5px solid #c99b20}.iao-plan-card.low{border-left:5px solid #78909c}.iao-plan-card h3{margin:0;color:#173e55;font-size:1rem}.iao-plan-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--iao-muted);font-size:.76rem}.iao-plan-card p{margin:0;color:#536a78;line-height:1.45}.iao-plan-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.iao-plan-card button{padding:.55rem .7rem}.iao-toolbar{display:grid;gap:10px;margin-bottom:12px}.iao-filters{display:flex;flex-wrap:wrap;gap:7px}.iao-filters button{background:#f5f8fa!important;color:#294a5d!important;border:1px solid #ccd9e0!important;padding:.5rem .67rem!important}.iao-filters button.active{background:#1b5974!important;color:#fff!important;border-color:#1b5974!important}.iao-search{display:flex;gap:8px}.iao-search select{min-width:240px;border:1px solid #c7d4dc;border-radius:9px;padding:.7rem;background:#fff;color:var(--iao-ink)}.iao-search input{flex:1;border:1px solid #c7d4dc;border-radius:9px;padding:.7rem}.iao-summary{color:var(--iao-muted);font-size:.83rem}.iao-bulk{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:12px 0;padding:12px;background:#f4f8fa;border:1px solid var(--iao-line);border-radius:10px}.iao-bulk label{display:grid;gap:4px;color:#526a78;font-size:.75rem;font-weight:800}.iao-bulk input{padding:.58rem;border:1px solid #c5d3db;border-radius:8px}.iao-table-wrap{overflow:auto;border:1px solid var(--iao-line);border-radius:11px}.iao-table{width:100%;border-collapse:collapse;min-width:1080px}.iao-table th{background:#173e55;color:#fff;text-align:left;padding:11px;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.iao-table td{padding:11px;border-bottom:1px solid #e1e8ec;vertical-align:top}.iao-table tr[data-action-id]{cursor:pointer}.iao-table tr[data-action-id]:hover{background:#f3f9fb}.iao-table tr.selected{background:#eaf5f8}.iao-priority,.iao-status-pill{display:inline-block;border-radius:99px;padding:.28rem .52rem;font-size:.72rem;font-weight:900;text-transform:uppercase}.iao-priority.critical{background:#fdebed;color:#9c2530}.iao-priority.high{background:#fff0df;color:#985008}.iao-priority.medium{background:#fff7d9;color:#7d6310}.iao-priority.low{background:#edf1f3;color:#586d79}.iao-status-pill.closed{background:#e5f5ee;color:#176449}.iao-status-pill.submitted{background:#e5f1fa;color:#235f84}.iao-status-pill.blocked{background:#fdebed;color:#9c2530}.iao-status-pill.in_progress,.iao-status-pill.assigned{background:#fff2dd;color:#87510b}.iao-status-pill.draft{background:#eef1f3;color:#596c78}.iao-action-title{font-weight:850;color:#173f58}.iao-action-source{display:block;margin-top:4px;color:var(--iao-muted);font-size:.76rem}.iao-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.iao-progress-card{border:1px solid var(--iao-line);border-radius:12px;padding:14px;background:#fafcfd}.iao-progress-card h3{margin:0;color:#173f58;font-size:1rem}.iao-progress-card dl{display:grid;grid-template-columns:1fr auto;gap:5px 12px}.iao-progress-card dt{color:var(--iao-muted)}.iao-progress-card dd{margin:0;font-weight:900}.iao-progress-bar{height:9px;border-radius:99px;background:#dfe7eb;overflow:hidden}.iao-progress-bar i{display:block;height:100%;background:var(--iao-green)}.iao-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.iao-form label{display:grid;gap:5px;color:#526a78;font-size:.8rem;font-weight:850}.iao-form input,.iao-form select,.iao-form textarea{width:100%;border:1px solid #c5d3db;border-radius:8px;padding:.68rem;background:#fff;color:var(--iao-ink)}.iao-form textarea{min-height:90px}.iao-form .span-3{grid-column:span 3}.iao-detail>.iao-empty,.iao-empty{padding:24px;border:1px dashed #b8c8d1;border-radius:11px;background:#f8fafb;color:#607581;text-align:center}.iao-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.iao-detail-head h3{margin:.2rem 0;color:#173f58}.iao-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}.iao-detail-card{border:1px solid var(--iao-line);border-radius:11px;padding:14px;background:#fafcfd}.iao-detail-card h4{margin:0 0 10px;color:#17435b}.iao-detail-card dl{display:grid;grid-template-columns:140px 1fr;gap:6px 10px}.iao-detail-card dt{color:var(--iao-muted)}.iao-detail-card dd{margin:0;font-weight:750}.iao-detail-card form{display:grid;gap:9px}.iao-detail-card label{display:grid;gap:4px;color:#536b79;font-size:.78rem;font-weight:800}.iao-detail-card input,.iao-detail-card select,.iao-detail-card textarea{border:1px solid #c6d4dc;border-radius:8px;padding:.62rem}.iao-detail-card textarea{min-height:75px}.iao-evidence-list,.iao-dependency-list,.iao-event-list{display:grid;gap:7px}.iao-record{border:1px solid #dce5ea;border-radius:8px;padding:9px;background:#fff}.iao-record strong{display:block;color:#1b445b}.iao-record span{display:block;color:var(--iao-muted);font-size:.78rem;margin-top:3px}.iao-required{margin:0;padding-left:18px;color:#536b78}.iao-required li{margin:.3rem 0}.iao-boundary-note{padding:10px;border:1px solid #ddcda8;background:#faf5e8;border-radius:8px;color:#69532c;font-size:.82rem;line-height:1.45}.iao-audit{display:grid;gap:8px;max-height:560px;overflow:auto}.iao-event{display:grid;grid-template-columns:150px 190px minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--iao-line);border-radius:9px;background:#fafcfd}.iao-event time,.iao-event span{color:var(--iao-muted);font-size:.78rem}.iao-event strong{color:#173f58}.iao-json{margin-top:14px;border:1px solid var(--iao-line);border-radius:10px;padding:11px;background:#f7f9fa}.iao-json summary{cursor:pointer;font-weight:850}.iao-json pre{max-height:500px;overflow:auto;background:#10283a;color:#eef6f8;border-radius:8px;padding:14px;white-space:pre-wrap;word-break:break-word;font-size:.75rem}
@media(max-width:1250px){.iao-metrics{grid-template-columns:repeat(4,1fr)}.iao-plan-grid,.iao-progress-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:960px){.iao-shell{padding:18px}.iao-layout{grid-template-columns:1fr}.iao-nav{position:static;display:flex;overflow:auto}.iao-nav-title{display:none}.iao-nav a{white-space:nowrap}.iao-hero-grid{grid-template-columns:1fr}.iao-overview-grid,.iao-detail-grid{grid-template-columns:1fr}.iao-form{grid-template-columns:1fr}.iao-form .span-3{grid-column:auto}}@media(max-width:650px){.iao-hero{padding:25px 20px}.iao-section{padding:17px}.iao-section-heading{display:block}.iao-section-heading p{text-align:left;margin-top:8px}.iao-metrics{grid-template-columns:repeat(2,1fr)}.iao-overview-grid,.iao-plan-grid,.iao-progress-grid{grid-template-columns:1fr}.iao-event{grid-template-columns:1fr}}@media print{.tvg-header,.iao-nav,.iao-hero-actions,.iao-toolbar,.iao-bulk,.iao-form-actions,.os-footer{display:none!important}.iao-shell{max-width:none;padding:0}.iao-layout{display:block}.iao-section{box-shadow:none;break-inside:avoid}}

/* v519.1 — normalised package scope, source validation and conflict disclosure */
.iao-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.iao-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.iao-plan-card{align-content:start}
.iao-plan-meta span:last-child{font-weight:850;color:#365a6d}
.iao-scope-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.iao-scope-counts span{display:grid;gap:2px;padding:8px 10px;border:1px solid #d4e0e6;border-radius:8px;background:#fff;color:#607581;font-size:.74rem}
.iao-scope-counts strong{font-size:1rem;color:#173e55}
.iao-scope{border:1px solid #d7e2e7;border-radius:9px;background:#fff;overflow:hidden}
.iao-scope summary{cursor:pointer;padding:10px 12px;color:#234d64;font-weight:850;font-size:.82rem;background:#f2f7f9}
.iao-scope ul{margin:0;padding:10px 14px 12px 30px;max-height:260px;overflow:auto}
.iao-scope li{margin:.4rem 0;color:#526b79}
.iao-scope li a{color:#174f6a;font-weight:800;text-decoration:none}
.iao-scope li span{display:block;font-size:.72rem;color:#728692;word-break:break-all}
.iao-scope-groups{display:grid;gap:7px;padding:10px}
.iao-scope-groups>div{padding:9px;border:1px solid #dce6eb;border-radius:8px}
.iao-scope-groups strong,.iao-scope-groups span{display:block}
.iao-scope-groups strong{color:#173f58}
.iao-scope-groups span{margin-top:3px;color:#607581;font-size:.75rem}
.iao-conflict{border:1px solid #dca8ae;background:#fff3f4;border-radius:9px;padding:11px;color:#762832}
.iao-conflict>strong{display:block;margin-bottom:7px}
.iao-conflict dl{display:grid;grid-template-columns:145px 1fr;gap:4px 10px;margin:0;font-size:.78rem}
.iao-conflict dt{font-weight:850}.iao-conflict dd{margin:0}
.iao-validation-note{padding:12px 14px;border:1px solid #b9d8ca;background:#eff9f4;border-radius:10px;color:#245f48;line-height:1.5}
.iao-source-help{font-size:.74rem;color:#607581;font-weight:500;line-height:1.4}
.iao-plan-actions button:disabled{opacity:.55;cursor:not-allowed}
#iaoPlanSummary{margin:.2rem 0 14px;color:#526b79;font-size:.82rem;font-weight:750}
@media(max-width:1250px){.iao-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.iao-plan-grid{grid-template-columns:1fr}.iao-scope-counts{grid-template-columns:1fr}.iao-conflict dl{grid-template-columns:1fr}}

/* v519.2 — gap provenance, controlled plan preview and source-resolution separation */
.iao-metric small{display:block;margin-top:4px;color:var(--iao-muted);font-size:.7rem}
.iao-plan-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.2fr);gap:18px;align-items:start;margin:0 0 16px;padding:16px;border:1px solid #b9d8ca;border-radius:12px;background:#eff9f4}
.iao-plan-preview h3{margin:.25rem 0;color:#164b39}.iao-plan-preview p{margin:0;color:#47695b}.iao-plan-preview dl{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:0}.iao-plan-preview dt{color:#496b5d}.iao-plan-preview dd{margin:0;font-weight:900;color:#164b39}
.iao-source-class{display:inline-block;padding:.28rem .55rem;border-radius:99px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.iao-source-class.governed_record{background:#e8f3f8;color:#245a73}.iao-source-class.registered_exception{background:#fff0df;color:#8c4c08}.iao-source-class.derived_gap{background:#f3eafa;color:#6a3d84}.iao-card-class{margin-top:-2px}
.iao-gap-provenance{border:1px solid #cdb7dc;background:#faf5fd;border-radius:9px;padding:11px;color:#5d3d70}.iao-gap-provenance>strong{display:block;margin-bottom:7px}.iao-gap-provenance dl{display:grid;grid-template-columns:155px 1fr;gap:4px 10px;margin:0;font-size:.78rem}.iao-gap-provenance dt{font-weight:850}.iao-gap-provenance dd{margin:0}.iao-gap-provenance code{word-break:break-all}
.iao-package-distribution{border:1px solid #d6e2e7;border-radius:9px;background:#fff;overflow:hidden}.iao-package-distribution>strong{display:block;padding:9px 11px;background:#eef5f8;color:#234d64}.iao-package-distribution table{width:100%;border-collapse:collapse;font-size:.76rem}.iao-package-distribution th,.iao-package-distribution td{padding:8px 9px;border-top:1px solid #e0e8ec;text-align:right}.iao-package-distribution th:first-child,.iao-package-distribution td:first-child{text-align:left}.iao-package-distribution td span{display:block;color:#71848f;font-size:.69rem}.iao-package-distribution tr.total{font-weight:900;background:#f7fafb}
.iao-plan-card.covered{opacity:.78}.iao-covered-note{padding:8px 10px;border-radius:8px;background:#eef4f6;color:#536a78;font-size:.76rem;font-weight:750}
.iao-unresolved-pill{display:block;margin-top:5px;padding:.25rem .45rem;border-radius:6px;background:#fff0df;color:#8b4d0c;font-size:.7rem;font-weight:900;width:max-content}
.iao-unresolved-grid{display:grid;gap:10px}.iao-unresolved-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) minmax(240px,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #e0b98b;border-left:5px solid #c66f12;border-radius:11px;background:#fff8ef}.iao-unresolved-card h3{margin:.35rem 0 .2rem;color:#57330d}.iao-unresolved-card p,.iao-unresolved-card span,.iao-unresolved-card small{display:block;margin:0;color:#765b3d;font-size:.77rem}.iao-unresolved-card strong{display:block;color:#5f3c17}
.iao-source-state{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border-radius:10px}.iao-source-state.unresolved{border:1px solid #e0b98b;background:#fff8ef;color:#6a4319}.iao-source-state.resolved{border:1px solid #a8d0bd;background:#eff9f4;color:#215f47}.iao-source-state.unknown{border:1px solid #cad6dc;background:#f5f8fa;color:#4d6573}.iao-source-state span,.iao-source-state small{display:block}
@media(max-width:1100px){.iao-plan-preview{grid-template-columns:1fr}.iao-unresolved-card{grid-template-columns:1fr 1fr}.iao-unresolved-card button{justify-self:start}}
@media(max-width:700px){.iao-gap-provenance dl{grid-template-columns:1fr}.iao-unresolved-card{grid-template-columns:1fr}.iao-package-distribution{overflow:auto}}
