@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("assets/open-sans-latin.woff2") format("woff2")}
:root{--navy:#050d14;--ink:#0d0f15;--muted:#626b73;--paper:#f5f6f7;--line:#e1e5e8;--accent:#ffd200;--blue:#0e6aa1;--white:#fff;font-family:"Open Sans","Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1583c5;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#d5e0e8;padding:34px 22px;display:flex;flex-direction:column;z-index:5}.brand img{width:200px;display:block}.workspace{font-size:12px;color:#a7bac8;margin:20px 0 28px;padding-left:7px}.primary{background:var(--accent);color:var(--navy);border:1px solid var(--accent);border-radius:4px;padding:12px 19px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary:hover{background:#ffe04d;border-color:#ffe04d}.new-request{width:100%;margin-bottom:30px}.new-request span{font-size:21px;line-height:1}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 12px;border-radius:6px;font-size:13px;white-space:nowrap}nav button:hover{background:#17232d}nav button.active{color:white;background:#142a3b}nav button.active::before{content:"";position:absolute;left:0;width:3px;height:24px;background:#ffd200}.nav-count{margin-left:auto;background:#223e53;font-size:11px;padding:2px 6px;border-radius:4px}.icon{width:19px;height:19px;flex:none;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto}.help-mark{border:1px solid #5c7486;border-radius:50%;width:22px;height:22px;text-align:center;color:#b8c9d5}.sidebar-bottom p{font-size:12px;margin-bottom:30px}.sidebar-bottom small{display:block;color:#9eb2c1;font-size:11px;margin-top:5px}.profile{display:flex;align-items:center;gap:10px;padding-top:24px;border-top:1px solid #385063;font-size:12px}.avatar{background:#223e53;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:12px;font-weight:600}.shell{margin-left:246px}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px}.breadcrumb{color:var(--muted)}.breadcrumb span{margin:0 13px;color:#bcc6cd}.breadcrumb b{color:var(--ink);font-weight:500}.preview{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.preview>span:first-child{background:#1583c5;width:6px;height:6px;border-radius:50%}.sample{border:1px solid var(--line);padding:5px 9px;margin-left:9px;border-radius:4px}main{max-width:1510px;margin:auto;padding:40px 42px 22px}h1{font-size:32px;letter-spacing:-1.1px;font-weight:700;margin:0 0 8px;line-height:1.2}h2{font-size:17px;font-weight:600;margin:0}h3{font-size:15px;margin:0 0 6px}p{line-height:1.6}.muted,.intro p{color:var(--muted)}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.intro p{margin:0;font-size:14px}.quiet{border:1px solid #d5dee5;padding:11px 15px;border-radius:6px;background:white;font-size:13px;display:inline-flex;align-items:center;gap:8px}.quiet:hover{background:#f0f5f8}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:28px;padding:23px 0}.stat{padding:0 25px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.stat-number{font-size:31px;font-weight:600;letter-spacing:-1px;margin:7px 0 3px}.stat-foot{font-size:11px;color:var(--muted)}.stat-foot.green{color:#287257}.stat-foot.orange{color:#a44e21}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head small{color:var(--muted);font-size:12px;margin-left:10px}.tools{padding:0 25px 20px;display:flex;justify-content:space-between;gap:16px}.tabs{display:flex;gap:3px;align-items:center}.tabs button{padding:8px 12px;font-size:12px;border-radius:5px;color:var(--muted)}.tabs button.selected{color:#1b5978;background:#edf4f8;font-weight:600}.search{display:flex;align-items:center;border:1px solid var(--line);padding:0 10px;border-radius:6px;color:var(--muted);width:235px}.search input{border:0;outline:0;padding:9px 7px;width:100%;min-width:0;font-size:12px;background:none}.request-head,.request-row{display:grid;grid-template-columns:minmax(210px,2.2fr) minmax(140px,1.45fr) 120px 120px 85px 20px;gap:15px;align-items:center;padding:20px 25px}.request-head{background:#f8fafb;font-size:11px;color:var(--muted);padding-top:12px;padding-bottom:12px;border-block:1px solid var(--line)}.request-row{border-bottom:1px solid #edf0f3;cursor:pointer}.request-row:hover{background:#f8fbfd}.request-row:last-child{border:0}.req-name{font-size:13px;font-weight:600;display:block;margin-bottom:6px}.sub{font-size:11px;color:var(--muted)}.project{font-size:12px;line-height:1.7}.amount{text-align:right;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:5px;padding:5px 7px;font-size:10px;font-weight:600;background:#f0f3f6;color:#667786}.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.pending{background:#fff4df;color:#8a6019}.badge.approved{background:#eaf5ef;color:#247354}.badge.rejected{background:#fcece8;color:#b74f3a}.date{font-size:11px;color:var(--muted)}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 25px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;margin-top:24px}.note{padding:24px;display:flex;gap:20px;align-items:flex-start;background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:5px}.note>.icon{color:var(--blue);width:25px;height:25px}.note p{font-size:12px;margin:5px 0 13px;color:#526b7d;max-width:400px}.text-link{padding:0;font-size:12px;font-weight:600;color:#186d95}.activity{padding:22px 25px}.activity-line{display:flex;gap:12px;margin-top:17px;font-size:12px}.activity-dot{background:#eaf5ef;color:#247354;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;flex:none}.activity-line small{display:block;color:var(--muted);margin-top:4px;font-size:11px}footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:20px 42px 28px;max-width:1510px;margin:auto}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px}.steps{display:flex;gap:30px;margin-bottom:28px;border-bottom:1px solid var(--line)}.steps button{padding:0 0 17px;color:var(--muted);border-bottom:2px solid transparent;font-size:13px;display:flex;gap:9px;align-items:center}.steps button.active{border-color:var(--blue);color:var(--ink);font-weight:600}.step-num{border:1px solid #cbd6de;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:11px}.active .step-num{background:var(--navy);border-color:var(--navy);color:white}.form-section{padding:25px;border-bottom:1px solid var(--line)}.form-section:last-child{border:0}.section-desc{color:var(--muted);font-size:12px;margin:6px 0 22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px}.field.wide{grid-column:1/-1}input,select,textarea{color:var(--ink);background:white;border:1px solid #d5dee5;border-radius:5px;padding:11px 12px;width:100%;min-width:0}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}.check{display:flex;align-items:center;gap:9px;font-size:12px;margin:10px 0}.summary{align-self:start;padding:23px;position:sticky;top:20px}.summary dl{margin:20px 0}.summary dt{font-size:11px;color:var(--muted);margin-top:17px}.summary dd{margin:5px 0;font-size:13px}.summary-total{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line);font-size:12px}.summary-total b{font-size:19px}.hint{font-size:11px;line-height:1.7;color:var(--muted);padding-top:15px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.line-item{padding:23px;border-bottom:1px solid var(--line)}.line-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.line-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.line-fields .description{grid-column:span 3}.line-total{font-size:16px;font-weight:600}.review-block{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.empty{padding:45px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:12px;width:650px;max-width:calc(100vw - 32px);padding:30px;box-shadow:0 20px 100px #10223244;color:var(--ink)}dialog::backdrop{background:#10223288}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.dialog-top h2{font-size:24px;margin:12px 0 7px}.close{font-size:24px;padding:0 5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.detail-grid p{margin:4px 0;font-size:13px}.route{border-left:2px solid #dce7ee;margin:20px 8px;padding-left:22px}.route div{position:relative;margin:22px 0;font-size:13px}.route div::before{content:"";position:absolute;left:-29px;top:3px;width:10px;height:10px;border-radius:50%;background:#438a70;border:1px solid white}.route small{display:block;color:var(--muted);margin-top:5px}.route div:last-child::before{background:#bd872d}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:14px 22px;border-radius:7px;z-index:20;box-shadow:0 4px 20px #162b3d33;display:none;max-width:90vw;font-size:13px}.mobile-only{display:none}@media(min-width:1550px){main{padding-top:55px}}@media(max-width:1200px){.sidebar{width:215px;padding-inline:17px}.brand img{width:181px}.shell{margin-left:215px}main{padding:30px 25px}.topbar{padding-inline:25px}.request-head,.request-row{grid-template-columns:minmax(170px,2fr) minmax(115px,1.3fr) 100px 110px 18px;gap:12px;padding-inline:20px}.date{display:none}.tools{flex-wrap:wrap}.form-layout{grid-template-columns:minmax(0,1fr) 235px}.stat{padding-inline:18px}}@media(max-width:900px){.sidebar{width:185px;padding-inline:12px}.brand img{width:160px}nav button{font-size:11px;gap:8px}.shell{margin-left:185px}.form-layout{grid-template-columns:1fr}.summary{position:static}.request-head,.request-row{grid-template-columns:minmax(150px,2fr) 100px 110px 15px}.project{display:none}.bottom-grid{grid-template-columns:1fr}.stats{padding:18px 0}.stat{padding-inline:13px}.stat-label{font-size:10px}.stat-label .icon{display:none}.stat-foot{font-size:10px}.intro .quiet{display:none}.topbar{height:65px}.sample{display:none}.steps{gap:18px}}@media(max-width:650px){.sidebar{position:relative;width:100%;padding:20px 18px 0;display:block}.brand img{width:166px}.workspace,.sidebar-bottom{display:none}.new-request{position:absolute;right:17px;top:19px;width:auto;margin:0;font-size:11px;padding:9px 11px}.new-request span{font-size:16px}nav{display:flex;justify-content:space-between;margin-top:23px;gap:0}nav button{font-size:11px;padding:13px 8px;border-radius:5px 5px 0 0;gap:6px}nav button.active::before{display:none}.nav-count{display:none}nav .icon{width:16px;height:16px}.shell{margin:0}.topbar{height:46px;padding-inline:19px}.breadcrumb{font-size:10px}.breadcrumb span{margin-inline:7px}.preview{font-size:9px}main{padding:27px 18px 10px}h1{font-size:28px}.intro{margin-bottom:23px}.intro p{font-size:12px;max-width:290px}.stats{grid-template-columns:1fr 1fr;gap:20px 0;padding:19px 0;margin-bottom:22px}.stat{padding-inline:18px}.stat:nth-child(2){border:0}.stat-label{font-size:11px}.stat-number{font-size:28px}.stat-foot{font-size:10px}.panel-head{padding:20px 17px}.panel-head h2{font-size:15px}.panel-head small{font-size:10px;margin-left:5px}.tools{padding:0 13px 16px;gap:13px}.tabs{width:100%;justify-content:space-between}.tabs button{font-size:10px;padding:8px}.search{width:100%;margin-inline:4px}.request-head{display:none}.request-row{grid-template-columns:1fr auto;gap:11px 8px;padding:18px}.req-name{font-size:12px}.request-row .amount{grid-column:2;grid-row:1}.request-row .status{grid-column:1;grid-row:2}.request-row>.icon{grid-column:2;grid-row:2;justify-self:end}.request-row .amount::after{content:' CAD';font-weight:400;color:var(--muted);font-size:9px}.table-footer{padding:14px 17px;font-size:10px}.bottom-grid{gap:18px;margin-top:18px}.note,.activity{padding:20px}.note h3{font-size:14px}footer{padding:22px 18px;font-size:9px;gap:20px}footer span{max-width:140px;text-align:right}.steps{gap:0;justify-content:space-between}.steps button{font-size:11px;gap:6px}.form-section{padding:20px 17px}.fields{grid-template-columns:1fr;gap:17px}.line-fields{grid-template-columns:1fr 1fr}.line-fields .description{grid-column:1/-1}.line-item{padding:20px 17px}.actions .primary,.actions .quiet{font-size:12px;padding:12px}.detail-grid{gap:15px}dialog{padding:23px}.dialog-top h2{font-size:21px}.summary{padding:20px}.form-layout{gap:20px}}
@media(max-width:380px){.brand img{width:135px}nav button{font-size:10px;padding-inline:5px}nav .icon{display:none}.new-request{font-size:10px;padding:9px}.stat-number{font-size:25px}.request-row{grid-template-columns:minmax(0,1fr) auto}.req-name{line-height:1.5}.request-row .sub{font-size:10px}.panel-head{flex-wrap:wrap}.steps button{font-size:10px}}
.processing{display:block;margin-top:6px;font-size:10px;color:var(--muted);line-height:1.4}.tabs{flex-wrap:wrap}.approval-preview{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.approval-preview h3{font-size:13px}.approval-preview p,.approval-preview small{font-size:11px;line-height:1.6;color:var(--muted)}.approval-path{padding-left:20px;font-size:12px;line-height:2}.route .complete::before{background:#438a70}.route .current::before{background:#bd872d}.route .upcoming::before{background:#cbd6de}.route .rejected::before{background:#b74f3a}.route div.complete:last-child::before{background:#438a70}.route div.rejected:last-child::before{background:#b74f3a}
.route.returned div.upcoming:last-child::before{background:#cbd6de}
.rejection-note .route small{color:var(--muted)}.rejection-note{padding:17px;background:#fcece8;border-radius:6px}.rejection-note p{font-size:13px}.rejection-note small{font-size:11px;color:#884231}.review-block b{overflow-wrap:anywhere;min-width:0;text-align:right}.review-block>span{min-width:0}.badge.submitted{background:#edf4f8;color:#1b5978}.request-row .unpriced::after{content:''}

/* Website brand elements adapted for a readable procurement workspace. */
.sidebar{border-right:1px solid #172936}.workspace{border-top:2px solid #1583c5;padding-top:16px;margin-top:22px}.sidebar-bottom p{font-size:13px;font-weight:700}.sidebar-bottom small{font-weight:400}.help-mark{color:var(--accent);border-color:var(--accent)}.project-photo{width:88px;height:112px;flex:none;background:url("assets/industra-piping.jpg") center/cover no-repeat;border-radius:3px}.note h3{font-weight:700}.note p{color:var(--muted)}.text-link{color:var(--blue)}h1{letter-spacing:-1px}.topbar{border-top:3px solid #1583c5}.search:focus-within{outline:2px solid #1583c5;outline-offset:2px}@media(max-width:650px){.sidebar{border-right:0}.project-photo{width:60px;height:100px}.note{gap:15px}.topbar{border-top-width:2px}}

/* Meeting review update. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar nav .admin-nav:first-of-type{margin-top:18px;padding-top:19px;border-top:1px solid #294052;border-radius:0}.type-chip{display:inline-grid;place-items:center;min-width:28px;height:22px;margin-right:9px;border:1px solid #b8c8d3;border-radius:3px;color:#35586e;font-size:9px;font-weight:800;letter-spacing:.5px}.workflow-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding:16px 18px;background:#edf4f8;border-left:3px solid var(--blue);border-radius:4px}.workflow-banner>div{display:flex;align-items:flex-start;gap:12px}.workflow-banner .icon{color:var(--blue);margin-top:2px}.workflow-banner p{margin:3px 0 0;color:#526b7d;font-size:12px}.activity-dot.warning{background:#fff4df;color:#8a6019}.text-link .icon{width:14px;height:14px}.empty h3{margin-bottom:4px}.empty p{margin:0;font-size:12px}
.request-intro{margin-bottom:18px}.save-status{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#eaf5ef;color:#247354;border-radius:4px;font-size:11px}.save-status .icon{width:15px;height:15px}.save-status .text-link{margin-left:5px}.request-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:white;padding:17px 20px;border-top:3px solid var(--accent);border-radius:5px;margin-bottom:16px}.request-identity>div{display:flex;align-items:center;gap:16px}.request-identity span{font-size:10px;color:#a7bac8;text-transform:uppercase;letter-spacing:.7px}.request-identity strong{font-size:16px}.request-identity p{margin:0;color:#b8c9d5;font-size:11px}.request-identity .emergency-id{padding-left:18px;border-left:1px solid #385063}.request-identity .emergency-id strong{color:var(--accent)}.request-types{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px}.request-type{min-height:118px;padding:15px;text-align:left;background:white;border:1px solid var(--line);border-radius:6px;display:grid;align-content:start;gap:6px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.request-type:hover{border-color:#9ab1c1;transform:translateY(-1px)}.request-type:active{transform:translateY(1px)}.request-type.selected{border-color:var(--blue);box-shadow:inset 0 3px 0 var(--accent),0 4px 18px #0e6aa110}.request-type>span{width:32px;height:24px;display:grid;place-items:center;background:#edf4f8;color:#1b5978;border-radius:3px;font-size:10px;font-weight:800;letter-spacing:.7px}.request-type b{font-size:12px}.request-type small{color:var(--muted);font-size:10px;line-height:1.45}.steps{margin-top:0}
.summary-heading{display:flex;justify-content:space-between;gap:12px}.summary{overflow:visible}.calculation-note{display:block;color:var(--muted);font-size:10px;line-height:1.65;margin-top:8px}.variance{display:flex;justify-content:space-between;gap:18px;margin:18px 0;padding:15px;border-radius:5px;border-left:4px solid}.variance.under{background:#eaf5ef;border-color:#247354;color:#1f654a}.variance.over{background:#fcece8;border-color:#b74f3a;color:#98412f}.variance>div:first-child{display:grid;gap:2px}.variance strong{font-size:19px}.variance small{font-size:10px}.variance-math{display:grid;align-content:center;gap:5px;text-align:right;color:var(--muted);font-size:9px}.over-reason{margin:14px 0 20px;color:#98412f}.over-reason textarea{min-height:78px}.over-reason small{font-size:10px}.over-reason textarea[aria-invalid=true]{border-color:#b74f3a;background:#fffafa}.no-request{margin:12px 0;padding:11px;background:#fff4df;color:#79541c;border-radius:4px;font-size:11px;font-weight:600}.approval-path{list-style:none;padding:0;margin:13px 0}.approval-path li{display:flex;justify-content:space-between;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.approval-path li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);margin-top:4px;flex:none}.approval-path li b{margin-right:auto}.approval-path li span{color:var(--muted);text-align:right}
.assignment-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;padding:14px;background:#f4f8fa;border-radius:5px}.assignment-panel div{display:grid;gap:3px}.assignment-panel span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.assignment-panel b{font-size:11px}.assignment-panel p{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #dbe5eb;color:var(--muted);font-size:10px}.master-blocker{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px;background:#fff4df;border-left:3px solid #bd872d;border-radius:4px;color:#6d4a15}.master-blocker .icon{flex:none}.master-blocker p{margin:3px 0 7px;font-size:11px}.master-blocker.compact{margin:16px 0 0}.vendor-request{margin-top:20px;padding:18px;background:#f4f8fa;border:1px solid #dce7ee;border-radius:5px}.vendor-request>div:first-child p{margin:4px 0 15px;color:var(--muted);font-size:11px}.vendor-request .quiet{margin-top:15px}.provisional-po{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px;padding:16px;background:#fff4df;border-left:4px solid var(--accent);border-radius:4px}.provisional-po .icon{color:#8a6019}.provisional-po div{display:grid;gap:3px}.provisional-po span{font-size:10px;color:#79541c;text-transform:uppercase;letter-spacing:.5px}.provisional-po strong{font-size:18px}.provisional-po small{color:#6d5a3c}
.quote-panel{margin-top:22px;padding:18px;border:1px solid #dce5ea;border-radius:5px}.quote-heading,.quote-heading>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quote-heading>div>.icon{color:var(--blue)}.quote-heading h3{margin:0}.quote-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.extracted-state{padding:5px 8px;background:#eaf5ef;color:#247354;border-radius:3px;font-size:9px;font-weight:700;white-space:nowrap}.attachment-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* DW-114: the file input is invisible, so its label shows the standard focus ring while the input has focus. */
.file-button:focus-within{outline:3px solid #1583c5;outline-offset:3px}.mobile-capture{display:none}.file-list{display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--muted);font-size:10px}.file-list .icon{width:14px;height:14px}.extraction-note{margin:12px 0 0;padding:10px 12px;background:#eaf5ef;color:#247354;border-radius:4px;font-size:10px}.history-strip{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 23px 18px;padding:13px 15px;background:#edf4f8;color:#315a70;border-radius:4px;font-size:10px}.history-strip b{margin-right:auto}.line-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:16px}.line-meta>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tax-note{font-size:9px;color:var(--muted)}.check{margin:0}.review-items-heading{margin-top:24px}.handoff-card{margin-top:20px;padding:16px;background:#edf4f8;border-left:3px solid var(--blue);border-radius:4px}.handoff-card p{margin:4px 0 0;color:#526b7d;font-size:11px}.mock-note{margin:0;padding:16px 24px;color:var(--muted);font-size:10px}
.submission{max-width:820px;margin:24px auto;padding:38px;text-align:center;overflow:visible}.success-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;background:#eaf5ef;color:#247354;border-radius:50%}.success-mark .icon{width:27px;height:27px}.submission>p{color:var(--muted)}.submission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0;background:var(--line);border:1px solid var(--line);text-align:left}.submission-grid div{display:grid;gap:7px;background:white;padding:16px}.submission-grid span{font-size:10px;color:var(--muted)}.submission-grid strong{font-size:12px}.future-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:28px;text-align:left}.future-stages div{position:relative;padding:30px 10px 0;border-top:2px solid #d5dee5}.future-stages div::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:#cbd6de;border:2px solid white}.future-stages .complete{border-color:#247354}.future-stages .complete::before{background:#247354}.future-stages .current{border-color:#bd872d}.future-stages .current::before{background:#bd872d}.future-stages b,.future-stages small{display:block;font-size:10px}.future-stages small{margin-top:5px;color:var(--muted);line-height:1.45}.warning-callout{padding:12px;background:#fff4df;color:#79541c;border-radius:4px;font-size:11px}.actions.centered{justify-content:center}
dialog{width:760px;max-height:calc(100dvh - 32px);overflow:auto}.compact-variance{max-width:360px}.change-history,.delivery-card,.approval-actions{margin-top:22px;padding:18px;background:#f6f8f9;border-radius:5px}.change-history>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:11px;border-bottom:1px solid var(--line)}.change-history>small{display:block;margin-top:13px;color:var(--muted);line-height:1.6}.change-history .quiet{margin-top:14px}.delivery-card p{font-size:11px;color:var(--muted)}.buyout-reminder{margin-top:14px;padding:10px;background:#fff4df;color:#79541c;border-radius:4px;font-size:10px}.approval-actions .field{margin:14px 0}.approval-actions>div{display:flex;justify-content:flex-end;gap:9px}.danger{color:#a84432;border-color:#e5b9af}#toast.error{background:#8b3327}
.report-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.report-lead,.report-stat,.bottleneck{padding:24px}.report-lead{grid-row:span 2}.report-lead>span,.report-stat>span{color:var(--muted);font-size:11px}.report-lead>strong,.report-stat>strong{display:block;margin:8px 0 3px;font-size:34px;letter-spacing:-1px}.report-lead>small,.report-stat>small{color:var(--muted)}.bars{display:grid;gap:9px;margin-top:28px}.bars i{display:block;width:var(--size);min-width:42px;padding:6px 8px;background:#dce9f0;border-left:3px solid var(--blue);font-style:normal;font-size:9px}.bottleneck{grid-column:2/-1}.bottleneck>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.bottleneck p{font-size:11px;color:var(--muted)}
.desktop-note,.future-badge{padding:6px 9px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:10px}.config-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.config-section{overflow:visible}.config-section .panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.config-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;border-top:1px solid var(--line);font-size:11px}.config-row div{display:grid;gap:4px}.config-row small{color:var(--muted)}.config-row select,.config-row input{width:190px}.wide-config{grid-column:1/-1}.assignment-table>div{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:18px;padding:14px 22px;border-top:1px solid var(--line);font-size:11px}.assignment-head{color:var(--muted);background:#f8fafb}.integration-row{display:flex;justify-content:space-between;gap:18px;padding:22px}.integration-row p{margin:4px 0 0;color:var(--muted);font-size:11px}.master-status{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.master-status span{display:grid;gap:5px;padding:17px 22px;color:var(--muted);font-size:10px;border-right:1px solid var(--line)}.master-status span:last-child{border:0}.master-status b{color:var(--ink);font-size:14px}.future-note{margin:18px 22px 22px;padding:14px;background:#fff4df;color:#6d5a3c;border-radius:4px;font-size:11px}.future-note b{color:#654713}
@media(max-width:1100px){.request-types{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr 1fr}.report-lead{grid-column:1/-1;grid-row:auto}.bottleneck{grid-column:1/-1}.future-stages{grid-template-columns:1fr}.future-stages div{padding:9px 0 9px 24px;border-top:0;border-left:2px solid #d5dee5}.future-stages div::before{top:12px;left:-7px}.assignment-table>div{grid-template-columns:1.5fr 1fr 1fr}.assignment-table>div span:last-child{display:none}}
@media(max-width:650px){.sidebar nav>.admin-nav{display:none}.request-intro{align-items:flex-start}.save-status{align-self:flex-start}.request-identity{align-items:flex-start;flex-direction:column;gap:12px}.request-identity>div{width:100%;justify-content:space-between}.request-identity .emergency-id{padding:12px 0 0;border-left:0;border-top:1px solid #385063}.request-types{grid-template-columns:1fr 1fr;gap:8px}.request-type{min-height:106px;padding:12px}.request-type small{display:none}.workflow-banner{align-items:stretch;flex-direction:column}.workflow-banner .quiet{align-self:flex-start}.assignment-panel{grid-template-columns:1fr}.assignment-panel p{grid-column:auto}.mobile-capture{display:inline-flex}.attachment-actions{display:grid;grid-template-columns:1fr 1fr}.attachment-actions .quiet{width:100%;padding:11px 8px;font-size:10px}.attachment-actions button:last-child{grid-column:1/-1}.quote-heading{display:block}.quote-heading .extracted-state{display:inline-block;margin:10px 0 0}.variance{display:block}.variance-math{text-align:left;margin-top:10px}.line-meta{align-items:flex-start}.line-meta>div{display:grid;gap:10px}.submission{padding:27px 18px}.submission-grid{grid-template-columns:1fr}.future-stages{margin-inline:7px}.approval-actions>div{position:fixed;left:16px;right:16px;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;padding:12px 16px;background:white;border-top:1px solid var(--line);box-shadow:0 -10px 28px #10223222}.approval-actions .primary{grid-column:1/-1;grid-row:1}.approval-actions .quiet{width:100%}.report-grid,.config-layout{grid-template-columns:1fr}.report-lead,.bottleneck,.wide-config{grid-column:auto}.assignment-table{overflow-x:auto}.assignment-table>div{min-width:580px}.master-status{grid-template-columns:1fr}.master-status span{border-right:0;border-bottom:1px solid var(--line)}.config-row{align-items:flex-start;flex-direction:column}.config-row select,.config-row input{width:100%}.desktop-note{display:none}.route div.upcoming::before{background:#cbd6de}}
@media(max-width:390px){.request-type b{font-size:11px}.request-type{min-height:88px}.request-identity strong{font-size:14px}.save-status{font-size:10px}.attachment-actions{grid-template-columns:1fr}.attachment-actions button:last-child{grid-column:auto}.line-meta{display:block}.line-total{display:block;margin-top:14px}.workflow-banner{padding:14px}.submission-grid strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.request-type{transition:none!important}}

/* Complete local request packages and accessible modal workflows. */
.request-row>div,.summary dl dd,.config-row,.request-package{min-width:0;overflow-wrap:anywhere}.request-identity strong,.summary-heading .sub,.dialog-top .sub{overflow-wrap:anywhere}.request-identity>div{min-width:0}.request-identity strong{font-size:13px}.attachment-record{margin:14px 0;padding:12px;background:#f4f8fa;overflow-wrap:anywhere}.attachment-record small{display:block;margin:6px 0}.attachment-record pre,.change-history pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:11px}.optional-requirements{margin-top:24px}.optional-requirements .check{margin:16px 0}.optional-requirements summary{padding:14px 0;cursor:pointer}.change-history article{border-bottom:1px solid var(--line);padding:12px 0}.change-history article p{white-space:pre-wrap;margin:6px 0}.config-row{flex-wrap:wrap}.config-row .field{flex:1;min-width:140px}.config-row .field input,.config-row .field select{width:100%}.config-row>b{flex-basis:100%}.request-package .review-block b{white-space:pre-wrap}.approval-actions>div{position:static}.file-list{overflow-wrap:anywhere}.summary dd{overflow-wrap:anywhere}.request-intro{flex-wrap:wrap;gap:12px}
@media(max-width:650px){.request-identity>div{align-items:flex-start;flex-direction:column;gap:6px}.request-identity strong{font-size:12px}.approval-actions>div{position:static;display:flex;flex-wrap:wrap;padding:0;box-shadow:none;border:0}.approval-actions>div button{flex:1 1 100%}.detail-grid{grid-template-columns:1fr}.config-row .field{width:100%;min-width:0}.review-block{gap:12px}.review-block>b{max-width:65%}}
@media print{body>.sidebar,.shell,#toast{display:none!important}dialog{position:static;display:block!important;width:100%;max-width:none;max-height:none;overflow:visible;border:0;padding:0}dialog button{display:none!important}dialog::backdrop{display:none}.request-package,.review-block{break-inside:avoid}}

.package-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.package-heading .check{margin:0;cursor:pointer}.request-package.hide-empty-fields [data-empty="true"]{display:none}

/* Project configuration and purchase-order layout. */
.project-config{padding:14px 0;border-bottom:1px solid var(--line)}
.project-config summary{cursor:pointer;padding:8px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.project-config summary span{color:var(--muted);font-size:12px}
.project-config[hidden]{display:none}
.project-config .fields{padding:16px 0}
.po-document{font-size:12px;color:#172b3a;background:#fff}
.po-header{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:2px solid var(--navy);padding:0 0 24px;margin-bottom:24px}
.po-header img{width:240px;max-width:100%}.po-header p,.po-header small{text-transform:uppercase;letter-spacing:2px;font-size:10px}.po-header h2{background:#126aa0;color:white;border-radius:5px;padding:10px 15px;font-size:20px!important;margin:8px 0}.po-header>div:last-child{text-align:right}
.po-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.po-card{border:1px solid #dce4e9;border-radius:8px;padding:18px;min-width:0;overflow-wrap:anywhere;break-inside:avoid}
.po-card h3{font-size:10px!important;color:#126aa0;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 15px!important}.po-card p{white-space:pre-line}.po-card dl{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:0}.po-card dt{color:#62717d}.po-card dd{text-align:right;margin:0}
.po-requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.po-requirement{border:1px solid #dce4e9;border-radius:7px;padding:13px}.po-requirement small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:1px;margin-bottom:8px}.po-requirement b{background:#edf2f6;border-radius:10px;padding:3px 8px;display:inline-block;font-size:10px}
.po-table-wrap{overflow-x:auto;margin-bottom:24px}.po-lines{width:100%;border-collapse:collapse;min-width:600px;font-size:11px}.po-lines th{text-align:left;text-transform:uppercase;letter-spacing:.5px;font-size:9px;border-bottom:2px solid #126aa0}.po-lines td,.po-lines th{padding:12px 8px}.po-lines td{border-bottom:1px solid #e5eaee}.po-lines td:nth-child(5),.po-lines td:nth-child(6){white-space:nowrap}.po-totals{border-color:#126aa0}.po-totals strong{font-size:19px}.po-actions{display:flex;gap:12px;margin-top:24px}
@media(max-width:650px){.po-header{align-items:flex-start;gap:16px}.po-header img{width:155px}.po-header h2{font-size:14px!important}.po-grid{grid-template-columns:1fr}.po-requirements{grid-template-columns:1fr}.po-actions{flex-wrap:wrap}}
@media print{body:has(.po-document)>:not(dialog){display:none!important}dialog:has(.po-document){position:static!important;max-height:none!important;max-width:none!important;width:100%!important;overflow:visible!important;border:0!important;margin:0!important;padding:0!important}dialog::backdrop{display:none}.po-actions{display:none!important}.po-grid{grid-template-columns:1fr 1fr}.po-requirements{grid-template-columns:repeat(3,1fr)}.po-table-wrap{overflow:visible}.po-lines{min-width:0}.po-lines thead{display:table-header-group}.po-lines tr{break-inside:avoid}.po-document{font-size:10px}.po-card{padding:12px}.po-header img{width:200px}}
@page{margin:14mm}
@media print{dialog:has(.po-document){box-shadow:none!important;border-radius:0!important}.po-header h2{color:#071827!important;background:white!important;padding-right:0}.po-header{break-inside:avoid}.po-document{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* September layout pass: size controls by the space in their section. */
main { padding-top: 26px; }
.topbar { height: 64px; }
.intro { margin-bottom: 20px; }
.request-intro { margin-bottom: 12px; }
.request-identity { padding: 12px 18px; margin-bottom: 12px; }
.request-types { margin-bottom: 18px; }
.request-type { min-height: 88px; padding: 12px; gap: 5px; }
.steps { margin-bottom: 18px; }
.steps button { min-height: 44px; padding-bottom: 10px; }
.form-layout { gap: 20px; grid-template-columns: minmax(0, 1fr) 260px; }
.form-layout > *, .fields > *, .line-fields > *, .config-layout > * { min-width: 0; }
.form-section, .line-item, .config-section { container-type: inline-size; }
.form-section, .line-item { padding: 20px 22px; }
.section-desc { margin-bottom: 16px; }
.fields { grid-template-columns: minmax(0, 1fr); gap: 14px 16px; }
.field { min-width: 0; line-height: 1.5; gap: 6px; }
.field input, .field select { min-height: 44px; }
.field textarea { min-height: 90px; line-height: 1.5; }
.field-short { width: 100%; max-width: 180px; }
.field-compact { width: 100%; max-width: 240px; }
.field-long, .field-standard { width: 100%; }
.field-narrative, .fields > .master-blocker, .fields > .calculation-note { grid-column: 1 / -1; }
.field-narrative textarea { max-width: 800px; }
.field-value { display: block; padding-block: 10px; overflow-wrap: anywhere; font-weight: 600; }
.readonly-field > span:first-child, .selected-value { color: var(--muted); }
.selected-value { font-size: 12px; overflow-wrap: anywhere; }
input[type=number] { text-align: right; font-variant-numeric: tabular-nums; }
.check { min-height: 44px; }
.check input { flex: none; }
.form-section > h2 + .fields { margin-top: 16px; }
.optional-requirements > .field { max-width: 180px; }
.line-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.line-fields .description, .line-fields .cost-code, .line-fields .cost-field { grid-column: 1 / -1; }
.line-fields .category { grid-column: 1 / -1; max-width: 240px; }
.line-fields textarea { min-height: 90px; }
.line-title { margin-bottom: 12px; flex-wrap: wrap; gap: 12px; }
.line-title button, .text-link, .close { min-height: 44px; }
.close { min-width: 44px; flex: none; }
.line-meta { flex-wrap: wrap; }
.line-total { white-space: nowrap; font-variant-numeric: tabular-nums; }
.summary { padding: 18px; }
.summary dl { margin: 12px 0; }
.summary dt { margin-top: 10px; }
.summary-total { align-items: center; flex-wrap: wrap; gap: 8px; }
.summary .variance { margin: 12px 0; padding: 12px; flex-wrap: wrap; }
.summary .approval-preview { margin-top: 14px; padding-top: 14px; }
.summary .approval-path li { flex-wrap: wrap; }
.summary .approval-path li span { text-align: left; }
.assignment-panel { margin-top: 16px; }
.quote-panel { padding: 16px; }
.file-list, .attachment-record { min-width: 0; overflow-wrap: anywhere; }
.attachment-record { margin-block: 10px; }
.attachment-record summary { cursor: pointer; min-height: 44px; }
.bottom-grid { grid-template-columns: minmax(0, 1fr); }
.stats { padding-block: 18px; margin-bottom: 20px; }
.stat-number { margin-block: 4px; }
.tools { flex-wrap: wrap; }
.search { width: min(100%, 340px); min-height: 44px; flex: 0 1 340px; }
.tabs { flex-wrap: wrap; }
.tabs button, .config-tabs button { min-height: 44px; }
.request-head, .request-row { grid-template-columns: minmax(160px, 2fr) minmax(140px, 1.6fr) 110px 120px 80px 20px; }
.request-row .project { display: block; overflow-wrap: anywhere; }
.report-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.report-lead { grid-row: auto; grid-column: auto; }
.report-lead, .report-stat, .bottleneck { padding: 20px; }
.bottleneck { grid-column: 1 / -1; }
.bottleneck > div { gap: 16px; overflow-wrap: anywhere; }
dialog { width: 540px; padding: 24px; overscroll-behavior: contain; }
dialog.dialog-detail, dialog.dialog-po, dialog:has(.request-package), dialog:has(.po-document), dialog:has(.outbox-history) { width: 940px; }
.dialog-top { margin-bottom: 18px; }
.dialog-top > div { min-width: 0; overflow-wrap: anywhere; }
.definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.definition-grid .review-block { display: grid; grid-template-columns: minmax(80px, 100px) minmax(0, 1fr); align-content: start; gap: 12px; padding-block: 12px; }
.definition-grid .review-block b { text-align: left; max-width: none; font-weight: 600; }
.definition-grid .review-wide { grid-column: 1 / -1; }
.approval-actions > div { position: static; flex-wrap: wrap; }
.config-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.config-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 20px 16px; }
.config-tabs button { padding: 10px 16px; border: 1px solid var(--line); background: white; border-radius: 5px; }
.config-tabs [aria-selected=true], .config-tabs .selected { background: var(--navy); color: white; border-color: var(--navy); }
.config-pane[hidden] { display: none; }
.config-context .field, .config-row:has(#persona) .field { flex: 0 1 320px; }
.config-row:has([data-role-limit]) .field { flex: 0 1 240px; }
.config-section > .calculation-note, .config-section > .field, .config-section > p { margin: 16px 22px; }
.config-row.people-row, .config-row:has([data-person]) { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; }
.config-row .field { min-width: 0; }
.project-results { max-height: 680px; overflow: auto; scrollbar-gutter: stable; }
.project-config { margin-inline: 22px; }
.project-config summary { min-height: 44px; overflow-wrap: anywhere; }
.project-config .fields { padding-block: 16px; }
.mobile-more { display: none; }
.po-header > div { min-width: 0; overflow-wrap: anywhere; }
.po-lines th:first-child { width: 5%; }
.po-lines th:nth-child(2), .po-lines th:nth-child(3) { width: 7%; }
.po-lines th:nth-child(4) { width: 32%; }
.po-lines th:last-child { width: 21%; }
.po-lines td { overflow-wrap: anywhere; }
.po-card dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

@container (min-width: 640px) {
  .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fields-paired { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .line-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .line-fields .description, .line-fields .cost-code, .line-fields .cost-field { grid-column: span 2; }
  .config-row.people-row, .config-row:has([data-person]) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); }
}
@media (max-width: 1250px) {
  .form-layout { grid-template-columns: minmax(0, 1fr); }
  .summary { position: static; }
  .request-head, .request-row { grid-template-columns: minmax(140px, 2fr) minmax(120px, 1.3fr) 100px 110px 18px; }
  .request-row .date, .request-head .date { display: none; }
}
@media (max-width: 1000px) {
  .request-head { display: none; }
  .request-row { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .request-row .project { grid-column: 1 / -1; }
  .request-row .amount { text-align: left; }
  .request-row > .icon { display: none; }
  .report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-lead { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  main { padding: 20px 16px 10px; }
  .topbar { height: 46px; }
  .sidebar { padding-inline: 12px; }
  .sidebar nav { align-items: stretch; }
  .sidebar nav > button { white-space: normal; flex: 1; padding: 10px 6px; min-height: 48px; }
  .sidebar nav .icon { display: none; }
  .mobile-more { display: block; position: relative; }
  .mobile-more > summary { cursor: pointer; padding: 14px 8px; min-height: 48px; font-size: 12px; }
  .mobile-more-menu { position: absolute; right: 0; top: 100%; z-index: 10; min-width: 180px; padding: 8px; background: var(--navy); border: 1px solid #385063; border-radius: 0 0 6px 6px; box-shadow: 0 8px 20px #10223244; }
  .mobile-more-menu button { min-height: 44px; width: 100%; }
  .request-type { min-height: 80px; }
  .request-identity { padding: 12px; }
  .form-section, .line-item { padding: 16px; }
  .assignment-panel { grid-template-columns: minmax(0, 1fr); }
  .request-row { grid-template-columns: minmax(0, 1fr) auto; }
  .request-row .amount { grid-row: auto; grid-column: auto; }
  .request-row .status { grid-row: auto; grid-column: auto; }
  .request-row .project { grid-column: 1 / -1; }
  .request-row .amount::after { content: ' CAD'; }
  .definition-grid { grid-template-columns: minmax(0, 1fr); }
  .review-block { flex-wrap: wrap; }
  .review-block > b { max-width: 100%; }
  dialog { padding: 18px; max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .dialog-top h2 { font-size: 21px; }
  .config-row { padding: 16px; }
  .config-context .field, .config-row:has(#persona) .field { flex-basis: auto; }
  .config-row:has([data-role-limit]) .field { flex-basis: auto; max-width: 240px; }
  .project-config { margin-inline: 16px; }
  .project-results { max-height: 70dvh; }
  .report-grid { grid-template-columns: minmax(0, 1fr); }
  .report-lead, .bottleneck { grid-column: auto; }
  .panel-head, .actions, .po-actions { flex-wrap: wrap; }
  .po-header { flex-wrap: wrap; }
  .po-header > div:last-child { text-align: left; }
  .po-card dl { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .po-card dd { text-align: left; margin-bottom: 8px; }
}
@media print {
  .definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .request-package { break-inside: auto; }
  .po-header { flex-wrap: nowrap; }
  .po-header > div:last-child { text-align: right; }
  .po-card dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .po-card dd { text-align: right; }
  .po-lines thead { display: table-header-group; }
  .po-totals, .po-card, .po-lines tr { break-inside: avoid; }
  .po-lines td { overflow-wrap: anywhere; }
  .po-lines td:nth-child(5), .po-lines td:nth-child(6), .po-lines td:nth-child(8) { white-space: nowrap; overflow-wrap: normal; }
}

.save-status { padding: 0 12px; min-height: 44px; }
.project-picker > label { display: grid; gap: 6px; }
.project-scope-row { position: relative; display: flex; align-items: center; gap: 6px; }
.project-scope-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; font-size: 12px; }
.project-scope-toggle input { appearance: none; position: relative; width: 34px; height: 20px; min-height: 0; margin: 0; padding: 0; flex: none; border: 1px solid var(--muted); border-radius: 12px; background: var(--muted); cursor: pointer; }
.project-scope-toggle input::before { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: white; }
.project-scope-toggle input:checked { background: var(--blue); border-color: var(--blue); }
.project-scope-toggle input:checked::before { transform: translateX(14px); }
.project-scope-help { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; flex: none; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-weight: 700; }
.project-scope-tooltip { display: none; position: absolute; top: 100%; left: 0; z-index: 4; width: min(320px, 100%); padding: 10px 12px; border-radius: 5px; background: var(--navy); color: white; font-size: 12px; line-height: 1.5; box-shadow: 0 4px 14px #050d1426; }
.project-scope-help:hover + .project-scope-tooltip, .project-scope-help:focus + .project-scope-tooltip { display: block; }

@container (min-width: 960px) {
  .optional-requirements .fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 651px) and (max-width: 900px) {
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .stat:nth-child(2) { border-right: 0; }
}
@media (min-width: 1000px) {
  .request-types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .request-type { grid-template-columns: 28px minmax(0, 1fr); align-items: center; align-content: center; min-height: 64px; padding: 10px; gap: 8px; }
  .request-type > span { width: 28px; }
  .request-identity { gap: 8px; }
}
@media print {
  html, body { background: white; }
}
/* Configuration editors and compact report metrics. */
.config-tabs button:hover { background: #edf4f8; color: var(--ink); }
.config-tabs [aria-selected=true]:hover { background: var(--navy); color: white; }
.config-section > h2, .config-section > h3 { margin: 20px 22px 12px; }
.config-section > .fields, .config-section > .check, .config-section > details { margin: 16px 22px; }
.config-section > button { margin: 0 22px 16px; }
.config-section > details > summary { min-height: 44px; cursor: pointer; overflow-wrap: anywhere; }
.config-section > details > .fields { padding-block: 12px; }
.config-section > .field:has(#config-project-search) { max-width: 360px; }
.config-row.people-row > .check, .config-row.people-row > .setup-link-state { grid-column: 1 / -1; }
.config-row.people-row > span.check { flex-wrap: wrap; }
.project-config { padding-block: 4px; }
.project-results pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; }
.report-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 240px)); }
#main > .panel.form-section { margin-top: 16px; }
@media (max-width: 650px) {
  .config-section > .field:has(#config-project-search) { max-width: calc(100% - 44px); }
  .report-grid { grid-template-columns: minmax(0, 1fr); }
}
.config-row .check input { width: 16px; height: 16px; min-height: 0; }
.config-tabs { justify-content: flex-start; }
.config-tabs button { font-size: 13px; white-space: normal; }

.project-picker > label[for="project-combobox"] { display: block; }
.project-combobox-wrap { position: relative; min-width: 0; }
.project-combobox-wrap > input[role="combobox"] { padding-right: 30px; }
.project-combobox-arrow { position: absolute; right: 12px; top: 11px; pointer-events: none; }
.project-combobox-results { position: absolute; top: calc(100% + 4px); left: 0; right: 0; max-height: 280px; overflow-y: auto; overscroll-behavior: contain; z-index: 6; border: 1px solid var(--line); border-radius: 6px; background: white; box-shadow: 0 6px 20px #050d1426; }
.project-combobox-results [role="option"] { padding: 12px; min-height: 44px; cursor: pointer; font-size: 13px; overflow-wrap: anywhere; }
.project-combobox-results [role="option"]:hover, .project-combobox-results [role="option"].active { background: #edf5fa; }
.project-combobox-results [aria-selected="true"] { font-weight: 600; color: var(--blue); }
.project-no-results { margin: 0; padding: 12px; color: var(--muted); font-size: 13px; }

.line-title { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.remove-line { grid-column: 2; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 4px; color: #a83232; }
.remove-line:hover { background: #fff1f1; border-color: #a83232; }

#confirmation-toast { position: fixed; bottom: 24px; right: 24px; z-index: 21; width: 360px; max-width: calc(100vw - 32px); padding: 18px; background: white; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 32px #10223233; }
#confirmation-toast p { margin: 0 0 14px; font-weight: 600; }
#confirmation-toast > div { display: flex; justify-content: flex-end; gap: 10px; }
#confirmation-toast button { min-height: 44px; padding: 10px 16px; border-radius: 4px; }
.confirmation-accept { background: #a83232; color: white; }
.confirmation-accept:hover { background: #862828; }
@media (max-width: 650px) { #confirmation-toast { right: 16px; bottom: 16px; } }

/* Dropdown widths follow the length of their choices, within the available space. */
.line-fields .unit select { max-width: 180px; }
select[data-assignment], select[data-membership], select[data-property="role"],
#persona, #person-role, #replacement-approver { max-width: 320px; }
#terms-kind { max-width: 240px; }
#correction-mode { max-width: 360px; }

.automation-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; margin-bottom: 20px; }
.automation-status p { margin: 6px 0 0; color: var(--muted); }
.automation-status button { flex-shrink: 0; }
.automation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.automation-card { padding: 22px; min-width: 0; }
.automation-card h2 { margin-bottom: 12px; }
.automation-card p, .automation-card li, .automation-card dd { line-height: 1.65; }
.automation-card .field { margin-top: 14px; }
.automation-card textarea { min-height: 70px; }
.automation-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.automation-heading h2 { margin: 0; }
.automation-badge { background: #edf4f8; color: #225573; padding: 5px 9px; border-radius: 4px; font-size: 11px; }
.automation-card dt { font-weight: 600; margin-top: 14px; }
.automation-card dd { margin: 4px 0 0; color: var(--muted); }
.notification-events article { border-top: 1px solid var(--line); padding: 14px 0; overflow-wrap: anywhere; }
.notification-events article > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.notification-events p { margin: 6px 0; }
.notification-events small, .notification-events article > div > span { color: var(--muted); }
@media (max-width: 1100px) { .automation-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 650px) { .automation-status { align-items: flex-start; flex-direction: column; } .automation-card { padding: 18px; } }
.sidebar nav button[data-view="notifications"] { white-space: normal; }

.workflow-types { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.workflow-types button { padding: 12px 16px; border: 1px solid var(--line); background: white; border-radius: 6px; white-space: normal; }
.workflow-types [aria-pressed=true], .workflow-list [aria-pressed=true] { background: #edf4f8; border-color: var(--blue); color: var(--blue); }
.workflow-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; gap: 20px; margin-bottom: 20px; }
.workflow-list > button { display: grid; gap: 6px; width: 100%; text-align: left; padding: 14px 12px; border: 1px solid var(--line); border-radius: 6px; margin-bottom: 10px; }
.workflow-list small { color: var(--muted); }
.workflow-editor fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.workflow-editor h3 { margin: 24px 0 12px; }
.workflow-recipients, .workflow-timing { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.workflow-stop { padding: 12px; background: #edf4f8; border-left: 3px solid var(--blue); }
.workflow-preview { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 6px; }
.workflow-preview pre, .notification-events pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.workflow-editor code { display: inline-block; font-size: 12px; }
.workflow-layout + details { margin-bottom: 20px; }
@media(max-width:1100px) { .workflow-layout { grid-template-columns: minmax(0,1fr); } }

.issued-provisional-po { margin: 24px auto; padding: 24px; max-width: 620px; background: var(--navy); color: white; border-top: 4px solid var(--accent); border-radius: 8px; }
.issued-provisional-po > span { display: block; font-size: 13px; font-weight: 600; }
.issued-provisional-po > strong { display: block; margin: 12px 0; font-size: clamp(24px, 4vw, 36px); color: var(--accent); overflow-wrap: anywhere; }
.issued-provisional-po > p { margin: 0; color: #d5e0e8; }

/* Mockup release label and retrospective update history. */
.mockup-version { color: var(--blue); font-weight: 600; }
.version-history { max-width: 880px; margin: 0 auto; padding: 36px 24px; }
.version-history h1 { margin-top: 24px; }
.version-history article, .version-pending { margin-top: 24px; padding: 24px; background: white; border: 1px solid var(--line); border-radius: 8px; }
.version-history h2 { font-size: 18px; overflow-wrap: anywhere; }
.version-history p { line-height: 1.65; }
.version-date { color: var(--muted); font-size: 12px; }
@media (max-width: 650px) { .version-history { padding: 24px 18px; } .version-history article, .version-pending { padding: 18px; } }

.approval-filters { justify-content: flex-start; gap: 16px; }
.manual-reminder { display: block; width: fit-content; padding: 8px 0; font-size: 12px; }
.requirement-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.project-taxes { border: 1px solid var(--line); border-radius: 6px; padding: 16px; }
.project-taxes .check { display: inline-flex; margin-right: 18px; }
.line-meta > div { display: flex; flex-wrap: wrap; gap: 10px 18px; }
@media (max-width: 650px) { .requirement-choices { grid-template-columns: 1fr; } }

footer .release-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; max-width: none; }
.version-history .followup { border-left: 4px solid #c2871e; background: #fff5df; }
.version-history .followup-heading { font-size: 26px; margin-top: 36px; }

.tax-table-scroll { overflow-x: auto; margin: 20px 0 32px; }
.tax-reference-table { width: 100%; min-width: 900px; border-collapse: collapse; font-size: 12px; }
.tax-reference-table th, .tax-reference-table td, .purchase-type-table th, .purchase-type-table td { padding: 10px; border: 1px solid var(--line); text-align: left; }
.tax-reference-table thead, .purchase-type-table thead { background: #edf4f8; }
.tax-reference-table input, .tax-reference-table select { width: 100%; min-width: 85px; padding: 10px; border: 1px solid #ccd8e0; border-radius: 4px; background: white; }
.tax-reference-table input[type=number] { min-width: 70px; }
.tax-reference-table tbody th { min-width: 190px; }
.purchase-type-table { border-collapse: collapse; width: 100%; max-width: 600px; margin: 16px 0; }
.purchase-type-table input { width: 100%; min-width: 0; padding: 10px; border: 1px solid #ccd8e0; border-radius: 4px; }

.conduit-tagline{display:block;font-size:11px;letter-spacing:0;margin-top:8px}.badge.urgent{background:#fff0d0;color:#8c4200;margin-right:6px}.po-result{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:22px;text-align:left;border:0;border-bottom:1px solid var(--border,#dce3e8);background:white;color:inherit}.po-result:hover{background:#f3f8fb}.po-result small{display:block;color:#64717b;margin-top:6px}.po-lines{width:100%;border-collapse:collapse;min-width:650px}.po-lines th,.po-lines td{padding:12px;text-align:left;border-bottom:1px solid #dce3e8}.po-lines th{background:#eef4f7}.po-lines td:nth-child(n+3){white-space:nowrap}@media(max-width:600px){.po-result{padding:14px;gap:8px;flex-wrap:wrap}.po-result>span:first-child{width:100%}}

.brand{display:block;width:100%;max-width:202px}.app-logo-frame{display:block;position:relative;width:100%;aspect-ratio:4;overflow:hidden;border-radius:3px}.brand .app-logo-frame img,.app-logo-frame img{display:block;width:100%;height:100%;max-width:none;object-position:center}.logo-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:22px 0}.logo-preset{padding:12px;border:2px solid var(--line);border-radius:8px;text-align:left;background:#fff}.logo-preset[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.logo-preset>span:last-child{display:block;margin-top:12px;font-weight:600}.branding-controls{display:grid;gap:18px;margin:24px 0}.app-logo-preview{width:246px;max-width:100%;padding:22px;background:var(--navy);margin:12px 0 22px;border-radius:6px}@media(max-width:760px){.sidebar .brand{width:140px;max-width:40vw}.logo-preset-grid{grid-template-columns:1fr}}
/* Final Conduit logos (Story 12.3) */
.app-logo-frame[data-logo="final"]{padding:4% 6%}

/* September 24 PO follow-up and terms configuration. */
.po-list{width:100%;border-collapse:collapse;font-size:13px;min-width:850px}.po-list th,.po-list td{padding:14px 12px;text-align:left;border-bottom:1px solid #e1e5e8}.po-list th{background:#f5f7f8;color:#435561}.po-list td:nth-child(4){text-align:right;white-space:nowrap}.outbox-history .po-list td:nth-child(4){text-align:left;white-space:normal}.outbox-history .po-list td:first-child{white-space:nowrap}.po-tools{align-items:end;flex-wrap:wrap}.po-tools .search{flex:1;min-width:220px}.terms-rule{padding:18px;border:1px solid #dce3e8;border-radius:6px;margin:16px 0;display:flex;gap:14px;flex-wrap:wrap;align-items:end}.terms-rule .field{max-width:280px;flex:1;min-width:150px}.sidebar .brand{margin-bottom:28px}dialog #toast{position:fixed;z-index:20;max-width:90vw;white-space:normal}button.text-link{cursor:pointer;text-align:left}
/* Story N-2 (DW-31, 35, 50, 77, 83): on phones the toast docks 8 px from the top of the viewport across 92 vw,
   clear of the fields, dialog actions and approval buttons at the bottom; the max(..., env(safe-area-inset-top))
   only takes effect if the page ever opts into viewport-fit=cover, which index.html does not set today. The selector
   list also outranks the `dialog #toast` rule above for a toast shown inside an open dialog. Desktop keeps the
   alpha.64 rules above. */
@media (max-width: 650px) { #toast, dialog #toast { top: 8px; top: max(8px, env(safe-area-inset-top)); bottom: auto; left: 4vw; right: 4vw; transform: none; max-width: none; } }

.holdback-settings { margin-top: 24px; padding: 22px; border: 1px solid #b7d4e5; border-left: 5px solid var(--blue); border-radius: 6px; background: #edf5fa; }
.holdback-settings h3 { margin: 0 0 6px; font-size: 18px; }
.holdback-settings p { margin: 0; color: #405d70; font-size: 13px; }
.holdback-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 16px; }
.holdback-controls .check { margin: 0; font-weight: 700; }
.holdback-controls .field { margin: 0; }
@media (max-width: 650px) { .holdback-settings { padding: 18px; } .holdback-controls { align-items: flex-start; flex-direction: column; } }

/* Keep long descriptions inside the eight-column printed purchase order. */
@media print {
  .po-document .po-lines { min-width: 0; }
  .po-document .po-lines th:nth-child(4) { width: 26%; }
  .po-document .po-lines th:nth-child(7) { width: 18%; }
  .po-document .po-lines th:last-child { width: 14%; }
  .po-document .po-lines td:nth-child(4),
  .po-document .po-lines td:nth-child(7) { white-space: normal; }
}
/* Cost-code store: Previous and Next stay together beside the project filter. */
.cost-code-pager-nav { display: flex; gap: 8px; }
/* Story 10.1b guided import (VIS08-10.1b-01 to -07): built on .panel, .request-type, .stats, .badge, .master-blocker and .table-footer. */
.panel-body{padding:0 25px 23px}
.panel-body>p:first-child{margin-top:0}
.import-steps ol{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:30px;border-bottom:1px solid var(--line)}
.import-steps li{display:flex;align-items:flex-start;gap:10px;padding:0 0 17px;border-bottom:2px solid transparent;color:var(--muted);font-size:13px}
.import-steps li.current{border-color:var(--blue);color:var(--ink)}
.import-steps li.current b{font-weight:600}
.import-steps .step-link,.import-steps .step-static{display:flex;gap:10px;align-items:flex-start;padding:0;text-align:left;color:inherit;background:none;border:0;font:inherit;cursor:pointer}
.import-steps .step-no{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #c5ced5;font-size:11px;font-weight:600;flex:none}
.import-steps li.current .step-no{background:var(--blue);border-color:var(--blue);color:#fff}
.import-steps li.done .step-no{background:#eaf5ef;border-color:#9fcdb6;color:#247354}
.import-steps li.done .step-no .icon{width:14px;height:14px}
.import-steps .step-text{display:grid;gap:3px}
.import-steps .step-text b{font-weight:500}
.import-steps .step-text small{font-size:11px;color:var(--muted)}
.step-compact{display:none}
.step-progress{display:block;height:4px;background:#e1e5e8;border-radius:2px;overflow:hidden;margin-top:8px}
.step-progress span{display:block;height:100%;background:var(--blue)}
.step-progress.checking span{width:40%;animation:import-check 1.2s linear infinite}
@keyframes import-check{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
@media(prefers-reduced-motion:reduce){.step-progress.checking span{animation:none;width:100%}}
.import-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 25px;border-top:1px solid var(--line)}
.import-footer>div{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.import-footer .quiet{margin:0}
.import-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 14px}
.import-card{cursor:pointer;position:relative}
.import-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.import-card:focus-within{outline:3px solid #1583c5;outline-offset:3px}
.import-card h3{margin:0;font-size:15px}
.import-card p{margin:0;color:var(--muted);font-size:12px}
.import-card .template-link{position:relative;z-index:1;justify-self:start;margin-top:6px}
.dropzone{display:flex;align-items:center;gap:16px;padding:22px;border:2px dashed #c5ced5;border-radius:9px;background:#fbfcfd;cursor:pointer;position:relative;margin-bottom:8px}
.dropzone:focus-within{outline:3px solid #1583c5;outline-offset:3px}
.dropzone.has-file{border-color:var(--blue);background:#f3f8fb}
.dropzone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.dropzone-icon .icon{width:30px;height:30px;color:var(--blue)}
.dropzone-text{display:grid;gap:4px}
.dropzone-text b{font-weight:600}
.dropzone-text small{color:var(--muted)}
.key-sentence{padding:12px 15px;background:#edf4f8;color:#315a70;border-radius:4px;font-size:12px;margin:18px 0}
.sample-heading{font-size:14px;margin:24px 0 10px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
.import-table{width:100%;border-collapse:collapse;font-size:12px}
.import-table th{text-align:left;padding:10px 12px;background:#f7f9fb;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
.import-table td{padding:10px 12px;vertical-align:top;border-bottom:1px solid #e5eaee}
.import-table tbody tr:last-child td{border-bottom:0}
.sample-table td{white-space:nowrap}
.map-table th[scope=row]{background:none;white-space:normal;width:22%}
.map-table th[scope=row] small{display:block;color:var(--muted);font-weight:400}
.map-table .field{margin:0}
.map-table .example{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:11px}
.headline{font-size:14px;margin:0 0 16px}
.map-group,.review-group{margin:16px 0;border:1px solid var(--line);border-radius:6px;padding:0 15px}
.map-group summary,.review-group summary{cursor:pointer;padding:13px 0;font-weight:600;font-size:13px}
.map-group[open]>summary,.review-group[open]>summary{border-bottom:1px solid var(--line)}
.map-group .table-wrap{margin:12px 0 15px}
.review-group>p,.review-group>ul{margin:12px 0 15px}
.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12px}
.problem-group h4{margin:14px 0 6px;font-size:13px;display:flex;gap:8px;align-items:center}
.problem-group h4 small{color:var(--muted);font-weight:400;white-space:nowrap}
.import-tiles{margin:0 0 20px}
.import-tiles .stat{display:grid;gap:2px;align-content:start}
.import-tiles .stat>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.import-tiles .stat small{font-size:11px;color:var(--muted)}
.import-tiles .stat:last-child{border-right:0}
.import-tiles .stat.problem strong{color:#b74f3a}
.result-lines{font-size:15px;line-height:1.7;margin:0 0 10px}
.result-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}
@media(max-width:1000px){.import-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.import-steps ol{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.step-compact{display:block;font-size:12px;font-weight:600;margin:0 0 20px}.import-cards{grid-template-columns:1fr}.import-card{grid-template-columns:minmax(0,1fr);align-items:start;align-content:start}.panel-body{padding:0 17px 18px}.dropzone{flex-direction:column;text-align:center}}
@media(max-width:650px){.import-tiles{grid-template-columns:1fr 1fr;gap:14px 0}.import-tiles .stat{padding-inline:16px;border-right:0}.import-tiles .stat:nth-child(odd){border-right:1px solid var(--line)}.import-footer{position:sticky;bottom:0;background:#fff;padding:12px 17px;z-index:3;flex-wrap:wrap}.import-footer>div:last-child{margin-left:auto}.import-footer .primary{white-space:nowrap}.import-flow :is(button,a,input,select,summary,textarea){scroll-margin-bottom:180px}}
@media(max-width:650px){.map-table,.map-table tbody,.map-table tr,.map-table th,.map-table td{display:block}.map-table thead{display:none}.map-table tr{padding:10px 0;border-bottom:1px solid #e5eaee}.map-table th[scope=row]{width:auto;padding:0 0 6px}.map-table td{padding:4px 0;border:0}}
/* Story 10.2: radio choices on the import Review (approved import mock-up). */
.choice-list{display:grid;gap:6px;margin:10px 0 4px}
.choice-list .check{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:0;font-size:12px;cursor:pointer}
.choice-list .check input{width:16px;height:16px;margin:0;flex:none}
.choice-list .check span{flex:1}
/* Story 10.4: the import Review Outcome choice (approved import mock-up). */
.outcome{border:1px solid var(--line);border-radius:6px;padding:10px 15px 14px;margin:16px 0 0}
.outcome legend{font-weight:600;font-size:13px;padding:0 6px}
@media(max-width:650px){.import-footer .primary{white-space:normal;text-align:center;max-width:100%}}
/* Story 10.5: import history (approved import mock-up). */
.import-table .num{text-align:right}
.history-detail td{background:#f7f9fb;font-size:12px}
.import-history .table-wrap{position:relative}
/* Story 10.3: New projects tile, Projects filter chips and the Setup required checklist (approved import mock-up). */
.import-tiles.five{grid-template-columns:repeat(5,1fr)}
.import-tiles .stat.created strong{color:#8a6019}
@media(max-width:1000px){.import-tiles.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.import-tiles.five{grid-template-columns:1fr 1fr}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 22px 14px}
.chip{padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:12px}
.chip[aria-pressed=true]{color:#1b5978;background:#edf4f8;font-weight:600;border-color:#b9d3e2}
.setup-checklist{margin:12px 0;padding:12px 15px;background:#fff4df;border-radius:4px;color:#6d4a15;font-size:12px}
.setup-checklist p{margin:0 0 8px}.setup-checklist .checklist+p{margin:8px 0 0}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.checklist li{display:flex;gap:8px;align-items:center}
.checklist li.done{color:#247354}
.checklist .icon{width:16px;height:16px}
.checklist .todo{display:inline-block;width:14px;height:14px;border:1px solid #bd872d;border-radius:3px}

/* PO document view mirrors the v7_3 PDF (PO-2, C12). Every rule is scoped under .po-document so the PO detail list that shares .po-lines does not move. */
.po-document .po-header{background:var(--navy);color:var(--white);border:0;border-bottom:3px solid var(--accent);padding:16px 22px;margin:0 0 8px;align-items:center}
.po-document .po-brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.po-document .po-header img{width:190px}
.po-document .po-title{text-align:right}
.po-document .po-header p{margin:0;font-weight:700;letter-spacing:3px;color:var(--white)}
.po-document .po-header h2{background:none;color:var(--accent);padding:0;margin:4px 0 0;font-size:18px!important}
.po-document .po-header .po-address{flex-basis:100%;margin:0;font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--white)}
.po-document .po-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.po-document .po-col{min-width:0;overflow-wrap:anywhere;break-inside:avoid}
.po-document .po-bar{background:var(--navy);color:var(--white);font-size:9px!important;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin:0!important;padding:5px 8px}
.po-document .po-col-body{background:var(--paper);padding:10px 8px;min-height:40px}
.po-document .po-col-body p{margin:0 0 4px;font-size:11px;white-space:pre-line}
.po-document .po-col-body p.po-strong{font-weight:700}
.po-document .po-col-body dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:11px}
.po-document .po-col-body dt{color:var(--muted)}
.po-document .po-col-body dd{margin:0;text-align:right;font-weight:700}
.po-document .po-submittals{margin-bottom:16px;break-inside:avoid}
.po-document .po-tags{list-style:none;margin:0;padding:8px;background:var(--paper);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;font-size:10px}
.po-document .po-tags li{display:flex;gap:6px;align-items:flex-start;overflow-wrap:anywhere}
.po-document .po-tags li::before{content:"";flex:none;width:7px;height:7px;margin-top:2px;border:1px solid var(--navy)}
.po-document .po-lines{min-width:600px}
.po-document .po-lines th{background:var(--navy);color:var(--white);border:0;padding:7px 8px}
.po-document .po-lines td{padding:8px}
.po-document .po-lines th:nth-child(1){width:4%}.po-document .po-lines th:nth-child(2){width:17%}.po-document .po-lines th:nth-child(3){width:27%}.po-document .po-lines th:nth-child(4){width:8%}.po-document .po-lines th:nth-child(5){width:6%}.po-document .po-lines th:nth-child(6),.po-document .po-lines th:nth-child(7){width:12%}.po-document .po-lines th:nth-child(8){width:13%}
.po-document .po-lines tbody tr:nth-child(even){background:var(--paper)}
.po-document .po-lines th:nth-child(4),.po-document .po-lines th:nth-child(6),.po-document .po-lines th:nth-child(7),.po-document .po-lines td:nth-child(4),.po-document .po-lines td:nth-child(6),.po-document .po-lines td:nth-child(7){text-align:right;white-space:nowrap}
.po-document .po-meta{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.po-document .po-totals{width:min(100%,300px);margin:0 0 16px auto;border:0;break-inside:avoid}
.po-document .po-totals dl{display:grid;grid-template-columns:1fr auto;gap:0;margin:0;font-size:11px}
.po-document .po-totals dt,.po-document .po-totals dd{margin:0;padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.po-document .po-totals dd{text-align:right}
.po-document .po-totals .po-total{background:var(--accent);color:var(--navy);font-size:13px;font-weight:700;border:0;padding:8px}
.po-document .po-instructions{margin-bottom:16px;break-inside:avoid}
.po-document .po-instructions ul{list-style:disc;margin:0;padding:10px 10px 10px 26px;background:var(--paper);font-size:11px}
.po-document .po-instructions li{margin-bottom:3px;white-space:pre-line}
.po-document .po-terms{margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.po-document .po-terms strong{color:var(--ink);margin-right:8px}
@media(max-width:650px){
  .po-document .po-columns{grid-template-columns:1fr}
  .po-document .po-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
  .po-document .po-title{text-align:left}
  .po-document .po-header{padding:14px}
  .po-document .po-header img{width:140px}
}
@media print{
  .po-document .po-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
  .po-document .po-tags{grid-template-columns:repeat(4,minmax(0,1fr))}
  .po-document .po-title{text-align:right}
  .po-document .po-header h2{color:var(--accent)!important;background:none!important}
  .po-document .po-header{break-inside:avoid;padding:14px 18px}
  .po-document .po-lines{min-width:0}
  .po-document .po-lines thead{display:table-header-group}
  .po-document .po-lines tr{break-inside:avoid}
  .po-document .po-totals{break-inside:avoid;page-break-inside:avoid}
  .po-document .po-bar,.po-document .po-lines th,.po-document .po-totals .po-total,.po-document .po-col-body,.po-document .po-tags,.po-document .po-instructions ul{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
