/* HARBOR Outside-In Analysis — Connected Logistics */
:root{--h-blue:#3B82F6;--a-purple:#8B5CF6;--r-pink:#EC4899;--b-orange:#F97316;--o-green:#10B981;--r-cyan:#06B6D4;--gold:#d4a853;--gold-light:#fdf3dc;--s50:#f8fafc;--s100:#f1f5f9;--s200:#e2e8f0;--s300:#cbd5e1;--s400:#94a3b8;--s500:#64748b;--s600:#475569;--s700:#334155;--s800:#1e293b;--s900:#0f172a;--red:#ef4444;--r-light:#fef2f2;--green:#10b981;--g-light:#ecfdf5;--amber:#f59e0b;--a-light:#fffbeb;--sans:'Inter',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;--max:1100px;--rad:12px;--shad:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shad-h:0 4px 16px rgba(0,0,0,0.08);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--s50);color:var(--s800);line-height:1.65}
.nav-bar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--s200);padding:0 1.5rem}
.nav-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:0.25rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0}
.nav-inner::-webkit-scrollbar{display:none}
.nav-logo{font-weight:700;font-size:1rem;color:var(--s800);text-decoration:none;white-space:nowrap;padding:0.75rem 0.5rem;margin-right:0.5rem;letter-spacing:-0.02em}
.nav-link{font-size:0.8125rem;font-weight:500;color:var(--s500);text-decoration:none;padding:0.75rem 0.65rem;white-space:nowrap;border-bottom:2px solid transparent;transition:all 0.15s ease}
.nav-link:hover{color:var(--s800)}.nav-link.active{color:var(--s800);border-bottom-color:var(--gold)}
.container{max-width:var(--max);margin:0 auto;padding:2rem 1.5rem 4rem}
.page-header{margin-bottom:2.5rem}
.page-header .eyebrow{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--s400);margin-bottom:0.5rem}
.page-header h1{font-size:2rem;font-weight:700;color:var(--s900);letter-spacing:-0.03em;line-height:1.2;margin-bottom:0.5rem}
.page-header .subtitle{font-size:1.05rem;color:var(--s500);max-width:650px}
.card{background:#fff;border-radius:var(--rad);box-shadow:var(--shad);padding:1.75rem 2rem;margin-bottom:1.25rem;border:1px solid var(--s200)}
.card:hover{box-shadow:var(--shad-h)}
.card h2{font-size:1.15rem;font-weight:700;color:var(--s900);margin-bottom:1rem;letter-spacing:-0.01em}
.card h3{font-size:0.95rem;font-weight:600;color:var(--s700);margin:1.25rem 0 0.5rem}
.card h3:first-child{margin-top:0}
.card p{margin-bottom:0.75rem;color:var(--s600)}
.card p:last-child{margin-bottom:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:0}
.stat-card{background:var(--s50);border:1px solid var(--s200);border-radius:10px;padding:1.25rem;text-align:center}
.stat-value{font-size:1.75rem;font-weight:700;color:var(--s900);letter-spacing:-0.02em;line-height:1.2}
.stat-label{font-size:0.75rem;font-weight:500;color:var(--s400);text-transform:uppercase;letter-spacing:0.05em;margin-top:0.25rem}
table{width:100%;border-collapse:collapse;font-size:0.875rem;margin:0.75rem 0 0}
thead th{text-align:left;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--s400);padding:0.6rem 0.75rem;border-bottom:2px solid var(--s200);white-space:nowrap}
tbody td{padding:0.6rem 0.75rem;border-bottom:1px solid var(--s100);color:var(--s600);vertical-align:top}
tbody tr:hover{background:var(--s50)}
.badge{display:inline-block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:0.2rem 0.6rem;border-radius:5px}
.badge-blue{background:#eff6ff;color:var(--h-blue)}.badge-purple{background:#f5f3ff;color:var(--a-purple)}
.badge-green{background:#ecfdf5;color:var(--o-green)}.badge-gold{background:var(--gold-light);color:#8b6914}
.badge-red{background:var(--r-light);color:var(--red)}.badge-amber{background:var(--a-light);color:#b45309}
.stage-h{color:var(--h-blue)}.stage-a{color:var(--a-purple)}.stage-r{color:var(--r-pink)}
.stage-b{color:var(--b-orange)}.stage-o{color:var(--o-green)}.stage-r2{color:var(--r-cyan)}
.callout{border-left:4px solid;border-radius:0 8px 8px 0;padding:1rem 1.25rem;margin:1rem 0;font-size:0.9rem;line-height:1.6}
.callout-info{background:#eff6ff;border-color:var(--h-blue);color:#1e40af}
.callout-warning{background:var(--a-light);border-color:var(--amber);color:#92400e}
.callout-success{background:#ecfdf5;border-color:var(--o-green);color:#065f46}
.callout-danger{background:var(--r-light);border-color:var(--red);color:#991b1b}
.callout strong{display:block;margin-bottom:0.25rem;font-weight:700}
.eo-card{border-left:3px solid var(--s300);padding:0.75rem 1rem;margin:0.75rem 0;background:var(--s50);border-radius:0 8px 8px 0}
.eo-card .title{font-weight:700;color:var(--s800);font-size:0.9rem;margin:0.15rem 0}
.eo-card .date{font-size:0.7rem;font-weight:600;color:var(--s400);text-transform:uppercase;letter-spacing:0.06em}
.eo-card .impact{font-size:0.8rem;color:var(--s500)}
.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0.5rem 2rem}
.kv-row{display:flex;gap:0.5rem;padding:0.4rem 0;border-bottom:1px solid var(--s100);font-size:0.875rem}
.kv-key{font-weight:600;color:var(--s500);min-width:130px;flex-shrink:0}
.kv-val{color:var(--s800)}
.gradient-rule{height:3px;background:linear-gradient(90deg,var(--h-blue),var(--a-purple),var(--r-pink),var(--b-orange),var(--o-green),var(--r-cyan));border:none;margin:1.5rem 0;border-radius:3px}
.dual-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.footer{text-align:center;padding:2rem;color:var(--s400);font-size:0.75rem;border-top:1px solid var(--s200);margin-top:1rem}
.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:0.35rem;vertical-align:middle}
.status-red{background:var(--red)}.status-amber{background:var(--amber)}.status-green{background:var(--green)}
.icon,.nav-icon,.section-icon,.heading-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.nav-icon{width:18px;height:18px;margin-right:0.4rem;color:var(--s800)}
.section-icon{width:28px;height:28px;color:var(--s600)}
.heading-icon{width:22px;height:22px;margin-right:0.4rem;color:var(--s700)}
.inline-icon{width:16px;height:16px;margin-right:0.25rem;color:var(--s500);vertical-align:middle}
@media(max-width:640px){.dual-col{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.nav-inner{gap:0}.container{padding:1rem 1rem 3rem}.card{padding:1.25rem 1.25rem}}
@page{size:letter;margin:0.75in}@media print{.nav-bar{display:none}.card{box-shadow:none;border:1px solid var(--s200);break-inside:avoid}body{font-size:11pt}}
