:root{--op-ink:#213346;--op-blue:#325e87;--op-line:#e0e6ec;--op-muted:#62778b}body{background:#f4f6f8}.deskbar{background:#fff!important;border-bottom:1px solid var(--op-line)}.deskchip{background:#eaf0f7!important;color:var(--op-blue)!important}.deskrow .mark{background:var(--op-blue)!important}.operations{max-width:1440px;margin:auto;color:var(--op-ink)}.op-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0 26px}.op-heading small{letter-spacing:2px;font-size:17px;color:var(--op-muted);font-weight:700}.op-heading h1{font-size:34px;letter-spacing:-1.2px;margin:9px 0}.op-heading p{color:var(--op-muted);margin:0;max-width:700px}.operations .panel{padding:24px;border:1px solid var(--op-line);border-radius:15px;box-shadow:0 3px 6px #19324803;margin-bottom:20px;background:#fff}.operations h2{font-size:19px;margin:0 0 18px}.op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.op-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.op-metric{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:24px;background:white;border:1px solid var(--op-line);border-radius:14px;gap:13px;color:var(--op-ink)}.op-metric small{color:var(--op-muted);font-size:17px}.op-metric strong{font-size:30px;letter-spacing:-1px}.op-metric span{font-size:17px;color:var(--op-blue)}.operations button,.op-dialog button{min-height:44px;cursor:pointer}.operations button.primary,.op-dialog button.primary{background:var(--op-blue);color:white;border-color:var(--op-blue)}.op-flow{display:flex;flex-direction:column;gap:8px}.op-flow button{display:flex;align-items:center;gap:14px;background:#f8fafc;border:0;text-align:left;padding:12px}.op-flow i{font-style:normal;color:var(--op-blue);background:#e6edf5;padding:7px 11px;border-radius:9px}.op-flow b{margin-left:auto}.op-callout{padding:18px;border-radius:12px;background:#edf3fa;margin-top:22px;line-height:1.5}.op-callout p{margin-bottom:0}.op-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin-bottom:20px;background:#fff;padding:16px;border:1px solid var(--op-line);border-radius:12px}.op-toolbar label{flex:1;min-width:140px}.op-toolbar input,.op-toolbar select{margin:0}.op-visit{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:14px;margin-bottom:10px;background:white!important;border:1px solid var(--op-line)!important;border-left:3px solid #608bb2!important;border-radius:9px;color:var(--op-ink)}.op-visit small,.op-visit>span:not(.op-status){font-size:17px;color:var(--op-muted)}.op-status{display:inline-flex;width:fit-content;border-radius:5px;background:#edf1f5;color:#526479;padding:4px 8px;font-size:17px;font-weight:650;text-transform:capitalize}.op-status.completed,.op-status.matched{background:#e7f3eb;color:#267147}.op-status.in_progress,.op-status.on_my_way{background:#e7eefb;color:#355b98}.op-status.provisional,.op-status.quote_needed{background:#fff3db;color:#89611b}.op-status.cancelled{background:#f5e8e8;color:#975353}.op-empty{text-align:center;padding:40px 24px;color:var(--op-muted)}.op-empty>span{font-size:42px;color:#98afc4}.op-empty h3{color:var(--op-ink)}.op-crew-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.op-crew-actions button{flex:1;min-width:120px;padding:16px}.op-check{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:12px 0}.op-check input{width:22px!important;height:22px}.op-positive{color:#27754d}.operations td small{display:block;color:var(--op-muted);margin-top:5px}.op-report-total{display:flex;align-items:center;justify-content:space-between;padding:10px 0 24px}.op-report-total strong{font-size:30px}.op-link{display:inline-block;color:var(--op-blue);padding:12px 0}.operations pre{white-space:pre-wrap;max-width:500px;overflow:auto;font-size:17px}.op-dialog{width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--op-line);border-radius:18px;padding:24px;color:var(--op-ink)}.op-dialog::backdrop{background:#1a2d4166;backdrop-filter:blur(3px)}.op-dialog header,.op-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.op-dialog footer{justify-content:flex-end;margin-top:18px}.op-form{display:grid;gap:15px;margin-top:16px}.op-form input,.op-form select,.op-form textarea{font-size:17px;min-height:46px;padding:10px;border:1px solid #b9c8d5;border-radius:7px;width:100%;box-sizing:border-box}.op-form textarea{min-height:95px}.op-error{color:#a23030}.op-search{min-height:44px;font-size:17px}.operations button:focus-visible,.op-dialog button:focus-visible{outline:3px solid #80b3e0;outline-offset:3px}.op-company{max-width:230px;min-height:44px}.op-create{position:relative}.op-create details>summary{cursor:pointer;padding:11px 16px;background:#325e87;color:#fff;border-radius:8px;list-style:none}.op-create details[open]>div{position:absolute;right:0;top:48px;background:white;border:1px solid var(--op-line);border-radius:12px;box-shadow:0 10px 30px #23354820;min-width:230px;padding:8px;z-index:30;max-height:65vh;overflow:auto}.op-create button{display:block;width:100%;text-align:left;border:0;background:white;min-height:44px}.op-create button:hover{background:#edf3fa}@media(max-width:800px){.op-heading{align-items:flex-start;flex-direction:column;gap:16px}.op-heading h1{font-size:28px}.op-grid{grid-template-columns:1fr}.operations .panel{padding:18px}.op-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.op-metric{padding:17px}.op-metric strong{font-size:24px}.op-toolbar label{min-width:120px}.deskrow{flex-wrap:wrap}.deskwho{display:none}.op-company{max-width:190px}.op-heading .actions{width:100%}.op-dialog{padding:18px}.operations table{min-width:650px}}@media print{.op-toolbar,.op-heading .actions,.op-create,.deskbar{display:none!important}.operations .panel{break-inside:avoid;border:0}.op-grid{display:block}.operations button{border:0;background:none!important;color:#000!important;padding:0}.operations{color:#000}.op-dialog{display:none}}
/* Build 124: shared reference layout. */
.company-overview{max-width:1280px;margin:0 auto;padding:16px 0 48px;color:#17231d}.overview-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 0 30px}.overview-heading h1{font-size:32px;letter-spacing:-.8px;margin:0 0 8px}.overview-heading p{color:#5b6b63;margin:0}.balance-hero{background:#10241b;border-radius:24px;color:#fff;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:24px}.balance-hero .eyebrow{letter-spacing:2px;font-size:17px;font-weight:700;color:#b7c9be;margin:0 0 14px}.balance-hero .net{font-size:clamp(32px,4vw,58px);letter-spacing:-2px;color:#a6deae}.balance-hero .negative{color:#ffa28c}.balance-hero p{color:#b7c9be;font-size:17px}.spent{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;margin-top:28px;padding-top:20px;font-size:17px}.spent span{color:#b7c9be}.balance-bars{display:flex;flex-direction:column;justify-content:center;gap:32px}.balance-bar{border:0;background:transparent;color:#fff;padding:0;width:100%;text-align:left}.balance-bar span{display:flex;justify-content:space-between;gap:16px;font-size:17px}.balance-bar b{color:#a6deae}.balance-bar.owed b{color:#ffa28c}.balance-bar i{display:block;background:#ffffff15;height:10px;border-radius:10px;margin-top:15px;overflow:hidden}.balance-bar em{display:block;background:#a6deae;height:100%;border-radius:10px}.balance-bar.owed em{background:#ffa28c}.overview-pair,.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px}.overview-card{background:white;border:1px solid #e3e7e2;border-radius:18px;padding:26px;min-width:0}.overview-card h2{font-size:20px;margin:0 0 8px}.overview-card header{display:flex;gap:16px;align-items:center;margin-bottom:26px}.overview-icon{background:#edf3ec;border-radius:12px;width:52px;height:52px;display:grid;place-items:center;font-size:27px;color:#1d6b49;flex-shrink:0}.overview-card header p{font-size:17px;color:#5b6b63;margin:0}.overview-line{display:flex;justify-content:space-between;font-size:17px;margin:18px 0}.overview-line span{color:#5b6b63}.overview-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e3e7e2;margin-top:24px;padding-top:20px;font-size:17px;color:#5b6b63;flex-wrap:wrap}.overview-section{font-size:21px;margin:32px 0 18px}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.overview-metric{background:white;border:1px solid #e3e7e2;border-radius:14px;text-align:left;padding:22px;display:flex;flex-direction:column;gap:12px}.overview-metric span{font-size:17px;color:#5b6b63}.overview-metric strong{font-size:clamp(18px,2vw,28px);white-space:nowrap;letter-spacing:-.5px}.overview-metric.green strong{color:#1d6b49}.overview-metric.amber strong{color:#7a4b00}.overview-overdue{display:flex;width:100%;justify-content:space-between;background:#f9e8e2;color:#a2422e;border:1px solid #efd8ce;border-radius:14px;padding:21px;margin:18px 0 28px;text-align:left}.overview-bottom{grid-template-columns:1.2fr 1fr}.attention-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid #e3e7e2;font-size:17px}.attention-line:last-child{border:0;padding-bottom:0}.attention-line small{display:block;color:#5b6b63;margin-top:8px}.attention-line button{border:0;background:transparent;color:#1d6b49;font-weight:600}.rep-result{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:17px}.rep-avatar{border-radius:50%;background:#e7ece5;color:#1d6b49;display:grid;place-items:center;width:35px;height:35px;flex-shrink:0}.rep-result>div{flex:1;background:#e7ece5;border-radius:5px;height:8px;overflow:hidden}.rep-result i{display:block;background:#2e8b5e;height:100%}.rep-result small{color:#5b6b63}.deskidentity{display:flex;flex-direction:column;gap:3px;min-width:0}.deskidentity small{color:#5b6b63;font-size:17px}.tabmenu details{padding:8px 12px}.tabmenu details button{display:block;width:100%;text-align:left}.deskrow{flex-wrap:wrap}.op-calendar .cancelled{opacity:.6;background:#eee!important;color:#555!important}
@media(max-width:800px){.balance-hero{gap:28px;padding:26px}.overview-card{padding:20px}.overview-card footer{align-items:flex-start;flex-direction:column}.overview-pair,.overview-bottom{gap:16px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric strong{font-size:24px}}
@media(max-width:560px){.balance-hero,.overview-pair,.overview-bottom{grid-template-columns:1fr}.company-overview{padding-top:0}.overview-heading{margin:8px 0 24px}.overview-heading h1{font-size:28px}.overview-metric{padding:16px}.overview-overdue{gap:12px;font-size:17px}.deskwho{display:none}.deskrow .spacer{display:none}.op-company{max-width:170px}.rep-result{gap:8px}.balance-bar span{font-size:17px}}
:root{--green:#1d6b49;--muted:#5b6b63;--line:#e3e7e2;background:#f1f3ee;color:#17231d}body{background:#f1f3ee}.mark,.op-create summary{background:#1d6b49}button.primary{background:#1d6b49;border-color:#1d6b49}.company-overview .overview-card header{justify-content:flex-start;flex-wrap:nowrap;text-align:left}.company-overview .overview-metric{background:#fff;border-radius:14px;border:1px solid #e3e7e2}.company-overview .overview-section{margin:32px 0 18px}.company-overview .balance-bar:hover{background:transparent}.deskidentity{cursor:pointer}.overview-overdue span{font-weight:500}
@media(max-width:560px){.desktabs{flex-wrap:nowrap;gap:0}.desktabs>[data-action="tab:Business home"]{display:none}.desktabs .tabpill{padding:10px 12px}.deskrow .desklink,.deskrow>[data-action=signout]{display:none}.deskrow{gap:10px}.deskidentity{flex:1}.op-company{max-width:170px}.overview-card header{gap:12px}.overview-card header h2{font-size:18px}.overview-card header p{font-size:17px}}
.sync-banner{width:100%;background:#fff7e3;border:0;border-radius:0;color:#7a4b00;font-size:17px}.sync-banner[hidden]{display:none}
.shell button.primary,.shell .mark,.shell .op-create summary{background:#1d6b49;border-color:#1d6b49;color:#fff}
/* Build 125: actual PDF pages, brand identity below opaque content surfaces. */
.pdf-pages{overflow:auto;flex:1;min-height:0;padding:16px;background:#e9eeeb;text-align:center}.pdf-pages canvas{display:block;margin:0 auto 16px;background:white;box-shadow:0 2px 12px #0002;height:auto}.pdfdialog[open]{display:flex;flex-direction:column}.mark img{width:44px;height:44px;object-fit:contain}.shell{isolation:isolate;position:relative}.company-watermark{position:fixed;width:min(55vw,600px);height:65vh;object-fit:contain;left:50%;top:55%;transform:translate(-50%,-50%);opacity:.035;pointer-events:none;z-index:-1}.shell .panel,.shell .overview-card,.shell .card{background-color:#fff}
/* Build 129: readable supporting text and navigation that wraps with it. */
small{font-size:17px}
@media(max-width:560px){.desktabs{flex-wrap:wrap;row-gap:6px}.desktabs .tabmenu{max-width:calc(100vw - 32px)}}
@media(max-width:560px){.deskrow .deskidentity{flex:1 1 calc(100% - 52px);overflow-wrap:anywhere}.deskrow .op-company{flex:1;max-width:none;min-width:0}.deskrow .op-create{flex-shrink:0}}
/* Dispatch (Build 131): day-based calendar. A day is one square; it only grows when it holds many events,
   and because every day in a week shares a grid row, the whole week row grows with it. No hour rows. */
.calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:white;container-type:inline-size}
.weekdays,.op-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:760px}
/* Every row is at least one square wide (container width / 7) and grows to fit its busiest day, so a crowded day makes its whole week taller. */
.op-calendar{gap:0;padding:0;margin:0;background:white;grid-auto-rows:minmax(calc(max(100cqw,760px)/7),auto)}
.op-calendar.day{grid-template-columns:1fr;min-width:0}
.weekdays .weekday{padding:10px;text-align:center;font-weight:700;font-size:15px;color:#5b6b63;background:#f7f9f6;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.op-calendar .op-day{box-sizing:border-box;min-width:0;padding:6px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff;display:flex;flex-direction:column;gap:4px}
.op-calendar.day{grid-auto-rows:auto}.op-calendar.day .op-day{min-height:260px;padding:12px}
.op-calendar .empty-day{background:#f4f6f3}
.op-calendar .op-day.today{background:#f1f8f4;box-shadow:inset 0 0 0 2px #2f8f6b}
.op-calendar .op-day h3{display:flex;justify-content:space-between;align-items:center;gap:4px;margin:0;padding:0;font-size:15px;line-height:1.2;border:0;background:none;position:static}
.op-calendar.day .op-day h3{font-size:20px}
.op-calendar .add-event{width:26px;height:26px;min-height:0;padding:0;border-radius:50%;line-height:1;font-size:18px;opacity:.55}
.op-calendar .op-day:hover .add-event,.op-calendar .add-event:focus{opacity:1}
.day-items{display:flex;flex-direction:column;gap:3px;min-width:0}
.op-calendar .op-visit,.op-calendar .op-event{width:100%;margin:0;padding:3px 6px;text-align:left;white-space:normal;overflow-wrap:anywhere;color:#17231d;font-size:14px;line-height:1.25;font-weight:500;border-radius:6px;display:block}
.op-calendar .op-event{border:0;border-left:6px solid #7a4fb5;background:#7a4fb518}
.op-calendar .op-visit.cancelled b{text-decoration:line-through;opacity:.7}
.op-calendar .chip-time{font-weight:400;color:#46574f;margin-right:4px}
.op-calendar .op-visit>span:not(.chip-time),.op-calendar .op-event>span:not(.chip-time):not(.bell){display:block;font-weight:400;font-size:14px;margin-top:2px}
.op-calendar.day .op-visit,.op-calendar.day .op-event{padding:10px 12px;font-size:17px}
/* Phones: a plain agenda list, one day per row, instead of seven tiny squares. */
@media(max-width:640px){.op-calendar{grid-template-columns:1fr;min-width:0;grid-auto-rows:auto}.weekdays,.op-calendar .empty-day{display:none}.op-calendar .op-day{min-height:0}}
.op-calendar .op-visit .chip-time{font-size:14px!important;color:#46574f!important;font-weight:400}
