:root{--navy:#071424;--navy2:#0d2a49;--navy3:#143a60;--cyan:#5cc6ef;--blue:#0b66b2;--orange:#d97736;--paper:#f4f7fa;--white:#fff;--ink:#102136;--muted:#60758a;--line:#dbe5ec;--green:#1f9d71;--amber:#d7932b;--red:#c84d4d;--shadow:0 24px 80px rgba(7,20,36,.14);font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}button{cursor:pointer}.portal-shell{min-height:100vh}.portal-topbar{position:sticky;top:0;z-index:50;height:78px;padding:0 max(3vw,24px);display:flex;align-items:center;gap:28px;background:rgba(7,20,36,.96);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 12px 35px rgba(7,20,36,.18);backdrop-filter:blur(16px)}.portal-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:850;letter-spacing:.1em}.portal-brand img{width:44px;height:44px;object-fit:contain}.portal-security{display:flex;align-items:center;gap:9px;padding-left:26px;border-left:1px solid rgba(255,255,255,.16);color:#a9bdcd;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.portal-security i,.rail-footer i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(31,157,113,.15)}.portal-account{margin-left:auto;display:flex;align-items:center;gap:15px;color:#dbe8f2;font-size:13px}.text-button{padding:8px 0;color:var(--cyan);background:none;border:0;font-weight:800}.center-view{min-height:calc(100vh - 78px);display:grid;place-content:center;text-align:center;padding:40px}.center-view p{color:var(--muted)}.loader{width:48px;height:48px;margin:0 auto 18px;border:4px solid #dce7ef;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-view{min-height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(420px,.88fr) 1.12fr;background:var(--navy);color:#fff}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:80px max(7vw,50px)}.eyebrow{margin:0;color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900}.auth-panel h1,.denied-view h1{margin:16px 0 24px;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.055em}.auth-panel>p:not(.eyebrow){max-width:620px;color:#bfcfdb;font-size:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:11px;border:1px solid transparent;text-decoration:none;font-weight:850}.primary-button{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(217,119,54,.25)}.primary-button:hover{background:#eb8745;transform:translateY(-1px)}.secondary-button{background:#fff;color:var(--ink);border-color:var(--line)}.secondary-button:hover{border-color:#a9c7da;background:#f8fbfd}.auth-panel .primary-button{width:max-content;margin-top:34px}.back-link{width:max-content;margin-top:18px;color:#9fb5c6;text-decoration:none;font-size:13px;font-weight:700}.security-note{display:flex;gap:15px;align-items:center;max-width:550px;margin-top:54px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.security-note strong{font-size:12px}.security-note span{color:#8fa6b8;font-size:11px}.auth-visual{position:relative;overflow:hidden;display:grid;place-content:center;gap:20px;padding:60px;background:radial-gradient(circle at center,rgba(92,198,239,.18),transparent 58%),linear-gradient(135deg,#0d2948,#071424)}.auth-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(92,198,239,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(92,198,239,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle,#000,transparent 70%)}.auth-visual img{position:relative;width:min(370px,62%);margin:auto;filter:drop-shadow(0 28px 55px rgba(0,0,0,.4))}.auth-visual>span{position:relative;justify-self:center;padding:8px 14px;border:1px solid rgba(92,198,239,.22);border-radius:999px;color:#bcd0de;background:rgba(7,20,36,.65);font-size:10px;letter-spacing:.15em;font-weight:800}.denied-view{max-width:840px;margin:auto}.denied-view h1{font-size:clamp(42px,6vw,72px)}.denied-view>p:not(.eyebrow){max-width:660px;margin:0 auto;font-size:18px}.status-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 24px;border-radius:50%;background:#fff0e8;color:var(--orange);font-size:26px;font-weight:900}.status-actions{display:flex;justify-content:center;gap:12px;margin-top:34px}.app-view{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 78px)}.project-rail{position:sticky;top:78px;height:calc(100vh - 78px);display:flex;flex-direction:column;padding:30px 20px 24px;background:var(--navy);color:#fff;border-right:1px solid rgba(255,255,255,.08)}.rail-heading span{display:block;color:#7f97aa;text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:900}.rail-heading strong{display:block;margin-top:5px;font-size:17px}.new-project-button{display:flex;align-items:center;gap:10px;width:100%;margin:26px 0 18px;padding:13px 14px;border:1px solid rgba(92,198,239,.25);border-radius:11px;background:rgba(92,198,239,.08);color:#fff;font-weight:800}.new-project-button:hover{background:rgba(92,198,239,.15)}.new-project-button span{color:var(--cyan);font-size:21px}.project-list{display:grid;gap:7px;overflow:auto}.project-link{width:100%;padding:14px;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;color:#aec1d0}.project-link strong{display:block;color:#dbe8f2;font-size:13px}.project-link small{display:block;margin-top:3px;color:#8199ab;font-size:10px}.project-link:hover,.project-link.is-active{border-color:rgba(92,198,239,.22);background:rgba(255,255,255,.055);color:#fff}.project-link.is-active{box-shadow:inset 3px 0 var(--orange)}.rail-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.rail-footer span{display:block;color:#748da1;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.rail-footer strong{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px}.workspace{min-width:0;padding:46px max(4vw,34px) 34px}.workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.workspace-header h1{margin:9px 0 0;font-size:clamp(34px,4.2vw,62px);line-height:1;letter-spacing:-.045em}.save-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.save-state i{width:8px;height:8px;border-radius:50%;background:var(--green)}.save-state.is-saving i{background:var(--amber);animation:pulse .8s infinite alternate}.save-state.is-error i{background:var(--red)}@keyframes pulse{to{opacity:.3}}.step-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin:35px 0 24px}.step-button{position:relative;padding:12px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#6b7f90;font-size:10px;font-weight:800}.step-button:before{content:attr(data-number);display:block;color:#9aabbb;font-size:9px}.step-button.is-active{border-color:var(--orange);background:#fff7f1;color:var(--ink);box-shadow:0 8px 22px rgba(217,119,54,.1)}.step-button.is-complete:after{content:'✓';position:absolute;right:8px;top:6px;color:var(--green)}.step-content{min-height:540px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.step-head{display:flex;justify-content:space-between;gap:30px;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.step-head h2{margin:7px 0 0;font-size:30px;letter-spacing:-.035em}.step-head p{max-width:660px;margin:8px 0 0;color:var(--muted);font-size:14px}.step-badge{align-self:start;padding:8px 11px;border-radius:999px;background:#eef7fc;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.1em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#52697b}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cddbe5;border-radius:9px;background:#fbfdfe;color:var(--ink);outline:none}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(92,198,239,.15)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}.choice-card input{margin-top:3px;accent-color:var(--orange)}.choice-card strong{display:block;font-size:13px}.choice-card span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.complexity-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.complexity-card{position:relative}.complexity-card input{position:absolute;opacity:0}.complexity-card span{display:block;padding:18px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:850}.complexity-card input:checked+span{border-color:var(--orange);background:#fff6ef;box-shadow:inset 0 0 0 1px var(--orange)}.module-table{display:grid;gap:10px}.module-row{display:grid;grid-template-columns:minmax(190px,1.05fr) 145px minmax(220px,1.4fr);gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe}.module-row .module-name span{display:block;color:var(--orange);font-size:10px;font-weight:900}.module-row .module-name strong{display:block;font-size:14px}.module-row select,.module-row input{width:100%;padding:10px;border:1px solid #cddbe5;border-radius:8px;background:#fff}.module-row[data-status="Applicable"]{border-left:4px solid var(--green)}.module-row[data-status="Conditional"]{border-left:4px solid var(--amber)}.module-row[data-status="Not Applicable"]{opacity:.7;border-left:4px solid #a5b3bf}.module-detail{margin-top:9px;color:var(--muted);font-size:11px}.raci-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.raci-card{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}.raci-card b{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--navy);color:var(--cyan)}.raci-card strong{display:block;margin-top:10px;font-size:12px}.raci-card p{margin:5px 0 0;color:var(--muted);font-size:10px}.authority-stack{display:grid;gap:9px;margin:18px 0}.authority-row{display:grid;grid-template-columns:90px 220px 60px 1fr;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px}.authority-row .level{color:var(--orange);font-size:10px;font-weight:900}.authority-row strong{font-size:12px}.authority-row .designation{display:grid;place-items:center;padding:6px;border-radius:8px;background:var(--navy);color:#fff;font-weight:900}.authority-row p{margin:0;color:var(--muted);font-size:10px}.raci-module{padding:18px 0;border-top:1px solid var(--line)}.raci-module h3{margin:0 0 12px;font-size:15px}.raci-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fpo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fpo-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe}.fpo-card.is-selected{border-color:var(--orange);background:#fff8f2}.fpo-top{display:flex;justify-content:space-between;gap:12px}.fpo-top label{font-weight:900}.fpo-top input{accent-color:var(--orange)}.fpo-card small{display:block;color:var(--muted);margin:5px 0 12px}.fpo-fields{display:grid;gap:8px}.contract-control-grid,.tender-grid,.gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.select-tile{display:flex;gap:11px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfdfe}.select-tile input{margin-top:3px;accent-color:var(--orange)}.select-tile strong{display:block;font-size:12px}.select-tile span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.assurance-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}.mini-table th{color:#52697b;text-transform:uppercase;letter-spacing:.07em;font-size:9px}.mini-table input,.mini-table select{width:100%;padding:8px;border:1px solid #cddbe5;border-radius:7px}.output-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px}.output-summary{display:grid;gap:12px;align-self:start}.summary-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.summary-card span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.summary-card strong{display:block;margin-top:5px;font-size:22px}.readiness-meter{height:9px;margin-top:10px;background:#dfe9f0;border-radius:99px;overflow:hidden}.readiness-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--green))}.output-document{max-height:700px;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:14px;background:#fff}.output-document h2{margin:0;font-size:28px}.output-document h3{margin:28px 0 9px;font-size:18px}.output-document h4{margin:20px 0 7px;font-size:14px;color:var(--blue)}.output-document p,.output-document li{font-size:12px;color:#344b5e}.output-document .doc-meta{margin:12px 0 24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.output-document .confidential{padding:10px;border:1px solid #f0c7a9;background:#fff7f1;color:#9b4a1d;font-weight:800}.output-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.workspace-actions{display:flex;justify-content:space-between;gap:16px;margin-top:22px}.workspace-actions>div{display:flex;gap:10px}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(7,20,36,.88);backdrop-filter:blur(12px)}.modal-card{width:min(610px,100%);padding:38px;border:1px solid rgba(92,198,239,.2);border-radius:20px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.35)}.modal-card img{width:78px;height:78px;object-fit:contain}.modal-card h2{margin:12px 0;font-size:38px;line-height:1}.modal-card>p:not(.eyebrow){color:var(--muted)}.accept-row{display:flex;gap:12px;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd;font-size:12px}.accept-row input{accent-color:var(--orange)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.toast{position:fixed;z-index:120;right:24px;bottom:24px;max-width:360px;padding:14px 18px;border-radius:11px;background:var(--navy);color:#fff;box-shadow:0 18px 55px rgba(7,20,36,.28);font-size:12px;transform:translateY(30px);opacity:0;pointer-events:none}.toast.is-visible{transform:none;opacity:1}.empty-project{min-height:520px;display:grid;place-content:center;text-align:center}.empty-project img{width:130px;margin:auto}.empty-project h2{margin:18px 0 8px;font-size:34px}.empty-project p{max-width:540px;color:var(--muted)}.empty-project .primary-button{margin:25px auto 0;width:max-content}.field-help{color:var(--muted);font-size:10px}.validation-list{display:grid;gap:7px;margin-top:16px}.validation-item{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px}.validation-item i{display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:#edf2f6;color:#8095a5;font-style:normal;font-weight:900}.validation-item.is-complete{color:var(--ink)}.validation-item.is-complete i{background:#e7f7f1;color:var(--green)}@media(max-width:1150px){.app-view{grid-template-columns:230px minmax(0,1fr)}.step-strip{grid-template-columns:repeat(4,1fr)}.form-grid.three,.fpo-grid{grid-template-columns:repeat(2,1fr)}.output-shell{grid-template-columns:1fr}.authority-row{grid-template-columns:70px 180px 50px 1fr}}@media(max-width:850px){.portal-security{display:none}.auth-view{grid-template-columns:1fr}.auth-visual{min-height:430px}.app-view{display:block}.project-rail{position:relative;top:auto;height:auto}.project-list{display:flex}.project-link{min-width:180px}.rail-footer{display:none}.workspace{padding:30px 20px}.workspace-header{align-items:start}.step-content{padding:22px}.form-grid,.form-grid.three,.raci-grid,.fpo-grid,.contract-control-grid,.tender-grid,.gate-grid,.assurance-panel{grid-template-columns:1fr}.module-row{grid-template-columns:1fr}.raci-legend{grid-template-columns:repeat(2,1fr)}.authority-row{grid-template-columns:70px 1fr 50px}.authority-row p{grid-column:2/-1}.output-document{max-height:none}}@media(max-width:560px){.portal-topbar{padding:0 14px}.portal-brand span{display:none}.portal-account span{display:none}.auth-panel{padding:65px 24px}.auth-panel h1{font-size:48px}.auth-visual{min-height:330px}.step-strip{display:flex;overflow:auto}.step-button{min-width:110px}.workspace-header{display:block}.save-state{margin-top:12px}.step-content{padding:18px;border-radius:14px}.step-head{display:block}.step-badge{display:inline-block;margin-top:12px}.complexity-row,.raci-legend{grid-template-columns:1fr}.workspace-actions{align-items:stretch}.workspace-actions,.workspace-actions>div{display:grid;grid-template-columns:1fr}.status-actions{flex-direction:column}.portal-account{margin-left:auto}}@media print{.portal-topbar,.project-rail,.step-strip,.workspace-header,.workspace-actions,.output-summary,.output-actions{display:none!important}.app-view{display:block}.workspace,.step-content{padding:0;border:0;box-shadow:none}.output-shell{display:block}.output-document{max-height:none;border:0;padding:0}.output-document .confidential{border:1px solid #999}body{background:#fff}}

/* Simplified high-risk activity register */
.module-row{grid-template-columns:minmax(300px,1.25fr) 150px minmax(330px,1fr);align-items:start}
.module-row>select{margin-top:22px}
.module-governance-controls{display:grid;gap:12px}
.module-control{display:grid;gap:6px;min-width:0}
.module-control>label{color:#52697b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.module-control>select{width:100%;padding:10px;border:1px solid #cddbe5;border-radius:8px;background:#fff;color:var(--ink)}
.deliverable-menu{position:relative;border:1px solid #cddbe5;border-radius:8px;background:#fff}
.deliverable-menu summary{min-height:42px;padding:10px 38px 10px 12px;overflow:hidden;color:var(--ink);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;list-style:none}
.deliverable-menu summary::-webkit-details-marker{display:none}
.deliverable-menu summary:after{content:'▾';position:absolute;right:13px;top:9px;color:#6f8292;font-size:15px}
.deliverable-menu[open] summary:after{transform:rotate(180deg)}
.deliverable-options{position:absolute;z-index:25;top:calc(100% + 6px);left:0;right:0;display:grid;gap:5px;padding:9px;border:1px solid #cddbe5;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(7,20,36,.18)}
.deliverable-options label{display:flex;align-items:center;gap:9px;padding:9px;border-radius:7px;color:var(--ink);font-size:12px;cursor:pointer}
.deliverable-options label:hover{background:#eef7fc}
.deliverable-options input{width:auto;margin:0;accent-color:var(--orange)}
.deliverable-menu[data-disabled="true"]{background:#f1f4f6;opacity:.7}
.deliverable-menu[data-disabled="true"] summary{cursor:not-allowed;pointer-events:none}
@media(max-width:1200px){.module-row{grid-template-columns:minmax(280px,1fr) 160px}.module-row>select{margin-top:0}.module-governance-controls{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:850px){.module-row{grid-template-columns:1fr}.module-governance-controls{grid-template-columns:1fr}.deliverable-options{position:static;margin:0 8px 8px;box-shadow:none}}

/* Controlled RACI role menus */
.raci-role-control{min-width:0}
.role-menu{position:relative;border:1px solid #cddbe5;border-radius:9px;background:#fbfdfe}
.role-menu summary{min-height:46px;padding:12px 38px 12px 13px;overflow:hidden;color:var(--ink);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;list-style:none}
.role-menu summary::-webkit-details-marker{display:none}
.role-menu summary:after{content:'▾';position:absolute;right:13px;top:11px;color:#6f8292;font-size:15px}
.role-menu[open] summary:after{transform:rotate(180deg)}
.role-options{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;padding:9px;border:1px solid #cddbe5;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(7,20,36,.18)}
.role-options label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:7px;color:var(--ink);font-size:11px;cursor:pointer}
.role-options label:hover{background:#eef7fc}
.role-options input{width:auto;margin:0;accent-color:var(--orange)}
@media(max-width:850px){.role-options{position:static;margin:0 8px 8px;box-shadow:none}}

/* Risk-treatment guidance */
.treatment-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 26px}
.treatment-legend article{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}
.treatment-legend strong{display:block;color:var(--navy);font-size:12px}
.treatment-legend p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1150px){.treatment-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.treatment-legend{grid-template-columns:1fr}}

.contract-routing-row{grid-template-columns:minmax(280px,1.15fr) minmax(190px,.65fr) minmax(250px,1fr)}
@media(max-width:1200px){.contract-routing-row{grid-template-columns:minmax(260px,1fr) minmax(190px,.7fr)}.contract-routing-row>.module-control:last-child{grid-column:1/-1}}
@media(max-width:850px){.contract-routing-row{grid-template-columns:1fr}.contract-routing-row>.module-control:last-child{grid-column:auto}}

/* Contract-route guidance */
.route-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 26px}
.route-legend article{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}
.route-legend strong{display:block;color:var(--navy);font-size:12px}
.route-legend p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:900px){.route-legend{grid-template-columns:1fr}}
