
/* RFQ Copilot Premium UI — full visual replacement */
:root {
  --app-bg:#f4f6f9; --surface:#fff; --surface-soft:#f8f9fb; --surface-hover:#f1f4f8;
  --ink:#17202e; --ink-soft:#344054; --muted:#667085; --muted-light:#98a2b3;
  --line:#e6e9ef; --line-strong:#d8dde6; --sidebar:#101828; --sidebar-soft:#182230;
  --brand:#3159a6; --brand-hover:#274b91; --brand-soft:#edf3ff;
  --shadow-xs:0 1px 2px rgba(16,24,40,.035); --shadow-sm:0 8px 24px rgba(16,24,40,.055);
  --shadow-md:0 20px 48px rgba(16,24,40,.075); --radius-sm:8px; --radius-md:12px;
  --radius-lg:16px; --radius-xl:22px; --sidebar-width:260px; --topbar-height:72px;
}
html,body,button,input,select,textarea {font-family:"Aptos","Segoe UI Variable","Segoe UI",Helvetica,Arial,sans-serif!important}
body {background:linear-gradient(180deg,#f7f8fa 0,#f3f5f8 100%);font-size:14px;letter-spacing:-.005em}
.app-sidebar {padding:20px 14px 16px;background:linear-gradient(180deg,#111827 0%,#0b1220 100%);box-shadow:12px 0 36px rgba(15,23,42,.08)}
.sidebar-brand {margin-bottom:20px;padding:0 6px}.brand-link{gap:11px}.brand-mark{width:40px;height:40px;border-radius:11px;background:#fff;color:#172033;box-shadow:none}
.brand-link strong{font-size:15px;font-weight:750;letter-spacing:-.025em}.brand-link small{font-size:9px;color:#7f8da3;letter-spacing:.12em}
.sidebar-section-label{margin:15px 12px 7px;color:#667085;font-size:9px;letter-spacing:.15em}
.sidebar-nav{gap:3px}.sidebar-link{min-height:43px;padding:8px 11px;border-radius:10px;color:#aeb8c7;font-size:13px;font-weight:620}
.sidebar-link:hover{background:rgba(255,255,255,.055)}.sidebar-link.active{background:#fff;color:#172033;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.sidebar-link.active::before{display:none}.nav-icon{width:27px;height:27px;flex-basis:27px;border:0;background:transparent;color:inherit}
.sidebar-link.active .nav-icon{border:0;background:#edf3ff;color:#3159a6}.nav-pill{background:#3159a6}
.sidebar-promo{display:none!important}
.app-topbar{height:var(--topbar-height);padding:0 32px;border-bottom:1px solid rgba(218,223,231,.8);background:rgba(255,255,255,.93);box-shadow:0 1px 0 rgba(16,24,40,.02);backdrop-filter:blur(16px)}
.topbar-context small{font-size:9px;letter-spacing:.12em}.topbar-context strong{font-size:14px;font-weight:700}.topbar-quick-action{height:38px;border-color:#d9e3f6;border-radius:9px;background:#f5f8fe;color:#3159a6}
.user-menu{min-width:220px}.user-avatar{border-radius:50%;background:#eef2f7;color:#344054;border:1px solid #dde3eb}.user-copy strong{font-weight:700}
.app-content{width:min(100%,1500px);padding:30px 34px 52px}.page-header{margin-bottom:22px}.page-eyebrow{display:none!important}
.page-heading{font-size:clamp(25px,2.5vw,34px);font-weight:720;letter-spacing:-.04em}.page-subtitle{margin-top:6px;max-width:760px;font-size:13px;line-height:1.55;color:#7a8699}
.app-card,.card,.section-card,.table-card,.metric-card,.summary-card{border:1px solid #e5e9ef;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.035)}
.section-card{padding:22px}.card-header-clean{padding:18px 20px}.card-header-clean h2,.card-header-clean h3{font-size:15px;font-weight:700}.card-header-clean p{display:none}
.metric-card{min-height:128px;padding:20px}.metric-card::before{display:none!important}.metric-label{font-size:10px!important;letter-spacing:.09em!important;color:#8490a3!important}.metric-value{font-size:clamp(24px,2.5vw,34px)!important;font-weight:720!important;letter-spacing:-.045em!important}
.btn{min-height:38px;border-radius:9px;font-weight:650;font-size:13px;box-shadow:none!important}.btn-primary{border-color:#3159a6;background:#3159a6}.btn-primary:hover{border-color:#274b91;background:#274b91}.btn-outline-primary{border-color:#c9d6ed;color:#3159a6}.btn-outline-primary:hover{background:#edf3ff;color:#274b91}
.form-control,.form-select{min-height:42px;border-color:#dfe4eb;border-radius:9px;background:#fff;font-size:13px;box-shadow:none}.form-control:focus,.form-select:focus{border-color:#7898d0;box-shadow:0 0 0 3px rgba(49,89,166,.1)}
.form-label{margin-bottom:7px;color:#344054;font-size:12px;font-weight:650}.input-group-text{border-color:#dfe4eb;background:#f7f8fa}
.table{margin-bottom:0;font-size:13px}.table>:not(caption)>*>*{padding:13px 14px;border-bottom-color:#edf0f4;vertical-align:middle}.table thead th{border-bottom:1px solid #dfe4eb;background:#fafbfc;color:#667085;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.table tbody tr:hover{background:#fbfcfe}
.badge,.status-badge{border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.025em}.dropdown-menu{border:1px solid #e3e7ed;border-radius:12px;box-shadow:0 18px 42px rgba(16,24,40,.12)}
.alert{border-radius:11px;border-width:1px}.breadcrumb{font-size:12px}.pagination .page-link{border-color:#e1e5eb;color:#475467}
.quick-action-card{border-radius:14px;box-shadow:none}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,40,.07)}
/* Remove verbose instructional copy while preserving errors and required labels. */
.form-text:not(.text-danger), .upload-security-card, .ai-guide-card, .helper-copy, .instruction-copy {display:none!important}
.empty-state p{max-width:520px;margin-inline:auto;color:#8a95a6}
@media(max-width:1099px){.app-topbar{padding:0 18px}.app-content{padding:22px 18px 42px}}
@media(max-width:767px){.app-content{padding:18px 14px 34px}.page-heading{font-size:25px}.section-card{padding:17px}.table>:not(caption)>*>*{padding:11px 10px}}

/* Premium public authentication and company registration */
.auth-body {
  background:#f4f6fa!important;
}
.auth-shell {
  min-height:100vh;
}
.auth-premium-shell {
  display:grid;
  min-height:100vh;
  grid-template-columns:minmax(480px,1.08fr) minmax(430px,.92fr);
  background:#f7f8fb;
}
.auth-premium-showcase {
  position:relative;
  display:flex;
  min-height:100vh;
  padding:54px clamp(42px,5.5vw,86px);
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 15% 10%,rgba(69,145,255,.28),transparent 30%),
    radial-gradient(circle at 88% 84%,rgba(20,184,166,.16),transparent 28%),
    linear-gradient(145deg,#07162e 0%,#0c2348 48%,#102f5d 100%);
  color:#fff;
}
.auth-premium-showcase::before {
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent 86%);
}
.auth-premium-showcase::after {
  position:absolute;
  z-index:-1;
  right:-130px;
  bottom:-150px;
  width:430px;
  height:430px;
  border:65px solid rgba(255,255,255,.04);
  border-radius:50%;
  content:"";
}
.auth-premium-brand {
  display:flex;
  align-items:center;
  gap:14px;
}
.auth-premium-brandmark {
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#dce9ff);
  color:#0b2d5b;
  box-shadow:0 16px 38px rgba(0,0,0,.2);
  font-size:21px;
  font-weight:800;
}
.auth-premium-brand strong {
  display:block;
  font-size:18px;
  font-weight:750;
  letter-spacing:-.025em;
}
.auth-premium-brand small {
  display:block;
  margin-top:2px;
  color:#9fb3d2;
  font-size:10px;
  font-weight:650;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.auth-premium-copy {
  max-width:660px;
  margin:56px 0 42px;
}
.auth-premium-kicker {
  display:inline-flex;
  margin-bottom:20px;
  padding:8px 11px;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#c8dbf8;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.auth-premium-kicker::before {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#5eead4;
  box-shadow:0 0 0 5px rgba(94,234,212,.1);
  content:"";
}
.auth-premium-copy h1 {
  max-width:650px;
  margin:0;
  color:#fff;
  font-size:clamp(44px,5vw,72px);
  font-weight:760;
  letter-spacing:-.065em;
  line-height:.98;
}
.auth-premium-copy p {
  max-width:600px;
  margin:23px 0 0;
  color:#b9cae1;
  font-size:15px;
  line-height:1.75;
}
.auth-product-preview {
  width:min(100%,620px);
  padding:18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
  backdrop-filter:blur(18px);
}
.auth-preview-top {
  display:flex;
  margin-bottom:15px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.auth-preview-title strong {
  display:block;
  font-size:13px;
  font-weight:700;
}
.auth-preview-title span {
  display:block;
  margin-top:3px;
  color:#91a7c7;
  font-size:10px;
}
.auth-preview-status {
  padding:6px 9px;
  border:1px solid rgba(94,234,212,.2);
  border-radius:999px;
  background:rgba(16,185,129,.12);
  color:#99f6e4;
  font-size:9px;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.auth-preview-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.auth-preview-metric {
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(2,10,27,.25);
}
.auth-preview-metric small {
  display:block;
  color:#90a6c5;
  font-size:9px;
  font-weight:650;
  text-transform:uppercase;
}
.auth-preview-metric strong {
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:18px;
  font-weight:730;
  letter-spacing:-.04em;
}
.auth-preview-bars {
  display:flex;
  height:76px;
  margin-top:12px;
  padding:12px 13px 9px;
  align-items:flex-end;
  gap:9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(2,10,27,.2);
}
.auth-preview-bars span {
  flex:1;
  min-width:8px;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#65b6ff,#2d6db6);
  opacity:.88;
}
.auth-premium-trust {
  display:flex;
  margin-top:25px;
  flex-wrap:wrap;
  gap:10px 22px;
  color:#9fb3d2;
  font-size:11px;
  font-weight:600;
}
.auth-premium-trust span::before {
  margin-right:7px;
  color:#5eead4;
  content:"✓";
}
.auth-premium-access {
  display:grid;
  min-height:100vh;
  padding:40px clamp(28px,5vw,72px);
  place-items:center;
  background:
    radial-gradient(circle at 88% 8%,rgba(49,89,166,.08),transparent 25%),
    #f7f8fb;
}
.auth-premium-form-wrap {
  width:min(100%,480px);
}
.auth-premium-mobile-brand {
  display:none;
  margin-bottom:30px;
  color:#172033;
}
.auth-premium-form-head {
  margin-bottom:25px;
}
.auth-premium-form-head .auth-form-kicker {
  display:block;
  margin-bottom:10px;
  color:#3159a6;
  font-size:10px;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.auth-premium-form-head h2 {
  margin:0;
  color:#172033;
  font-size:38px;
  font-weight:730;
  letter-spacing:-.05em;
  line-height:1.05;
}
.auth-premium-form-head p {
  margin:10px 0 0;
  color:#667085;
  font-size:13px;
  line-height:1.65;
}
.auth-premium-card {
  padding:30px;
  border:1px solid #e2e7ef;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 60px rgba(16,24,40,.1),0 2px 8px rgba(16,24,40,.035);
}
.auth-premium-card .form-label {
  color:#344054;
  font-size:11px;
  font-weight:700;
}
.auth-premium-card .form-control,
.auth-premium-card .input-group-text {
  min-height:47px;
  border-color:#dbe1ea;
  border-radius:10px;
  background:#fff;
  font-size:13px;
}
.auth-premium-card .input-group .input-group-text {
  border-radius:10px 0 0 10px;
  color:#667085;
  font-size:11px;
}
.auth-premium-card .input-group .form-control {
  border-radius:0 10px 10px 0;
}
.auth-premium-card .form-control:focus {
  border-color:#7192cd;
  box-shadow:0 0 0 4px rgba(49,89,166,.1);
}
.auth-primary-button {
  min-height:48px!important;
  border-color:#173d75!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#173d75,#315fa9)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:0 12px 24px rgba(49,89,166,.18)!important;
}
.auth-primary-button:hover {
  border-color:#123463!important;
  background:linear-gradient(135deg,#123463,#274f91)!important;
  transform:translateY(-1px);
}
.auth-inline-row {
  display:flex;
  margin-bottom:9px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.auth-inline-row .form-label {
  margin:0;
}
.auth-forgot-link {
  color:#3159a6;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}
.auth-forgot-link:hover {text-decoration:underline}
.auth-premium-divider {
  display:flex;
  margin:22px 0 17px;
  align-items:center;
  gap:12px;
  color:#98a2b3;
  font-size:10px;
  font-weight:650;
  text-transform:uppercase;
}
.auth-premium-divider::before,
.auth-premium-divider::after {
  height:1px;
  flex:1;
  background:#e8ebf0;
  content:"";
}
.auth-signup-cta {
  display:flex;
  min-height:48px;
  padding:10px 14px;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd7ea;
  border-radius:10px;
  background:#f7faff;
  color:#254f91;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.auth-signup-cta:hover {
  border-color:#9eb3d6;
  background:#edf4ff;
  color:#173d75;
}
.auth-security-line {
  display:flex;
  margin-top:18px;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#7a8699;
  font-size:10px;
}
.auth-security-line::before {
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
  border-radius:50%;
  background:#eaf8f2;
  color:#087d55;
  font-size:9px;
  font-weight:800;
  content:"✓";
}
.auth-registration-shell {
  grid-template-columns:minmax(390px,.78fr) minmax(620px,1.22fr);
}
.auth-registration-shell .auth-premium-copy h1 {
  font-size:clamp(40px,4.4vw,64px);
}
.auth-registration-shell .auth-premium-access {
  align-items:start;
  overflow-y:auto;
  padding-top:34px;
  padding-bottom:34px;
}
.auth-registration-shell .auth-premium-form-wrap {
  width:min(100%,760px);
}
.auth-registration-card {
  padding:28px 30px;
}
.auth-registration-card .row {
  --bs-gutter-x:16px;
  --bs-gutter-y:15px;
}
.auth-registration-card .form-text {
  display:block!important;
  margin-top:6px;
  color:#8a95a6;
  font-size:10px;
}
.auth-registration-card .signup-honeypot {
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.auth-success-panel {
  padding:8px 0 2px;
  text-align:center;
}
.auth-success-icon {
  display:grid;
  width:64px;
  height:64px;
  margin:0 auto 18px;
  place-items:center;
  border-radius:50%;
  background:#e9f8f2;
  color:#087d55;
  font-size:24px;
  font-weight:800;
}
.auth-success-panel h3 {
  margin:0;
  color:#172033;
  font-size:24px;
  font-weight:720;
  letter-spacing:-.035em;
}
.auth-success-panel p {
  margin:10px auto 22px;
  max-width:430px;
  color:#667085;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:1040px) {
  .auth-premium-shell,
  .auth-registration-shell {
    grid-template-columns:1fr;
  }
  .auth-premium-showcase {
    min-height:auto;
    padding:34px 28px 38px;
  }
  .auth-premium-copy {
    margin:48px 0 30px;
  }
  .auth-premium-copy h1 {
    max-width:720px;
    font-size:clamp(40px,8vw,62px);
  }
  .auth-product-preview {
    display:none;
  }
  .auth-premium-access {
    min-height:auto;
    padding:46px 24px 60px;
  }
}
@media(max-width:640px) {
  .auth-premium-showcase {
    display:none;
  }
  .auth-premium-access {
    min-height:100vh;
    padding:28px 16px 40px;
  }
  .auth-premium-mobile-brand {
    display:flex;
    align-items:center;
    gap:12px;
  }
  .auth-premium-form-head h2 {
    font-size:32px;
  }
  .auth-premium-card,
  .auth-registration-card {
    padding:23px 18px;
    border-radius:17px;
  }
}
.auth-preview-bars span:nth-child(1){height:36%}.auth-preview-bars span:nth-child(2){height:54%}
.auth-preview-bars span:nth-child(3){height:44%}.auth-preview-bars span:nth-child(4){height:72%}
.auth-preview-bars span:nth-child(5){height:61%}.auth-preview-bars span:nth-child(6){height:88%}
.auth-preview-bars span:nth-child(7){height:76%}.auth-preview-bars span:nth-child(8){height:96%}
