/* Screen-only charcoal palette keeps printed estimates and invoices readable. */
@media screen {
 :root{--navy:#F2F4F5;--ink:#F2F4F5;--muted:#B8BEC6;--line:#343A42;--pale:#292E35;--blue:#88B9FF;color-scheme:dark}
 body{background:#15181C;color:#F2F4F5}
 .app,.screen,header,.site-footer{background:#20242A;color:#F2F4F5;box-shadow:none}
 .app{border:1px solid #343A42;border-radius:18px}
 .card,.job,dialog,.job-details,.job-detail-body,.job-workspace-panel,.finance-strip,.status-track,.human-check,.workload-grid button,.conversation-preview,.chat-message,.status-update,.summary-grid>*,.customer-hours,.technician-profile,.estimate-group,.document-paper{background:#292E35;color:#F2F4F5;border-color:#343A42;box-shadow:none}
 h1,h2,h3,h4,strong,summary,.eyebrow,.compact-job-heading,.next-action,.view-job,.document-paper h2{color:#F2F4F5}
 .meta,.lead,small,label,.job-details summary>span,.workload-grid small,.performance-metrics article span{color:#B8BEC6}
 input,select,textarea{background:#20242A;color:#F2F4F5;border-color:#59616C}
 input::placeholder,textarea::placeholder{color:#B8BEC6}
 .secondary,.ghost,.back,.tabs button,.job-filters button,.job-workspace-tabs button{background:#292E35;color:#F2F4F5;border:1px solid #59616C}
 .primary{background:#93BDFA;color:#15181C;border-color:#93BDFA}
 .link,a{color:#A8CFFF}
 .tabs button.active,.job-filters button[aria-pressed=true],.job-workspace-tabs button[aria-selected=true]{background:#3B485A;color:#fff;border-color:#A8CFFF;box-shadow:inset 3px 0 #A8CFFF}
 button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #A8CFFF;outline-offset:3px}
 button:disabled{opacity:.55}
 .next-step{border-left:3px solid #A8CFFF;padding:12px 16px;margin:0 0 18px;background:#20242A;border-radius:8px}
 .next-step small,.next-step strong{display:block}.next-step small:nth-of-type(2){margin-top:12px}.next-step h4,.next-step p{margin:5px 0}
 .settings-group>summary{font-size:18px;cursor:pointer}.settings-group[open]>summary{margin-bottom:18px}
 #owner.simple-navigation:not(.hide){display:flex;align-items:flex-start;gap:28px}
 #owner.simple-navigation>.owner-main{flex:1;min-width:0;order:0}
 #owner.simple-navigation>.owner-tabs{order:1;position:sticky;top:90px;display:flex;flex-direction:column;flex:0 0 205px;gap:8px;background:#20242A;padding:12px;border:1px solid #343A42;border-radius:12px}
 #owner.simple-navigation>.owner-tabs button{width:100%;text-align:left;white-space:normal;margin:0;min-height:44px}
 #owner.simple-navigation>.owner-tabs #ownerLogout{margin-top:22px}
 .owner-main:empty,.simple-navigation .message-toolbar:empty{display:none}
 @media(max-width:760px){#owner.simple-navigation:not(.hide){flex-direction:column}#owner.simple-navigation>.owner-tabs{order:0;position:static;flex:auto;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#owner.simple-navigation>.owner-main{order:1;width:100%}}
}
@media screen {
 :root{--bg:#15181C}
 .tabs,#customer .tabs,#owner .owner-tabs{background:#20242A;border-color:#343A42}
 #customer .tabs button.active{background:#3B485A;color:#fff;box-shadow:inset 3px 0 #A8CFFF}
 #customer label,#auth label,#guest label{color:#B8BEC6}
 #customer input,#customer select,#customer textarea,#auth input,#guest input{background:#20242A;color:#F2F4F5}
 #owner .workload-grid button,#ownerJobs.workflow-board .job,.services article,.repair-document,.admin-table tr{background:#292E35;color:#F2F4F5;border-color:#343A42}
 #ownerJobs.workflow-board .job-group,.job-save-bar{background:#20242A}
 #owner .workload-grid strong,#owner .next-action,#owner .view-job,.schedule-dialog,.account-actions summary{color:#F2F4F5}
 .repair-document small,.doc-footer,.doc-lines small{color:#B8BEC6}
 .job-view-switch button{background:#292E35;color:#F2F4F5;border-color:#59616C}
 .job-view-switch [aria-pressed=true]{background:#3B485A;color:#fff}
 .reminder{background:#443722;color:#FFE0A0}.reminder strong{color:#FFE0A0}
 .howto-guide-link:hover{background:#3B485A}
}
/* Explicit component pairs prevent legacy light surfaces from inheriting pale text. */
@media screen {
 #customer .notification-message,#owner .notification-message{background:#292E35;color:#F2F4F5;border-color:#59616C}
 #customer .notification-message.unread,#owner .notification-message.unread{background:#303D50;color:#F2F4F5;border-left-color:#A8CFFF}
 .notification-message>strong,.notification-message p{color:#F2F4F5}
 .notification-message time,.notification-message footer>span,.chat-message time,.conversation-preview time,.admin-report footer time{color:#B8BEC6}
 .workflow-dialog,.message-dialog,.admin-dialog,.schedule-dialog{background:#292E35;color:#F2F4F5}
 .chat-message.mine,.estimate-total,.admin-metrics article,.admin-table-wrap,.support-reply{background:#292E35;color:#F2F4F5}
 .admin-table th{background:#20242A;color:#F2F4F5}
 .admin-metrics span,.admin-table td::before{color:#B8BEC6}
 .admin-nav button{background:#292E35;color:#F2F4F5;border-color:#59616C}
 .admin-nav button.active{background:#3B485A;color:#fff}
 .agreement a,.site-footer a{color:#A8CFFF}
 .workflow-error,#messageError,#adminError,#adminDialogError,#scheduleError,.delete-account-zone h3,#estimateAttention h3::before{color:#FFB4AB}
 .status-track.special{background:#443722;color:#FFE0A0}.status-track.special strong{color:inherit}
 .notice strong,.notice small,.signup-feedback strong,.billing-feedback strong{color:inherit}
 .notification-message,.chat-message,.support-reply,.legal-document{overflow-wrap:anywhere}
}
@media screen {
 header .brand-logo{box-sizing:border-box;width:54px;height:54px;flex:0 0 54px;padding:5px;background:#F5F6F7;border:1px solid #D6DBE1;border-radius:10px;object-fit:contain}
}
#customer #customerBusinessOverview{margin-top:20px}
#customer #customerTechnicianProfile{margin-top:0;padding:0;border:0;background:transparent;box-shadow:none}
.booking-business-contact p{margin:6px 0;overflow-wrap:anywhere}
.booking-business-contact:empty{display:none}
.booking-technician{display:flex;align-items:flex-start;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.booking-technician-photo{width:96px;height:96px;flex:0 0 96px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#F5F6F7}
.booking-technician-info{min-width:0;flex:1;overflow-wrap:anywhere}
.booking-technician-info .eyebrow{margin-top:0}.booking-technician-info p:last-child{margin-bottom:0}
.technician-bio{white-space:pre-line}
@media(max-width:480px){.booking-technician{flex-direction:column;gap:14px}}
/* Estimates and invoices use a paper surface on screen and in printed receipts. */
.repair-document{background:#fff;color:#172333;color-scheme:light}
.repair-document .doc-header{background:#fff;color:#172333;position:static;height:auto;min-height:0;box-shadow:none}
.repair-document h1,.repair-document h2,.repair-document h3,.repair-document h4,.repair-document strong,.repair-document summary,.repair-document p,.repair-document th,.repair-document td,.repair-document label{color:#172333}
.repair-document small,.repair-document .meta,.repair-document .doc-footer,.repair-document .doc-lines small{color:#526070}
.repair-document input,.repair-document select,.repair-document textarea{background:#fff;color:#172333;border-color:#8995A3}
.repair-document .secondary,.repair-document .link,.repair-document a{background:#F1F4F8;color:#174283;border-color:#8995A3}
@media print{
 body.printing-document,#documentPrint,.repair-document,.repair-document .doc-header{background:#fff;color:#000}
 .repair-document h1,.repair-document h2,.repair-document h3,.repair-document h4,.repair-document strong,.repair-document p,.repair-document th,.repair-document td{color:#000}
}
