
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#14202b;background:#f3f5f7}a{text-decoration:none}
.flash-wrap{position:fixed;top:15px;right:15px;z-index:99}.flash{background:#163247;color:#fff;padding:12px 16px;border-radius:8px;margin-bottom:8px;box-shadow:0 4px 14px #0002}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.hero{background:radial-gradient(circle at 20% 20%,#173d68 0,#071525 42%,#020914 100%);position:relative;overflow:hidden}.pipe{height:18px;background:#0b66e4;border-radius:12px;position:absolute;left:-5%;right:-5%;box-shadow:0 2px 5px #0008}.pipe1{top:28%}.pipe2{top:44%;transform:rotate(-4deg)}.pipe3{top:60%;transform:rotate(7deg)}
.hero-content{position:absolute;left:6%;bottom:6%;color:#fff;z-index:2}.hero-logo,.login-logo,.side-logo{background:white;border-radius:8px;padding:8px}.hero-logo{width:350px;max-width:75%}.hero h1{color:#0b66e4;font-size:40px}.hero p{font-size:17px}
.login-side{display:flex;align-items:center;justify-content:center;background:#eef1f4}.login-card{background:#fff;padding:34px;width:420px;border-radius:14px;box-shadow:0 18px 45px #0002}.login-logo{width:100%;max-width:270px;display:block;margin:0 auto 22px}.login-card h2{text-align:center;font-size:30px;margin:10px}.login-card p{text-align:center;color:#66737e}
label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}input,select,textarea{width:100%;padding:12px;border:1px solid #ccd5dc;border-radius:7px;font:inherit}.primary{display:inline-block;background:#0b66e4;color:#fff;border:0;padding:12px 18px;border-radius:7px;font-weight:700;cursor:pointer}.login-card .primary{width:100%;margin-top:20px}.help{text-align:center;margin-top:22px;line-height:1.6}.help strong{color:#0b66e4}
.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#0c1a26;color:#fff;padding:22px 0;display:flex;flex-direction:column}.side-logo{width:185px;margin:0 auto 22px}aside a{color:#fff;padding:14px 22px}aside a:hover,aside a.active{background:#0b66e4}.side-help{margin:auto 14px 0;padding:14px;border:1px solid #324454;border-radius:8px;font-size:13px}.side-help span{font-size:12px}
main{padding:24px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}header h1{margin:0 0 5px;font-size:28px}header p{margin:0;color:#66737e}.smallbtn{padding:10px 14px}
.card{background:#fff;border:1px solid #e0e5e9;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 3px 12px #0001}.card h2{margin-top:0}.project-row{display:flex;align-items:center;gap:18px;padding:14px 0;border-top:1px solid #e5e9ed}.project-row:first-of-type{border-top:0}.thumb{width:110px;height:70px;border-radius:8px;background:linear-gradient(135deg,#dce2e6,#98a4ad);display:flex;align-items:center;justify-content:center;font-size:11px;color:#4b5964}.grow{flex:1}.grow strong{font-size:17px}.grow small{color:#6c7984}.status{background:#e0f3e4;color:#2b6a40;border-radius:999px;padding:6px 10px;font-weight:700;font-size:11px}.outline{border:1px solid #0b66e4;color:#0b66e4;padding:9px 12px;border-radius:7px;font-weight:700;font-size:12px}.activity{padding:11px 0;border-top:1px solid #e5e9ed}.activity span{float:right;color:#77838c;font-size:12px}.row{display:flex;align-items:center}.between{justify-content:space-between}
.upload-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:28px}.dropbox{border:2px dashed #75aef5;border-radius:10px;min-height:330px;margin-top:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.upload-arrow{font-size:54px}.dropbox input{max-width:420px}.details{border:1px solid #e1e6ea;border-radius:10px;padding:18px;height:fit-content}.details .primary{width:100%;margin-top:18px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e4e8eb;padding:12px;font-size:14px}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.hero{min-height:420px}.app-shell{grid-template-columns:1fr}aside{min-height:auto}.upload-grid{grid-template-columns:1fr}.project-row{align-items:flex-start;flex-wrap:wrap}}

.admin-badge{margin:0 18px 14px;padding:9px 10px;border:1px solid #33495b;border-radius:7px;font-size:11px;font-weight:700;text-align:center;color:#75aef5}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.stat-card{background:#fff;border:1px solid #e0e5e9;border-radius:12px;padding:20px;display:flex;flex-direction:column;box-shadow:0 3px 12px #0001}
.stat-card strong{font-size:34px;color:#0b66e4}.stat-card span{color:#687783;margin-top:4px}
.admin-two{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}
@media(max-width:950px){.admin-stats,.admin-two{grid-template-columns:1fr}}

.admin-note{font-size:13px;color:#687783;line-height:1.5;margin-top:18px}
.company-access-box{margin-top:24px;padding:15px;background:#f5f8fa;border:1px solid #dfe6eb;border-radius:9px}
.company-access-box p{margin:7px 0 0;color:#66737e;font-size:13px;line-height:1.5}
.user-admin-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #e5e9ed}
.user-admin-row:first-of-type{border-top:0}
.user-avatar{width:42px;height:42px;border-radius:50%;background:#163247;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.user-actions{min-width:115px}.user-actions summary{cursor:pointer;color:#0b66e4;font-weight:700}
.mini-form{margin-top:10px}.mini-form input{margin-bottom:7px;min-width:220px}
.danger{border:1px solid #b42318;color:#b42318;background:#fff;padding:8px 10px;border-radius:7px;font-weight:700;margin-top:8px;cursor:pointer}

/* Drag-and-drop customer upload */
.dropbox{cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.dropbox:hover,.dropbox:focus,.dropbox.dragging{border-color:#0b66e4;background:#f4f8ff;outline:none}
.dropbox.dragging{transform:scale(1.01)}
.drop-hint{margin:0 0 12px;color:#66737e}
.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.choose-files{background:#fff;cursor:pointer;margin-bottom:8px}
.file-list{width:100%;max-width:520px;margin-top:12px;text-align:left}
.file-list>strong{display:block;margin-bottom:6px}
.file-chip{display:flex;justify-content:space-between;gap:12px;background:#f5f8fa;border:1px solid #dfe6eb;border-radius:7px;padding:8px 10px;margin-top:6px;font-size:13px;overflow-wrap:anywhere}
.file-chip span{color:#687783;white-space:nowrap}

/* Customer company calendar */
.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.calendar-heading h2{margin-bottom:5px}.calendar-heading p{margin:0;color:#66737e}.calendar-toolbar{display:flex;align-items:center;gap:10px;margin:20px 0 10px}.calendar-toolbar strong{min-width:180px;text-align:center;font-size:18px}.calendar-nav,.calendar-today{border:1px solid #ccd5dc;background:#fff;border-radius:7px;cursor:pointer;font-weight:700}.calendar-nav{width:38px;height:38px;font-size:25px;line-height:30px}.calendar-today{padding:9px 13px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{border:1px solid #dfe5e9;border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden}.calendar-weekdays span{text-align:center;padding:9px 4px;background:#f5f8fa;color:#5e6b75;font-size:12px;font-weight:700}.calendar-grid{border-left:1px solid #dfe5e9;border-top:1px solid #dfe5e9}.calendar-day{min-height:112px;border-right:1px solid #dfe5e9;border-bottom:1px solid #dfe5e9;padding:6px;background:#fff;overflow:hidden}.calendar-day.muted{background:#fafbfc;color:#a0aab2}.calendar-day.today{background:#f4f8ff}.day-number{width:29px;height:29px;border:0;border-radius:50%;background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.today .day-number{background:#0b66e4;color:#fff}.calendar-event{display:block;width:100%;margin-top:4px;border:0;border-left:3px solid #0b66e4;background:#eaf3ff;color:#174f96;border-radius:4px;padding:5px 6px;text-align:left;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event:hover{background:#dcecff}.calendar-tip{margin:10px 0 0;color:#77838c;font-size:12px}.event-dialog{width:min(520px,92vw);border:0;border-radius:12px;padding:0;box-shadow:0 20px 70px #0005}.event-dialog::backdrop{background:#0c1a2688}.event-dialog form{padding:22px}.event-dialog #deleteEventForm{padding:0}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h3{margin:0}.dialog-close{border:0;background:transparent;font-size:28px;cursor:pointer;color:#66737e}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.dialog-actions .danger{margin:0}.event-dialog textarea{resize:vertical}@media(max-width:850px){.calendar-heading{flex-direction:column}.calendar-weekdays span{font-size:10px}.calendar-day{min-height:85px;padding:3px}.calendar-event{font-size:9px;padding:4px}.calendar-toolbar strong{min-width:140px}}

/* V8 document actions */
.doc-actions { white-space: nowrap; }
.doc-actions form { margin-left: 14px; }
.delete-link { border: 0; background: none; padding: 0; color: #c62828; cursor: pointer; font: inherit; text-decoration: underline; }
.delete-link:hover { color: #8e0000; }


/* V9 staff-specific calendar alerts */
.alert-recipient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}.alert-recipient-option{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid #dfe6eb;border-radius:9px;background:#f8fafb;cursor:pointer}.alert-recipient-option input{width:auto;transform:scale(1.2)}.alert-recipient-option span{display:flex;flex-direction:column}.alert-recipient-option small{color:#687783;margin-top:3px}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;background:#c62828;color:#fff;border-radius:999px;font-size:12px;vertical-align:middle}.notification-tools{display:flex;align-items:center;gap:9px}.notification-tools form{margin:0}.notification-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e5e9ed}.notification-row.unread{background:#f4f8ff;margin:0 -10px;padding:12px 10px;border-radius:8px}.notification-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#163247;color:#fff;font-weight:700;font-size:18px}.notification-row small{display:block;color:#77838c;margin-top:4px}@media(max-width:850px){.notification-tools{flex-direction:column;align-items:stretch}.alert-recipient-grid{grid-template-columns:1fr}}


/* V10 searchable contractor directory */
.contractor-head{gap:16px}.contractor-head h2{margin-bottom:5px}.contractor-search-wrap{display:flex;align-items:center;gap:14px;margin:18px 0 8px}.contractor-search-wrap input{flex:1;font-size:16px;padding:13px 15px}.contractor-search-wrap span{color:#687783;font-size:13px;white-space:nowrap}.contractor-list{border-top:1px solid #e5e9ed}.contractor-row{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid #e5e9ed;color:#14202b}.contractor-row:hover{background:#f4f8ff}.contractor-avatar{width:44px;height:44px;border-radius:9px;background:#163247;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.contractor-row .grow small{display:block;margin-top:4px}.contractor-row .outline{text-decoration:none}@media(max-width:700px){.contractor-head,.contractor-search-wrap{align-items:stretch;flex-direction:column}.contractor-search-wrap span{padding-left:2px}}

/* V13 customer project request workflow */
.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.request-notice{background:#f5f7f9;border:1px solid #dfe5ea;border-left:4px solid #d4252a;border-radius:8px;padding:14px 16px;margin:0 0 18px;line-height:1.45}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid-three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.project-request-form textarea{width:100%;box-sizing:border-box}
.drop-zone{border:2px dashed #b8c2ca;border-radius:12px;padding:28px;text-align:center;cursor:pointer;background:#fafbfc;transition:.15s ease;position:relative}
.drop-zone:hover,.drop-zone.dragging{border-color:#d4252a;background:#fff7f7}
.drop-zone strong,.drop-zone span{display:block}
.drop-zone span{margin-top:5px;color:#66727d;font-size:14px}
.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.selected-files{margin-top:10px;font-size:14px;line-height:1.5;color:#4b5964;word-break:break-word}
.new-request-card{border-top:4px solid #d4252a}
.request-row .thumb{background:#fff1f1;color:#b91c1c}
@media(max-width:800px){.form-grid-two,.form-grid-three{grid-template-columns:1fr}.header-actions{justify-content:flex-start}}

/* V14 employee roles and assignment access */
.role-pill{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;background:#eef2f5;color:#41505b}.role-pill.admin{background:#fff0e8;color:#a33c09}.role-pill.staff{background:#eaf3f8;color:#163247}.assignment-card{border-top:4px solid #163247}

/* V15 project folders + employee customer pane */
.folder-panel{border-top:4px solid #0b66e4}.folder-head{gap:18px;align-items:flex-end}.folder-create-form{display:flex;gap:8px;align-items:center}.folder-create-form input{min-width:230px;margin:0}.folder-strip{display:flex;gap:12px;overflow-x:auto;padding:15px 2px 5px}.folder-card{min-width:155px;max-width:210px;border:1px solid #dfe6eb;border-radius:10px;padding:13px;background:#f8fafb;color:#1d2c37;display:flex;flex-direction:column;gap:4px;text-decoration:none}.folder-card:hover,.folder-card.active{border-color:#0b66e4;background:#f4f8ff}.folder-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card small{color:#6b7882}.folder-icon{font-size:24px}.folder-tools{display:flex;justify-content:flex-end;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #e5e9ed}.folder-tools form{display:flex;gap:8px;align-items:center;margin:0}.folder-tools input{margin:0;min-width:220px}.employee-customer-pane .contractor-list{max-height:390px;overflow-y:auto;border:1px solid #e5e9ed;border-radius:9px}.employee-customer-pane .contractor-row{padding-left:12px;padding-right:12px}.employee-customer-pane .contractor-search-wrap{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:8px}@media(max-width:750px){.folder-head,.folder-create-form,.folder-tools{align-items:stretch;flex-direction:column}.folder-create-form input,.folder-tools input{min-width:0;width:100%}}

/* V16 CANOPY SaaS foundation */
.hero:after{content:"CANOPY";position:absolute;right:-30px;top:8%;font-size:150px;font-weight:900;letter-spacing:.04em;color:#ffffff08;transform:rotate(90deg)}
.hero h1{max-width:620px;line-height:1.05}.hero-logo,.login-logo,.side-logo{object-fit:contain}
.platform-shell{min-height:100vh;background:#f6f8fb}.platform-top{height:72px;background:#fff;border-bottom:1px solid #e3e8ef;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.platform-top img{height:38px;max-width:190px;object-fit:contain}.platform-content{padding:28px;max-width:1450px;margin:auto}.platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.platform-stat{background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:20px}.platform-stat strong{display:block;font-size:30px;margin-top:8px}.tenant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tenant-card{background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:20px}.tenant-card .tenant-logo{height:46px;max-width:180px;object-fit:contain}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:#0b66e4;font-size:11px;font-weight:800}.muted{color:#687783}.platform-actions{display:flex;gap:10px;flex-wrap:wrap}.secondary{display:inline-block;border:1px solid #ccd5dc;background:#fff;color:#14202b;padding:11px 15px;border-radius:7px;font-weight:700}@media(max-width:950px){.platform-grid,.tenant-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.platform-grid,.tenant-grid{grid-template-columns:1fr}}


/* V16.1 customer sidebar dropdown navigation */
.side-dropdown{border-top:1px solid #1d3040;border-bottom:1px solid #1d3040}
.side-dropdown+ .side-dropdown{border-top:0}
.side-dropdown summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;color:#fff;font-weight:700;cursor:pointer;user-select:none}
.side-dropdown summary::-webkit-details-marker{display:none}
.side-dropdown summary:hover{background:#13293a}
.side-chevron{font-size:22px;line-height:14px;transition:transform .15s ease;color:#8ebcff}
.side-dropdown[open] .side-chevron{transform:rotate(90deg)}
.side-dropdown-list{padding:0 0 7px;background:#091722}
aside .side-subitem{display:block;padding:9px 22px 9px 34px;background:transparent;color:#dbe7f0;font-size:13px;border-left:3px solid transparent}
aside .side-subitem:hover{background:#13293a;border-left-color:#0b66e4}
aside .side-subitem.project-link span{display:block;color:#fff;font-weight:700}
aside .side-subitem.project-link small{display:block;margin-top:2px;color:#8fa2b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-empty{display:block;padding:9px 22px 11px 34px;color:#8fa2b1;font-size:12px}

/* V16.2 project details */
.gc-info{margin-top:6px;font-size:14px;color:#526273;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.gc-info strong{color:#14283a}.gc-info a{color:#0b6ee8;text-decoration:none}
.folder-card.sov-folder{border-color:#8dbbf7;background:#f5f9ff}
.folder-card.sov-folder .folder-icon{font-size:22px}
.gc-settings{margin:16px 0;padding:14px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc}
.gc-settings h3{margin:0 0 10px;font-size:16px;color:#173047}

.status-form{margin:0;display:inline-flex;align-items:center}.status-select{border:0;outline:0;cursor:pointer;appearance:auto;-webkit-appearance:auto;padding:6px 24px 6px 10px;font-family:inherit}.status-select:focus{box-shadow:0 0 0 2px #0b66e433}.project-row .status-form{margin-left:auto}.project-row .grow+.status-form{margin-left:auto}


/* V16.5 design-firm assignment + split calendar/communication workspace */
.side-subitem small{display:block;color:#8fa2b1;margin-top:3px}.dashboard-workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.dashboard-workspace>.card{margin-bottom:20px}.compact-calendar .calendar-day{min-height:82px}.compact-calendar .calendar-event{font-size:9px;padding:3px 5px}.compact-calendar .calendar-weekdays span{font-size:10px}.m365-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;margin:10px 0 12px;border:1px solid #dbe7f5;background:#f5f9ff;border-radius:8px;font-size:12px;color:#4f6070}.communication-card{min-height:100%}.communication-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.communication-head h2{margin-bottom:4px}.communication-head p{margin:0;color:#66737e}.sync-pill{white-space:nowrap;border-radius:999px;padding:6px 9px;background:#e8f3ff;color:#0b66e4;font-size:10px;font-weight:800}.communication-compose{margin-top:14px;padding:14px;border:1px solid #e1e7ed;border-radius:9px;background:#fafbfd}.communication-compose label{margin-top:9px}.communication-compose textarea{resize:vertical}.communication-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.communication-list{margin-top:18px;max-height:420px;overflow:auto}.communication-list h3{font-size:15px}.comm-item{padding:12px 2px;border-top:1px solid #e4e9ed}.comm-item p{margin:7px 0 0;white-space:pre-wrap;line-height:1.4}.comm-item small{color:#76838e}.comm-meta{display:flex;justify-content:space-between;gap:10px}.comm-meta span{font-size:11px;color:#7a8791;white-space:nowrap}.firm-count{background:#eef5ff;color:#0b66e4;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}@media(max-width:1150px){.dashboard-workspace{grid-template-columns:1fr}.compact-calendar .calendar-day{min-height:90px}}@media(max-width:700px){.m365-strip,.communication-head,.comm-meta{flex-direction:column;align-items:stretch}.sync-pill{width:max-content}}

/* V16.6 project collaboration */
.project-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:18px}.project-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.team-member{border:1px solid #dfe7e4;border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:10px;background:#fbfdfc}.team-member small,.team-member a{display:block;margin-top:3px}.project-team-add{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr auto;gap:8px;align-items:end}.design-firm-picker{border:1px solid #dfe7e4;border-radius:10px;padding:10px;margin:4px 0 16px}.design-firm-all,.design-firm-option{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #edf2f0}.design-firm-option:last-child{border-bottom:0}.design-firm-option small{display:block;margin-top:2px}.design-firm-all{background:#f4f8f7;border-radius:7px}@media(max-width:1050px){.project-workspace-grid{grid-template-columns:1fr}.project-team-add{grid-template-columns:1fr 1fr}.project-team-grid{grid-template-columns:1fr}}

/* V16.7 calendar roll-up filters */
.calendar-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center;margin:10px 0 8px}.calendar-filters select{min-width:0;width:100%}@media(max-width:1100px){.calendar-filters{grid-template-columns:1fr 1fr}.calendar-filters .smallbtn{width:100%}}@media(max-width:700px){.calendar-filters{grid-template-columns:1fr}}

/* V16.17 global search */
.global-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe4ea;border-radius:14px;padding:10px 12px;margin:0 0 18px;box-shadow:0 6px 18px rgba(20,42,55,.05)}
.global-search-icon{font-size:24px;color:#55707e;line-height:1}
.global-search input{flex:1;border:0;outline:0;background:transparent;font-size:15px;min-width:0;padding:8px 4px}
.search-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.search-page-head h1{margin-bottom:4px}.search-results{display:grid;gap:12px}.search-result{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid #dbe4ea;border-radius:12px;background:#fff;text-decoration:none;color:inherit}.search-result:hover{border-color:#90aeb9;box-shadow:0 5px 16px rgba(20,42,55,.08)}.search-result-type{min-width:110px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#607c88}.search-result-main{flex:1}.search-result-main strong{display:block;margin-bottom:3px}.search-result-main small{display:block;color:#6b7f88}.search-empty{padding:28px;text-align:center;color:#6b7f88}
@media(max-width:760px){.global-search{flex-wrap:wrap}.global-search input{flex-basis:75%}.search-page-head{align-items:stretch;flex-direction:column}.search-result{align-items:flex-start;flex-direction:column}.search-result-type{min-width:0}}

/* V16.18 - Active Projects dashboard picker */
.active-projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:8px}
.active-projects-heading h2{margin-bottom:2px}
.active-projects-heading p{margin:0}
.active-projects-picker{min-width:290px}
.active-projects-picker label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#5f6b78}
.active-projects-picker select{width:100%;padding:10px 12px;border:1px solid #d8dee6;border-radius:8px;background:#fff}
@media (max-width:850px){.active-projects-heading{align-items:stretch;flex-direction:column}.active-projects-picker{min-width:0;width:100%}}

/* V16.22 active projects navigation */
.section-title-link{color:inherit;text-decoration:none}.section-title-link:hover{color:#0b66e4}

/* V16.24 full navigation pages + clickable project number/name */
.project-title-link{display:inline-block;color:inherit;text-decoration:none;border-radius:7px;padding:4px 7px 4px 0;transition:.15s ease}
.project-title-link strong,.project-title-link div{display:block}
.project-title-link:hover{color:#0b66e4;text-decoration:none;background:#f2f7ff;padding-left:7px}
.project-title-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.entity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.entity-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 18px;border:1px solid #dce5eb;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:.15s ease}
.entity-card:hover{border-color:#8eabb8;box-shadow:0 6px 18px rgba(20,42,55,.08);transform:translateY(-1px)}
.entity-card strong{display:block;font-size:16px;margin-bottom:5px}.entity-card small{display:block;color:#667783;margin-top:3px}.entity-card>span{color:#0b66e4;font-weight:800;white-space:nowrap}
@media(max-width:850px){.entity-grid{grid-template-columns:1fr}.entity-card{align-items:flex-start;flex-direction:column}}


/* V16.25 standard project folders, drag/drop, and design-firm sharing */
.folder-drop-wrap{min-width:175px;max-width:220px;display:flex;flex-direction:column;gap:6px;border-radius:12px;transition:.15s ease}
.folder-drop-wrap .folder-card{min-width:0;max-width:none;width:100%;box-sizing:border-box}
.folder-drop-wrap.drag-over{background:#eaf4ff;box-shadow:0 0 0 3px rgba(11,102,228,.18)}
.folder-drop-wrap.drag-over .folder-card{border-color:#0b66e4;background:#eef6ff}
.drop-hint{font-weight:700;color:#0b66e4!important;margin-top:3px}
.folder-share-form{margin:0;padding:0 3px}.folder-share-form label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#53636f;cursor:pointer}.folder-share-form input{width:auto;margin:0}
.folder-sharing-state{margin-right:auto}.share-badge{display:inline-block;border-radius:999px;padding:6px 9px;background:#eef1f4;color:#5d6872;font-size:11px;font-weight:800}.share-badge.on{background:#e8f5ee;color:#167044}
@media(max-width:750px){.folder-drop-wrap{min-width:165px}.folder-sharing-state{margin-right:0}}
/* V16-28: project-folder rearranging */
.folder-drop-wrap{position:relative}
.folder-drag-handle{position:absolute;top:6px;right:7px;z-index:4;border:0;background:transparent;color:#6b7882;font-size:17px;line-height:1;cursor:grab;padding:5px 6px;border-radius:6px}
.folder-drag-handle:hover{background:#e8eef4;color:#1d2c37}
.folder-drag-handle:active{cursor:grabbing}
.folder-drop-wrap.folder-moving{opacity:.48}
.folder-drop-wrap.folder-reorder-target{outline:2px dashed #0b66e4;outline-offset:2px}
.folder-drop-wrap .folder-card{padding-right:34px}

/* V16-32: prominent project status beside project title */
.project-title-status-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.project-title-status-row h1{margin:0}
.project-status-form{flex:0 0 auto}
.project-status-large{font-size:18px;font-weight:800;min-width:190px;padding:11px 36px 11px 14px;border:2px solid #d9e1ea;border-radius:10px;background:#fff;line-height:1.2}
.project-status-large:hover{border-color:#0b66e4}
@media(max-width:760px){.project-title-status-row{align-items:flex-start;flex-direction:column;gap:10px}.project-status-large{width:100%;min-width:220px}}

/* V16-33: make the main project status stand out */
.project-status-large{
  color:#0b66e4;
  background:#fde8e8;
  border-color:#efb9b9;
}
.project-status-large:hover,
.project-status-large:focus{
  color:#0b66e4;
  background:#fde8e8;
  border-color:#0b66e4;
}
/* V16-35 dashboard alerts */
.dashboard-alerts-card{margin-bottom:18px;border:1px solid #d9e2ef;overflow:hidden}
.dashboard-alerts-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.dashboard-alerts-head h2{margin:0 0 3px}
.alerts-count{background:#fff0f0;color:#1756a9;border:1px solid #f0caca;border-radius:999px;padding:6px 10px;font-weight:700;white-space:nowrap}
.dashboard-alerts-list{display:grid;gap:6px}
.dashboard-alert-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:inherit;background:#f8fafc;border:1px solid #edf1f6}
.dashboard-alert-row:hover{background:#fff3f3;border-color:#d8e3f1}
.alert-dot{width:9px;height:9px;border-radius:50%;background:#1756a9;flex:0 0 auto}
.dashboard-alert-row small{color:#667085}.alert-open{color:#1756a9;font-weight:700;white-space:nowrap}

/* V16.37 vertical directories + company office locations */
.entity-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.entity-list .entity-card{width:100%;box-sizing:border-box}
.office-add-form{display:flex;gap:10px;align-items:center;margin-top:16px}.office-add-form input{flex:1;margin:0}
.office-chip-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.office-chip{display:flex;align-items:center;gap:8px;background:#f4f8ff;border:1px solid #d5e3f4;border-radius:999px;padding:7px 10px;font-weight:700}.office-chip form{margin:0}.office-chip button{border:0;background:transparent;color:#8d3a3a;font-size:18px;cursor:pointer;padding:0 2px}
.employee-search{display:flex;gap:10px;align-items:center;margin:14px 0 8px}.employee-search input{flex:1;margin:0;min-width:180px}.employee-search select{min-width:190px;margin:0}.employee-inline-form{margin:0}.employee-inline-form select{min-width:165px;margin:0}.employee-row small{display:block;margin-top:4px;color:#667783}
@media(max-width:850px){.employee-search,.office-add-form{flex-direction:column;align-items:stretch}.employee-search select,.employee-inline-form select{min-width:0;width:100%}.employee-row{align-items:stretch}.employee-row form{width:100%}.employee-row .outline{width:100%}}

.page-search-bar{display:flex;gap:10px;align-items:center;margin:18px 0 4px;flex-wrap:wrap}.page-search-bar input{flex:1;min-width:280px}.page-search-bar .primary,.page-search-bar .outline{white-space:nowrap}

/* V16-39 Project Overview */
.overview-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}
.overview-kpi{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:18px 20px;box-shadow:0 4px 16px rgba(15,35,55,.05)}
.overview-kpi span{display:block;color:#66758a;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.overview-kpi strong{font-size:30px;color:#102a43}
.overview-chart-card{margin-bottom:20px}
.status-overview-chart{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.status-chart-row{display:grid;grid-template-columns:150px minmax(180px,1fr) 78px;gap:14px;align-items:center}
.status-chart-label{font-weight:700;color:#243b53}
.status-chart-track{height:24px;background:#edf1f5;border-radius:12px;overflow:hidden;border:1px solid #dfe5ec}
.status-chart-fill{height:100%;min-width:0;border-radius:12px;background:#2f6fed}
.status-chart-fill.status-ahj-review{background:#7c5ce7}.status-chart-fill.status-waiting-on-docs{background:#e3a62f}.status-chart-fill.status-on-hold{background:#d75a5a}.status-chart-fill.status-installing{background:#2f9d7e}.status-chart-fill.status-complete{background:#66758a}
.status-chart-count{display:flex;gap:6px;align-items:baseline;justify-content:flex-end}.status-chart-count strong{font-size:18px;color:#102a43}.status-chart-count span{font-size:12px;color:#7b8794}
.overview-search-wrap{margin:18px 0}.overview-search-wrap input{width:100%;max-width:760px}
.overview-table-wrap{overflow-x:auto}
.overview-table{width:100%;border-collapse:collapse;min-width:1100px}.overview-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#62748a;background:#f7f9fb;border-bottom:1px solid #dfe5ec;padding:12px}.overview-table td{vertical-align:top;border-bottom:1px solid #e8edf2;padding:13px 12px;color:#334e68}.overview-table tr:hover td{background:#fafcff}
.overview-status-pill{display:inline-block;background:#fde2e2;color:#1769aa;border:1px solid #f4b8b8;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;white-space:nowrap}
@media(max-width:1000px){.overview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-chart-row{grid-template-columns:130px minmax(120px,1fr) 70px}}
@media(max-width:650px){.overview-summary-grid{grid-template-columns:1fr}.status-chart-row{grid-template-columns:1fr}.status-chart-count{justify-content:flex-start}}

/* V16-43: stacked Active Project details */
.project-summary-stack { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.project-summary-stack .project-title-link { display:block; margin-bottom:2px; }
.project-summary-line { display:block; line-height:1.35; }

/* V16.44 project assignment editor */
.project-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.edit-project-assignment-card{max-width:900px}
.assignment-choice-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.assignment-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #d9e0ea;border-radius:12px;padding:15px;background:#fff;cursor:pointer}
.assignment-choice input{margin-top:3px}
.assignment-choice span,.assignment-option span{display:flex;flex-direction:column;gap:3px}
.assignment-choice small,.assignment-option small{color:#667085}
.assignment-options{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 4px 34px}
.assignment-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #e6eaf0;border-radius:10px;padding:12px;background:#f8fafc}

/* V16.45 company project status management */
.status-management-list{display:flex;flex-direction:column;gap:10px}
.status-management-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,1.5fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #e3e8ef;border-radius:12px;background:#fff}
.status-management-name{display:flex;flex-direction:column;gap:4px}.status-management-name small{color:#6b7280}
.status-rename-form{display:flex;gap:8px;align-items:center}.status-rename-form input{margin:0}
@media(max-width:850px){.status-management-row{grid-template-columns:1fr}.status-rename-form{flex-wrap:wrap}}

/* V16-47 dashboard header */
.dashboard-welcome-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dashboard-welcome-row h1{margin:0}

/* V16.48 Design Firm portal */
.portal-role-badge{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #b9cff0;border-radius:999px;background:#eef5ff;color:#0a5dcc;font-size:12px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.design-firm-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}
.summary-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;min-height:125px;justify-content:center}
.summary-card-link strong{font-size:30px;color:#0a5dcc}.summary-card-link small{color:#687789}.summary-label{font-weight:800;font-size:15px}
.design-firm-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.compact-project-link{display:flex;flex-direction:column;gap:4px;padding:11px 0;border-bottom:1px solid #edf1f5;text-decoration:none;color:inherit}.compact-project-link:last-child{border-bottom:0}.compact-project-link small{color:#6b7888}
.design-alert-list .alert-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #e5ebf2;border-radius:8px;margin-top:8px;background:#f8fafc}.design-alert-list .alert-row:first-child{background:#fff5f5}.alert-open-link{font-weight:800;text-decoration:none;color:#005fcc;white-space:nowrap}.activity-dot{color:#006fe6;font-weight:900}.empty-state{color:#6d7c8b}.bid-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;text-decoration:none;color:inherit;padding:14px 4px;border-bottom:1px solid #e8edf3}.bid-request-card div{display:flex;flex-direction:column;gap:4px}.bid-request-card small{color:#6d7a88}.bid-detail-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:28px}.prewrap{white-space:pre-wrap}.file-simple-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf1f5}.design-assignment-card{display:flex;align-items:end;justify-content:space-between;gap:20px}.design-assignment-form{display:grid;grid-template-columns:220px 240px auto;gap:10px;align-items:end}.design-assignment-form label,.communication-form label{display:flex;flex-direction:column;gap:5px;font-weight:700}.design-assignment-form input,.communication-form input,.communication-form textarea{width:100%;box-sizing:border-box}.shared-folder-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.shared-folder-chips span{padding:8px 10px;border:1px solid #dce5ee;border-radius:8px;background:#f7f9fb;font-size:13px}.communication-item,.history-row{padding:12px 0;border-bottom:1px solid #edf1f5}.communication-item small,.history-row small{color:#738091}.communication-item p,.history-row p{margin:6px 0 0;white-space:pre-wrap}.history-row{display:flex;justify-content:space-between;gap:18px}.history-row small{white-space:nowrap}.communication-form{display:flex;flex-direction:column;gap:12px}
@media(max-width:1000px){.design-firm-summary-grid{grid-template-columns:1fr 1fr}.design-firm-two-col{grid-template-columns:1fr}.design-assignment-card{display:block}.design-assignment-form{grid-template-columns:1fr;margin-top:14px}.bid-detail-grid{grid-template-columns:1fr}}

/* V16.49: show contractor job number as secondary reference on Design Firm views */
.contractor-job-number{display:block;font-size:.78rem;color:#6b7280;font-weight:500;margin-top:4px;line-height:1.2}
.design-assignment-form label .contractor-job-number{margin-top:5px}

/* V16.50 design firm navigation, directories and scoped search */
.design-firm-global-search{margin-top:0}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.directory-card{display:flex;align-items:center;gap:12px;border:1px solid #dfe6eb;border-radius:11px;padding:14px;background:#fbfcfd}
.directory-avatar{width:42px;height:42px;border-radius:50%;background:#153247;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.directory-card small{display:block;color:#6b7888;margin-top:3px}
.designer-project-group{padding:10px 0;border-bottom:1px solid #edf1f5}.designer-project-group:last-child{border-bottom:0}.designer-project-group h3{margin:0 0 4px}
.contractor-directory-card{border:1px solid #dfe6eb;border-radius:11px;margin-top:12px;overflow:hidden;background:#fff}.contractor-directory-card summary{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;list-style:none}.contractor-directory-card summary::-webkit-details-marker{display:none}.contractor-directory-card summary small{display:block;color:#6b7888;margin-top:3px}.contractor-projects{padding:0 16px 12px 68px;border-top:1px solid #edf1f5}
@media(max-width:900px){.directory-grid{grid-template-columns:1fr}.contractor-projects{padding-left:16px}}

/* V16.51 Design Firm New Project */
.df-new-project-form{margin-top:18px}.form-grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.df-new-project-form label{display:flex;flex-direction:column;gap:6px;font-weight:600}.df-new-project-form input{width:100%;box-sizing:border-box}.external-contractor-box{margin-top:22px;padding:18px;border:1px solid #dfe5ec;border-radius:10px;background:#f8fafc}.external-contractor-box h3{margin:0 0 4px}.contractor-job-field{max-width:520px}.contractor-job-field small{font-weight:400;color:#697586}.button.secondary{display:inline-flex;align-items:center;text-decoration:none}@media(max-width:850px){.form-grid.two-col{grid-template-columns:1fr}}

/* V16.53 Design Firm My Jobs / All Jobs */
.project-view-tabs{display:flex;gap:8px;align-items:center}.project-view-tabs a{padding:9px 14px;border:1px solid #cbd5e1;border-radius:9px;text-decoration:none;color:#334155;font-weight:700;background:#fff}.project-view-tabs a.active{background:#111827;color:#fff;border-color:#111827}

/* V16.54 Design Firm navigation dropdown */
.side-nav-dropdown { margin: 0; }
.side-nav-dropdown summary { list-style: none; cursor: pointer; padding: 12px 16px; border-radius: 9px; color: inherit; font-weight: 600; }
.side-nav-dropdown summary::-webkit-details-marker { display: none; }
.side-nav-dropdown summary::after { content: '▾'; float: right; font-size: 12px; margin-top: 2px; }
.side-nav-dropdown:not([open]) summary::after { content: '›'; }
.side-nav-dropdown summary.active { background: rgba(255,255,255,.12); }
.side-nav-submenu { padding: 2px 0 6px 14px; }
.side-nav-submenu a { display: block; padding: 8px 14px; font-size: .93rem; }

/* V16.55 month / agenda calendar views */
.calendar-toolbar{flex-wrap:wrap}.calendar-view-toggle{display:flex;gap:4px;margin-left:auto;padding:3px;border:1px solid #d9e1e7;border-radius:8px;background:#f6f8fa}.calendar-view-btn{border:0;background:transparent;color:#596975;border-radius:6px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}.calendar-view-btn.active{background:#fff;color:#0b66e4;box-shadow:0 1px 3px #0002}.calendar-agenda{border:1px solid #dfe5e9;border-radius:9px;overflow:hidden;background:#fff;max-height:520px;overflow-y:auto}.agenda-date{padding:10px 13px;background:#f5f8fa;border-bottom:1px solid #e2e8ed;color:#41515d;font-size:13px;position:sticky;top:0;z-index:1}.agenda-event{display:flex;width:100%;gap:14px;align-items:flex-start;padding:12px 13px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;cursor:pointer}.agenda-event:hover{background:#f7faff}.agenda-time{width:105px;flex:0 0 105px;color:#0b66e4;font-size:11px;font-weight:800;line-height:1.35}.agenda-main{display:flex;flex-direction:column;gap:4px;min-width:0}.agenda-main strong{font-size:13px;color:#263742}.agenda-main small{color:#71808b;font-size:11px}.agenda-empty{padding:28px 16px;text-align:center;color:#77838c}@media(max-width:700px){.calendar-view-toggle{width:100%;margin-left:0}.calendar-view-btn{flex:1}.agenda-event{gap:9px}.agenda-time{width:82px;flex-basis:82px}}


/* V16.59 customizable design-firm bid tracker + calendar repair */
.bid-column-manager summary{display:flex;align-items:center;gap:12px;cursor:pointer}.bid-column-manager summary .muted{font-size:12px}.custom-column-list{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.custom-column-chip{display:flex;align-items:center;gap:14px;border:1px solid #dfe6eb;background:#f8fafb;border-radius:9px;padding:9px 11px}.custom-column-chip span{display:flex;flex-direction:column}.custom-column-chip small{color:#687783;margin-top:2px}.custom-column-chip form{margin:0}.custom-column-form{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:10px;align-items:end}.custom-column-form label{margin:0}.custom-column-form input,.custom-column-form select{margin:5px 0 0}.bid-table-card{padding:0;overflow:hidden}.bid-table-wrap{overflow-x:auto}.bid-tracker-table{width:100%;border-collapse:collapse;min-width:1050px}.bid-tracker-table th{background:#f5f8fa;text-align:left;font-size:12px;color:#53636f;padding:11px 10px;border-bottom:1px solid #dfe5e9;white-space:nowrap}.bid-tracker-table td{padding:10px;border-bottom:1px solid #edf1f4;vertical-align:middle}.custom-bid-cell input,.custom-bid-cell select{min-width:125px;margin:0;padding:8px}.currency-input{display:flex;align-items:center;border:1px solid #ccd5dc;border-radius:7px;background:#fff;min-width:135px}.currency-input span{padding-left:9px;color:#687783}.currency-input input{border:0;min-width:0;width:100%}.currency-input input:focus{outline:0}.compact-calendar .calendar-grid{min-height:672px}.compact-calendar .calendar-day{min-height:112px}@media(max-width:900px){.custom-column-form{grid-template-columns:1fr}.compact-calendar .calendar-grid{min-height:510px}.compact-calendar .calendar-day{min-height:85px}}
/* V16-61 spreadsheet-style design firm bid tracker */
.bid-sheet-card{padding:0;overflow:hidden}.bid-sheet-scroll{overflow:auto;max-width:100%;border-top:1px solid #dbe2e8}.bid-sheet-table{border-collapse:separate;border-spacing:0;min-width:1450px;width:max-content;background:#fff}.bid-sheet-table th,.bid-sheet-table td{border-right:1px solid #dfe5ea;border-bottom:1px solid #e7ecef;padding:0;height:39px;white-space:nowrap}.bid-sheet-table th{position:sticky;top:0;z-index:5;background:#f5f7f9;color:#485762;font-size:12px;font-weight:600;padding:8px 10px;text-align:center}.bid-sheet-table td{font-size:12px;background:#fff}.bid-sheet-table tbody tr:hover td{background:#f8fbff}.bid-sheet-table input,.bid-sheet-table select{height:38px;border:0;border-radius:0;background:transparent;margin:0;padding:7px 9px;font-size:12px;min-width:105px;width:100%;box-sizing:border-box}.bid-sheet-table input:focus,.bid-sheet-table select:focus{outline:2px solid #1773e6;outline-offset:-2px;background:#fff}.bid-sheet-table .sheet-project input{min-width:260px;font-weight:600}.sheet-rownum{position:sticky;left:0;z-index:3;min-width:38px;width:38px;text-align:center!important;color:#7a8790;background:#f8fafb!important}.bid-sheet-table th.sheet-rownum{z-index:8}.sheet-bidno{position:sticky;left:38px;z-index:3;min-width:86px;width:86px;padding:0 9px!important;background:#fff!important}.bid-sheet-table th.sheet-bidno{z-index:8;background:#f5f7f9!important}.sheet-project{position:sticky;left:124px;z-index:2;min-width:280px;background:#fff!important}.bid-sheet-table th.sheet-project{z-index:7;background:#f5f7f9!important}.sheet-contractor{min-width:190px;padding:0 10px!important}.sheet-money{display:flex;align-items:center;height:38px;min-width:120px}.sheet-money span{padding-left:8px;color:#657580}.sheet-money input{min-width:85px!important;padding-left:4px!important}.custom-bid-cell input,.custom-bid-cell select{min-width:120px!important}.sheet-open,.sheet-save{display:inline-flex;align-items:center;justify-content:center;height:28px;margin:5px 7px;padding:0 10px;border-radius:5px;font-size:11px;font-weight:700;text-decoration:none}.sheet-open{border:1px solid #b9c6d0;color:#1769c2;background:#fff}.sheet-save{border:0;color:#fff;background:#126fe5;cursor:pointer}.bid-sheet-table tfoot td{height:36px;background:#f5f7f9;padding:0 9px;text-align:right}.bid-sheet-table tfoot .sheet-project{text-align:left}.sheet-add-row{display:flex;align-items:center;gap:14px;padding:9px 14px;background:#fafbfd;border-top:1px solid #e3e9ed}.sheet-add-row a{font-weight:700;text-decoration:none;color:#1769c2}.sheet-add-row span{font-size:11px;color:#74818a}.sheet-empty{padding:20px!important;text-align:center;color:#74818a}.bid-sheet-toolbar{margin-bottom:12px}

/* V16.62: cleaner design-firm project rows + project calendar */
.design-project-row-clean .grow{min-width:0}.project-name-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-name-status .project-title-link{min-width:0}.project-name-status .status{margin-left:0;white-space:nowrap}.design-project-row-clean{padding-left:16px}.project-calendar-card{margin-top:14px}.project-calendar-project-label{padding:10px 12px;margin-bottom:12px;background:#f7f9fc;border:1px solid #e0e6ef;border-radius:8px}

/* V16.64 calculated bid spreadsheet cells */
.formula-cell{min-width:110px;padding:8px 10px;background:#f3f8ff;border:1px solid #d8e7ff;border-radius:6px;font-weight:700;color:#0b4f9c;white-space:nowrap}
.formula-readonly{background:#f3f4f6!important;color:#667085!important;font-style:italic}

/* V16-65 Canopy Axis branding */
.brand-tagline{margin:8px 0 18px;color:#fff;font-size:24px;font-weight:700;letter-spacing:.01em}.hero h1{margin-bottom:0}.login-card .help strong{font-size:15px}
