/* Connected EXHUB workspace — navy, red and pale-blue reference palette. */
body{padding-bottom:52px}.demo-toolbar{position:fixed;z-index:80;bottom:0;left:0;right:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:22px;padding:9px 20px;background:#fff;border-top:1px solid #dbe5ef;box-shadow:0 -4px 20px #102e5208;font-size:12px}.demo-toolbar>span{color:#657b93}.demo-toolbar b{color:#0b2c50;margin-right:6px}.demo-toolbar .textbtn{font-size:12px}.full-portal{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 150px);gap:0}.full-portal .sidebar{background:#fff;border-right:1px solid #e0e8f1;padding:24px 15px;position:relative;top:auto;min-width:0}.full-portal .rolebox{background:#eef5fb;border:1px solid #deebf5;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:7px;margin-bottom:18px;word-break:break-word}.rolebox small{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:#637e98}.rolebox b{font-size:14px}.rolebox>span{font-size:12px;color:#627991}.full-portal .sidelink{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:3px 0;border-radius:7px;font-size:12px;font-weight:600;white-space:normal}.sidelink .ico{width:18px;height:18px;flex-shrink:0}.sidelink.active{background:#eaf3fb;color:#0a3159}.sidelink small{margin-left:auto;background:#f02646;color:#fff;border-radius:20px;padding:2px 6px}.sidebar-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:22px 12px}.full-portal .workspacecontent{padding:26px 30px 45px;min-width:0}.local-notice{display:flex;align-items:center;gap:8px;margin-bottom:25px;color:#657b93;font-size:11px}.local-notice .ico{width:15px;height:15px;flex-shrink:0}.portal-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#7590a8;text-transform:uppercase;margin-bottom:8px}.full-portal h1{font-size:29px;line-height:1.2;letter-spacing:-1px}.full-portal .lead{font-size:13px;line-height:1.7}.titlebar{gap:20px}.full-portal .titlebar{margin-bottom:24px}.full-portal .card{border:1px solid #e1e9f1;border-radius:11px;box-shadow:0 4px 16px #102e5203;overflow:hidden;margin-bottom:18px;background:#fff}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 21px;border-bottom:1px solid #edf1f6}.cardhead h3{font-size:15px;margin:0}.cardbody{padding:21px}.cardbody .card{box-shadow:none}.full-portal .formcard,.filter-panel{padding:24px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.formcard h3:not(:first-child){margin-top:25px}.field{min-width:0}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:600}.field input,.field select,.field textarea,.chatform input{width:100%;min-width:0;background:#fff;border:1px solid #d6e1ec;border-radius:6px;padding:11px 12px;color:#123357;font:inherit;font-size:13px;box-sizing:border-box}.field small{font-size:11px;color:#71869b;line-height:1.6}.field input[type=file]{font-size:12px;background:#f8fbfd}.field.span2{grid-column:1/-1}.field textarea{resize:vertical}.formactions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.formerror{padding:13px 15px;border-radius:6px;background:#fff0f2;color:#b20f2a;border:1px solid #f6c7cf;margin-bottom:20px;line-height:1.6;font-size:13px}.formerror[hidden]{display:none}.btn[disabled]{opacity:.5;cursor:wait}.formcard h3{font-size:16px;margin-bottom:18px}.portal-table{width:100%;border-collapse:collapse}.portal-table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:#f6f9fc;color:#66809a;text-align:left;padding:14px 18px}.portal-table td{padding:16px 18px;font-size:12px;vertical-align:middle;border-bottom:1px solid #edf1f6}.portal-table td small{display:block;font-size:11px;color:#73869b;margin-top:6px;line-height:1.5}.portal-table td .textbtn{display:inline-block;margin:4px 9px 4px 0;font-size:11px}.tablewrap{overflow-x:auto!important}.portal-table .btn{margin:3px;white-space:nowrap}.portal-table .ico{vertical-align:middle;width:18px;margin-right:6px}.badge{white-space:nowrap}.badge.orange{color:#976009;background:#fff5df}.badge.red{color:#bd2040;background:#ffedf0}.metricgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:5px}.metric{padding:21px!important}.metric>div{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;color:#677f97}.metric .ico{width:20px;color:#2475b1}.metric strong{display:block;font-size:27px;margin:13px 0;letter-spacing:-1px}.metric small{color:#8293a4;font-size:10px}.journey-guide{display:flex;gap:15px;align-items:center;background:#eaf4fc;padding:20px;border:1px solid #d4e7f7;border-radius:11px;margin-bottom:22px}.journey-guide>.ico{color:#e92646;flex-shrink:0}.journey-guide b{font-size:14px}.journey-guide p{font-size:12px;line-height:1.65;color:#52708c;margin:6px 0 0}.journey-guide .btn{margin-left:auto;white-space:nowrap}.block-actions{margin:22px 0}.actionrow{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stack-actions{display:flex;gap:10px;flex-direction:column;align-items:stretch}.stack-actions .btn{text-align:center;justify-content:center}.details-list{margin:15px 0}.details-list>div{display:grid;grid-template-columns:minmax(110px,.85fr) minmax(0,1.15fr);gap:15px;padding:10px 0;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.55}.details-list dt{color:#70859a}.details-list dd{margin:0;word-break:break-word}.quotecompare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.quotecard{padding:22px}.quotecard h3{font-size:16px;line-height:1.5}.quotecard>p{font-size:11px;color:#7a8b9d;margin:12px 0}.quotecard .price{font-size:28px;font-weight:700;margin:19px 0;letter-spacing:-1px}.quotecard .details-list>div{grid-template-columns:1fr 1fr}.timelineitem{position:relative;padding:0 0 22px 27px;margin-left:7px;border-left:2px solid #e2eaf2}.timelineitem:before{content:'';position:absolute;left:-7px;top:1px;width:12px;height:12px;border-radius:50%;background:#e2eaf2;box-shadow:0 0 0 4px #fff}.timelineitem.done:before{background:#168866}.timelineitem.done{border-color:#acd8c9}.timelineitem b{font-size:12px}.timelineitem small{display:block;color:#7a8c9e;font-size:11px;line-height:1.5;margin-top:4px}.timelineitem:last-child{padding-bottom:0;border-color:transparent}.activity{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f5;font-size:12px;line-height:1.6}.activity small{display:block;color:#7a8b9e;font-size:11px}.activity p{margin:6px 0}.activity .ico{flex-shrink:0}.section-label{font-size:18px;margin:26px 0 16px}.info{background:#eef6fe;color:#3c6387;border-radius:7px;font-size:12px;padding:15px 17px;line-height:1.8;margin:18px 0}.info.warning{background:#fff6e6;color:#986117}.danger-text{color:#c52a44!important}.tracking-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:20px}.tracking-map{display:block;width:100%;height:auto;background:#eaf5ff;min-height:330px}.map-controls{display:flex;justify-content:center;gap:7px;padding:15px;background:#fff;border-top:1px solid #e0e8f0;flex-wrap:wrap}.map-controls .btn{padding:8px 13px;min-height:34px}.map-card{align-self:start}.auth-page{max-width:1020px;margin:50px auto 65px;display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:0 22px}.auth-page:has(>form){display:block;max-width:560px}.auth-aside{background:linear-gradient(150deg,#092947,#174d79);color:#fff;padding:44px 32px;border-radius:14px;align-self:start;min-height:400px}.auth-aside h1{font-size:36px;line-height:1.15;letter-spacing:-1.4px;margin:24px 0}.auth-aside .portal-eyebrow{color:#b7d1e9}.auth-aside p{font-size:14px;line-height:1.8;color:#dceaf6}.auth-aside .info{background:#ffffff12;color:#c0d6ea;border:1px solid #ffffff15}.auth-page .formcard{padding:26px;background:#fff}.auth-page .formcard>.field{margin:18px 0}.auth-page h2{font-size:24px;margin-bottom:22px}.checkline{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.65;margin:14px 0}.checkline input{width:16px;height:16px;accent-color:#e92545}.demo-login-list{margin-top:20px;background:#eff5fa;border:1px solid #dce7ef;border-radius:9px;padding:17px}.demo-login-list summary{cursor:pointer;font-size:13px;font-weight:600}.demo-login-list p{font-size:12px;margin:12px 0}.demo-user{display:block;width:100%;text-align:left;border:1px solid #dfe8f0;border-radius:6px;background:#fff;color:#13385a;padding:12px 13px;margin:8px 0;font-size:12px;cursor:pointer}.demo-user:hover{border-color:#e82746}.chatlayout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:470px}.chatlist{border-right:1px solid #e0e8f0;background:#f8fafc}.chatlist button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e2eaf2;background:transparent;color:#123455;padding:20px;font-size:12px;font-weight:600;cursor:pointer}.chatlist button.active{background:#e9f2fb;border-left:3px solid #e92b49}.chatlist small{display:block;color:#7890a6;font-size:10px;margin-top:9px;line-height:1.6;font-weight:400}.chatmain{padding:22px;min-width:0}.chatmain h3{font-size:14px}.chatmain .messages{display:flex;flex-direction:column;align-items:flex-start;min-height:280px;max-height:450px;overflow:auto;padding:16px 0;gap:15px}.bubble{max-width:85%;padding:14px 16px;border-radius:12px 12px 12px 2px;background:#eef3f8;font-size:13px;line-height:1.65;word-break:break-word}.bubble.mine{align-self:flex-end;background:#0f3559;color:white;border-radius:12px 12px 2px 12px}.bubble small{display:block;font-size:9px;opacity:.65;margin-top:8px}.bubble .btn{color:#123455;background:white}.chatform{display:flex;gap:10px;align-items:center}.chat-attachment{font-size:11px;max-width:100%;margin-top:12px}.chatmain .notice{font-size:10px}.notice-row{display:flex;gap:14px;align-items:center;padding:17px 12px;border-bottom:1px solid #e5edf4}.notice-row.unread{background:#f0f7ff}.notice-row>div{flex:1}.notice-row b{font-size:13px}.notice-row p{font-size:12px;margin:7px 0;color:#57728c}.notice-row small{font-size:10px;color:#7d90a3}.round{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#e9f2fb}.round .ico{width:18px}.report-number{font-size:48px;font-weight:700;letter-spacing:-2px}.report-row{display:flex;gap:15px;align-items:center;font-size:12px;margin:18px 0}.report-row>span{width:95px}.report-row meter{flex:1;accent-color:#1a6499}.report-row b{min-width:20px}.empty{text-align:center;padding:35px 16px;color:#8294a6}.empty h3{color:#365570;margin:12px 0 7px;font-size:17px}.empty p{font-size:12px;line-height:1.6;margin-bottom:18px}.empty-icon{color:#9ab6cd}.empty-icon .ico{width:32px;height:32px}.full-portal .tabs{overflow:auto;white-space:nowrap}.full-portal .tabs button{white-space:nowrap}.full-portal .result .specs{font-size:12px;line-height:1.8}.full-portal .results{grid-template-columns:repeat(3,minmax(0,1fr))}.full-portal .result h3{font-size:18px}.full-portal .result{padding:22px}.full-portal .resultbottom{gap:10px;flex-wrap:wrap}dialog#modal{max-width:700px;width:calc(100% - 32px);max-height:90vh;overflow-y:auto;padding:28px;box-sizing:border-box;border:1px solid #dfe7ef;border-radius:13px}dialog::backdrop{background:#05182eb0;backdrop-filter:blur(3px)}.modalhead h2{font-size:24px;line-height:1.3;letter-spacing:-.6px}.modal-form{margin-top:15px}.modaltext{line-height:1.8}.modal-form .field{margin-bottom:10px}.modal-form .formgrid .field{margin-bottom:0}#signature{display:block;width:100%;max-width:600px;background:#f7faff;border:1px dashed #91aac3;border-radius:7px;margin:8px 0;touch-action:none}.signature-preview{display:block;max-width:100%;width:360px;background:#f5f9fc;border:1px solid #e0e9f1;border-radius:7px;margin:18px 0}.doc-preview{max-height:55vh;width:100%;object-fit:contain}.document-text{padding:18px;border:1px solid #dfe7ed;background:#f5f9fc;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenario-grid .btn{justify-content:center}.demo-steps{padding-left:20px;font-size:14px;line-height:1.8}.demo-steps li{padding-bottom:12px}.invoice-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;font-size:12px}.checkout-value{font-size:38px;font-weight:700;letter-spacing:-1.5px;margin:20px 0}.demo-loading:after{content:'Loading demo update…';position:fixed;z-index:200;bottom:65px;left:50%;transform:translateX(-50%);background:#0c3155;color:white;padding:16px 24px;border-radius:8px;font-size:13px;box-shadow:0 10px 40px #092b5030}:focus-visible{outline:3px solid #62a5e3;outline-offset:3px}
@media(max-width:1100px){.full-portal{grid-template-columns:190px minmax(0,1fr)}.full-portal .workspacecontent{padding:22px 20px}.metricgrid{grid-template-columns:1fr 1fr}.quotecompare,.full-portal .results{grid-template-columns:1fr 1fr}.tracking-layout{grid-template-columns:1fr}.chatlayout{grid-template-columns:190px minmax(0,1fr)}.full-portal .grid2{grid-template-columns:1fr}.full-portal .titlebar{align-items:flex-start}.navright .btn{font-size:11px;padding:10px 13px}.journey-guide{flex-wrap:wrap}}
@media(max-width:760px){body{padding-bottom:62px}.demo-toolbar{gap:13px;padding:10px 12px;flex-wrap:wrap}.demo-toolbar>span{display:none}.demo-toolbar .textbtn{font-size:11px}.full-portal{display:block}.full-portal .sidebar{padding:12px 14px;display:flex;overflow-x:auto;gap:6px;border-right:0;border-bottom:1px solid #dde6f0;position:relative;white-space:nowrap}.full-portal .rolebox{display:none}.full-portal .sidelink{display:flex;flex-shrink:0;white-space:nowrap;padding:10px;font-size:11px;margin:0}.sidebar-bottom{display:none}.full-portal .workspacecontent{padding:20px 16px 30px}.full-portal h1{font-size:25px}.local-notice{font-size:10px;line-height:1.6;margin-bottom:20px}.titlebar{flex-direction:column;gap:14px}.full-portal .formcard,.filter-panel{padding:20px 17px}.formgrid{gap:15px}.full-portal .results,.quotecompare{grid-template-columns:1fr}.metricgrid{gap:10px}.metric{padding:16px!important}.metric strong{font-size:25px}.metric>div{font-size:10px}.metric small{font-size:9px}.auth-page{grid-template-columns:1fr;margin:24px auto;padding:0 16px;gap:22px}.auth-aside{min-height:0;padding:27px}.auth-aside h1{font-size:30px;margin:15px 0}.auth-aside .info{margin-bottom:0}.auth-aside p{font-size:12px}.chatlayout{grid-template-columns:1fr}.chatlist{display:flex;overflow-x:auto;border-right:0}.chatlist button{min-width:180px;border-right:1px solid #e0e8f0;padding:14px}.chatmain{padding:16px}.chatmain .messages{min-height:220px}.notice-row{flex-wrap:wrap}.notice-row>.btn{margin-left:46px}.tracking-map{min-height:240px}.cardhead,.cardbody{padding:17px}.portal-table td,.portal-table th{padding:13px 15px}.journey-guide{padding:17px;gap:10px}.journey-guide>.ico{display:none}.journey-guide .btn{margin-left:0}.details-list>div{font-size:11px}.full-portal .tabs{display:flex;gap:6px;overflow-x:auto}.full-portal .tabs button{flex-shrink:0}dialog#modal{padding:22px 18px}.navright .btn.white{display:none}.map-controls{gap:5px}.scenario-grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}
@media(max-width:440px){.formgrid{grid-template-columns:1fr}.field.span2{grid-column:auto}.formactions{flex-wrap:wrap}.btn{font-size:12px}.metric strong{font-size:22px}.metric .ico{width:16px}.full-portal .rolebox{display:none}.titlebar .actionrow .btn{padding:10px 14px}.invoice-head{flex-direction:column;align-items:flex-start}.tracking-map{min-height:200px}.details-list>div{grid-template-columns:1fr 1.2fr}}

.pdf-preview{width:100%;height:55vh;border:1px solid #dce7ef;border-radius:7px;margin:18px 0}@media(max-width:760px){.full-portal .sidebar{flex-direction:row}.full-portal .tabs{flex-wrap:nowrap}}
