:root{color-scheme:light;--ink:#292b30;--text:#343638;--muted:#64696b;--bronze:#955b2a;--bronze-dark:#77441d;--paper:#f6f4f0;--line:#e5e0d8;--soft:#f0ece5}
*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}
button,.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border:1px solid transparent;border-radius:12px;background:var(--bronze);color:#fff;font-weight:650;font-size:15px;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 2px 0 #66370f2b,0 3px 8px #64381110;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .1s ease;-webkit-tap-highlight-color:#d4aa7722}
button:active:not(:disabled),.btn:active{transform:translateY(2px) scale(.98);background:var(--bronze-dark);box-shadow:inset 0 2px 4px #0002}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}button[aria-busy=true]{opacity:1;cursor:wait;background:var(--bronze-dark)}button[aria-busy=true]::before{content:"";display:block;width:16px;height:16px;flex:0 0 16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.secondary{background:#111111;color:var(--ink);border-color:#46392c;box-shadow:0 2px 3px #292b3005}.secondary:active:not(:disabled),.secondary[aria-busy=true]{background:var(--soft);color:var(--ink)}.danger{color:#efb7ae;border-color:#46392c;background:#111111}.danger:active:not(:disabled){background:#171412}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d4aa7766;outline-offset:3px}
@media(hover:hover){button:hover:not(:disabled){background:var(--bronze-dark);box-shadow:0 4px 10px #66370f20;transform:translateY(-1px)}button.secondary:hover:not(:disabled){background:var(--soft)}button.danger:hover:not(:disabled){background:#171412}button:active:not(:disabled){transform:translateY(2px) scale(.98)}}
header{background:var(--ink);border-bottom:1px solid #46392c12}.header-inner{max-width:1184px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brandImage{display:block;width:162px;height:auto;max-width:100%}nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}nav button{min-height:46px;color:#e9e6e1;background:transparent;border-color:#46392c26;box-shadow:none;font-size:14px;padding:11px 18px}nav button.active{background:#11111113;border-color:#46392c;color:#fff}nav button[aria-busy=true]{background:#11111116}nav #logout{border-color:transparent;color:#d2cdc6}@media(hover:hover){nav button:hover:not(:disabled){background:#11111118;border-color:#46392c50;box-shadow:none}}nav button:active:not(:disabled){background:#11111124}.draft{padding:10px 24px;background:#17130f;color:#d4aa77;font-size:12px;text-align:center;letter-spacing:.03em}
.wrap{max-width:1120px;margin:auto;padding:40px 24px 48px}.panel,.card{background:#111111;border:1px solid var(--line);border-radius:20px;box-shadow:0 6px 24px #292b3007;min-width:0}.panel{max-width:720px;margin:0 auto;padding:34px}.card{padding:28px}h1,h2,h3{color:var(--ink);line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(32px,4.4vw,44px);font-weight:650;letter-spacing:-1.5px;margin:8px 0 16px}h2{font-size:24px;font-weight:650;letter-spacing:-.5px;margin:0 0 16px}h3{font-size:17px;margin:12px 0}p{margin:0 0 16px;color:var(--muted)}p:last-child{margin-bottom:0}.intro{max-width:48ch;margin-bottom:28px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--bronze);margin-bottom:12px}.muted,.help{font-size:13px;color:var(--muted)}
label{display:block;font-size:13px;font-weight:650;line-height:1.5;margin:20px 0 8px;color:#f2ede7}label>input,label>select{margin-top:8px}input,select,textarea{width:100%;min-width:0;min-height:50px;padding:13px 14px;border:1px solid #46392c;border-radius:11px;background:#111111;color:var(--ink);font-size:16px;line-height:1.5;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px #ad6c3312}input:disabled,select:disabled,textarea:disabled{background:#111111;color:#c6beb3;opacity:1}input::placeholder,textarea::placeholder{color:#c6beb3}textarea{min-height:128px;resize:vertical}input[type=date]{min-width:0;max-width:100%;display:block}input[type=file]{font-size:13px;padding:10px;background:#17130f}input[type=file]::file-selector-button{font:inherit;font-weight:650;min-height:40px;padding:8px 12px;border:1px solid #46392c;border-radius:8px;background:#111111;color:var(--ink);margin-right:12px;cursor:pointer}.checkbox,input[type=checkbox]{width:20px;min-height:20px;height:20px;vertical-align:middle;accent-color:var(--bronze);margin:0 8px 0 0;flex:0 0 20px}.check-label{display:flex;align-items:flex-start;gap:4px;padding:8px 0;min-height:44px}.check-label .checkbox{margin-top:2px}.field>label{margin-top:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.field-grid .wide{grid-column:1/-1}
form>button,form>.form-actions{margin-top:24px}.actions,.form-actions,.button-group{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.actions{justify-content:space-between;padding-top:24px;margin-top:28px;border-top:1px solid var(--line)}.actions #next{margin-left:auto;min-width:150px}.step-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;margin-bottom:8px;font-size:12px;color:var(--muted)}.step-meta p{margin:0}progress{display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;accent-color:var(--bronze);margin:0 0 28px;background:var(--soft)}progress::-webkit-progress-bar{background:var(--soft);border-radius:5px}progress::-webkit-progress-value{background:var(--bronze);border-radius:5px;transition:width .2s ease}progress::-moz-progress-bar{background:var(--bronze);border-radius:5px}#steps h2:focus{outline:0}#steps>select{margin-bottom:14px}#steps>p{font-size:13px;margin-top:14px}
.notice{padding:18px 20px;background:#17130f;border:1px solid #46392c;border-radius:12px;font-size:13px;margin:24px 0 0;color:#c6beb3}.notice label{margin:0 0 10px;color:#d4aa77}.notice p{font-size:13px;margin-bottom:12px;color:#c6beb3}.notice p:last-child{margin-bottom:0}.summary{display:grid;grid-template-columns:145px minmax(0,1fr);column-gap:24px;row-gap:14px;font-size:14px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}.summary span{overflow-wrap:anywhere}.summary span:nth-child(odd){color:var(--muted);font-size:13px}.summary span:nth-child(even){font-weight:550}
.section-heading{margin-bottom:24px}.section-heading h1{margin-bottom:8px}.schedule-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;align-items:end;padding:24px}.schedule-tools label{margin:0}.tool-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;padding-top:2px}.filter-summary{padding:22px 2px 0;font-size:13px;margin-bottom:0}#jobs{display:grid;gap:20px;margin:18px 0 32px}.job-card{padding:28px}.job-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;line-height:1.4;font-size:11px;font-weight:650;padding:6px 10px;border-radius:7px;background:#17130f;color:#d4aa77}.badge.confirmed{background:#111111;color:#bad2be}.badge.cancelled{background:#111111;color:#c6beb3}.badge.urgent{background:#17130f;color:#d4aa77}.reference{font-size:11px;letter-spacing:.02em;overflow-wrap:anywhere;color:#c6beb3;margin:0}.job-card h2{margin-bottom:8px;font-size:23px}.job-problem{color:#d4aa77;font-size:15px;font-weight:550;margin-bottom:20px}.job-info{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:20px 0}.job-info p{font-size:14px;margin:0;overflow-wrap:anywhere}.job-info .wide{grid-column:1/-1}.detail-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700;color:#c6beb3;margin-bottom:5px}.notes{white-space:pre-wrap;background:#111111;border-radius:10px;padding:14px 16px;font-size:14px}.photo-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.photo-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;text-decoration:none}
fieldset{min-width:0;padding:24px 0 0;border:0;border-top:1px solid var(--line);margin:24px 0 0}legend{float:left;width:100%;margin:0 0 18px;font-size:13px;font-weight:650}.assignment-fields{clear:both;display:grid;grid-template-columns:1.1fr .9fr 1.2fr;gap:16px}.assignment-fields label{margin:0}fieldset button{margin-top:20px}.cancel-row{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.cancel-visit{min-height:44px;font-size:13px;padding:10px 16px}.empty-state{text-align:center;padding:40px 24px;background:#111111;border:1px dashed #46392c;border-radius:16px}.empty-state h2{font-size:20px;margin-bottom:8px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.admin-grid>section{margin:0}.admin-grid #notificationPanel{grid-column:1/-1}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.card-heading>div{flex:1;min-width:200px}.card-heading p{font-size:13px}.card h2{font-size:22px}#accounts>p{font-size:13px;margin-top:20px}#inviteResult{margin-top:24px;border-top:1px solid var(--line);padding-top:4px}#inviteResult button{margin:14px 0}#inviteResult input{font-size:13px}#notificationList{display:grid;gap:12px;margin-top:20px}.notification-item{border:1px solid var(--line);border-radius:12px;overflow:hidden}.notification-item summary{cursor:pointer;padding:18px;min-height:52px;background:#17130f;font-size:14px;font-weight:600;overflow-wrap:anywhere}.notification-item summary .badge{margin:8px 0 0;display:inline-flex}.notification-body{padding:20px;border-top:1px solid var(--line)}.notification-body p{font-size:13px;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.65;margin:0}a{color:var(--bronze);text-underline-offset:3px}
#receipt .button-group{margin-top:24px}#receiptState{background:#17130f;border:1px solid var(--line);border-radius:12px;padding:20px;margin:20px 0}#receiptState strong{color:var(--ink);font-size:20px}#message{position:sticky;top:12px;z-index:20;padding:16px 20px;border-radius:12px;border:1px solid #46392c;background:#121615;box-shadow:0 4px 20px #292b3010;color:#bad2be;font-size:14px;margin:0 0 24px;overflow-wrap:anywhere}#message.error{background:#17130f;border-color:#46392c;color:#efb7ae}#message:empty{display:none}.error{color:#efb7ae}.app-footer{text-align:center;max-width:720px;margin:30px auto 0;font-size:12px;color:#c6beb3}
@media(max-width:760px){.header-inner{padding:20px 24px;gap:20px}.brandImage{width:144px}.wrap{padding:28px 18px 36px}.panel{padding:26px}.schedule-tools{grid-template-columns:1fr 1fr;padding:22px}.schedule-tools .search-field{grid-column:1/-1}.assignment-fields{grid-template-columns:1fr 1fr}.assignment-fields label:first-child{grid-column:1/-1}.admin-grid{grid-template-columns:1fr}.admin-grid #notificationPanel{grid-column:auto}.job-card,.card{padding:24px}}
@media(max-width:560px){.header-inner{flex-direction:column;align-items:flex-start;padding:20px}.brandImage{width:136px}nav{width:100%;gap:10px}nav button{flex:1;padding:11px 12px;white-space:nowrap}nav #logout{flex:0 0 auto;width:100%;min-height:44px}.draft{font-size:11px;padding:9px 14px}.wrap{padding:22px 14px 32px}.panel,.card,.job-card{padding:22px 20px;border-radius:16px}h1{font-size:34px}h2{font-size:22px}.intro{font-size:14px;margin-bottom:26px}.field-grid{grid-template-columns:1fr;gap:20px}.field-grid .wide{grid-column:auto}.actions{gap:12px}.actions button{flex:1;padding:12px 14px}.actions #next{min-width:0;flex:1.5}.summary{grid-template-columns:110px minmax(0,1fr);gap:14px 16px}.notice{padding:16px}.schedule-tools{gap:16px}.tool-actions button{flex:1;padding-inline:14px}.assignment-fields{grid-template-columns:1fr}.assignment-fields label:first-child{grid-column:auto}.job-info{grid-template-columns:1fr}.job-info .wide{grid-column:auto}fieldset button,form>button{width:100%}.cancel-row{justify-content:stretch}.cancel-row button{width:100%}.card-heading{gap:16px}.card-heading button{width:100%}.button-group>*{width:100%}.job-top{align-items:flex-start}.step-meta span{max-width:60%;text-align:right}.app-footer{margin-top:24px}}
@media(max-width:360px){.schedule-tools{grid-template-columns:1fr}.schedule-tools .search-field{grid-column:auto}.summary{grid-template-columns:1fr;gap:6px}.summary span:nth-child(even){margin-bottom:12px}nav button{font-size:13px}h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:active:not(:disabled),.btn:active{transform:none}button[aria-busy=true]::before{border-right-color:currentColor}}

.choice-group{border:0;padding:0;margin:20px 0 18px;min-width:0}.choice-group legend{float:none;width:auto;max-width:100%;padding:0;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px}.choice-grid{clear:both;width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-card{width:100%;min-width:0;max-width:100%;position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:18px 16px;min-height:68px;border:1px solid #46392c;border-radius:13px;background:#111111;color:var(--ink);font-size:16px;cursor:pointer;transition:background .14s,border-color .14s,transform .1s,box-shadow .14s}.choice-card:hover{border-color:var(--bronze);background:#17130f}.choice-card:active{transform:scale(.98)}.choice-card:has(input:checked){border:2px solid var(--bronze);padding:17px 15px;background:#17130f;box-shadow:0 0 0 2px #955b2a12}.choice-card:has(input:focus-visible){outline:3px solid #d4aa7766;outline-offset:3px}.choice-card input[type=radio]{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:0;accent-color:var(--bronze)}.choice-card span{min-width:0;overflow-wrap:anywhere;line-height:1.4}.choice-card input:focus-visible{outline:none}@media(max-width:480px){.choice-grid{grid-template-columns:1fr}.choice-card{min-height:60px;padding:16px}.choice-card:has(input:checked){padding:15px}}

.assignment-fields{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.assignment-fields label{min-width:0}.assignment-fields select,.assignment-fields input{width:100%;min-width:0}
@media(max-width:540px){.assignment-fields{grid-template-columns:1fr}}

/* Branded team entry. Customer booking and schedule keep their existing layout. */
body:has(:is(#login,#setup):not([hidden])){background:#111111;background-image:radial-gradient(ellipse at 12% 15%,#a5773e15,transparent 55%)}
body:has(:is(#login,#setup):not([hidden]))>header{display:none}
body:has(:is(#login,#setup):not([hidden]))>.draft{background:#111111;color:#c6beb3;border-bottom:1px solid #46392c0d;font-size:11px}
body:has(:is(#login,#setup):not([hidden]))>.wrap{max-width:1080px;min-height:calc(100svh - 38px);display:flex;flex-direction:column;justify-content:center;padding:42px 24px 28px}
body:has(:is(#login,#setup):not([hidden])) .app-footer{color:#c6beb3;margin-top:24px}
.signin-shell{display:grid;grid-template-columns:.94fr 1.06fr;overflow:hidden;border:1px solid #46392c1c;border-radius:26px;box-shadow:0 24px 70px #0005;background:#111111;min-width:0}
.signin-brand{position:relative;isolation:isolate;overflow:hidden;padding:48px 44px 34px;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(150deg,#111111,#111111);min-width:0}
.signin-brand::after{content:"";position:absolute;z-index:-1;width:480px;height:480px;right:-270px;bottom:-230px;border:1px solid #46392c2b;border-radius:50%;box-shadow:0 0 0 55px #c3965e08,0 0 0 110px #c3965e05;pointer-events:none}
.signin-logo{display:block;width:220px;max-width:100%;height:auto;align-self:flex-start;margin:0 0 46px}
.signin-brand-copy{margin:auto 0 48px;max-width:310px}
.signin-brand .eyebrow{color:#d4aa77;font-size:10px;letter-spacing:.18em;margin-bottom:20px}
.signin-brand h2{font-size:clamp(38px,4vw,48px);font-weight:550;line-height:1.08;letter-spacing:-1.5px;color:#fff;margin:0 0 20px}
.signin-brand-copy p{font-size:15px;line-height:1.75;color:#c6beb3;margin:0;max-width:28ch}
.signin-private{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.5;color:#c6beb3;margin-top:auto}
.signin-private svg{width:17px;height:17px;flex:0 0 17px;color:#d4aa77}
.signin-content{padding:48px 46px 32px;min-width:0;background:#17130f}
.signin-heading .eyebrow{font-size:10px;letter-spacing:.17em;margin:0 0 12px}
.signin-heading h1{font-size:36px;line-height:1.15;letter-spacing:-1.2px;margin:0 0 12px;font-weight:650}
.signin-heading p{font-size:14px;line-height:1.65;max-width:31ch;margin:0 0 30px}
#signin label{margin:20px 0 8px;font-size:13px;color:#f2ede7}
#signin input{min-height:54px;background:#111111;border-color:#46392c;border-radius:10px;padding:14px;font-size:15px}
#signin input::placeholder{color:#c6beb3}
#signin input:focus{border-color:#a78055;box-shadow:0 0 0 3px #955b2a12}
.signin-password{position:relative}
#signinPassword{padding-right:78px!important}
#signinToggle{position:absolute;right:6px;top:6px;bottom:6px;min-height:42px;min-width:58px;padding:8px 10px;font-size:12px;box-shadow:none;background:#17130f;color:#d4aa77;border:1px solid #46392c;border-radius:7px;margin:0}
#signinToggle:hover{background:#17130f;transform:none}
#signinToggle:active{background:#17130f;transform:scale(.97)}
#signin .signin-submit{width:100%;min-height:54px;border-radius:10px;margin-top:26px;background:#17130f;box-shadow:0 3px 8px #77441d24;font-size:15px}
#signin .signin-submit:hover{background:#17130f}
.signin-caps{font-size:12px;color:#d4aa77;margin:9px 0 0}
.signin-error{font-size:13px;line-height:1.5;color:#efb7ae;background:#17130f;border:1px solid #46392c;border-radius:9px;padding:12px 14px;margin:16px 0 0}
.signin-help{padding-top:26px;margin-top:26px;border-top:1px solid #46392c}
.signin-help h2{font-size:12px;letter-spacing:0;line-height:1.5;color:#f2ede7;margin:0 0 5px;font-weight:650}
.signin-help p{font-size:12px;line-height:1.65;color:#c6beb3;margin:0;max-width:35ch}
.signin-customer{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;margin-top:22px;font-size:12px;color:#c6beb3}
#signinRequest{min-height:44px;background:transparent;box-shadow:none;color:#d4aa77;padding:8px 2px;font-size:12px;border-radius:4px;text-decoration:underline;text-underline-offset:3px}
#signinRequest:hover{background:transparent;color:#d4aa77;transform:none}
@media(max-width:780px){.signin-content{padding:38px 30px 28px}.signin-brand{padding:38px 30px 30px}.signin-logo{width:190px}.signin-brand h2{font-size:38px}.signin-heading h1{font-size:32px}}
@media(max-width:620px){body:has(:is(#login,#setup):not([hidden]))>.wrap{padding:24px 16px;justify-content:flex-start}.signin-shell{grid-template-columns:1fr;border-radius:20px;max-width:440px;width:100%;margin:auto}.signin-brand{padding:28px 28px 24px;align-items:center;gap:14px}.signin-logo{width:172px;align-self:center;margin:0}.signin-brand-copy{display:none}.signin-private{margin:0;font-size:10px}.signin-brand::after{width:320px;height:320px;bottom:-300px;right:-100px}.signin-content{padding:30px 28px 24px}.signin-heading h1{font-size:32px}.signin-heading p{margin-bottom:24px;font-size:14px}.signin-heading .eyebrow{font-size:10px}.signin-customer{margin-top:18px}.signin-help{margin-top:24px;padding-top:22px}#signin input{font-size:16px}.signin-content h2{font-size:12px}body:has(:is(#login,#setup):not([hidden])) .app-footer{font-size:10px;margin-top:20px}}
@media(max-width:360px){body:has(:is(#login,#setup):not([hidden]))>.wrap{padding:18px 12px}.signin-content{padding:26px 22px 22px}.signin-brand{padding:24px 22px 20px}.signin-heading h1{font-size:30px}}

/* Invitation setup shares the same brand and spacing as team sign-in. */
#setupForm label{margin:18px 0 7px;font-size:13px;color:#f2ede7}
#setupForm input:not([type=checkbox]){min-height:52px;padding:13px 14px;border:1px solid #46392c;border-radius:10px;background:#111111;font-size:16px}
#setupForm input[readonly]{background:#17130f;color:#f2ede7}
#setupForm input:focus{border-color:var(--bronze);box-shadow:0 0 0 3px #955b2a12}
#setupForm .field-help{font-size:12px;line-height:1.5;color:#c6beb3;margin:7px 0 0}
#setupForm .setup-show{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0 2px;cursor:pointer}
#setupShow{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--bronze)}
#setupSubmit{width:100%;min-height:54px;margin-top:10px;border-radius:10px}
.setup-status{font-size:14px;color:#c6beb3}.setup-signin{font-size:12px;margin:22px 0 0;color:#c6beb3}
#setupSignin{min-height:44px;padding:8px 3px;background:none;color:var(--bronze-dark);box-shadow:none;text-decoration:underline;text-underline-offset:3px}
.setup-content .signin-heading p{margin-bottom:20px}
#setupRetry{margin-top:14px}

/* A quiet, useful welcome and role-aware team overview. */
.welcome-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:46px 44px;border-radius:22px;background:linear-gradient(125deg,#111111,#111111);color:#fff;overflow:hidden}
.welcome-hero>div:first-child{max-width:640px}.welcome-hero .eyebrow{color:#d4aa77}.welcome-hero h1{color:#ffffff;font-size:clamp(34px,4vw,48px);margin:14px 0 18px}.welcome-hero p{color:#c9c9c6;font-size:17px;line-height:1.7;max-width:46ch}.welcome-role{display:inline-block;margin-top:10px;border:1px solid #46392c3d;border-radius:7px;padding:7px 12px;font-size:12px;color:#d4aa77}.welcome-mark{color:#d4aa77;flex:0 0 170px;opacity:.75}.welcome-mark svg{width:100%}
.welcome-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.welcome-feature{background:#111111;border:1px solid var(--line);border-radius:17px;padding:28px}.dash-icon{display:flex;align-items:center;justify-content:center;background:#17130f;color:var(--bronze);border-radius:12px;width:48px;height:48px;margin-bottom:24px}.dash-icon svg{width:25px;height:25px}.welcome-feature h2{font-size:20px;margin:0 0 12px}.welcome-feature p{font-size:14px;line-height:1.75}.welcome-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 4px}.welcome-bottom h2{font-size:23px;margin-bottom:9px}.welcome-bottom p{font-size:14px}.welcome-bottom button{flex-shrink:0}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.dashboard-heading h1{margin-bottom:10px}.dashboard-heading p{font-size:15px}.dashboard-heading .eyebrow{font-size:10px}.dashboard-heading>button{flex-shrink:0;font-size:13px}
.dash-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.dash-stat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;text-align:left;padding:26px;border:1px solid var(--line);border-radius:16px;background:#111111;color:var(--ink);box-shadow:0 4px 18px #292b3004}.dash-stat>span{font-size:13px;color:#c6beb3;font-weight:550}.dash-stat>strong{font-size:38px;letter-spacing:-1px;line-height:1.4;font-weight:650}.dash-stat>small{font-size:11px;font-weight:400;color:#c6beb3;line-height:1.5}.dash-stat:hover:not(:disabled),.dash-stat:active:not(:disabled){background:#17130f;border-color:#46392c;color:var(--ink)}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:24px;align-items:start}.dash-panel{background:#111111;border:1px solid var(--line);border-radius:18px;padding:28px;min-width:0}.dash-panel h2{font-size:22px;margin-bottom:0}.dash-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dash-panel-heading .eyebrow{font-size:10px;margin-bottom:7px}.text-button{background:transparent!important;box-shadow:none!important;color:var(--bronze-dark);padding:8px 0;font-size:12px;min-height:44px;border-radius:4px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--bronze);transform:none!important}.dash-panel-heading>.text-button{flex-shrink:0}
.dash-visit{padding:23px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:center}.dash-visit-date{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px}.dash-visit-date strong{font-size:13px;color:var(--bronze-dark)}.dash-visit-date span{font-size:12px;color:#c6beb3}.dash-visit h3{margin:0 0 7px;font-size:17px}.dash-visit p{font-size:13px;line-height:1.6;margin:0 0 4px;overflow-wrap:anywhere}.dash-visit .dash-address{font-size:12px;color:#c6beb3}.dash-visit>button{font-size:12px;min-height:44px;padding:10px 13px}.dash-visit:last-child{padding-bottom:0}.dash-visit-info{min-width:0}
.dash-actions{display:grid;gap:10px;margin-top:24px}.dash-actions button{width:100%;font-size:13px;min-height:46px}.dash-side{display:grid;gap:22px;min-width:0}.dash-note{padding:4px 8px}.dash-note h2{font-size:17px;margin:0 0 12px}.dash-note p{font-size:13px;line-height:1.75;margin-bottom:14px}.dash-note .text-button{margin-top:0}.dash-empty{text-align:center;padding:30px 14px 28px}.dash-empty>svg{width:37px;height:37px;color:#d4aa77;margin-bottom:16px}.dash-empty h3{font-size:19px;margin:0 0 10px}.dash-empty p{font-size:13px;max-width:40ch;margin:0 auto;line-height:1.7}.dash-empty.compact{padding:22px}.dash-pending{margin-top:24px}.dash-request{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.dash-request:last-child{padding-bottom:0}.dash-request h3{margin:10px 0 7px}.dash-request p{font-size:13px;margin:0}.dash-request button{font-size:12px;flex-shrink:0;min-height:44px}.dash-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:#17130f;border:1px solid #46392c;border-radius:13px;margin-bottom:24px}.dash-alert p{margin:0;font-size:13px;color:#d4aa77}.dash-alert button{font-size:12px;flex-shrink:0}
.schedule-tools{grid-template-columns:1.4fr 1fr 1fr 1fr}
@media(max-width:800px){.welcome-hero{padding:34px}.welcome-mark{flex-basis:110px}.welcome-feature{padding:24px}.welcome-feature h2{font-size:18px}.dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.dash-panel{padding:23px}.dash-panel-heading{align-items:flex-start;flex-direction:column;gap:3px}.dash-visit{grid-template-columns:1fr}.dash-visit>button{justify-self:start}.schedule-tools{grid-template-columns:1fr 1fr}.schedule-tools .search-field{grid-column:auto}}
@media(max-width:620px){.welcome-hero{padding:30px 25px;border-radius:18px}.welcome-mark{display:none}.welcome-hero p{font-size:15px}.welcome-features{grid-template-columns:1fr;gap:14px;margin:18px 0}.welcome-feature{padding:23px}.dash-icon{margin-bottom:16px;width:42px;height:42px}.welcome-feature h2{font-size:20px}.welcome-bottom{align-items:flex-start;flex-direction:column;padding:18px 4px}.welcome-bottom button{width:100%}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:18px}.dashboard-heading h1{font-size:34px}.dash-stats{gap:10px;margin-bottom:20px}.dash-stat{padding:16px 12px;gap:8px;border-radius:12px}.dash-stat>span{font-size:11px;min-height:30px;line-height:1.4}.dash-stat>strong{font-size:30px}.dash-stat>small{font-size:10px}.dash-grid{grid-template-columns:1fr;gap:20px}.dash-panel{padding:23px 20px}.dash-panel-heading{flex-direction:row;align-items:center;gap:12px}.dash-panel h2{font-size:20px}.dash-panel-heading>.text-button{font-size:11px}.dash-side{gap:20px}.dash-note{padding:4px}.dash-visit{grid-template-columns:minmax(0,1fr) auto}.dash-visit>button{justify-self:end}.dash-request{align-items:flex-start}.dash-request button{padding-inline:12px}.dash-alert{align-items:flex-start;flex-direction:column}.dash-alert button{width:100%}nav button{white-space:normal;min-width:0}nav{display:grid;grid-template-columns:1fr 1fr}nav #logout{width:auto}.dash-pending{margin-top:20px}}
@media(max-width:360px){.dash-stat{padding:14px 10px}.dash-stat>small{font-size:10px}.dashboard-heading h1{font-size:30px}.dash-panel-heading{align-items:flex-start;flex-direction:column}.dash-visit{grid-template-columns:1fr}.dash-visit>button{justify-self:start}.schedule-tools{grid-template-columns:1fr}}

/* Consistent workspace navigation and focused account screens. */
.header-inner{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:24px;padding:18px 32px;max-width:1200px}.brandImage{width:130px}.main-nav{display:flex;justify-content:center;flex-wrap:nowrap;gap:6px}.main-nav button{border:1px solid transparent;border-radius:9px;padding:11px 16px;white-space:nowrap;font-size:13px}.main-nav button.active{background:#11111112;border-color:#46392c22;box-shadow:inset 0 -2px #c3965e}.profile-control{position:relative;justify-self:end}.profile-control>button{min-height:46px;padding:5px 10px 5px 6px;gap:9px;border-radius:10px;background:#11111109;color:#f4f0ea;border:1px solid #46392c20;box-shadow:none;font-size:13px}.profile-control>button>svg{width:16px;height:16px;color:#c6beb3}.profile-control>button:hover{background:#11111117;transform:none;box-shadow:none}.profile-control>button.active{border-color:#46392c80}.avatar{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#17130f;color:#d4aa77;font-size:13px;font-weight:700;letter-spacing:.03em}.avatar.small{width:32px;height:32px;flex-basis:32px;background:#17130f25;color:#d4aa77;font-size:11px}.avatar.large{width:82px;height:82px;flex-basis:82px;font-size:27px;margin-bottom:23px}.profile-menu{position:absolute;right:0;top:calc(100% + 14px);z-index:50;width:280px;max-width:calc(100vw - 32px);padding:8px;background:#111111;border:1px solid #46392c;border-radius:15px;box-shadow:0 16px 50px #171b2326}.menu-identity{padding:15px 13px 18px;border-bottom:1px solid var(--line);margin-bottom:7px;overflow-wrap:anywhere}.menu-identity strong{display:block;font-size:14px;color:var(--ink)}.menu-identity span{font-size:12px;color:var(--muted)}.profile-menu button{display:flex;justify-content:flex-start;width:100%;min-height:44px;border:0;border-radius:8px;padding:10px 13px;font-size:13px;font-weight:550;color:var(--ink);background:transparent;box-shadow:none;text-align:left}.profile-menu button:hover,.profile-menu button:active{background:#17130f;transform:none;box-shadow:none}.profile-menu #logout{color:#efb7ae}.menu-divider{border-top:1px solid var(--line);margin:7px 0}.draft{font-size:10px;padding:7px 20px;letter-spacing:.06em}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin-bottom:10px}.page-heading h1:focus{outline:none}.page-heading p{font-size:15px;max-width:55ch;margin:0}.page-heading .eyebrow{font-size:10px}.page-heading>button{flex-shrink:0;font-size:13px}.card{box-shadow:0 4px 18px #292b3003;border-radius:17px}.filter-hint{font-size:12px;color:var(--muted)}.schedule-tools{gap:18px;padding:23px 25px}.schedule-tools input,.schedule-tools select{font-size:14px;min-height:46px;padding:11px 12px}.tool-actions{align-items:center;justify-content:space-between;padding:4px 0 0}.tool-actions .text-button{min-height:36px;padding:4px 0}.filter-summary{padding-top:23px;font-size:12px}#jobs{margin-top:8px;gap:16px}.schedule-day{display:flex;align-items:center;gap:16px;margin:19px 0 0;color:#c6beb3;font-size:12px;font-weight:650}.schedule-day::after{content:"";height:1px;background:var(--line);flex:1}.job-card{padding:26px 28px}.job-top{margin-bottom:16px}.job-card h2{font-size:23px;letter-spacing:-.5px}.job-problem{font-size:14px}.job-info{grid-template-columns:1fr 1fr 1.2fr;gap:24px;margin:24px 0}.job-info .wide{grid-column:auto}.job-info p{font-size:13px;line-height:1.7}.detail-label{letter-spacing:.09em;font-size:9px;margin-bottom:7px}.notes{font-size:13px;background:#17130f;border:1px solid #46392c;border-radius:10px;padding:15px 17px}.visit-planner{margin-top:23px;border-top:1px solid var(--line)}.visit-planner>summary{list-style:none;display:flex;align-items:center;gap:15px;min-height:54px;padding:17px 2px 0;color:var(--ink);cursor:pointer;font-size:13px;font-weight:650}.visit-planner>summary::-webkit-details-marker{display:none}.visit-planner>summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:400;color:#d4aa77}.visit-planner[open]>summary::after{content:"−"}.visit-planner>summary>small{font-size:11px;font-weight:400;color:var(--muted)}.visit-planner fieldset{border:0;padding-top:18px;margin-top:0}.visit-planner legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.assignment-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.assignment-fields label{font-size:12px}.assignment-fields input,.assignment-fields select{min-height:46px;font-size:14px;padding:11px 12px}.visit-planner .help{font-size:12px;margin:18px 0 0}.visit-planner fieldset button{font-size:13px;min-height:44px}.cancel-row{border:0;margin-top:12px;padding-top:8px}.cancel-visit{min-height:42px;border:0;background:transparent;box-shadow:none;font-size:12px;padding:9px 2px}.empty-state{border-style:solid;padding:52px 24px}.empty-state>svg{width:38px;height:38px;color:#d4aa77;margin-bottom:20px}.empty-state p{font-size:13px}
.profile-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.7fr);gap:24px;align-items:start}.profile-summary{text-align:center;padding:36px 28px}.profile-summary h2{font-size:23px;margin-bottom:13px;overflow-wrap:anywhere}.profile-summary>p{font-size:13px;line-height:1.75;max-width:26ch;margin:22px auto}.profile-timezone{border-top:1px solid var(--line);padding-top:22px;font-size:13px;margin-top:26px}.profile-main{display:grid;gap:24px;min-width:0}.profile-main .card{padding:30px}.profile-main h2{font-size:22px}.account-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin:25px 0 0}.account-fields>div{min-width:0;border-top:1px solid var(--line);padding-top:16px}.account-fields dt{color:var(--muted);font-size:11px;margin-bottom:8px}.account-fields dd{margin:0;font-size:14px;font-weight:550;overflow-wrap:anywhere;line-height:1.6}#passwordSettings>.help{max-width:52ch;line-height:1.7}#passwordForm{display:grid;grid-template-columns:1fr 1fr;gap:18px}#passwordForm label{margin:0}#passwordForm>label:first-child{grid-column:1/-1}#passwordForm input[name]{font-size:16px}#passwordForm .password-show{grid-column:1/-1;align-items:center;gap:8px;font-size:12px;font-weight:500;padding:0;min-height:32px}#passwordForm .password-show input{margin:0}#passwordForm button{justify-self:start;margin:0;font-size:13px;min-height:46px}#passwordError{grid-column:1/-1;margin:0}
.team-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.team-layout .card{padding:28px}.team-layout .card-heading p{margin:0;line-height:1.8}.team-roster{margin-top:22px}.team-person{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:22px 0}.team-person:last-child{padding-bottom:0}.team-person>div{min-width:0;flex:1}.team-person h3{font-size:14px;margin:0 0 6px;line-height:1.6}.team-person h3 small{display:inline-block;margin-left:7px;font-size:10px;color:var(--muted);font-weight:450}.team-person p{font-size:12px;overflow-wrap:anywhere;margin:0}.team-access{display:block;font-size:11px;color:var(--muted);margin-top:7px}.team-person>.badge{font-size:10px;flex-shrink:0}.badge.manager{background:#17130f;color:#d4aa77}.team-invite{min-width:0}#accounts h2{margin-bottom:12px}#accounts>p{font-size:12px;line-height:1.8}#newUser label{font-size:12px}#newUser button{width:100%;font-size:13px}#inviteResult{background:#17130f;padding:18px;border:1px solid #46392c;border-radius:11px}#inviteResult label{margin:0;font-size:12px}#inviteResult input{font-size:12px;background:#111111}#inviteResult p{font-size:11px}#copyInvite{width:100%;min-height:44px;font-size:12px}#notificationPanel{padding:30px}.notification-item{background:#111111;border:1px solid var(--line);border-radius:12px;padding:0;margin:14px 0 0;overflow:hidden}.notification-item>summary{padding:18px 20px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.8}.notification-item .badge{margin-top:9px;font-size:10px;white-space:normal}.notification-body{padding:18px 20px;border-top:1px solid var(--line);background:#17130f}.notification-body p{font-size:12px;overflow-wrap:anywhere}.notification-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.8;margin:20px 0 0;color:#c6beb3}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,.8fr);gap:48px;align-items:start}.booking-layout .panel{width:100%;padding:34px 36px;border-radius:20px;box-shadow:none}.booking-layout h1{font-size:36px}.booking-layout .intro{font-size:14px;line-height:1.75}.booking-aside{padding-top:28px}.booking-aside h2{font-size:24px;line-height:1.3;max-width:12ch;margin:16px 0 28px}.booking-guide{list-style:none;counter-reset:steps;margin:0;padding:0}.booking-guide li{position:relative;counter-increment:steps;padding:0 0 28px 42px}.booking-guide li::before{content:counter(steps);position:absolute;top:1px;left:0;display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #46392c;border-radius:50%;font-size:11px;color:#d4aa77}.booking-guide strong{display:block;font-size:13px;font-weight:650;margin-bottom:7px;line-height:1.5}.booking-guide span{font-size:12px;line-height:1.8;color:var(--muted);display:block}.booking-hours{border-top:1px solid var(--line);padding-top:23px;font-size:13px;line-height:1.8;margin-bottom:18px}.booking-aside>.help{font-size:11px}.booking-layout .choice-card{font-size:14px;min-height:64px}.booking-layout #steps h2{font-size:23px}.booking-layout .notice{background:#17130f;border-color:#46392c}.booking-layout .notice p{font-size:12px;line-height:1.7}.booking-layout .summary{grid-template-columns:120px minmax(0,1fr);font-size:13px}.booking-layout .step-meta{font-size:11px}.booking-layout .actions{gap:16px}.booking-layout .actions button{font-size:13px;min-height:48px}
.feedback{position:fixed;z-index:80;bottom:24px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));display:flex;align-items:center;gap:20px;padding:16px 18px;background:#17130f;border:1px solid #46392c;border-radius:13px;box-shadow:0 8px 32px #20252c26}.feedback #message{padding:0;margin:0;background:none;border:0;font-size:13px;color:#d4aa77;flex:1;line-height:1.6;overflow-wrap:anywhere}.feedback button{padding:6px 3px;min-height:36px;font-size:11px;background:none;color:#d4aa77;border:0;box-shadow:none;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}.feedback.has-error{border-color:#46392c;background:#17130f}.feedback.has-error #message{color:#efb7ae}.app-footer{font-size:11px;line-height:1.7}
@media(max-width:940px){.header-inner{grid-template-columns:130px minmax(0,1fr) auto;gap:12px;padding:18px 24px}.main-nav button{padding:10px 11px;font-size:12px}.team-layout{grid-template-columns:1fr 1fr}.team-person{flex-wrap:wrap}.team-person>.badge{margin-left:56px}.booking-layout{gap:28px;grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr)}.booking-layout .panel{padding:30px}.job-info{grid-template-columns:1fr 1fr}.job-info .wide{grid-column:1/-1}.assignment-fields{grid-template-columns:1fr 1fr}.profile-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}.profile-main .card{padding:25px}.account-fields{gap:18px}}
@media(max-width:760px){.header-inner{grid-template-columns:1fr auto;padding:18px 24px 14px;gap:15px}.brandImage{width:114px}.profile-control{grid-column:2;grid-row:1}.main-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.main-nav button{white-space:normal;min-height:42px;padding:9px 8px;font-size:12px}.profile-control>button{font-size:12px}.draft{font-size:9px}.profile-layout{grid-template-columns:1fr}.profile-summary{padding:28px;display:grid;grid-template-columns:auto 1fr;gap:5px 22px;text-align:left;align-items:center}.profile-summary .avatar{grid-row:1/4;margin:0;width:66px;height:66px;font-size:23px}.profile-summary h2{font-size:22px;margin:0}.profile-summary>.badge{justify-self:start}.profile-summary>p{grid-column:2;font-size:12px;margin:5px 0 0;max-width:none}.profile-timezone{grid-column:1/-1;text-align:left;margin-top:16px;padding-top:16px}.team-layout{grid-template-columns:1fr}.team-person{flex-wrap:nowrap}.team-person>.badge{margin:0}.booking-layout{display:block}.booking-aside{display:none}.booking-layout .panel{max-width:680px}.page-heading{gap:18px}.page-heading>button{font-size:12px}.schedule-tools{grid-template-columns:1fr 1fr}.schedule-tools .search-field{grid-column:auto}}
@media(max-width:540px){.wrap{padding:28px 18px 44px}.header-inner{padding:16px 18px 12px}.brandImage{width:105px}.profile-menu{max-width:calc(100vw - 36px)}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}.page-heading h1{font-size:34px}.page-heading p{font-size:13px}.page-heading>button{min-height:42px;padding:9px 14px}.schedule-tools{padding:20px;gap:16px}.schedule-tools .search-field{grid-column:1/-1}.schedule-tools label{font-size:11px}.schedule-tools input,.schedule-tools select{font-size:16px}.schedule-tools label:last-of-type{grid-column:1/-1}.filter-hint{font-size:11px}.job-card{padding:22px}.job-card h2{font-size:21px}.job-top{gap:10px}.reference{font-size:10px}.job-info{grid-template-columns:1fr;gap:18px}.job-info .wide{grid-column:auto}.visit-planner>summary{align-items:flex-start;flex-wrap:wrap;gap:4px 12px;padding-top:16px;position:relative}.visit-planner>summary>small{flex-basis:100%;font-size:10px;order:2}.visit-planner>summary::after{position:absolute;right:1px;top:10px}.assignment-fields{grid-template-columns:1fr}.assignment-fields input,.assignment-fields select{font-size:16px}.visit-planner fieldset button{width:100%}.cancel-row{justify-content:flex-start}.schedule-day{font-size:11px}.profile-main .card{padding:24px}.account-fields{grid-template-columns:1fr;gap:18px}.profile-summary{padding:25px 22px;gap:8px 18px}.profile-summary>.avatar{width:58px;height:58px;font-size:20px}.profile-summary h2{font-size:20px}.profile-summary>p{grid-column:1/-1;margin-top:14px}.profile-timezone{margin-top:10px}#passwordForm{grid-template-columns:1fr;gap:18px}#passwordForm button{width:100%;justify-self:stretch}.team-layout .card{padding:24px 22px}.team-person{align-items:flex-start;flex-wrap:wrap}.team-person>div{flex-basis:calc(100% - 62px)}.team-person>.badge{margin-left:56px}.team-person h3{font-size:14px}#notificationPanel{padding:23px 20px}.card-heading{gap:16px}.card-heading>div{min-width:0}.notification-item>summary{padding:16px;font-size:13px}.notification-body{padding:16px}.notification-body pre{font-size:12px}#notificationRefresh{font-size:12px;min-height:44px}.booking-layout .panel{padding:27px 22px}.booking-layout h1{font-size:32px}.booking-layout .intro{font-size:13px}.booking-layout #steps h2{font-size:22px}.booking-layout .choice-card{font-size:15px}.booking-layout .summary{grid-template-columns:1fr;gap:5px}.booking-layout .summary span:nth-child(even){margin-bottom:12px}.feedback{bottom:14px;gap:12px;padding:14px 16px}.feedback #message{font-size:12px}.feedback button{font-size:10px}.filter-summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}button,.btn,.choice-card,progress::-webkit-progress-value{transition:none!important}}

.main-nav button.active,.main-nav button.active:hover,.main-nav button.active:active{background:#11111112;border-color:#46392c70;box-shadow:inset 0 -2px #c3965e;transform:none}

/* Predictable navigation on desktop, phones and the installed Dock app. */
.page-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:-16px 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.page-navigation #currentPage{font-size:12px;font-weight:650;color:var(--muted);text-align:right;margin-left:auto}
.back-button{background:transparent;color:var(--ink);box-shadow:none;border:0;padding:10px 8px 10px 0;min-height:44px;font-size:14px;text-align:left;justify-content:flex-start;gap:6px}
.back-button svg{width:20px;height:20px;flex-shrink:0}
@media(hover:hover){.back-button:hover:not(:disabled){background:var(--soft);color:var(--bronze-dark);box-shadow:none;transform:none}}
.review-edits{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}.review-edits button{font-size:13px;padding:10px 12px;min-height:44px}
.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;border-radius:8px;background:#111111;color:var(--ink);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
@media(min-width:761px){header{position:sticky;top:0;z-index:30}html{scroll-padding-top:132px}}
@media(max-width:760px){.page-navigation{margin-top:-4px;gap:10px}.page-navigation #currentPage{max-width:42%;font-size:11px}.back-button{font-size:13px;max-width:60%}.review-edits{display:grid;grid-template-columns:1fr}.main-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:center;gap:6px;background:var(--ink);border-top:1px solid #46392c26;padding:9px 12px max(9px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #292b3012}.main-nav button{flex:1;min-height:48px;padding:10px 6px!important;font-size:12px!important;white-space:normal}.header-inner{grid-template-rows:auto!important}body{padding-bottom:86px}.feedback{bottom:92px}.wrap{padding-top:24px}.app-footer{margin-bottom:12px}}
/* Working dispatch calendar */
body:has(#schedule:not([hidden])) .wrap{max-width:1600px}.schedule-heading{margin-bottom:24px}.schedule-heading h1{font-size:36px}.schedule-heading .button-group{flex-wrap:nowrap}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;flex-wrap:wrap}.calendar-period{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.period-arrows{display:flex;gap:4px}.period-arrows button{font-size:25px;width:38px;min-height:40px;padding:0}.calendar-period>button{min-height:40px;padding:8px 16px}.calendar-date-label{display:flex;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:650}.calendar-date-label input{width:150px;min-height:40px;padding:8px;font-size:12px;margin:0}.view-switch{display:flex;background:#111111;border-radius:11px;padding:4px;gap:3px}.view-switch button{min-height:37px;padding:7px 16px;border-radius:8px;box-shadow:none;background:transparent;color:var(--muted);font-size:13px}.view-switch button.selected{background:#111111;color:var(--ink);box-shadow:0 1px 4px #292b3015}.schedule-tools{margin-bottom:18px}#schedule.calendar-mode .schedule-tools{grid-template-columns:minmax(180px,1fr) 200px auto;padding:14px 18px;border-radius:12px}#schedule.calendar-mode .schedule-tools label:has(#dateFilter),#schedule.calendar-mode .schedule-tools label:has(#dashboardRange){display:none}#schedule.calendar-mode .tool-actions{grid-column:auto;padding:0;align-self:end;justify-content:flex-end}.calendar-mode .filter-hint{display:none}.calendar-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px;align-items:start}.calendar-sidebar{padding:20px;background:#111111;border:1px solid var(--line);border-radius:15px}.mini-heading{margin:0 0 18px;font-size:14px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-calendar>span{font-size:10px;text-align:center;color:var(--muted);padding-bottom:8px}.mini-calendar button{min-height:28px;height:28px;padding:0;background:transparent;color:var(--ink);border:0;box-shadow:none;border-radius:7px;font-size:11px}.mini-calendar button.muted-day{color:#c6beb3}.mini-calendar button.today-day{color:var(--bronze);font-weight:750;box-shadow:inset 0 0 0 1px #c3965e60}.mini-calendar button.selected-day{background:var(--bronze);color:#fff}.calendar-sidebar>label{font-size:11px}.calendar-sidebar>select{font-size:12px;min-height:42px;padding:9px}.calendar-legend{display:grid;gap:8px;margin:16px 0;max-height:160px;overflow:auto}.calendar-legend>span{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.4}.color-dot{width:8px;height:8px;border-radius:3px;background:var(--event-ink);flex-shrink:0}.weekend-toggle{align-items:center;font-weight:400}.weekend-toggle input{width:16px;height:16px;min-height:16px;flex-basis:16px}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:22px;margin:16px 0 10px;border-top:1px solid var(--line)}.queue-heading h2{font-size:15px;margin:0;letter-spacing:-.2px}.count-pill{background:var(--soft);font-size:11px;min-width:24px;text-align:center;padding:2px 6px;border-radius:6px}#requestQueue>.help{font-size:11px}.queue-visit{display:block;width:100%;padding:13px;text-align:left;background:#17130f;color:var(--ink);border:1px solid var(--line);border-left:3px solid #46392c;box-shadow:none;margin-top:10px;border-radius:9px}.queue-visit span{color:#d4aa77;font-size:9px;display:block;text-transform:uppercase;letter-spacing:.04em}.queue-visit strong{display:block;font-size:12px;margin:5px 0}.queue-visit small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.queue-visit.urgent-request{border-left-color:#efb7ae;background:#17130f}.queue-empty{font-size:11px;padding:10px 0}.calendar-main{min-width:0}.calendar-caption{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding:2px 0 10px}.calendar-hint{font-size:11px;margin-bottom:12px}.calendar-board{border:1px solid #46392c;border-radius:14px;background:#111111;overflow:auto;max-height:calc(100vh - 290px);min-height:330px;overscroll-behavior-x:contain}.time-calendar{min-width:660px}.time-head,.time-body{display:grid;grid-template-columns:58px repeat(var(--calendar-columns),minmax(150px,1fr))}.time-head{position:sticky;top:0;z-index:5;background:#111111;min-height:62px;border-bottom:1px solid #46392c}.time-zone{padding:22px 8px;color:#c6beb3;font-size:10px}.time-column-heading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px;border-left:1px solid #46392c;font-size:12px;min-width:0;text-align:center}.time-column-heading span{font-size:11px;color:var(--muted)}.time-column-heading.is-today{background:#17130f;color:var(--bronze)}.time-labels{position:relative;display:grid;grid-template-rows:repeat(16,46px);font-size:10px;color:#c6beb3}.time-labels>span{padding:4px 3px 0 8px}.time-labels .closing-time{position:absolute;bottom:0;background:#111111}.time-column{position:relative;height:736px;border-left:1px solid #46392c;display:grid;grid-template-rows:repeat(16,46px)}.time-slot{display:block;min-height:46px;border-radius:0;border:0;border-bottom:1px dashed #46392c;box-shadow:none;background:#111111;padding:0;width:100%}.time-slot:nth-child(2n){border-bottom-style:solid}.weekend-column .time-slot{background:#111111}.time-slot:hover:not(:disabled){background:#17130f;transform:none;box-shadow:inset 0 0 0 1px #b3815355}.calendar-event{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:0;padding:7px 8px;background:var(--event-paper);color:var(--event-ink);border:1px solid var(--event-border);border-left:3px solid var(--event-ink);border-radius:6px;box-shadow:none;font-size:11px;overflow:hidden;text-align:left;line-height:1.3;cursor:pointer;transition:box-shadow .12s}.calendar-event:hover:not(:disabled){background:var(--event-paper);transform:none;box-shadow:0 2px 6px #292b3024}.calendar-event strong{font-size:12px;overflow-wrap:anywhere}.event-time{font-size:10px;font-weight:650}.event-work,.event-person{font-size:10px;font-weight:400}.event-person{margin-top:auto}.short-event .event-work,.short-event .event-person{display:none}.is-cancelled{opacity:.6;text-decoration:line-through}.is-hold{border-style:dashed}.color-0{--event-ink:#3f6c55;--event-paper:#e9f3eb;--event-border:#46392c}.color-1{--event-ink:#386b8c;--event-paper:#e7f1f8;--event-border:#46392c}.color-2{--event-ink:#785687;--event-paper:#f2eaf6;--event-border:#46392c}.color-3{--event-ink:#956134;--event-paper:#faf0e2;--event-border:#46392c}.color-4{--event-ink:#9a5366;--event-paper:#f8eaf0;--event-border:#46392c}.color-5{--event-ink:#42787b;--event-paper:#e8f4f3;--event-border:#46392c}.color-6{--event-ink:#686a39;--event-paper:#f2f3e4;--event-border:#46392c}.color-7{--event-ink:#5b6493;--event-paper:#eceff9;--event-border:#46392c}.dragging{opacity:.45}.time-column.drop-target,.month-day.drop-target{box-shadow:inset 0 0 0 3px #b38153;background:#17130f}.time-column.drop-target .time-slot{background:#17130f}.month-calendar{min-width:720px}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{position:sticky;top:0;z-index:5;background:#111111;border-bottom:1px solid var(--line);font-size:11px;text-align:center;padding:12px 0}.month-day{min-height:145px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px;min-width:0}.month-day.outside-month{background:#111111}.month-day-number{border:0;box-shadow:none;border-radius:50%;background:transparent;color:var(--ink);min-height:28px;width:28px;padding:0;font-size:11px;margin-bottom:6px}.month-day-number.is-today{background:var(--bronze);color:#ffffff}.compact-event{position:static;width:100%;margin-bottom:4px;padding:5px;gap:2px}.compact-event .event-work,.compact-event .event-person{display:none}.compact-event strong{font-size:10px}.compact-event .event-time{font-size:9px}.more-visits{background:transparent;color:var(--muted);box-shadow:none;padding:3px;min-height:26px;font-size:10px}.visit-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:520px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:0;background:var(--paper);color:var(--text);box-shadow:-10px 0 50px #0002}.visit-dialog::backdrop{background:#11111166;backdrop-filter:blur(2px)}.visit-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 28px;background:#111111;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.visit-dialog-heading h2{font-size:25px;margin:0}.visit-dialog-heading .eyebrow{font-size:10px;margin:0 0 7px}.visit-dialog-heading button{font-size:24px;padding:0;width:40px;min-height:40px;border-radius:50%}.visit-dialog-body{padding:24px 28px 40px}.visit-summary p{font-size:13px}.visit-summary .notes{font-size:12px}.visit-dialog label{font-size:12px}.dialog-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}#visitAssignment{padding:20px 0 0;border:0;border-top:1px solid var(--line);margin:24px 0 0}#visitAssignment legend{font-size:14px;font-weight:650;padding:0 10px 0 0}.availability-note{font-size:12px;color:#bad2be;background:#111111;border-radius:9px;padding:12px;margin:18px 0}.availability-note.conflict{color:#d4aa77;background:#17130f}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}#cancelCalendarVisit{margin-top:18px}#calendarError{margin:16px 0}.visit-dialog input,.visit-dialog select{font-size:15px;min-height:46px}
@media(max-width:1050px){.calendar-workspace{grid-template-columns:195px minmax(0,1fr);gap:14px}.calendar-sidebar{padding:16px}.calendar-date-label{font-size:15px}.calendar-date-label input{width:135px}.view-switch button{padding:7px 12px}.calendar-toolbar{gap:12px}}
@media(max-width:760px){.calendar-toolbar{display:block}.calendar-period{gap:7px}.calendar-date-label{width:100%;justify-content:space-between;margin:5px 0 12px;font-size:16px}.view-switch{width:100%}.view-switch button{flex:1}.calendar-workspace{display:flex;flex-direction:column}.calendar-sidebar{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:14px}.mini-heading,.mini-calendar,.calendar-legend{display:none}.calendar-sidebar>label{margin:0;grid-column:1/-1}.calendar-sidebar>select{grid-column:1/-1;width:100%}.calendar-sidebar .weekend-toggle{grid-column:1/-1;margin-top:4px}#requestQueue{grid-column:1/-1;min-width:0}.queue-heading{padding:12px 0 0;margin:4px 0 6px}.queue-heading h2{font-size:13px}#requestQueue>.help{margin-bottom:4px}#pendingVisits{display:flex;gap:8px;overflow:auto;padding:3px 0 8px}.queue-visit{min-width:180px;width:180px;flex-shrink:0;margin:0;padding:10px}.calendar-main{width:100%}.calendar-board{max-height:650px;min-height:330px}.calendar-caption{font-size:10px;gap:8px}.calendar-hint{font-size:11px}.time-calendar{min-width:640px}.time-head,.time-body{grid-template-columns:48px repeat(var(--calendar-columns),minmax(135px,1fr))}.schedule-heading{gap:12px}.schedule-heading>.button-group{width:100%}.schedule-heading>.button-group>*{width:auto;flex:1;min-height:42px;font-size:12px}#schedule.calendar-mode .schedule-tools{grid-template-columns:minmax(0,1fr);padding:14px}#schedule.calendar-mode .schedule-tools .search-field{grid-column:1}#schedule.calendar-mode .tool-actions{grid-column:1;justify-content:flex-start}.calendar-mode .tool-actions button{flex:0}.visit-dialog-body{padding:22px 20px 30px}.visit-dialog-heading{padding:20px}.visit-dialog-heading h2{font-size:22px}.dialog-pair{grid-template-columns:1fr;gap:0}.dialog-actions>button{width:100%}.visit-dialog input,.visit-dialog select{font-size:16px}}
/* Work timers and internal job costing */
.clock-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px max(24px,calc((100vw - 1200px)/2));background:#111111;border-bottom:1px solid #46392c;color:#bad2be}.clock-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.clock-bar strong{font-size:13px}.clock-bar span{font-size:11px}.clock-bar-actions{display:flex;align-items:center;gap:14px}.clock-bar-actions label{margin:0;font-size:11px;font-weight:400}.clock-bar-actions button{font-size:12px;min-height:38px;padding:7px 13px}.job-work-panel{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.work-heading h3,.cost-heading h3{font-size:20px;margin:0 0 10px}.work-heading .eyebrow,.cost-heading .eyebrow{font-size:10px;margin-bottom:7px}.clock-controls{padding:16px;background:#111111;border:1px solid var(--line);border-radius:12px;margin:20px 0}.clock-controls label{margin:0 0 12px}.clock-controls button{width:100%}.time-entry-list{display:grid;gap:12px}.time-entry{background:#111111;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:12px;display:flex;flex-direction:column;gap:5px}.time-entry>span{font-size:11px;color:var(--muted)}.time-entry>b{color:var(--bronze)}.location-detail{font-size:10px;color:var(--muted);line-height:1.8}.location-detail a{color:#c6cede}.time-entry p{font-size:12px}.cost-heading{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.cost-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.cost-stats>div{background:#111111;border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.cost-stats span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.cost-stats strong{font-size:21px}.cost-stats .profit-total{grid-column:1/-1;background:#17130f}.cost-form{padding:18px;background:#111111;border:1px solid var(--line);border-radius:12px;margin:20px 0}.cost-form label:first-child{margin-top:0}.cost-form button{font-size:13px}.expense-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.expense-row>div{flex:1;min-width:0}.expense-row strong{overflow-wrap:anywhere}.expense-row span{display:block;color:var(--muted);font-size:10px}.expense-row button{min-height:36px;padding:5px;font-size:10px}.time-corrections>summary,.time-correction>summary{font-size:12px;cursor:pointer;min-height:44px;padding:12px 0}.time-correction{padding:0 14px;background:#111111;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.time-correction form{padding-bottom:15px}.time-correction button{font-size:12px}.labor-cost-settings{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.labor-cost-settings h3{font-size:18px}.rate-list{display:grid;grid-template-columns:1fr auto;gap:10px 18px;font-size:12px;margin:20px 0}.rate-list span{overflow-wrap:anywhere}.rate-list strong{font-weight:600}.labor-cost-settings form{max-width:380px}.labor-cost-settings button{font-size:12px}
@media(max-width:760px){.clock-bar{padding:12px 18px;display:block}.clock-bar-actions{justify-content:space-between;margin-top:9px;gap:10px}.clock-bar-actions label{font-size:10px}.clock-bar-actions input{width:16px;height:16px;min-height:16px;flex-basis:16px}.cost-stats strong{font-size:19px}}
/* Business operations: readable records and focused controls. */
.business-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.business-tabs .selected{background:#111111;color:#fff;border-color:#46392c}.business-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:12px 0 24px}.business-intro h2{font-size:28px;margin:0 0 8px}.business-intro p{max-width:680px;margin:0}.business-intro>button{white-space:nowrap}.business-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.business-stats>div{padding:22px;background:#111111;border:1px solid #46392c;border-radius:14px}.business-stats span{display:block;color:#c6beb3;font-size:13px;margin-bottom:12px}.business-stats strong{display:block;font-size:26px;overflow-wrap:anywhere}.business-search{max-width:420px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.project-card{background:#111111;color:#f2ede7;text-align:left;border:1px solid #46392c;border-radius:16px;padding:24px;display:block;min-width:0}.project-card:hover{background:#111111;border-color:#46392c}.project-card h3{font-size:21px;margin:16px 0 6px}.project-card p{font-weight:400;color:#c6beb3;margin:0 0 24px}.project-card>div{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px}.project-status{text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:#c6beb3}.empty-business{grid-column:1/-1;padding:45px;border:1px dashed #46392c;border-radius:16px}.business-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.business-columns .card{margin-bottom:24px;min-width:0}.budget-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.budget-section{margin:24px 0}.table-scroll{overflow:auto;max-width:100%;margin-top:20px}.business-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.business-table th,.business-table td{padding:14px 12px;border-bottom:1px solid #46392c;white-space:nowrap}.business-table th{font-weight:600}.business-table thead{background:#111111;color:#c6beb3}.business-table td small{display:block;color:#c6beb3;font-size:11px;margin-top:4px}.business-table tfoot{font-weight:700}.linked-visits{display:grid;gap:10px}.linked-visits button{text-align:left;display:grid;gap:7px;white-space:normal}.linked-visits span{font-size:12px;font-weight:400}.blocked-row{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #46392c}.blocked-row span{display:block;font-size:13px;margin-top:5px;color:#c6beb3}.report-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.report-filters label{margin:0}.report-filters input{margin-bottom:0}.progress-form{padding:20px;background:#111111;border-radius:12px}.planning-details{padding:18px 0;border-bottom:1px solid #46392c}.planning-details>summary{cursor:pointer;font-weight:650}.planning-details form{padding-top:18px;margin-top:12px}.planning-details form+form{border-top:1px solid #46392c}.crew-choices{display:grid;gap:10px;margin:18px 0}.crew-choices .check-label{margin:0}.visit-audit{padding-left:20px;font-size:13px}.visit-audit li{margin:15px 0}.visit-audit span{display:block;font-size:12px;color:#c6beb3;margin-top:4px}.calendar-block{position:absolute;left:2px;right:2px;background:repeating-linear-gradient(135deg,#111111,#111111 6px,#111111 6px,#111111 12px);color:#c6beb3;border:1px solid #46392c;font-size:11px;line-height:1.4;padding:6px;overflow:hidden;pointer-events:none;z-index:1;border-radius:5px}.calendar-event{z-index:2}.main-nav{flex-wrap:wrap}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-columns{grid-template-columns:1fr}}
@media(max-width:600px){.business-intro{display:block}.business-intro>button{margin-top:18px}.business-stats{grid-template-columns:1fr;gap:10px}.business-stats>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}.business-stats span{margin:0}.business-stats strong{font-size:22px}.project-grid{grid-template-columns:1fr}.business-tabs button{flex:1;padding:10px;font-size:12px}.budget-inputs{gap:0 12px}.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-filters button{grid-column:1/-1}.main-nav button{font-size:11px;padding-left:9px;padding-right:9px}.progress-form{padding:14px}}

@media(max-width:600px){.calendar-workspace{display:flex;flex-direction:column}.calendar-main{order:-1}.calendar-mode .schedule-tools{grid-template-columns:minmax(0,1fr) 112px;gap:10px;padding:14px}.calendar-mode .schedule-tools .search-field{grid-column:auto}.calendar-mode .schedule-tools .tool-actions{grid-column:1/-1;justify-content:flex-end}.calendar-mode .schedule-tools input,.calendar-mode .schedule-tools select{font-size:13px}.calendar-mode .schedule-tools label{font-size:11px}.calendar-mode .schedule-tools .text-button{white-space:nowrap}.main-nav{flex-wrap:nowrap}}
.report-filters label,.budget-inputs label{min-width:0}.report-filters input{max-width:100%}.budget-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.business-stats>div{display:block}.business-stats span{margin:0 0 8px}.business-stats strong{font-size:24px;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}}
/* Customer-to-invoice workspace */
.sales-form{max-width:760px}.sales-multiline{white-space:pre-wrap;overflow-wrap:anywhere}.sales-property{padding:18px 0;border-bottom:1px solid #46392c}.sales-property h4{margin:0 0 8px}.sales-line{display:grid;grid-template-columns:minmax(0,3fr) minmax(70px,1fr) minmax(100px,1fr) auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid #46392c}.sales-line label{min-width:0;margin:0}.sales-line input{margin-bottom:0;min-width:0}.sales-line button{margin-bottom:0}.sales-adjustments{margin-top:24px}.sales-total{font-size:20px;font-weight:700}.sales-summary{max-width:420px;margin:24px 0 24px auto}.sales-summary p{display:flex;justify-content:space-between;gap:20px}.sales-summary strong{white-space:nowrap}.sales-document-head{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #46392c;padding-bottom:24px;margin-bottom:24px}.sales-document-head img{width:180px;max-width:40%;object-fit:contain;align-self:center}.sales-document-head h2{font-size:23px}.business-table .sales-description{white-space:normal;min-width:150px;overflow-wrap:anywhere}.sales-document p{overflow-wrap:anywhere}#salesPages{align-items:center;margin-top:24px}#salesPages span{font-size:13px;color:#c6beb3}#salesResults .project-card p{overflow-wrap:anywhere}#propertyEditor form{margin-top:20px}#salesDocumentActions{margin-top:24px}
@media(max-width:600px){.sales-line{grid-template-columns:1fr 1fr}.sales-line label:first-child{grid-column:1/-1}.sales-line button{grid-column:1/-1;justify-self:start}.sales-document-head{display:block}.sales-document-head img{max-width:180px;width:140px}.sales-document-head h2{margin-top:20px}.sales-document{padding:16px}.sales-summary{max-width:none}.sales-summary p{font-size:14px}.sales-summary .sales-total{font-size:18px}.business-tabs button{flex-basis:30%}#salesPages{flex-wrap:wrap}}
 .sales-document-head img{background:#111111;border-radius:12px;padding:12px;box-sizing:border-box;print-color-adjust:exact;-webkit-print-color-adjust:exact}
#salesPrintCopy{display:none}
@media print{body.printing-sales>:not(#salesPrintCopy){display:none!important}body.printing-sales{background:#111111;margin:0;padding:0}body.printing-sales #salesPrintCopy{display:block;width:100%;border:0;margin:0;padding:12px;background:#111111;box-sizing:border-box}body.printing-sales #salesPrintCopy .table-scroll{overflow:visible}body.printing-sales #salesPrintCopy .business-table th,body.printing-sales #salesPrintCopy .business-table td{white-space:normal}body.printing-sales #salesPrintCopy .business-columns{display:block}body.printing-sales #salesPrintCopy .sales-document-head{display:flex}body.printing-sales #salesPrintCopy .sales-document-head img{width:160px}body.printing-sales #salesPrintCopy tr{break-inside:avoid}}
/* Employee time off and profile time clock */
.leave-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.leave-balances article{padding:16px;background:#111111;border:1px solid #46392c;border-radius:12px;min-width:0}.leave-balances span{display:block;color:#c6beb3;font-size:13px}.leave-balances strong{display:block;font-size:24px;margin:10px 0}.leave-balances p,.leave-balances small{font-size:12px;line-height:1.6;color:#c6beb3}.leave-request-list{display:grid;gap:16px;margin:20px 0}.leave-request{border:1px solid #46392c;border-radius:14px;padding:22px;min-width:0}.leave-request h3{margin:14px 0 8px}.leave-request p{overflow-wrap:anywhere}.leave-request form{margin-top:16px}.leave-editor{border:1px solid #46392c;border-radius:12px;padding:20px;margin:24px 0}.leave-history{padding:14px 0;border-bottom:1px solid #46392c}.leave-history span{display:block;font-size:13px;color:#c6beb3;margin-top:5px}.profile-running{display:grid;gap:8px;padding:18px;background:#111111;border:1px solid #46392c;border-radius:12px;margin-bottom:20px}.profile-running span{font-size:13px}.leave-allowance{margin-top:22px}.month-timeoff{display:block;font-size:10px;padding:5px;margin:3px 0;width:100%;text-align:left;white-space:normal;background:#111111;color:#c6beb3;border:1px solid #46392c}.month-timeoff:hover{background:#111111}.leave-request .eyebrow{display:block;margin-bottom:12px}
@media(max-width:650px){.leave-balances{grid-template-columns:1fr}.leave-balances article{padding:14px}.leave-balances strong{font-size:22px}.leave-request{padding:16px}.leave-editor{padding:14px}#teamLeaveFilters{display:grid;grid-template-columns:minmax(0,1fr)}#teamLeaveFilters input,#teamLeaveFilters select{min-width:0;width:100%}}

/* Dashboard destinations stay readable from compact phones to office displays. */
.dash-workspace{margin-bottom:22px}.dash-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.dash-workspace-action{align-items:flex-start;position:relative;text-align:left;min-width:0;padding:18px 36px 18px 18px;background:#17130f;color:var(--ink);border:1px solid #46392c;border-radius:12px;display:flex;flex-direction:column;gap:7px;white-space:normal}
.dash-workspace-action:hover{background:#17130f;border-color:#46392c}.dash-workspace-action strong{font-size:16px}.dash-workspace-action>span:not(.dash-action-arrow){font-size:13px;font-weight:400;line-height:1.5;color:#c6beb3}.dash-action-arrow{position:absolute;right:16px;top:18px}
@media(max-width:850px){.dash-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.dash-workspace-grid{grid-template-columns:1fr}.dash-workspace-action{padding:15px 36px 15px 15px}}
/* Let schedule actions wrap cleanly on compact phones. */
@media(max-width:560px){.schedule-heading>.button-group{min-width:0;flex-wrap:wrap}.schedule-heading>.button-group>*{flex:1 1 110px;min-width:0;white-space:normal}}
#availabilityBlocks{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}

.home-time-clock{margin:0 0 24px;border-top:3px solid var(--bronze)}.home-clock-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.home-clock-heading h2{margin:8px 0}.home-clock-timer{font-size:clamp(38px,7vw,64px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:14px 0}.home-clock-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.home-clock-actions button{min-height:48px;min-width:150px}.clock-active{background:#111111;color:#bad2be}.home-time-clock form{max-width:720px}@media(max-width:560px){.home-clock-heading{flex-direction:column;gap:5px}.home-clock-actions button{flex:1;min-width:0}.home-time-clock{padding:20px}}

.job-crew{margin:14px 0;padding:12px 14px;background:#17130f;border-radius:10px}.job-crew ul{list-style:none;margin:6px 0 0;padding:0}.job-crew li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:5px 0;font-size:13px}.job-crew li span{color:var(--muted)}.crew-designation{flex-basis:100%;grid-column:1/-1;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.crew-designation select{max-width:300px}.team-person{flex-wrap:wrap}

/* Crew clock: explicit attendance selection, readable on compact phones. */
.crew-home{margin-top:16px}.crew-home select{max-width:100%}.crew-home button{margin-top:14px}.crew-clock{margin:24px 0;padding:20px;border:1px solid var(--line,#46392c);border-radius:16px;background:#17130f}.crew-clock-person{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #46392c}.crew-clock-person input{width:20px;height:20px;flex:0 0 20px}.crew-clock-person span{min-width:0;overflow-wrap:anywhere}.crew-clock-person .help{display:block;margin:4px 0}.crew-clock input,.crew-clock select{max-width:100%;min-width:0}.crew-clock .home-clock-actions{flex-wrap:wrap}.crew-clock .home-clock-actions button{white-space:normal}

/* Job documents: readable access labels and generous touch targets. */
.folder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.folder-heading h3,.folder-heading h4{margin-top:8px}.folder-toolbar,.folder-item-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.folder-toolbar label{margin:0;flex:1;min-width:180px}.folder-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.folder-item{border:1px solid #46392c;border-radius:16px;overflow:hidden;background:#111111;min-width:0}.folder-thumb{width:100%;height:150px;object-fit:cover;background:#17130f}.folder-file-mark{padding:20px 18px 6px;color:#d4aa77;font-size:13px;font-weight:800;letter-spacing:1.2px}.folder-item-body{padding:16px}.folder-item h4{margin:12px 0 8px;overflow-wrap:anywhere}.folder-item .help{overflow-wrap:anywhere}.folder-private{background:#17130f;color:#d4aa77}.folder-shared{background:#111111;color:#bad2be}.folder-download{display:inline-block;padding:12px 4px;text-decoration:underline;text-underline-offset:4px;color:#d4aa77;font-weight:700}.folder-editor{background:#17130f;border:1px solid #46392c;border-radius:16px;padding:20px;margin-top:18px}.folder-editor textarea{min-height:140px}.folder-editor input[type=file]{max-width:100%;padding:12px 8px;font-size:13px}.folder-visibility{border-top:1px solid #46392c;padding-top:18px;margin-top:22px}.folder-history{margin-top:22px}.folder-history summary{padding:12px 0;cursor:pointer;font-weight:700}.folder-history li{margin-bottom:14px;overflow-wrap:anywhere}.folder-history li span{display:block;color:#c6beb3;font-size:12px;margin-top:5px}.folder-empty{padding:24px;border:1px dashed #46392c;border-radius:14px;grid-column:1/-1;color:#c6beb3}.folder-empty p{margin-bottom:0}@media(max-width:600px){.folder-items{grid-template-columns:1fr}.folder-heading{flex-direction:column}.folder-editor{padding:14px}.folder-toolbar>*{flex:1 1 100%}.folder-item-actions>*{max-width:100%;white-space:normal}}


/* Clear time summaries and compact operational review. */
.personal-hours{margin:20px 0}.hours-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.hours-stats>div{background:#111111;border:1px solid #46392c;border-radius:14px;padding:18px;min-width:0}.hours-stats span{display:block;font-size:13px;color:#c6beb3}.hours-stats strong{display:block;font-size:clamp(21px,2.6vw,30px);margin-top:8px;overflow-wrap:anywhere}.hours-stats .overtime-stat{background:#121615;border-color:#46392c}.week-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.week-breakdown p{border-left:3px solid #46392c;padding-left:14px}.week-breakdown span{display:block;margin-top:6px;font-size:14px}.vacation-heading,.break-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.vacation-heading{justify-content:space-between;border-top:1px solid #46392c;padding-top:18px;margin-top:22px}.break-controls{margin:18px 0}.break-controls p{flex-basis:100%;margin:0}.timesheet-list{display:grid;gap:14px}.timesheet-entry,.checklist-item{border:1px solid #46392c;border-radius:14px;padding:18px;margin:12px 0;background:#111111}.timesheet-entry .card-heading p{margin:5px 0}.checklist-item small{display:block;color:#c6beb3}.operation-error{margin-top:12px}.timesheet-review input,.timesheet-review select,.personal-hours input{max-width:100%}@media(max-width:560px){.hours-stats{grid-template-columns:1fr;gap:8px}.hours-stats>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.hours-stats strong{font-size:24px;margin:0}.week-breakdown{grid-template-columns:1fr}.personal-hours .card-heading{align-items:flex-start;flex-direction:column}.timesheet-entry{padding:14px}.break-controls button{flex:1 1 120px}}

/* Dispatch preparation and equipment records */
.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.readiness-list{list-style:none;padding:0;margin:24px 0}.readiness-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #46392c}.readiness-list li>span{font-size:22px;width:24px;flex-shrink:0}.readiness-list .ready>span{color:#bad2be}.readiness-list .waiting>span{color:#d4aa77}.readiness-list small{display:block;margin-top:3px;color:#c6beb3;line-height:1.5}.ready-badge{background:#121615;color:#bad2be}.waiting-badge{background:#17130f;color:#d4aa77}.planning-form{padding:20px;background:#111111;border:1px solid #46392c;border-radius:14px;margin:18px 0}.planning-form input,.planning-form select,.planning-form textarea{max-width:100%;min-width:0}.dispatch-update{border-top:1px solid #46392c;padding:16px 0}.dispatch-updates h2{font-size:1.3rem}.dispatch-updates{margin:20px 0}.part-card,.equipment-card{padding:20px;border:1px solid #46392c;border-radius:14px;margin:14px 0;overflow-wrap:anywhere}.equipment-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.equipment-specs dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#c6beb3}.equipment-specs dd{margin:4px 0 0;font-weight:650;overflow-wrap:anywhere}.equipment-photo{display:block;max-width:100%;max-height:380px;object-fit:contain;margin:16px 0;border-radius:8px}.equipment-history{padding-left:22px}.equipment-history li{margin:16px 0}.equipment-history p{font-size:.9rem}.job-work-panel [data-job-equipment]{margin-top:28px;padding-top:24px;border-top:1px solid #46392c}.readiness-job h3,.part-card h3{font-size:1.15rem}.planning-grid>*{min-width:0}.readiness-job .card-heading{align-items:flex-start}.planning-intro{margin-bottom:20px}.equipment-list h4{font-size:1.1rem;margin:6px 0}@media(max-width:800px){.planning-grid{grid-template-columns:1fr}.planning-form{padding:14px}.equipment-specs{grid-template-columns:1fr 1fr}.part-card,.equipment-card{padding:14px}.readiness-job .card-heading,.part-card .card-heading{flex-wrap:wrap}}@media(max-width:390px){.equipment-specs{grid-template-columns:1fr}}

/* Private beta feedback, reliable-save messaging and manager health */
.connection-status{margin:16px auto;max-width:1120px;padding:16px 22px;border:1px solid #46392c;background:#17130f;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#d4aa77}.connection-status[hidden]{display:none}.connection-status p{margin:0;line-height:1.5}.connection-status button{flex-shrink:0}.beta-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.beta-layout>*,.beta-report-title{min-width:0}.beta-report-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:#111111;border:1px solid #46392c;border-radius:13px;color:#f2ede7;padding:18px;margin:12px 0;box-shadow:none}.beta-report-row:hover{background:#17130f;border-color:#46392c}.beta-report-title strong,.beta-report-title small{display:block;overflow-wrap:anywhere}.beta-report-title small{font-weight:400;font-size:.82rem;line-height:1.5;margin-top:7px;color:#c6beb3}.beta-report-tags{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}.beta-pages{margin-top:22px;align-items:center}.beta-empty{padding:34px 0}.beta-empty h3{font-size:1.2rem}.beta-system{margin-top:22px}.beta-guide h2,.beta-system h2{font-size:1.35rem}.beta-health{margin:22px 0}.beta-health>div{padding:12px 0;border-bottom:1px solid #46392c}.beta-health dt{font-weight:650}.beta-health dd{margin:5px 0}.beta-health small{font-size:.8rem;color:#c6beb3}.beta-ok{color:#bad2be}.beta-check{color:#d4aa77}.beta-report-dialog{max-width:640px}.beta-report-dialog textarea{min-height:145px}.beta-detail{margin-top:18px}.beta-description{font-size:1.06rem;padding:22px;background:#111111;border-radius:12px;overflow-wrap:anywhere}.beta-timeline{list-style:none;padding:0}.beta-timeline li{margin:15px 0;padding:18px;border-left:3px solid #46392c;background:#111111;overflow-wrap:anywhere}.beta-timeline span{display:block;font-size:.8rem;color:#c6beb3;margin-top:5px}.beta-timeline p{margin-bottom:0}.beta-detail form{padding-top:20px;border-top:1px solid #46392c}.beta-detail h2{overflow-wrap:anywhere}#betaReportError:empty{display:none}@media(max-width:850px){.beta-layout{grid-template-columns:1fr}.beta-layout aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.beta-system{margin-top:0}}@media(max-width:600px){.beta-layout aside{display:block}.beta-system{margin-top:18px}.beta-report-row{align-items:flex-start;flex-direction:column}.beta-report-tags{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.connection-status{margin:12px;align-items:stretch;flex-direction:column}.beta-report-dialog .visit-dialog-body{padding:18px}.beta-pages{justify-content:space-between}}

/* Builder/customer file workspace */
.file-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:1.3rem;font-size:.9rem}.file-crumbs button{background:none;border:0;padding:.35rem 0;color:var(--accent,#d4aa77);font:inherit;text-decoration:underline;text-underline-offset:4px}.file-crumbs strong{overflow-wrap:anywhere}.file-search{display:flex;align-items:end;gap:.75rem;margin:1.25rem 0}.file-search label{flex:1}.file-search button{margin-bottom:.1rem}.file-grid{margin:1rem 0}.file-card{text-align:left;overflow-wrap:anywhere}.file-card h3{margin-top:.75rem}.file-folder-mark{display:block;width:42px;height:29px;border:2px solid currentColor;border-radius:4px;position:relative;margin:8px 0 14px;color:#d4aa77;background:#17130f12}.file-folder-mark:before{content:'';position:absolute;top:-8px;left:1px;width:18px;height:7px;border:2px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0}.file-unfiled{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem}.file-unfiled p{margin:0}.file-pages{margin-bottom:1.5rem}.file-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.file-filter [aria-pressed=true]{border-color:#a78055;background:#17130f1a}.file-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1rem}.file-document{border:1px solid #46392c;border-radius:12px;padding:1rem;min-width:0;overflow-wrap:anywhere}.file-document img{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-top:.75rem}.file-document h4{margin:.75rem 0 .4rem}.file-settings{margin:1rem 0;max-width:780px}.file-settings .notice{margin:1rem 0}.file-cloud-list{list-style:none;margin:.75rem 0;padding:0}.file-cloud-list li{padding:.6rem 0;border-bottom:1px solid #46392c;overflow-wrap:anywhere}.file-cloud-list button{width:100%;text-align:left;white-space:normal}.file-cloud-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.file-cloud-heading .button-group{margin:0}.file-note{padding:1rem;margin-top:1rem;border-left:3px solid #a78055;background:#17130f0c}.file-job-columns>section{min-width:0}
@media(max-width:620px){.file-search,.file-unfiled{align-items:stretch;flex-direction:column}.file-job-columns{grid-template-columns:1fr}.file-crumbs{font-size:.85rem}.file-job-columns .folder-download{overflow-wrap:anywhere}.file-cloud-heading .button-group{width:100%}}

/* Account access controls retain readable spacing on narrow screens. */
#accessSecurity{margin-top:24px}.access-list{display:grid;gap:14px}.access-list article{border:1px solid var(--line,#46392c);border-radius:14px;padding:16px;min-width:0}.access-list p{overflow-wrap:anywhere}.access-list .button-group{margin-top:12px;flex-wrap:wrap;gap:10px}#accessDialog{width:min(560px,calc(100% - 24px))}#accessDialog input{width:100%;min-width:0}#accessDialog label{display:block;margin:14px 0}#accessDialog .visit-dialog-body{overflow-wrap:anywhere}#accessDialog button{min-height:44px}#accessSecurity button{min-height:44px}

/* Customer directory and invoice status at a glance. */
.sales-customer-list{display:flex;flex-direction:column;gap:0;margin-top:22px;border:1px solid var(--line);border-radius:14px;background:#111111;overflow:hidden}
.sales-customer-row{display:flex;justify-content:flex-start;width:100%;min-height:58px;padding:16px 20px;text-align:left;background:#111111;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;white-space:normal;overflow-wrap:anywhere}
.sales-customer-row:last-child{border-bottom:0}.sales-customer-row:hover{background:var(--soft)}.sales-customer-row:active:not(:disabled){background:var(--soft);color:var(--ink);transform:none;box-shadow:inset 3px 0 var(--bronze)}
.project-card>.sales-card-heading{margin-top:0;align-items:center;flex-wrap:wrap}.invoice-status{display:inline-block;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap;vertical-align:middle;background:#111111;color:#f2ede7;letter-spacing:0;text-transform:none}
.invoice-status--paid{background:#121615;color:#bad2be}.invoice-status--partial{background:#17130f;color:#d4aa77}.invoice-status--overdue{background:#171412;color:#efb7ae}.invoice-status--void{background:#111111;color:#f2ede7}.invoice-status--open{background:#171412;color:#c6cede}
@media(max-width:600px){.sales-customer-row{padding:16px;min-height:58px}.sales-card-heading .invoice-status{white-space:normal}}

.customer-document-history{margin-bottom:24px}.sales-history-list{display:flex;flex-direction:column}.sales-history-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:72px;padding:16px 4px;text-align:left;background:#111111;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.sales-history-row:last-child{border-bottom:0}.sales-history-row:hover{background:var(--paper)}.sales-history-row:active:not(:disabled){background:var(--soft);color:var(--ink);transform:none;box-shadow:none}.sales-history-description{flex:1;min-width:0}.sales-history-description strong,.sales-history-description small{display:block;overflow-wrap:anywhere}.sales-history-description small{margin-top:5px;font-weight:400;color:var(--muted)}.sales-history-amount{min-width:120px;text-align:right;font-size:13px;font-weight:400}.sales-history-amount strong{display:block;font-size:16px}.customer-document-history .button-group{margin-top:18px}
@media(max-width:600px){.sales-history-row{flex-wrap:wrap;gap:10px;padding:16px 4px}.sales-history-description{flex-basis:100%}.sales-history-amount{margin-left:auto;min-width:0}}

/* Compact lists throughout the workspace; keep record labels and amounts visible. */
.project-grid,.dash-workspace-grid,.file-document-grid,.choice-grid{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#111111}
.project-grid>.project-card,.dash-workspace-grid>.dash-workspace-action,.choice-grid>.choice-card{width:100%;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;min-height:52px;padding:12px 16px;color:var(--ink);background:#111111}
.project-grid>.project-card:last-child,.dash-workspace-grid>.dash-workspace-action:last-child,.choice-grid>.choice-card:last-child{border-bottom:0}
.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center}
.project-card h3{font-size:16px;line-height:1.45;margin:3px 0;grid-column:1;overflow-wrap:anywhere}
.project-card>p{grid-column:1;font-size:13px;line-height:1.5;margin:3px 0;color:var(--muted)}
.project-card>.project-status,.project-card>.sales-card-heading{grid-column:1/-1;margin:0 0 3px;font-size:12px}
.project-card>div:not(.sales-card-heading){grid-column:2;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px 10px;font-size:13px;margin:3px 0;text-align:right}
.project-card>small{grid-column:1/-1}.project-card>.sales-card-heading{display:flex;justify-content:space-between;gap:12px}
.file-card .file-folder-mark{display:none}.file-card>span:last-child:not(.project-status){grid-column:2;grid-row:2;font-size:12px;color:var(--bronze-dark)}
.dash-workspace-action{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.dash-workspace-action strong{font-size:15px}.dash-workspace-action>span:not(.dash-action-arrow){font-size:13px;text-align:right}.dash-action-arrow{display:none}
.business-tabs{gap:4px;margin-bottom:20px}.business-tabs button{flex:0 0 auto;min-height:44px;padding:9px 12px;border-radius:6px;box-shadow:none;font-size:13px}
.business-tabs .selected{background:#17130f;border-color:#46392c;color:var(--ink)}
.dash-stats{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.dash-stats .dash-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 16px;box-shadow:none}
.dash-stats .dash-stat:last-child{border-bottom:0}.dash-stats .dash-stat>strong{grid-column:2;grid-row:1/3;font-size:24px}.dash-stats .dash-stat>small{grid-column:1}
.dash-actions{gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.dash-actions>:is(button,a){justify-content:flex-start;text-align:left;margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:#111111;color:var(--ink)}.dash-actions>:last-child{border-bottom:0}
.file-document-grid>.file-document{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.file-document-grid>.file-document:last-child{border-bottom:0}.file-document-grid .file-document h4{font-size:15px;margin:0;flex:1 1 180px}.file-document-grid .file-document p{margin:0;font-size:12px}.file-document-grid .file-document img{width:64px;height:48px;margin:0;object-fit:cover}.file-document-grid .file-document a:has(img){flex:0 0 64px}
.choice-grid>.choice-card:has(input:checked){border:0;border-bottom:1px solid var(--line);box-shadow:inset 3px 0 var(--bronze);padding:12px 16px;background:#17130f}
.readiness-list,.parts-list,.equipment-list{display:flex;flex-direction:column;gap:0}.readiness-list>.readiness-job,.parts-list>.part-card,.equipment-list>.equipment-card{border-radius:0;box-shadow:none;margin:0;padding:14px 16px;border:0;border-bottom:1px solid var(--line)}
@media(max-width:600px){.project-card{grid-template-columns:minmax(0,1fr)}.project-card>div:not(.sales-card-heading){grid-column:1;justify-content:flex-start;text-align:left}.file-card>span:last-child:not(.project-status){grid-column:1;grid-row:auto}.dash-workspace-action{flex-direction:column;align-items:flex-start;gap:3px}.dash-workspace-action>span:not(.dash-action-arrow){text-align:left}.business-tabs button{flex:0 0 auto}.file-document-grid>.file-document{align-items:flex-start}.file-document-grid .file-document h4{flex-basis:calc(100% - 100px)}}
/* A pale highlight and dark text override older dark hover rules, including links. */
@media(hover:hover){
 :is(button,.btn,a[href],summary,[role="button"],.choice-card):not(:disabled):not([aria-disabled="true"]):hover{background-color:#17130f!important;color:#f2ede7!important;border-color:#46392c;box-shadow:inset 3px 0 #b58b59!important;transform:none!important}
 :is(a[href],summary):hover{text-decoration-thickness:2px;text-underline-offset:3px}
}
:is(button,.btn,a[href],summary,[role="button"],.choice-card):focus-visible{background-color:#17130f!important;color:#f2ede7!important;outline:2px solid #d4aa77;outline-offset:2px}
@media(prefers-reduced-motion:reduce){button,.btn,a,summary,.choice-card{transition:none!important}}

/* Search controls stay reachable without crowding small screens. */
.record-search{display:flex;align-items:flex-end;gap:12px;margin:20px 0 8px}.record-search>.business-search{flex:1;min-width:0;margin:0}.record-search>button{flex-shrink:0}.record-loading{padding:16px;margin:0;color:var(--muted)}#salesResultCount{margin:8px 0 12px;overflow-wrap:anywhere}@media(max-width:480px){.record-search{align-items:stretch;flex-direction:column}.record-search>button{align-self:flex-start}}

/* Files stay inside the customer/job workspace. */
.file-preview-body{min-height:12rem}.file-preview-pdf{display:block;width:100%;height:75vh;min-height:24rem;border:1px solid #46392c;border-radius:8px;background:#111111}.file-preview-image{display:block;max-width:100%;max-height:80vh;object-fit:contain;margin:auto}.file-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:1rem;background:#111111;border-radius:8px}

/* Consistent customer sections and record sorting. */
.customer-sections{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}.customer-sections button[aria-pressed="true"]{background:#17130f;color:#f2ede7;border-color:#46392c;box-shadow:inset 0 -2px #b89550}.record-sort{display:flex;flex-direction:column;gap:.3rem;max-width:22rem;margin:.75rem 0;font-size:.9rem}.record-sort select{width:100%;min-height:44px}.record-search .record-sort{margin:0;min-width:12rem}.sales-history-row small{display:block;overflow-wrap:anywhere}.sales-history-amount small{font-weight:400;margin-top:.25rem}@media(max-width:540px){.customer-sections button{flex:1 1 8rem}.record-search>label{flex:1 1 100%;min-width:0}.record-sort{max-width:100%}}

/* Three primary destinations; clock opens the user's timer without changing it. */
.main-nav #clockTab{display:flex;align-items:center;justify-content:center;gap:7px}
.main-nav #clockTab[hidden]{display:none}
#clockTab svg{width:20px;height:20px;flex:0 0 20px}
#profileWorkforce,#workspaceTitle{scroll-margin-top:24px}
@media(max-width:760px){.main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.main-nav #homeTab{grid-column:1;grid-row:1}.main-nav #clockTab{grid-column:2;grid-row:1;flex-direction:column;gap:4px;background:#17130f;color:#d4aa77;border-color:#46392c;min-height:56px;font-size:12px!important}.main-nav #teamTab{grid-column:3;grid-row:1}.main-nav #clockTab:hover{background:#17130f;color:#d4aa77}.main-nav #clockTab.active{background:#17130f;color:#d4aa77;box-shadow:inset 0 -2px #a77740}.main-nav #clockTab:focus-visible{outline:3px solid #d4aa77;outline-offset:2px}.main-nav #customerTab{grid-column:1/-1}}

.dash-workspace-groups{display:grid;gap:24px;margin-top:24px}.dash-workspace-groups h3{font-size:16px;margin:0 0 10px}.dash-workspace-groups .dash-workspace-grid{margin-top:0}

.employee-next,.employee-today{margin-bottom:20px}.employee-job-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.employee-job-list>p{padding:16px;margin:0}.employee-job-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px;box-shadow:none}.employee-job-row:last-child{border-bottom:0}.employee-job-row>span{display:grid;gap:6px;min-width:0}.employee-job-row>span:last-child{text-align:right;flex-shrink:0}.employee-job-row small{font-weight:400;color:var(--muted);line-height:1.5}.employee-directions{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;min-height:46px;text-decoration:none;border:1px solid var(--line);border-radius:10px;background:#17130f;color:var(--ink)}.employee-instructions{padding:16px;background:#17130f;border-radius:10px;margin:18px 0}.employee-instructions h3{font-size:15px;margin:0 0 8px}.employee-clock-status{display:flex;align-items:center;justify-content:space-between;gap:18px}.employee-clock-status h2{font-size:23px;margin:6px 0}.employee-clock-status p{margin:8px 0}.employee-elapsed{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.main-nav #clockTab{position:relative}.main-nav #clockTab.clock-running::after{content:"";width:9px;height:9px;border-radius:50%;background:#121615;border:2px solid #46392c;position:absolute;right:10px;top:7px}#clockTab.clock-running svg{color:#bad2be}.employee-time-reminders li{margin:10px 0;line-height:1.6}
@media(max-width:400px){.employee-job-row{align-items:flex-start;flex-direction:column}.employee-job-row>span:last-child{text-align:left}.employee-clock-status{align-items:flex-start}.employee-clock-status button{padding-inline:12px;min-width:88px}}

.employee-schedule-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.employee-schedule-tools [aria-pressed=true]{background:#17130f;color:#d4aa77;border-color:#46392c}.employee-list-mode .calendar-toolbar,.employee-list-mode .schedule-tools{display:none}.employee-schedule-job{padding:12px 0;border-bottom:1px solid var(--line)}.employee-schedule-job:last-child{border-bottom:0}.employee-schedule-job .employee-job-row{border:1px solid var(--line);border-radius:10px}.employee-schedule-job .employee-directions{margin-top:10px}.employee-schedule-warning{font-size:13px;color:#d4aa77;background:#17130f;padding:12px;border-radius:8px;margin:10px 0}.employee-schedule-tools .view-switch{flex-wrap:wrap}

.switch-job-panel{margin:24px 0;padding:20px;background:#17130f;border:1px solid var(--line);border-radius:12px}.switch-job-panel h3{margin-top:0}



/* My Clock is its own page; account/security settings stay in Profile. */
#clock #personalTimesheet,#clock #profileWorkforce>section:not(:first-child){display:none}.clock-page-heading{margin-bottom:16px}.clock-page-heading h1{margin-bottom:0}#clockContent{max-width:820px;margin:0 auto 0 0}
/* Programmatic heading focus should not draw Safari's blue rectangle. */
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}.dashboard-heading{background:transparent;box-shadow:none;border:0}.dashboard-heading h1{outline:none}

.personal-clock-display{text-align:center;padding:28px 16px;margin:20px 0 28px;background:#17130f;border:1px solid #46392c;border-radius:18px}.personal-clock-digits{display:block;font-size:clamp(44px,12vw,84px);font-weight:700;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);margin:12px 0 16px}.personal-clock-job{margin:10px 0 16px;overflow-wrap:anywhere}.personal-clock-job>span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.personal-clock-job strong{display:block;font-size:clamp(18px,5vw,25px);line-height:1.4}.personal-clock-since{font-size:12px;color:var(--muted);margin:14px 0 0}@media(max-width:360px){.personal-clock-display{padding:22px 8px}.personal-clock-digits{font-size:clamp(36px,12vw,44px)}}

.personal-clock-display{background:#17130f;border-color:#46392c;border-top:4px solid #a78055}.personal-clock-display.is-clocked-in{border-top-color:#c6beb3}.personal-clock-display.is-on-break{border-top-color:#d4aa77}.personal-clock-display.is-clocked-in .clock-active{background:#111111;color:#bad2be}.personal-clock-display.is-on-break .clock-active{background:#17130f;color:#d4aa77}.personal-clock-display .eyebrow{color:#d4aa77}.personal-clock-display .personal-clock-digits{color:#f2ede7}

/* Milestone black / bronze theme. */
:root{color-scheme:dark;--ink:#f2ede7;--text:#eee8df;--muted:#bfb6aa;--bronze:#b88a55;--bronze-dark:#d8b07d;--paper:#000000;--line:#46392c;--soft:#201a14}
html,body{background:#000;color:var(--text)}header,.main-nav{background:#050505}.draft{background:#080808;color:#c5b69f;border-color:var(--line)}button,.btn{color:#100e0c}button.secondary,.secondary{background:#111;color:var(--ink);border-color:#6a5239}.text-button,.folder-download,a{color:#d8b07d}.panel,.card,.dash-panel,dialog,.profile-menu{background:#101010;color:var(--text);border-color:var(--line)}h1,h2,h3,h4,label,legend{color:var(--ink)}input,select,textarea{background:#080808;color:var(--ink);border-color:#71593d}input::placeholder,textarea::placeholder{color:#b6ac9f}input[type=checkbox],input[type=radio]{accent-color:#bc905c}.signin-content{background:#0e0e0e}.signin-heading h1,#signin label{color:var(--ink)}#signin input{background:#080808;color:var(--ink)}.main-nav #clockTab{background:#22180d;color:#f1d0a3;border-color:#916d42}.main-nav #clockTab:hover,.main-nav #clockTab.active{background:#302112;color:#ffe0b6}.employee-job-row,.sales-history-row,.project-card,.dash-workspace-action,.file-cloud-list button,.choice-card{background:#111;color:var(--ink)}.calendar-event{background:#20170e;border-color:#906a3e;color:#f4e8d7}.employee-directions{background:#18130e;color:#e3bb88}.personal-clock-display{background:#050505;color:var(--ink);border-color:#765731}.personal-clock-display .personal-clock-digits{color:#fff}.personal-clock-display .eyebrow{color:#d8b07d}.personal-clock-display.is-clocked-in{border-top-color:#73977c}.personal-clock-display.is-on-break{border-top-color:#c49a5a}.personal-clock-display .clock-active{background:#14251b;color:#c0dfc6}.personal-clock-display.is-on-break .clock-active{background:#30230d;color:#f1d49e}
/* Put the timer first, directly at the viewport start when My Clock opens. */
#clock .clock-page-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#clock .personal-clock-display{margin-top:0;scroll-margin-top:0;scroll-margin-bottom:0}#clock #profileWorkforce>section:first-child{padding-top:0;border-top:0}#clock .card-heading{margin-top:20px}body:has(#clock:not([hidden])) .wrap{padding-top:0}body:has(#clock:not([hidden])) #pageNavigation{display:none}
@media(hover:hover){button.secondary:hover:not(:disabled),.secondary:hover,.employee-job-row:hover,.sales-history-row:hover{background:#292016;color:#fff1dd;border-color:#a77c48}nav button:hover:not(:disabled){color:#fff1dd}}

#signin .signin-submit{background:#b88a55;color:#100e0c}#signin .signin-submit:hover{background:#d8b07d;color:#100e0c}.mini-calendar button.selected-day,.month-day-number.is-today{color:#100e0c}#clock .card-heading .help{display:none}

html:has(#clock:not([hidden])){scroll-padding-top:0}body:has(#clock:not([hidden])) #clockBar{display:none}

@media(hover:hover){button:hover:not(:disabled){background:#302214;color:#fff0dc;border-color:#a77c48}}

#clock .switch-job-panel{margin:20px 0;padding:18px;background:#15110c;border-color:#6e5233}#clock #profileBreaks{margin:20px 0}#clock #profileClockForm>button{width:100%;margin-top:16px}#clock .clock-options{margin:12px 0}#clock .clock-options summary{font-size:14px}#clock .card-heading{padding-top:20px;border-top:1px solid var(--line)}#clock .card-heading .eyebrow{display:none}.clock-pull-hint{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:150;background:#21180e;color:#ffe0b5;border:1px solid #9d7749;border-radius:24px;padding:10px 18px;font-size:13px;box-shadow:0 4px 20px #0008;pointer-events:none;white-space:nowrap}body:has(#clock:not([hidden])){overscroll-behavior-y:contain}

.job-notes-panel{border:1px solid var(--line);background:#11100e;padding:20px;border-radius:12px;margin:20px 0}.job-notes-panel h3{margin:0 0 10px}.job-note-list article{padding:15px 0;border-top:1px solid var(--line)}.job-note-list small{display:block;color:var(--muted);margin-top:4px}.job-notes-panel textarea{min-height:100px}.page-pull-hint{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:200;background:#21180e;color:#ffe0b5;border:1px solid #9d7749;border-radius:24px;padding:10px 18px;font-size:13px;pointer-events:none;white-space:nowrap}html{overscroll-behavior-y:contain}

.clock-location-toggle{display:inline-flex;align-items:center;gap:10px;margin:20px auto 0;color:#f3ddbd;font-size:14px}.clock-location-toggle input{appearance:auto;width:22px;height:22px;accent-color:#bf945c}.personal-clock-display #clockLocationStatus{font-size:12px;margin:8px 0 0;color:var(--muted)}.team-location-row{padding:18px 0;border-top:1px solid var(--line)}.team-location-row small{display:block;margin-top:10px;color:var(--muted)}#dashboardLocations{margin-bottom:22px}

/* Building Group quote helpers */
.building-quote-tools{border:1px solid #b6773260;margin:1.5rem 0;padding:1.2rem;}
.building-quote-tools>button,.building-quote-tools details>button{margin: .65rem .65rem .65rem 0;min-height:44px;}
.building-quote-tools details{margin-top:1rem;padding-top:1rem;border-top:1px solid #ffffff20;}
.building-quote-tools summary{cursor:pointer;min-height:44px;font-weight:600;}
#bgResults{margin-top:1.5rem;}
