/* Shared cabinet layout. Public storefront keeps its approved typography. */
.workspace-site {
  --workspace-space: 28px;
  --workspace-font: var(--site-font);
  font-family: var(--workspace-font);
  font-size: 15px;
  line-height: 1.6;
  background: #f4f7f9;
  color: #203346;
}
.workspace-site *, .workspace-site *::before, .workspace-site *::after { box-sizing: border-box; }
.workspace-site button, .workspace-site input, .workspace-site textarea, .workspace-site select { font-family: inherit; }
.workspace-site .site-header { max-width: 1800px; padding: 20px 32px; gap: 24px; flex-wrap: wrap; }
.workspace-site .site-nav { font-size: 14px; }
.workspace-site .header-actions { font-size: 13px; gap: 20px; flex-wrap: wrap; }
.workspace-site .account-strip { padding: 12px 32px; font-size: 13px; flex-wrap: wrap; }
.workspace-site .workspace { max-width: 1800px; grid-template-columns: 256px minmax(0, 1fr); }
.workspace-site .workspace-main { min-width: 0; width: 100%; padding: 32px 36px 64px; }
.workspace-main h1 { font-size: clamp(28px, 2.5vw, 36px); line-height: 1.22; font-weight: 700; letter-spacing: -.025em; margin: 0 0 18px; }
.workspace-main h2, .workspace-main .panel h2 { font-size: 21px; line-height: 1.35; font-weight: 650; letter-spacing: -.015em; margin: 0 0 18px; }
.workspace-main h3, .workspace-main .panel h3 { font-size: 17px; line-height: 1.4; margin: 20px 0 10px; font-weight: 650; }
.workspace-main h4 { font-size: 15px; line-height: 1.45; margin: 22px 0 8px; }
.workspace-main p { margin: 0 0 16px; overflow-wrap: anywhere; }
.workspace-main p:last-child { margin-bottom: 0; }
.workspace-main .muted, .workspace-main small { color: #64758a; font-size: 13px; line-height: 1.55; }
.workspace-main .panel, .workspace-main .quote {
  padding: var(--workspace-space);
  margin: 0 0 24px;
  border: 1px solid #dfe7ed;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 18px #18374b05;
  min-width: 0;
}
.workspace-main .panel-heading { margin-bottom: 20px; align-items: center; flex-wrap: wrap; gap: 12px; }
.workspace-main .panel-heading h2 { margin: 0; }
.workspace-main .panel-heading > a { font-size: 13px; white-space: normal; }
.workspace-main .panel > .muted { max-width: 95ch; }
.workspace-main .panel > form { max-width: none; }
.workspace-main form p { margin: 0 0 22px; }
.workspace-main label { display: inline-block; font-size: 14px; font-weight: 600; line-height: 1.5; margin-bottom: 8px; color: #30465b; }
.workspace-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.workspace-main select, .workspace-main textarea {
  display: block; width: 100%; min-width: 0; max-width: 100%; margin: 0;
  min-height: 46px; padding: 11px 14px; border: 1px solid #cbd8df;
  border-radius: 9px; background: #fff; color: #203346; font-size: 15px; line-height: 1.5;
}
.workspace-main textarea { min-height: 110px; resize: vertical; }
.workspace-main input[type="file"] { padding: 10px; overflow: hidden; }
.workspace-main input[type="checkbox"], .workspace-main input[type="radio"] { width: 18px; height: 18px; margin: 2px 8px 2px 0; vertical-align: middle; accent-color: #47765a; flex-shrink: 0; }
.workspace-main .enhanced-select { display: block; width: 100%; min-width: 0; }
.workspace-main .select-trigger { width: 100%; min-height: 46px; font-size: 15px; padding: 11px 38px 11px 14px; text-align: left; border-radius: 9px; }
.workspace-site .select-popup { font-family: var(--workspace-font); font-size: 15px; }
.workspace-main .helptext { display: block; margin-top: 7px; font-size: 13px; color: #64758a; }
.workspace-main .errorlist { padding: 12px 16px; border-radius: 9px; color: #a13329; background: #fff1ef; font-size: 14px; }
.workspace-main button, .workspace-main .button, .workspace-main .soft-button {
  min-height: 44px; padding: 11px 18px; border-radius: 9px; font-size: 14px;
  font-weight: 600; line-height: 1.45; white-space: normal; text-align: center; max-width: 100%;
}
.workspace-site :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #85b89b; outline-offset: 3px; }
.workspace-main details > summary { padding: 14px 16px; margin: 16px 0; border: 1px solid #dce6df; border-radius: 10px; color: #285c40; background: #f5f9f6; cursor: pointer; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.workspace-main details[open] > summary { margin-bottom: 22px; }
.workspace-main .notice { padding: 16px 18px; font-size: 14px; line-height: 1.6; border-radius: 10px; overflow-wrap: anywhere; }
.workspace-main .actions { flex-wrap: wrap; gap: 12px; }
.workspace-main .page-heading, .workspace-main .section-head, .workspace-main .dashboard-title { flex-wrap: wrap; gap: 16px; }
.workspace-main .admin-table-scroll, .workspace-main .table-scroll, .workspace-main .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid #e1e8ec; border-radius: 10px; }
.workspace-main table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; margin: 0; }
.workspace-main :is(.admin-table-scroll, .table-scroll, .table-wrap) > table { min-width: 640px; }
.workspace-main th { padding: 15px 16px; background: #f1f5f7; color: #43566b; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: left; white-space: normal; }
.workspace-main td { padding: 17px 16px; border-bottom: 1px solid #e7edf0; vertical-align: top; overflow-wrap: anywhere; }
.workspace-main td small { font-size: 12px; color: #687d91; line-height: 1.5; }
.workspace-main td .button { font-size: 13px; padding: 10px 14px; }
.workspace-main tr:last-child td { border-bottom: 0; }
.workspace-main tbody tr:hover { background: #f8fbf9; }
.workspace-main .table-empty { padding: 30px 20px; }
.workspace-site .workspace-sidebar { padding: 28px 14px; }
.workspace-site .sidebar-heading { padding: 0 12px 24px; }
.workspace-site .sidebar-heading strong { font-size: 16px; }
.workspace-site .sidebar-heading small { font-size: 12px; line-height: 1.45; }
.workspace-site .side-nav { gap: 6px; }
.workspace-site .side-nav > a { padding: 12px; min-height: 48px; font-size: 14px; line-height: 1.45; gap: 12px; white-space: normal; }
.workspace-site .side-nav .nav-label { min-width: 0; overflow-wrap: anywhere; }
.workspace-site .workspace-menu-toggle { display: none; }
.workspace-main .stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.workspace-main .deal-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.workspace-main .deal-info-grid > .panel { padding: 20px; }
.workspace-main .deal-info-grid h3 { font-size: 16px; }
.workspace-main .deal-info-grid p, .workspace-main .dashboard-bottom .panel > p { font-size: 14px; }
.workspace-main .ai-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0; gap: 18px; }
.workspace-main .ai-metrics article { padding: 24px; border-radius: 12px; }
.workspace-main .ai-metrics strong { font-size: 25px; line-height: 1.35; }
.workspace-main .ai-month-filter { align-items: end; margin-top: 8px; gap: 16px; }
.workspace-main .ai-month-filter label { margin-bottom: 0; }
.workspace-main .ai-month-filter input { margin-top: 8px; width: auto; }
.workspace-main .ai-editor-form, .workspace-main .cms-editor { max-width: 100%; }
.workspace-main .comparison-fields, .workspace-main .cms-fields { gap: 24px; }
.workspace-site .site-footer { padding: 32px; font-size: 13px; gap: 24px; flex-wrap: wrap; }

@media (max-width: 1280px) {
  .workspace-site .site-nav { order: 3; flex-basis: 100%; overflow-x: auto; padding: 6px 0; }
  .workspace-site .header-right { margin-left: auto; }
  .workspace-site .workspace { grid-template-columns: 232px minmax(0, 1fr); }
  .workspace-site .workspace-main { padding: 28px 24px 56px; }
  .workspace-main .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-main .comparison-result-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .workspace-site .workspace { display: flex; flex-direction: column; }
  .workspace-site.has-workspace-ui .workspace-menu-toggle { display: flex; align-items: center; gap: 10px; align-self: flex-start; margin: 18px 24px 0; padding: 11px 16px; min-height: 44px; background: #fff; color: #285c40; border: 1px solid #ccdcd2; border-radius: 9px; }
  .workspace-site.has-workspace-ui .workspace-sidebar:not(.is-open) { display: none; }
  .workspace-site .workspace-sidebar { padding: 16px; margin: 16px 24px 0; border-radius: 12px; max-height: 70vh; max-height: 70dvh; overflow-y: auto; }
  .workspace-site .sidebar-heading, .workspace-site .sidebar-landscape, .workspace-site .sidebar-level, .workspace-site .sidebar-demo { display: none; }
  .workspace-site .side-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; gap: 6px; padding: 0; }
  .workspace-site .side-nav > a { display: flex; width: auto; font-size: 14px; border: 0; border-radius: 8px; }
  .workspace-site .dashboard-bottom, .workspace-site .dashboard-right { display: grid; grid-template-columns: 1fr; gap: 0; }
  .workspace-main .dashboard-layout, .workspace-main .calendar-grid, .workspace-main .notification-settings-grid, .workspace-main .request-layout { grid-template-columns: minmax(0, 1fr); }
  .workspace-main .comparison-fields, .workspace-main .cms-fields { grid-template-columns: 1fr; }
  .workspace-main .comparison-wide { grid-column: auto; }
}
@media (max-width: 600px) {
  .workspace-site { --workspace-space: 20px; font-size: 15px; }
  .workspace-site .site-header { padding: 16px; gap: 16px; }
  .workspace-site .brand img { width: 136px; height: 48px; }
  .workspace-site .header-right { align-items: flex-start; min-width: 0; width: 100%; margin: 0; }
  .workspace-site .header-contacts, .workspace-site .header-actions { flex-wrap: wrap; gap: 10px 16px; white-space: normal; font-size: 12px; }
  .workspace-site .header-contacts a { overflow-wrap: anywhere; }
  .workspace-site .site-nav { font-size: 13px; gap: 20px; margin: 0; width: 100%; }
  .workspace-site .account-strip { padding: 12px 16px; font-size: 12px; }
  .workspace-site .workspace-main { padding: 24px 16px 48px; }
  .workspace-site.has-workspace-ui .workspace-menu-toggle { margin: 16px 16px 0; }
  .workspace-site .workspace-sidebar { margin: 12px 16px 0; padding: 12px; }
  .workspace-site .side-nav { grid-template-columns: 1fr; }
  .workspace-main .panel, .workspace-main .quote { border-radius: 12px; margin-bottom: 20px; }
  .workspace-main h1 { font-size: 28px; }
  .workspace-main h2, .workspace-main .panel h2 { font-size: 20px; margin-bottom: 16px; }
  .workspace-main .ai-metrics, .workspace-main .deal-info-grid { grid-template-columns: 1fr; }
  .workspace-main .ai-metrics article { padding: 20px; }
  .workspace-main .ai-metrics strong { font-size: 24px; }
  .workspace-main .stat-grid { gap: 12px; }
  .workspace-main .actions > *, .workspace-main .ai-month-filter > * { width: 100%; }
  .workspace-main .ai-month-filter input { width: 100%; }
  .workspace-main .ai-editor-form button[type="submit"], .workspace-main .comparison-item-form > button { width: 100%; }
  .workspace-main input, .workspace-main textarea, .workspace-main select, .workspace-main .select-trigger { font-size: 16px; }
  .workspace-main .dashboard-title { flex-wrap: wrap; }
  .workspace-main .dashboard-banner { display: none; }
  .workspace-site .site-footer { padding: 24px 16px 96px; }
}
@media (max-width: 380px) {
  .workspace-main .stat-grid { grid-template-columns: 1fr; }
}

.workspace-main .data-list dd{min-width:0;overflow-wrap:anywhere}.workspace-main .data-list dt{font-size:14px;color:#64758a}.workspace-main .data-list dd{font-size:15px;line-height:1.6}

.workspace-site .site-footer small{font-size:12px;line-height:1.6}.workspace-site .header-contacts small{font-size:11px}.workspace-site .topline{font-size:11px}.workspace-main .status,.workspace-main .phase-tag{font-size:12px;line-height:1.5;padding:6px 10px}

/* Staff prefer a denser working layout; text and touch controls stay readable. */
.staff-workspace { --workspace-space: 22px; }
.staff-workspace .site-header { min-height: 80px; padding: 14px 24px; gap: 12px 22px; }
.staff-workspace .site-nav { padding-top: 2px; padding-bottom: 2px; }
.staff-workspace .account-strip { padding-top: 9px; padding-bottom: 9px; }
.staff-workspace .workspace-main { padding-top: 26px; }
.staff-workspace .workspace-main .panel, .staff-workspace .workspace-main .quote { margin-bottom: 18px; }
.staff-workspace .workspace-main :is(h2, .panel h2) { margin-bottom: 14px; }
.staff-workspace .workspace-main label { margin: 0 0 6px; }
.staff-workspace .workspace-main form p { margin: 0 0 14px; }
.staff-workspace .workspace-main .cms-fields, .staff-workspace .workspace-main .comparison-fields { row-gap: 12px; column-gap: 22px; }
.staff-workspace .workspace-main .data-list { row-gap: 9px; }
.staff-workspace .workspace-main th { padding-top: 11px; padding-bottom: 11px; }
.staff-workspace .workspace-main td { padding-top: 12px; padding-bottom: 12px; }
.staff-workspace .workspace-main details > summary { padding: 11px 14px; margin-top: 12px; margin-bottom: 12px; }
.staff-workspace .workspace-sidebar { padding-top: 22px; }
.staff-workspace .sidebar-heading { padding-bottom: 16px; }
.staff-workspace .side-nav { gap: 3px; }
.staff-workspace .side-nav > a { min-height: 42px; padding-top: 8px; padding-bottom: 8px; }
.staff-workspace .workspace-main .ai-metrics { gap: 14px; margin: 18px 0; }
.staff-workspace .workspace-main .ai-metrics article { padding: 20px; }
@media(max-width:600px) {
  .staff-workspace { --workspace-space: 18px; }
  .staff-workspace .site-header { padding: 14px 16px; }
  .staff-workspace .workspace-main { padding-top: 20px; }
  .staff-workspace .workspace-main .cms-fields, .staff-workspace .workspace-main .comparison-fields { row-gap: 14px; }
  .staff-workspace .side-nav > a { min-height: 44px; }
}

/* Long requisites wrap within their own column at every cabinet width. */
.workspace-main .data-list{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);column-gap:24px;row-gap:12px;align-items:start}
.workspace-main .data-list dt,.workspace-main .data-list dd{min-width:0;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.55}
.workspace-main .data-list dt{color:#657b89}
.single-request{max-width:1000px}
.single-request .request-product{display:grid;grid-template-columns:112px minmax(0,1fr) 200px;align-items:center;gap:24px;padding:24px;border:1px solid #dbe6e0;border-radius:16px;background:white;margin:24px 0}
.single-request .request-product img{width:112px;height:136px;object-fit:contain}
.single-request .request-product h2{font-size:22px;margin:0 0 8px}
.single-request .request-product p{margin:0 0 8px}
.single-request .request-product label{margin:0}
@media(max-width:700px){.single-request .request-product{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:18px}.single-request .request-product img{width:80px;height:100px}.single-request .request-product label{grid-column:1/-1}}
@media(max-width:600px){.workspace-main .data-list{grid-template-columns:minmax(0,1fr);row-gap:4px}.workspace-main .data-list dd{margin-bottom:14px}}

.workspace-main .dashboard-bottom>.panel{min-width:0}

/* Organization forms: separate actions from fields and style the native file picker. */
.workspace-main .profile-form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e3ebe6}
.workspace-main .profile-form-actions button,.workspace-main .profile-upload-row>button{min-height:48px;padding:12px 22px;border-radius:10px;font-weight:650;line-height:1.4}
.workspace-main .profile-upload-row{display:grid;grid-template-columns:minmax(0,560px) auto;justify-content:start;align-items:end;gap:16px;margin-top:24px}
.workspace-main .profile-upload-row label{display:block;min-width:0;margin:0;line-height:1.5}
.workspace-main .profile-upload-row input[type=file]{display:block;width:100%;max-width:100%;min-width:0;min-height:50px;margin:8px 0 0;padding:5px 8px;background:#f8fbf9;border:1px solid #cadbd0;border-radius:10px;font:inherit;font-size:14px;color:#365246;line-height:36px}
.workspace-main .profile-upload-row input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:7px;padding:9px 14px;background:#e3eee7;color:#1b5039;font:inherit;font-weight:650;line-height:1.3;cursor:pointer}
.workspace-main .profile-upload-row input[type=file]::file-selector-button:hover{background:#d2e5d9}
.workspace-main .profile-upload-row>button{margin:0;align-self:end;white-space:normal}
.workspace-main .profile-upload-help{margin:10px 0 0;font-size:13px;color:#657b70}
@media(max-width:760px){.workspace-main .profile-upload-row{grid-template-columns:minmax(0,1fr);gap:16px}.workspace-main .profile-upload-row>button{justify-self:start}.workspace-main .profile-form-actions{margin-top:20px;padding-top:16px}}
@media(max-width:480px){.workspace-main .profile-form-actions>button,.workspace-main .profile-upload-row>button{width:100%}}

/* Compact organization editor without shrinking text or touch targets. */
.workspace-main .organization-profile .panel{padding:20px;margin-bottom:14px}
.workspace-main .organization-profile .panel h2{margin:0 0 14px;font-size:20px}
.workspace-main .organization-profile .panel p{margin:0 0 12px}
.workspace-main .organization-profile .panel p:last-child{margin-bottom:0}
.workspace-main .organization-profile .cms-fields{column-gap:24px;row-gap:14px}
.workspace-main .organization-profile .cms-fields>div{min-width:0;margin:0}
.workspace-main .organization-profile .cms-fields label{margin:0 0 5px}
.workspace-main .organization-profile .cms-fields input:not([type=hidden]),
.workspace-main .organization-profile .cms-fields select{min-height:44px;padding:9px 12px;margin:0}
.workspace-main .organization-profile .cms-fields textarea{min-height:70px;padding:9px 12px;margin:0}
.workspace-main .organization-profile .profile-form-actions{margin-top:16px;padding-top:12px}
.workspace-main .organization-profile .profile-upload-row{margin-top:16px;gap:12px}
.workspace-main .organization-profile .profile-upload-help{margin-top:8px}
@media(max-width:600px){.workspace-main .organization-profile .panel{padding:16px}.workspace-main .organization-profile .cms-fields{row-gap:12px}}

.workspace-main .identity-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:24px;align-items:start}
.workspace-main .identity-guide-info{padding:16px 18px;border:1px solid #d9e7df;border-radius:12px;background:#eff6f2;color:#365747;font-size:14px;line-height:1.6}
.workspace-main .identity-review-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.workspace-main .identity-review-fields>div{min-width:0}
.workspace-main .identity-review-fields .select-trigger{height:auto;min-height:50px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){.workspace-main .identity-review-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.workspace-main .identity-review-fields{grid-template-columns:minmax(0,1fr)}}
.workspace-main .identity-review-fields label{margin:0 0 6px}
.workspace-main .identity-checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}
.workspace-main .identity-checks label{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;background:#f2f7f4;border:1px solid #dce8e0;border-radius:10px;cursor:pointer}
.workspace-main .identity-checks input[type=checkbox]{margin:0;flex-shrink:0;accent-color:#47765a}
@media(max-width:900px){.workspace-main .identity-guide{grid-template-columns:1fr;gap:16px}}
@media(max-width:600px){.workspace-main .identity-checks>div{width:100%}}

/* Keep verification status distinct from its navigation, including narrow quote sidebars. */
.workspace-main .identity-note>strong{display:block;line-height:1.5}
.workspace-main .identity-note>p{margin:10px 0 0}
.workspace-main .identity-note-links{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #47765a30}
.workspace-main .identity-note-links a{display:block;line-height:1.5;overflow-wrap:anywhere;text-decoration:none;padding:3px 0}
.workspace-main .identity-note-links a:hover{text-decoration:underline}

/* Separate navigation from the decorative footer in the cabinet sidebar. */
.workspace-site .workspace-sidebar .sidebar-landscape{margin-top:24px;flex-shrink:0}
.workspace-site .workspace-sidebar .sidebar-demo{display:block;margin-top:12px;padding:0 12px}
@media(max-width:1100px){.workspace-site .workspace-sidebar .sidebar-demo{display:none}}

.workspace-main .content-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.workspace-main .content-hub-card{display:flex;flex-direction:column;margin:0;text-decoration:none;color:inherit}
.workspace-main .content-hub-card span{margin-top:auto;padding-top:14px;color:#285c40;font-weight:600}
.workspace-main .content-hub-card:hover{border-color:#47765a;background:#f7fbf8}
@media(max-width:1100px){.workspace-main .content-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.workspace-main .content-hub-grid{grid-template-columns:1fr}}
