:root{--bg:#080b10;--panel:#10151d;--panel2:#151b24;--panel3:#1a212c;--line:#28313e;--line2:#364253;--txt:#f5f7fa;--muted:#8f9baa;--soft:#c7ced8;--accent:#e8edf3;--good:#77d49a;--warn:#e0b35b;--bad:#d96b6b;--blue:#506987;--shadow:0 18px 50px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{background:var(--bg);overflow-y:scroll;scrollbar-gutter:stable}body{margin:0;background:linear-gradient(180deg,#090c11 0,#080b10 260px);color:var(--txt);font-family:Arial,Helvetica,sans-serif;font-size:14px}.topbar{min-height:68px;background:rgba(8,11,16,.96);backdrop-filter:blur(12px);border-bottom:1px solid #1e2631;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:30}.brand{display:flex;gap:13px;align-items:center;color:white;text-decoration:none}.brandtext{display:flex;flex-direction:column;line-height:1.05}.brandtext b{font-size:14px;letter-spacing:.01em}.brandtext small{font-size:9px;color:#7f8997;text-transform:uppercase;letter-spacing:.14em;margin-top:5px}.mark{font-size:14px;line-height:1;letter-spacing:-1.2px;border:2px solid #fff;padding:5px 6px;font-weight:900}.topbar nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.topbar nav a{color:#aeb7c3;text-decoration:none;font-size:12px;padding:9px 10px;border-radius:3px}.topbar nav a:hover{color:white;background:#121821}.shell{max-width:1760px;margin:auto;padding:42px 34px 78px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;color:#8390a0;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.pagehead h1{font-size:38px;line-height:1;margin:8px 0 0;letter-spacing:-.035em}.btn,button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#eef2f6;color:#090c11;border:1px solid #eef2f6;padding:9px 14px;font:700 12px Arial,sans-serif;text-decoration:none;cursor:pointer;border-radius:2px;transition:.15s ease}.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(.97)}.btn.ghost{background:transparent;color:#e6eaf0;border-color:#5c6878}.btn.small,button.small{padding:6px 9px;font-size:11px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:linear-gradient(180deg,#111720,#0f141b);border:1px solid var(--line);padding:21px;box-shadow:var(--shadow)}.card h2{font-size:18px;margin:4px 0 16px}.stat{grid-column:span 3;box-shadow:none;background:#0e131a;min-height:100px}.stat b{font-size:30px;display:block;margin-top:10px;letter-spacing:-.03em}.muted{color:var(--muted)}.mini{font-size:11px}.metrics{grid-template-columns:repeat(15,1fr);margin-bottom:24px}.metrics .stat{grid-column:span 3}.hero{padding:30px 32px;background:radial-gradient(circle at 75% 50%,rgba(80,105,135,.14),transparent 36%),linear-gradient(90deg,#121a25,#0e131a);border:1px solid #293647;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.hero.compact{padding:24px 28px}.hero h2{font-size:28px;margin:5px 0 8px;letter-spacing:-.03em}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.kpi{font-size:12px;color:#9ba6b5}.pipeline{display:grid;grid-template-columns:repeat(9,minmax(220px,1fr));gap:10px;overflow-x:auto;padding:2px 1px 16px;scrollbar-color:#3b4655 #10151c}.stage{background:#0c1117;border:1px solid #222b37;min-height:520px;overflow:hidden}.stagehead{height:48px;padding:8px 11px;border-bottom:1px solid #26303d;background:#0f151d;display:flex;gap:9px;align-items:center;position:relative;z-index:1}.stage-num{font-size:16px;font-weight:900;color:#56677c;letter-spacing:-.04em;line-height:1}.stagehead strong{display:block;font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stagehead span{color:#788595;font-size:9px;display:block;margin-top:3px}.project{margin:8px;padding:12px;background:linear-gradient(180deg,#171e28,#141a23);border:1px solid #2b3644;box-shadow:0 8px 20px rgba(0,0,0,.18)}.project:hover{border-color:#435166}.project-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.project-id,.project-number{font-size:10px;color:#bac4d1;border:1px solid #425064;background:#111720;padding:4px 6px;letter-spacing:.04em;font-weight:700;white-space:nowrap}.project .value{font-size:11px;color:#e4e9ef;font-weight:700}.project h3{font-size:14px;line-height:1.26;margin:0 0 8px}.project p{font-size:11px;line-height:1.35;margin:4px 0;color:#9ea8b5}.project p.client{color:#d5dae1;font-weight:700}.project p.event{margin-top:9px;padding-top:8px;border-top:1px solid #28313d}.project .row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:11px}.stage-switch select{padding:6px 24px 6px 7px;font-size:10px;width:auto}.badge{font-size:9px;border:1px solid #4b5767;padding:4px 7px;text-transform:uppercase;letter-spacing:.08em}.badge.incoming{border-color:#3e6651;color:#9fe0b7}.badge.outgoing{border-color:#53677f;color:#aac3df}.tablewrap{overflow:auto;border:1px solid var(--line);background:var(--panel)}table{border-collapse:collapse;width:100%;background:#0f141b}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #252e3a;font-size:12px;vertical-align:middle}th{background:#151b24;color:#aeb8c5;font-size:10px;text-transform:uppercase;letter-spacing:.08em;position:sticky;top:0}tr:hover td{background:#121821}.empty{text-align:center;color:var(--muted);padding:42px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.formgrid .full{grid-column:1/-1}label{display:block;font-size:11px;color:#aeb8c5;margin-bottom:6px;font-weight:700}input,select,textarea{width:100%;background:#0a0e13;color:white;border:1px solid #344051;padding:10px 11px;border-radius:2px;outline:none}input:focus,select:focus,textarea:focus{border-color:#6d7e93;box-shadow:0 0 0 2px rgba(109,126,147,.09)}input[readonly]{color:#929ead;background:#0c1016}textarea{min-height:120px;resize:vertical}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form-actions{margin-top:18px}.flash{margin:0 0 18px;padding:12px 14px;border:1px solid #375846;background:#14241b;color:#bde4ca}.flash.err{border-color:#6a3c3c;background:#251616;color:#efb4b4}.timeline-list{display:flex;flex-direction:column;gap:12px}.mailitem{padding:15px 16px;border:1px solid #27313e;background:#0d1218}.mailitem:last-child{margin-bottom:0}.mailmeta{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.mailhead{display:flex;align-items:center;gap:9px;min-width:0}.mailhead b{font-size:13px;line-height:1.35}.maildate{font-size:11px;color:#8d99a8;white-space:nowrap;padding-top:2px}.mailroute{color:#8f9baa;font-size:11px;line-height:1.45;margin-top:8px;padding-left:1px}.mailbody{white-space:pre-wrap;color:#c8d0da;margin-top:13px;line-height:1.62}.noteitem{border-left:2px solid #68778a;background:#10151c}.timeline-empty{padding:28px;text-align:center;color:#7f8b99;border:1px dashed #303b49}.attachment-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.attachment-chip{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:#cbd2dc;background:#151c25;border:1px solid #334052;padding:6px 8px}.attachment-chip small{color:#7f8b99}.login{max-width:430px;margin:10vh auto;background:#111720;border:1px solid #2c3745;padding:32px;box-shadow:var(--shadow)}.login h1{margin-top:16px}.project-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:-6px 0 18px;padding:13px 15px;background:#0d1218;border:1px solid #252f3b}.status-pill{display:inline-block;margin-left:7px;padding:4px 7px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border:1px solid #455164}.status-active{color:#aee4bd;border-color:#41644c}.status-on_hold{color:#e9c77e;border-color:#67572f}.status-archived{color:#d6a0a0;border-color:#673e3e}.project-details{grid-column:span 5}.timeline-card{grid-column:span 7}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.section-title h2{margin:4px 0 0}.noteform{background:#0c1117;border:1px solid #26303d;padding:14px;margin-bottom:10px}.noteform textarea{min-height:78px;margin-bottom:9px}.warnbtn{border-color:#725d31!important;color:#efca7d!important}.dangerbtn{border-color:#713e3e!important;color:#e5a3a3!important}.compose-card{max-width:850px;margin:auto}.messagebox{min-height:330px}.uploadbox{padding:13px;border:1px dashed #455164;background:#0c1117}.uploadbox input[type=file]{border:0;padding:0;background:transparent;margin-bottom:8px}.projects-layout .new-project{grid-column:span 4}.projects-layout .project-table{grid-column:span 8}.project-kicker{font-size:10px;color:#8d9bab;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}footer{padding:20px 34px;border-top:1px solid #1d2530;color:#687585;font-size:10px;display:flex;justify-content:space-between;gap:15px;max-width:1760px;margin:auto}
@media(max-width:1100px){.topbar{align-items:flex-start;padding:14px 18px;gap:12px;flex-direction:column}.topbar nav{justify-content:flex-start}.shell{padding:30px 18px 60px}.metrics{grid-template-columns:repeat(10,1fr)}.metrics .stat{grid-column:span 5}.project-details,.timeline-card,.projects-layout .new-project,.projects-layout .project-table{grid-column:span 12}}
@media(max-width:700px){.topbar nav{gap:0}.topbar nav a{font-size:11px;padding:7px}.pagehead{align-items:flex-start}.pagehead h1{font-size:30px}.hero{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(12,1fr)}.metrics .stat{grid-column:span 6}.formgrid{grid-template-columns:1fr}.project-summary{align-items:flex-start;flex-direction:column}.mailmeta{flex-direction:column;gap:7px}.maildate{padding-top:0}footer{flex-direction:column}.section-title{flex-direction:column}}
@media(max-width:480px){.metrics .stat{grid-column:span 12}.shell{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px}.hero{padding:22px}.card{padding:16px}}
.contacts-layout .contact-add{grid-column:span 4}.contacts-layout .contact-list{grid-column:span 8}.smalltextarea{min-height:78px}.soft-rule{border:0;border-top:1px solid #27313e;margin:24px 0}.subhead{font-size:13px;margin:4px 0 10px}.mail-subhead{margin-top:24px}.linked-list{display:flex;flex-direction:column;border:1px solid #26303d;background:#0c1117}.linked-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 13px;border-bottom:1px solid #26303d;color:var(--txt);text-decoration:none}.linked-row:last-child{border-bottom:0}a.linked-row:hover{background:#121821}.contacts-layout table td{vertical-align:top}
@media(max-width:1100px){.contacts-layout .contact-add,.contacts-layout .contact-list{grid-column:span 12}}
.reply-context{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;margin:14px 0;background:#0c1117;border:1px solid #2b3644}.reply-context strong{display:block;font-size:12px;margin:1px 0 5px}.timeline-list .mailitem:first-child{border-color:#3c4b5d;background:#101720}.timeline-list .mailitem:first-child .maildate{color:#c0cad5}.mailbody{overflow-wrap:anywhere}.mailbody:empty:after{content:'(No message text)';color:#758292;font-style:italic}
/* v1.5 project status, project files, backup and responsive refinements */
.project.attention-green{border-left:3px solid var(--good)}.project.attention-amber{border-left:3px solid var(--warn)}.project.attention-red{border-left:3px solid var(--bad)}
.attention-row{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #28313d;font-size:10px;color:#9ca7b5}.attention-row form{display:flex;gap:5px}.attention-dot{width:17px;height:17px;min-width:17px;padding:0;border-radius:50%;border:2px solid transparent;box-shadow:none;transform:none!important}.attention-dot.green{background:var(--good)}.attention-dot.amber{background:var(--warn)}.attention-dot.red{background:var(--bad)}.attention-dot.selected{outline:2px solid #fff;outline-offset:2px}.attention-dot:hover{filter:brightness(1.12)}
.attention-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #44505e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.attention-badge.green{color:#9ee5b5;border-color:#3d664c;background:#102018}.attention-badge.amber{color:#f0cd80;border-color:#6f5c30;background:#211b0f}.attention-badge.red{color:#f1a4a4;border-color:#734242;background:#241313}.statuslink{padding-inline:8px}
.status-layout{display:grid;grid-template-columns:minmax(360px,0.9fr) minmax(460px,1.1fr);gap:18px}.status-project-list{display:flex;flex-direction:column;gap:8px}.status-project-row{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #293442;background:#0c1117;color:var(--txt);text-decoration:none}.status-project-row:hover,.status-project-row.active{background:#121923;border-color:#46566a}.traffic-dot{width:13px;height:13px;border-radius:50%;flex:0 0 13px}.traffic-dot.green{background:var(--good)}.traffic-dot.amber{background:var(--warn)}.traffic-dot.red{background:var(--bad)}.status-project-main{min-width:0;display:flex;flex:1;flex-direction:column;gap:4px}.status-project-main strong{font-size:12px}.status-project-main span,.status-project-main small{color:#8f9baa;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-note-form{padding:14px;border:1px solid #2a3542;background:#0c1117}.status-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 14px}.status-option{display:flex;align-items:center;gap:8px;border:1px solid #344151;padding:10px;margin:0;cursor:pointer;background:#10161e}.status-option input{display:none}.status-option span{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.status-option.green span{background:var(--good)}.status-option.amber span{background:var(--warn)}.status-option.red span{background:var(--bad)}.status-option:has(input:checked){outline:2px solid #74859a;outline-offset:1px}.status-note-form textarea{min-height:100px;margin-bottom:10px}.status-history{margin-top:18px}.status-history h3{font-size:13px}.status-history-item{padding:13px 0;border-top:1px solid #27313e;line-height:1.55}.status-history-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.status-history-head time{color:#7f8b99;font-size:10px}
.project-files{margin-top:26px;padding-top:22px;border-top:1px solid #2a3340}.project-upload{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px;border:1px dashed #445263;background:#0c1117}.project-upload .mini{grid-column:1/-1}.project-file-list{margin-top:12px}.project-file-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid #28323f;border-bottom:0;background:#0d1218}.project-file-row:last-child{border-bottom:1px solid #28323f}.project-file-row>div:first-child{min-width:0;display:flex;flex-direction:column;gap:4px}.project-file-row strong{font-size:11px;overflow-wrap:anywhere}.project-file-row span{font-size:10px;color:#7f8b99}
.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.backup-note{margin-top:18px;padding:12px;background:#0c1117;border:1px solid #2d3744;color:#9aa6b5;font-size:11px;line-height:1.55}.backup-note code{color:#d6dde6}
@media(max-width:1200px){.status-layout{grid-template-columns:1fr}.backup-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(9,minmax(205px,1fr))}}
@media(max-width:760px){body{font-size:13px}.topbar{position:static}.topbar nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.topbar nav a{white-space:nowrap}.shell{padding-top:24px}.pagehead{flex-direction:column;gap:14px}.sync{width:100%}.sync .btn{width:100%}.pipeline{display:flex;flex-direction:column;overflow:visible}.stage{min-height:0}.stagehead{height:44px}.project{margin:7px}.project .row{align-items:flex-start;flex-direction:column}.stage-switch,.stage-switch select{width:100%}.status-choice{grid-template-columns:1fr}.project-upload{grid-template-columns:1fr}.project-upload button{width:100%}.project-file-row{align-items:flex-start;flex-direction:column}.project-file-row .actions{width:100%}.project-file-row .actions .btn,.project-file-row .actions form,.project-file-row .actions button{flex:1}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tablewrap table{min-width:760px}.mailroute{overflow-wrap:anywhere}.status-project-row{align-items:flex-start;flex-wrap:wrap}.status-project-row .attention-badge{margin-left:24px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.project-summary{font-size:12px}}
@media(max-width:520px){.pagehead h1{font-size:27px}.hero h2{font-size:23px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.project-top{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions>.btn,.actions>button{flex:1}.form-actions{flex-direction:column;align-items:stretch}.form-actions .btn,.form-actions button{width:100%}.mailitem{padding:12px}.status-project-row .attention-badge{margin-left:0}.project-file-row .actions{flex-direction:column}.project-file-row .actions .btn,.project-file-row .actions form,.project-file-row .actions button{width:100%}}


/* v1.6 invoices and message-action controls */
.invoice-btn{background:#eef2f6!important;color:#0a0d12!important;border-color:#eef2f6!important}.invoice-layout{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(340px,.75fr);gap:18px}.invoice-list{display:flex;flex-direction:column;gap:9px}.invoice-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #2b3542;background:#0c1117;padding:13px}.invoice-row>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}.invoice-row strong{font-size:12px}.invoice-row span,.invoice-row small{font-size:10px;color:#8e9aa9}.stage-badge{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #48586b;color:#c7d0db;background:#111821;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.status-stage-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:7px 0 8px}.status-row-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}.incoming-review{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #26303b}.message-state{display:inline-flex;padding:4px 7px;border:1px solid #465365;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.message-state.unread{color:#f1c46f;border-color:#6d572c}.message-state.read{color:#a9c8e6;border-color:#435f79}.message-state.responded{color:#a8dfb7;border-color:#3e6548}.message-status-buttons{display:flex;gap:7px;align-items:center}.message-status-buttons button{padding:6px 9px;font-size:10px;background:transparent}.message-status-buttons .ghost-status{color:#d2b064;border-color:#6d572c}.message-status-buttons .read-status{color:#a9c8e6;border-color:#435f79}.message-status-buttons .responded-status{color:#a8dfb7;border-color:#3e6548}.email-action-list{display:flex;flex-direction:column;gap:10px}.email-action-card{padding:16px}.email-action-card.status-unread{border-left:3px solid #b88632}.email-action-card.status-read{border-left:3px solid #4e718f}.email-action-card.status-responded{border-left:3px solid #477354}.email-action-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.email-action-head>div:first-child{display:flex;flex-direction:column;gap:6px}.email-action-head strong{font-size:13px}.email-action-preview{margin:13px 0;color:#bbc4ce;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.email-action-card .message-status-buttons{padding-top:11px;border-top:1px solid #27313e}
@media(max-width:1100px){.invoice-layout{grid-template-columns:1fr}}
@media(max-width:760px){.invoice-row,.email-action-head,.incoming-review{align-items:flex-start;flex-direction:column}.status-row-badges{margin-left:24px}.message-status-buttons{width:100%;flex-wrap:wrap}.message-status-buttons button{flex:1}.invoice-row .actions{width:100%}.invoice-row .actions .btn{flex:1}}
@media(max-width:520px){.status-row-badges{margin-left:0}.invoice-row .actions{flex-direction:column}.invoice-row .actions .btn{width:100%}.email-action-card{padding:12px}}


/* v1.7 ten-stage 1080p pipeline, hover project preview and CRM branding */
.brand-logo-wrap{display:flex;align-items:center;justify-content:center;max-width:118px;height:42px;overflow:hidden}.brand-logo{display:block;max-width:118px;max-height:38px;width:auto;height:auto;object-fit:contain}.logo-upload-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px solid #303b49;background:#0c1117}.logo-preview{display:flex;align-items:center;justify-content:center;width:180px;min-height:70px;padding:10px;background:#080b10;border:1px solid #27313d}.logo-preview img{max-width:158px;max-height:62px;object-fit:contain}.logo-placeholder{color:#7f8b99;font-size:11px;padding:12px;border:1px dashed #3a4554}.logo-upload-panel input[type=file]{flex:1;min-width:240px}
.project-hover-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(2,4,7,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility .14s ease}.project-hover-overlay.show{opacity:1;visibility:visible}.project-hover-modal{width:min(760px,calc(100vw - 56px));max-height:min(720px,calc(100vh - 56px));overflow:auto;background:linear-gradient(180deg,#141b24,#0e141b);border:1px solid #536176;box-shadow:0 34px 100px rgba(0,0,0,.64);padding:24px;pointer-events:auto;cursor:pointer}.project-hover-modal:hover{border-color:#7a8ca4}.preview-loading{padding:46px;text-align:center;color:#8995a4}.preview-open-hint{margin-top:18px;padding-top:13px;border-top:1px solid #2a3542;color:#8e9baa;font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-align:center}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.preview-head>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.project-hover-modal h2{font-size:26px;margin:16px 0 18px;letter-spacing:-.025em}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview-grid>div{padding:11px 12px;border:1px solid #293442;background:#0b1016;min-width:0}.preview-grid span,.preview-section>span{display:block;color:#7f8b99;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.preview-grid strong{display:block;font-size:11px;overflow-wrap:anywhere}.preview-section{margin-top:12px;padding:13px;border:1px solid #293442;background:#0b1016}.preview-section strong{font-size:12px}.preview-section p{margin:8px 0 0;color:#b7c0cb;line-height:1.5;white-space:normal}.preview-section.latest{border-color:#35465a}
@media(min-width:1500px){body.pipeline-screen .shell{max-width:1920px;padding:24px 18px 64px}body.pipeline-screen .pagehead{margin-bottom:15px}body.pipeline-screen .pagehead h1{font-size:31px}body.pipeline-screen .hero{padding:17px 20px;margin-bottom:13px}body.pipeline-screen .hero h2{font-size:23px;margin:4px 0 5px}body.pipeline-screen .hero-actions .btn{padding:7px 10px;font-size:10px}body.pipeline-screen .metrics{gap:9px;margin-bottom:13px}body.pipeline-screen .metrics .stat{min-height:72px;padding:12px 14px}body.pipeline-screen .metrics .stat b{font-size:23px;margin-top:5px}body.pipeline-screen .pipeline{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;overflow-x:visible;padding-bottom:8px}body.pipeline-screen .stage{min-width:0;min-height:520px}body.pipeline-screen .stagehead{height:43px;padding:6px 7px;gap:6px}body.pipeline-screen .stage-num{font-size:14px}body.pipeline-screen .stagehead strong{font-size:9px}body.pipeline-screen .stagehead span{font-size:8px;margin-top:2px}body.pipeline-screen .project{margin:5px;padding:8px}body.pipeline-screen .project-top{margin-bottom:6px}body.pipeline-screen .project-id{font-size:8px;padding:3px 4px;max-width:112px;overflow:hidden;text-overflow:ellipsis}body.pipeline-screen .project .value{font-size:9px}body.pipeline-screen .project h3{font-size:11px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.pipeline-screen .project p{font-size:9px;line-height:1.3;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.pipeline-screen .project p.event{margin-top:6px;padding-top:6px}body.pipeline-screen .attention-row{gap:5px;margin-top:7px;padding-top:7px;font-size:8px}body.pipeline-screen .attention-dot{width:13px;height:13px;min-width:13px;border-width:1px}body.pipeline-screen .project .row{display:block;margin-top:7px}body.pipeline-screen .project .actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%}body.pipeline-screen .project .actions .btn{padding:5px 4px;font-size:9px}body.pipeline-screen .stage-switch{display:block;margin-top:6px;width:100%}body.pipeline-screen .stage-switch select{width:100%;padding:5px 18px 5px 6px;font-size:9px}body.pipeline-screen .mini{font-size:8px}}
@media(min-width:1200px) and (max-width:1499px){body.pipeline-screen .pipeline{grid-template-columns:repeat(10,minmax(185px,1fr))}}
@media(max-width:1199px){body.pipeline-screen .pipeline{grid-template-columns:repeat(10,minmax(205px,1fr))}}
@media(max-width:760px){.brand-logo-wrap{max-width:96px;height:36px}.brand-logo{max-width:96px;max-height:33px}.project-hover-overlay{display:none!important}.logo-upload-panel{align-items:stretch;flex-direction:column}.logo-upload-panel input[type=file]{min-width:0;width:100%}.preview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brandtext{display:none}.preview-grid{grid-template-columns:1fr}}

/* v1.8 unified work area, removed duplicate page titles, sticky pipeline summary */
.shell{max-width:1760px;margin:auto;padding:24px 34px 78px}
.pagehead{display:none!important}
body.pipeline-screen .shell{max-width:1760px!important;padding:24px 34px 78px!important}
body.pipeline-screen .pipeline-sticky-top{position:sticky;top:68px;z-index:22;background:linear-gradient(180deg,#080b10 0%,#080b10 88%,rgba(8,11,16,.98) 100%);padding-top:0;padding-bottom:1px;margin-bottom:0}
body.pipeline-screen .pipeline-sticky-top .hero{margin-bottom:12px}
body.pipeline-screen .pipeline-sticky-top .metrics{margin-bottom:12px}
body.pipeline-screen .stage{overflow:visible}
body.pipeline-screen .stagehead{position:sticky;top:calc(68px + var(--pipeline-sticky-height, 0px));z-index:18;box-shadow:0 8px 18px rgba(0,0,0,.22)}
@media(min-width:1500px){body.pipeline-screen .shell{max-width:1760px!important;padding:24px 34px 64px!important}body.pipeline-screen .pipeline{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;overflow-x:visible}}
@media(max-width:1100px){.shell{padding:22px 18px 60px}body.pipeline-screen .shell{padding:22px 18px 60px!important}body.pipeline-screen .pipeline-sticky-top{top:var(--topbar-mobile-height,112px)}}
@media(max-width:760px){body.pipeline-screen .pipeline-sticky-top{position:relative;top:auto;z-index:auto;background:none}body.pipeline-screen .stagehead{position:relative;top:auto;box-shadow:none}.shell,body.pipeline-screen .shell{padding-top:18px!important}}
@media(max-width:480px){.shell,body.pipeline-screen .shell{padding-left:12px!important;padding-right:12px!important}}


/* v1.9 drag/drop pipeline, Status-button-only preview, status history sort, favicon */
body.pipeline-dragging .project-hover-overlay{display:none!important}
.project[draggable="true"]{cursor:grab;user-select:none}
.project[draggable="true"]:active{cursor:grabbing}
.project.is-dragging{opacity:.42;transform:scale(.985);border-style:dashed}
.stage.drag-over{outline:2px solid #607792;outline-offset:-2px;background:#101722}
.stage.drag-over .stagehead{background:#16202b}
.preview-trigger{position:relative}
.status-sort-toggle{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.status-sort-toggle .btn.active{background:#e8edf3;color:#090c11;border-color:#e8edf3}
.favicon-preview{display:flex;align-items:center;justify-content:center;width:74px;height:74px;padding:8px;background:#080b10;border:1px solid #27313d}
.favicon-preview img{display:block;max-width:56px;max-height:56px;object-fit:contain}
@media(max-width:760px){.project[draggable="true"]{cursor:default}.status-sort-toggle{width:100%}.status-sort-toggle .btn{flex:1}.favicon-upload-panel{align-items:stretch}}


/* v1.9.1 reliable pointer drag/drop + Status-only project preview fix */
body.pipeline-dragging{cursor:grabbing!important;user-select:none!important}
body.pipeline-dragging *{cursor:grabbing!important}
.project{touch-action:pan-y;position:relative}
.project.drag-ready{outline:1px solid #506177;outline-offset:-1px}
.project.is-dragging{opacity:.28!important;transform:none!important;border-style:dashed!important}
.project-drag-ghost{position:fixed!important;z-index:120!important;margin:0!important;pointer-events:none!important;opacity:.92!important;box-shadow:0 24px 70px rgba(0,0,0,.62)!important;transform:rotate(.35deg)!important;max-height:360px;overflow:hidden}
.stage.drag-over{outline:2px solid #7d95b1!important;outline-offset:-2px;background:#111a25!important}
.statuslink.preview-trigger{cursor:pointer}
.project-hover-overlay.show{pointer-events:none}
.project-hover-overlay.show .project-hover-modal{pointer-events:auto}
@media(hover:none){.project-hover-overlay{display:none!important}}

/* v1.10 deadlines, completed register, audit history */
.project p.deadline{margin-top:6px;padding-top:6px;border-top:1px solid #26303b;color:#e7edf5;font-weight:700}
.history-card{min-width:0}.history-details{min-width:280px;max-width:620px;white-space:normal;line-height:1.45}
@media(min-width:1500px){body.pipeline-screen .project-email{display:none}body.pipeline-screen .project p.deadline{margin-top:5px;padding-top:5px}}
@media(max-width:760px){.history-details{min-width:220px}.project p.deadline{font-size:10px}}

/* v1.11 quoted-value KPI and contact-only mail ingestion */
.metrics{grid-template-columns:repeat(18,1fr)}
.metrics .stat{grid-column:span 3}
@media(max-width:1300px){.metrics{grid-template-columns:repeat(12,1fr)}.metrics .stat{grid-column:span 4}}
@media(max-width:900px){.metrics .stat{grid-column:span 6}}
@media(max-width:480px){.metrics .stat{grid-column:span 12}}

/* v1.12 initial enquiries, Ongoing overview and compact email control */
.initial-enquiry{margin-bottom:14px;padding:17px 18px;border:1px solid #45617f;background:linear-gradient(180deg,#101822,#0d141c);box-shadow:inset 3px 0 0 #6386ad}.initial-enquiry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.initial-enquiry-head strong{font-size:13px}.initial-enquiry-body{margin-top:14px;padding-top:13px;border-top:1px solid #293849;white-space:pre-wrap;overflow-wrap:anywhere;color:#d5dce5;line-height:1.6;font-size:12px}.ongoing-title{align-items:flex-start}.ongoing-table table{min-width:1450px}.ongoing-actions{display:flex;gap:5px;flex-wrap:wrap}.state-badge{display:inline-flex;padding:4px 7px;border:1px solid #435165;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.state-active{color:#a8dfb7;border-color:#3e6548}.state-on_hold{color:#f1c46f;border-color:#6d572c}.state-archived{color:#a7b0bc;border-color:#4b5663}.mail-log-card .section-title{align-items:center}.mail-log-card table{min-width:1100px}.inbox-action-shell{padding:16px}.inbox-action-title{align-items:flex-start;gap:16px}.inbox-filter{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.inbox-filter .btn.active{background:#e8edf3;color:#090c11;border-color:#e8edf3}.unread-count{color:#ff6767;font-weight:800}.message-state.unread{color:#ff6767!important;border-color:#833737!important;background:#241113}.email-action-card.status-unread{border-left-color:#c74646!important}.email-action-list.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.email-action-list.compact-grid .email-action-card{padding:12px;min-width:0}.email-action-list.compact-grid .email-action-preview{margin:9px 0;font-size:11px;line-height:1.45;max-height:76px;overflow:hidden}.email-action-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid #27313e}.email-action-footer .message-status-buttons{padding-top:0;border-top:0;margin-left:auto;flex-wrap:wrap}.btn.disabled{opacity:.45;pointer-events:none}.dangerbtn{color:#ff8b8b!important;border-color:#6e3838!important;background:transparent!important}
@media(min-width:1600px){.email-action-list.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.email-action-list.compact-grid{grid-template-columns:1fr}.inbox-action-title{flex-direction:column}.inbox-filter{justify-content:flex-start}.email-action-footer{align-items:flex-start;flex-direction:column}.email-action-footer .message-status-buttons{margin-left:0;width:100%}}
@media(max-width:760px){.initial-enquiry-head{flex-direction:column}.initial-enquiry{padding:13px}.inbox-filter{width:100%}.inbox-filter .btn{flex:1}.ongoing-title{flex-direction:column}}


/* v1.13 booking calendar */
.booking-btn{white-space:nowrap}.calendar-screen .shell{max-width:1760px}.calendar-sticky{position:sticky;top:68px;z-index:24;background:#080b10;padding-bottom:10px}.calendar-hero{margin-bottom:10px}.calendar-hero .hero-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.calendar-date-jump{display:flex;gap:5px;align-items:center}.calendar-date-jump input{width:auto;min-width:145px}.calendar-project-mode{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid #33445a;background:#0f1720;font-size:11px}.calendar-project-mode strong{font-size:12px}.calendar-project-mode span{color:#9ba8b8;flex:1}.calendar-project-mode.custom{border-color:#293441}.calendar-wrap{overflow:auto;border:1px solid #293441;background:#0a0f15}.calendar-grid{display:grid;grid-template-columns:74px repeat(7,minmax(150px,1fr));grid-template-rows:54px repeat(12,62px);min-width:1140px;position:relative}.calendar-corner,.calendar-day-head,.calendar-time{background:#111821;border-right:1px solid #2b3541;border-bottom:1px solid #2b3541}.calendar-corner{display:flex;align-items:center;justify-content:center;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8390a0;grid-column:1;grid-row:1}.calendar-day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.calendar-day-head b{font-size:11px}.calendar-day-head span{font-size:9px;color:#8491a1}.calendar-day-head.today{background:#162333}.calendar-time{grid-column:1;display:flex;align-items:flex-start;justify-content:center;padding-top:7px;font-size:9px;color:#8390a0}.calendar-slot{border-right:1px solid #222c37;border-bottom:1px solid #222c37;background:#0c1219;cursor:crosshair;min-width:0}.calendar-slot:nth-child(even){background:#0d131a}.calendar-slot:hover{background:#131d27}.calendar-slot.occupied{cursor:crosshair;background:#0b0f14}.calendar-slot.selected{background:#23364b!important;box-shadow:inset 0 0 0 1px #6b88aa}.calendar-booking{z-index:8;margin:3px 4px;padding:7px 8px;border:1px solid #52657b;background:#172331;color:#f0f4f8;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}.calendar-booking:hover{border-color:#8ba3bf;background:#1d2c3c}.calendar-booking.type-attended{border-left:3px solid #d2a85f}.calendar-booking.type-remote{border-left:3px solid #6d96be}.calendar-booking.type-custom{border-left:3px solid #829079}.calendar-booking-time{font-size:8px;color:#a7b5c5;letter-spacing:.03em}.calendar-booking strong{font-size:10px;line-height:1.26;white-space:normal}.calendar-booking small{font-size:8px;color:#97a6b6}.calendar-modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:20px}.calendar-modal.show{display:flex}.calendar-modal-card{position:relative;width:min(620px,96vw);max-height:90vh;overflow:auto;background:#101720;border:1px solid #3b4a5d;box-shadow:0 28px 90px rgba(0,0,0,.7);padding:22px}.modal-close{position:absolute;right:10px;top:8px;background:transparent;border:0;color:#b8c2cf;font-size:26px;padding:2px 8px}.booking-project-summary{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #2d3947;background:#0b1118}.booking-project-summary span{color:#9ca9b8;font-size:10px}.booking-detail-body{margin:14px 0;padding:13px;border:1px solid #2b3642;background:#0b1118}.booking-detail-row{margin:6px 0;color:#cbd3dc}.booking-detail-row.pre{white-space:pre-wrap}.calendar-modal .actions form{display:inline-flex}.calendar-modal .actions{align-items:center}
@media(max-width:1100px){.calendar-sticky{top:var(--topbar-mobile-height,112px)}.calendar-hero .hero-actions{width:100%}.calendar-project-mode{align-items:flex-start;flex-direction:column}.calendar-project-mode span{flex:auto}}
@media(max-width:760px){.calendar-sticky{position:relative;top:auto}.calendar-grid{grid-template-columns:58px repeat(7,minmax(132px,1fr));grid-template-rows:50px repeat(12,56px)}.calendar-hero .hero-actions .btn,.calendar-date-jump{flex:1}.calendar-date-jump input{min-width:0;width:100%}.calendar-modal-card{padding:18px 14px}.booking-btn{white-space:normal}}

/* v1.14 unattended broadcast requirements */
.remote-requirements-summary{border-top:1px solid #293543;margin-top:18px;padding-top:18px}.requirement-summary-grid,.requirement-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.requirement-summary-grid>div,.requirement-gates .card{display:flex;flex-direction:column;gap:6px;border:1px solid #2a3542;background:#0b1117;padding:12px}.requirement-summary-grid span,.requirement-gates span{font-size:10px;color:#91a0b1;text-transform:uppercase;letter-spacing:.06em}.req-state{display:inline-flex;width:max-content;padding:4px 7px;border:1px solid;font-size:10px;letter-spacing:.07em}.req-state.ok{color:#7ee2a8;border-color:#2b6b48}.req-state.bad{color:#ff8b8b;border-color:#713939}.remote-grid{grid-template-columns:minmax(0,1.26fr) minmax(330px,.75fr)}.checkline{display:flex;align-items:flex-start;gap:8px;margin-top:9px;color:#c6d0dc;font-size:11px;line-height:1.5}.checkline input{width:auto;margin-top:2px}.checkline.important{border:1px solid #526275;background:#111923;padding:10px}.insurance-table{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0}.insurance-table b{font-size:10px;padding:8px;border:1px solid #303c4a;background:#0c1219}.static-field{border:1px solid #303b49;background:#0b1016;padding:10px;min-height:39px}.action-panel{display:flex;flex-direction:column;gap:10px}.terms-preview{white-space:pre-wrap;max-height:420px;overflow:auto;border:1px solid #2a3542;background:#0b1016;padding:14px;color:#c7d0dc;line-height:1.55;font-size:11px}
@media(max-width:1100px){.remote-grid{grid-template-columns:1fr}.requirement-summary-grid,.requirement-gates{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.requirement-summary-grid,.requirement-gates,.insurance-table{grid-template-columns:1fr}}


/* v1.15 custom quotes, CSV import/export, Google Drive backups, movable calendar */
.quote-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:14px}.quote-project-picker{margin:12px 0 18px}.quote-items{display:flex;flex-direction:column;gap:7px;margin:12px 0}.quote-item-head,.quote-item-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 42px;gap:7px;align-items:center}.quote-item-head{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8997a7;padding:0 2px}.quote-item-row input{min-width:0}.import-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.import-form input[type=file]{flex:1;min-width:220px}.project-commercial{border-top:1px solid #293543;margin-top:18px;padding-top:18px}.calendar-booking{touch-action:none;user-select:none}.calendar-booking.dragging{opacity:.55;outline:1px dashed #9bb4d0;cursor:grabbing}.calendar-slot.drop-target{background:#29415b!important;box-shadow:inset 0 0 0 2px #88a8c8}.calendar-dragging .calendar-booking{cursor:grabbing}.calendar-dragging .calendar-modal{pointer-events:none}
@media(max-width:1100px){.quote-page{grid-template-columns:1fr}}
@media(max-width:700px){.quote-item-head{display:none}.quote-item-row{grid-template-columns:1fr 70px 100px 38px}.import-form{align-items:stretch;flex-direction:column}.import-form input[type=file]{min-width:0;width:100%}}
/* v1.16 broadcast booking workflow */
.booking-status{display:inline-flex;align-items:center;align-self:flex-start;margin-top:4px;padding:2px 5px;border:1px solid #445266;font-size:9px;font-style:normal;letter-spacing:.08em;border-radius:3px}.booking-status.provisional{border-color:#b37a2b;color:#efbd63;background:rgba(179,122,43,.10)}.booking-status.confirmed{border-color:#2e7d61;color:#75d6ad;background:rgba(46,125,97,.10)}
.req-state.warn{color:#efbd63}.workflow-steps{display:grid;gap:7px}.workflow-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #2c3542;background:#0d131a;padding:9px 10px;border-radius:3px}.workflow-step.done{border-color:#31594b}.workflow-step.pending{border-color:#4a3d29}.workflow-step.skip{opacity:.65}.workflow-no{display:grid;place-items:center;width:28px;height:28px;border:1px solid #455366;font-weight:800;font-size:11px}.workflow-step.done .workflow-no{border-color:#39755f;color:#75d6ad}.workflow-step.pending .workflow-no{border-color:#765a2e;color:#efbd63}.workflow-step strong{display:block;font-size:12px}.workflow-step small{display:block;margin-top:2px;color:#8c99a8;font-size:10px}.workflow-state{font-size:9px;font-weight:800;letter-spacing:.08em;color:#8d99a8}.workflow-step.done .workflow-state{color:#75d6ad}.workflow-step.pending .workflow-state{color:#efbd63}.notice.ok{border-color:#31594b;background:rgba(49,89,75,.15);color:#a9e7cd}.notice.err{border-color:#713b3b;background:rgba(113,59,59,.15);color:#f1b0b0}
@media(max-width:780px){.workflow-step{grid-template-columns:30px 1fr}.workflow-state{grid-column:2}.requirement-gates{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.requirement-gates{grid-template-columns:1fr}.workflow-step{padding:8px}}

/* v1.18 incoming email attachments + revised custom quote workflow */
.attachment-chip{text-decoration:none}.attachment-chip[href]:hover{border-color:#60738c;color:#fff;background:#1a2330}.revision-choice{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:16px 0;padding:14px;border:1px solid #344052;background:#0c1117}.quote-ref{display:flex!important;gap:8px;align-items:center;margin-top:4px}.revised-flag,.revised-inline{display:inline-flex;padding:3px 6px;border:1px solid #8e6b35;color:#f2c36f;background:#211a10;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.invoice-row>div:first-child{display:flex;flex-direction:column;gap:4px}.initial-enquiry .attachment-list{margin-top:14px}@media(max-width:760px){.revision-choice{align-items:flex-start;flex-direction:column}.revision-choice .actions{width:100%}.revision-choice .btn{flex:1}.attachment-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}}


/* v1.19.1 To Do, Accounting, project templates and TV Channel deployment */
.project-type-mini{margin:3px 0 5px;color:#9fb0c2;font-size:9px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-layout{grid-template-columns:minmax(300px,.35fr) minmax(0,.65fr)}.todo-layout>.card:first-child{grid-column:span 4}.todo-layout>.card:last-child{grid-column:span 8}.task-list{display:flex;flex-direction:column;gap:10px}.task-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;border:1px solid #2b3542;background:#0c1117;padding:14px;border-left-width:4px}.task-card.priority-green{border-left-color:var(--good)}.task-card.priority-amber{border-left-color:var(--warn)}.task-card.priority-red{border-left-color:var(--bad)}.task-main h3{margin:8px 0 5px;font-size:14px}.task-main p{color:#aab5c2;white-space:pre-wrap}.task-actions{display:flex;flex-direction:column;gap:9px;align-items:stretch}.task-actions form{margin:0}.task-upload{display:grid;grid-template-columns:1fr auto;gap:6px}.task-upload input[type=file]{min-width:0}.accounting-layout{grid-template-columns:minmax(340px,.35fr) minmax(0,.65fr)}.accounting-layout>.card:first-child{grid-column:span 4}.accounting-layout>.card:last-child{grid-column:span 8}.accounting-layout table td{vertical-align:top}.workflow-step input[type=checkbox]{width:20px;height:20px}.project-template-note{font-size:10px;color:#8d99a8;margin-top:5px}
@media(max-width:1100px){.todo-layout>.card:first-child,.todo-layout>.card:last-child,.accounting-layout>.card:first-child,.accounting-layout>.card:last-child{grid-column:span 12}.task-card{grid-template-columns:1fr}}
@media(max-width:650px){.task-upload{grid-template-columns:1fr}.task-card{padding:12px}}


/* v1.20 attended workflow, full To Do/Accounting views, red deadlines and project status sync */
.deadline-red{color:#ff6b6b!important}.project-status-snapshot{display:inline-flex!important;align-items:center;gap:7px;max-width:360px;overflow:hidden}.project-status-snapshot>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-top-actions{align-items:center}.todo-editor,.accounting-editor{margin-bottom:14px}.todo-register,.accounting-register{width:100%}.todo-register td,.accounting-register td{vertical-align:top}.todo-priority-red{box-shadow:inset 4px 0 0 var(--bad)}.todo-priority-amber{box-shadow:inset 4px 0 0 var(--warn)}.todo-priority-green{box-shadow:inset 4px 0 0 var(--good)}.todo-file{display:inline-flex;align-items:center;gap:2px}.todo-file form{display:inline}.mini-delete{padding:1px 5px;min-width:auto;border-color:#633;color:#f99;background:transparent}.todo-file-upload{display:flex;gap:5px;align-items:center;margin-top:6px}.todo-file-upload input[type=file]{max-width:170px;font-size:9px}.todo-register .section-title form input,.accounting-register .section-title form input{min-width:300px}
@media(max-width:900px){.project-top-actions{width:100%;justify-content:flex-start}.project-status-snapshot{max-width:100%}.todo-file-upload{flex-direction:column;align-items:stretch}.todo-file-upload input[type=file]{max-width:none}.todo-register .section-title form input,.accounting-register .section-title form input{min-width:160px}}

/* v1.22 accounting documents, date filters and resizable calendar bookings */
.accounting-file-state{margin-top:9px;padding:9px 10px;border:1px solid #3a4656;background:#0b1118;font-size:11px}.accounting-file-state.attached,.accounting-file-badge.attached{color:#8fe1ad;border-color:#326449;background:rgba(50,100,73,.14)}.accounting-file-state.missing,.accounting-file-badge.missing,.accounting-note-warning{color:#ff9a9a;border-color:#713f3f;background:rgba(113,63,63,.14)}.accounting-file-badge{display:inline-flex;padding:4px 7px;border:1px solid;font-size:9px;font-weight:800;letter-spacing:.07em;margin-bottom:5px}.document-required{display:inline-flex;margin-left:6px;padding:2px 5px;border:1px solid #713f3f;color:#ff9a9a;font-size:8px;letter-spacing:.06em}.accounting-note-warning{margin-top:7px;padding:7px 9px;border:1px solid;font-size:10px}.accounting-note-warning.compact{margin-top:8px}.accounting-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) 180px 165px 165px auto auto;gap:8px;align-items:end;margin-bottom:14px}.accounting-filters label{margin:0}.accounting-filters label span{display:block;margin-bottom:5px}.accounting-type{display:inline-flex;padding:3px 6px;border:1px solid;font-size:9px;font-weight:800}.accounting-type.income{color:#8fe1ad;border-color:#326449}.accounting-type.expense{color:#f1b36f;border-color:#75572f}.accounting-notes{max-width:320px;white-space:pre-wrap}.calendar-booking{position:relative;overflow:visible}.calendar-resize-handle{position:absolute;left:4px;right:4px;height:10px;z-index:4;cursor:ns-resize;border-radius:4px}.calendar-resize-handle.top{top:-4px}.calendar-resize-handle.bottom{bottom:-4px}.calendar-resize-handle:after{content:"";position:absolute;left:50%;top:4px;transform:translateX(-50%);width:28px;height:2px;background:#c6d5e6;opacity:.8}.calendar-booking.resizing{opacity:.62;outline:1px dashed #9bb4d0}.calendar-slot.resize-target{background:#3a2d4e!important;box-shadow:inset 0 0 0 2px #c5a4e5}.calendar-resizing .calendar-booking{cursor:ns-resize}.calendar-resizing .calendar-modal{pointer-events:none}
@media(max-width:1000px){.accounting-filters{grid-template-columns:1fr 1fr 1fr}.accounting-filters>input:first-child{grid-column:1/-1}}
@media(max-width:620px){.accounting-filters{grid-template-columns:1fr}.accounting-filters>input:first-child{grid-column:auto}.accounting-filters .btn{width:100%}}

/* v1.22 robust calendar editing */
.calendar-resize-handle{height:16px;left:2px;right:2px;z-index:12;background:transparent}
.calendar-resize-handle.top{top:-7px}.calendar-resize-handle.bottom{bottom:-7px}
.calendar-resize-handle:after{top:7px;width:38px;height:3px;border-radius:2px}
.calendar-booking.dragging,.calendar-booking.resizing{z-index:30;box-shadow:0 12px 35px rgba(0,0,0,.45)}
.manual-booking-edit{margin:14px 0;padding:14px;border:1px solid #334154;background:#0b1118}
.manual-booking-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9px;margin:9px 0 12px}.manual-booking-grid label{margin:0}.manual-booking-grid input,.manual-booking-grid select{width:100%}
@media(max-width:700px){.manual-booking-grid{grid-template-columns:1fr}.calendar-resize-handle{height:20px}.calendar-resize-handle.top{top:-9px}.calendar-resize-handle.bottom{bottom:-9px}}
/* v1.23 daily / weekly / monthly calendar views */
.calendar-view-toggle{display:inline-flex;gap:4px;padding:3px;border:1px solid #2d3947;background:#0a1017}.calendar-view-toggle .btn{min-width:72px;text-align:center}.calendar-view-toggle .btn.active{background:#26384b;border-color:#6f8ead;color:#fff}.calendar-nav-actions{justify-content:flex-end}.calendar-grid{grid-template-columns:74px repeat(var(--calendar-days,7),minmax(150px,1fr));}.calendar-grid.calendar-grid-day{grid-template-columns:74px minmax(520px,1fr);min-width:720px}.calendar-grid.calendar-grid-day .calendar-booking strong{font-size:12px}.calendar-grid.calendar-grid-day .calendar-booking-time,.calendar-grid.calendar-grid-day .calendar-booking small{font-size:10px}
.calendar-month-wrap{overflow:auto;border:1px solid #293441;background:#0a0f15}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-width:1080px}.month-weekday{padding:11px 10px;text-align:center;background:#111821;border-right:1px solid #2b3541;border-bottom:1px solid #2b3541;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9ba8b8}.calendar-month-day{min-height:145px;padding:8px;border-right:1px solid #222c37;border-bottom:1px solid #222c37;background:#0c1219;transition:background .12s,box-shadow .12s}.calendar-month-day.outside-month{opacity:.48;background:#090e14}.calendar-month-day.today{background:#162333}.calendar-month-day.occupied{background:#0d141c}.calendar-month-day.month-drop-target{background:#29415b!important;box-shadow:inset 0 0 0 2px #88a8c8}.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.month-day-head a{color:#dfe7f0;text-decoration:none}.month-day-head b{font-size:15px}.month-day-head span{font-size:9px;color:#8897a8;margin-left:4px;text-transform:uppercase}.month-open-day{font-size:8px!important;color:#8fa4ba!important;text-transform:uppercase;letter-spacing:.06em}.month-day-bookings{display:flex;flex-direction:column;gap:6px}.calendar-month-booking{position:relative;width:100%;padding:7px 8px;border:1px solid #52657b;background:#172331;color:#f0f4f8;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:grab;touch-action:none;user-select:none}.calendar-month-booking:hover{border-color:#8ba3bf;background:#1d2c3c}.calendar-month-booking.type-attended{border-left:3px solid #d2a85f}.calendar-month-booking.type-remote{border-left:3px solid #6d96be}.calendar-month-booking.type-custom{border-left:3px solid #829079}.calendar-month-booking span{font-size:8px;color:#a7b5c5}.calendar-month-booking strong{font-size:10px;line-height:1.26}.calendar-month-booking small{font-size:8px;color:#97a6b6}.calendar-month-booking.dragging{opacity:.55;outline:1px dashed #9bb4d0;cursor:grabbing;z-index:30}
@media(max-width:900px){.calendar-nav-actions{justify-content:flex-start}.calendar-view-toggle{width:100%}.calendar-view-toggle .btn{flex:1}.calendar-grid.calendar-grid-day{min-width:620px}.calendar-month-grid{min-width:980px}}
@media(max-width:600px){.calendar-view-toggle .btn{min-width:0;padding-left:8px;padding-right:8px}.calendar-grid.calendar-grid-day{grid-template-columns:58px minmax(440px,1fr);min-width:520px}.calendar-month-grid{grid-template-columns:repeat(7,minmax(128px,1fr));min-width:896px}.calendar-month-day{min-height:125px}}

/* v1.26 project creation controls and expanded email signature settings */

/* v1.26 projects table fit and mail bulk controls */
.projects-layout{min-width:0}.projects-layout .project-table{min-width:0;overflow-x:hidden}.projects-layout .project-table table{table-layout:fixed;width:100%;min-width:0}.projects-layout .project-table th,.projects-layout .project-table td{padding-left:8px;padding-right:8px;overflow-wrap:anywhere;word-break:break-word}.projects-layout .project-table th:first-child{width:105px}.projects-layout .project-table th:nth-last-child(1){width:62px}.projects-layout .project-table td:last-child{white-space:nowrap;overflow:visible}.projects-layout .project-table .btn{white-space:nowrap}.mail-select{width:auto;accent-color:#8ca7c5}.checkline input[type=checkbox]{width:auto}

.projects-layout .project-table th:first-child,.projects-layout .project-table td:first-child{width:112px;padding-right:16px}.projects-layout .project-table th:nth-child(2),.projects-layout .project-table td:nth-child(2){padding-left:16px;padding-right:18px}.projects-layout .project-table th:nth-child(3),.projects-layout .project-table td:nth-child(3){padding-left:16px}.projects-layout .project-table td:nth-child(2) strong{display:block;line-height:1.25}

/* v1.30 storage dashboard / history attachment tracking */
.storage-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.storage-kpis .stat small{display:block;margin-top:5px;color:#8391a5}.storage-bar{height:14px;border:1px solid #344253;background:#090d12;overflow:hidden;margin:8px 0 12px}.storage-bar span{display:block;height:100%;background:#fff}.storage-capacity{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.file-state.attached{display:inline-block;border:1px solid #33664a;color:#7ee2a8;background:#0b1d14;padding:3px 7px;font-size:10px;font-weight:700;letter-spacing:.05em}.history-file-names{max-width:260px;overflow-wrap:anywhere;margin-top:5px}@media(max-width:900px){.storage-kpis{grid-template-columns:1fr 1fr}}@media(max-width:560px){.storage-kpis{grid-template-columns:1fr}}

/* v1.30 navigation, title lock and responsive polish */
.mainnav{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.navgroup{position:relative}.navgroup summary{list-style:none;color:#aeb7c3;font-size:12px;padding:9px 10px;border-radius:3px;cursor:pointer;white-space:nowrap}.navgroup summary::-webkit-details-marker{display:none}.navgroup summary:after{content:" ▾";font-size:9px;color:#788595}.navgroup[open] summary,.navgroup summary:hover{color:#fff;background:#121821}.navgroup>div{position:absolute;right:0;top:calc(100% + 5px);min-width:190px;padding:6px;background:#101720;border:1px solid #344051;box-shadow:0 18px 45px rgba(0,0,0,.5);z-index:80;display:flex;flex-direction:column}.navgroup>div a{display:block;white-space:nowrap}.project-locked-actions{display:contents}.project-locked-actions.locked a{opacity:.28;pointer-events:none;filter:grayscale(1)}.title-lock-warning{margin:0 0 16px}.project p.client{overflow-wrap:anywhere}.project h3{overflow-wrap:anywhere}
@media(max-width:1250px){.topbar{padding:10px 18px;gap:14px}.mainnav{flex-wrap:wrap;justify-content:flex-end}.topbar nav a,.navgroup summary{padding:7px 8px;font-size:11px}}
@media(max-width:900px){.topbar{position:sticky;align-items:stretch;flex-direction:column}.brand{align-self:flex-start}.mainnav{justify-content:flex-start;width:100%;gap:3px}.navgroup{position:static}.navgroup>div{left:18px;right:18px;top:auto;min-width:0}.shell{padding:22px 14px 55px}.pipeline{grid-template-columns:repeat(10,minmax(205px,1fr));-webkit-overflow-scrolling:touch}.tablewrap{max-width:100%;-webkit-overflow-scrolling:touch}.calendar-wrap,.calendar-month-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}}
@media(max-width:600px){body{font-size:13px}.topbar{padding:10px 12px}.mainnav>a,.navgroup summary{font-size:10px;padding:7px 6px}.navgroup>div{left:8px;right:8px}.shell{padding:16px 10px 48px}.card{padding:14px}.metrics .stat{grid-column:span 12;min-height:82px}.actions .btn,.actions button{max-width:100%;white-space:normal}.project-details,.timeline-card{min-width:0}.calendar-hero{padding:16px}.calendar-hero .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-date-jump{grid-column:1/-1}.calendar-view-toggle{grid-column:1/-1}.calendar-project-mode{font-size:10px}.calendar-wrap{max-width:100vw}.calendar-grid{grid-template-columns:50px repeat(var(--calendar-days,7),minmax(118px,1fr));grid-template-rows:46px repeat(12,54px);min-width:calc(50px + var(--calendar-days,7)*118px)}.calendar-grid.calendar-grid-day{grid-template-columns:50px minmax(300px,1fr);min-width:350px}.calendar-month-grid{grid-template-columns:repeat(7,minmax(112px,1fr));min-width:784px}.calendar-modal{padding:8px}.calendar-modal-card{width:100%;max-height:94vh}.calendar-booking{margin:2px;padding:6px}.calendar-booking strong{font-size:9px}}

/* v1.31 */
.nav-sync{white-space:nowrap;font-weight:700;color:#d9eaff!important}.calendar-booking-client{display:block;font-size:10px;color:#c6d3e2;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow-settings-card{border:1px solid #2b3b4d;background:#0c1219;padding:16px;border-radius:4px;display:grid;gap:8px}.workflow-new{margin-top:14px}.workflow-step-list{display:grid;gap:8px;margin:18px 0}.workflow-step{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid #2a394a;background:#0d141d}.workflow-step span{display:flex;gap:10px}.workflow-step span b{color:#7899bd}.calendar-create-card{max-width:760px}.booking-mode-panel{border:1px solid #2b3b4d;padding:12px;background:#0b1118}.new-calendar-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.new-calendar-project-grid .wide{grid-column:1/-1}
@media(max-width:900px){.workflow-settings-list{grid-template-columns:1fr}.calendar-create-card{width:min(96vw,720px)}.new-calendar-project-grid{grid-template-columns:1fr}.new-calendar-project-grid .wide{grid-column:auto}.nav-sync{order:3}.calendar-booking-client{font-size:9px}}


/* v1.33 project-date guards, compact storage, tabbed settings and advanced email controls */
.storage-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px;margin:14px 0}.storage-kpis .stat{grid-column:auto!important;min-height:94px;padding:16px 18px;border:1px solid #26313e;background:#0e141c}.storage-kpis .stat span{font-size:11px;color:#aeb8c5}.storage-kpis .stat b{font-size:24px;margin-top:7px}.storage-kpis .stat small{font-size:10px}
.settings-card{max-width:1180px!important;padding:0;overflow:visible}.settings-tabs{position:sticky;top:68px;z-index:22;display:flex;gap:5px;flex-wrap:wrap;padding:12px;background:#0d131b;border-bottom:1px solid #2d3947}.settings-tab{background:transparent;color:#aeb8c5;border:1px solid #3a4655;padding:8px 11px}.settings-tab.active{background:#eef2f6;color:#090c11;border-color:#eef2f6}.settings-main-form{padding:20px}.settings-panel{display:none}.settings-panel.active{display:block}.settings-card>section.settings-panel{padding:20px}.settings-savebar{position:sticky;bottom:0;z-index:18;display:flex;gap:12px;align-items:center;padding:12px 0 2px;background:linear-gradient(180deg,rgba(15,20,27,.3),#0f141b 30%)}.settings-main-form textarea[rows="12"]{min-height:190px}.settings-card .workflow-settings-list{margin-top:12px}
@media(max-width:900px){.storage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-tabs{top:112px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.settings-tab{white-space:nowrap}.settings-main-form,.settings-card>section.settings-panel{padding:14px}}
@media(max-width:560px){.storage-kpis{grid-template-columns:1fr!important}.settings-tabs{top:120px}.settings-savebar{align-items:stretch;flex-direction:column}.settings-savebar button{width:100%}}

/* v1.33 advanced email controls */
.mail-control-centre{display:flex;justify-content:center;align-items:center;margin:14px 0 2px;padding-top:10px;border-top:1px solid var(--line,#2c3947)}
.mail-control-btn{min-width:132px;text-align:center}
.mail-cc{opacity:.8;margin-left:6px}
.advanced-compose{max-width:1100px;margin:0 auto}.mail-control-grid{grid-template-columns:1fr 1fr}.mail-control-grid .full{grid-column:1/-1}.advanced-messagebox{min-height:280px}.choice-row{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px;border:1px solid var(--line,#2c3947);background:#0d141c}.choice-row label{display:flex;align-items:center;gap:7px;margin:0}.mailbody{white-space:normal;line-height:1.55}
@media(max-width:720px){.mail-control-grid{grid-template-columns:1fr}.mail-control-grid .full{grid-column:1}.choice-row{flex-direction:column}.advanced-messagebox{min-height:220px}.mail-control-centre{position:relative}.mail-control-btn{width:100%}}

/* v1.35 users and internal messaging layout */
.users-page,.messages-page{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px;align-items:start}.user-create-card,.message-compose{position:sticky;top:86px}.user-list-card,.message-history{min-width:0}.user-account-list,.message-thread-list{display:grid;gap:10px}.user-account{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #2a3542;background:#0d131a}.user-account-main{display:flex;align-items:center;gap:12px;min-width:0}.user-avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid #536275;background:#151d27;font-weight:900}.user-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.user-account-actions input{width:180px}.message-compose label{margin-top:12px}.message-recipient-chip{padding:10px 12px;border:1px solid #344051;background:#0b1016;color:#c8d0da;margin-bottom:12px}.internal-message{padding:16px 18px;border:1px solid #293544;background:#0d131a}.internal-message.theirs{border-left:3px solid #6d96be}.internal-message.mine{border-left:3px solid #53604f}.internal-message-head{display:flex;justify-content:space-between;gap:18px}.internal-message-head time{white-space:nowrap;color:#8f9baa;font-size:11px}.internal-message-body{margin:14px 0;line-height:1.6;color:#d2d8df;overflow-wrap:anywhere}.internal-message-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #27313d;padding-top:11px}.internal-message-actions form{margin:0}.message-project{display:inline-block;margin-top:9px;color:#9fb7d1;text-decoration:none;font-size:11px}.message-project:hover{color:#fff}.message-history{min-height:520px}
@media(max-width:980px){.users-page,.messages-page{grid-template-columns:1fr}.user-create-card,.message-compose{position:static}.user-account{align-items:flex-start}.user-account-actions{max-width:360px}}
@media(max-width:620px){.user-account{flex-direction:column}.user-account-actions{width:100%;justify-content:flex-start}.user-account-actions input{width:100%}.user-account-actions .btn,.user-account-actions button{flex:1}.internal-message-head{flex-direction:column;gap:5px}.internal-message-actions .btn,.internal-message-actions button{flex:1}}

/* v1.36 navigation/audit polish */
.mainnav details.navgroup[open]>summary{background:#151c25;color:#fff}.mainnav details.navgroup>div{z-index:80}.mainnav details.navgroup summary{user-select:none}

/* v1.37 stable header and configurable 1–10 stage pipeline */
.topbar{height:68px;min-height:68px;max-height:68px;width:100%;contain:layout style}.brand{flex:0 0 255px;width:255px;min-width:255px;height:48px;overflow:hidden}.brand-logo-wrap{flex:0 0 118px;width:118px;min-width:118px;height:42px}.brandtext{min-width:120px}.mainnav{min-width:0;flex:1}.pipeline{grid-template-columns:repeat(var(--pipeline-stage-count,10),minmax(205px,1fr))}.pipeline-stage-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.pipeline-stage-setting{min-width:0}
@media(min-width:1500px){body.pipeline-screen .pipeline{grid-template-columns:repeat(var(--pipeline-stage-count,10),minmax(0,1fr))!important}}
@media(max-width:1250px){.topbar{height:auto;max-height:none;min-height:68px}.brand{flex:0 0 auto;width:255px;min-width:255px}.pipeline{grid-template-columns:repeat(var(--pipeline-stage-count,10),minmax(185px,1fr))}}
@media(max-width:900px){.topbar{height:auto;max-height:none}.pipeline{grid-template-columns:repeat(var(--pipeline-stage-count,10),minmax(205px,1fr))}.pipeline-stage-name-grid{grid-template-columns:1fr}}
@media(max-width:760px){.brand{width:auto;min-width:0}.pipeline{display:flex!important;flex-direction:column}.stage{width:100%}}

/* v1.40 custom quote manual payment state */
.quote-payment-form{margin:0}.quote-payment,.quote-payment-state{font-weight:900;letter-spacing:.05em}.quote-payment.unpaid,.quote-payment-state.unpaid{color:#ff9a9a!important;border-color:#8b3535!important;background:#251010!important}.quote-payment.paid,.quote-payment-state.paid{color:#a7efb8!important;border-color:#3c7449!important;background:#102016!important}.quote-payment-state{display:inline-flex;padding:4px 7px;border:1px solid;font-size:9px}.project-file-row .actions form.quote-payment-form{display:inline-flex}

/* v1.42 unread mail navigation indicator */
.nav-mail-alert{font-weight:800;border:1px solid;padding:7px 10px;white-space:nowrap;text-align:center}
.nav-mail-alert.has-mail{color:#ff7c7c;border-color:#8e3f46;background:#2a1518}
.nav-mail-alert.no-mail{color:#83e6a5;border-color:#376f4a;background:#102219}
.email-action-card.focused-email{outline:2px solid #d64d58;outline-offset:2px;box-shadow:0 0 0 4px rgba(214,77,88,.12)}

/* v1.44 researched leads */
.lead-page-head,.lead-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.lead-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:14px}.lead-kpis a{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border:1px solid #2d3947;background:#0d141c;text-decoration:none;color:#cdd6e0}.lead-kpis b{font-size:24px}.lead-filter{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto;gap:10px;align-items:end}.lead-register{display:grid;gap:10px;margin-top:12px}.lead-card{display:grid;grid-template-columns:125px minmax(0,1fr) minmax(220px,330px) auto;gap:15px;align-items:center;padding:15px;border:1px solid #293746;background:#0d131a}.lead-card h3{margin:0 0 5px}.lead-card p{margin:7px 0 0}.lead-state{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid;font-size:10px;font-weight:900;letter-spacing:.05em}.lead-state.initial_contact{color:#e7c77c;border-color:#78642e;background:#241e0e}.lead-state.responded{color:#92e6aa;border-color:#3c724d;background:#102016}.lead-state.promoted{color:#9ec6f0;border-color:#3d6289;background:#101b27}.lead-state.closed{color:#a8b0ba;border-color:#48515b;background:#171a1e}.lead-meta{display:grid;gap:4px;color:#8f9baa;font-size:11px}.lead-editor{max-width:1100px}.lead-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.lead-email{padding:14px 16px;border:1px solid #293746;margin-top:10px}.lead-email.incoming{border-left:3px solid #65a879}.lead-email.outgoing{border-left:3px solid #6485ad}.lead-email time{display:block;color:#8f9baa;font-size:10px;margin:5px 0 12px}.lead-email-body{line-height:1.55;white-space:normal}.lead-nav>summary{font-weight:800}
@media(max-width:900px){.lead-card{grid-template-columns:110px minmax(0,1fr) auto}.lead-meta{grid-column:2/-1}.lead-actions-grid{grid-template-columns:1fr}.lead-filter{grid-template-columns:1fr 180px auto}}
@media(max-width:620px){.lead-page-head,.lead-detail-head{flex-direction:column}.lead-kpis{grid-template-columns:1fr 1fr}.lead-filter{grid-template-columns:1fr}.lead-card{grid-template-columns:1fr}.lead-meta{grid-column:auto}.lead-card>.btn{width:100%}}

/* v1.45 */
.calendar-booking.type-custom{max-width:calc(100% - 8px)}.history-email{padding:7px 0;border-bottom:1px solid #26313d}.history-email:last-child{border-bottom:0}

/* v1.47 calendar controls */
.calendar-booking.type-custom,.calendar-month-booking.type-custom{background:#8a4f08!important;border-color:#e59a35!important;color:#fff!important}
.calendar-booking.type-remote,.calendar-booking.type-attended,.calendar-month-booking.type-remote,.calendar-month-booking.type-attended{background:#154d2b!important;border-color:#54b878!important;color:#fff!important}
.calendar-booking.type-custom:hover,.calendar-month-booking.type-custom:hover{background:#a35e08!important}
.calendar-booking.type-remote:hover,.calendar-booking.type-attended:hover,.calendar-month-booking.type-remote:hover,.calendar-month-booking.type-attended:hover{background:#1d6339!important}
.calendar-booking{transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease,border-color .12s ease;will-change:transform;line-height:1.2}
.calendar-booking.dragging,.calendar-booking.resizing{transform:scale(1.015);opacity:.72;box-shadow:0 16px 38px rgba(0,0,0,.5)}
.calendar-booking-time{font-size:9px!important;color:#eef5fb!important;font-weight:700}.calendar-booking strong{font-size:10px!important;color:#fff}.calendar-booking-client,.calendar-booking small{color:#e5edf4!important}.booking-status{font-weight:800;letter-spacing:.04em}
.schedule-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.schedule-actions form{display:inline-flex;gap:5px;align-items:center;margin:0}.confirm-notify-inline{display:inline-flex;gap:4px;align-items:center;font-size:9px;color:#9eb0c2}.custom-booking-action{border-color:#d98b2a!important}.broadcast-booking-action,.broadcast-confirm-action{border-color:#4da66d!important}.broadcast-confirm-action{background:#183d28!important}
@media(max-width:700px){.schedule-actions{display:grid;grid-template-columns:1fr 1fr}.schedule-actions .btn,.schedule-actions form{width:100%}.schedule-actions form{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr}.schedule-actions form button{width:100%}}
/* v1.48.1 reusable email files + manual broadcast confirmation workflow */
.email-library-picker{display:grid;gap:7px;padding:10px;border:1px solid var(--line);background:rgba(255,255,255,.015);max-height:220px;overflow:auto}.library-file-choice{display:flex;align-items:center;gap:7px;min-width:0}.library-file-choice input{width:auto;flex:0 0 auto}.email-library-list{margin-top:16px}.broadcast-confirmation-flow{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.broadcast-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.broadcast-step-card{border:1px solid var(--line);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.broadcast-step-card.pending{border-left:3px solid #d79524}.broadcast-step-card.complete{border-left:3px solid #42b66b;background:rgba(66,182,107,.055)}.broadcast-step-card .actions{margin:0;justify-content:flex-end}.btn.good{border-color:#398e59;color:#8be0a8}@media(max-width:800px){.broadcast-step-grid{grid-template-columns:1fr}.broadcast-step-card{align-items:flex-start;flex-direction:column}.broadcast-step-card .actions{justify-content:flex-start}}


/* v1.48.4 - payment reference display, profit/loss emphasis and inline pay toggles */
.payref{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.02em;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:2px 6px;display:inline-block;white-space:nowrap}
.pay-toggle-form{margin:0}
.pl-positive{color:#4ade80}
.pl-negative{color:#f87171}


/* v1.48.5 - Pipeline metric tiles sit on a single row on desktop and step down
   gracefully rather than stacking awkwardly. Flex overrides the grid-column spans
   inherited from .metrics .stat. */
.grid.metrics.metrics-row{display:flex;flex-wrap:nowrap;align-items:stretch;gap:12px}
.grid.metrics.metrics-row .stat{flex:1 1 0;min-width:0;grid-column:auto}
.grid.metrics.metrics-row .stat span,.grid.metrics.metrics-row .stat b{min-width:0;overflow-wrap:anywhere}
.grid.metrics.metrics-row .stat b{font-size:clamp(17px,1.55vw,27px);line-height:1.15}
.grid.metrics.metrics-row .stat .mini{font-size:11px;line-height:1.35}
@media(max-width:1500px){.grid.metrics.metrics-row .stat .mini{font-size:10px}}
@media(max-width:1280px){.grid.metrics.metrics-row{flex-wrap:wrap}.grid.metrics.metrics-row .stat{flex:1 1 calc(25% - 12px)}}
@media(max-width:1000px){.grid.metrics.metrics-row .stat{flex:1 1 calc(33.333% - 12px)}}
@media(max-width:760px){.grid.metrics.metrics-row{gap:9px}.grid.metrics.metrics-row .stat{flex:1 1 calc(50% - 9px)}}
@media(max-width:420px){.grid.metrics.metrics-row .stat{flex:1 1 100%}}


/* v1.48.5 - New controls: attach-to-project picker and inline pay toggles must not force
   horizontal overflow on narrow screens. */
.attach-project-form{display:flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap;min-width:0}
.attach-project-form select{max-width:220px;min-width:0;flex:1 1 140px}
.invoice-row .actions,.project-file-row .actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.invoice-row,.project-file-row{flex-wrap:wrap;gap:8px}
@media(max-width:640px){
  .attach-project-form{width:100%}
  .attach-project-form select{max-width:none;flex:1 1 100%}
  .invoice-row .actions,.project-file-row .actions{width:100%}
  .payref{white-space:normal;overflow-wrap:anywhere}
}


/* v1.48.7 - Nearest-deadline indicator, matching the email indicator's shape but always red
   so an approaching deadline reads as urgent at a glance. */
.nav-mail-alert.nav-deadline-alert{color:#ff7c7c;border-color:#8e3f46;background:#2a1518}
.nav-mail-alert.nav-deadline-alert.none{color:#8b98a8;border-color:#3b4655;background:#161c25}
@media(max-width:1200px){.nav-mail-alert.nav-deadline-alert{padding:7px 8px}}


/* v1.48.8 - overdue deadline reads more urgently than an upcoming one. */
.nav-mail-alert.nav-deadline-alert.overdue{color:#fff;border-color:#c2454f;background:#7a1f28}


/* v1.48.11 - project type delete/reassign control */
.ptype-reassign{max-width:230px;margin-right:6px}
@media(max-width:640px){.ptype-reassign{max-width:none;width:100%;margin:0 0 6px}}
