.modal-open{overflow:hidden}.projects-hero{background:linear-gradient(120deg,#071a2f 0%,#0b3454 62%,#0f527a 100%);color:#fff;border-radius:9px;padding:27px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 14px #071a2f24}.projects-hero small{color:#6cc8f0;font-size:10px;font-weight:800;letter-spacing:1.5px}.projects-hero h2{font-size:30px;margin:5px 0}.projects-hero p{margin:0;color:#c9dae7}.new-project-btn{background:#fff;color:#0c5da6;border:0;border-radius:6px;padding:14px 19px;font-weight:800;cursor:pointer}.project-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:14px}.project-metrics article{background:#fff;border:1px solid var(--border);border-radius:7px;padding:15px 17px;border-top:3px solid var(--blue)}.project-metrics span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1px}.project-metrics strong{display:block;font-size:27px;margin:3px 0;color:var(--navy)}.project-metrics small{color:#8b9ba8}.projects-tools{margin-top:14px;padding:13px 16px;display:grid;grid-template-columns:2fr 1fr;gap:15px}.projects-tools label{font-size:11px;color:var(--muted);font-weight:800}.projects-tools input,.projects-tools select{display:block;width:100%;height:37px;border:1px solid #bfd0dc;border-radius:5px;background:#fff;padding:0 10px;margin-top:5px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(285px,1fr));gap:14px;margin-top:14px}.project-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:17px;box-shadow:0 2px 7px #071a2f0b;position:relative}.project-card:hover{border-color:#92b8d5;box-shadow:0 5px 15px #071a2f14}.project-card-top{display:flex;justify-content:space-between}.status{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;padding:5px 9px;border-radius:12px}.status-draft{background:#eef2f5;color:#66798a}.status-quoted{background:#e7f2ff;color:#126bc0}.status-approved{background:#e6f7ef;color:#087a57}.status-completed{background:#eae9fb;color:#5544a3}.project-menu{border:0;background:none;color:#7d91a2;font-weight:900;cursor:pointer}.project-identifiers{margin-top:13px;display:flex;justify-content:space-between;align-items:end}.project-identifiers>strong{color:var(--blue);font-size:12px}.project-identifiers label{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.project-identifiers input{display:block;width:108px;border:0;border-bottom:1px solid #b9cbd8;color:var(--text);font-weight:800;text-align:right;padding:3px}.project-card h3{font-size:19px;margin:13px 0 4px}.client-name{margin:0;color:#35536c;font-weight:700;font-size:12px}.project-location{margin-top:12px;color:#60798d;font-size:12px}.project-desc{font-size:12px;line-height:1.5;color:#526a7d;height:55px;overflow:hidden}.project-card-meta{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #e3eaf0;padding-top:11px;color:#6d8293;font-size:10px}.project-card-actions{display:flex;gap:6px;margin-top:13px}.project-card-actions button{border:1px solid #b9ccda;background:#f8fbfd;color:#23506f;border-radius:4px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.project-card-actions button:first-child{background:var(--blue);border-color:var(--blue);color:#fff}.project-card-actions .danger-link{margin-left:auto;background:#fff;color:#954052;border-color:#e1cbd0}.projects-empty{text-align:center;background:#fff;border:1px dashed #b6c9d7;border-radius:8px;padding:55px 20px;margin-top:14px}.projects-empty>div{font-size:40px;color:#8eb3ce}.projects-empty h3{margin:9px 0 5px}.projects-empty p{color:var(--muted)}.project-modal{position:fixed;inset:0;z-index:50;background:#051321b8;backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:28px;overflow:auto}.project-dialog{width:min(1120px,100%);background:#f4f8fb;border-radius:10px;box-shadow:0 25px 70px #0007;overflow:hidden}.project-dialog-head{background:linear-gradient(110deg,#071a2f,#0b3c60);color:#fff;padding:21px 26px;display:flex;justify-content:space-between;align-items:flex-start}.project-dialog-head small{font-size:9px;color:#69c5ee;font-weight:900;letter-spacing:1.4px}.project-dialog-head h2{margin:4px 0;font-size:25px}.project-dialog-head p{margin:0;color:#b9cfdf;font-size:12px}.project-dialog-head>button{border:1px solid #55758d;background:#ffffff12;color:#fff;width:35px;height:35px;border-radius:50%;font-size:23px;cursor:pointer}.project-dialog form{padding:18px}.form-section{background:#fff;border:1px solid var(--border);border-radius:7px;display:grid;grid-template-columns:52px 1fr;margin-bottom:13px;overflow:hidden}.section-number{background:#eaf2f8;color:var(--blue);font-size:13px;font-weight:900;padding-top:20px;text-align:center}.section-content{padding:18px 20px}.section-content h3{font-size:17px;margin:0 0 14px}.form-grid{display:grid;gap:13px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.section-content label{font-size:11px;color:#536b7e;font-weight:800}.section-content input,.section-content select,.section-content textarea{display:block;width:100%;border:1px solid #bdcdda;border-radius:5px;margin-top:5px;padding:9px 10px;background:#fff;color:var(--text);font:13px Arial}.section-content textarea{resize:vertical}.scope-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.scope-head{display:flex;justify-content:space-between;align-items:center}.scope-head h3{margin:0}.scope-head button{border:0;background:none;color:var(--blue);font-weight:800;cursor:pointer}.scope-list{margin-top:10px}.scope-row{display:grid;grid-template-columns:15px 1fr 27px;align-items:center;margin-bottom:7px}.scope-row>span{color:var(--blue);font-size:20px}.scope-row input{margin:0}.scope-row button{border:0;background:none;color:#8b5160;font-size:18px;cursor:pointer}.section-help{font-size:12px;color:var(--muted);margin-top:-8px}.drop-zone{border:2px dashed #9bbbd1;background:#f6fbff;border-radius:8px;padding:27px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#42637b}.drop-zone.dragging{border-color:var(--blue);background:#e9f5ff}.drop-zone input{display:none}.drop-icon{font-size:30px;color:var(--blue)}.drop-zone span{font-size:11px;margin-top:5px;color:#7890a2}.picture-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:12px}.picture-preview figure{margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;position:relative;background:#fff}.picture-preview img{width:100%;height:100px;object-fit:cover;display:block}.picture-preview figcaption{padding:6px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picture-preview button{position:absolute;right:4px;top:4px;width:24px;height:24px;border:0;border-radius:50%;background:#071a2fcc;color:#fff;cursor:pointer}.project-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:5px 0 2px}.save-project{border:0;border-radius:6px;background:var(--blue);color:#fff;padding:12px 22px;font-weight:800;cursor:pointer}@media(max-width:1050px){.projects-grid{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.projects-hero{align-items:flex-start;flex-direction:column}.project-metrics{grid-template-columns:repeat(2,1fr)}.projects-tools,.projects-grid,.scope-columns,.form-grid.three{grid-template-columns:1fr}.project-modal{padding:0}.project-dialog{border-radius:0}.form-section{grid-template-columns:35px 1fr}.section-content{padding:14px}.picture-preview{grid-template-columns:repeat(2,1fr)}}
.project-card-actions button[data-download-word]{background:#0b5cab;color:#fff;border-color:#0b5cab;font-weight:700}
.project-card-actions button[data-download-word]:hover{background:#084b8c}
.project-card-actions button[data-download-word]:disabled{background:#c7d1dc;border-color:#c7d1dc;color:#687785;cursor:not-allowed;opacity:.8}

/* Compact project overview card */
.project-card-compact{padding:18px;display:flex;flex-direction:column;min-height:360px}
.project-card-compact.project-completed{border:2px solid #15956c;background:linear-gradient(180deg,#f2fff9,#e9faf3)}
.project-card-compact .completed-ribbon,.project-card-compact .project-identifiers,.project-card-compact .commercial-refs,.project-card-compact>h3,.project-card-compact .client-name,.project-card-compact .project-location,.project-card-compact .project-desc,.project-card-compact .project-estimate-summary,.project-card-compact .project-estimate-empty,.project-card-compact .project-card-meta{display:none!important}
.project-card-compact .project-card-top{align-items:flex-start;margin-bottom:15px}
.project-card-compact .project-card-top>div{display:flex;flex-direction:column;gap:7px}
.project-card-compact .card-field-label,.project-card-compact .project-card-field small{display:block;font-size:9px;letter-spacing:1px;font-weight:900;color:#718696;margin-bottom:5px}
.project-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:18px}
.project-card-field{border:1px solid #c9d8e3;border-radius:6px;background:#f8fbfd;padding:11px 12px;min-width:0}
.project-card-field.full{grid-column:1/-1}
.project-card-field strong{display:block;color:#17324d;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.project-card-field.total-field{grid-column:1/-1;background:#eef8f4;border-color:#a9d9c7;text-align:right}
.project-card-field.total-field strong{font-size:22px;color:#07845e}
.project-card-compact .project-card-actions{margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.project-card-compact .project-card-actions button{width:100%;min-height:36px;padding:8px 6px}
.project-card-compact .project-card-actions .danger-link{margin-left:0;grid-column:1/-1}
.project-card-actions button[data-download-pdf]{background:#087a57;color:#fff;border-color:#087a57;font-weight:700}
.project-card-actions button[data-download-pdf]:hover{background:#056745}
.project-card-actions button[data-download-pdf]:disabled{background:#c7d1dc;border-color:#c7d1dc;color:#687785;cursor:not-allowed;opacity:.8}
@media(max-width:700px){.project-card-fields,.project-card-compact .project-card-actions{grid-template-columns:1fr}.project-card-field.full,.project-card-field.total-field,.project-card-compact .project-card-actions .danger-link{grid-column:auto}}

/* v1.0.1 compact project cards */
.projects-grid{grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px}
.project-card-v101{min-height:0!important;padding:14px 15px 13px!important}
.project-card-v101 .compact-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 10px!important}
.project-card-v101 .compact-card-head .status{justify-self:start;white-space:nowrap}
.project-card-v101 .compact-quote{text-align:right;min-width:0}
.project-card-v101 .compact-quote small{display:block;color:#718696;font-size:8px;line-height:1;letter-spacing:1px;font-weight:900}
.project-card-v101 .compact-quote strong{display:block;color:#17324d;font-size:12px;line-height:1.2;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-card-v101 .project-menu{padding:2px 0 2px 5px;line-height:1}
.project-card-v101 .compact-project-main{padding:10px 0;border-top:1px solid #e1e9ef;border-bottom:1px solid #e1e9ef}
.project-card-v101 .compact-project-main h3{display:block!important;margin:0 0 3px!important;font-size:17px;line-height:1.2;color:#17324d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-card-v101 .compact-company{display:block!important;margin:0!important;color:#536d80;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-card-v101 .compact-meta{margin-top:8px;display:flex;gap:12px}
.project-card-v101 .compact-meta span{min-width:0}
.project-card-v101 .compact-meta small{display:block;color:#718696;font-size:8px;letter-spacing:.9px;font-weight:900}
.project-card-v101 .compact-meta strong{display:block;color:#17324d;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-card-v101 .compact-total{display:flex;align-items:end;justify-content:space-between;gap:12px;background:#eef8f4;border:1px solid #acd9c8;border-radius:5px;padding:8px 10px;margin-top:10px}
.project-card-v101 .compact-total small{color:#718696;font-size:8px;letter-spacing:1px;font-weight:900}
.project-card-v101 .compact-total strong{color:#07845e;font-size:19px;line-height:1;white-space:nowrap}
.project-card-v101 .compact-actions{margin-top:10px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.project-card-v101 .compact-actions button{min-height:31px!important;padding:6px 4px!important;font-size:9px!important;white-space:nowrap}
.project-card-v101 .compact-actions button:nth-child(1),.project-card-v101 .compact-actions button:nth-child(2){grid-column:span 2}
.project-card-v101 .compact-actions .danger-link{grid-column:1/-1!important;min-height:28px!important}
.project-card-v101.project-completed{border-width:2px}
@media(min-width:1450px){.projects-grid{grid-template-columns:repeat(4,minmax(250px,1fr))}}
@media(max-width:1050px){.projects-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}
@media(max-width:700px){.projects-grid{grid-template-columns:1fr}.project-card-v101 .compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.project-card-v101 .compact-actions button:nth-child(1),.project-card-v101 .compact-actions button:nth-child(2){grid-column:auto}.project-card-v101 .compact-actions .danger-link{grid-column:1/-1!important}}
