/* Carlo Technical Document Theme v1.0
   Independent editorial design using blue-and-gold colours, not official branding.
   Change project metadata, document title and fixed page-footer content when reusing. */

:root{--navy:#113a66;--navy2:#082a4d;--blue:#145e97;--bright:#1c79b7;--sky:#e6f1f8;--sky2:#f2f7fa;--paper:#fff;--body:#243647;--muted:#647687;--line:#dbe5ec;--gold:#c5a355;--gold-soft:#f8f2e7;--red:#9f4451;--red-bg:#faeff1;--shadow:0 10px 36px rgba(22,52,78,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#edf2f6;color:var(--body);font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-size:14px;line-height:1.61;font-synthesis:none}a{color:var(--blue)}button{font:inherit;cursor:pointer}p{margin:.25rem 0 1rem}h1,h2,h3{letter-spacing:-.035em;line-height:1.2}h2{margin:0;color:var(--navy2)}h3{font-size:17px;margin:0 0 12px;color:var(--navy2)}strong{font-weight:700}code{font-size:.9em;color:#135789;overflow-wrap:anywhere;background:#edf4f9;border-radius:3px;padding:1px 4px}
.top-rule{height:6px;background:linear-gradient(90deg,var(--navy2) 0 48%,var(--bright) 48% 90%,var(--gold) 90%)}
.header{position:sticky;top:0;z-index:20;height:70px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{max-width:1640px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 30px;height:100%;gap:18px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brandmark{width:38px;height:38px;border-radius:4px;background:var(--navy);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.06em;font-size:13px}.brandname{line-height:1.25}.brandname strong{display:block;color:var(--navy2);letter-spacing:.04em;font-size:13px}.brandname span{display:block;color:var(--muted);font-size:11px}.header-actions{display:flex;align-items:center;gap:9px}.pill{border:1px solid #cbdbe6;background:#f1f6fa;border-radius:30px;padding:7px 11px;color:var(--navy);font-size:10px;font-weight:800;letter-spacing:.065em}.btn{border:1px solid var(--line);background:#fff;color:var(--navy2);border-radius:5px;padding:9px 14px;font-weight:700;font-size:12px}.btn:hover{background:var(--sky)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:var(--blue)}.hamburger{display:none}
.layout{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1640px;margin:auto;gap:0;padding:0 24px 50px}.side{position:sticky;top:70px;align-self:start;height:calc(100vh - 70px);overflow-y:auto;padding:30px 20px 40px 0}.side-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:#7a90a3;margin:6px 0 16px}.nav-item{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:12px;font-weight:600;color:#456179;padding:11px 11px;border-left:3px solid transparent;border-radius:0 4px 4px 0}.nav-item span{font-size:10px;color:#8fa2b1;font-family:Consolas,monospace}.nav-item:hover,.nav-item.active{color:var(--navy2);background:#e2edf5;border-left-color:var(--bright)}.side-foot{margin-top:30px;padding:15px;border:1px solid #d8e2ea;background:#f7fafc;font-size:11px;color:var(--muted);line-height:1.65}.side-foot b{color:var(--navy)}
.main{min-width:0;padding-top:26px}.document{background:#fff;border:1px solid #dbe5ed;box-shadow:var(--shadow);border-radius:5px;overflow:hidden}
.cover{position:relative;padding:54px 58px 48px;background:var(--navy2);color:#fff;overflow:hidden;isolation:isolate}.cover:before{content:"";position:absolute;width:530px;height:530px;border-radius:50%;border:1px solid rgba(255,255,255,.13);right:-140px;top:-210px;box-shadow:0 0 0 45px rgba(255,255,255,.024),0 0 0 100px rgba(255,255,255,.018);z-index:-1}.cover:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:7px;background:linear-gradient(90deg,var(--bright) 0 75%,var(--gold) 75%)}.cover-eyebrow{color:#93c7e8;letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:800;margin-bottom:24px}.cover h1{margin:0;max-width:760px;color:white;font-weight:760;font-size:clamp(34px,4vw,54px);letter-spacing:-.048em;line-height:1.08}.cover h1 span{color:#9dd4f5}.cover-desc{color:#d7e6f1;max-width:680px;font-size:15px;line-height:1.65;margin:24px 0 31px}.cover-meta{display:flex;flex-wrap:wrap;gap:30px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.cover-meta div{display:flex;flex-direction:column;gap:3px}.cover-meta small{color:#9ebacf;letter-spacing:.12em;font-size:9px;text-transform:uppercase;font-weight:800}.cover-meta span{font-size:12px;font-weight:600}.cover-number{position:absolute;right:34px;top:34px;color:rgba(255,255,255,.065);font-weight:800;font-size:112px;letter-spacing:-.09em}
.doc-section{padding:44px 58px 54px;border-bottom:1px solid var(--line);scroll-margin-top:90px}.doc-section:last-of-type{border-bottom:none}.section-heading{display:flex;align-items:start;gap:20px;margin-bottom:26px}.section-number{display:inline-flex;flex-shrink:0;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #d3e2ed;border-radius:4px;background:var(--sky2);font-size:12px;color:var(--blue);font-family:Consolas,monospace;font-weight:800}.section-eyebrow,.micro-title{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-eyebrow{margin:0 0 5px}.section-heading h2{font-size:29px}.section-heading p{color:var(--muted);margin:7px 0 0;font-size:13px}.subhead{margin:25px 0 10px;font-size:17px}.summary-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:17px}.summary-main{border:1px solid #d3e3ee;background:#f4f9fc;padding:25px 27px}.summary-main h3{font-size:23px;margin:14px 0;color:var(--navy2);max-width:680px}.summary-main p:last-child{margin-bottom:0}.summary-stats{display:grid;gap:1px;background:#d3e4ee;border:1px solid #d3e4ee}.summary-stats div{background:#fff;padding:10px 18px;display:flex;flex-direction:column;justify-content:center}.summary-stats span{font-size:33px;color:var(--navy);font-weight:800;line-height:1.1;letter-spacing:-.04em}.summary-stats small{color:var(--muted);font-size:11px}.metric-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0 21px}.metric-row>div{padding:12px 8px 13px;border:1px solid var(--line);text-align:center}.metric-row strong{color:var(--navy);font-size:20px;display:block;line-height:1.35}.metric-row span{font-size:10px;color:var(--muted)}.note{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;padding:17px 19px;border-left:4px solid var(--gold);background:var(--gold-soft);margin:22px 0}.note-label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#795d26}.note-body{font-size:12px;line-height:1.6}.note.neutral{background:#f0f7fb;border-color:#4893c0}.note.neutral .note-label{color:var(--blue)}.note.conclusion{background:#e8f2f9;border-color:var(--navy);padding:22px 22px}.note.conclusion .note-label{color:var(--navy)}
.compact-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:19px}.compact-steps>div{padding:17px;border:1px solid var(--line)}.compact-steps .step{font-size:10px;font-weight:800;color:var(--bright);letter-spacing:.1em;display:block}.compact-steps strong{display:block;font-size:14px;color:var(--navy);margin-top:4px}.compact-steps p{font-size:12px;margin:5px 0 0;color:#617386;line-height:1.5}.source-columns,.two-col,.delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.source-box{background:#f5f9fb;border:1px solid var(--line);padding:19px 22px}.source-box ul{padding-left:19px;margin:11px 0 0}.source-box li{margin-bottom:6px;font-size:12px;overflow-wrap:anywhere}.small-print{font-size:11px;color:var(--muted);margin-top:12px}.content-panel{border:1px solid var(--line);padding:21px 24px;margin:15px 0;background:#fff}.two-col>.content-panel,.delivery-grid>.content-panel{margin:0}.content-panel.soft{background:#f5f9fc}.content-panel p:last-child{margin-bottom:0}.questions{padding-left:22px;margin:12px 0 0}.questions li{padding-left:4px;margin:0 0 9px}.questions li::marker{color:var(--bright);font-weight:800}.bullet{padding-left:20px;margin:10px 0}.bullet li{margin-bottom:8px}.bullet li::marker{color:var(--blue)}.table-wrap{overflow-x:auto;border:1px solid var(--line);margin:20px 0}.issues-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.45;min-width:690px}.issues-table th{background:var(--navy2);color:#fff;padding:12px 10px;font-size:10px;letter-spacing:.04em}.issues-table td{vertical-align:top;border-bottom:1px solid #e3ebf0;padding:11px 10px}.issues-table tr:nth-child(even){background:#f7fafc}.issues-table td strong{display:block;font-size:11px;color:var(--navy2)}.issues-table .row-sub{display:block;font-size:10px;color:#617385;margin-top:4px}.issues-table .issue-id{font-weight:800;color:var(--blue);font-family:Consolas,monospace;white-space:nowrap}.priority{display:inline-flex;padding:3px 7px;border-radius:3px;font-size:9px;font-weight:800;letter-spacing:.02em}.priority.critical{background:var(--red-bg);color:var(--red)}.priority.high{background:#f5eede;color:#805f22}.arch-side-by-side{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.arch-side-by-side>div{padding:22px;background:#f5f9fb;border:1px solid var(--line)}.arch-side-by-side h3{font-size:17px;margin:6px 0}.arch-side-by-side p{font-size:12px;margin-bottom:0}.timeline-chart{padding:23px 21px;background:#f4f8fb;border:1px solid var(--line);margin:23px 0}.timeline-caption{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:16px;color:var(--muted)}.timeline-caption strong{color:var(--navy);font-size:13px}.timeline-bar{height:85px;display:flex;overflow:hidden;border-radius:3px;gap:2px;background:#fff}.timeline-bar .t{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:1px}.timeline-bar .t strong{font-size:22px;line-height:1}.timeline-bar .t span{font-size:9px;text-align:center}.t.discovery{background:#78abc9}.t.build{background:#174f80}.t.install{background:#3477a6}.t.uat{background:#839fba}.t.go{background:#c4a158}.timeline-key{display:flex;justify-content:space-between;gap:6px;margin-top:11px;color:#63798d;font-size:10px;flex-wrap:wrap}.delivery-grid{margin:20px 0}.delivery-grid h3{font-size:15px;margin-bottom:9px}.delivery-grid p{font-size:12px}.pathway{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pathway>div{border:1px solid #d9e5ed;border-top:5px solid var(--navy);padding:19px 18px}.pathway>div:nth-child(2){border-top-color:var(--bright)}.pathway>div:nth-child(3){border-top-color:var(--gold)}.pathway span{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.12em}.pathway h3{font-size:18px;margin:10px 0}.pathway p{font-size:12px;color:#596f81}.pathway ul{padding-left:17px;margin:12px 0 0;font-size:11px}.pathway li{margin-bottom:8px}.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.check-item{border:1px solid var(--line);padding:12px 14px;display:flex;align-items:flex-start;gap:10px;font-size:12px}.check{width:14px;height:14px;border:1.7px solid #78a1be;border-radius:2px;flex-shrink:0;margin-top:2px}.footer{background:#f3f7fa;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 58px;color:#6b8090;font-size:10px}.footer b{color:var(--navy)}
@media(max-width:1080px){.layout{grid-template-columns:210px minmax(0,1fr);padding:0 12px 30px}.side{padding-right:9px}.nav-item{font-size:11px}.doc-section{padding:36px 33px}.cover{padding:43px 36px}.footer{padding:20px 35px}.summary-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(3,1fr)}.metric-row{grid-template-columns:repeat(3,1fr)}.pathway{grid-template-columns:1fr}}
@media(max-width:760px){.header{height:60px}.header-inner{padding:0 14px}.brandmark{width:32px;height:32px}.brandname strong{font-size:11px}.brandname span{font-size:9px}.pill{display:none}.header-actions .btn:not(.primary){display:none}.hamburger{display:block;border:1px solid var(--line);background:#fff;color:var(--navy);padding:8px 11px;border-radius:4px}.layout{display:block;padding:0}.side{display:none;position:fixed;top:60px;left:0;height:calc(100vh - 60px);background:#fff;width:285px;z-index:30;box-shadow:3px 10px 30px #132f462a;padding:24px;overflow:auto}.side.open{display:block}.main{padding-top:0}.document{border-radius:0}.cover{padding:42px 26px}.cover h1{font-size:36px}.cover-meta{gap:18px}.doc-section{padding:30px 20px}.section-heading{gap:12px}.section-heading h2{font-size:24px}.section-number{height:34px;width:34px}.two-col,.delivery-grid,.arch-side-by-side,.source-columns,.compact-steps,.checklist-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.note{grid-template-columns:1fr;gap:6px}.pathway{grid-template-columns:1fr}.footer{padding:20px;display:block}.timeline-bar .t span{display:none}.timeline-bar .t strong{font-size:16px}.timeline-bar{height:60px}}
@page{size:A4;margin:16mm 16mm 17mm 16mm;@bottom-left{content:"Technical Report  |  Independent Review";font:8px Arial;color:#6e8191}@bottom-right{content:counter(page);font:9px Arial;color:#4a718a}}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff;scroll-behavior:auto;font-size:10.2px;line-height:1.48}.top-rule,.header,.side{display:none!important}.layout{display:block;padding:0;max-width:none;margin:0}.main{padding:0}.document{box-shadow:none;border:0;border-radius:0;overflow:visible}.cover{padding:23mm 24mm 17mm;margin:-16mm -16mm 7mm;min-height:249mm;page-break-after:always}.cover h1{font-size:42px}.cover-desc{font-size:15px}.cover-meta{margin-top:40px}.cover-eyebrow{margin-top:24px}.cover-number{font-size:95px}.doc-section{padding:10px 0 19px;border-bottom:0;scroll-margin:0}.section-heading{margin-bottom:16px}.section-heading h2{font-size:21px}.section-heading p{font-size:10.5px}.section-heading .section-number{height:31px;width:31px}.section-eyebrow,.micro-title{font-size:8.5px}.section-number{font-size:10px}.summary-grid{grid-template-columns:minmax(0,1fr) 120px;gap:10px}.summary-stats{grid-template-columns:1fr}.summary-main{padding:15px}.summary-main h3{font-size:17px}.summary-stats span{font-size:25px}.summary-stats small,.metric-row span{font-size:8px}.summary-stats div{padding:9px}.metric-row{grid-template-columns:repeat(5,1fr);gap:4px;margin:10px 0}.metric-row strong{font-size:15px}.metric-row>div{padding:8px 4px}.note{grid-template-columns:130px 1fr;gap:10px;padding:11px 13px;margin:13px 0}.note-label{font-size:8.5px}.note-body{font-size:10px}.compact-steps{grid-template-columns:repeat(3,1fr);gap:7px}.compact-steps>div{padding:11px}.compact-steps strong{font-size:11px}.compact-steps p{font-size:9px}.content-panel{padding:14px 16px;margin:11px 0}.content-panel h3{font-size:13px;margin-bottom:8px}.content-panel p,.content-panel li{font-size:10px}.questions{padding-left:18px;margin:8px 0 0}.questions li{margin-bottom:5px}.two-col,.delivery-grid{gap:10px}.source-columns,.arch-side-by-side{gap:8px}.source-box{padding:13px}.source-box li{font-size:9.5px}.table-wrap{margin:12px 0}.issues-table{min-width:0;font-size:8.5px}.issues-table th{font-size:8px;padding:7px}.issues-table td{padding:7px}.issues-table td strong{font-size:9px}.issues-table .row-sub{font-size:8px}.priority{font-size:7.5px}.timeline-chart{padding:14px;margin:13px 0}.timeline-bar{height:52px}.timeline-bar .t strong{font-size:15px}.timeline-bar .t span{font-size:7px}.timeline-key{font-size:8px}.pathway{grid-template-columns:repeat(3,1fr);gap:8px}.pathway>div{padding:13px}.pathway h3{font-size:13px}.pathway p,.pathway li{font-size:9px}.checklist-grid{grid-template-columns:repeat(2,1fr);gap:7px}.check-item{padding:8px;font-size:9px}.check{width:11px;height:11px}.footer{padding:15px 0;margin-top:10px;font-size:8px;break-inside:avoid}.section-heading,.note,.content-panel,.summary-grid,.metric-row,.compact-steps,.source-box,.arch-side-by-side,.timeline-chart,.pathway>div,.check-item{break-inside:avoid-page}.section-heading{break-after:avoid-page}h2,h3{break-after:avoid-page}.doc-section{break-before:auto}.doc-section.start-section{break-before:auto}.doc-section:last-of-type{break-after:auto}.issues-table thead{display:table-header-group}.issues-table tr{break-inside:avoid}.timeline-chart{break-inside:avoid}.summary-main p{font-size:10.5px}.small-print{font-size:9px}}

