/* Shared business theme. Presentation only; project forms and permissions stay intact. */
:root {
  --portal-ink:#202d40; --portal-muted:#637084; --portal-line:#dfe5ed;
  --portal-accent:#3d73cf; --portal-navy:#172335;
  --ink:var(--portal-ink); --muted:var(--portal-muted); --line:var(--portal-line);
  --paper:#f4f6f9; --canvas:#f4f6f9; --card:#fff;
  --teal:#285dab; --teal-dark:#1d4786; --steel:#285dab; --steel-dark:#1d4786;
  --blue:#285dab; --accent:#285dab; --accent-dark:#1d4786; --orange:#285dab;
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
}
* { box-sizing:border-box; }
body { background:#f4f6f9; color:var(--ink); font-size:16px; line-height:1.55; }
body:has(.portal-nav) { padding-left:248px; }
html { scroll-padding-top:24px; }
.portal-header:not(.portal-header--login) { position:fixed; inset:0 auto 0 0; z-index:40; width:248px; display:flex; flex-direction:column; background:#172335; border-right:1px solid #263447; }
.portal-header__bar { width:100%; min-height:104px; padding:26px 22px; margin:0; }
.portal-brand { gap:10px; font-size:19px; font-weight:650; letter-spacing:-.025em; }
.portal-brand__mark { width:36px; height:38px; flex-shrink:0; border-radius:5px; background:#386bc0; color:#fff; font-size:24px; font-weight:750; }
.portal-brand small { font-size:12px; color:#9dabc0; letter-spacing:.02em; font-weight:400; margin-top:1px; }
.portal-nav { background:none; border:0; padding:18px 12px; margin:0; }
@media(min-width:981px) { .portal-nav { overflow-y:auto; min-height:0; }.portal-account-wrap,.portal-header__bar { flex-shrink:0; } }
.portal-nav__inner { width:100%; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.portal-nav a { min-height:48px; padding:12px; gap:11px; font-size:14px; line-height:1.5; font-weight:500; color:#bac6d8; border-radius:6px; white-space:normal; }
.portal-nav a:hover { background:#22324a; color:#fff; }
.portal-nav a[aria-current=page] { color:#fff; background:#294669; box-shadow:inset 3px 0 #73a4f2; font-weight:600; }
.portal-nav svg,.portal-account svg { width:20px; height:20px; flex-shrink:0; stroke:currentColor; stroke-width:1.65; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.portal-account-wrap { margin-top:auto; border-top:1px solid #2e3b4e; padding:14px 16px; }
.portal-account { width:100%; padding:0; border:0; margin:0; }
.portal-account summary { padding:8px 2px; font-size:14px; font-weight:500; min-height:48px; gap:10px; }
.portal-account summary [data-account-name] { min-width:0; overflow-wrap:anywhere; }
.portal-account summary>svg { width:16px; height:16px; margin-left:auto; }
.portal-avatar { border-radius:7px; width:32px; height:32px; flex-shrink:0; background:#2c3e58; color:#c9d7eb; font-size:14px; }
.portal-account__menu { top:auto; bottom:calc(100% + 12px); right:0; width:216px; border-radius:8px; padding:6px; box-shadow:0 10px 36px #14223629; }
.portal-account__menu a,.portal-account__menu button { font-size:14px; font-weight:500; border-radius:5px; }
.portal-header--login { background:#172335; }
.portal-header--login .portal-header__bar { width:min(1240px,calc(100% - 64px)); margin:auto; min-height:88px; padding:20px 0; }
.portal-header--login .portal-private { font-size:14px; }
.container,.shell { width:min(1440px,calc(100% - 64px)); margin-left:auto; margin-right:auto; }
main:not(.container):not(.shell) { width:min(1440px,calc(100% - 64px)); max-width:1440px; margin:0 auto; padding:36px 0 56px; }
.page { padding:36px 0 56px; }
h1 { font-size:clamp(26px,2.5vw,34px); letter-spacing:-.025em; line-height:1.25; font-weight:650; }
h2 { font-size:24px; letter-spacing:-.02em; line-height:1.35; font-weight:650; }
h3 { font-size:18px; font-weight:600; }
.lead { font-size:16px; line-height:1.65; }
.eyebrow { color:#62738c; font-size:12px; letter-spacing:.12em; font-weight:650; }
.hero,.intro { padding:0 0 24px; gap:24px; }
.hero h1 { margin-bottom:8px; }
.panel,.auth-card,.workspace,.latest-products,.results,.metrics>div,.stats article { border-radius:8px; box-shadow:none; border-color:var(--line); }
.panel,.workspace { padding:26px; }
.panel__heading { margin-bottom:24px; gap:20px; }
.panel__heading .eyebrow { margin-bottom:5px; }
.balance { padding:14px 22px; min-width:150px; background:#fff; color:#285dab; border:1px solid var(--line); border-left:3px solid #3d73cf; border-radius:6px; box-shadow:none; }
.balance strong { font-size:32px; font-weight:650; font-variant-numeric:tabular-nums; }
.balance span,.balance small { color:#637084; font-size:14px; }
.stats { border:1px solid var(--line); border-radius:8px; background:#fff; gap:0; overflow:hidden; margin-bottom:24px; }
.stats article { border:0; border-radius:0; border-right:1px solid var(--line); padding:19px 24px; }
.stats article:last-child { border-right:0; }
.stats span,.metrics span { font-size:14px; font-weight:400; color:#637084; }
.stats strong,.metrics strong { font-size:26px; font-weight:650; color:#24374e; font-variant-numeric:tabular-nums; }
.metrics { gap:16px; }
.metrics>div { padding:20px 24px; }
.document-tabs,.section-nav { width:100%; background:transparent; border-radius:0; border-bottom:1px solid #d5deea; padding:0; gap:24px; margin:0 0 24px; }
.document-tabs a,.section-nav a { padding:12px 2px; border-radius:0; font-size:15px; font-weight:500; border-bottom:2px solid transparent; margin-bottom:-1px; }
.document-tabs a[aria-current=true],.section-nav a[aria-current=page] { color:#24569c; background:transparent; box-shadow:none; border-bottom-color:#356bc0; font-weight:650; }
.document-tabs a:hover,.section-nav a:hover { color:#24569c; }
.form-grid { column-gap:24px; row-gap:18px; }
.form-step { color:#30435b; font-weight:600; margin-top:6px; padding-bottom:10px; border-bottom:1px solid #edf0f5; }
.form-step span { background:#edf2fa; color:#3a5e8f; border-radius:5px; font-size:13px; }
label,.field>span,.file-field>span,.file-input>span { font-weight:600; font-size:14px; }
.field small,.help,.form-note,.form-actions p,.muted { font-size:14px; color:#637084; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select { min-height:46px; border:1px solid #cbd5e1; border-radius:6px; box-shadow:none; background:#fff; color:#22334b; font-size:16px; font-weight:400; padding:11px 13px; }
input::placeholder,textarea::placeholder { color:#7b8798; opacity:1; }
input:focus,textarea:focus,select:focus,.field input:focus,.field textarea:focus { outline:none; border-color:#477bc7; box-shadow:0 0 0 3px #477bc718; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #74a1e6; outline-offset:3px; }
.primary,.search-button,.button,button:not(.portal-account button) { font-size:15px; font-weight:600; border-radius:6px; min-height:46px; box-shadow:none; background:#285dab; color:#fff; }
.primary:hover,.search-button:hover,.button:hover,button:not(.portal-account button):hover { background:#1d4786; box-shadow:none; transform:none; }
.secondary,.button.secondary,button.secondary:not(.portal-account button) { border:1px solid #c6d2e1; background:#fff; color:#355478; }
.secondary:hover,.button.secondary:hover,button.secondary:not(.portal-account button):hover { background:#edf2f8; }
button:disabled { cursor:not-allowed; opacity:.55; }
.form-actions { padding-top:14px; }
.cost,.reward,.service-state { border-radius:5px; font-weight:500; font-size:14px; padding:7px 10px; }
.cost { background:#edf3fc; color:#315c94; }.reward { background:#edf6f1; color:#2f7050; }
.service-state { border:1px solid #cfe2d7; background:#f1f8f4; color:#37694c; }.service-state span { box-shadow:none; width:6px; height:6px; }
.file-field,.file-input { background:#f8fafc; border:1px dashed #b8c9dd; border-radius:6px; padding:22px; }
.file-input input,.file-field input { background:transparent; border:0; padding:8px 0; }
input::file-selector-button,.file-input input::file-selector-button { border:1px solid #c8d4e3; border-radius:5px; background:#fff; color:#335781; font-size:14px; font-weight:500; padding:10px 14px; }
.table-wrap { border:1px solid var(--line); border-radius:8px; background:#fff; }
table { font-size:14px; line-height:1.55; }
th { background:#f0f3f8; color:#53627a; font-size:14px; text-transform:none; letter-spacing:0; font-weight:600; padding:13px 16px; border-bottom:1px solid #dce3ed; }
td { padding:15px 16px; border-color:#e9edf3; }
td small { font-size:13px; color:#738095; }
tbody tr:hover { background:#f8faff; }
.badge { border-radius:4px; padding:4px 8px; font-size:13px; font-weight:500; }
.badge--completed,.badge--awarded,.good { color:#276548; background:#eaf5ee; }
.badge--pending,.warn { color:#85531b; background:#fff4e3; }
.notice { border-radius:6px; font-size:15px; }
.empty { border-radius:6px; background:#f8fafc; border:1px dashed #d9e1eb; color:#68788e; padding:30px 20px; font-size:14px; }
.user-card { border-radius:7px; background:#fafbfd; }.user-card__heading strong { font-size:18px; }
.permissions { border-radius:6px; }
.auth-card { margin:64px auto; padding:36px; border:1px solid var(--line); border-top:3px solid #386bc0; border-radius:8px; box-shadow:0 12px 40px #2135500a; }
.auth-card h1 { font-size:30px; }.auth-note { color:#69778a; font-size:14px; }
.workspace__heading { display:grid; grid-template-columns:minmax(0,1fr) 205px; gap:24px; margin-bottom:24px; }.workspace__heading h1 { max-width:720px; }
.workspace__heading .updated { min-width:195px; padding:12px 16px; background:#f4f6fa; border-radius:6px; border-left:2px solid #ccd8e8; }
.updated span { font-size:13px; }.updated strong { font-weight:600; }.updated small { font-size:12px; }
.request-form { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }.request-form textarea { min-height:195px; }
.request-form__actions { padding-top:0; }.request-form__actions p { line-height:1.6; }
.latest-products { padding:24px; }.latest-products__heading { margin-bottom:18px; }.latest-products__heading h2 { font-size:23px; }
.latest-products__list { max-height:420px; border-radius:6px; }.latest-product { border-color:#e5eaf1; background:#fff; }
.latest-product__description strong { font-weight:550; }.latest-product__description span,.offer__supplier { border-radius:4px; background:#edf2f9; color:#446184; font-weight:500; }
.latest-product__price { color:#233f63; font-weight:600; font-variant-numeric:tabular-nums; }
.offer { border-radius:6px; border-color:#dce4ef; }.offer__product strong { font-weight:600; }.results { padding:26px; }
.results-summary { background:transparent; }.results__heading { gap:16px; }.query-card { border-radius:8px; }
.quota { border-radius:5px; background:#ecf2fa; border-left-color:#6188c2; }.tabs .selected { background:#e9f0fa; color:#315b94; }
.steps span,.step,.history-count { border-radius:5px; }.step { background:#285dab; }.step--quiet,.history-count { background:#edf2fa; color:#3d5f8c; }
.workspace:has(.process-card) { padding:0; background:transparent; box-shadow:none; border:0; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr); }
.inbox-row { transition:background-color .12s ease; }.inbox-layout,.supplier-inbox { border-radius:8px; }.inbox-letter-content { background:#fff; }
:root { --mtt-ink:#202d40; --mtt-muted:#637084; --mtt-line:#dfe5ed; --mtt-soft:#f6f8fb; --mtt-accent:#285dab; --mtt-accent-dark:#1d4786; --mtt-gold:#5d79a0; }
.mtt-workspace,.mtt-result-head,.mtt-editor,.mtt-previews,.mtt-documents,.mtt-products,.mtt-email,.mtt-error-page { border-radius:8px; box-shadow:none; }
.mtt-workspace,.mtt-result-head,.mtt-editor,.mtt-previews,.mtt-documents,.mtt-products,.mtt-email { padding:26px; }
.mtt-heading h1,.mtt-result-head h1,.mtt-error-page h1 { font-size:clamp(26px,2.5vw,34px); font-weight:650; letter-spacing:-.025em; line-height:1.25; }
.mtt-result-head h2 { font-size:28px; line-height:1.3; font-weight:650; }
.mtt-heading p:not(.mtt-eyebrow),.mtt-result-head p,.mtt-section-heading p,.mtt-email>div>p { font-size:16px; }
.mtt-eyebrow { color:#62738c; font-size:12px; font-weight:650; letter-spacing:.12em; }
.mtt-heading { gap:24px; }.mtt-status { padding:10px 14px; border-radius:5px; background:#f1f8f4; border-color:#cfe2d7; font-size:14px; }.mtt-status strong { font-weight:600; }.mtt-status__dot { width:6px; height:6px; background:#528363; box-shadow:none; }
.mtt-upload { margin-top:26px; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); }
.mtt-dropzone { border-width:1px; border-radius:6px; padding:22px; grid-template-columns:auto 1fr; gap:8px 16px; }
.mtt-dropzone strong { font-size:17px; font-weight:600; }.mtt-dropzone>span:nth-of-type(2) { font-size:14px; }.mtt-file-icon { width:44px; height:48px; border-radius:5px; background:#3a5e8a; font-weight:600; }
.mtt-file-button { grid-column:2; grid-row:auto; justify-self:start; border-radius:5px; font-size:14px; font-weight:500; padding:9px 13px; }
.mtt-dropzone:hover { background:#f0f5fc; transform:none; }.mtt-send-panel { padding:22px; background:#f6f8fc; border:1px solid #d8e2ef; border-radius:6px; }
.mtt-recipient>span { font-size:14px; font-weight:600; }.mtt-send-panel>p,.mtt-privacy { font-size:14px; }
.mtt-primary,.mtt-secondary,.mtt-document a,button.mtt-secondary:not(.portal-account button) { min-height:46px; border-radius:6px; font-size:15px; font-weight:600; box-shadow:none; }
.mtt-secondary,button.mtt-secondary:not(.portal-account button) { background:#fff; color:#355478; border:1px solid #c6d2e1; }
.mtt-steps article { padding:20px; border-radius:7px; background:#fff; }.mtt-steps strong { font-size:16px; font-weight:600; }.mtt-steps p { font-size:14px; }.mtt-steps article>span { font-size:14px; font-weight:600; }
.mtt-products th { font-size:14px; text-transform:none; letter-spacing:0; }.mtt-alert { border-radius:6px; font-weight:500; }
.footer,body>footer { font-size:13px; line-height:1.65; color:#718097; padding-bottom:28px; }
@media(min-width:1500px) { .offer { grid-template-columns:140px minmax(180px,1fr) minmax(140px,.6fr) 275px; } }
@media(min-width:981px) and (max-width:1300px) { .workspace__heading { flex-wrap:wrap; }.workspace__heading .updated { width:auto; }.offer { grid-template-columns:140px minmax(0,1fr); }.offer__price { grid-column:2; }.workspace:has(.process-card) { grid-template-columns:1fr; }.inbox-layout { grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); }.mtt-heading { flex-wrap:wrap; }.mtt-upload,.mtt-email { grid-template-columns:1fr; } }
@media(max-width:980px) {
  body:has(.portal-nav) { padding-left:0; }
  .portal-header:not(.portal-header--login) { position:relative; width:100%; inset:auto; display:grid; grid-template-columns:1fr auto; border:0; }
  .portal-header__bar { min-height:76px; padding:18px 24px; }
  .portal-brand { font-size:18px; }
  .portal-account-wrap { grid-column:2; grid-row:1; margin:0; padding:14px 24px 14px 0; border:0; align-self:center; }
  .portal-account summary { padding:0; min-height:44px; }
  .portal-account summary>[data-account-name] { display:none; }
  .portal-account__menu { top:calc(100% + 12px); bottom:auto; }
  .portal-nav { grid-column:1/-1; padding:0 16px 12px; }
  .portal-nav__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .portal-nav a { padding:10px; min-height:44px; font-size:14px; gap:8px; }
  .portal-nav a[aria-current=page] { box-shadow:inset 0 -2px #73a4f2; }
  .container,.shell,main:not(.container):not(.shell) { width:calc(100% - 40px); }
  .page,main:not(.container):not(.shell) { padding-top:26px; }
  .offer { grid-template-columns:140px minmax(0,1fr); }.offer__price { grid-column:2; }
}
@media(max-width:640px) {
  .portal-header__bar { padding:16px; min-height:74px; }.portal-account-wrap { padding-right:16px; }
  .portal-nav { padding:0 10px 12px; }.portal-nav__inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-nav a { font-size:14px; padding:9px 10px; }.portal-nav svg { width:18px; height:18px; }
  .portal-brand__mark { width:32px; height:34px; font-size:22px; }.portal-brand small { font-size:12px; }
  .container,.shell,main:not(.container):not(.shell) { width:calc(100% - 28px); }
  .panel,.workspace,.latest-products,.results { padding:20px; }
  .hero,.intro { padding-bottom:20px; gap:18px; }.hero h1 { margin-bottom:8px; }
  .balance { width:100%; padding:12px 16px; display:flex; align-items:center; }.balance span { margin-right:auto; }.balance strong { font-size:28px; margin:0 6px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }.stats article { padding:16px; }.stats strong { font-size:24px; }
  .stats article:nth-child(2) { border-right:0; }.stats span { font-size:14px; }
  .document-tabs,.section-nav { gap:16px; }.document-tabs a,.section-nav a { padding:11px 0; font-size:14px; }
  .document-tabs a { flex:initial; justify-content:flex-start; }
  .request-form,.workspace:has(.process-card) { grid-template-columns:1fr; }.request-form textarea { min-height:180px; }
  .workspace__heading { margin-bottom:20px; gap:16px; }.workspace__heading .updated { min-width:0; width:100%; }
  .workspace__heading { grid-template-columns:1fr; }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.metrics>div { padding:16px; }.metrics strong { font-size:24px; }
  .form-actions { align-items:stretch; flex-direction:column; }.form-actions .primary { width:100%; }
  .offer { grid-template-columns:1fr; }.offer__price { grid-column:auto; }
  .auth-card { padding:26px; margin:34px auto; }.portal-header--login .portal-header__bar { width:calc(100% - 32px); }
  .mtt-workspace,.mtt-result-head,.mtt-editor,.mtt-previews,.mtt-documents,.mtt-products,.mtt-email { padding:20px; }.mtt-heading { flex-direction:column; gap:16px; }.mtt-upload,.mtt-email,.mtt-steps { grid-template-columns:1fr; }.mtt-dropzone { padding:20px; }.mtt-file-icon { grid-row:1/3; }.mtt-file-button { grid-column:2; }
  th,td { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }
