/* V89 mobile-first Heuer concept, neutral surfaces and purposeful accents. */
html[data-theme="light"]{--app-bg:#f5f7f9;--app-text:#112033;--app-muted:#657080;--app-line:#e1e6eb;--app-red:#df293c;--app-control:#f4f6f8}
html[data-theme="light"] body{background:#f5f7f9!important;color:#112033!important}
body{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
html{scroll-padding-bottom:calc(170px + env(safe-area-inset-bottom))}
.guided-footer button{scroll-margin-bottom:calc(170px + env(safe-area-inset-bottom))}
body .feedback-banner.feedback-info{top:12px!important;bottom:auto!important;transform:none!important;pointer-events:none}
body .feedback-banner.feedback-info button{pointer-events:auto}
body [hidden]{display:none!important}
body #reportTabs,body>.local-info{display:none!important}
body .app-header{min-height:86px!important;position:relative!important;padding:10px 20px!important;display:flex!important;justify-content:flex-start!important;background:#fff!important;border-bottom:1px solid #e3e8ed!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body .app-header .brand-logo{height:64px!important;width:155px!important;margin:0!important;object-fit:contain!important;padding:0!important;background:#fff!important}
body .app-header .app-menu{position:absolute!important;right:115px!important;top:23px!important}
body .app-menu .app-menu-content{position:fixed!important;left:16px!important;right:16px!important;top:84px!important;bottom:auto!important;width:min(420px,calc(100vw - 32px))!important;max-height:calc(100dvh - 180px - env(safe-area-inset-bottom))!important;margin-left:auto!important;overflow:auto!important;box-sizing:border-box;z-index:1200!important}
#menuScrim{position:fixed;inset:0 0 calc(76px + env(safe-area-inset-bottom));z-index:1099;border:0;background:rgba(15,23,32,.36);backdrop-filter:blur(2px);padding:0}body.menu-open{overflow:hidden}
body.menu-open .app-header{z-index:1201!important}
body .app-menu .modern-menu-close{position:absolute;right:14px;top:10px;width:36px;min-height:36px;padding:0!important;font-size:26px;border:1px solid #dce2e8!important;border-radius:10px!important;background:#fff!important;color:#18263b!important;cursor:pointer}
body .app-menu-content>strong{padding-right:40px!important}
body .app-menu-content>.modern-install-menu{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:52px!important;padding:11px 14px!important;border:0!important;border-radius:13px!important;background:#f4f6f8!important;color:#18263b!important;font:inherit!important;font-weight:750!important;text-align:left!important;cursor:pointer}body .modern-install-menu svg{width:23px!important;height:23px!important;flex:none!important}body .modern-install-menu span{flex:1}
body .app-menu-content :is(#cloudBackupButton,#helpMenu){display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;text-align:left!important}body .app-menu-content :is(#cloudBackupButton,#helpMenu) svg{width:22px!important;height:22px!important;flex:none!important}
body details:not([open])>:not(summary){display:none!important}
body .app-header .language-menu{position:absolute!important;right:16px!important;top:23px!important}
body .app-header #quickTutorialButton{right:65px!important;width:38px!important;height:38px!important;background:#fff!important;border:1px solid #e1e6eb!important;color:#18263b!important}
body .app-header :is(.theme-menu,.language-menu)>summary{height:38px!important;width:38px!important;border:1px solid #e1e6eb!important;border-radius:11px!important;background:#fff!important;color:#18263b!important}
body :is(#workApp,#reportsApp,#wageApp,#homeApp){width:min(900px,calc(100% - 32px))!important;margin:0 auto!important;padding:24px 0 32px!important}
body #homeApp{max-width:620px!important}
body :is(.panel,.today-dashboard,.roof-type-panel,.entry-section,.report-section,.report-delivery,.wage-panel){border:1px solid #e1e6eb!important;border-radius:17px!important;box-shadow:0 2px 7px rgba(18,32,50,.035)!important}
body :is(.entry-section>summary,.report-section>summary,.entry-section-body,.report-section-body){border-color:#e1e6eb!important}
body :is(.entry-panel,.report-editor){padding:18px!important}
body .wage-panel{padding:0!important;overflow:hidden}body #wageDetails>summary{display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 16px;list-style:none;cursor:pointer;border-bottom:1px solid transparent}body #wageDetails[open]>summary{border-color:#e1e6eb}body #wageDetails>summary::-webkit-details-marker{display:none}body #wageDetails .wage-body{padding:16px!important}
body :is(.entry-panel-collapse>.panel-heading,.entry-form-top,.report-editor-collapse>.section-heading-row,.report-delivery-heading){display:none!important}
body .report-delivery{border:0!important;padding:0!important;box-shadow:none!important;margin:0!important}
body .intro{margin-bottom:20px!important}
body .intro h1{font-size:clamp(1.65rem,5vw,2.2rem)!important;letter-spacing:-.04em!important}
body .account-name-line{font-size:.9rem!important;margin-top:8px!important}
body .section-kicker{color:#a73545!important;font-size:.7rem!important;letter-spacing:.12em!important}
body :is(input,select,textarea){font-size:1rem!important;min-height:46px!important;border-radius:11px!important}
body label{font-size:.84rem!important;line-height:1.4!important}
html[data-theme="light"] body :is(label,legend,input,select,textarea,.report-section-body,.guided-step){color:#18263b!important}
html[data-theme="light"] body :is(input,select,textarea){background:#f5f7f9!important;border:1px solid #dce2e8!important}
html[data-theme="light"] body input::placeholder{color:#687588!important;opacity:1}
html[data-theme="light"] body .guided-step button:not(.confirm-action){color:#18263b}
body :is(.primary-button,.secondary-button,.continue-button,.today-add){border-radius:12px!important;min-height:43px!important;font-size:.9rem!important}
body .primary-button.confirm-action,
body #workApp .entry-panel button.primary-button[value="save"],
body #reportsApp .report-delivery-actions #shareReport,
body #wageApp .primary-button.confirm-action{background:#17543b!important;color:#fff!important;border:1px solid #13482f!important;box-shadow:none!important}
body .confirm-action::after{background:#fff!important;color:#17543b!important;border-color:#fff!important;width:21px!important;height:21px!important}
body #workApp .entry-panel :is(.day-type-button.active,.segmented input:checked+span,.choice input:checked+span),
body #reportsApp :is(.weather-choice[aria-pressed="true"],.roof-type-cards button[aria-pressed="true"],.rubric-button[aria-pressed="true"]){background:#fff!important;color:#152238!important;border-color:#df293c!important;box-shadow:none!important}
body #reportsApp .roof-type-cards button[aria-pressed="true"] :is(strong,small,span){color:#152238!important}
body .day-type-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body .day-type-button{min-height:46px!important;font-size:.87rem!important;border-width:1px!important;border-radius:11px!important}
body .roof-type-panel{padding:14px!important;margin:0 0 14px!important;background:#fff!important}
body .roof-type-cards button{min-height:70px!important;padding:9px!important}
body .roof-type-cards img{width:44px!important;height:42px!important}
body .roof-type-cards small{display:none!important}
body .weather-choices{gap:6px!important}
body .weather-choice{min-height:64px!important;border-radius:11px!important;font-size:.72rem!important;border-width:1px!important}
body .report-photo-action{min-height:48px!important;padding:10px!important;background:#fff!important;border-color:#e1e6eb!important;font-size:.85rem!important}
body .photo-thumbnail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
body .photo-thumbnail img{height:85px!important;object-fit:cover!important}
body .catalog-rubrics{gap:9px!important}
body .rubric-button{border-width:1px!important;border-radius:13px!important}
body .monthly-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body .summary-card{min-height:92px!important;padding:14px!important}
.modern-card{background:#fff;border:1px solid #e1e6eb;border-radius:16px;box-shadow:0 2px 8px rgba(18,32,50,.035);color:#112033}
.home-intro{margin:4px 0 22px}.home-intro h1{font-size:clamp(1.75rem,6vw,2.3rem);letter-spacing:-.045em;line-height:1.15;margin:8px 0}.home-intro>p:last-child{color:#657080;font-size:.95rem;margin:9px 0}
.home-today{padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.home-today small{font-size:.82rem;font-weight:700}.home-today strong{display:block;font-size:1.6rem;letter-spacing:-.03em;margin:9px 0}.home-today p{margin:0;color:#657080;font-size:.83rem;line-height:1.5}.modern-inline{display:flex;gap:5px;align-items:center;border:0;background:#f4f6f8;border-radius:10px;padding:10px;font:inherit;font-size:.8rem;white-space:nowrap;color:#25374b}.modern-inline svg{width:17px;height:17px}
.home-actions{display:grid;gap:10px;margin-bottom:14px}.home-action{display:flex;align-items:center;text-align:left;gap:15px;padding:17px 15px;width:100%;font:inherit;cursor:pointer}.home-action>svg{width:30px;height:30px;color:#df293c;flex:none}.home-action>span:nth-child(2){flex:1;min-width:0}.home-action strong{display:block;font-size:.97rem;letter-spacing:-.025em}.home-action small{display:block;color:#657080;font-size:.8rem;margin-top:5px}.home-action>span:last-child{color:#718093;font-size:1.5rem}
.install-card{display:flex;align-items:center;gap:13px;padding:16px;width:100%;text-align:left;font:inherit;cursor:pointer;margin-bottom:14px}.install-card>span:nth-child(2){flex:1}.install-card strong{display:block;font-size:.96rem}.install-card small{display:block;font-size:.75rem;line-height:1.4;color:#657080;margin-top:4px}.platform-marks{display:flex;gap:7px;align-items:center}.platform-marks img{width:24px;height:27px;object-fit:contain}
.home-month{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;width:100%;font:inherit;text-align:left;cursor:pointer}.home-month>span{grid-column:1/-1;font-size:.91rem;font-weight:750;text-transform:capitalize}.home-month strong{font-size:1.7rem;letter-spacing:-.04em}.home-month small{padding-left:13px;border-left:1px solid #e1e6eb;color:#526174;font-size:.87rem;align-self:center}.home-history{display:flex;align-items:center;gap:12px;width:100%;padding:16px;font:inherit;text-align:left;cursor:pointer;margin-top:12px;font-size:.87rem}.home-history svg{width:23px;height:23px}.home-history span{margin-left:auto}.home-last{margin-top:12px;padding:17px}.home-last small,.home-last strong{display:block;margin-bottom:8px}.home-last button{border:0;background:#f4f6f8;border-radius:9px;padding:10px;font:inherit;font-size:.8rem}
#bottomNavigation{position:fixed;bottom:0;left:0;right:0;z-index:1300;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(255,255,255,.98);backdrop-filter:blur(14px);border-top:1px solid #e1e6eb;padding:7px max(6px,calc((100vw - 700px)/2)) calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 12px rgba(18,32,50,.03)}
#bottomNavigation button{background:none;border:0;color:#536177;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;padding:3px;font:inherit;cursor:pointer;position:relative}#bottomNavigation svg{width:24px;height:24px}#bottomNavigation span{font-size:.65rem;line-height:1.2}#bottomNavigation [aria-current="page"]{color:#df293c}#bottomNavigation [aria-current="page"]::after{content:"";position:absolute;bottom:-5px;width:26px;height:2px;border-radius:3px;background:#df293c}
.guided-heading{margin:0 0 20px}.guided-heading strong{display:block;font-size:1.13rem;letter-spacing:-.025em}.guided-heading small{display:block;color:#657080;margin-top:6px;font-size:.79rem}.guided-progress{display:flex;gap:6px;margin-top:13px}.guided-progress span{height:3px;border-radius:5px;background:#e3e8ee;flex:1}.guided-progress .done{background:#df293c}
.guided-footer{display:flex;gap:10px;position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);padding:12px 0 4px;border-top:1px solid #edf0f4;margin-top:18px;z-index:5}.guided-footer button{min-height:45px;border:1px solid #e1e6eb;background:#f4f6f8;color:#18263b;border-radius:12px;font:inherit;font-size:.9rem;font-weight:750;flex:1;cursor:pointer}.guided-footer .guided-next{background:#fff;color:#b92738;border-color:#d72b40;box-shadow:0 3px 10px rgba(196,34,54,.08)}.guided-footer .guided-next::after{content:"  ›"}.guided-footer .guided-back:disabled{display:none}.guided-step{min-width:0}.guided-review{border:1px solid #e1e6eb;border-radius:14px;padding:16px;background:#f8fafc}.guided-review h3{font-size:1rem;margin:0 0 12px}.guided-review p{margin:8px 0;color:#536177;overflow-wrap:anywhere}.report-final-review p{color:#657080;line-height:1.5;overflow-wrap:anywhere}.modern-stepper{display:flex;align-items:center;gap:6px}.modern-stepper button{border:1px solid #e1e6eb;background:#f4f6f8;border-radius:10px;min-width:40px;height:45px;font:inherit;font-size:1.3rem;color:#18263b}.modern-stepper input{text-align:center}
.guided-step>.report-section,.guided-step>.entry-section{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.guided-step>.report-section>summary,.guided-step>.entry-section>summary{display:none!important}.guided-step>.report-section>.report-section-body,.guided-step>.entry-section>.entry-section-body{padding:0!important;border:0!important}.guided-step :is(.grid,.entry-mode,.time-mode-fields){gap:12px!important}#wageDetails .guided-step{display:grid;gap:14px}#wageDetails .wage-preview{margin:0!important}#wageDetails .wage-actions{display:grid;gap:10px}#wageDetails canvas{max-height:130px;border-radius:12px!important}.wage-review{margin-bottom:2px}

/* Focus mode: while entering data, only the current task stays on screen. */
body.hours-flow-active #workApp :is(.intro,.today-dashboard,.monthly-panel,.entries-panel,.week-panel){display:none!important}
body.hours-flow-active #workApp{padding-top:14px!important}
body.hours-flow-active #workApp .entry-panel{margin-top:0!important;padding:16px!important;border-color:#e5e8ec!important;box-shadow:0 8px 28px rgba(17,32,51,.06)!important}
body.report-flow-active #reportsApp .report-history{display:none!important}
body.report-history-mode #reportsApp .report-editor{display:none!important}
body.report-history-mode #reportsApp .report-intro{margin-bottom:14px!important}
.report-history-button{border:0;background:transparent;color:#687487;font:inherit;font-size:.78rem;font-weight:700;padding:9px 4px;cursor:pointer}
#createHoursProject,#addProject{display:inline-flex!important;width:auto!important;min-height:38px!important;margin-top:8px!important;padding:7px 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#a42939!important;font-size:.78rem!important;font-weight:700!important;text-decoration:underline;text-decoration-color:#e7a9b1;text-underline-offset:4px}
body.hours-flow-active #workApp :is(input,select,textarea){min-height:45px!important}
#installDialog{padding:22px!important;background:#fff!important;color:#112033!important;border:1px solid #e1e6eb!important;border-radius:21px!important;width:min(540px,calc(100% - 24px));max-height:90dvh;overflow:auto}.install-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.install-header h2{font-size:1.3rem}.install-header button{width:35px;height:35px;border:1px solid #e1e6eb;border-radius:50%;background:#fff;font-size:1.5rem;color:#112033}.install-lead{color:#657080;font-size:.9rem;line-height:1.5}.install-platforms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.install-platforms button{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #dce3eb;border-radius:13px;padding:14px;background:#fff;font:inherit;color:#112033;font-size:.9rem;font-weight:750}.install-platforms img{height:25px;width:25px;object-fit:contain}.install-platforms [aria-pressed="true"]{border-color:#df293c;box-shadow:inset 0 0 0 1px #df293c}#installDialog ol{padding-left:25px;margin:18px 0}#installDialog li{padding:7px 0 11px 6px;font-size:.94rem;line-height:1.6}#installDialog li::marker{color:#c52535;font-weight:800}.install-note{color:#657080;font-size:.78rem;line-height:1.5}.install-source{color:#8d3340;font-size:.77rem}#nativeInstall{background:#17543b!important;color:#fff!important}
@media(min-width:700px){.home-actions{grid-template-columns:1fr}.guided-step .grid.two{grid-template-columns:1fr 1fr!important}.guided-step .grid.three{grid-template-columns:repeat(3,1fr)!important}}
@media(prefers-reduced-motion:no-preference){.guided-step:not([hidden]){animation:guidedIn .18s ease-out}@keyframes guidedIn{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}
html[data-theme="dark"] :is(#homeApp,.guided-review,.report-final-review){color:#f4f7fa}html[data-theme="dark"] .modern-card,html[data-theme="dark"] .guided-review{background:#202a36;border-color:#3a4758;color:#f4f7fa}html[data-theme="dark"] :is(.home-intro>p:last-child,.home-action small,.home-today p,.install-card small,.home-month small,.guided-heading small,.report-final-review p){color:#bfccda}html[data-theme="dark"] .guided-footer{background:#202a36}html[data-theme="dark"] .guided-footer button{background:#283544;color:#fff;border-color:#596779}
@media print{#bottomNavigation,#homeApp,.guided-footer,.guided-heading{display:none!important}}
