/* Plumbing Ops Pro's shared office and field design. */
:root{--nav:#101c30;--bg:#f3f6fb;--blue:#1769e0;--line:#dfe6f0}
.side,.sidebar{background:linear-gradient(170deg,#101c30,#14253c)!important}.side>.app-brand-logo,.sidebar>.app-brand-logo{display:none!important}.brand{font-size:25px!important;line-height:1.15!important;white-space:normal!important;cursor:pointer}.brand:after{content:none!important}.brand-ops,.brand i{color:#3b82f6!important}.nav button.active{background:#1769e0!important;border-radius:12px}.nav button:hover:not(.active){background:#1a2a45!important;color:#fff;border-radius:12px}.nav button{font-size:14px!important;text-align:left!important}.nav button:before{content:none!important}.card,.panel{border-radius:16px}.btn{border-radius:10px;min-height:42px}.cards{gap:18px}.content,#techSchedule{padding-bottom:230px!important}.head h1{font-size:30px}.top{background:var(--bg);border:0}.job-call-card{padding:24px!important}.job-call-heading{margin:0 0 18px;font-size:25px}.job-call-card>p{line-height:1.8}.job-choice{display:block;text-align:left;width:100%;margin:8px 0}.job-brand{font-size:25px;font-weight:850;line-height:1.15;padding:26px 16px 32px;color:white;overflow-wrap:normal}.job-brand span{color:#3b82f6}.job-workspace{position:fixed;inset:0;background:var(--bg);overflow:auto;z-index:70}.job-rail{position:fixed;top:0;bottom:0;left:0;width:154px;background:linear-gradient(160deg,#101c30,#14253c);padding:10px;overflow-y:auto;z-index:1}.job-rail nav{display:grid;gap:20px}.job-rail button{border:0;color:#dbeafe;background:transparent;padding:18px 10px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:10px;font:inherit;cursor:pointer}.job-rail button.active{background:var(--blue);color:white}.job-content{padding:28px 94px 40px 182px;max-width:1540px;margin:auto}.job-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.job-heading h1{margin:8px 0;font-size:30px}.job-heading>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.job-status-action{min-width:145px}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.job-card{padding:24px;margin:0 0 20px;background:white;border:1px solid var(--line);border-radius:16px;min-width:0;overflow-wrap:anywhere}.job-card h2{font-size:20px;margin:0 0 18px}.job-card h3{font-size:16px;border:0;padding:0;margin:20px 0 10px}.job-card p{line-height:1.6}.job-card textarea{width:100%;padding:14px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;margin:12px 0}.job-card dl{display:grid;grid-template-columns:130px 1fr;gap:14px}.job-card dt{color:#64748b}.job-card dd{margin:0;font-weight:650}.job-context{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;padding:22px;background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:26px}.job-context div{display:grid;gap:6px;min-width:0}.job-context small,.job-heading small{color:#64748b}.job-context strong{font-size:16px}.job-context span{color:#64748b;font-size:13px}.job-tool-dock{position:fixed;right:14px;bottom:max(26px,env(safe-area-inset-bottom));z-index:9998;display:grid;gap:8px}.job-tool-dock button{width:62px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;color:#1769e0;border:1px solid #b8cbea;border-radius:12px;box-shadow:0 3px 12px #10203c12;font-size:11px;cursor:pointer}.job-tool-dock[hidden]{display:none!important}.job-note{padding:16px 0;border-top:1px solid var(--line)}.job-note-body{white-space:pre-wrap;overflow-wrap:anywhere}.job-note small{color:#64748b}.job-checkbox{display:flex;align-items:center;gap:10px;margin:10px 0 18px}.job-checkbox input{width:20px;height:20px}.job-gallery{display:flex;gap:12px;overflow:auto}.job-gallery a{width:150px;flex:none;background:#f1f5f9;border-radius:10px;padding:10px;text-decoration:none;color:#334155;overflow-wrap:anywhere;font-size:12px}.job-gallery img{width:130px;height:100px;object-fit:cover;border-radius:8px}.job-gallery span{display:block;margin-top:8px}.job-contact-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.job-contact-row small{display:block;color:#64748b;margin-top:6px}.job-contact-editor{display:grid;grid-template-columns:100px 1fr 1fr 150px auto;gap:10px;margin:12px 0;align-items:end}.job-contact-editor label{font-size:12px;color:#64748b}.job-contact-editor input,.job-contact-editor select{display:block;width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;margin-top:5px}.job-media-choices{display:flex;flex-wrap:wrap;gap:12px}.job-media-choices label{cursor:pointer}.estimate-workspace{padding:28px 94px 40px 182px!important}.estimate-workspace .job-rail{z-index:31}.estimate-workspace-header{border:0;gap:18px}.estimate-workspace-header h2{font-size:30px}.estimate-option-tabs{margin:20px 0}.estimate-workspace .job-card{margin-top:20px}#estimateForm>h3{padding:0;border:0;font-size:20px}.estimate-workspace .actions{padding:16px 0}
@media(max-width:800px){.brand{font-size:25px!important}.job-rail{width:76px;padding:4px}.job-brand{font-size:13px;padding:20px 3px;line-height:1.4}.job-rail nav{gap:8px}.job-rail button{padding:14px 3px;font-size:10px}.job-rail svg{width:22px}.job-content,.estimate-workspace{padding:16px 14px 235px 90px!important}.job-grid,.job-context{grid-template-columns:1fr}.job-card{padding:16px}.job-card dl{grid-template-columns:1fr;gap:7px}.job-card dd{margin-bottom:10px}.job-heading{flex-wrap:wrap}.job-heading h1{font-size:23px}.job-heading>div:last-child{width:100%}.job-contact-editor{grid-template-columns:1fr}.job-contact-row{flex-wrap:wrap}.job-tool-dock button{width:52px;min-height:54px}.job-tool-dock{right:8px;bottom:max(24px,env(safe-area-inset-bottom))}.job-content .job-card:last-child{margin-right:58px}.estimate-workspace-header h2{font-size:24px}.job-context{padding:16px;gap:12px}#jobContactForm .formgrid{grid-template-columns:1fr}.job-content>h1{font-size:25px}}
@media print{.job-tool-dock,.job-rail{display:none!important}}
.job-current-call{padding:24px!important}.job-current-call .job-heading h1{font-size:27px}.job-current-call .job-grid{grid-template-columns:1fr 1fr}.job-current-call .job-card:last-child{margin-right:0}.job-current-call>.job-card{margin-bottom:0}
@media(max-width:800px){.job-current-call{padding:14px!important}.job-current-call .job-grid{grid-template-columns:1fr}.job-current-call .job-heading h1{font-size:23px}}
/* Compact layout is scoped exclusively to technicians. */
body.tech-compact .job-booking-readonly{display:grid;gap:0}body.tech-compact .job-readonly-field{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #eef2f7}body.tech-compact .job-readonly-field:last-child{border-bottom:0}body.tech-compact .job-readonly-field span{color:#64748b;font-size:12px}body.tech-compact .job-readonly-field strong{font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:800px){body.tech-compact .job-rail{width:64px;padding:3px}body.tech-compact .job-brand{font-size:11px;padding:12px 2px 18px}body.tech-compact .job-rail nav{gap:4px}body.tech-compact .job-rail button{min-height:56px;padding:9px 2px;gap:5px;font-size:10px;border-radius:9px}body.tech-compact .job-rail svg{width:20px;height:20px}body.tech-compact .job-content,body.tech-compact .estimate-workspace{padding:12px 10px 185px 74px!important}body.tech-compact .job-content>h1,body.tech-compact .estimate-workspace-header h2{font-size:21px;margin:12px 0}body.tech-compact .job-heading{gap:8px;margin-bottom:12px}body.tech-compact .job-heading h1,body.tech-compact .job-current-call .job-heading h1{font-size:21px;margin:4px 0}body.tech-compact .job-heading>div:last-child{gap:6px}body.tech-compact .job-heading>.btn{font-size:12px;padding:8px 10px}body.tech-compact .job-card{padding:12px;margin-bottom:12px;border-radius:12px}body.tech-compact .job-card h2{font-size:16px;margin-bottom:10px}body.tech-compact .job-card h3{font-size:14px;margin:12px 0 6px}body.tech-compact .job-card p{font-size:13px;margin:8px 0;line-height:1.45}body.tech-compact .job-grid{gap:0}body.tech-compact .job-card dl{margin:8px 0;gap:5px;font-size:13px}body.tech-compact .job-card dt{font-size:11px}body.tech-compact .job-card dd{margin-bottom:5px}body.tech-compact .job-context{grid-template-columns:1fr 1fr;gap:10px;padding:12px;margin-bottom:12px;border-radius:12px}body.tech-compact .job-context>div:first-child{grid-column:1/-1;gap:3px}body.tech-compact .job-context strong{font-size:13px;line-height:1.4}body.tech-compact .job-context small,body.tech-compact .job-context span{font-size:11px}body.tech-compact .job-context div{gap:3px}body.tech-compact .job-contact-row{padding:8px 0;gap:6px;font-size:13px}body.tech-compact .job-contact-row small{margin-top:3px;font-size:11px}body.tech-compact .job-contact-row .btn{min-height:40px;padding:8px 10px;font-size:12px}body.tech-compact .job-booking-readonly .job-readonly-field{grid-template-columns:80px minmax(0,1fr);gap:8px;padding:7px 0}body.tech-compact .job-readonly-field strong{font-size:13px}body.tech-compact .job-readonly-field span{font-size:11px}body.tech-compact .job-tool-dock{right:6px;gap:5px}body.tech-compact .job-tool-dock button{width:44px;min-height:46px;border-radius:9px;font-size:9px;gap:2px}body.tech-compact .job-tool-dock svg{width:20px;height:20px}body.tech-compact .job-content .job-card:last-child{margin-right:0}body.tech-compact .job-note{padding:10px 0}body.tech-compact .job-note small{font-size:11px}body.tech-compact .job-contact-editor{gap:8px;padding:10px;background:#f8fafc;border-radius:10px}body.tech-compact .job-contact-editor label{font-size:11px}body.tech-compact .job-contact-editor input,body.tech-compact .job-contact-editor select{padding:8px;margin-top:3px;min-height:44px}body.tech-compact .job-card textarea{padding:10px;margin:8px 0}body.tech-compact .job-checkbox{font-size:13px;margin:8px 0 12px}body.tech-compact .job-media-choices{gap:8px}body.tech-compact .job-media-choices .btn{font-size:12px}body.tech-compact .job-current-call{padding:12px!important}body.tech-compact .job-gallery a{width:114px}body.tech-compact .job-gallery img{width:94px;height:76px}body.tech-compact .estimate-workspace-header{margin-bottom:12px;padding-bottom:0;gap:8px}body.tech-compact .estimate-workspace-header .btn{font-size:12px;padding:8px 10px}body.tech-compact .estimate-option-tabs{gap:6px;margin:12px 0}body.tech-compact .estimate-workspace .job-card{margin-top:12px}body.tech-compact .job-content .formgrid{gap:8px}
}
/* Compact service-address history lists and separate record pages. */
.history-menu button{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid #e2e8f0;padding:16px 0;text-align:left;color:#17253a;font:inherit;cursor:pointer}
.history-menu button:last-child{border:0}.history-menu button>span:first-child{display:flex;align-items:center;gap:10px;flex:1}.history-scope{color:#64748b;font-size:13px}.history-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.history-controls label{font-size:13px;color:#64748b}.history-controls select{max-width:160px;margin-left:5px;padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:white;color:#17253a;font:inherit}.history-record{display:block;width:100%;text-align:left;color:#17253a;font:inherit;cursor:pointer}.history-record strong{display:block;font-size:16px}.history-record p{margin:8px 0;font-size:13px;color:#64748b}.history-record small{display:block;line-height:1.5}.history-record>div{margin-top:10px}.history-arrow{float:right;color:#1464d8;font-size:13px}.history-items article{border-bottom:1px solid #e2e8f0;padding:10px 0}.history-pages{display:flex;flex-wrap:wrap;gap:6px}.job-history .job-gallery{margin-top:12px}.job-history .job-gallery small{display:block;font-size:11px}.job-history .job-gallery img{height:90px;object-fit:cover}.job-history h1{font-size:26px}
@media(max-width:800px){.job-history .job-heading{gap:8px}.job-history h1{font-size:20px}.history-controls{gap:8px}.history-menu button{padding:14px 0;font-size:14px}.history-record strong{font-size:15px}.job-history .job-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.history-record p{font-size:12px}.job-history .job-card{padding:12px}.job-history .btn{min-height:40px}}
/* Tools stay within the left rail instead of covering job content. */
.job-rail{padding-bottom:220px}.job-tool-dock{left:12px;right:auto!important;bottom:max(12px,env(safe-area-inset-bottom));background:#14253c;padding:5px;border-radius:12px}.job-tool-dock.in-job-rail{left:10px;width:134px;padding:0;background:transparent}.job-tool-dock.in-job-rail button{width:100%;min-height:54px;background:transparent;color:#dbeafe;border:1px solid #ffffff24;box-shadow:none;flex-direction:row;gap:10px}.job-tool-dock.in-job-rail button:hover{background:#ffffff16}.schedule-open-job{display:block;width:100%;margin-top:12px}.job-content{padding-right:24px}.estimate-workspace{padding-right:24px!important}
@media(max-width:800px){.job-rail{padding-bottom:180px}.job-tool-dock{left:6px;right:auto!important;bottom:max(10px,env(safe-area-inset-bottom))}.job-tool-dock.in-job-rail{left:4px;width:68px;gap:5px}.job-tool-dock.in-job-rail button{width:100%;min-height:46px;padding:5px 2px;flex-direction:column;gap:2px;border-radius:8px;font-size:10px}.job-tool-dock.in-job-rail svg{height:20px;width:20px}.job-content .job-card:last-child{margin-right:0}body.tech-compact .job-tool-dock.in-job-rail{left:3px;width:58px}body.tech-compact .job-tool-dock.in-job-rail button{width:58px;min-height:44px}body.tech-compact .job-tool-dock.in-job-rail{bottom:max(10px,env(safe-area-inset-bottom))}.job-rail nav{gap:2px}.job-rail nav button{padding:8px 2px;min-height:48px}.job-brand{padding-top:10px;padding-bottom:14px}}
@media(max-height:590px){.job-rail nav{gap:0}.job-rail nav button{min-height:36px;padding:4px;flex-direction:row;gap:4px;font-size:9px}.job-rail nav svg{width:16px;height:16px}.job-tool-dock.in-job-rail button{min-height:34px;flex-direction:row;font-size:9px}.job-tool-dock.in-job-rail svg{width:16px;height:16px}.job-brand{padding:6px 2px}.job-rail{padding-bottom:120px}}
/* v147: sidebar categories belong to the opened job, never to My Schedule. */
.job-rail{display:flex;flex-direction:column;padding:10px;overflow:hidden;height:100dvh;box-sizing:border-box}
.job-rail>nav{overflow-y:auto;min-height:0;flex:1;align-content:start}
.job-brand{flex:none}
.job-tool-dock.in-job-rail{position:static;width:100%;flex:none;margin-top:12px;padding:0 0 env(safe-area-inset-bottom);background:none;border:0;border-radius:0;gap:4px;z-index:auto}
.job-tool-dock.in-job-rail button{width:100%;border:0!important;border-radius:0;box-shadow:none!important;background:none;color:#dbeafe;min-height:52px;font-size:13px}
.job-tool-dock.in-job-rail button:hover{background:#ffffff12}
.job-tool-dock.in-job-rail button:focus-visible{outline:2px solid #93c5fd;outline-offset:-3px}
.job-info-row{display:flex;align-items:flex-start;gap:14px;min-width:0}
.job-info-row>svg{flex:none;margin-top:3px;color:#334155}
.job-info-row>div{min-width:0;display:grid;gap:3px}
.job-info-row span{color:#64748b;font-size:13px}
.job-info-row strong{font-size:15px;font-weight:550;line-height:1.45;overflow-wrap:anywhere}
.job-overview-rows{display:grid;gap:18px}
.job-address-row{display:flex;align-items:flex-start;gap:12px}.job-address-row svg{flex:none;margin-top:8px}
.job-address-row p{margin:4px 0 12px}
.job-directions{display:inline-block;margin-left:36px;color:#1769e0;font-size:14px;padding:8px 0;min-height:40px}
/* Keep schedule information compact while preserving permissions and live totals. */
body.tech-compact #techSchedule .schedule-job-panel{background:none;border:0;box-shadow:none;padding:0}
body.tech-compact #techSchedule .schedule-call{padding:18px;margin:0 0 12px;border-radius:12px}
.schedule-call-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.schedule-call-top small{color:#64748b;font-size:13px}.schedule-call-top .pill{margin:0 0 0 4px}
body.tech-compact .schedule-call h2{font-size:23px;margin:8px 0 4px;line-height:1.2}
.schedule-department{font-size:14px;color:#64748b;margin:0 0 14px!important}
.schedule-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:12px 0}
.schedule-times>.job-info-row+div{border-left:1px solid #e2e8f0;padding-left:10px}
.schedule-detail{padding:12px 0;border-bottom:1px solid #eef2f7}.schedule-detail:last-of-type{border-bottom:0}
.schedule-contact{font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#64748b;margin:8px 0}
body.tech-compact .schedule-open-job{margin-top:8px;min-height:44px;font-size:15px;padding:10px}
body.tech-compact #techSchedule>.schedule-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid #dfe6f0;border-radius:12px;overflow:hidden;margin-bottom:14px}
body.tech-compact .schedule-stats>.card{border:0;border-radius:0;box-shadow:none;padding:14px;min-width:0}
body.tech-compact .schedule-stats>.card:nth-child(even){border-left:1px solid #eef2f7}
body.tech-compact .schedule-stats>.card:nth-child(n+3){border-top:1px solid #eef2f7}
body.tech-compact .schedule-stats .value{font-size:24px;line-height:1.25;margin:4px 0}
body.tech-compact .schedule-stats .label{font-size:12px;line-height:1.4}
body.tech-compact #techSchedule .tech-timeclock{padding:14px;border-radius:12px}
body.tech-compact #techSchedule .tech-timeclock h2{font-size:15px!important;margin:0 0 3px!important}
body.tech-compact .tech-timeclock .label{font-size:12px}
body.tech-compact .tech-timeclock .btn{min-height:44px;font-size:13px;padding:9px 12px}
body.tech-compact #techSchedule .head h1{font-size:24px;margin:0 0 4px}
body.tech-compact #techSchedule .head p{font-size:14px;margin:0}
body.tech-compact #techSchedule .head{margin-bottom:14px}
body.tech-compact #techSchedule .schedule-revenue{padding:16px;border-radius:12px;overflow-x:auto}
body.tech-compact .schedule-revenue h3{font-size:17px;margin:0 0 10px}
@media(max-width:800px){
 .job-rail,body.tech-compact .job-rail{padding:4px;width:76px;height:100dvh}
 body.tech-compact .job-brand{font-size:12px;padding:12px 3px 18px}
 .job-tool-dock.in-job-rail,body.tech-compact .job-tool-dock.in-job-rail{width:100%;margin-top:8px;gap:2px}
 .job-tool-dock.in-job-rail button,body.tech-compact .job-tool-dock.in-job-rail button{width:100%;min-height:52px;padding:7px 2px;flex-direction:column;font-size:11px;gap:4px}
 body.tech-compact .job-rail nav button{min-height:60px;font-size:11px;padding:10px 2px}
 body.tech-compact .job-rail svg{width:23px;height:23px}
 body.tech-compact .job-content,body.tech-compact .estimate-workspace{padding:14px 12px 24px 88px!important}
 body.tech-compact .job-card{padding:14px;margin-bottom:12px}
 body.tech-compact .job-overview-rows{gap:16px}
 body.tech-compact .job-info-row{gap:10px}
 body.tech-compact .job-info-row span{font-size:12px}
 body.tech-compact .job-info-row strong{font-size:14px}
 body.tech-compact .job-heading h1{font-size:23px;line-height:1.2;overflow-wrap:anywhere}
 body.tech-compact .job-heading>div:last-child>.btn{padding:10px;font-size:13px;min-height:44px;min-width:0;flex:1}
 body.tech-compact .job-heading>div:last-child{display:flex;flex-wrap:wrap}
 body.tech-compact .job-card .btn{font-size:13px;min-height:44px;padding:9px 12px;margin:3px 0}
 body.tech-compact #techSchedule{padding:14px 12px 24px!important}
 body.tech-compact #techSchedule .schedule-call{padding:14px}
 body.tech-compact .schedule-call h2{font-size:21px}
 body.tech-compact .schedule-times .job-info-row{gap:7px}
 body.tech-compact .schedule-times svg{width:20px;height:20px}
 body.tech-compact .schedule-times .job-info-row strong{font-size:13px}
 body.tech-compact .tech-timeclock>div{gap:8px!important}
 body.tech-compact .tech-timeclock>div>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
}
@media(max-height:590px){.job-brand{padding:6px 2px}.job-tool-dock.in-job-rail button,body.tech-compact .job-tool-dock.in-job-rail button{min-height:36px;flex-direction:row;font-size:10px}.job-tool-dock.in-job-rail{margin-top:4px}.job-rail>nav{overflow:auto}}
@media(max-width:360px){body.tech-compact .schedule-times{grid-template-columns:1fr}body.tech-compact .schedule-times>.job-info-row+div{border-left:0;border-top:1px solid #eef2f7;padding:8px 0 0}}
body.tech-compact .schedule-stats>.card{position:relative;padding-left:56px}
.stat-icon{position:absolute;top:16px;left:12px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#eff6ff;color:#1769e0;border-radius:50%}.stat-icon svg{width:21px;height:21px}
.clock-state{display:flex;align-items:center;gap:6px}.clock-state>span{width:8px;height:8px;border-radius:50%;background:#94a3b8}.clock-state.clocked-in{color:#15803d}.clock-state.clocked-in>span{background:#16a34a}.clock-state.on-lunch{color:#a16207}.clock-state.on-lunch>span{background:#eab308}
.schedule-revenue-total{font-weight:750;font-size:26px;margin-bottom:12px;color:#17253a}.schedule-revenue-total small{display:block;font-size:12px;color:#64748b;font-weight:400;margin-top:4px}.schedule-revenue summary{cursor:pointer;color:#1769e0;font-size:13px;padding:8px 0;min-height:40px}.schedule-revenue table{font-size:12px}
@media(max-width:360px){body.tech-compact .schedule-stats>.card{padding:10px}.stat-icon{display:none}}
.invoice-book-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.invoice-book-heading h2{margin:0}#invoiceSelectedPreviewTiles{display:flex;gap:10px;overflow-x:auto;padding-top:10px}#invoiceSelectedItemEditor .job-note-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}

/* Invoice summary: compact editor with automatic-save feedback. */
#invoiceWorkspace .invoice-summary-card{padding:20px;margin-bottom:18px;overflow:visible}
#invoiceWorkspace .invoice-summary-card label{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:10px}
#invoiceWorkspace .invoice-summary-card textarea{display:block;width:100%;min-height:100px;padding:12px 14px;line-height:1.5;border:1px solid #d5dce6;border-radius:10px;background:#fafbfc;resize:vertical}
#invoiceWorkspace .invoice-summary-card textarea:focus{background:#fff;border-color:var(--blue);outline:2px solid #1769e026;outline-offset:1px}
#invoiceSummaryStatus{margin:8px 0 0;text-align:right;font-size:12px;color:var(--muted)}
#invoiceSummaryStatus.save-error{color:var(--red)}
@media(max-width:700px){#invoiceWorkspace .invoice-summary-card{padding:14px}#invoiceWorkspace .invoice-summary-card textarea{font-size:16px}}

.report-filter-card{padding:18px 20px;margin-bottom:18px}
.report-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.report-filter-heading strong{font-size:16px}.report-filter-heading p{margin:6px 0 0;font-size:12px;color:var(--muted)}
.report-date-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding-top:18px;margin-top:16px;border-top:1px solid var(--line)}
.report-date-form .field{flex:1;min-width:155px}.report-date-form input{min-height:44px}
#reportFilterError{margin:10px 0 0;color:var(--red);font-size:13px}#reportFilterError:empty{display:none}
.report-period-note{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:700px){.report-filter-card{padding:14px}.report-filter-heading{align-items:start;flex-direction:column;gap:12px}.report-date-form .field{min-width:0;flex-basis:calc(50% - 12px)}.report-date-form .btn{flex:1;white-space:nowrap}}
.po-receipt-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.po-receipt-summary[hidden]{display:none}.po-receipt-summary span{min-width:0;overflow-wrap:anywhere;font-size:13px}
.po-cost-note{margin-top:14px;line-height:1.5}#poFormError{color:var(--red);font-size:13px}#poFormError:empty{display:none}
.po-form-actions{flex-wrap:wrap}.po-form-actions .btn{min-height:44px}
@media(max-width:520px){.po-form-actions{justify-content:stretch}.po-form-actions .btn{flex:1}.po-form-actions .btn[type=submit]{flex-basis:100%}}

/* Shared background keeps a navigation label and its independent arrow seamless. */
#techApp .tech-nav-row{display:flex;align-items:center;border-radius:12px;overflow:hidden;background:transparent}
#techApp .tech-nav-row:hover{background:#1a2a45}
#techApp .tech-nav-row:has(button.active){background:#1769e0}
#techApp .tech-nav-row>button,#techApp .tech-nav-row>button.active,#techApp .tech-nav-row>button:hover:not(.active){background:transparent!important;border-radius:0;color:#c7d2e2}
#techApp .tech-nav-row:has(button.active)>button,#techApp .tech-nav-row:hover>button{color:#fff}
#techApp .tech-nav-row>button:focus-visible{outline:2px solid #93c5fd;outline-offset:-3px}

/* Dedicated Square Pay connection page. */
.square-pay-card{padding:26px;margin-bottom:20px}
.square-pay-card h2{margin:0 0 18px;font-size:23px}
.square-pay-mode-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.square-pay-mode-heading h2{margin:0}
.square-pay-mode{display:flex;align-items:center;gap:22px;margin:22px 0;font-weight:650}
.square-mode-toggle{display:flex;align-items:center;gap:13px;width:104px;height:44px;padding:5px;border:0;border-radius:24px;background:#94a3b8;color:#fff;cursor:pointer;font:inherit;font-size:13px}
.square-mode-knob{display:block;width:34px;height:34px;border-radius:50%;background:#fff;flex:none}
.square-mode-toggle[aria-checked=true]{background:#1769e0;flex-direction:row-reverse}
.square-mode-toggle[aria-checked=true] .square-mode-word{margin-left:10px}
.square-mode-toggle:disabled{opacity:.55;cursor:not-allowed}
.square-mode-toggle:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.square-credentials-form .formgrid{gap:16px}
.square-credentials-form input,.square-credentials-form select{min-height:44px}
@media(max-width:600px){.square-pay-card{padding:18px}.square-pay-card h2{font-size:20px}.square-pay-mode{gap:12px}}
