/* ConstructNav v0.9.2.49 — project workspace display fix */

/* Keep estimating controls usable when the main navigation is collapsed. */
body.cn-sidebar-collapsed #estimating aside,
body.cn-sidebar-collapsed #estimating .excel-step-card,
body.cn-sidebar-collapsed #estimating .excel-summary-card{
  width:auto!important;
  min-width:0!important;
  overflow:visible!important;
}
body.cn-sidebar-collapsed #estimating .excel-estimate-layout{
  grid-template-columns:minmax(230px,270px) minmax(0,1fr) minmax(240px,290px)!important;
}

.cn-upgrade-tabs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;
  padding:7px;background:#e9f0f7;border:1px solid var(--line);border-radius:12px
}
.cn-upgrade-tab{
  border:0;background:transparent;color:var(--ink);padding:10px 15px;border-radius:9px;
  font:inherit;font-weight:800;cursor:pointer
}
.cn-upgrade-tab.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(16,43,78,.10)}
.cn-field-pane[hidden],.cn-crm-archive[hidden]{display:none!important}

/* Full-page project workspace. */
#projects.cn-project-open>.card{display:none}
#projects.cn-project-open #projectDetail{margin:0!important}
#projects.cn-project-open .project-shell{
  border-radius:14px;min-height:calc(100vh - 130px);box-shadow:none;border:1px solid var(--line)
}
#projects.cn-project-open .project-top{
  position:static;background:linear-gradient(135deg,#073b70,#0b5b9c)!important;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.18)
}
#projects.cn-project-open .project-tabs{
  position:static;background:#f7f9fc;border-bottom:1px solid var(--line)
}
#projects.cn-project-open .project-top .project-title{color:#fff!important}
#projects.cn-project-open .project-top .muted{color:#d9e9f7!important}
#projects.cn-project-open .project-header{margin-bottom:0;flex-wrap:wrap}
#projects.cn-project-open .project-actions{flex-wrap:wrap;justify-content:flex-end}
.cn-project-back{display:inline-flex;align-items:center;gap:6px}

/* Takeoff upload handoff. */
.cn-takeoff-upload-guide{
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin:0 0 14px;
  border:2px dashed #78a5ce;background:linear-gradient(135deg,#f2f8fd,#fff);padding:18px;border-radius:14px
}
.cn-takeoff-upload-guide.dragging{border-color:var(--green);background:#effbf6}
.cn-upload-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.cn-upload-step{display:flex;gap:9px;align-items:flex-start;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}
.cn-upload-step b{
  flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;
  background:var(--blue);color:#fff;font-size:12px
}
.cn-upload-step strong{display:block;font-size:12px}.cn-upload-step span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.cn-upload-main-btn{font-size:15px!important;padding:13px 18px!important;white-space:nowrap}

/* Calendar modes. */
.cn-calendar-modes{display:flex;gap:4px;margin-left:auto;background:#edf2f7;padding:4px;border-radius:9px}
.cn-calendar-mode{border:0;background:transparent;padding:8px 12px;border-radius:7px;font-weight:800;color:var(--muted);cursor:pointer}
.cn-calendar-mode.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px rgba(16,43,78,.12)}
.calendar-grid.cn-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));min-height:540px}
.calendar-grid.cn-calendar-day{display:block;min-height:540px}
.calendar-grid.cn-calendar-day .calendar-day{min-height:500px}
.calendar-grid.cn-calendar-week .calendar-day{min-height:500px}
.calendar-event.live{background:#e6f7ef!important;border-left:4px solid var(--green)!important;color:#146646!important;animation:cnPulse 1.8s ease-in-out infinite}
@keyframes cnPulse{50%{box-shadow:0 0 0 3px rgba(32,163,111,.12)}}
.cn-live-now{
  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:13px 15px;
  background:#eaf8f2;border:1px solid #abdcca;border-radius:11px
}
.cn-live-now strong{color:#116a49}.cn-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:7px}

/* Daily time rollups and project time linkage. */
.time-live-row{background:#f0faf6}
.time-daily-total>td{vertical-align:top}
.time-applied{display:inline-block;margin-top:4px;color:#146646;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.time-session-list{min-width:170px}
.time-session-list summary{cursor:pointer;color:var(--blue);font-weight:900;white-space:nowrap}
.time-session-detail{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);min-width:310px}
.time-session-detail small{display:block;color:var(--muted);margin-top:2px;max-width:330px}
.time-delete-total{margin-top:9px}
.cn-project-time-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.cn-project-time-summary>div{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}
.cn-project-time-summary small{display:block;color:var(--muted);font-weight:800}
.cn-project-time-summary strong{display:block;color:var(--ink);font-size:20px;margin-top:4px}
.cn-project-time-summary strong.live{color:#146646}

/* Portal invitations and trade directory. */
.cn-portal-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cn-invite-status{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}
.cn-invite-chip{padding:6px 9px;border-radius:999px;background:#eef4fa;color:var(--ink);font-size:11px;font-weight:800}
.cn-invite-chip.sent{background:#e6f7ef;color:#146646}
.cn-directory-list,.cn-signature-list,.cn-delete-list,.cn-friction-queue{display:grid;gap:9px}
.cn-directory-row,.cn-signature-row,.cn-delete-row,.cn-friction-row{
  display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);
  border-radius:10px;background:#fff
}
.cn-directory-row small,.cn-signature-row small,.cn-delete-row small,.cn-friction-row small{display:block;color:var(--muted);margin-top:3px}
.cn-directory-actions,.cn-directory-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cn-directory-tabs{margin:14px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.cn-directory-tab span{display:inline-flex;min-width:22px;justify-content:center;margin-left:5px;padding:1px 6px;border-radius:999px;background:#e8eef5;color:var(--ink);font-size:10px}
.cn-directory-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
.cn-directory-tab.active span{background:rgba(255,255,255,.2);color:#fff}

/* Electronic signatures. */
.cn-signature-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#fff3d8;color:#855b00}
.cn-signature-status.signed{background:#e4f7ee;color:#116a49}
.cn-signature-status.declined,.cn-signature-status.expired{background:#fde9ea;color:#a52f3a}
.cn-sign-pad{
  padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin:12px 0
}
.cn-sign-name{
  width:100%;font-family:"Segoe Script","Bradley Hand",cursive!important;font-size:28px!important;
  padding:14px!important;background:#fff!important
}
.cn-consent{display:flex;gap:9px;align-items:flex-start;padding:12px;background:#fff;border:1px solid var(--line);border-radius:9px}
.cn-consent input{margin-top:3px}
.cn-sign-certificate{
  padding:14px;border:1px solid #abdcca;background:#f0faf6;border-radius:10px;margin-top:12px
}
.cn-sign-source{display:flex;gap:8px;align-items:center}
.cn-sign-source:before{content:"DOC";font-size:9px;font-weight:900;background:#e9f0f7;color:var(--blue);padding:4px;border-radius:4px}

/* Friction work queue. */
.cn-friction-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.cn-friction-summary>div{padding:14px;background:#fff;border:1px solid var(--line);border-radius:11px}
.cn-friction-summary small{display:block;color:var(--muted);font-weight:800}.cn-friction-summary strong{font-size:23px;color:var(--ink)}
.cn-friction-row.resolved{opacity:.64;background:#f4f8f6}
.cn-friction-row .cn-friction-copy{flex:1;min-width:0}
.cn-friction-row .cn-friction-actions{display:flex;gap:6px;flex-wrap:wrap}

/* Expanded settings. */
.cn-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.cn-settings-grid .full{grid-column:1/-1}
.cn-user-defaults{width:100%;border-collapse:collapse}
.cn-user-defaults th,.cn-user-defaults td{padding:9px;border-bottom:1px solid var(--line);text-align:left}
.cn-user-defaults select{min-width:170px}
.cn-danger-zone{border-color:#efb5b9!important}.cn-danger-zone h3{color:#a52f3a}

/* Embedded CRM archive. */
.cn-crm-archive{margin-top:16px}
.cn-archive-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.cn-archive-table td{vertical-align:top}

@media(max-width:1050px){
  body.cn-sidebar-collapsed #estimating .excel-estimate-layout{grid-template-columns:1fr!important}
  .cn-upload-steps,.cn-friction-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cn-settings-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .cn-takeoff-upload-guide{grid-template-columns:1fr}.cn-upload-steps,.cn-friction-summary{grid-template-columns:1fr}
  .cn-calendar-modes{width:100%;margin-left:0}.cn-calendar-mode{flex:1}
  .calendar-grid.cn-calendar-week{display:block}.calendar-grid.cn-calendar-week .calendar-day{min-height:130px}
  #projects.cn-project-open .project-top,#projects.cn-project-open .project-tabs{position:static}
  .cn-directory-row,.cn-signature-row,.cn-delete-row,.cn-friction-row{align-items:flex-start;flex-direction:column}
  .cn-project-time-summary{grid-template-columns:1fr}
  .time-session-detail{min-width:240px;align-items:flex-start;flex-direction:column}
}

@media print{
  body.cn-signature-printing *{visibility:hidden!important}
  body.cn-signature-printing #cnSignModal,
  body.cn-signature-printing #cnSignModal *{visibility:visible!important}
  body.cn-signature-printing #cnSignModal{position:absolute;inset:0;width:100%;max-width:none;border:0}
  body.cn-signature-printing #cnSignModal .modal-foot{display:none!important}
}
