*{box-sizing:border-box}body{margin:0;background:#f3f5fa;color:#23364d;font:15px system-ui,sans-serif}header{background:#202c82;color:white;padding:18px 5%;display:flex;align-items:center;gap:28px}header .brand{font-size:25px;font-weight:800;color:white;text-decoration:none}header span{opacity:.85}.logout{margin:0 0 0 auto}.logout button{background:#34449d;padding:9px 16px}main{max-width:1400px;margin:36px auto;padding:0 32px}h1{color:#202c82;margin-bottom:8px;font-size:30px}h2{font-size:20px;margin:0 0 12px}.lead{color:#718096;margin:0 0 28px}.card{background:white;border:1px solid #e0e6ef;border-radius:12px;padding:26px;margin:24px 0}.login{max-width:460px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0}.facts>div{background:white;border:1px solid #e0e6ef;border-radius:10px;padding:20px}.facts strong{display:block;font-size:25px;margin-top:8px}small{display:block;font-size:12px;color:#718096;line-height:1.5;margin-top:5px}.facts small{margin:0}label{display:block;font-weight:600;margin:14px 0}input,select,textarea{font:inherit;display:block;width:100%;padding:11px;border:1px solid #bcc9d5;border-radius:6px;margin-top:7px;background:white;color:#23364d}textarea{resize:vertical}button,.open{background:#202c82;color:white;border:0;border-radius:6px;padding:12px 20px;cursor:pointer;font:inherit;text-decoration:none;white-space:nowrap}.open{background:#edf1ff;color:#202c82;padding:8px 12px}button:hover{background:#34449d}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #659edb;outline-offset:2px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px;margin-bottom:26px}.tasks label{display:flex;align-items:center;gap:12px;font-weight:400;padding:12px;background:#f7f9fc;border-radius:6px;margin:0}.tasks input{width:20px;height:20px;margin:0;accent-color:#202c82}.filters{display:flex;align-items:end;gap:16px;margin:0}.filters label{flex:1;margin:0}.filters a{padding:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:16px 12px;border-bottom:1px solid #e6ebf2}th{font-size:12px;text-transform:uppercase;color:#718096;background:#f8fafc}td{font-size:14px}td:first-child{min-width:170px}tr:last-child td{border-bottom:0}.badge{display:inline-block;background:#edf1ff;color:#263b88;border-radius:4px;padding:5px 9px;font-size:12px;white-space:nowrap}[role=alert]{padding:16px;background:#fff0da;border-radius:8px}.success{padding:16px;background:#dbf2e5;border-radius:8px;color:#155b38}a{color:#202c82}.muted{color:#718096;font-size:13px;line-height:1.6}.case-finished summary,.case-archived summary{cursor:pointer;color:#202c82;display:flex;align-items:center;gap:14px}.case-finished summary .muted{margin-left:auto}.case-finished-badge{background:#e3f3e8;color:#20623c}.case-finished .table-wrap,.case-archived .table-wrap{margin-top:18px}.case-finished form,.case-boards form{margin:0 0 6px}.case-finished form details p,.case-boards form details p{white-space:normal;min-width:220px}@media(max-width:750px){main{padding:0 16px;margin:24px auto}header{gap:12px;flex-wrap:wrap}header span{display:none}.card{padding:16px}.fields,.tasks{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters label{min-width:200px}.facts{grid-template-columns:repeat(2,1fr)}.facts>div{padding:14px}.facts strong{font-size:21px}.case-finished summary{align-items:flex-start;flex-direction:column;gap:4px}.case-finished summary .muted{margin-left:0}}

.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#202c82;padding:24px 14px;color:white}.sidebar .brand{color:white;text-decoration:none;font-size:25px;font-weight:800}.sidebar small{color:#ccd5f6;font-size:11px;margin-top:8px}.sidebar nav{margin-top:40px;display:grid;gap:8px}.sidebar nav a{color:white;text-decoration:none;padding:15px;border-radius:6px}.sidebar nav a.active{background:#34449d;border-left:3px solid #86b8db}.sidebar nav a:hover{background:#34449d}.workspace{margin-left:228px}header{height:72px;background:white;color:#23364d;border-bottom:1px solid #e0e6ef;padding:16px 36px}.live-label{background:#e7f3eb;color:#256346;font-size:13px;padding:8px 12px;border-radius:5px}main{max-width:1540px;padding:0 5%;margin:36px auto}.card{border-radius:9px}td{padding:22px 12px}.logout button{background:#edf1ff;color:#202c82}@media(max-width:750px){.sidebar{position:static;width:auto;padding:16px}.sidebar small{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:16px;gap:4px}.sidebar nav a{white-space:nowrap;padding:10px}.workspace{margin-left:0}header{height:auto;padding:12px 16px}.live-label{display:block}main{padding:0 16px}}

.order-steps{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0 28px}.order-steps li{border:1px solid #dce4ee;border-left:4px solid #a5b4cf;border-radius:8px;padding:16px 20px;background:#f8fafc}.order-steps li.complete{border-left-color:#278453;background:#edf7f0}.step-check{display:flex;align-items:center;gap:14px;margin:0;font-size:17px}.step-check input{width:22px;height:22px;margin:0;accent-color:#202c82}.order-steps .muted{margin:8px 0 0 36px}.delivery-fields{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-left:36px}.delivery-fields label{font-size:14px}details{margin:20px 0}@media(max-width:750px){.delivery-fields{grid-template-columns:1fr;gap:0;margin-left:0}.order-steps li{padding:14px}.order-steps .muted{margin-left:0}}

.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.detail-heading h1{margin:8px 0 14px}.detail-heading .muted{margin:0}.flow-steps{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:24px 0}.flow-step{background:#e9edf3;color:#718096;padding:13px 10px;border-radius:6px;font-size:12px;line-height:1.5}.flow-step span{display:block;font-weight:700;font-size:16px;margin-bottom:4px}.flow-step.current{background:#202c82;color:white}.flow-step.complete{background:#e0efe6;color:#286d49}.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}.detail-grid .card{margin:0 0 20px}.detail-settings{grid-template-columns:1fr 1fr;gap:12px}.detail-settings label:last-child{grid-column:1/-1}.detail-grid .order-steps{gap:0;margin-bottom:0}.detail-grid .order-steps li{border:0;border-bottom:1px solid #e6ebf2;border-radius:0;background:white;padding:16px 0}.detail-grid .order-steps li.complete{background:#f2f8f4}.detail-grid .step-check{font-size:15px;font-weight:500}.detail-grid .order-steps .muted{font-size:12px}.detail-side .delivery-fields{display:block;margin:0}.detail-save{padding:0 0 24px}.notes-label{font-size:13px;color:#718096}@media(max-width:950px){.detail-grid{grid-template-columns:1fr}.flow-steps{display:flex;overflow:auto}.flow-step{min-width:115px}.detail-settings{grid-template-columns:1fr}.detail-settings label:last-child{grid-column:auto}}
.detail-side .tasks{grid-template-columns:1fr}

.order-comment{border-top:1px solid #e0e6ef;padding:14px 0;margin-top:14px}.order-comment p{white-space:normal;overflow-wrap:anywhere;margin:0 0 6px}.order-comment small{font-size:12px}.comment-delete{font-size:12px;padding:5px 10px;margin-top:8px;background:#202c82;color:#fff}

.audit-value{white-space:pre-wrap;overflow-wrap:anywhere;max-width:450px;vertical-align:top}

.comment-delete:hover,.comment-delete:focus-visible{background:#34449d;color:#fff}

.task-owner{font-size:12px;color:#718096;margin:12px 0 0 36px;max-width:320px}.task-owner select{font-size:14px;font-weight:400}@media(max-width:750px){.task-owner{margin-left:0}}

.detail-grid .order-steps li{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);column-gap:18px;align-items:center}.detail-grid .order-steps .task-owner{margin:0;max-width:none}.detail-grid .order-steps .task-owner select{margin-top:5px}.detail-grid .order-steps .muted{grid-column:1/-1}@media(max-width:600px){.detail-grid .order-steps li{grid-template-columns:1fr;row-gap:10px}}
.material-subtasks{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.material-subtask{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,1fr);gap:8px 14px;align-items:center;padding:12px;background:#f5f7fb;border-radius:8px}.material-subtask strong{grid-column:1/-1;font-size:13px}.material-subtask label{font-size:11px;color:#718096}.material-subtask select{margin-top:4px;font-size:13px;padding:7px 8px}@media(max-width:700px){.material-subtasks{grid-template-columns:1fr}.material-subtask{grid-template-columns:1fr 1fr}}
.task-progress{min-width:0}.task-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.task-title strong{font-size:15px}.task-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}.task-status-chip.status-not_started{color:#526176;background:#edf1f6}.task-status-chip.status-in_progress{color:#7a4b00;background:#fff1d6}.task-status-chip.status-complete{color:#20623c;background:#e3f3e8}.task-status-field{display:grid;grid-template-columns:auto minmax(150px,220px);align-items:center;gap:9px;margin:0;color:#526176;font-size:12px}.task-status-field select{margin:0;padding:7px 9px;font-size:13px}.detail-grid .order-steps li.task-in_progress{background:#fffaf0}.detail-grid .order-steps li.task-complete{background:#f2f8f4}.flow-step{min-width:0}.flow-step strong{display:block;font-size:11px;line-height:1.35}.flow-step small{display:block;margin-top:5px;font-size:10px;font-weight:700}.flow-step.status-not_started{background:#edf1f6;color:#526176}.flow-step.status-in_progress{background:#fff1d6;color:#7a4b00}.flow-step.status-complete{background:#e3f3e8;color:#20623c}

.my-page .lead{margin-bottom:16px}.my-page .card{padding:16px;margin:16px 0}.my-page h2{font-size:18px;margin-bottom:10px}.my-page td,.my-page th{padding:10px 12px}.my-page td{vertical-align:middle}.my-page td small{margin-top:2px}.my-page .my-customer{margin-left:8px}.my-page .open{padding:6px 10px;font-size:13px}.my-page td:last-child{width:1%}

.calendar-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.calendar-board{padding:12px}.calendar-board table{table-layout:fixed;min-width:980px}.calendar-board th:first-child{width:155px}.calendar-board td{vertical-align:top;padding:10px;min-width:0}.calendar-board th{text-transform:none}.calendar-load{margin:0 0 8px}.calendar-day.overloaded{background:#fff0da}.calendar-order{display:block;background:#edf1ff;border-left:3px solid #202c82;border-radius:5px;padding:8px;text-decoration:none;overflow-wrap:anywhere}.calendar-order span{display:block;font-size:12px;margin-top:4px}.calendar-edit{display:block;font-size:12px;margin:4px 0 12px}

.calendar-hours{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:12px}.calendar-board table{min-width:1250px}@media(max-width:750px){.calendar-hours{grid-template-columns:repeat(2,1fr)}}

.build-queues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.build-queues .card{margin:0;padding:16px}.build-queues h2{font-size:17px}.queue-job{border-top:1px solid #e0e6ef;padding:12px 0}.queue-job button{font-size:13px;padding:7px 12px;margin-top:8px}.queue-warning{color:#a51d2d;font-size:13px}.queue-late{background:#fff0f1;padding:10px;border-radius:6px}@media(max-width:1100px){.build-queues{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.build-queues{grid-template-columns:1fr}}

.calendar-employees{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.calendar-employees .active{background:#232980;color:#fff}.build-queues.single-employee{grid-template-columns:1fr}.single-employee .queue-job small{display:block}

.week-capacity{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.week-capacity>div{background:#f4f6fa;border-radius:6px;padding:10px;flex:1;min-width:170px}.week-capacity small,.build-progress label{display:block}.build-progress{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:end}.build-progress input{max-width:160px}.calendar-actual{background:#e9f5ed;border-color:#a5c9b2}.queue-job small{display:block}

.home-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:20px;align-items:start}.home-columns>.card{margin:0}.messages-panel label,.messages-panel small{display:block}.messages-panel form{display:grid;gap:10px}.message-unread{border-left:3px solid #252b82;padding-left:12px}.messages-panel textarea{width:100%}@media(max-width:1000px){.home-columns{grid-template-columns:1fr}}

.messages-panel .message-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.messages-panel .message-actions form{display:block;margin:0}.message-actions button{width:auto;margin:0;font-size:13px;padding:8px 14px}

.messages-panel [hidden]{display:none!important}.message-thread{border-top:1px solid #e0e6ef;margin-top:14px;padding-top:12px}.message-thread summary{cursor:pointer}.message-thread .order-comment{padding:12px;margin:10px 0;border-radius:6px;background:#f7f9fc}.message-thread .message-outgoing{background:#eef1ff}.message-receipt{margin:6px 0 8px;color:#61728a}.thread-reply-form{padding-top:12px}
.messages-panel input[type=file]{display:block;max-width:100%;margin-top:6px}.message-image-link{display:inline-block;max-width:100%;margin:4px 0 10px}.message-image{display:block;max-width:min(100%,560px);max-height:420px;object-fit:contain;border:1px solid #dbe3ef;border-radius:8px;background:#fff}
.sidebar .nav-other summary{padding:15px;cursor:pointer;border-radius:6px;color:white}.sidebar .nav-other summary:hover{background:#34449d}.sidebar .nav-other-links{display:grid;gap:4px;padding-left:8px}.sidebar .nav-other-links a{padding:12px 15px}@media(max-width:750px){.sidebar .nav-other{min-width:140px}.sidebar .nav-other summary{padding:10px}}
.builder-language{display:inline-flex;align-items:center;gap:8px;margin-right:20px}.builder-language label{display:flex;align-items:center;gap:8px}.builder-language select{width:auto;padding:5px}.builder-language button{padding:6px 10px}@media(max-width:750px){.builder-language{display:flex;margin:0 0 10px}}

/* Employee pages: touch controls and stacked day/entry cards on phones. */
.builder-page fieldset{min-width:0}
.builder-page .workspace,.builder-page main,.builder-page .card{min-width:0}
.builder-page .queue-job p,.builder-page .queue-job small{overflow-wrap:anywhere}
@media(max-width:750px){
 .builder-page{font-size:16px}
 .builder-page .sidebar{padding:12px 14px}
 .builder-page .sidebar .brand{font-size:23px}
 .builder-page .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;overflow:visible}
 .builder-page .sidebar nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;white-space:normal;text-align:center;font-size:14px}
 .builder-page header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 14px}
 .builder-page .builder-language{grid-column:1/-1;margin:0;display:flex;gap:10px}
 .builder-page .builder-language label{flex:1;display:flex;gap:8px;margin:0;font-size:13px}
 .builder-page .builder-language select{flex:1;min-width:0;min-height:44px;margin:0;font-size:16px;padding:8px}
 .builder-page .builder-language button{min-height:44px;padding:10px 16px}
 .builder-page header>span{display:block;font-size:13px}
 .builder-page .logout{margin:0}
 .builder-page .logout button{min-height:44px}
 .builder-page main{margin:18px auto;padding:0 12px}
 .builder-page h1{font-size:25px;margin:0 0 16px}
 .builder-page h2{font-size:19px}
 .builder-page .card{padding:16px;margin:16px 0}
 .builder-page .home-columns{gap:16px}
 .builder-page .home-columns>.card{margin:0}
 .builder-page button,.builder-page input,.builder-page select{min-height:48px;font-size:16px}
 .builder-page input,.builder-page select,.builder-page textarea{max-width:100%;min-width:0}
 .builder-page label{margin:10px 0;font-size:14px}
 .builder-page .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .builder-page .fields label:first-child{grid-column:1/-1}
 .builder-page .fields label{min-width:0}
 .builder-page .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .builder-page .filters label{min-width:0;margin:0}
 .builder-page .filters a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 6px;text-align:center;background:#edf1ff;border-radius:6px;font-size:14px;text-decoration:none}
 .builder-page .filters button{white-space:normal}
 .builder-page .messages-panel form{gap:4px}
 .builder-page .messages-panel textarea{font-size:16px;min-height:110px}
 .builder-page .message-actions{gap:8px}
 .builder-page .message-actions button{min-height:44px;padding:10px 16px}
 .builder-page .message-thread summary,.builder-page .messages-panel>details>summary{padding:12px 0;min-height:44px;overflow-wrap:anywhere}
 .builder-page td:first-child{min-width:0}
 .builder-page td,.builder-page th{padding:12px 8px}
 .builder-page .builder-days,.builder-page .builder-time-history{display:block;margin-top:14px}
 .builder-page .builder-days thead,.builder-page .builder-time-history thead{display:none}
 .builder-page .builder-days tbody,.builder-page .builder-time-history tbody{display:grid;gap:10px}
 .builder-page .builder-days tr,.builder-page .builder-time-history tr{display:block;border:1px solid #e0e6ef;border-radius:8px;padding:10px;background:#f8fafc}
 .builder-page .builder-days td,.builder-page .builder-time-history td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;border:0;padding:5px 0;font-size:14px;overflow-wrap:anywhere}
 .builder-page .builder-days td::before,.builder-page .builder-time-history td::before{content:attr(data-label);font-weight:600;color:#61728a;font-size:12px}
 .builder-page .builder-days td:last-child{display:block}
 .builder-page .builder-days td:last-child:empty{display:none}
 .builder-page .builder-days td:last-child p{margin:6px 0;padding:10px;background:#edf1ff;border-left:3px solid #202c82;border-radius:5px}
 .builder-page .builder-days td:first-child{font-weight:700}
 .builder-page [role=status],.builder-page [role=alert]{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
}
@media(max-width:400px){.builder-page .fields{grid-template-columns:1fr}.builder-page .filters{grid-template-columns:1fr}.builder-page .builder-language label{font-size:12px}}

.builder-page .queue-job .open{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px}.builder-page .messages-panel{max-width:800px}

.quote-list{display:grid;gap:18px}.quote-card{margin:0;scroll-margin-top:18px}.quote-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.quote-heading h2{margin:0 0 6px;font-size:20px}.quote-heading p{margin:0 0 8px}.quote-followups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.quote-followup{display:grid;align-content:start;gap:6px;background:#f6f8fc;border-radius:7px;padding:14px}.quote-followup form{margin:6px 0 0}.quote-followup button{padding:8px 12px;font-size:13px}.quote-overdue{color:#a72c27}.quote-complete{background:#edf7f0;color:#286d49}.quote-settings{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:16px}.quote-settings label{flex:1;min-width:170px;margin:0}.quote-settings button{margin-bottom:0}.quote-card details{margin:16px 0 0}.quote-card summary{cursor:pointer;color:#202c82}.quote-card:target{outline:2px solid #86b8db}@media(max-width:750px){.quote-followups{grid-template-columns:1fr}.quote-heading{flex-wrap:wrap}.quote-settings{display:grid;grid-template-columns:1fr}.quote-settings label{min-width:0}.quote-heading h2{font-size:18px}}


/* Compact quote overview, keeping editing controls inside details. */
.quote-list{gap:10px}.quote-card{padding:12px 18px}.quote-heading{gap:12px}.quote-heading>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px;min-width:0}.quote-heading h2{font-size:17px;margin:0;line-height:1.4}.quote-heading p{font-size:14px;margin:0;line-height:1.4;overflow-wrap:anywhere}.quote-heading small{flex-basis:100%;margin:0;font-size:12px;line-height:1.4}.quote-card details{margin:8px 0 0}.quote-card summary{font-size:14px;line-height:24px}.quote-followups{margin-top:10px;gap:8px}.quote-followup{padding:10px;gap:4px}.quote-settings{margin-top:10px}@media(max-width:750px){.quote-card{padding:12px 14px}.quote-card summary{min-height:40px;display:flex;align-items:center;gap:6px}.quote-card summary:before{content:'▸'}.quote-card details[open]>summary:before{content:'▾'}}

.quote-checkboxes .quote-followup{padding:8px 10px}.quote-checkboxes .quote-check-form{margin:0}.quote-check-form label{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer;font-size:13px}.quote-check-form input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#202c82;flex:none}.quote-check-form label span{margin-left:auto;font-size:12px;white-space:nowrap}.quote-checkboxes small{margin:0 0 0 26px;font-size:11px}.quote-check-form label:has(input:disabled){cursor:default}@media(max-width:750px){.quote-checkboxes{grid-template-columns:1fr;gap:5px}.quote-check-form label{min-height:36px}}
.my-task-panels{display:grid;gap:16px;min-width:0}.my-page .my-task-panels>.card{margin:0}.home-side-panels{display:grid;gap:16px;min-width:0}.home-side-panels>.card{margin:0}

.quote-heading>.quote-heading-actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.quote-mail-followup{padding:6px 10px;font-size:12px}.quote-mail-followup:disabled{background:#edf1ff;color:#66749b;cursor:not-allowed}

.calculation-add{display:flex;gap:12px;align-items:end}.calculation-add label{margin:0;max-width:320px;flex:1}.calculation-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,300px) auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e6ebf2}.calculation-row:last-child{border:0}.calculation-row label{margin:0;font-size:12px}.calculation-row select{padding:8px;font-size:14px}.calculation-row button{padding:9px 14px}@media(max-width:650px){.calculation-row{grid-template-columns:1fr auto;gap:8px}.calculation-row>div{grid-column:1/-1}.calculation-row select{min-height:44px}.calculation-row button{min-height:44px}}

.calculation-item{border-bottom:1px solid #e6ebf2;padding:12px 0}.calculation-item:last-child{border:0}.calculation-item .calculation-row{padding:0;border:0}.calculation-due-form{display:flex;gap:8px;align-items:end;margin-top:10px}.calculation-due-form label{margin:0;font-size:12px}.calculation-due-form input{padding:6px 8px}.calculation-due-form button{padding:8px 12px;font-size:13px}.calculation-history summary{cursor:pointer;color:#202c82;font-size:18px;font-weight:600}.calculation-history .table-wrap{margin-top:14px}@media(max-width:650px){.calculation-add{flex-wrap:wrap}.calculation-add label{min-width:130px}.calculation-due-form input{min-height:44px}}

.builder-admin-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid #e1e7f3}.builder-admin-row form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:0}.builder-admin-row label{margin:0}.builder-admin-row input{max-width:260px}.builder-admin-status{font-size:12px;color:#7686a2}.builder-admin-row .builder-remove{background:#fff;color:#8f2639;border:1px solid #dcc2c7}.builder-add{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:18px}.builder-add label{margin:0}

.home-followups{display:flex;flex-wrap:wrap;gap:8px}.home-followups form{margin:0}.home-followups label{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;padding:6px;border-radius:5px}.home-followups input{width:auto;margin:0}.home-followups small{flex-basis:100%;padding-left:22px}.followup-current{background:#eef1ff;font-weight:700}.followup-save{padding:4px 6px;font-size:11px}.document-links{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.build-block-form{margin-top:10px}.time-edit-form{min-width:220px}.time-edit-form button{margin-top:6px}.time-change-log{font-size:12px}

.home-followup-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e6ebf2}.home-followup-row:last-child{border-bottom:0}.home-followup-info{min-width:0;font-size:13px;line-height:1.4}.home-followup-info>a{display:block;text-decoration:none}.home-followup-info .my-customer{display:block;margin-top:3px}.home-followup-info small{margin-top:3px;overflow-wrap:anywhere}.home-followups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}.home-followups form{min-width:0}.home-followups label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:3px 5px;margin:0;padding:8px 5px;font-size:11px;line-height:1.4;font-weight:500;min-height:54px;cursor:pointer;border:1px solid #e6ebf2;border-radius:6px}.home-followups input{display:block;width:17px;height:17px;padding:0;margin:0;accent-color:#202c82;grid-row:1/3;align-self:center}.home-followups .followup-label{white-space:nowrap}.home-followups small{grid-column:2;padding:0;margin:0;font-size:10px;white-space:nowrap}.home-followups .followup-current{border-color:#bbc5f5;background:#eef1ff;color:#202c82;font-weight:700}.home-followups label:has(input:checked){background:#eff8f1;border-color:#cfdfd2}.home-followups label:has(input:disabled){opacity:.65;cursor:default}.home-followups .followup-save{margin-top:4px;font-size:10px;padding:4px}.home-followups .followup-save[hidden]{display:none}@media(max-width:1100px){.home-followup-row{grid-template-columns:minmax(0,1fr);gap:8px}.home-followups{width:100%;max-width:350px}.home-followup-info>a{display:inline}.home-followup-info .my-customer{display:inline;margin-left:6px}}

.home-followup-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.home-followup-heading>a{text-decoration:none}.home-followup-heading .quote-mail-followup{width:auto;margin:0;padding:4px 8px;font-size:11px;white-space:nowrap}

.build-management-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.build-management-title h2{margin:0}.build-management-item{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:16px;padding:12px 0;border-bottom:1px solid #e6ebf2}.build-management-item:last-child{border:0}.build-management-info{font-size:13px;min-width:0}.build-management-info small{display:block;margin-top:4px}.build-management-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.2fr) 90px auto;gap:8px;align-items:end}.build-management-form label{margin:0;font-size:12px;min-width:0}.build-management-form input,.build-management-form select{padding:8px;font-size:13px}.build-management-form button{padding:9px 14px}.build-handover{grid-column:1/-1;font-size:12px}.build-handover summary{cursor:pointer;padding:6px 0}.build-handover>label{margin-top:8px}.build-handover input:not([type=checkbox]){max-width:150px}.handover-confirm{display:flex;align-items:center;gap:8px}.handover-confirm input{width:18px;height:18px;margin:0}.build-handover small{display:block;margin-top:6px}@media(max-width:1000px){.build-management-item{grid-template-columns:1fr}.build-management-form{grid-template-columns:1fr 1fr}.build-management-form button{min-height:40px}.build-management-form input,.build-management-form select{min-height:40px}}

.sidebar nav a.nav-disabled{opacity:.45;cursor:not-allowed}

.sidebar .brand{display:flex;align-items:center;gap:10px}.brand-logo{display:block;width:32px;height:32px;object-fit:contain;flex:0 0 32px}

/* Selected employee: standard week first, occasional changes collapsed. */
.employee-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.employee-heading h1{margin:0}.employee-picker{margin:0 0 16px;padding:16px 20px}.employee-picker .filters{max-width:620px}.employee-hours{margin:0;padding:22px}.employee-hours .muted{margin:0 0 12px}.employee-hours .calendar-hours label{margin:8px 0 16px;font-size:14px}.employee-hours input{padding:9px}.employee-hours button{padding:10px 14px}.employee-options{margin-top:20px;border-top:1px solid #e0e6ef}.employee-options details{margin:0;border-bottom:1px solid #e0e6ef;padding:0 0 0}.employee-options summary{padding:16px 0;cursor:pointer;font-weight:600;color:#202c82}.employee-options details[open]{padding-bottom:18px}.employee-options .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:740px}.employee-options .calendar-nav{margin:6px 0 8px}.employee-options button{margin:3px 4px 3px 0}.employee-options .step-check{font-size:14px}.employee-options .step-check input{width:20px;height:20px}.employee-options details:last-child{border-bottom:0}@media(max-width:750px){.employee-heading{align-items:start;flex-direction:column;gap:10px}.employee-hours{padding:16px}.employee-picker .filters label{min-width:0;flex-basis:100%}.employee-options .fields{grid-template-columns:1fr;gap:0}.employee-hours .calendar-hours{grid-template-columns:repeat(2,minmax(0,1fr))}}

.employee-month{padding:20px;margin:0 0 18px}.employee-month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.employee-month-heading h2{margin:0}.employee-month-heading>strong{font-size:14px;color:#718096}.employee-month .calendar-nav{gap:8px;margin-bottom:16px}.employee-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.employee-month-weekday{text-align:center;font-weight:600;font-size:13px;padding:6px}.employee-month-day{min-height:86px;border:1px solid #e0e6ef;border-radius:6px;padding:9px;background:#f7f9fc}.employee-month-date{display:block;font-size:12px;margin-bottom:8px;color:#61718a}.employee-month-day strong{font-size:15px}.employee-month-day.changed,.employee-month-legend i.changed{background:#fff0da;border-color:#ecd2a3}.employee-month-day.leave,.employee-month-legend i.leave{background:#edf1ff;border-color:#b5bfea;color:#202c82}.employee-month-day.off{background:#fafafa;color:#8993a2}.employee-month-day.today{outline:2px solid #202c82;outline-offset:-2px}.employee-month-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#61718a}.employee-month-legend span{display:flex;align-items:center;gap:6px}.employee-month-legend i{width:12px;height:12px;border:1px solid #e0e6ef;border-radius:3px;background:#f7f9fc}@media(max-width:750px){.employee-month{padding:12px}.employee-month-heading{align-items:start;flex-direction:column;gap:4px}.employee-month-grid{gap:3px}.employee-month-day{padding:5px 3px;min-height:70px}.employee-month-day strong{font-size:12px}.employee-month-date{font-size:10px;margin-bottom:5px}.employee-month-day small{font-size:9px}.employee-month-weekday{font-size:11px}.employee-month .open{font-size:12px;padding:8px}.employee-month-legend{gap:9px}}

.employee-month-day{text-decoration:none;color:inherit;cursor:pointer}.employee-month-day:hover{border-color:#202c82;box-shadow:0 0 0 1px #202c82}.employee-day-editor{scroll-margin-top:20px;margin-top:20px;padding:20px;border:1px solid #b5bfea;border-radius:8px;background:#fafbff}.employee-day-editor label{max-width:360px}.employee-day-actions{display:flex;flex-wrap:wrap;gap:8px}.employee-day-editor button{padding:10px 14px}.employee-day-editor details{margin:16px 0}.employee-day-editor summary{cursor:pointer;font-weight:600}.employee-day-editor>form:last-child{margin-top:14px}@media(max-width:750px){.employee-day-editor{padding:12px}.employee-day-actions{flex-direction:column}.employee-day-actions button{white-space:normal}}

.employee-month-day strong{display:block;font-size:14px}.employee-month-day .employee-free-hours{font-weight:700;color:#202c82;margin-top:7px}.employee-day-editor .fields{grid-template-columns:repeat(2,minmax(0,1fr));max-width:740px}.employee-day-editor .fields label{max-width:none}.employee-month-day.leave strong{color:#202c82}@media(max-width:750px){.employee-month-day strong{font-size:11px;overflow-wrap:anywhere}.employee-day-editor .fields{grid-template-columns:1fr}.employee-month-day .employee-free-hours{font-size:10px}}
.day-leave-range{border-top:1px solid #e0e6ef;margin-top:18px;padding-top:16px}.day-leave-range h4{margin:0 0 6px}.day-leave-range>p{font-size:13px;color:#61718a;margin:0 0 12px}.day-leave-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.day-leave-range-fields label{max-width:none}.day-leave-range .employee-day-actions button:last-child{background:#fff;color:#202c82;border:1px solid #b5bfea}@media(max-width:750px){.day-leave-range-fields{grid-template-columns:1fr}}

.employee-day-editor .day-free-label{display:none}.employee-day-editor form:has(option[value="partial"]:checked) .day-work-label{display:none}.employee-day-editor form:has(option[value="partial"]:checked) .day-free-label{display:inline}.employee-day-editor form:has(option[value="off"]:checked) .employee-day-number{display:none}.employee-day-editor .employee-day-number small{display:none}.employee-day-editor form:has(option[value="partial"]:checked) .employee-day-number small{display:block}

.employee-day-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.employee-day-panels>section{padding:16px;background:white;border:1px solid #e0e6ef;border-radius:8px}.employee-day-panels h3{margin:0}.employee-day-panels .day-status{font-weight:600;margin:10px 0}.day-absence-form .absence-hours{display:none}.day-absence-form:has(option[value="partial"]:checked) .absence-hours{display:block}.employee-day-panels .employee-day-actions{gap:6px}.employee-day-panels button{white-space:normal}@media(max-width:750px){.employee-day-panels{grid-template-columns:1fr;gap:12px}}

.employee-month-day.partial{background:linear-gradient(to bottom,#fff0da 0%,#fff0da 55%,#edf1ff 55%,#edf1ff 100%);border-color:#8c96cd}.employee-month-day.partial .employee-free-hours{color:#202c82;font-weight:700;font-size:12px}.employee-month-day.partial strong{color:#23364d}@media(max-width:750px){.employee-month-day.partial .employee-free-hours{font-size:10px}}

.employee-hours>details>summary,.employee-hours .employee-options summary{font-family:inherit;font-size:14px;font-weight:600;line-height:22px;color:#202c82;padding:16px 0;cursor:pointer}

.employee-hours>details>summary,.employee-hours .employee-options summary{padding:10px 0}.employee-hours .employee-options{margin-top:0}.employee-hours>details{margin:0}.employee-hours{padding-top:12px;padding-bottom:12px}

.calendar-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:16px 0}.calendar-toolbar .filters{margin:0;flex:1}.calendar-toolbar select{min-width:240px}.queue-search{display:block;max-width:360px;margin:12px 0}.build-queues:has(.employee-queue){display:block;margin:12px 0 20px}.employee-queue.card{padding:0;margin:0 0 6px}.employee-queue[hidden]{display:none}.employee-queue summary{display:grid;grid-template-columns:minmax(160px,1fr) 80px minmax(200px,2fr);gap:12px;align-items:center;padding:12px 16px;cursor:pointer;list-style:none}.employee-queue summary strong:before{content:'▸ ';color:#232980}.employee-queue[open] summary strong:before{content:'▾ '}.employee-queue summary span{font-size:13px}.queue-content{padding:0 16px 12px}.queue-content .queue-job small{display:block}@media(max-width:600px){.employee-queue summary{grid-template-columns:1fr 65px}.employee-queue summary span:last-child{grid-column:1/-1}.calendar-toolbar select{min-width:0;width:100%}}

.calculation-panel .calculation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calculation-heading h2{margin:0}.calculation-count{font-size:12px;font-weight:600;background:#eef1ff;color:#252b82;border-radius:20px;padding:5px 10px;white-space:nowrap}.calculation-create{border:1px solid #dce3f0;border-radius:8px;background:#f8faff;margin-bottom:20px}.calculation-create>summary{padding:11px 13px;cursor:pointer;color:#252b82;font-weight:600;font-size:14px}.calculation-create .calculation-add{padding:0 13px 13px;display:flex;flex-wrap:wrap;gap:10px}.calculation-create label{min-width:130px;font-size:13px}.calculation-open-list h3{font-size:13px;color:#607695;margin:0 0 10px;font-weight:600}.calculation-list{display:grid;gap:10px}.calculation-panel .calculation-item{border:1px solid #dce3f0;border-radius:8px;padding:14px;background:#fff}.calculation-panel .calculation-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.calculation-info{min-width:0}.calculation-number{font-size:16px;display:block;margin-bottom:4px}.calculation-status{display:block;font-size:12px;line-height:1.5;color:#607695}.calculation-deadline{display:block;font-size:12px;margin-top:7px}.calculation-deadline strong{font-weight:600}.calculation-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.calculation-actions form{margin:0}.calculation-actions button{font-size:13px;padding:9px 12px;white-space:nowrap}.calculation-edit{margin-top:12px;border-top:1px solid #edf0f6;padding-top:9px}.calculation-edit>summary{font-size:12px;color:#607695;cursor:pointer}.calculation-edit .calculation-due-form{margin-top:10px}.calculation-history{border-top:1px solid #dce3f0;padding-top:14px;margin-top:20px}.calculation-panel .calculation-history summary{font-size:14px;font-weight:600}.calculation-history table{font-size:12px}@media(max-width:480px){.calculation-panel .calculation-row{align-items:flex-start;flex-wrap:wrap}.calculation-actions{justify-content:flex-start}.calculation-create .calculation-add button{width:100%}}

.calculation-history td{vertical-align:middle}.calculation-history td form{margin:0}.calculation-panel .calculation-delete{background:#fff;color:#922b35;border:1px solid #e5bcc1;padding:6px 10px;font-size:12px}.calculation-history td:last-child{white-space:nowrap}

.build-plan-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.build-plan-fields label{min-width:0;font-size:14px;line-height:1.35}.build-plan-fields input{min-width:0}.build-plan-help{margin:12px 0 0;color:#718096;font-size:12px;line-height:1.45}.build-forecast{display:grid;gap:6px;margin-top:14px;padding:10px 12px;border:1px solid #dce4ee;border-radius:8px;background:#f6f8fc;color:#526176;font-size:13px}.build-forecast strong{color:#183153;font-size:15px}.build-forecast .delivery-deadline-warning{padding:8px 10px;border:1px solid #f0c5b7;border-radius:6px;background:#fff0eb;color:#a3331a}.build-forecast span{line-height:1.5}@media(max-width:720px){.build-plan-fields{grid-template-columns:1fr;gap:0}}

/* Build plan as a compact horizontal bar */
.build-plan-card{container-type:inline-size}.build-plan-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.build-plan-fields label{white-space:nowrap;font-size:13px}.build-plan-fields input{padding:9px 10px}.build-plan-help{font-size:11px}@container (max-width:600px){.build-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}}@container (max-width:390px){.build-plan-fields{grid-template-columns:1fr;gap:0}.build-plan-fields label{white-space:normal}}@media(max-width:720px){.build-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.build-plan-fields label{white-space:nowrap}}@media(max-width:480px){.build-plan-fields{grid-template-columns:1fr;gap:0}.build-plan-fields label{white-space:normal}}

/* Build plan: one hours input and one shared delay input */
.build-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.build-plan-fields label{white-space:normal;font-size:14px}.build-plan-fields input{padding:11px}.build-plan-help{font-size:12px}@media(max-width:480px){.build-plan-fields{grid-template-columns:1fr;gap:0}}
.finish-board-choice{display:flex;align-items:center;gap:10px;margin:18px 0 6px;padding:12px 14px;border:1px solid #b9ddc7;border-radius:8px;background:#edf8f0;color:#205d39}.finish-board-choice input{width:20px;height:20px;margin:0;accent-color:#23834d}
.my-task-scroll{max-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aa9c1 #f1f4f8}.home-followup-list{max-height:470px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aa9c1 #f1f4f8}.home-scroll-hint{margin:0 0 8px}.my-task-scroll:focus-visible,.home-followup-list:focus-visible{outline:3px solid #659edb;outline-offset:2px}@media(max-width:750px){.my-task-scroll{max-height:360px}.home-followup-list{max-height:700px}}
.my-task-scroll thead th{position:sticky;top:0;z-index:1}

/* Group order tasks into compact, progress-aware phases. */
.detail-grid .order-phases{margin-top:22px}
.detail-grid .order-phase{margin:12px 0;border:1px solid #dce4ee;border-radius:9px;background:#fff;overflow:hidden}
.detail-grid .order-phase>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:16px 36px minmax(180px,1fr) auto minmax(110px,190px);align-items:center;gap:12px;padding:15px 18px}
.detail-grid .order-phase>summary::-webkit-details-marker{display:none}
.detail-grid .order-phase>summary::marker{content:""}
.detail-grid .order-phase>summary::before{content:"›";font-size:22px;line-height:1;color:#202c82}
.detail-grid .order-phase[open]>summary::before{content:"⌄"}
.phase-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#26364d;color:#fff;font-weight:700}
.phase-heading{min-width:0}
.phase-heading strong{display:block;font-size:16px;color:#23364d}
.phase-heading small{margin:2px 0 0;font-size:12px;font-weight:400}
.phase-progress{font-size:12px;font-weight:700;white-space:nowrap;color:#526176}
progress.phase-progress-track{-webkit-appearance:none;appearance:none;display:block;width:100%;height:8px;border:0;border-radius:999px;background:#e5eaf1;overflow:hidden}
progress.phase-progress-track::-webkit-progress-bar{border-radius:999px;background:#e5eaf1}
progress.phase-progress-track::-webkit-progress-value{border-radius:999px;background:#2ba66a}
progress.phase-progress-track::-moz-progress-bar{border-radius:999px;background:#2ba66a}
.detail-grid .order-phase[open]>summary{border-bottom:1px solid #e6ebf2}
.detail-grid .order-phase .order-steps{padding:0 18px;margin:0}
.detail-grid .order-phase .order-steps li:last-child{border-bottom:0}
.detail-grid .order-phase .order-steps li{padding:14px 0}
@media(max-width:700px){.detail-grid .order-phase>summary{grid-template-columns:16px 32px minmax(0,1fr) auto;gap:8px;padding:13px}.phase-progress-track{grid-column:3/-1;width:100%}.phase-heading small{font-size:11px}.detail-grid .order-phase .order-steps{padding:0 13px}}

.task-status-chip.status-on_hold{color:#8a3d12;background:#ffeadb}.detail-grid .order-steps li.task-on_hold{background:#fff5ed}.flow-step.status-on_hold{background:#ffeadb;color:#8a3d12}
