/* Semplora V4.5.1 — additive Base/Pro workforce presentation layer. */

:root{
  --wf-navy:#081d35;
  --wf-navy-2:#0d2a4b;
  --wf-blue:#2f6fed;
  --wf-sky:#eaf2ff;
  --wf-ink:#102033;
  --wf-muted:#64748b;
  --wf-line:#dfe7f0;
  --wf-good:#16855b;
  --wf-warn:#b66a10;
  --wf-danger:#c83f3a;
}

/* Neutral session gate. The application never appears before getSession has
   decided between the authenticated workspace and the login view. */
html.semplora-boot-pending body{min-height:100vh;overflow:hidden}
html.semplora-boot-pending body>.app,
html.semplora-boot-pending body>#semploraCloudRoot{visibility:hidden!important}
html.semplora-boot-pending body::before{content:"";position:fixed;z-index:2147483645;inset:0;background:radial-gradient(circle at 20% 10%,rgba(47,111,237,.13),transparent 32%),#f3f6fa}
html.semplora-boot-pending body::after{content:attr(data-boot-message);position:fixed;z-index:2147483646;left:50%;top:50%;width:min(320px,calc(100% - 48px));transform:translate(-50%,-50%);padding-top:76px;text-align:center;color:#637187;font-size:13px;font-weight:750;line-height:1.5;background:linear-gradient(145deg,var(--wf-blue),#1f5fd8);background-size:54px 54px;background-position:top center;background-repeat:no-repeat;border-radius:16px}

html,body{max-width:100%;overflow-x:hidden}
.wf-hidden{display:none!important}
.wf-busy{opacity:.58;pointer-events:none}

/* Refined approved hero framing. */
#home .heroClean::before{
  background-image:linear-gradient(90deg,rgba(5,24,44,.98) 0%,rgba(5,24,44,.80) 29%,rgba(5,24,44,.13) 53%,rgba(5,24,44,.03) 100%),url('semplora-technician-hero-v44.jpg')!important;
  background-size:cover!important;
  background-position:61% 50%!important;
}
#home .heroClean{background:var(--wf-navy)!important}
#home .heroClean .heroSloganClean{font-weight:750;letter-spacing:.01em}

/* KPI order is set by JS: today, recalls, collections, invoices. */
#home .kpi{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
#home .kpi.uiKpiAction:hover{transform:translateY(-2px);border-color:#c9d9ef;box-shadow:0 14px 30px rgba(15,35,59,.10)}
#home .kpi.uiKpiAction:active{transform:translateY(0)}
#home .kpi[data-wf-kpi="today"]::before{content:"▣"!important;background:#eaf1ff!important;color:#2864ee!important}
#home .kpi[data-wf-kpi="recall"]::before{content:"☎"!important;background:#fff0e4!important;color:#f08a24!important}
#home .kpi[data-wf-kpi="collect"]::before{content:"€"!important;background:#e7f7ef!important;color:#16855b!important}
#home .kpi[data-wf-kpi="invoice"]::before{content:"▤"!important;background:#f0ebff!important;color:#6d5dfc!important}
#home .kpi[data-wf-kpi="reschedule"]::before{content:"↻"!important;background:#fff2dc!important;color:#a65e09!important}
#home .kpis.wfHasReschedule{grid-template-columns:repeat(2,minmax(0,1fr))}
#home .kpis.wfHasReschedule .wfRescheduleKpi{grid-column:1/-1;cursor:pointer}
#home .wfRescheduleKpi:focus-visible{outline:3px solid rgba(47,111,237,.24);outline-offset:2px}
.wf-hide-financials [data-permission="economics"]{display:none!important}
.wf-hide-financials .clientHero .stats{display:none!important}
.wf-hide-financials #home .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Compact operational timeline. */
.wfTimeline{display:grid;gap:10px;position:relative}
.todayHome.wfTimelineHost,#agendaList.wfTimelineHost{display:block!important}
.todayHome.wfTimelineHost::before{display:none!important}
.wfTimeline::before{content:"";position:absolute;left:72px;top:18px;bottom:18px;width:2px;background:#d9e5f4;border-radius:2px}
.wfTimelineCard{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:22px;padding:15px 16px;background:#fff;border:1px solid var(--wf-line);border-radius:18px;box-shadow:0 7px 20px rgba(15,35,59,.05);min-width:0}
.wfTimelineCard::before{content:"";position:absolute;left:68px;top:25px;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:var(--wf-blue);box-shadow:0 0 0 2px #bed0f2}
#agenda .wfTimelineCard::before{display:none!important}
.wfTimelineCard[data-priority="urgent"]{border-left:4px solid #d23f3f}
.wfTimelineCard[data-priority="high"]{border-left:4px solid #e69425}
.wfTime{font-size:20px;font-weight:950;letter-spacing:-.5px;color:var(--wf-blue);line-height:1.1;padding-top:2px}
.wfJobBody{min-width:0;cursor:pointer}
.wfJobTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.wfJobTop strong{font-size:15px;color:var(--wf-ink);line-height:1.25}
.wfPriority{display:inline-flex;align-items:center;flex:0 0 auto;border-radius:999px;padding:5px 8px;background:#eef3f8;color:#526071;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.wfPriority.urgent{background:#fdebea;color:#b83131}.wfPriority.high{background:#fff2dc;color:#a65e09}
.wfWork{margin-top:5px;color:#28384c;font-size:13px;line-height:1.35}
.wfAddress,.wfNotes{margin-top:4px;color:var(--wf-muted);font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wfCardQuick{grid-column:2;display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}
.wfCardQuick a,.wfCardQuick button{min-height:42px;border:0;border-radius:11px;padding:9px 12px;text-decoration:none;background:var(--wf-sky);color:#245dc9;font-size:12px;font-weight:900;cursor:pointer}
.wfCardQuick .wa{background:#e9f8ef;color:#147a54}
.wfTimelineStatus{display:inline-flex;margin-top:8px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;background:#eaf2ff;color:#245dc9}
.wfTimelineStatus.done{background:#e7f7ef;color:#13724f}.wfTimelineStatus.postponed{background:#fff2dc;color:#985708}.wfTimelineStatus.cancelled{background:#fdebea;color:#b83131}
.wfMoreRow{display:flex;justify-content:center;margin:12px 0 3px}
.wfMore{min-height:44px;border:1px solid #cbd9eb;border-radius:12px;padding:10px 16px;background:#fff;color:#245dc9;font-weight:900;cursor:pointer}
.wfUpcoming{margin-top:18px}.wfUpcoming .sectionHead{margin-top:14px}
.wf-field-mode #home .homeGrid.uiDashboard{grid-template-columns:minmax(0,1fr)!important;max-width:980px}
.wfEmpty{padding:24px;text-align:center;background:#fff;border:1px solid var(--wf-line);border-radius:18px;color:var(--wf-muted)}

/* Technician-only operational Home. The owner Home and its hero remain
   untouched because every override is scoped to wf-field-mode. */
.wf-field-mode #home .heroClean{display:none!important}
.wf-field-mode #home>.kpis{display:none!important}
.wf-field-mode #home>.kpis.wfHasReschedule{display:grid!important;grid-template-columns:1fr!important}
.wf-field-mode #home>.kpis.wfHasReschedule>.kpi{display:none!important}
.wf-field-mode #home>.kpis.wfHasReschedule>.wfRescheduleKpi{display:block!important;grid-column:auto!important}
.wf-field-mode #home>.todayHead{display:none!important}
/* V4.5.2 Technician Home cleanup: arrangeDashboard nests the legacy
   heading inside .homeGrid, so the broader selector hides it only for field
   workers while leaving the owner Home unchanged. */
.wf-field-mode #home .todayHead{display:none!important}
.wf-field-mode #home .wfTechnicianTodayHead .eyebrow,.wf-field-mode #home .wfTechnicianTodayHead .pill{display:none!important}
.wf-field-mode #home .wfMore{display:none!important}
.wfTechnicianHomeHeader{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(300px,1.22fr);gap:18px;align-items:stretch;margin-bottom:18px;padding:22px;background:linear-gradient(135deg,var(--wf-navy),var(--wf-navy-2));border-radius:22px;color:#fff;box-shadow:0 14px 32px rgba(8,29,53,.16)}
.wfTechnicianIntro{display:flex;min-width:0;flex-direction:column;justify-content:center}.wfTechnicianIntro>span{color:#8eb9ef;font-size:9px;font-weight:950;letter-spacing:.12em}.wfTechnicianIntro h1{margin:7px 0 4px;color:#fff;font-size:28px;line-height:1.1;letter-spacing:-.5px}.wfTechnicianIntro p{margin:0;color:#c6d4e3;font-size:14px}.wfTechnicianIntro p strong{color:#fff;font-size:17px}
.wfTechnicianNext{width:100%;min-width:0;min-height:116px;padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer}.wfTechnicianNext:hover{background:rgba(255,255,255,.12)}.wfTechnicianNext:focus-visible{outline:3px solid rgba(142,185,239,.5);outline-offset:2px}.wfTechnicianNextLabel{display:block;margin-bottom:7px;color:#9fc0e4;font-size:9px;font-weight:950;letter-spacing:.11em}.wfTechnicianNextMain{display:flex;align-items:baseline;gap:7px;min-width:0;font-size:17px}.wfTechnicianNextMain strong{flex:0 0 auto;font-size:22px}.wfTechnicianNextMain b{color:#6f91b6}.wfTechnicianNextMain span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.wfTechnicianNextWork,.wfTechnicianNextAddress{display:block;margin-top:5px;overflow:hidden;color:#d5e0eb;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.wfTechnicianNextAddress{color:#aebfd1}.wfTechnicianNextEmpty{display:flex;flex-direction:column;justify-content:center;cursor:default}.wfTechnicianNextEmpty strong{font-size:15px}
.wfTechnicianTodayHead{margin-top:0!important}.wfTechnicianTodayHead h2{letter-spacing:.02em}.wfTechnicianTodayHead .pill,.wfUpcoming .pill{min-height:44px;cursor:pointer}
.wfUpcomingCompact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wfUpcomingCard{display:grid;grid-template-columns:104px minmax(0,1fr);min-width:0;overflow:hidden;background:#fff;border:1px solid var(--wf-line);border-radius:16px;box-shadow:0 6px 18px rgba(15,35,59,.045)}.wfUpcomingCard[data-priority="urgent"]{border-left:4px solid #d23f3f}.wfUpcomingCard[data-priority="high"]{border-left:4px solid #e69425}.wfUpcomingWhen{display:flex;flex-direction:column;justify-content:center;padding:13px 12px;background:#f3f7fc}.wfUpcomingWhen strong{color:#31445d;font-size:11px;line-height:1.3}.wfUpcomingWhen span{margin-top:4px;color:var(--wf-blue);font-size:16px;font-weight:950}.wfUpcomingCard>button{min-width:0;min-height:74px;padding:13px;border:0;background:#fff;color:var(--wf-ink);text-align:left;cursor:pointer}.wfUpcomingCard>button:hover{background:#fbfcfe}.wfUpcomingCard>button:focus-visible{outline:3px solid rgba(47,111,237,.2);outline-offset:-3px}.wfUpcomingCard>button strong,.wfUpcomingCard>button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wfUpcomingCard>button strong{font-size:13px}.wfUpcomingCard>button span{margin-top:5px;color:var(--wf-muted);font-size:11px}

/* Manager flow: postponed intervention -> new date -> same intervention in Agenda. */
.wfRescheduleIntro{display:flex;align-items:flex-start;gap:14px;margin:0 0 16px}.wfRescheduleIntro>button{flex:0 0 auto;min-height:42px;border:1px solid #d7e1ed;border-radius:12px;padding:9px 13px;background:#fff;color:#245dc9;font-size:12px;font-weight:900;cursor:pointer}.wfRescheduleIntro h2{margin:3px 0 4px;color:var(--wf-ink);font-size:25px}.wfRescheduleIntro p{margin:0;color:var(--wf-muted);font-size:13px}
.wfRescheduleList{display:grid;gap:11px}.wfRescheduleItem{overflow:hidden;background:#fff;border:1px solid var(--wf-line);border-radius:19px;box-shadow:0 7px 20px rgba(15,35,59,.05)}.wfRescheduleItem[data-priority="urgent"]{border-left:4px solid #d23f3f}.wfRescheduleItem[data-priority="high"]{border-left:4px solid #e69425}
.wfRescheduleMain{width:100%;display:grid;grid-template-columns:minmax(170px,.6fr) minmax(260px,1.4fr) 24px;gap:18px;align-items:center;padding:17px 18px;border:0;background:#fff;color:var(--wf-ink);text-align:left;cursor:pointer}.wfRescheduleMain:hover{background:#fbfcfe}.wfRescheduleMain:focus-visible{position:relative;z-index:1;outline:3px solid rgba(47,111,237,.20);outline-offset:-3px}.wfRescheduleOld small{display:block;margin-bottom:5px;color:#8a6a3d;font-size:9px;font-weight:950;letter-spacing:.08em}.wfRescheduleOld strong{display:block;font-size:12px;line-height:1.4;text-transform:capitalize}.wfRescheduleInfo{min-width:0}.wfRescheduleInfo>strong{display:block;font-size:15px}.wfRescheduleWork{display:block;margin-top:4px;color:#3a4a5f;font-size:13px;line-height:1.35}.wfRescheduleMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--wf-muted);font-size:11px}.wfRescheduleChevron{color:#7c8ca0;font-size:27px;line-height:1}
.wfRescheduleControls{display:grid;grid-template-columns:minmax(220px,340px) auto;justify-content:end;gap:9px;align-items:end;padding:12px 18px 15px;border-top:1px solid #edf1f5;background:#f8fafc}.wfRescheduleControls label>span{display:block;margin-bottom:5px;color:#64748b;font-size:9px;font-weight:950;letter-spacing:.08em}.wfRescheduleControls input{min-height:46px;padding:10px 12px;border-radius:12px}.wfRescheduleControls button{min-height:46px;border:0;border-radius:12px;padding:10px 15px;background:var(--wf-blue);color:#fff;font-size:12px;font-weight:950;cursor:pointer}.wfRescheduleControls button:disabled{background:#c7d1de;color:#f8fafc;cursor:not-allowed}
.wfRescheduleEmpty{padding:38px 22px;text-align:center;background:#fff;border:1px solid var(--wf-line);border-radius:19px;color:var(--wf-muted)}.wfRescheduleEmpty>span{width:46px;height:46px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:#e7f7ef;color:var(--wf-good);font-size:24px;font-weight:950}.wfRescheduleEmpty strong{display:block;color:var(--wf-ink)}.wfRescheduleEmpty p{margin:6px 0 0;font-size:12px;line-height:1.45}

/* Agenda day navigation. It filters only the interventions already supplied
   by the permission-aware Core/RPC layer. */
#agenda.wfAgendaDateMode>.seg{display:none}
.wfAgendaDateNav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 16px;padding:14px 15px;background:#fff;border:1px solid var(--wf-line);border-radius:18px;box-shadow:0 7px 20px rgba(15,35,59,.05)}
.wfAgendaDay{flex:1 1 210px;min-width:210px}.wfAgendaDay>span{display:block;margin-bottom:4px;color:#7a889b;font-size:9px;font-weight:950;letter-spacing:.09em}.wfAgendaDay strong{display:block;color:var(--wf-ink);font-size:15px;line-height:1.3}
.wfAgendaDateControls{display:grid;grid-template-columns:auto auto auto minmax(190px,auto);align-items:stretch;gap:7px;flex:1 1 560px;min-width:0}
.wfAgendaDateControls>button,.wfAgendaPicker{min-height:46px;border:1px solid #d7e1ed;border-radius:13px;background:#f7f9fc;color:#29405e;font:inherit;font-size:12px;font-weight:900}
.wfAgendaDateControls>button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;cursor:pointer}.wfAgendaDateControls>button:hover{border-color:#b9cce3;background:#eef4fc}.wfAgendaDateControls>button:focus-visible,.wfAgendaPicker:focus-within{outline:3px solid rgba(47,111,237,.2);outline-offset:1px}
.wfAgendaDateControls>button.active{border-color:var(--wf-blue);background:var(--wf-blue);color:#fff}
.wfAgendaPicker{display:grid;grid-template-columns:auto minmax(118px,1fr);align-items:center;gap:8px;padding:6px 8px 6px 11px;cursor:pointer}.wfAgendaPicker>span{color:#5d6c80;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.wfAgendaPicker input{width:100%;min-width:0;height:32px;border:0;background:transparent;color:var(--wf-ink);font:inherit;font-size:12px;font-weight:850;color-scheme:light;cursor:pointer}.wfAgendaPicker input:focus{outline:0}

/* Permission-aware creation surfaces. */
body.wf-no-create .sideNew,
body.wf-no-create .fab,
body.wf-no-create .bottomAdd,
body.wf-no-create .heroNewClean,
body.wf-no-create #cloudNewJobForClient{display:none!important}
body.wf-no-create .bottom{grid-template-columns:repeat(4,minmax(0,1fr))}
body.wf-no-create-client #cloudNewClient,
body.wf-no-create-client .cloudNewClientHint{display:none!important}
body.wf-no-edit-client #cloudEditClient{display:none!important}

/* Dark mobile navigation is part of the approved visual system. */
.bottom{background:rgba(8,29,53,.98)!important;border-top-color:rgba(255,255,255,.09)!important;box-shadow:0 -10px 30px rgba(4,19,35,.18)}
.bottom button{color:#9fb1c5!important}
.bottom button.active{color:#fff!important}
.bottom .bottomAdd{background:#2f6fed!important;color:#fff!important;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 22px rgba(47,111,237,.42)!important}

/* Extended intervention fields. */
.wfFieldHelp{display:block;margin-top:4px;color:#8090a3;font-size:11px;line-height:1.35}
.wfCheckField{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid #dbe2ed;border-radius:14px;background:#fff;color:#314158;font-size:13px;font-weight:800}
.wfCheckField input{width:20px;height:20px;margin:0;accent-color:var(--wf-blue)}
.wfReadonly{padding:13px 14px;border:1px solid #dbe2ed;border-radius:14px;background:#f6f8fb;color:#4b5a6e;font-size:14px}

/* Technician intervention sheet. */
.wfTechSheet{width:min(720px,100%);max-height:94vh;overflow:auto;background:#f3f6fa;border-radius:26px 26px 0 0;padding:18px 15px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 45px rgba(0,0,0,.22)}
.wfTechHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.wfTechHeader h2{margin:0;font-size:21px}.wfTechHeader .close{flex:0 0 42px}
.wfTechHero{padding:20px;background:linear-gradient(145deg,var(--wf-navy),var(--wf-navy-2));border:0;color:#fff;border-radius:21px;box-shadow:0 14px 30px rgba(8,29,53,.18)}
.wfTechHeroTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wfTechTime{font-size:29px;font-weight:950;letter-spacing:-1px}.wfTechDate{margin-top:3px;color:#b8c7d8;font-size:12px;text-transform:capitalize}
.wfTechHero h3{font-size:21px;margin:18px 0 5px}.wfTechHero .wfWork{color:#f1f5f9;font-size:15px}.wfTechHero .wfAddress{color:#c3d0df;white-space:normal;font-size:13px}
.wfQuickGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.wfQuickGrid a,.wfQuickGrid button{min-height:56px;display:flex;align-items:center;justify-content:center;border:0;border-radius:15px;text-decoration:none;background:#fff;color:#2259bf;font-size:13px;font-weight:950;cursor:pointer;box-shadow:0 5px 16px rgba(15,35,59,.05)}
.wfQuickGrid .wa{background:#e9f8ef;color:#147a54}
.wfInfoCard{padding:17px;margin-top:10px}.wfInfoRow{padding:10px 0;border-bottom:1px solid #e8edf3}.wfInfoRow:last-child{border-bottom:0}.wfInfoRow small{display:block;margin-bottom:4px;color:#758397;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.wfInfoRow div{font-size:14px;line-height:1.45;white-space:pre-wrap}
.wfStatusActions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:12px}
.wfStatusActions button{min-height:54px;border:0;border-radius:15px;padding:10px 8px;font-size:12px;font-weight:950;cursor:pointer}
.wfStatusDone{background:var(--wf-good);color:#fff}.wfStatusPostponed{background:#fff0d9;color:#985708}.wfStatusCancelled{background:#fdebea;color:#b83131}
.wfEditLink{width:100%;min-height:46px;margin-top:9px;border:1px solid #cbd9eb;border-radius:13px;background:#fff;color:#245dc9;font-weight:900;cursor:pointer}

/* Private photos. */
.wfPhotos{padding:17px;margin-top:10px}.wfPhotosHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.wfPhotosHead h3{margin:0;font-size:16px}.wfPhotoAdd{min-height:42px;border:0;border-radius:12px;padding:9px 12px;background:var(--wf-sky);color:#245dc9;font-size:12px;font-weight:900;cursor:pointer}
.wfPhotoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.wfPhoto{margin:0;min-width:0}.wfPhoto img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:12px;background:#e9eef5}.wfPhoto figcaption{margin-top:5px;color:#657386;font-size:10px;line-height:1.3;overflow-wrap:anywhere}.wfPhotoEmpty{margin-top:10px;color:#748296;font-size:12px}
.wfPhotoComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.wfPhotoComposer input{min-width:0}.wfPhotoComposer button{min-width:92px;border:0;border-radius:12px;background:var(--wf-blue);color:#fff;font-weight:900}

/* On-site payment question. */
.wfPaymentSheet{width:min(480px,calc(100% - 28px));background:#fff;border-radius:24px;padding:22px;box-shadow:0 24px 60px rgba(8,29,53,.28)}
.wfPaymentSheet h2{margin:0 0 8px}.wfPaymentSheet p{margin:0;color:var(--wf-muted);line-height:1.45}.wfPaymentChoices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.wfPaymentChoices button,.wfPaymentMethod button{min-height:52px;border:0;border-radius:14px;font-weight:950;cursor:pointer}.wfPaymentYes{background:var(--wf-good);color:#fff}.wfPaymentNo{background:#edf2f7;color:#304156}.wfPaymentMethod{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.wfPaymentMethod button{background:var(--wf-sky);color:#245dc9}.wfPaymentMethod button.active{background:var(--wf-blue);color:#fff}.wfPaymentSave{width:100%;min-height:50px;margin-top:12px;border:0;border-radius:14px;background:var(--wf-good);color:#fff;font-weight:950}
.wfOnsiteResult{margin-top:8px}.wfOnsiteResultBox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:7px;padding:11px;border:1px solid #dbe6f2;border-radius:13px;background:#f7fafe}.wfOnsiteResultBox span{display:flex;min-width:0;flex-direction:column;gap:3px}.wfOnsiteResultBox small{color:#718198;font-size:9px;font-weight:950;letter-spacing:.06em}.wfOnsiteResultBox strong{color:var(--wf-ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Pro team page and operational-order dialog. */
#team .wfPageIntro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}#team .wfPageIntro h2{margin:0 0 5px}#team .wfPageIntro p{margin:0;color:var(--wf-muted);font-size:13px;line-height:1.45}
.wfPlanBadge{display:inline-flex;border-radius:999px;padding:7px 10px;background:#eaf2ff;color:#245dc9;font-size:10px;font-weight:950;letter-spacing:.08em}
.wfTeamList{display:grid;gap:10px}.wfMember{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;background:#fff;border:1px solid var(--wf-line);border-radius:18px;box-shadow:0 7px 20px rgba(15,35,59,.05)}.wfMemberAvatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--wf-sky);color:#245dc9;font-weight:950}.wfMember strong{display:block}.wfMemberMeta{margin-top:3px;color:var(--wf-muted);font-size:12px}.wfMember button{min-height:42px;border:0;border-radius:12px;padding:9px 13px;background:#edf3fb;color:#245dc9;font-size:12px;font-weight:900;cursor:pointer}
.wfTeamNote{margin-top:14px;padding:14px;border:1px solid #dce5ef;border-radius:15px;background:#f8fafc;color:#657386;font-size:12px;line-height:1.5}
.wfPermissionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.wfPermissionGrid label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;color:#34445a;font-size:12px;font-weight:750;line-height:1.3}.wfPermissionGrid input{width:18px;height:18px;margin:0;accent-color:var(--wf-blue);flex:0 0 auto}
.wfPermissionGrid label.wfPermissionFixed{background:#f5f8fc;color:#5c6b7e}.wfPermissionGrid label.wfPermissionFixed::after{content:"Fisso";margin-left:auto;border-radius:999px;padding:3px 6px;background:#e7eef7;color:#526176;font-size:8px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.wfPermissionGrid input:disabled{opacity:.75}
.wfOrderToolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.wfOrderList{display:grid;gap:8px}.wfOrderItem{display:grid;grid-template-columns:36px 65px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;background:#fff;border:1px solid #dfe7f0;border-radius:14px}.wfDrag{color:#8290a2;font-size:19px;text-align:center;cursor:grab}.wfOrderTime{font-weight:950;color:#245dc9}.wfOrderInfo{min-width:0}.wfOrderInfo strong{display:block;font-size:13px}.wfOrderInfo small{display:block;margin-top:3px;color:var(--wf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfOrderArrows{display:flex;gap:4px}.wfOrderArrows button{width:36px;height:36px;border:0;border-radius:10px;background:#edf3fb;color:#245dc9;font-weight:950}.wfOrderItem.wfDragging{opacity:.45}
.wfOrderInfo .wfPriority{margin-top:6px}
.wfOrderButton{min-height:42px;border:0;border-radius:12px;padding:9px 13px;background:var(--wf-navy);color:#fff;font-size:12px;font-weight:900;cursor:pointer}

.wfRealtime{display:inline-flex;align-items:center;gap:6px;color:#718096;font-size:10px;font-weight:850}.wfRealtime::before{content:"";width:7px;height:7px;border-radius:50%;background:#a2adba}.wfRealtime.live::before{background:#24a36f;box-shadow:0 0 0 3px rgba(36,163,111,.13)}

@media(min-width:1000px){
  #home .heroClean{height:320px!important;min-height:320px!important}
  #home .heroTextClean{top:31px!important;left:33px!important}
  #home .heroNewClean{margin-top:24px!important}
  .wfTimeline{grid-template-columns:1fr}
  .wfTeamList{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfTechSheet{border-radius:26px;padding:23px}
  .modal:has(.wfTechSheet){align-items:center}
  #home .kpis.wfHasReschedule{grid-template-columns:repeat(3,minmax(0,1fr))}
  #home .kpis.wfHasReschedule .wfRescheduleKpi{grid-column:auto}
  .wf-hide-financials #home .kpis.wfHasReschedule{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wf-field-mode #home .wfCardQuick a,.wf-field-mode #home .wfCardQuick button{min-height:46px}
}

@media(min-width:1280px){
  #home .kpis.wfHasReschedule{grid-template-columns:repeat(5,minmax(0,1fr))}
  .wf-hide-financials #home .kpis.wfHasReschedule{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  #home .heroClean{min-height:178px!important;height:178px!important;padding:17px 16px!important}
  #home .heroClean::before{background-position:65% 50%!important}
  #home .heroTextClean{max-width:70%!important}
  #home .heroTextClean h1{font-size:21px!important}
  #home .heroTextClean p{font-size:13px!important;line-height:1.35!important}
  #home .heroSloganClean{display:none}
  #home .kpis{margin-top:10px;gap:8px}
  #home .kpi{min-height:86px!important;padding:13px!important}
  #home .kpi::before{display:none!important}
  #home .kpi b{font-size:23px!important;margin-top:6px!important}
  .wfTimeline::before{left:67px}
  .wfTimelineCard{grid-template-columns:55px minmax(0,1fr);gap:20px;padding:14px 12px}
  .wfTimelineCard::before{left:63px}
  .wfTime{font-size:18px}
  .wfAgendaDateNav{display:block;margin:2px 0 13px;padding:13px}
  .wfAgendaDay{min-width:0;margin-bottom:11px}.wfAgendaDay strong{font-size:14px}
  .wfAgendaDateControls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .wfAgendaDateControls>button{min-width:0;padding:8px 5px}
  .wfAgendaPicker{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);min-width:0}
  .wfCardQuick{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px}
  .wfCardQuick a,.wfCardQuick button{padding:8px 4px;font-size:11px;text-align:center}
  .wfTechSheet{min-height:100dvh;max-height:100dvh;border-radius:0;padding-top:calc(14px + env(safe-area-inset-top))}
  .wfStatusActions{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(2px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(243,246,250,0),#f3f6fa 23%)}
  .wfPhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfPermissionGrid{grid-template-columns:1fr}
  .wfMember{grid-template-columns:42px minmax(0,1fr)}.wfMember button{grid-column:1/-1;width:100%}
  .wfOrderToolbar{grid-template-columns:1fr}.wfOrderItem{grid-template-columns:30px 55px minmax(0,1fr)}.wfOrderArrows{grid-column:1/-1;justify-content:flex-end}
  #team .wfPageIntro{display:block}.wfPlanBadge{margin-top:10px}
  .wfRescheduleIntro{display:block}.wfRescheduleIntro>button{margin-bottom:13px}.wfRescheduleIntro h2{font-size:22px}
  .wfRescheduleMain{grid-template-columns:1fr 22px;gap:10px;padding:15px 14px}.wfRescheduleOld{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #edf1f5}.wfRescheduleInfo{grid-column:1}.wfRescheduleChevron{grid-column:2;grid-row:2}
  .wfRescheduleControls{grid-template-columns:1fr;padding:12px 14px 14px}.wfRescheduleControls button{width:100%}
  .wfTechnicianHomeHeader{grid-template-columns:1fr;gap:12px;margin:0 0 16px;padding:17px;border-radius:19px}.wfTechnicianIntro h1{font-size:23px}.wfTechnicianNext{min-height:106px;padding:13px 14px}.wfTechnicianNextMain{font-size:15px}.wfTechnicianNextMain strong{font-size:20px}
  .wfTechnicianTodayHead{align-items:end}.wfTechnicianTodayHead .pill,.wfUpcoming .pill{min-height:44px;padding:9px 10px}
  .wf-field-mode #home .wfCardQuick a,.wf-field-mode #home .wfCardQuick button{min-height:46px;font-size:11px}
  .wfOnsiteResultBox{grid-template-columns:1fr 1fr}.wfOnsiteResultBox span:last-child{grid-column:1/-1}
  .wfUpcomingCompact{grid-template-columns:1fr}.wfUpcomingCard{grid-template-columns:96px minmax(0,1fr)}.wfUpcomingCard>button{min-height:72px}
}

@media(max-width:390px){
  #home .heroTextClean{max-width:76%!important}
  .wfAgendaControlText{display:none}
  .wfQuickGrid{gap:6px}.wfQuickGrid a,.wfQuickGrid button{font-size:11px;padding:7px 4px}
  .wfStatusActions{grid-template-columns:1fr 1fr}.wfStatusDone{grid-column:1/-1}
  .wfPhotoComposer{grid-template-columns:1fr}.wfPhotoComposer button{min-height:46px}
  .wfTechnicianHomeHeader{padding:15px}.wfTechnicianNextMain{gap:5px}.wfTechnicianTodayHead h2,.wfUpcoming h2{font-size:16px}.wfTechnicianTodayHead .todayCount{display:block;margin-top:3px}.wfTechnicianTodayHead .pill,.wfUpcoming .pill{font-size:10px}
}

@media(prefers-reduced-motion:reduce){.wfTimelineCard,#home .kpi{transition:none!important}}
