.bid-proposal-link{background:transparent;border:0;padding:0;color:#155fa8;text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit;font-weight:700;text-align:left}
.bid-proposal-link:hover,.bid-proposal-link:focus-visible{color:#0d417e;outline-offset:3px}
.bid-proposal-overlay{position:fixed;inset:0;z-index:2147482000;background:rgba(12,24,40,.65);display:flex;align-items:center;justify-content:center;padding:16px;font-family:Arial,sans-serif;color:#182a3e}
.bid-proposal-dialog{width:min(1200px,100%);height:min(92vh,950px);display:flex;flex-direction:column;background:#fff;border-radius:10px;box-shadow:0 24px 80px #0006;overflow:hidden}
.bid-proposal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 21px;border-bottom:1px solid #d9e1eb;background:#f5f8fb}
.bid-proposal-header h2{font-size:19px;margin:0}
.bid-proposal-header button,.bid-proposal-file,.bid-proposal-composer button,.bid-proposal-download{border:1px solid #b7c5d7;background:#fff;border-radius:5px;padding:8px 12px;color:#153e64;cursor:pointer;font-size:13px}
.bid-proposal-header button:hover,.bid-proposal-file:hover,.bid-proposal-composer button:hover{background:#edf4fb}
.bid-proposal-content{overflow:auto;flex:1;min-height:0;padding:18px 22px}
.bid-proposal-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;padding-bottom:14px;border-bottom:1px solid #dce4ed}
.bid-proposal-summary strong{font-size:16px}
.bid-proposal-summary span{font-size:13px;color:#536475}
.bid-proposal-notice{font-size:13px;padding:9px 12px;border:1px solid #d7e1ec;border-radius:5px;background:#f5f8fb;color:#40536a;margin:11px 0}
.bid-proposal-notice.error{color:#8d2525;border-color:#e7b8b8;background:#fff4f3}
.bid-proposal-columns{display:grid;grid-template-columns:minmax(250px,45%) minmax(350px,55%);gap:20px;padding-top:14px}
.bid-proposal-columns h3{font-size:15px;margin:8px 0 12px}
.bid-proposal-documents,.bid-proposal-communications{min-width:0}
.bid-proposal-files{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.bid-proposal-file{text-align:left;max-width:100%;overflow-wrap:anywhere}
.bid-proposal-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px}
.bid-proposal-preview-actions strong{overflow-wrap:anywhere}
.bid-proposal-download{text-decoration:none}
.bid-proposal-file-preview{border:1px solid #dfe5ed;padding:9px;min-height:180px;border-radius:6px}
.bid-proposal-pdf{width:100%;height:55vh;border:0;min-height:380px}
.bid-proposal-image{max-width:100%;height:auto}
.bid-proposal-plain,.bid-proposal-email-body{font-family:Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;max-height:350px;overflow:auto;margin:8px 0 0}
.bid-proposal-thread{max-height:450px;overflow:auto;display:grid;gap:10px}
.bid-proposal-message{padding:12px;border:1px solid #dce4ed;background:#fbfcfe;border-radius:6px}
.bid-proposal-message>strong{display:block;font-size:13px;margin-bottom:8px}
.bid-proposal-message-meta{font-size:12px;margin:3px 0;overflow-wrap:anywhere}
.bid-proposal-recorded{display:block;font-size:11px;color:#4b647c;margin-top:7px}
.bid-proposal-email-body{max-height:240px;border-top:1px solid #e4eaf2;padding-top:8px}
.bid-proposal-composer{border-top:1px solid #dce4ed;margin-top:14px;padding-top:12px}
.bid-proposal-sender{font-size:12px;color:#536475}
.bid-proposal-reply-modes{display:flex;gap:8px;margin:9px 0}
.bid-proposal-reply-modes button.active,.bid-proposal-composer button.bid-proposal-send{background:#154b79;color:white;border-color:#154b79}
.bid-proposal-reply-text{font:13px Arial,sans-serif;width:100%;resize:vertical;border:1px solid #b7c5d7;border-radius:5px;padding:9px;box-sizing:border-box}
.bid-proposal-send{margin-top:8px}
.bid-proposal-send:disabled{opacity:.6;cursor:wait}
.bid-proposal-send-result{font-size:12px;padding-top:8px;min-height:16px}
@media(max-width:850px){.bid-proposal-columns{grid-template-columns:1fr}.bid-proposal-dialog{height:96vh}.bid-proposal-overlay{padding:5px}.bid-proposal-content{padding:12px}.bid-proposal-pdf{height:55vh}}

/* WEB-015 phase 2: full-screen split document/email viewer, retaining the
   shared Files Explorer's compact details-row/folder appearance. */
.bid-proposal-overlay{padding:clamp(5px,0.75vw,12px)}
.bid-proposal-dialog{width:min(1920px,99vw);height:calc(100dvh - 14px);max-height:1200px}
.bid-proposal-header{padding:9px 14px;min-height:42px;flex:0 0 auto}
.bid-proposal-header h2{font-size:17px}
.bid-proposal-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:7px 12px 11px}
.bid-proposal-summary{flex:0 0 auto;min-height:25px;align-items:center;padding-bottom:7px;gap:9px}
.bid-proposal-summary strong{font-size:14px}
.bid-proposal-summary span{font-size:12px}
.bid-proposal-columns{flex:1;min-height:0;overflow:hidden;grid-template-columns:minmax(0,65%) minmax(0,35%);gap:12px;padding-top:9px}
.bid-proposal-documents{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.bid-proposal-documents h3,.bid-proposal-communications h3{font-size:14px;margin:0 0 7px}
.bid-proposal-files{display:block;flex:0 0 clamp(145px,27vh,255px);min-height:115px;max-height:none;overflow:auto;margin:0 0 9px;background:#fff;border:1px solid #cdd8e2;border-radius:4px}
.bid-proposal-file-preview{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#e5e9ed;padding:5px;margin:0;border:1px solid #d2dbe5;border-radius:4px}
.bid-proposal-preview-actions{flex:0 0 auto;min-height:33px;padding:3px 7px;margin:0;background:#fff;border-bottom:1px solid #ccd7e0}
.bid-proposal-preview-actions strong{font-size:12px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bid-proposal-download{white-space:nowrap;flex:0 0 auto}
.bid-proposal-pdf{height:100%;min-height:0;flex:1;display:block;background:#fff}
.bid-proposal-image{min-height:0;object-fit:contain;max-height:100%;align-self:center}
.bid-proposal-communications{min-width:0;min-height:0;overflow:auto;border-left:1px solid #d7e1eb;padding-left:12px}
.bid-proposal-empty-email{padding:10px 2px;color:#657789;font-size:12px}
.bid-proposal-explorer-location+.bid-proposal-explorer-location{border-top:1px solid #d6dfe8}
.bid-proposal-explorer-breadcrumb{position:sticky;top:0;z-index:3;padding:7px 9px;font-size:11px;font-weight:700;background:#edf3f8;color:#365770;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #ccd8e2}
.bid-proposal-explorer-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.bid-proposal-explorer-table th{position:sticky;top:30px;z-index:2;padding:0 8px;height:27px;border-bottom:1px solid #ccd7e0;background:#f5f7f9;color:#52687d;text-align:left;font-size:10px;font-weight:700}
.bid-proposal-explorer-table th:nth-child(1){width:65%}
.bid-proposal-explorer-table th:nth-child(2){width:16%}
.bid-proposal-explorer-table th:nth-child(3){width:11%}
.bid-proposal-explorer-table th:nth-child(4){width:8%;text-align:right}
.bid-proposal-explorer-row{height:32px;border-bottom:1px solid #edf1f4}
.bid-proposal-explorer-row:hover{background:#f2f7fb}
.bid-proposal-explorer-row.selected{background:#dceeff}
.bid-proposal-explorer-row td{padding:2px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#425b73;font-size:11px}
.bid-proposal-explorer-row td:last-child{text-align:right}
.bid-proposal-explorer-name-cell{padding:0!important}
.bid-proposal-explorer-name{display:flex;align-items:center;gap:7px;width:100%;height:31px;min-width:0;text-align:left;cursor:pointer;border:0!important;border-radius:0!important;background:transparent!important;font-size:11px;color:#243f58}
.bid-proposal-explorer-name:focus-visible{outline:2px solid #3682b2;outline-offset:-2px}
.bid-proposal-explorer-name .file-name-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bid-proposal-explorer-name .file-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:3px;background:#e8eef4;font-size:14px}
.bid-proposal-explorer-name .file-icon.folder{background:#fff1bb}
.bid-proposal-explorer-name .file-icon.pdf{background:#ffe2df;color:#9b2727;font-size:11px;font-weight:700}
.bid-proposal-explorer-name .file-icon.office{background:#dfeefa;color:#1c5e9a}
.bid-proposal-explorer-caret{display:inline-block;flex:0 0 11px;width:11px;color:#536c83;font-size:12px}
.bid-proposal-explorer-empty{padding:15px;font-size:12px;color:#71869a}
.bid-proposal-thread{max-height:none}
@media(max-width:950px){
  .bid-proposal-dialog{width:99vw;height:calc(100dvh - 12px)}
  .bid-proposal-columns{grid-template-columns:minmax(0,62%) minmax(0,38%);gap:7px}
  .bid-proposal-communications{padding-left:7px}
  .bid-proposal-explorer-table th:nth-child(2),.bid-proposal-explorer-row td:nth-child(2){display:none}
  .bid-proposal-explorer-table th:nth-child(1){width:76%}
  .bid-proposal-explorer-table th:nth-child(3){width:13%}
  .bid-proposal-explorer-table th:nth-child(4){width:11%}
}
@media(max-width:650px){
  .bid-proposal-content{overflow:auto}
  .bid-proposal-dialog{height:96dvh}
  .bid-proposal-columns{display:flex;flex-direction:column;overflow:visible;flex:unset}
  .bid-proposal-documents{min-height:65vh;flex:0 0 65vh}
  .bid-proposal-files{flex-basis:210px}
  .bid-proposal-communications{overflow:visible;border-left:0;border-top:1px solid #d7e1eb;padding:12px 0}
}


/* WEB-015 phase 3: narrow navigation rail and ONE full-height preview canvas.
   Email parsing and composing remain deferred. */
.bid-proposal-columns.bid-proposal-sidebar-layout{
  display:grid;
  grid-template-columns:clamp(235px,19vw,320px) minmax(0,1fr);
  gap:0;
  flex:1;
  min-height:0;
  padding-top:8px;
  border-top:0;
}
.bid-proposal-sidebar-layout .bid-proposal-documents{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  border:1px solid #cbd7e2;
  border-right:0;
  border-radius:4px 0 0 4px;
  background:#f8fafc;
}
.bid-proposal-sidebar-layout .bid-proposal-documents h3{
  flex:0 0 auto;
  min-height:36px;
  margin:0;
  box-sizing:border-box;
  padding:10px 11px 8px;
  border-bottom:1px solid #d4dfe8;
  background:#edf3f8;
  color:#28445f;
  font-size:12px;
}
.bid-proposal-sidebar-layout .bid-proposal-files{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  margin:0;
  overflow:auto;
  border:0;
  border-radius:0;
  background:transparent;
}
.bid-proposal-explorer-tree{
  width:100%;
  min-width:0;
  padding:5px 0 18px;
  box-sizing:border-box;
}
.bid-proposal-tree-group{min-width:0;margin:0 0 10px}
.bid-proposal-tree-root{
  padding:7px 10px 7px;
  margin:3px 0 2px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#566f84;
  font:700 11px Arial,sans-serif;
  border-bottom:1px solid #e0e7ee;
}
.bid-proposal-tree-folder{display:block;min-width:0}
.bid-proposal-tree-folder-button,
.bid-proposal-tree-file{
  display:flex;
  align-items:center;
  gap:5px;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:33px;
  padding:3px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#273f59;
  text-align:left;
  font:11px Arial,sans-serif;
  cursor:pointer;
}
.bid-proposal-tree-folder-button:hover,.bid-proposal-tree-file:hover{background:#eaf2f9}
.bid-proposal-tree-file.selected{
  background:#dceeff;
  color:#163b60;
  font-weight:700;
  box-shadow:inset 3px 0 #4289bc;
}
.bid-proposal-tree-folder-button:focus-visible,
.bid-proposal-tree-file:focus-visible{
  outline:2px solid #337daa;
  outline-offset:-2px;
}
.bid-proposal-tree-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bid-proposal-tree-caret,.bid-proposal-tree-spacer{
  display:inline-block;flex:0 0 11px;width:11px;
  color:#5f7488;font-size:12px;
}
.bid-proposal-tree-folder-button .file-icon,
.bid-proposal-tree-file .file-icon{
  display:inline-flex;
  width:20px;
  height:20px;
  flex:0 0 20px;
  align-items:center;
  justify-content:center;
  border-radius:3px;
  background:#e5edf5;
  font-size:11px;
  font-weight:700;
}
.bid-proposal-tree-folder-button .file-icon.folder{background:#fff1bb;font-size:13px}
.bid-proposal-tree-file .file-icon.pdf{background:#ffe2df;color:#a52626;font-size:10px}
.bid-proposal-tree-file .file-icon.office{background:#dfeefa;color:#225a9c}
.bid-proposal-tree-file .file-icon.excel{background:#dff1e5;color:#217245}
.bid-proposal-tree-file .file-icon.email{background:#eef0f3;color:#4c5e73;font-size:16px}
.bid-proposal-sidebar-layout .bid-proposal-viewer{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid #cbd7e2;
  border-radius:0 4px 4px 0;
  background:#e4e8ec;
}
.bid-proposal-sidebar-layout .bid-proposal-file-preview{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#e4e8ec;
  overflow:hidden;
}
.bid-proposal-sidebar-layout .bid-proposal-preview-actions{
  display:flex;
  flex:0 0 auto;
  min-height:44px;
  box-sizing:border-box;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:0;
  padding:5px 11px;
  background:#f8fafc;
  border-bottom:1px solid #cbd7e2;
}
.bid-proposal-preview-filename{
  display:flex;
  flex-direction:column;
  gap:3px;
  flex:1;
  min-width:0;
}
.bid-proposal-preview-filename strong{
  font-size:12px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bid-proposal-preview-filename span{font-size:10px;color:#708294}
.bid-proposal-preview-status:empty{display:none}
.bid-proposal-preview-status:not(:empty){
  padding:5px 10px;
  font-size:11px;
  background:#fff4e9;
  color:#885b2d;
}
.bid-proposal-preview-body{
  position:relative;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  overflow:auto;
  background:#e4e8ec;
}
.bid-proposal-preview-body .bid-proposal-pdf,
.bid-proposal-preview-body .bid-proposal-document-frame{
  display:block;
  width:100%;
  height:100%;
  flex:1 1 auto;
  min-height:0;
  border:0;
  background:#fff;
}
.bid-proposal-preview-body .bid-proposal-image{
  max-width:100%;
  max-height:100%;
  margin:auto;
  object-fit:contain;
}
.bid-proposal-preview-body .bid-proposal-plain{
  width:100%;
  flex:1;
  box-sizing:border-box;
  max-height:none;
  margin:0;
  padding:16px;
  background:#fff;
  overflow:auto;
}
.bid-proposal-preview-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:auto;
  padding:20px 25px;
  text-align:center;
  max-width:450px;
  color:#50667d;
}
.bid-proposal-placeholder-icon{font-size:36px;margin-bottom:12px}
.bid-proposal-preview-placeholder strong{font-size:14px}
.bid-proposal-preview-placeholder p{font-size:12px;line-height:1.55;margin:9px 0 0}
.bid-proposal-preview-loading,.bid-proposal-empty-preview{
  margin:auto;
  font-size:12px;
  color:#657789;
}
@media(max-width:850px){
  .bid-proposal-columns.bid-proposal-sidebar-layout{
    grid-template-columns:220px minmax(0,1fr);
    gap:0;
    overflow:hidden;
  }
}
@media(max-width:600px){
  .bid-proposal-columns.bid-proposal-sidebar-layout{
    display:grid;
    grid-template-columns:minmax(125px,33%) minmax(0,1fr);
    flex:1;
    min-height:0;
    overflow:hidden;
  }
  .bid-proposal-sidebar-layout .bid-proposal-documents{min-height:0;flex:1 1 auto}
  .bid-proposal-sidebar-layout .bid-proposal-files{flex:1;min-height:0}
  .bid-proposal-sidebar-layout .bid-proposal-viewer{min-height:0}
  .bid-proposal-content{overflow:hidden}
}


/* WEB-015: normalized MSG/EML preview inside the selected-file viewer. */
.bid-proposal-email-details{width:100%;flex:1;min-height:0;overflow:auto;background:#fff;padding:14px 18px 28px;box-sizing:border-box;color:#24364a}
.bid-proposal-email-field{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:baseline;margin:0 0 6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.bid-proposal-email-field strong{font-weight:700;color:#536980}
.bid-proposal-email-field span{overflow-wrap:anywhere}
.bid-proposal-email-message{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.55 Arial,sans-serif;border-top:1px solid #dfe5ed;border-bottom:1px solid #dfe5ed;background:#fff;color:#23354a;margin:14px 0 8px;padding:16px 0;max-height:none;overflow:visible}
.bid-proposal-email-attachments{padding:10px 0 14px;border-bottom:1px solid #dfe5ed}
.bid-proposal-email-attachments h3{font-size:12px;margin:0 0 8px}
.bid-proposal-email-attachment-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eff2f6;font-size:12px}
.bid-proposal-email-attachment-row span{flex:1;min-width:160px;overflow-wrap:anywhere}
.bid-proposal-email-attachment-row button,.bid-proposal-email-actions button,.bid-proposal-email-send,.bid-proposal-email-attachment-preview button{font:12px Arial,sans-serif;padding:6px 9px;border:1px solid #b8c8d8;border-radius:4px;background:#fff;color:#244968;cursor:pointer}
.bid-proposal-email-attachment-row button:hover,.bid-proposal-email-actions button:hover{background:#edf5fb}
.bid-proposal-email-attachment-preview{display:flex;flex-direction:column;margin-top:8px;gap:7px}
.bid-proposal-email-attachment-preview:empty{display:none}
.bid-proposal-email-attachment-frame{width:100%;height:420px;border:1px solid #cbd7e2;background:white}
.bid-proposal-email-attachment-image{max-width:100%;height:auto}
.bid-proposal-email-reply-panel{padding:16px 0;display:flex;flex-direction:column;gap:10px}
.bid-proposal-email-actions{display:flex;gap:8px}
.bid-proposal-email-actions button.active,.bid-proposal-email-send{background:#15527f!important;color:#fff!important;border-color:#15527f!important}
.bid-proposal-email-compose{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f7f9fb;border:1px solid #d9e2ec;border-radius:5px}
.bid-proposal-email-compose[hidden]{display:none}
.bid-proposal-email-source-note{font-size:11px;color:#596e83;line-height:1.45;margin:0 0 5px}
.bid-proposal-email-recipient-editor{display:grid;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:6px;font:12px Arial,sans-serif}
.bid-proposal-email-recipient-editor strong{color:#50657b}
.bid-proposal-recipient-input{width:100%;min-width:0;box-sizing:border-box;padding:8px;border:1px solid #bbcbd9;border-radius:4px;font:12px Arial,sans-serif;background:#fff;color:#263d55}
.bid-proposal-email-compose .bid-proposal-reply-text{min-height:115px;resize:vertical;border:1px solid #bbcbd9;border-radius:4px;background:#fff;padding:9px;font:12px/1.5 Arial,sans-serif}
.bid-proposal-email-attachment-choices{border:1px solid #dce5ec;padding:7px 10px;border-radius:4px}
.bid-proposal-email-attachment-choices summary{cursor:pointer;font-size:12px}
.bid-proposal-email-attachment-list{display:grid;gap:6px;padding:7px 0;max-height:150px;overflow:auto}
.bid-proposal-email-attachment-choice{font:11px Arial,sans-serif;overflow-wrap:anywhere}
.bid-proposal-email-send{align-self:flex-start;padding:8px 12px;font-weight:700}
.bid-proposal-email-send:disabled{opacity:.55;cursor:wait}
.bid-proposal-email-send-status{font-size:12px;line-height:1.4;color:#4b6178;min-height:14px;margin:0}
@media(max-width:700px){
  .bid-proposal-email-details{padding:10px}
  .bid-proposal-email-field{grid-template-columns:64px minmax(0,1fr);gap:5px;font-size:11px}
}
