:root{font-family:'Segoe UI','Malgun Gothic',sans-serif;color:#233548;background:#f3f6f9;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:190px;background:#142d40;color:#dce7ef;position:fixed;inset:0 auto 0 0;padding:27px 18px}.brand{font-size:28px;color:#70d5c7;font-weight:800;margin-bottom:54px}.brand span{color:white;font-size:18px;margin-left:10px}aside small{color:#90a6b8}aside .active{background:#285065;border-left:3px solid #70d5c7;padding:13px;margin-top:14px}aside p{color:#9fb6c6;line-height:1.9;font-size:12px}aside footer{position:absolute;bottom:24px;color:#8da8b9;line-height:1.8;font-size:11px}main{margin-left:190px;padding:28px 32px;width:calc(100% - 190px)}header,.section-title,.toolbar,.pages{display:flex;justify-content:space-between;align-items:center;gap:12px}header{margin-bottom:24px}h1{font-size:26px;margin:8px 0}h2{font-size:17px;margin:0 0 7px}h3{font-size:14px;margin:12px 0}small,.hint{color:#6d7f8e}#identity{background:#e3eaf0;padding:8px 13px;border-radius:20px}section{background:white;border:1px solid #dce4eb;border-radius:10px}#connection{padding:18px;margin-bottom:16px}#connection form,#search{display:flex;align-items:end;gap:10px}#connection p,.pricing p,.hint{font-size:12px;line-height:1.7}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#52687a}input,select,textarea,button{font:inherit;border:1px solid #c7d3de;border-radius:5px;padding:9px;color:#233548;background:white}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid #17847d;outline-offset:1px}button{cursor:pointer;white-space:nowrap}button.primary{background:#16766f;border-color:#16766f;color:white}button:disabled{opacity:.45;cursor:default}#token{min-width:360px}#notice{border-left:3px solid #65b7af;padding:12px 15px;background:#eaf5f2;margin:14px 0;white-space:pre-wrap}#notice.error{border-color:#b85342;background:#fff0eb;color:#833d30}fieldset{border:0;padding:0;margin:0;min-width:0}.toolbar{margin:20px 0}.toolbar>div{display:flex;gap:7px}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}.list{padding:17px}.documents{min-height:320px}.doc{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e6edf2;border-radius:0;padding:16px 6px;white-space:normal;overflow-wrap:anywhere}.doc.selected{background:#eaf5f2}.doc strong,.doc small{display:block;margin:4px}.doc small{font-size:11px}.pages{padding-top:16px}.detail{padding:22px}.detail>.section-title{align-items:start}.header-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 0}.header-grid input,.header-grid textarea{width:100%}.header-grid .wide{grid-column:span 3}textarea{min-height:60px;resize:vertical}.grid-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f0f4f7;white-space:nowrap;padding:9px}td{border-bottom:1px solid #e4ebf0;padding:5px}td input{width:100px;padding:8px}td input.name{width:190px}td input.unit{width:60px}td button{padding:6px}.pricing{margin-top:25px;border:0;border-top:1px solid #e1e9ef;padding-top:12px;border-radius:0}.pricing label{display:inline-flex;min-width:230px;margin-right:8px}#calculation{margin-top:12px;line-height:1.8}.amount{font-size:22px;color:#16766f;font-weight:700}.empty{color:#728697;padding:34px 8px;text-align:center}@media(max-width:1150px){.layout{grid-template-columns:220px minmax(0,1fr)}main{padding:20px}.detail>.section-title{flex-direction:column}}@media(max-width:800px){aside{display:none}main{margin:0;width:100%;padding:14px}.layout{grid-template-columns:1fr}.documents{min-height:0;max-height:220px;overflow:auto}.toolbar,#search{flex-wrap:wrap}#token{min-width:0;width:100%}.header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-grid .wide{grid-column:span 2}}
.master-actions{display:flex;align-items:end;gap:10px;padding-bottom:2px}dialog{width:min(760px,94vw);border:1px solid #cbd9e3;border-radius:12px;padding:24px;color:#233548;box-shadow:0 20px 80px #102b4040}dialog::backdrop{background:#122c4055}dialog form{display:flex;gap:10px;align-items:end}dialog form label{flex:1}dialog p{font-size:13px;line-height:1.7;color:#52687a}#lookup-results{max-height:45vh;overflow:auto}.master-result{display:block;width:100%;text-align:left;padding:14px;margin:5px 0;white-space:normal}.master-result:hover{background:#eaf5f2}
.master-result-row{display:flex;align-items:center;gap:8px}.master-result-row .master-result{flex:1}#master-form{display:block}#master-fields{display:grid;gap:14px;margin:20px 0}.master-buttons{display:flex;justify-content:flex-end;gap:8px}#master-status{white-space:pre-wrap}
#paste-dialog{width:min(1100px,96vw);max-height:90vh;overflow:auto}#paste-source{width:100%;min-height:120px;font-family:monospace;white-space:pre}#paste-dialog .check-label{flex-direction:row;align-items:center;margin:12px 0}.paste-preview{max-height:32vh;overflow:auto}.paste-preview th{position:sticky;top:0}.paste-preview td{white-space:pre-wrap;min-width:80px;max-width:260px;overflow-wrap:anywhere}.invalid-row{background:#fff0eb}#paste-errors{color:#833d30;max-height:120px;overflow:auto;font-size:13px}
.row-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.row-tools span{font-size:12px;min-width:65px;color:#16766f}.selected-line{background:#eaf5f2}td input[type=checkbox],th input[type=checkbox]{width:18px;height:18px;accent-color:#16766f}.row-tools button{font-size:12px}
.search-options{padding:16px;background:white;border:1px solid #dce4eb;border-radius:8px}.search-options summary{cursor:pointer;font-weight:600}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}.search-grid input,.search-grid select{width:100%}.search-buttons{display:flex;gap:8px;margin-top:12px}#applied-search{font-size:12px;overflow-wrap:anywhere;color:#52687a}.list .pages{flex-wrap:wrap;justify-content:center;gap:5px}.list .pages button{padding:6px}#page-jump{display:flex;align-items:end;gap:8px;margin-top:12px}#jump-page{width:90px}
.history-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}.history-tools span{font-size:12px;color:#52687a}
.validation-summary{padding:14px;margin:12px 0;border-color:#bf6250;background:#fff7f3}.validation-summary ul{max-height:190px;overflow:auto;padding-left:20px}.validation-summary button{border:0;background:transparent;color:#913b28;white-space:normal;text-align:left;text-decoration:underline;padding:5px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b94835;background:#fff6f2}button.danger{background:#9d3526;border-color:#9d3526;color:white}#delete-targets{max-height:240px;overflow:auto;line-height:1.8}

.workspace-nav{display:flex;flex-direction:column;gap:8px;margin-top:16px}.workspace-nav button{background:transparent;color:#dce7ef;border-color:#436074;text-align:left}.workspace-nav button[aria-pressed=true]{background:#285065;border-left:3px solid #70d5c7}.workspace-nav button:disabled{opacity:.6}#directory-search{display:flex;align-items:end;gap:6px;flex-wrap:wrap}#directory-query{width:100%}#directory-form .header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#master-workspace .hint{line-height:1.8}#directory-state{font-size:12px;color:#52687a}[hidden]{display:none!important}@media(max-width:800px){body{display:block}aside{display:block;position:static;width:100%;padding:10px 14px}aside .brand,aside>small,aside>p,aside>footer{display:none}.workspace-nav{flex-direction:row;margin:0}.workspace-nav button{flex:1}#directory-form .header-grid{grid-template-columns:1fr}}
.check-label{display:flex;flex-direction:row;align-items:center;gap:8px}.check-label input{width:18px;height:18px}.permission-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px;border:1px solid #dce4eb}#org-search{display:flex;align-items:end;gap:6px;flex-wrap:wrap}#contact-panel{margin-top:26px;padding:18px}#contact-results{max-height:220px;overflow:auto}#organization-workspace .header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Excel-like session work sheets, fixed independently of the page scroll. */
.has-work-dock{padding-bottom:58px}.work-dock{position:fixed;bottom:0;left:188px;right:0;z-index:30;display:flex;align-items:center;gap:12px;padding:8px 14px;background:#e8eff3;border-top:1px solid #b8cbd6;box-shadow:0 -3px 12px #152e4012}.work-dock[hidden]{display:none}.work-dock-label{font-size:12px;color:#536b7a;white-space:nowrap}.work-sheets{display:flex;gap:4px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}.work-sheet{display:flex;flex-shrink:0;border:1px solid #c7d5df;border-radius:5px 5px 0 0;background:#f7fafc;border-bottom:3px solid transparent}.work-sheet.active{background:white;border-bottom-color:#137d71}.work-sheet button{border:0;background:transparent;border-radius:0;white-space:nowrap;padding:9px 12px;font-size:13px}.work-sheet.active [role=tab]{color:#086b60;font-weight:700}.work-sheet .work-sheet-close{padding:4px 9px;color:#687d89}.work-sheet button:focus-visible{outline:2px solid #137d71;outline-offset:-3px}@media(max-width:800px){.work-dock{left:0;padding:6px}.work-dock-label{display:none}}
/* Compact work-sheet chrome requested by the user. */
.has-work-dock{padding-bottom:46px}.work-dock{gap:8px;padding:4px 10px}.work-dock-label{font-size:11px}.work-sheet button{font-size:12px;padding:6px 10px}.work-sheet .work-sheet-close{padding:4px 7px}@media(pointer:coarse){.work-sheet button{min-height:44px}}
#rfq-create-dialog{max-height:90vh;overflow:auto}#rfq-create-form{display:block}#rfq-create-fields{display:grid;gap:12px}#rfq-lines{max-height:240px;overflow:auto}#rfq-create-dialog .check-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;padding:5px}#rfq-create-dialog input[type=checkbox]{width:auto}#rfq-suppliers{max-height:200px;overflow:auto}#rfq-state{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:16px}#rfq-state[hidden]{display:none}#rfq-reason{min-width:260px}
#rfq-replies{margin-top:22px;padding:16px;min-width:0}#rfq-reply-versions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}#rfq-reply-form{display:grid;gap:12px;margin:12px 0}#rfq-reply-lines{display:grid;gap:8px;max-height:260px;overflow:auto}.rfq-reply-line{display:grid;grid-template-columns:minmax(160px,1fr) 120px 120px;gap:8px;align-items:center}.rfq-reply-line label{flex-direction:row;align-items:center}.rfq-reply-line input[type=checkbox]{width:18px;height:18px}#rfq-reply-view,#rfq-comparison{overflow:auto;margin:12px 0}@media(max-width:800px){.rfq-reply-line{grid-template-columns:1fr 1fr}.rfq-reply-line label{grid-column:1/-1}}
#rfq-approval-dialog{max-width:560px}#rfq-approval-summary{white-space:pre-line;line-height:1.8;font-weight:600}#rfq-approval-form{display:flex;flex-direction:column;align-items:stretch;margin:16px 0}#rfq-comparison td button{font-size:11px;padding:5px 8px}
.packing-preview-dialog{width:min(900px,96vw);max-height:90vh;overflow:auto;padding:24px}.packing-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.packing-preview-actions h2{margin:0}.packing-preview-warnings{padding:12px 12px 12px 32px;background:#fff5df;border:1px solid #ebd79d}.packing-preview-box{break-inside:avoid;border-top:1px solid #cbd7dd;margin-top:20px;padding-top:12px}.packing-preview-box table{width:100%;border-collapse:collapse}.packing-preview-box th,.packing-preview-box td{border:1px solid #cbd7dd;padding:7px;text-align:left}.packing-preview-totals{border-top:2px solid #607e89;margin-top:20px;padding-top:10px}.packing-preview-print{margin-left:auto}
@media print{body.packing-printing>*:not(dialog.packing-preview-dialog){display:none!important}body.packing-printing>dialog.packing-preview-dialog{display:block!important;position:static!important;inset:auto!important;margin:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;padding:0!important}body.packing-printing .packing-preview-actions button{display:none!important}}
.packing-coverage{margin:12px 0;padding:10px 14px;border:1px solid #cbd7dd;background:#f5f9fa}.packing-coverage p{margin:4px 0}.packing-coverage .error{color:#a32222;font-weight:700}

.quotation-list-settings{margin:8px 0;padding:8px;border:1px solid #dce4eb;border-radius:6px}.quotation-list-settings summary{cursor:pointer;font-size:12px}.quotation-list-options{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.quotation-list-options label{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:12px}.quotation-list-options input{width:16px;height:16px}.quotation-list-settings button{font-size:12px}.quotation-list-settings .hint{margin-bottom:0}

.quotation-column-settings{margin:10px 0;padding:10px;border:1px solid #dce4eb;border-radius:6px}.quotation-column-settings summary{cursor:pointer;font-size:12px}.quotation-column-options{display:grid;gap:6px;margin:10px 0}.quotation-column-options>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.quotation-column-options label{display:flex;flex-direction:row;align-items:center;gap:5px}.quotation-column-options label:first-child{min-width:100px}.quotation-column-options input[type=checkbox]{width:16px;height:16px}.quotation-column-options input[type=number]{width:80px;padding:5px}.quotation-column-options button,.quotation-column-settings>button{font-size:12px;padding:5px 8px}.quotation-configurable-grid{table-layout:fixed}.quotation-configurable-grid td{overflow-wrap:anywhere}.quotation-configurable-grid td input:not([type=checkbox]),.quotation-configurable-grid td select{width:100%;min-width:0}.quotation-configurable-grid td button{margin:2px;max-width:100%}

.excel-mapping-tools{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:12px 0}.excel-mapping-tools .hint{flex-basis:100%;margin:0}.excel-mapping-tools input,.excel-mapping-tools select{max-width:250px}

.excel-import-history{margin:14px 0;padding:10px;border:1px solid #dce4eb;border-radius:6px;font-size:12px}.excel-import-history summary{cursor:pointer;overflow-wrap:anywhere}.excel-import-history>div{max-height:300px;overflow:auto}.excel-import-history>div>details{padding:8px 0;border-top:1px solid #e4ebf0}.excel-import-history p{line-height:1.7;overflow-wrap:anywhere}
.excel-source-dialog{width:min(780px,94vw);max-height:85vh;overflow:auto}.excel-source-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.excel-source-heading h2{margin:0}.excel-source-dialog details{padding:12px 0;border-top:1px solid #dce4eb}.excel-source-dialog summary{cursor:pointer;overflow-wrap:anywhere}.excel-source-dialog dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 12px;font-size:13px}.excel-source-dialog dd{margin:0;overflow-wrap:anywhere}.excel-source-dialog input{font-family:monospace;font-size:12px;width:100%}.excel-source-dialog label{margin:12px 0}.excel-source-dialog [data-status]{min-height:1.5em}

.quotation-addresses{margin:12px 0;padding:12px;border:1px solid #dce4eb;border-radius:6px}.quotation-addresses h3{margin:0 0 8px}.quotation-addresses label{margin-top:10px}.quotation-addresses select{max-width:100%;width:100%}.quotation-addresses .hint{overflow-wrap:anywhere}

.packing-preview-address{border:1px solid #cbd7dd;padding:12px;margin-top:12px;overflow-wrap:anywhere;break-inside:avoid}.packing-preview-address summary{font-weight:600}
@media print{body.packing-printing .packing-preview-address>p{display:block!important}}

/* PortFlow full-screen sign-in. Scoped to avoid changing the business workspace. */
body.auth-required{display:block;background:#07343b;color:#fff}
body.auth-required> :not(main){display:none!important}
body.auth-required>main{margin:0;padding:0;width:100%;max-width:none}
body.auth-required>main> :not(#connection){display:none!important}
#connection.login-screen:not([hidden]){position:relative;display:grid;grid-template-columns:57.5% 42.5%;min-height:100svh;padding:0;border:0;border-radius:0;margin:0;color:#fff;background:linear-gradient(90deg,rgba(3,40,47,.47),rgba(3,36,42,.3)),linear-gradient(0deg,rgba(0,31,36,.46),rgba(8,38,43,.12)),url('/login-harbor-v2.webp') center center/cover no-repeat}
#connection .login-story{display:flex;flex-direction:column;min-width:0;padding:46px 48px 34px}
#connection .login-brand{display:flex;align-items:center;gap:13px;color:#fff;letter-spacing:2px}
#connection .login-brand-mark{display:grid;place-items:center;width:37px;height:39px;border:1px solid #ffffff57;border-radius:10px;font-size:20px;letter-spacing:0}
#connection .login-brand strong{display:block;font-size:21px;line-height:1.2;font-weight:700}
#connection .login-brand small{display:block;margin-top:8px;font-size:8px;letter-spacing:1.7px;color:#d3e7df}
#connection .login-story-copy{padding-top:72px}
#connection .login-eyebrow{font-size:10px;line-height:1.6;font-weight:700;letter-spacing:2px;color:#c6e0d0;margin:0 0 24px}
#connection .login-story-copy h2{font-size:clamp(32px,3.1vw,48px);line-height:1.4;letter-spacing:-1.5px;font-weight:400;margin:0 0 25px;color:#fff}
#connection .login-description{font-size:13px;line-height:1.9;color:#e0eeeb;margin:0}
#connection .login-story-footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:70px;font-size:9px;letter-spacing:1.3px;color:#d6e5df}
#connection .login-panel{display:flex;flex-direction:column;min-width:0;padding:64px clamp(35px,6.5vw,100px) 28px;background:linear-gradient(180deg,rgba(154,182,175,.13),rgba(3,33,38,.14));border-left:1px solid #ffffff08}
#connection .login-panel-content{width:100%;max-width:420px;margin:0 auto}
#connection .login-panel .login-eyebrow{margin-bottom:20px}
#connection h1{font-size:32px;line-height:1.35;letter-spacing:-1px;font-weight:600;margin:0 0 11px;color:#fff}
#connection .login-intro{font-size:13px;line-height:1.7;color:#e1eeea;margin:0}
#connection .login-instructions{font-size:12px;line-height:1.65;color:#d2e2df;margin:30px 0 22px}
#connection #login{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:0}
#connection #login label{display:flex;flex-direction:column;gap:9px;color:#f1f5ef;font-size:12px;font-weight:600}
#connection #login input{display:block;width:100%;height:48px;padding:0 15px;border:1px solid #b6cfcd70;border-radius:8px;background:#c7e1df20;color:#fff;font-size:13px;box-shadow:inset 0 0 0 1px #ffffff05;outline-offset:2px}
#connection #login input::placeholder{color:#d4e3e0;opacity:.95;font-size:12px}
#connection #login input:focus-visible{outline:2px solid #c1ded2;background:#c7e1df2b}
#connection .login-password-field{position:relative;display:block}
#connection #login-password{padding-right:65px}
#connection #login-password-toggle{position:absolute;inset:1px 2px 1px auto;border:0;background:transparent;padding:0 15px;border-radius:7px;color:#fff;font-size:11px;font-weight:600}
#connection #login-password-toggle:hover{background:#ffffff12}
#connection #login .login-submit{display:flex;align-items:center;justify-content:space-between;height:49px;margin-top:3px;padding:0 19px;border:1px solid #275b5e;border-radius:8px;background:#174e52;color:#fff;font-size:13px;font-weight:600;transition:background .15s}
#connection #login .login-submit:hover{background:#21656a}
#connection #login .login-submit:disabled{cursor:wait;opacity:.7}
#connection #login .login-submit span:last-child{font-size:23px;font-weight:400}
#connection button:focus-visible,#connection summary:focus-visible{outline:2px solid #c1ded2;outline-offset:3px}
#connection .login-feedback{margin:10px 0 0;min-height:14px;font-size:12px;line-height:1.6;color:#e3f2e9;white-space:pre-wrap}
#connection .login-feedback:empty{min-height:0}
#connection .login-feedback.error{padding:9px 12px;border:1px solid #f7d3b966;border-radius:6px;background:#653b3270;color:#ffe1ce}
#connection .login-help{margin-top:24px;padding-top:20px;border-top:1px solid #d6e3df55}
#connection .login-first-use{display:flex;align-items:baseline;gap:14px;margin-bottom:21px}
#connection .login-first-use strong{flex:none;font-size:12px;color:#f1f5ec}
#connection .login-first-use p{margin:0;font-size:11px;line-height:1.8;color:#d1dfdb}
#connection .login-help details{margin:0;padding:0;border:0;background:transparent}
#connection .login-help summary{padding:14px 0;font-size:11px;font-weight:600;color:#e4ece3;cursor:pointer;list-style:none}
#connection .login-help summary::before{content:'▸';display:inline-block;margin-right:6px;color:#c7ddd2}
#connection .login-help details[open] summary::before{transform:rotate(90deg)}
#connection .login-help details p{font-size:12px;line-height:1.8;color:#d1e1dc;margin:0 0 10px}
#connection .login-panel-footer{display:flex;justify-content:space-between;gap:16px;width:100%;margin-top:auto;padding-top:35px;font-size:9px;color:#e0eae2;line-height:1.7}
@media(min-width:1500px){#connection .login-story{padding:55px 64px 40px}#connection .login-story-copy{padding-top:100px}#connection .login-panel{padding-top:82px}}
@media(max-width:1050px){#connection.login-screen:not([hidden]){grid-template-columns:52% 48%}#connection .login-story{padding:36px 30px}#connection .login-panel{padding:52px 32px 28px}#connection .login-first-use{display:block}#connection .login-first-use p{margin-top:8px}}
@media(max-width:700px){#connection.login-screen:not([hidden]){grid-template-columns:1fr;background-position:60% center}#connection .login-story{padding:28px 26px 20px}#connection .login-brand strong{font-size:19px}#connection .login-story-copy{padding-top:34px}#connection .login-story-copy h2{font-size:32px;margin-bottom:13px}#connection .login-story-copy .login-eyebrow{margin-bottom:12px}#connection .login-description{font-size:12px}#connection .login-story-footer{display:none}#connection .login-panel{padding:29px 26px 24px;background:#062e3699;border-left:0;border-top:1px solid #ffffff14}#connection .login-panel-content{max-width:440px}#connection .login-panel .login-eyebrow{margin-bottom:12px}#connection h1{font-size:28px}#connection .login-instructions{margin:21px 0 19px}#connection .login-panel-footer{max-width:440px;margin:0 auto;padding-top:30px}#connection .login-first-use{display:flex}}
@media(prefers-reduced-motion:reduce){#connection *{transition:none!important}}
