:root{
  --navy:#082b55;--navy2:#0e3c6e;--gold:#d2a02e;--cream:#f7f4ee;--paper:#fffdfa;
  --ink:#17202b;--muted:#66717d;--line:#ddd7cc;--green:#267a4a;--red:#a63b3b;--amber:#a66c17;
  --shadow:0 14px 40px rgba(8,43,85,.10);--radius:16px;--font:"Arial Nova","Avenir Next","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}html{background:#eef1f4}body{margin:0;font-family:var(--font);color:var(--ink);background:#eef1f4;line-height:1.45}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{position:fixed;top:-60px;left:10px;background:white;padding:10px;z-index:9999}.skip-link:focus{top:10px}.admin-topbar{position:sticky;top:0;z-index:50;height:74px;display:flex;align-items:center;gap:24px;padding:0 24px;background:white;border-bottom:1px solid #e1e5e9}.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-weight:800}.admin-brand img{width:220px;height:48px;object-fit:contain}.admin-brand span{padding-left:12px;border-left:1px solid var(--line);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.admin-user{margin-left:0;display:flex;align-items:center;gap:14px;font-size:.88rem}.admin-user a{color:var(--navy);font-weight:700}.nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:white;padding:9px 12px;border-radius:9px;color:var(--navy);font-weight:700}.admin-shell{min-height:calc(100vh - 74px);display:grid;grid-template-columns:230px minmax(0,1fr)}.admin-sidebar{background:var(--navy);padding:24px 15px;display:flex;flex-direction:column;gap:5px}.admin-sidebar a{color:#dce6f0;text-decoration:none;padding:12px 14px;border-radius:9px;font-weight:700;font-size:.9rem}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.12);color:white}.admin-sidebar a.active{box-shadow:inset 3px 0 var(--gold)}.admin-sidebar .public-link{margin-top:auto;color:#f2d78d}.admin-main{min-width:0;padding:34px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.page-head h1{margin:0;color:var(--navy);font-size:clamp(2rem,3vw,3rem);letter-spacing:-.03em}.kicker{margin:0 0 4px;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem}.actions{display:flex;flex-wrap:wrap;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-weight:800;font-size:.87rem;cursor:pointer}.btn-primary{background:var(--navy);color:white}.btn-primary:hover{background:var(--navy2)}.btn-secondary{background:white;border-color:var(--line);color:var(--navy)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-danger{background:#fff;border-color:#d9aaaa;color:var(--red)}.btn-sm{min-height:34px;padding:0 10px;font-size:.78rem}.flash{padding:13px 15px;border-radius:10px;margin:0 0 18px;border:1px solid}.flash.success{background:#eef9f2;border-color:#b8dec6;color:#215e39}.flash.error{background:#fff0f0;border-color:#e5baba;color:#842d2d}.flash.info{background:#eef5fb;border-color:#bfd1e3;color:#244c70}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid #e4e8eb;border-radius:var(--radius);padding:20px;box-shadow:0 6px 20px rgba(8,43,85,.05)}.metric span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;margin-top:8px;color:var(--navy);font-size:2rem}.panel{background:white;border:1px solid #e3e7ea;border-radius:var(--radius);box-shadow:0 7px 24px rgba(8,43,85,.05);margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e7eaed}.panel-head h2{margin:0;color:var(--navy);font-size:1.2rem}.panel-body{padding:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;color:#66717d;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:12px 14px;border-bottom:1px solid #e2e6e9;white-space:nowrap}.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f2;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table a{color:var(--navy);font-weight:800;text-decoration:none}.data-table a:hover{text-decoration:underline}.subtle{color:var(--muted);font-size:.84rem}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef2f5;color:#48535f;font-size:.7rem;font-weight:800;white-space:nowrap}.status-new,.status-draft{background:#edf4fb;color:#2b5985}.status-contacted,.status-ready,.status-sent{background:#fff6df;color:#775516}.status-scheduled,.status-in-progress,.status-partially-completed,.status-partially-paid{background:#f4efff;color:#5c4285}.status-completed,.status-paid,.status-submitted{background:#eaf7ef;color:#286341}.status-lost,.status-void,.status-unable-to-complete,.status-past-due{background:#fff0f0;color:#8e3333}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px;border-bottom:1px solid #e7eaed}.filter-bar input,.filter-bar select{min-height:40px;border:1px solid #d5dade;border-radius:9px;padding:8px 10px;background:white}.filter-bar input[type=search]{min-width:250px;flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px}.field label,.field>span{font-weight:800;color:var(--navy);font-size:.84rem}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd6dc;border-radius:9px;background:white;padding:11px 12px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(210,160,46,.16)}.field textarea{resize:vertical}.help{color:var(--muted);font-size:.78rem}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px;align-items:start}.stack{display:grid;gap:20px}.info-list{display:grid;gap:10px}.info-row{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f2}.info-row:last-child{border-bottom:0}.info-row span:first-child{color:var(--muted);font-size:.82rem;font-weight:700}.item-editor{border:1px solid #e2e6e9;border-radius:12px;padding:15px;margin-bottom:12px;background:#fbfcfd}.item-editor-grid{display:grid;grid-template-columns:1.4fr .5fr .55fr .65fr .35fr;gap:10px}.item-editor textarea{min-height:72px}.item-title{font-weight:800;color:var(--navy);margin-bottom:10px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-card{border:1px solid #e0e5e8;border-radius:10px;overflow:hidden;background:#fff}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card .meta{padding:8px;font-size:.76rem}.checkbox-row{display:flex;align-items:center;gap:8px}.empty{padding:35px;text-align:center;color:var(--muted)}.report-item{border:1px solid #dde3e7;border-radius:12px;padding:16px;margin-bottom:14px}.report-item h3{margin:0 0 12px;color:var(--navy);font-size:1rem}.report-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:12px}.batch-bar{display:none;position:sticky;bottom:14px;z-index:20;background:var(--navy);color:white;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);align-items:center;gap:10px}.batch-bar.show{display:flex}.batch-bar form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-link{background:white;border:1px solid #e1e5e8;border-radius:14px;padding:18px;text-decoration:none}.quick-link strong{display:block;color:var(--navy);font-size:1.05rem}.quick-link span{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}.money{font-variant-numeric:tabular-nums;text-align:right}.nowrap{white-space:nowrap}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.item-editor-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.admin-topbar{height:68px;padding:0 14px}.admin-brand img{width:175px}.admin-brand span,.admin-user span{display:none}.nav-toggle{display:block}.admin-user{margin-left:0}.admin-shell{display:block}.admin-sidebar{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;z-index:40;overflow:auto}.admin-sidebar.open{display:flex}.admin-main{padding:20px 14px 82px}.page-head{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.photo-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.item-editor-grid{grid-template-columns:1fr}.info-row{grid-template-columns:100px 1fr}.filter-bar input[type=search]{min-width:0;width:100%}}
@media(max-width:440px){.metrics{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.admin-brand img{width:150px}.data-table{font-size:.82rem}}
@media print{.admin-topbar,.admin-sidebar,.page-head,.actions,.filter-bar,.form-actions,.batch-bar{display:none!important}.admin-shell{display:block}.admin-main{padding:0;background:white}.panel{box-shadow:none;border:0}.panel-head{padding-left:0}.panel-body{padding:0}body{background:white}}


/* Website visitor analytics */
.visitor-live-note{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:14px;padding:10px 14px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--muted);font-size:.88rem
}
.live-dot{
  width:9px;height:9px;border-radius:50%;background:#2c9b57;
  box-shadow:0 0 0 4px rgba(44,155,87,.12)
}
.visitor-live-note strong{color:var(--navy)}


/* Visitors menu kept separate at bottom */
.admin-sidebar .sidebar-bottom{margin-top:14px;display:grid;gap:5px;padding-top:14px;border-top:1px solid rgba(255,255,255,.17)}
.admin-sidebar .sidebar-bottom .public-link{margin-top:0}
.admin-sidebar .analytics-link{color:#fff3c8}
.admin-sidebar .analytics-link.active{box-shadow:inset 3px 0 var(--gold);background:rgba(255,255,255,.12);color:#fff}

/* Visitor analytics expansion */
.analytics-chart-panel canvas{display:block;width:100%;max-width:100%;height:280px}
.chart-range{display:flex;gap:7px;flex-wrap:wrap}
.chart-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;color:var(--muted);font-size:.8rem}
.chart-legend span{display:inline-flex;align-items:center;gap:7px}
.chart-legend i{width:18px;height:3px;border-radius:3px;display:inline-block}
.legend-pageviews{background:var(--navy)}
.legend-visitors{background:var(--gold)}
.legend-quotes{background:#2c8a59}
.google-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-stat{border:1px solid #e2e6e9;border-radius:12px;padding:14px;background:#fbfcfd}
.mini-stat span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.mini-stat strong{display:block;margin-top:6px;color:var(--navy);font-size:1.45rem}
@media(max-width:760px){.google-metric-grid{grid-template-columns:1fr 1fr}.analytics-chart-panel .panel-head{align-items:flex-start;flex-direction:column}}
@media(max-width:440px){.google-metric-grid{grid-template-columns:1fr}}

/* Purchased materials and invoice receipt attachments */
.receipt-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}
.receipt-admin-card{border:1px solid #e1e5e8;border-radius:12px;padding:10px;display:grid;gap:7px;background:#fff}
.receipt-admin-card img{display:block;width:100%;height:150px;object-fit:contain;background:#f5f6f7;border-radius:7px}
.receipt-admin-card>strong{color:var(--navy);font-size:.88rem}
.receipt-admin-card>span{font-size:.74rem;color:var(--muted)}
.receipt-pdf{height:150px;display:grid;place-items:center;background:#f1f3f5;color:var(--navy);font-weight:900}
.receipt-card-actions,.table-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.link-button{border:0;background:none;padding:0;font:inherit;color:var(--navy);cursor:pointer;text-decoration:underline}
.danger-link{color:#a62c2c}
.invoice-receipt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.invoice-receipt-option{display:grid;grid-template-columns:auto 72px 1fr;align-items:center;gap:10px;border:1px solid #e1e5e8;border-radius:10px;padding:10px;background:#fff;cursor:pointer}
.invoice-receipt-option input{width:auto}
.invoice-receipt-preview img{width:72px;height:72px;object-fit:contain;background:#f6f7f8;border-radius:6px}
.invoice-receipt-preview .receipt-pdf{width:72px;height:72px;font-size:.85rem}
.invoice-receipt-option strong,.invoice-receipt-option small{display:block}
.invoice-receipt-option small{margin-top:4px;color:var(--muted)}
@media(max-width:920px){.receipt-admin-grid{grid-template-columns:1fr 1fr}.invoice-receipt-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.receipt-admin-grid,.invoice-receipt-grid{grid-template-columns:1fr}}


/* Dashboard metric links */
.metric-link{display:block;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.metric-link:hover{transform:translateY(-2px);border-color:#cbd5dc;box-shadow:0 10px 28px rgba(8,43,85,.10)}
.metric-link:focus-visible{outline:3px solid rgba(210,160,46,.35);outline-offset:2px}

/* Admin topbar live weather */
.topbar-weather{margin-left:auto;min-width:205px;display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid #e1e5e9;border-radius:12px;background:#fbfcfd;color:var(--navy);text-decoration:none;line-height:1.15;transition:border-color .15s ease,background .15s ease}
.topbar-weather:hover{border-color:#c5d0d8;background:#f5f8fa}
.weather-widget-icon{font-size:1.55rem;line-height:1}
.weather-widget-copy{display:grid;gap:3px;min-width:0}
.weather-widget-copy strong{display:flex;align-items:baseline;gap:6px;font-size:.88rem;white-space:nowrap}
.weather-widget-copy>span{display:flex;gap:7px;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weather-hi-low:before{content:'·';margin-right:7px}
.weather-location{max-width:116px;overflow:hidden;text-overflow:ellipsis}

/* Weather page */
.weather-search-panel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.weather-search-wrap{position:relative;flex:1;min-width:250px}
.weather-search-wrap input{width:100%;height:44px;border:1px solid #cfd6dc;border-radius:10px;padding:0 13px;background:#fff;outline:none}
.weather-search-wrap input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(210,160,46,.16)}
.weather-search-results{position:absolute;left:0;right:0;top:49px;z-index:25;background:#fff;border:1px solid #d7dee3;border-radius:11px;box-shadow:var(--shadow);overflow:hidden;display:none}
.weather-search-results.show{display:block}
.weather-search-result{display:block;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:11px 13px;text-align:left;cursor:pointer;color:var(--ink)}
.weather-search-result:last-child{border-bottom:0}.weather-search-result:hover{background:#f6f8fa}.weather-search-result strong,.weather-search-result span{display:block}.weather-search-result span{font-size:.78rem;color:var(--muted);margin-top:2px}
.weather-current-grid{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(130px,.5fr));gap:14px}
.weather-current-main{background:linear-gradient(135deg,#082b55,#0e477f);color:#fff;border-radius:16px;padding:22px;display:flex;align-items:center;gap:16px;min-height:132px}
.weather-current-icon{font-size:3.4rem;line-height:1}.weather-current-main h2{margin:0;font-size:1.15rem;color:#fff}.weather-current-main .weather-big-temp{font-size:2.65rem;font-weight:900;margin-top:3px}.weather-current-main p{margin:3px 0 0;color:#dce7f0;font-size:.86rem}
.weather-stat{border:1px solid #e2e6e9;border-radius:14px;background:#fff;padding:17px}.weather-stat span{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.weather-stat strong{display:block;color:var(--navy);font-size:1.15rem;margin-top:7px}.weather-stat em{display:block;margin-top:7px;color:var(--muted);font-size:.78rem;font-style:normal;font-weight:700}
.weather-hourly{display:flex;gap:10px;overflow-x:auto;padding:4px 1px 10px;scroll-snap-type:x proximity}
.hourly-card{flex:0 0 102px;scroll-snap-align:start;border:1px solid #e3e7ea;background:#fff;border-radius:13px;padding:12px 9px;text-align:center}.hourly-card strong{display:block;color:var(--navy);font-size:.78rem}.hourly-card .hour-icon{font-size:1.55rem;margin:8px 0}.hourly-card .hour-temp{font-size:1.05rem;font-weight:900;color:var(--ink)}.hourly-card small{display:block;color:var(--muted);margin-top:5px;font-size:.68rem}
.weather-daily-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.daily-card{border:1px solid #e2e6e9;background:#fff;border-radius:14px;padding:15px;text-align:center}.daily-card strong{display:block;color:var(--navy);font-size:.82rem}.daily-card .day-icon{font-size:1.8rem;margin:8px 0}.daily-card .day-temp{font-weight:900}.daily-card small{display:block;color:var(--muted);margin-top:5px}
.radar-frame{width:100%;height:520px;border:1px solid #dde3e8;border-radius:14px;background:#eef2f4}.radar-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.radar-actions .subtle{max-width:700px}
.weather-loading{padding:26px;text-align:center;color:var(--muted)}

@media(max-width:1100px){.weather-current-grid{grid-template-columns:1.25fr 1fr 1fr}.weather-current-main{grid-row:span 2}.weather-daily-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topbar-weather{margin-left:auto;min-width:auto;padding:7px 9px}.weather-widget-copy>span,.weather-condition{display:none}.weather-widget-copy strong{font-size:.82rem}.weather-widget-icon{font-size:1.35rem}.weather-current-grid{grid-template-columns:1fr 1fr}.weather-current-main{grid-column:1/-1;grid-row:auto}.weather-daily-grid{grid-template-columns:1fr 1fr}.radar-frame{height:430px}.nav-toggle{margin-left:0}}
@media(max-width:440px){.topbar-weather{padding:6px 7px;gap:5px}.weather-widget-copy strong{font-size:.76rem}.weather-current-grid{grid-template-columns:1fr}.weather-current-main{grid-column:auto}.weather-daily-grid{grid-template-columns:1fr 1fr}.radar-frame{height:360px}}


/* Dashboard calendar */
.dashboard-calendar-head{align-items:flex-start}.dashboard-calendar-head>div{min-width:0}.dashboard-calendar-head .subtle{margin:4px 0 0}
.dashboard-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px;padding:18px}.calendar-shell{min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.calendar-nav{display:flex;gap:7px}.calendar-month-label{color:var(--navy);font-size:1.05rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border:1px solid #e2e6e9;border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;background:#f7f9fa}.calendar-weekdays span{padding:8px 6px;text-align:center;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.calendar-grid{border-left:1px solid #e2e6e9;border-top:1px solid #e2e6e9}.calendar-day{position:relative;min-height:116px;padding:7px;background:#fff;border-right:1px solid #e2e6e9;border-bottom:1px solid #e2e6e9;cursor:pointer;overflow:hidden}.calendar-day:nth-last-child(-n+7):first-child{border-radius:0 0 0 12px}.calendar-day.outside-month{background:#f8fafb;color:#9aa3aa}.calendar-day.today{background:#fffaf0;box-shadow:inset 0 0 0 2px rgba(210,160,46,.55)}.calendar-day-number{display:grid;place-items:center;width:27px;height:27px;margin:0 0 5px auto;border:0;border-radius:50%;background:transparent;color:var(--navy);font-weight:900;cursor:pointer}.calendar-day.today .calendar-day-number{background:var(--gold);color:var(--navy)}.calendar-day-events{display:grid;gap:4px}.calendar-event{display:block;width:100%;min-width:0;border:0;border-radius:6px;padding:5px 6px;text-align:left;cursor:pointer;font-size:.67rem;font-weight:800;line-height:1.2;overflow:hidden}.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-job-event{background:#e9f1f8;color:var(--navy);border-left:3px solid var(--navy)}.calendar-custom-event{background:#f8f5ed;color:var(--ink);border-left:3px solid var(--event-color,#d2a02e)}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.72rem}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:18px;height:7px;border-radius:5px}.calendar-legend-job{background:var(--navy)}.calendar-legend-custom{background:var(--gold)}
.upcoming-jobs-panel{border:1px solid #e2e6e9;border-radius:14px;background:#fbfcfd;overflow:hidden;align-self:start}.upcoming-jobs-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid #e8ecef;color:var(--navy)}.upcoming-jobs-title a{font-size:.75rem;font-weight:800}.upcoming-job-list{display:grid}.upcoming-job{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:11px 13px;text-decoration:none;border-bottom:1px solid #edf0f2}.upcoming-job:last-child{border-bottom:0}.upcoming-job:hover{background:#fff}.upcoming-job time{text-align:center;border-radius:9px;background:#eef3f7;padding:7px 3px;color:var(--navy)}.upcoming-job time strong,.upcoming-job time span{display:block}.upcoming-job time strong{font-size:.78rem}.upcoming-job time span{font-size:.65rem;color:var(--muted);text-transform:uppercase}.upcoming-job>span{min-width:0}.upcoming-job>span strong,.upcoming-job>span small{display:block}.upcoming-job>span strong{font-size:.8rem;color:var(--navy)}.upcoming-job>span small{margin-top:2px;color:var(--muted);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-empty{padding:18px}
.vps-modal[hidden]{display:none}.vps-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.vps-modal-backdrop{position:absolute;inset:0;background:rgba(5,24,45,.64);backdrop-filter:blur(2px)}.vps-modal-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.vps-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e5e8eb}.vps-modal-head h2{margin:0;color:var(--navy)}.vps-modal-head .subtle{margin:5px 0 0}.modal-close{border:0;background:#eef2f5;color:var(--navy);width:36px;height:36px;border-radius:50%;font-size:1.45rem;line-height:1;cursor:pointer}.calendar-event-form{padding:20px 22px}.calendar-color-input{padding:4px;height:44px}.calendar-modal-actions{margin-top:18px}.modal-open{overflow:hidden}

/* Inline property map and expanded popup */
.property-page-actions{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:stretch;gap:12px}.property-add-btn{align-self:stretch;min-height:72px}.property-map-inline-card{position:relative;min-width:0;height:190px;border:1px solid #d7dee3;border-radius:14px;overflow:hidden;background:#edf1f4;box-shadow:0 8px 24px rgba(8,43,85,.06)}.property-map-inline-canvas{position:absolute;inset:0;background:#edf1f4}.property-map-inline-overlay{position:absolute;z-index:500;left:12px;right:12px;top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.property-map-inline-copy{display:grid;gap:2px;max-width:min(520px,65%);padding:8px 11px;border:1px solid rgba(215,222,227,.9);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(8,43,85,.09);backdrop-filter:blur(5px)}.property-map-inline-copy strong{color:var(--navy);font-size:.84rem}.property-map-inline-copy small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-map-expand{pointer-events:auto;min-height:38px;padding:0 12px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(8,43,85,.09)}.property-map-dialog{width:min(1180px,100%);overflow:hidden}.property-map-canvas{height:min(74vh,760px);min-height:500px;background:#edf1f4}.property-popup-link{display:inline-block;margin-top:8px;font-weight:800;color:#082b55}.leaflet-popup-content{font-family:var(--font);line-height:1.35}.property-map-inline-card .leaflet-control-container,.property-map-canvas .leaflet-control-container{font-family:var(--font)}

/* Jobs quick multi-select status */
.jobs-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.quick-status-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border:1px solid #dce2e7;border-radius:11px;background:#fff}.quick-status-form select{min-height:40px;border:1px solid #cfd6dc;border-radius:9px;padding:0 34px 0 10px;background:#fff;color:var(--ink)}.quick-status-count{min-width:74px;padding-left:5px;color:var(--muted);font-size:.75rem;font-weight:800}.quick-status-form .btn:disabled{opacity:.5;cursor:not-allowed}.job-select-col{width:42px;text-align:center}.job-select-col input{width:18px;height:18px;accent-color:var(--navy);cursor:pointer}.form-actions-top{margin:0 0 18px}

@media(max-width:1100px){.dashboard-calendar-layout{grid-template-columns:1fr}.upcoming-jobs-panel{display:block}.calendar-day{min-height:104px}.property-map-inline-card{height:180px}.property-map-canvas{min-height:440px}}
@media(max-width:760px){.dashboard-calendar-layout{padding:12px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-weekdays span{font-size:.6rem;padding:7px 2px}.calendar-day{min-height:86px;padding:4px}.calendar-day-number{width:24px;height:24px;font-size:.72rem}.calendar-event{font-size:.6rem;padding:4px}.property-page-actions{grid-template-columns:1fr}.property-add-btn{min-height:48px}.property-map-inline-card{height:260px}.property-map-inline-overlay{align-items:flex-start}.property-map-inline-copy{max-width:62%}.property-map-expand{padding:0 10px;font-size:.76rem}.property-map-canvas{height:62vh;min-height:380px}.jobs-top-actions{align-items:stretch}.quick-status-form{width:100%}.quick-status-form select{flex:1;min-width:160px}}
@media(max-width:520px){.calendar-weekdays span{font-size:.52rem}.calendar-day{min-height:72px}.calendar-event span{font-size:.55rem}.vps-modal{padding:10px}.vps-modal-dialog{max-height:calc(100vh - 20px)}.property-map-inline-card{height:300px}.property-map-inline-copy{max-width:58%}.property-map-inline-copy small{white-space:normal}.property-map-canvas{min-height:340px}}

.data-table tr:target td{background:#fff8e5;box-shadow:inset 0 1px #efd487,inset 0 -1px #efd487}

/* Property map filters and controls */
.property-map-modal-head{border-bottom:0}.property-map-filterbar{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(150px,.65fr));gap:10px;padding:14px 20px 10px;border-top:1px solid #e5e8eb;background:#fbfcfd}.property-map-filterbar input,.property-map-filterbar select{width:100%;min-height:42px;border:1px solid #cfd6dc;border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.property-map-filterbar select{padding-right:34px}.property-map-toolrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px 12px;background:#fbfcfd;border-bottom:1px solid #e5e8eb}.property-map-toolbuttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.property-map-toolrow>.subtle{font-size:.75rem}.property-map-canvas{border-radius:0 0 16px 16px}

/* Local gig finder */
.gig-finder-panel{margin-top:22px;overflow:hidden}.gig-finder-head{align-items:flex-start}.gig-finder-head h2{margin:2px 0 0;color:var(--navy)}.gig-finder-head .subtle{margin:5px 0 0;max-width:760px}.gig-finder-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gig-finder-actions form{margin:0}.gig-finder-statusbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:11px 20px;border-top:1px solid #edf0f2;border-bottom:1px solid #e3e7ea;background:#f8fafb;color:var(--muted);font-size:.75rem}.gig-finder-statusbar strong{color:var(--navy)}.gig-setup-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px}.gig-setup-callout>div{display:grid;gap:4px}.gig-setup-callout strong{color:var(--navy)}.gig-setup-callout span{color:var(--muted);font-size:.85rem}.gig-filter-bar{border-bottom:1px solid #e4e8eb}.gig-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.gig-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #dfe4e8;border-radius:13px;background:#fff}.gig-card-source{display:flex;align-items:center;justify-content:space-between;gap:10px}.gig-source-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.65rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.gig-source-facebook{background:#e9f1fb;color:#174b87}.gig-source-craigslist{background:#f1ebf8;color:#5f378b}.gig-card h3{margin:10px 0 7px;color:var(--navy);font-size:1rem;line-height:1.28}.gig-card h3 a{text-decoration:none}.gig-card h3 a:hover{text-decoration:underline}.gig-card p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.5}.gig-meta-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;font-size:.72rem;color:var(--muted)}.gig-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#f7f2e7;color:#76591c;font-weight:800}.gig-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}.gig-contact{display:grid;gap:3px;min-width:0;font-size:.76rem}.gig-contact a{color:var(--navy);font-weight:800}.gig-contact .subtle{max-width:330px}.gig-empty{grid-column:1/-1;display:grid;place-items:center;gap:5px;padding:34px;text-align:center;color:var(--muted)}.gig-empty strong{color:var(--navy)}.gig-cron-command{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}

@media(max-width:1050px){.property-map-filterbar{grid-template-columns:1fr 1fr}.gig-results{grid-template-columns:1fr}}
@media(max-width:760px){.property-map-filterbar{grid-template-columns:1fr;padding:12px}.property-map-toolrow{align-items:flex-start;flex-direction:column;padding:0 12px 12px}.property-map-toolbuttons{justify-content:flex-start}.gig-finder-head{align-items:flex-start;flex-direction:column}.gig-finder-actions{width:100%}.gig-finder-statusbar{gap:9px 15px;padding:10px 14px}.gig-results{padding:12px}.gig-setup-callout{align-items:flex-start;flex-direction:column}.gig-card-footer{align-items:flex-start;flex-direction:column}}
/* Calendar modal fine tune: prevent field overlap and support reminder alerts */
.calendar-event-form .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.calendar-event-form .field{min-width:0}
.calendar-event-form .field input,
.calendar-event-form .field select,
.calendar-event-form .field textarea{min-width:0;max-width:100%}
.calendar-event-form .calendar-color-input{display:block;width:100%;min-width:0;padding:5px}
.calendar-reminder-field .help{margin-top:1px}
.calendar-reminder-toast{
  position:fixed;right:22px;bottom:22px;z-index:1200;
  width:min(380px,calc(100vw - 30px));display:flex;align-items:flex-start;
  justify-content:space-between;gap:16px;padding:16px 18px;
  border:1px solid rgba(210,160,46,.55);border-left:5px solid var(--gold);
  border-radius:13px;background:#fff;box-shadow:0 18px 55px rgba(8,43,85,.24)
}
.calendar-reminder-toast>div{display:grid;gap:3px;min-width:0}
.calendar-reminder-toast strong{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.calendar-reminder-toast span{color:var(--navy);font-weight:900;overflow-wrap:anywhere}
.calendar-reminder-toast small{color:var(--muted)}
.calendar-reminder-toast button{
  flex:0 0 auto;width:30px;height:30px;border:0;border-radius:50%;
  background:#eef2f5;color:var(--navy);font-size:1.1rem;cursor:pointer
}
@media(max-width:760px){
  .calendar-event-form .form-grid{grid-template-columns:1fr}
  .calendar-event-form .form-grid .full{grid-column:auto}
  .calendar-reminder-toast{right:15px;bottom:15px}
}

/* Gig Finder query controls + diagnostics */
.gig-scan-options{padding-bottom:20px;border-bottom:1px solid #e6eaed}.gig-query-list{display:grid;gap:12px;margin-top:18px}.gig-query-card{padding:15px;border:1px solid #dfe4e8;border-radius:13px;background:#fbfcfd}.gig-query-card h3{margin:0 0 12px;color:var(--navy)}.gig-query-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(150px,.38fr) minmax(0,1.6fr) auto auto;gap:10px;align-items:end}.gig-query-grid .field{min-width:0}.gig-query-grid .field input,.gig-query-grid .field select,.gig-query-grid .field textarea{width:100%;min-width:0}.gig-query-text textarea{resize:vertical}.gig-query-toggle{min-height:44px;align-items:center;padding:0 4px;white-space:nowrap}.gig-query-buttons{display:flex;gap:7px;align-items:center;min-height:44px}.gig-query-add{margin-top:14px;background:#fffaf0;border-color:#ead7a3}.gig-test-form{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:10px}.gig-test-form input,.gig-test-form select{width:100%;min-height:44px;border:1px solid #cfd6dc;border-radius:10px;background:#fff;color:var(--ink);padding:0 12px}.gig-test-results{display:grid;gap:9px;margin-top:16px}.gig-test-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2e6e9;border-radius:10px;background:#f8fafb;color:var(--muted);font-size:.78rem}.gig-test-summary strong{color:var(--navy)}.gig-test-results article{padding:13px 14px;border:1px solid #e2e6e9;border-radius:11px;background:#fff}.gig-test-results article>div{display:flex;align-items:center;gap:8px}.gig-test-results h4{margin:8px 0 5px;color:var(--navy)}.gig-test-results p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.gig-source-other{background:#eef1f3;color:#68747d}.gig-fallback-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#fff4d7;color:#76591c;font-weight:800}.gig-diagnostics{border-bottom:1px solid #e5e8eb;background:#fbfcfd}.gig-diagnostics summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;cursor:pointer;color:var(--navy);font-weight:900}.gig-diagnostics summary span{color:var(--muted);font-size:.72rem;font-weight:700}.gig-diagnostics[open] summary{border-bottom:1px solid #e5e8eb}.gig-diagnostics-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px}.gig-diagnostics-summary span{display:inline-flex;gap:4px;padding:5px 8px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:var(--muted);font-size:.72rem}.gig-diagnostics-summary strong{color:var(--navy)}.gig-diagnostic-table td,.gig-diagnostic-table th{font-size:.75rem}.gig-diagnostic-table td:first-child{min-width:250px}
@media(max-width:1100px){.gig-query-grid{grid-template-columns:1fr 180px}.gig-query-text{grid-column:1/-1}.gig-query-toggle,.gig-query-buttons{align-self:center}.gig-test-form{grid-template-columns:1fr 160px}.gig-test-form .btn{grid-column:1/-1}}
@media(max-width:760px){.gig-query-grid{grid-template-columns:1fr}.gig-query-text{grid-column:auto}.gig-query-toggle{padding:4px 0}.gig-query-buttons{justify-content:flex-start}.gig-test-form{grid-template-columns:1fr}.gig-test-form .btn{grid-column:auto}.gig-test-summary{align-items:flex-start;flex-direction:column}.gig-diagnostics summary{padding:11px 14px}.gig-diagnostics-summary{padding:10px 14px}.gig-diagnostic-table{min-width:780px}}


/* Production Master v3.0 money layer */
.money-metrics .metric small,.metric small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;line-height:1.35;font-weight:600}
.compact-money{margin-bottom:18px}
.cost-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.cost-budget-grid .field{min-width:0}
.cost-budget-grid input{width:100%}
.copy-row{display:flex;align-items:center;gap:7px;min-width:260px}
.copy-row input{min-width:0;width:100%;height:36px;border:1px solid #d5dbe0;border-radius:8px;padding:0 9px;background:#f8fafb;font-size:.72rem}
.positive{color:var(--green)!important}
.negative{color:var(--red)!important}
.money-health{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.contract-source{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#f7f2e7;color:#76591c;font-size:.66rem;font-weight:800}
@media(max-width:760px){
  .cost-budget-grid{grid-template-columns:1fr}
  .copy-row{min-width:0;flex-direction:column;align-items:stretch}
}

/* Production Master v4.1.0: Needs Attention, inbox, activity and calendar polish */
.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:9px;min-width:0}.topbar-tools .topbar-weather{margin-left:0}.topbar-attention,.topbar-mail{position:relative;flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border:1px solid #e1e5e9;border-radius:12px;background:#fff;text-decoration:none;color:var(--navy);font-size:1.18rem;transition:.15s ease}.topbar-attention:hover,.topbar-mail:hover{border-color:#c5d0d8;background:#f8fafb}.topbar-attention>span{color:#aeb7bf}.topbar-attention.has-items>span{color:var(--gold)}.topbar-attention b,.topbar-mail b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--navy);color:#fff;border:2px solid #fff;font-size:.62rem;line-height:1}.topbar-attention b:empty{display:none}.topbar-mail.has-mail{border-color:#d8bd72;background:#fffaf0}.topbar-mail b{background:var(--red)}
.page-head-attention{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem;font-weight:800}.attention-star{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d8dfe4;border-radius:9px;background:#fff;color:#aeb7bf;font-size:1.35rem;line-height:1;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.attention-star:hover{transform:translateY(-1px);border-color:#d2a02e;color:#d2a02e}.attention-star.is-starred{color:#d2a02e;background:#fffaf0;border-color:#e5c66f}.attention-star:disabled{opacity:.55;cursor:wait}.attention-star-inline{width:25px;height:25px;margin-right:6px;border-radius:7px;font-size:1rem;vertical-align:middle}.attention-select-stack{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:28px;vertical-align:top}.attention-select-stack>input[type=checkbox]{margin:0}.attention-select-stack .attention-star-inline{width:25px;height:25px;margin:0;border-radius:7px;font-size:1rem}.attention-row-actions{text-align:right}.attention-star-rowend{margin-left:8px;margin-right:0}.attention-total{color:var(--muted);font-size:.78rem}.attention-filters{display:flex;flex-wrap:wrap;gap:7px;padding:14px 20px;border-bottom:1px solid #e7eaed}.attention-filters a{padding:7px 10px;border-radius:999px;border:1px solid #dde3e7;background:#fff;color:var(--navy);text-decoration:none;font-size:.75rem;font-weight:800}.attention-filters a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.attention-list{display:grid}.attention-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:17px 20px;border-bottom:1px solid #edf0f2}.attention-item:last-child{border-bottom:0}.attention-item-main{display:grid;gap:3px;min-width:0}.attention-item-main>a{text-decoration:none;color:var(--navy);overflow-wrap:anywhere}.attention-item-main>a:hover{text-decoration:underline}.attention-item-main>span,.attention-item-main>p{margin:0;color:var(--muted);font-size:.8rem}.attention-item-type{color:var(--gold);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.attention-item-side{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.attention-due{font-size:.72rem;font-weight:800;color:#735818}.attention-due.overdue{color:var(--red)}.attention-editor{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;align-items:end;padding:13px;border-radius:10px;background:#f7f9fa;border:1px solid #e2e6e9}.attention-editor[hidden]{display:none}.attention-editor label{display:grid;gap:5px;color:var(--navy);font-size:.72rem;font-weight:800}.attention-editor textarea,.attention-editor input{width:100%;border:1px solid #cfd6dc;border-radius:8px;padding:8px 9px;background:#fff}.attention-editor>div{display:flex;gap:7px}.dashboard-command-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-command-grid>.panel{margin-bottom:0}.dashboard-attention-list,.dashboard-mail-list{display:grid}.dashboard-attention-row,.dashboard-mail-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #edf0f2;text-decoration:none}.dashboard-attention-row:last-child,.dashboard-mail-row:last-child{border-bottom:0}.dashboard-attention-row strong,.dashboard-mail-row strong{display:block;color:var(--navy);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-row small,.dashboard-mail-row small{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-row time,.dashboard-mail-row time{font-size:.69rem;color:var(--muted);white-space:nowrap}.dashboard-attention-row time.overdue{color:var(--red);font-weight:800}.attention-mini-star{color:var(--gold);font-size:1rem}.mail-setup-compact{display:grid;gap:5px;color:var(--muted);font-size:.8rem}.mail-setup-compact strong{color:var(--navy)}.dashboard-mail-row.is-unread{background:#fffaf0}.dashboard-mail-row.is-unread strong{font-weight:900}.mailbox-dot{width:8px;height:8px;border-radius:50%;background:#c7cfd5}.is-unread .mailbox-dot{background:var(--gold);box-shadow:0 0 0 3px rgba(210,160,46,.13)}
.mail-unread-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#fff3d0;color:#735818;font-size:.72rem;font-weight:900}.mailbox-list{display:grid}.mailbox-row{display:grid;grid-template-columns:10px minmax(160px,.65fr) minmax(260px,1.35fr) auto;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #edf0f2;text-decoration:none}.mailbox-row:last-child{border-bottom:0}.mailbox-row.is-unread{background:#fffaf0}.mailbox-row strong{color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailbox-row.is-unread strong{font-weight:900}.mailbox-from{color:var(--ink);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailbox-row time{color:var(--muted);font-size:.72rem;white-space:nowrap}.email-message-body pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.email-message-body iframe{width:100%;min-height:520px;border:0;background:#fff}.global-mail-toast{position:fixed;right:20px;top:88px;z-index:1300;display:flex;align-items:flex-start;gap:12px;width:min(390px,calc(100vw - 30px));padding:14px 15px;border:1px solid #e1c36e;border-left:5px solid var(--gold);border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(8,43,85,.2)}.global-mail-toast[hidden]{display:none}.global-mail-toast a{display:grid;gap:2px;flex:1;text-decoration:none}.global-mail-toast strong{color:var(--navy)}.global-mail-toast span{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.global-mail-toast button{border:0;background:#eef2f5;color:var(--navy);width:28px;height:28px;border-radius:50%;cursor:pointer}
.activity-results-summary{padding:10px 20px;border-bottom:1px solid #edf0f2;color:var(--muted);font-size:.75rem}.activity-timeline{padding:4px 20px 20px}.activity-timeline article{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid #edf0f2}.activity-timeline article:last-child{border-bottom:0}.activity-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(210,160,46,.12)}.activity-timeline strong{color:var(--navy)}.activity-timeline p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.activity-filter input[type=date]{min-width:150px}
/* Calendar: distinct date/color and time rows, plus day expansion modal. */
.calendar-event-form .form-grid{column-gap:22px;row-gap:20px}.calendar-event-form .calendar-color-input{display:block;width:100%;height:48px;min-height:48px;padding:6px 8px;border-radius:9px}.calendar-event-form input[type=time],.calendar-event-form input[type=date]{min-height:48px}.calendar-event-form .field label{position:relative;z-index:1;background:#fff;width:max-content;max-width:100%}.calendar-day:hover{background:#f8fbfd}.calendar-day.today:hover{background:#fff7df}.calendar-day-dialog{width:min(620px,100%)}.calendar-day-agenda{display:grid;padding:10px 20px 0}.calendar-agenda-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:start;padding:13px 2px;border-bottom:1px solid #edf0f2;text-decoration:none;color:inherit}.calendar-agenda-row:last-child{border-bottom:0}.calendar-agenda-open{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.calendar-agenda-custom{grid-template-columns:minmax(0,1fr) auto}.calendar-agenda-time{color:var(--gold);font-size:.75rem;font-weight:900}.calendar-agenda-row strong{display:block;color:var(--navy)}.calendar-agenda-row small{display:block;margin-top:2px;color:var(--muted);font-size:.76rem}.calendar-agenda-star{width:30px;height:30px;font-size:1.05rem}.calendar-day-actions{display:flex;justify-content:flex-end;gap:9px;padding:18px 20px 20px}
@media(max-width:1050px){.dashboard-command-grid{grid-template-columns:1fr}.attention-editor{grid-template-columns:1fr 1fr}.attention-editor>div{grid-column:1/-1}.mailbox-row{grid-template-columns:10px minmax(120px,.55fr) minmax(200px,1.45fr) auto}}
@media(max-width:760px){.topbar-tools{gap:5px}.topbar-attention,.topbar-mail{width:36px;height:36px;border-radius:9px}.topbar-tools .topbar-weather{padding:6px 7px}.attention-item{grid-template-columns:38px minmax(0,1fr)}.attention-item-side{grid-column:2;justify-content:flex-start}.attention-editor{grid-column:1/-1;grid-template-columns:1fr}.attention-editor>div{grid-column:auto}.mailbox-row{grid-template-columns:9px minmax(0,1fr) auto}.mailbox-from{grid-column:2}.mailbox-row strong{grid-column:2}.mailbox-row time{grid-column:3;grid-row:1/3}.activity-filter select,.activity-filter input[type=date]{width:100%;min-width:0}.calendar-event-form .form-grid{grid-template-columns:1fr;row-gap:16px}.calendar-agenda-row,.calendar-agenda-open{grid-template-columns:82px minmax(0,1fr)}}
@media(max-width:520px){.admin-topbar{gap:7px}.admin-brand img{width:138px}.topbar-weather{display:none}.topbar-attention,.topbar-mail{width:34px;height:34px}.admin-user{gap:7px}.admin-user a{font-size:.75rem}.page-head-attention span{display:none}.global-mail-toast{top:76px;right:12px}.mailbox-row{padding:12px 14px}}
.topbar-attention:not(.has-items) b{display:none}
.dashboard-attention-row>a{min-width:0;text-decoration:none}.dashboard-attention-row>.attention-star{width:28px;height:28px;font-size:1rem;border-radius:7px}
.gig-card-source-right{display:flex;align-items:center;gap:8px}.gig-card-source-right .attention-star{margin-right:0}

/* v4.2 full VPS email client */
.email-client-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.email-folders{position:sticky;top:94px;display:grid;gap:12px;padding:14px;border:1px solid #dde3e7;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.email-compose-btn{width:100%;text-align:center}.email-folders nav{display:grid;gap:4px}.email-folders nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:9px;color:var(--navy);font-size:.82rem;font-weight:800;text-decoration:none}.email-folders nav a:hover{background:#f3f6f8}.email-folders nav a.active{background:var(--navy);color:#fff}.email-client-main{min-width:0}.email-client-toolbar,.email-message-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.email-client-toolbar h2{margin:0;color:var(--navy)}.email-client-toolbar p{margin:3px 0 0}.email-search-bar{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:10px;padding:14px 16px;border-bottom:1px solid #e7eaed}.email-search-bar input,.email-search-bar select,.email-bulk-toolbar select,.email-move-form select{min-height:40px;border:1px solid #cfd6dc;border-radius:9px;background:#fff;padding:8px 10px}.email-bulk-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid #e7eaed;background:#f8fafb}.email-select-all{display:flex;align-items:center;gap:6px;margin-right:4px;color:var(--muted);font-size:.75rem;font-weight:800}.email-move-wrap{display:flex;align-items:center;gap:5px;margin-left:auto}.email-move-wrap select{min-width:150px}.full-mailbox-list .mailbox-row{display:grid;grid-template-columns:20px 30px minmax(0,1fr);gap:8px;align-items:center;padding:0;border-bottom:1px solid #edf0f2}.full-mailbox-list .mailbox-row:last-child{border-bottom:0}.full-mailbox-list .email-row-check{margin-left:16px}.email-row-star{border:0;background:transparent;color:#b9c1c7;font-size:1.12rem;cursor:pointer;padding:7px 3px}.email-row-star.is-starred{color:var(--gold)}.mailbox-row-link{display:grid;grid-template-columns:10px minmax(150px,.65fr) minmax(220px,1.35fr) auto;gap:12px;align-items:center;min-width:0;padding:13px 16px 13px 0;text-decoration:none}.mailbox-row-link strong{color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mailbox-row-link time{color:var(--muted);font-size:.72rem;white-space:nowrap}.email-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px}.email-pagination span{color:var(--muted);font-size:.76rem;font-weight:800}.email-message-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.email-message-head{align-items:flex-start}.email-attachments{padding:14px 20px;border-bottom:1px solid #e7eaed;background:#fafbfc}.email-attachments>strong{display:block;margin-bottom:8px;color:var(--navy);font-size:.78rem}.email-attachments>div{display:flex;gap:8px;flex-wrap:wrap}.email-attachment{display:flex;align-items:center;gap:8px;max-width:320px;padding:9px 11px;border:1px solid #dce2e6;border-radius:9px;background:#fff;text-decoration:none;color:var(--navy)}.email-attachment span:last-child{display:grid;min-width:0;font-size:.76rem;font-weight:800;overflow-wrap:anywhere}.email-attachment small{color:var(--muted);font-weight:600}.email-message-lower-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:20px}.email-move-form{display:flex;gap:8px;align-items:center}.email-move-form select{flex:1;min-width:0}.email-record-matches{display:grid;gap:8px}.email-record-matches form{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e1e5e9;border-radius:9px;background:#fafbfc}.email-record-matches a{min-width:0;color:var(--navy);font-size:.8rem;font-weight:800;overflow-wrap:anywhere}.email-compose-form .panel{margin-bottom:14px}.email-compose-form textarea{min-height:320px;resize:vertical}.email-compose-actions{position:sticky;bottom:12px;z-index:10;width:max-content;max-width:100%;padding:9px;border:1px solid #dbe1e5;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(8,43,85,.13)}.email-source-attachments{display:grid;gap:7px;padding:10px;border:1px solid #e1e5e9;border-radius:9px;background:#fafbfc}
@media(max-width:980px){.email-client-shell{grid-template-columns:1fr}.email-folders{position:static}.email-folders nav{grid-template-columns:repeat(3,minmax(0,1fr))}.email-message-lower-grid{grid-template-columns:1fr}}
@media(max-width:760px){.email-search-bar{grid-template-columns:1fr}.email-move-wrap{width:100%;margin-left:0}.email-move-wrap select{flex:1}.mailbox-row-link{grid-template-columns:9px minmax(0,1fr) auto}.mailbox-row-link .mailbox-from{grid-column:2}.mailbox-row-link strong{grid-column:2}.mailbox-row-link time{grid-column:3;grid-row:1/3}.email-folders nav{grid-template-columns:repeat(2,minmax(0,1fr))}.email-message-toolbar{align-items:flex-start}.email-message-actions{width:100%}.email-message-body iframe{min-height:420px}.email-record-matches form{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.email-client-shell{gap:12px}.email-folders{padding:10px}.email-folders nav{grid-template-columns:1fr 1fr}.full-mailbox-list .email-row-check{margin-left:10px}.full-mailbox-list .mailbox-row{grid-template-columns:18px 26px minmax(0,1fr)}.mailbox-row-link{padding:11px 10px 11px 0}.email-bulk-toolbar{padding:9px 10px}.email-compose-actions{width:100%;bottom:8px}.email-compose-actions .btn{flex:1}.email-message-toolbar .actions{width:100%}}


/* v4.2.1 email composer polish retained in v4.2.2 */
.email-compose-top-actions{align-items:center}.email-compose-toolbar{position:relative}.email-signature-note{display:block;padding:10px 12px;border-left:3px solid var(--gold);background:#faf8f2;border-radius:0 8px 8px 0;color:var(--muted)!important;font-weight:700!important}.email-compose-form input,.email-compose-form textarea,.email-compose-form select{scroll-margin-top:96px}.email-compose-actions{display:flex;gap:9px}
body.email-keyboard-open .admin-shell{display:block;min-height:0}
body.email-keyboard-open .admin-sidebar{display:none!important}
body.email-keyboard-open .admin-main{padding:14px 12px 24px}
body.email-keyboard-open .email-client-shell{display:block}
body.email-keyboard-open .email-folders{display:none!important}
body.email-keyboard-open .email-compose-actions{position:static;width:100%;margin-top:12px}
body.email-keyboard-open .email-compose-actions .btn{flex:1}
body.email-keyboard-open .email-compose-form textarea{min-height:240px}
@media(max-width:1100px){.email-compose-top-actions{width:100%}.email-compose-top-actions .btn{flex:1}.email-compose-toolbar{align-items:flex-start}}
@media(max-width:760px){.email-compose-top-actions{display:grid;grid-template-columns:1fr 1fr}.email-compose-top-actions .btn:last-child{grid-column:1/-1}.email-compose-form textarea{min-height:280px}}

.email-compose-toolbar{position:sticky;top:86px;z-index:14;padding:10px 12px;margin:0 0 14px;border:1px solid #dfe4e8;border-radius:12px;background:rgba(238,241,244,.97);box-shadow:0 8px 24px rgba(8,43,85,.08);backdrop-filter:blur(8px)}
.email-compose-actions{position:static!important;bottom:auto!important}
body.email-keyboard-open .email-compose-toolbar{top:74px;padding:8px 10px}
body.email-keyboard-open .email-compose-top-actions .btn{min-height:38px}

/* v4.2.2 mail routing, message rendering, attachments, and template context picker */
.email-routing-warning{margin:0 0 16px}
.email-message-body{overflow:visible}
.email-message-body .email-body-frame{display:block;width:100%;min-height:220px;height:220px;border:0;overflow:hidden;background:#fff}
.email-attachments>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.email-attachment{width:100%;max-width:none;min-width:0;align-items:flex-start;padding:11px 13px}
.email-attachment>span:first-child{flex:0 0 auto}
.email-attachment span:last-child{display:block;min-width:0;line-height:1.3;word-break:normal;overflow-wrap:anywhere}
.email-attachment small{display:block;margin-top:3px}
.template-library-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.template-use-card{width:100%;border:1px solid #e2e6e9;cursor:pointer;text-align:left;font:inherit}
.template-use-card:disabled{cursor:not-allowed;opacity:.58}
.template-edit-link{display:flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid #ddd7cc;border-radius:10px;background:#fff;color:var(--navy);font-size:.72rem;font-weight:800;text-decoration:none}
.template-context-dialog{width:min(680px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(8,43,85,.28)}
.template-context-dialog::backdrop{background:rgba(7,25,45,.48);backdrop-filter:blur(2px)}
.template-context-dialog .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 24px 16px;border-bottom:1px solid #e7eaed}
.template-context-dialog .panel-head h2{margin:3px 0 0}
.template-context-dialog .panel-body{padding:22px 24px}
.template-context-dialog select{width:100%;min-height:48px}
.template-context-actions{padding:0 24px 22px;margin:0}
.modal-close{width:36px;height:36px;border:0;border-radius:50%;background:#f1f4f6;color:var(--navy);font-size:1.4rem;line-height:1;cursor:pointer}
@media(max-width:760px){
  .email-attachments>div{grid-template-columns:1fr}
  .email-message-body .email-body-frame{min-height:180px}
  .template-library-card{grid-template-columns:minmax(0,1fr)}
  .template-edit-link{min-height:36px}
}


/* v4.2.3 template context picker */
.template-context-dialog{width:min(780px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:hidden}
.template-context-dialog .template-context-form{display:flex;flex-direction:column;max-height:min(88vh,900px)}
.template-context-dialog .panel-head{flex:0 0 auto}
.template-context-dialog .panel-body{overflow:auto;padding-bottom:16px}
.template-context-subtitle{margin:7px 0 0;max-width:560px}
.template-context-picker{margin-top:16px;max-height:48vh;overflow:auto;padding:2px 5px 4px 2px;scrollbar-gutter:stable}
.template-context-group{margin:0 0 18px}
.template-context-group>h3{margin:0 0 8px;color:#6a7480;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.template-context-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.template-context-option{position:relative;display:block;min-width:0;padding:14px 15px;background:#fff;border:1px solid #dfe4e8;border-radius:12px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.template-context-option:hover{border-color:#c7a34c;box-shadow:0 7px 20px rgba(8,43,85,.07);transform:translateY(-1px)}
.template-context-option.is-selected{border-color:#d2a02e;box-shadow:0 0 0 3px rgba(210,160,46,.16),0 8px 22px rgba(8,43,85,.08)}
.template-context-option>input{position:absolute;opacity:0;pointer-events:none}
.template-context-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.template-context-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.template-context-line strong{color:#082b55;font-size:.98rem;overflow-wrap:anywhere}
.template-context-type{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#edf3f8;color:#536273;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.template-context-customer{color:#17202b;font-weight:800}
.template-context-detail{color:#5e6872;font-size:.82rem;overflow-wrap:anywhere}
.template-context-address{margin-top:5px;color:#596c7f;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.template-context-preview{display:grid;gap:3px;margin-top:16px;padding:15px 16px;border:1px solid #e2c878;border-radius:12px;background:#fffaf0}
.template-context-preview .eyebrow{margin:0 0 2px;color:#a47a12;font-size:.64rem}
.template-context-preview>strong{color:#082b55;font-size:1rem}
.template-context-preview>span:not(.eyebrow){color:#4f5f6e;font-size:.84rem}
.template-context-preview-address{margin-top:3px;color:#082b55!important;font-weight:750}
.template-context-empty{margin:8px 0}
.template-context-actions{flex:0 0 auto;border-top:1px solid #e7eaed;padding-top:16px!important;background:#fff}
.template-context-actions .btn:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:700px){
  .template-context-dialog{width:min(94vw,780px);max-height:91vh}
  .template-context-dialog .template-context-form{max-height:91vh}
  .template-context-options{grid-template-columns:1fr}
  .template-context-picker{max-height:50vh}
  .template-context-dialog .panel-head,.template-context-dialog .panel-body{padding-left:18px;padding-right:18px}
  .template-context-actions{padding-left:18px!important;padding-right:18px!important}
}


/* v4.2.4 responsive admin hardening */
html,body{max-width:100%;overflow-x:hidden}
.admin-topbar{max-width:100vw}
.admin-user,.admin-user span,.admin-user a{white-space:nowrap}
.admin-brand,.topbar-tools,.admin-user{min-width:0}

/* Keep inline Leaflet controls inside the map card stacking context instead of over the sticky toolbar. */
.property-map-inline-card{isolation:isolate;z-index:0}
.property-map-inline-card .property-map-inline-overlay{z-index:20}
.property-map-inline-card .leaflet-control-container{position:relative;z-index:15}

/* Money overview prioritizes the descriptive job column over the compact status column. */
.money-overview-table{min-width:980px;table-layout:fixed}
.money-overview-table .money-job-col{width:250px}
.money-overview-table .money-status-col{width:92px}
.money-overview-table .money-number-col{width:105px}
.money-overview-table .job-money-cell{min-width:0}
.money-overview-table .job-money-cell>a strong{white-space:nowrap}
.money-overview-table .job-money-cell>.subtle{overflow-wrap:normal;word-break:normal}

/* Calendar inputs must never claim an iOS intrinsic width wider than the modal. */
.calendar-event-form,.calendar-event-form .form-grid,.calendar-event-form .field{max-width:100%;min-width:0}
.calendar-event-form .field input,.calendar-event-form .field select,.calendar-event-form .field textarea,
.calendar-event-form input[type=date],.calendar-event-form input[type=time],.calendar-event-form input[type=color]{
  display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box
}
.vps-modal-dialog{max-width:calc(100vw - 24px);overflow-x:hidden}

/* Tablet header: preserve one-line user/sign-out controls without the mail icon colliding with the user name. */
@media(max-width:1100px) and (min-width:761px){
  .admin-topbar{gap:12px;padding-inline:18px}
  .admin-brand{gap:9px;flex:0 1 auto}
  .admin-brand img{width:190px}
  .admin-brand span{padding-left:9px;font-size:.72rem}
  .topbar-tools{gap:7px}
  .topbar-weather{min-width:166px;padding:7px 9px}
  .weather-location{max-width:74px}
  .weather-widget-copy>span{font-size:.62rem}
  .topbar-attention,.topbar-mail{width:38px;height:38px}
  .admin-user{flex:0 0 auto;gap:9px;padding-left:2px;font-size:.8rem}
}
@media(max-width:900px) and (min-width:761px){
  .admin-brand img{width:176px}
  .topbar-weather{min-width:132px}
  .weather-widget-copy>span{display:none}
  .weather-condition{display:none}
}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .admin-shell{width:100%;max-width:100%;min-height:0}
  .admin-main{width:100%;max-width:100%;min-width:0;padding:20px 14px max(28px,env(safe-area-inset-bottom))}
  .admin-main>.panel,.admin-main>.two-col,.admin-main>.stack,.admin-main>.dashboard-command-grid{max-width:100%;min-width:0}
  .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .vps-modal{padding:10px;overflow:hidden}
  .vps-modal-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-x:hidden;overflow-y:auto}
  .calendar-event-form{padding:18px 14px;overflow-x:hidden}
  .calendar-event-form .form-grid{width:100%;max-width:100%;min-width:0}
  .calendar-event-form .field{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .calendar-event-form .field input,.calendar-event-form .field select,.calendar-event-form .field textarea{inline-size:100%;max-inline-size:100%;min-inline-size:0}
  .calendar-modal-actions{width:100%}
  .calendar-modal-actions .btn{flex:1}
}

/* Phone header: Menu on the left, centered logo, compact controls on the right. */
@media(max-width:520px){
  .admin-topbar{position:sticky;height:72px;display:flex;justify-content:flex-start;gap:4px;padding:0 10px;overflow:visible}
  .admin-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;margin:0;pointer-events:auto}
  .admin-brand img{width:120px!important;height:44px}
  .admin-brand span{display:none}
  .nav-toggle{order:-1;display:block;flex:0 0 auto;margin:0;min-height:38px;padding:7px 9px;font-size:.76rem;z-index:2}
  .topbar-tools{margin-left:auto;gap:4px;z-index:2}
  .topbar-weather{display:none}
  .topbar-attention,.topbar-mail{width:32px;height:32px;border-radius:8px;font-size:1rem}
  .topbar-attention b,.topbar-mail b{right:-4px;top:-7px;min-width:17px;height:17px;padding:0 4px;font-size:.56rem}
  .admin-user{flex:0 0 auto;gap:0;margin:0 0 0 2px;z-index:2}
  .admin-user span{display:none}
  .admin-user a{display:block;white-space:nowrap;font-size:.7rem;padding:7px 2px}
  .admin-sidebar{top:72px}
}
@media(max-width:380px){
  .admin-brand img{width:112px!important}
  .nav-toggle{padding-inline:7px}
  .topbar-attention,.topbar-mail{width:30px;height:30px}
  .admin-user a{font-size:.66rem}
}


/* v4.2.5 mobile page-height cleanup, mobile sign-out, and Jobs map */
.mobile-signout{display:none!important}
.jobs-map-panel{overflow:hidden}
.jobs-map-head .subtle{margin:4px 0 0}
.jobs-map-wrap{position:relative;isolation:isolate;z-index:0;background:#e9eef2}
.jobs-map{width:100%;height:310px;z-index:0}
.jobs-map-wrap .leaflet-control-container{position:relative;z-index:10}
.jobs-map-status{position:absolute;left:12px;bottom:12px;z-index:15;max-width:calc(100% - 24px);padding:7px 10px;border:1px solid rgba(8,43,85,.12);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(8,43,85,.10);pointer-events:none}

/* The desktop shell used a viewport-height floor so the blue navigation reached the bottom.
   On touch/tablet layouts this could turn into a second viewport of scrollable blank body after
   the actual page content. Let the document end at its content height instead. */
@media(max-width:1100px){
  html,body{min-height:0;height:auto}
  .admin-shell{min-height:0!important;height:auto!important;align-items:start}
  .admin-main{min-height:0!important;height:auto!important}
  .admin-main>:last-child{margin-bottom:0!important}
}
@media(max-width:760px){
  .admin-user{display:none!important}
  .admin-sidebar{min-height:0;height:calc(100dvh - 68px);padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .admin-sidebar .sidebar-bottom{margin-top:auto}
  .admin-sidebar .mobile-signout{display:block!important;margin-top:5px!important;border:1px solid rgba(255,255,255,.2);color:#fff;text-align:center}
  .jobs-map{height:260px}
  .jobs-map-head{align-items:flex-start;flex-direction:column}
  .jobs-map-status{font-size:.72rem}
}
@media(max-width:520px){
  .admin-sidebar{top:72px;height:calc(100dvh - 72px)}
  .jobs-map{height:230px}
}

/* VPS v5.0.0 mobile/admin cleanup */
.jobs-mobile-new{display:none}
.payment-provider-grid,.payment-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.payment-provider-card,.payment-create-card{padding:16px;border:1px solid #dfe4e8;border-radius:12px;background:#fafbfc}
.payment-provider-card h3,.payment-create-card h3{margin:0 0 7px;color:var(--navy)}
.portal-recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.portal-file-row,.portal-message-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2}.portal-file-row:last-child,.portal-message-row:last-child{border-bottom:0}.portal-file-row a,.portal-message-row strong{color:var(--navy);font-weight:800}
.email-mobile-folders{display:none}
@media(max-width:760px){
  /* Email should lead with the message/list, not navigation chrome. */
  body:has(.email-client-shell) .page-head{margin-bottom:10px}
  body:has(.email-client-shell) .page-head h1{font-size:2rem}
  .email-folders{display:none!important}
  .email-mobile-folders{display:block;margin:0 0 10px;border:1px solid #dce2e7;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(8,43,85,.05)}
  .email-mobile-folders>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;list-style:none;color:var(--navy);font-size:.82rem;font-weight:900;cursor:pointer}
  .email-mobile-folders>summary::-webkit-details-marker{display:none}.email-mobile-folders>summary::after{content:'▾';font-size:.75rem}.email-mobile-folders[open]>summary::after{content:'▴'}
  .email-mobile-folder-body{padding:0 10px 10px;border-top:1px solid #edf0f2}.email-mobile-folder-body .email-compose-btn{min-height:38px;margin:9px 0 7px}
  .email-mobile-folder-body nav{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.email-mobile-folder-body nav::-webkit-scrollbar{display:none}
  .email-mobile-folder-body nav a{flex:0 0 auto;padding:7px 10px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:var(--navy);font-size:.74rem;font-weight:800;text-decoration:none}.email-mobile-folder-body nav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
  .email-client-shell{gap:8px}
  .email-client-toolbar{margin-bottom:8px;align-items:end}.email-client-toolbar h2{font-size:1.45rem}.email-client-toolbar .actions .btn{min-height:36px;padding:0 10px}
  .email-search-bar{grid-template-columns:minmax(0,1fr) auto;padding:9px 10px;gap:7px}.email-search-bar input{grid-column:1/-1;min-height:38px}.email-search-bar select{min-width:0;min-height:38px}.email-search-bar .btn{min-height:38px;padding-inline:12px}
  .email-bulk-toolbar{flex-wrap:nowrap;overflow-x:auto;gap:5px;padding:7px 8px;scrollbar-width:none}.email-bulk-toolbar::-webkit-scrollbar{display:none}.email-bulk-toolbar .btn{flex:0 0 auto;min-height:32px;padding:0 9px;font-size:.72rem}.email-select-all{flex:0 0 auto}.email-move-wrap{flex:0 0 auto;width:auto;margin-left:0}.email-move-wrap select{width:126px;min-width:126px;min-height:32px;padding-block:4px}
  .email-message-toolbar{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:3px;scrollbar-width:none}.email-message-toolbar::-webkit-scrollbar{display:none}.email-message-toolbar>.actions,.email-message-actions{display:flex!important;flex:0 0 auto;width:auto!important;flex-wrap:nowrap;gap:6px}.email-message-toolbar .btn{flex:0 0 auto;min-height:34px;padding:0 10px;font-size:.74rem}
  .email-message .panel-head{padding:14px 14px}.email-message-head h2{font-size:1.18rem;line-height:1.2}.email-message-head .subtle{font-size:.76rem}.email-attachments{padding:10px 14px}.email-message-body{padding:14px}.email-message-body .email-body-frame{min-height:160px}.email-message-lower-grid{gap:10px}.email-message-lower-grid .panel-head{padding:12px 14px}.email-message-lower-grid .panel-body{padding:14px}
  /* Keep Needs Attention star on the same row as record title. */
  .page-head:has(.page-head-attention){flex-direction:row;align-items:center}.page-head:has(.page-head-attention)>div:first-child{min-width:0}.page-head:has(.page-head-attention) h1{overflow-wrap:anywhere}.page-head-attention{flex:0 0 auto}.page-head-attention span{display:none}
  /* Jobs: primary action belongs in the upper-right on phones/tablets. */
  .admin-main:has(.jobs-top-actions){position:relative}.jobs-desktop-new{display:none!important}.jobs-mobile-new{display:inline-flex;position:absolute;right:14px;top:20px;z-index:2;min-height:40px;padding:0 13px}.admin-main:has(.jobs-top-actions)>.page-head{padding-right:118px;min-height:42px}.jobs-top-actions{margin-top:0}.quick-status-form{width:100%}
  .portal-recent-grid,.payment-provider-grid,.payment-create-grid{grid-template-columns:1fr}
}
@media(max-width:440px){
  .email-mobile-folders{margin-inline:0}.email-message-toolbar .btn{padding-inline:9px}.email-search-bar{padding:8px}.email-bulk-toolbar{margin:0}
  .jobs-mobile-new{right:14px;top:20px;font-size:.78rem}.admin-main:has(.jobs-top-actions)>.page-head{padding-right:108px}
}

/* VPS v5.0.1 small UI / email / print polish */
.page-head-titleline{display:flex;align-items:baseline;gap:16px;min-width:0}
.email-page-address{display:none;color:var(--muted);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}
.email-page-address:hover{color:var(--navy);text-decoration:underline}

/* Give the mailbox more of the tablet/desktop canvas instead of leaving gray gutters. */
@media(min-width:981px) and (max-width:1180px){
  body:has(.email-client-shell) .admin-main{padding:24px 20px 18px}
  body:has(.email-client-shell) .email-client-shell{grid-template-columns:180px minmax(0,1fr);gap:14px}
  body:has(.email-list-panel) .email-list-panel{min-height:calc(100dvh - 190px)}
}
@media(min-width:761px){
  body:has(.email-list-panel) .email-list-panel{min-height:calc(100dvh - 205px)}
}

@media(max-width:760px){
  /* Put the mailbox identity next to the page title, then keep folder switching beside Refresh. */
  body:has(.email-client-shell) .page-head>div:first-child{width:100%}
  body:has(.email-client-shell) .page-head-titleline{width:100%;align-items:center;justify-content:space-between;gap:10px}
  body:has(.email-client-shell) .email-page-address{display:block;min-width:0;max-width:62%;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}
  .email-folder-meta{display:none}
  .email-client-toolbar{align-items:center;gap:8px}
  .email-client-toolbar>div:first-child{min-width:0}
  .email-folder-refresh-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}
  .email-folder-refresh-actions .email-mobile-folders{display:block;position:relative;margin:0;min-width:118px;border:1px solid var(--line);border-radius:10px;box-shadow:none;background:#fff}
  .email-folder-refresh-actions .email-mobile-folders>summary{min-height:36px;padding:0 10px;justify-content:space-between;font-size:.76rem;white-space:nowrap}
  .email-folder-refresh-actions .email-mobile-folder-body{position:absolute;right:0;top:calc(100% + 6px);z-index:80;width:min(300px,calc(100vw - 28px));padding:9px;border:1px solid #dce2e7;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(8,43,85,.18)}
  .email-folder-refresh-actions .email-mobile-folder-body .email-compose-btn{margin:0 0 7px}
  .email-folder-refresh-actions .email-mobile-folder-body nav{padding:0}
  .email-folder-refresh-actions>.btn{min-height:36px;padding-inline:11px}
  .email-webmail-link{display:none!important}

  /* The message/list should win the screen-space contest on phones. */
  .email-search-bar{padding:8px;gap:6px}
  .email-search-bar input{min-height:36px;padding-block:7px}
  .email-search-bar select,.email-search-bar .btn{min-height:36px}
  .email-bulk-toolbar{padding:6px 8px}
  .mailbox-row-link{padding-block:10px}
  .email-message-toolbar{margin-bottom:6px}
  .email-message .panel-head{padding:12px 13px}
  .email-message-body{padding:10px 12px}

  /* Requested mobile copy cleanup. */
  .jobs-map-head{flex-direction:row;align-items:center}
  .jobs-map-head .subtle{display:none}
  .dashboard-calendar-head .subtle{display:none}
  .dashboard-calendar-head{align-items:center}
}
@media(max-width:440px){
  body:has(.email-client-shell) .email-page-address{max-width:58%;font-size:.68rem}
  .email-folder-refresh-actions .email-mobile-folders{min-width:106px}
  .email-client-toolbar h2{font-size:1.35rem}
}

/* VPS v5.0.2: tighter mobile Email header */
@media(max-width:760px){
  body:has(.email-client-shell) .page-head{margin-bottom:2px;padding-bottom:0}
  body:has(.email-client-shell) .page-head .kicker{display:none}
  body:has(.email-client-shell) .page-head-titleline{min-height:34px;align-items:center}
  body:has(.email-client-shell) .page-head-titleline h1{font-size:1.62rem;line-height:1;margin:0}
  body:has(.email-client-shell) .email-page-address{max-width:64%;font-size:.66rem;line-height:1.15}
  body:has(.email-list-panel) .email-client-toolbar{justify-content:flex-end;margin:-2px 0 5px;min-height:38px}
  body:has(.email-list-panel) .email-client-toolbar>div:first-child{display:none}
  body:has(.email-list-panel) .email-folder-refresh-actions{width:auto;margin-left:auto}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folders{min-width:102px}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folders>summary{min-height:34px;padding-inline:9px}
  body:has(.email-list-panel) .email-folder-refresh-actions>.btn{min-height:34px;padding-inline:10px}
  body:has(.email-list-panel) .email-search-bar{margin-top:0}
}
@media(max-width:440px){
  body:has(.email-client-shell) .page-head-titleline h1{font-size:1.5rem}
  body:has(.email-client-shell) .email-page-address{max-width:62%;font-size:.62rem}
}

/* v5.0.3 in-app release history */
.settings-system-actions{margin-top:14px;display:flex;justify-content:flex-start}.dashboard-release-strip{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr) auto;align-items:center;gap:18px;margin-top:16px;padding:14px 16px;border:1px solid #dfe5e9;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#fbfcfd 100%);box-shadow:0 5px 18px rgba(8,43,85,.04)}.dashboard-release-strip>div{display:grid;gap:2px}.release-strip-label{color:var(--gold);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.dashboard-release-strip strong{color:var(--navy);font-size:.96rem}.dashboard-release-strip small,.dashboard-release-strip p{color:var(--muted);font-size:.76rem}.dashboard-release-strip p{margin:0;line-height:1.4}.release-hero .panel-body{padding:24px}.release-hero-main{display:flex;align-items:flex-start;justify-content:space-between;gap:26px}.release-hero-main h2{margin:2px 0 6px;color:var(--navy);font-size:clamp(1.6rem,3vw,2.3rem)}.release-hero-main p{margin:0;max-width:760px;color:var(--muted)}.release-current-meta{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.release-current-meta span,.release-current-badge{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#eef3f7;color:#36506a;font-size:.68rem;font-weight:850}.release-current-badge{background:#fff4d4;color:#765314}.release-history-note{margin:18px 0 0;padding-top:14px;border-top:1px solid #edf0f2}.release-history-head p{margin:3px 0 0}.release-history-search{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid #e7eaed}.release-history-search input{flex:1;min-width:0;min-height:42px;border:1px solid #cfd6dc;border-radius:10px;padding:9px 12px;background:#fff}.release-history-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(210,160,46,.14)}.release-history-search span{white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:800}.release-list{display:grid}.release-entry{border-bottom:1px solid #e9edef}.release-entry:last-of-type{border-bottom:0}.release-entry.is-current{background:#fffdf7}.release-entry details>summary{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(190px,.42fr);gap:18px;align-items:center;padding:18px 20px;cursor:pointer;list-style:none}.release-entry details>summary::-webkit-details-marker{display:none}.release-entry details>summary::after{content:'+';position:absolute;right:20px;color:var(--navy);font-size:1.2rem;font-weight:900}.release-entry details[open]>summary::after{content:'−'}.release-entry details{position:relative}.release-version-block{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.release-version{color:var(--navy);font-size:1.18rem;font-weight:900}.release-summary-block{display:grid;gap:3px;min-width:0}.release-summary-block strong{color:var(--navy);font-size:.85rem}.release-summary-block span{color:var(--muted);font-size:.78rem;line-height:1.4}.release-meta-block{display:grid;gap:3px;padding-right:30px;color:var(--muted);font-size:.7rem;text-align:right}.release-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 20px 22px 188px}.release-section{padding:14px;border:1px solid #e4e9ec;border-radius:11px;background:#fbfcfd}.release-section h3{margin:0 0 9px;color:var(--navy);font-size:.9rem}.release-section ul{margin:0;padding-left:18px}.release-section li{margin:0 0 7px;color:#45515d;font-size:.78rem;line-height:1.45}.release-section li:last-child{margin-bottom:0}.release-no-results{grid-column:1/-1}
@media(max-width:1050px){.dashboard-release-strip{grid-template-columns:1fr auto}.dashboard-release-strip p{grid-column:1/-1;grid-row:2}.release-entry details>summary{grid-template-columns:120px minmax(0,1fr)}.release-meta-block{grid-column:2;text-align:left;padding-right:34px}.release-details{padding-left:20px}}
@media(max-width:760px){.dashboard-release-strip{grid-template-columns:1fr auto;gap:10px}.dashboard-release-strip p{display:none}.release-hero-main{display:grid;gap:14px}.release-current-meta{justify-content:flex-start}.release-history-search{padding:12px 14px}.release-entry details>summary{grid-template-columns:1fr;padding:15px 42px 15px 14px;gap:8px}.release-meta-block{grid-column:1;text-align:left;padding:0;display:flex;gap:9px;flex-wrap:wrap}.release-details{grid-template-columns:1fr;padding:0 14px 16px}.release-version{font-size:1.08rem}.release-summary-block span{font-size:.75rem}.release-history-head{align-items:flex-start}}
@media(max-width:440px){.dashboard-release-strip{grid-template-columns:1fr}.dashboard-release-strip .btn{width:100%}.release-history-search{align-items:stretch;flex-direction:column}.release-history-search span{align-self:flex-end}}

/* v5.1.1 expanded System Health */
.system-health-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.system-health-actions form{margin:0}.health-overview{overflow:hidden}.health-overview-grid{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.health-score,.health-overview-item{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:14px;border:1px solid #e2e7ea;border-radius:12px;background:#fbfcfd}.health-score{border-left:4px solid var(--gold)}.health-score span,.health-overview-item>span{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.health-score strong{color:var(--navy);font-size:2rem;line-height:1}.health-score small,.health-overview-item small{color:var(--muted);font-size:.72rem}.health-overview-item strong{color:var(--navy);font-size:.78rem;overflow-wrap:anywhere}.health-overview-item .badge{align-self:flex-start}.health-state-error .health-score{border-left-color:#b83232}.health-state-warning .health-score{border-left-color:#c98614}.health-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.health-card-grid>.panel{min-width:0}.health-extension-list{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:14px}.health-extension-list>strong{width:100%;color:var(--navy);font-size:.76rem}.health-extension{display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border-radius:999px;background:#eef3f5;color:#50606d;font-size:.68rem;font-weight:800}.health-extension.is-ok{background:#edf7ef;color:#29623a}.health-extension.is-error{background:#fbeaea;color:#922f2f}.health-extension.is-muted{background:#f3f4f5;color:#7a858e}.health-path-list{display:grid;gap:8px;margin-top:14px}.health-path-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #edf0f2}.health-path-list>div>span:first-child{display:grid;gap:2px;min-width:0}.health-path-list small{color:var(--muted);font-size:.67rem;overflow-wrap:anywhere}.health-path-state{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:750;text-align:right}.health-detail{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.76rem;line-height:1.45}.health-detail strong{color:var(--navy)}.health-detail p{margin:5px 0 0;overflow-wrap:anywhere}.health-detail ul{margin:7px 0 0;padding-left:18px}.health-error-detail{background:#fff2f2;border:1px solid #f0cccc;color:#7e2b2b}.health-pass-detail{background:#eff8f0;border:1px solid #d0e9d5;color:#285f38}.health-integration-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 20px 20px}.health-integration{display:grid;align-content:start;gap:6px;padding:13px;border:1px solid #e3e8eb;border-radius:11px;background:#fbfcfd}.health-integration>span{color:var(--navy);font-size:.78rem;font-weight:850}.health-integration .badge{justify-self:start}.health-integration small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}.cron-command{display:block;max-width:430px;white-space:normal;overflow-wrap:anywhere}.health-test-form{display:grid;gap:9px;margin-top:14px}.health-test-form label{display:grid;gap:5px;font-size:.72rem;font-weight:800}.health-test-form input{min-height:42px;border:1px solid #cfd6dc;border-radius:9px;padding:8px 10px}.health-e2e-state{display:grid;gap:4px;margin-top:12px;padding:11px;border-radius:10px;background:#f7f9fa;font-size:.74rem}.health-pass{color:#29623a;font-weight:850}
@media(max-width:1180px){.health-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-score{grid-column:1/-1}.health-integration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.health-card-grid{grid-template-columns:1fr}.health-integration-grid{grid-template-columns:1fr 1fr;padding:12px}.health-overview-grid{grid-template-columns:1fr 1fr}.health-path-list>div{flex-direction:column;gap:5px}.health-path-state{text-align:left}.system-health-actions .btn,.system-health-actions form{flex:1 1 auto}.system-health-actions form .btn{width:100%}}
@media(max-width:520px){.health-overview-grid{grid-template-columns:1fr}.health-score{grid-column:auto}.health-integration-grid{grid-template-columns:1fr}.health-score strong{font-size:1.7rem}}


/* v5.2.3 estimate quick quote + landscape email cleanup */
.mp-quick-collapsible{padding:0!important;overflow:hidden;margin-top:20px}
.mp-quick-collapsible>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:14px 18px;color:var(--navy);font-size:1.05rem;font-weight:900;cursor:pointer;background:#fff}
.mp-quick-collapsible>summary::-webkit-details-marker{display:none}
.mp-quick-collapsible .mp-expand-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;font-weight:850}
.mp-quick-collapsible .mp-expand-label:after{content:'▾';font-size:.85rem}
.mp-quick-collapsible[open] .mp-expand-label:after{content:'▴'}
.mp-quick-collapsible[open] .mp-expand-label{font-size:0}.mp-quick-collapsible[open] .mp-expand-label:before{content:'Collapse';font-size:.76rem}
.mp-quick-collapsible>.panel-body{border-top:1px solid #e7eaed}
.mp-quick-expanded-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mp-quick-expanded-head p{margin:0}
@media(max-width:700px){.mp-quick-expanded-head{align-items:stretch;flex-direction:column}.mp-quick-expanded-head .btn{align-self:flex-start}}

/* Treat phone/tablet landscape Email as a compact mailbox, not a desktop two-pane layout. */
@media(max-width:1180px){
  body:has(.email-client-shell) .admin-main{padding-left:14px;padding-right:14px}
  body:has(.email-client-shell) .email-client-shell{grid-template-columns:1fr;gap:8px}
  body:has(.email-client-shell) .email-folders{display:none!important}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folders{display:block!important;position:relative;margin:0;min-width:108px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folders>summary{display:flex;min-height:34px;padding:0 9px;align-items:center;justify-content:space-between;list-style:none;font-size:.74rem;white-space:nowrap}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folder-body{position:absolute;right:0;top:calc(100% + 6px);z-index:80;width:min(310px,calc(100vw - 28px));padding:9px;border:1px solid #dce2e7;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(8,43,85,.18)}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folder-body .email-compose-btn{margin:0 0 7px}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folder-body nav{display:flex;gap:6px;overflow-x:auto;padding:0;scrollbar-width:none}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folder-body nav a{flex:0 0 auto;padding:7px 9px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:var(--navy);font-size:.72rem;font-weight:800;text-decoration:none}
  body:has(.email-list-panel) .email-folder-refresh-actions .email-mobile-folder-body nav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
  body:has(.email-list-panel) .email-client-toolbar{margin-bottom:6px;min-height:36px}
  body:has(.email-list-panel) .email-client-toolbar>div:first-child{display:none}
  body:has(.email-list-panel) .email-folder-refresh-actions{margin-left:auto;gap:6px}
  body:has(.email-list-panel) .email-search-bar{grid-template-columns:minmax(0,1fr) 135px auto;padding:8px 9px;gap:6px}
  body:has(.email-list-panel) .email-search-bar input,body:has(.email-list-panel) .email-search-bar select,body:has(.email-list-panel) .email-search-bar .btn{min-height:34px}
  body:has(.email-list-panel) .email-bulk-toolbar{flex-wrap:nowrap;overflow-x:auto;gap:5px;padding:6px 8px;scrollbar-width:none}
  body:has(.email-list-panel) .email-bulk-toolbar .btn{flex:0 0 auto;min-height:31px;padding:0 8px;font-size:.7rem}
  body:has(.email-list-panel) .email-move-wrap{flex:0 0 auto;width:auto;margin-left:0}
  body:has(.email-list-panel) .email-move-wrap select{width:120px;min-width:120px;min-height:31px;padding:4px 7px}
  body:has(.email-list-panel) .full-mailbox-list .mailbox-row{grid-template-columns:18px 26px minmax(0,1fr)}
  body:has(.email-list-panel) .mailbox-row-link{grid-template-columns:8px minmax(120px,.55fr) minmax(0,1.45fr) 102px;gap:8px;padding:10px 8px 10px 0}
  body:has(.email-list-panel) .mailbox-row-link time{text-align:right;font-size:.66rem;overflow:hidden;white-space:nowrap}
}
@media(max-width:900px){
  body:has(.email-list-panel) .email-search-bar{grid-template-columns:minmax(0,1fr) auto}body:has(.email-list-panel) .email-search-bar input{grid-column:1/-1}
  body:has(.email-list-panel) .mailbox-row-link{grid-template-columns:8px minmax(0,1fr) 92px;gap:7px}
  body:has(.email-list-panel) .mailbox-row-link .mailbox-from{grid-column:2}.mailbox-row-link strong{grid-column:2}.mailbox-row-link time{grid-column:3;grid-row:1/3}
}

/* v5.3.0 mobile admin hardening + client contact export */
.client-name-link{color:var(--navy);font-weight:900;text-decoration:none}.client-name-link:hover{text-decoration:underline}
.client-select-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.client-select-toolbar .btn{min-height:38px}
.client-profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.client-profile-grid>.panel{min-width:0}.client-profile-contact{display:grid;gap:8px}.client-profile-contact a{color:var(--navy);font-weight:800;overflow-wrap:anywhere}.client-profile-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){
  body:has(.gig-settings-page) .admin-main, body:has(.gig-settings-page) .panel, body:has(.gig-settings-page) .panel-body{min-width:0;max-width:100%;overflow-x:hidden}
  body:has(.gig-settings-page) .form-grid{grid-template-columns:1fr!important;min-width:0}
  body:has(.gig-settings-page) .field,body:has(.gig-settings-page) input,body:has(.gig-settings-page) select,body:has(.gig-settings-page) textarea{min-width:0!important;max-width:100%!important;width:100%!important}
  body:has(.gig-settings-page) .checkbox-row{display:flex!important;align-items:flex-start!important;gap:10px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body:has(.gig-settings-page) .checkbox-row input[type=checkbox]{width:22px!important;min-width:22px!important;flex:0 0 22px!important}
  body:has(.gig-settings-page) .flash,body:has(.gig-settings-page) .help{overflow-wrap:anywhere;word-break:break-word}
  .client-profile-grid{grid-template-columns:1fr}.client-select-toolbar{align-items:stretch}.client-select-toolbar .btn{flex:1 1 140px}
}
@media(max-width:520px){
  body:has(.clients-table) .data-table thead{display:none}body:has(.clients-table) .data-table,body:has(.clients-table) .data-table tbody,body:has(.clients-table) .data-table tr,body:has(.clients-table) .data-table td{display:block;width:100%}
  body:has(.clients-table) .data-table tr{position:relative;padding:12px 12px 12px 44px;border-bottom:1px solid #e3e8eb}
  body:has(.clients-table) .data-table td{padding:3px 0!important;border:0!important;overflow-wrap:anywhere}
  body:has(.clients-table) .data-table td:first-child{position:absolute;left:12px;top:14px;width:24px}
}


/* v5.3.1 mobile hardening */
.client-select-all-head{width:42px;text-align:center!important}.client-select-all-head input{width:20px;height:20px;margin:0}
.settings-system-panel code,.settings-payments-panel code{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:760px){
  .settings-system-panel,.settings-payments-panel{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .settings-system-panel .panel-body,.settings-payments-panel .panel-body{min-width:0;padding-left:18px;padding-right:18px}
  .settings-system-panel .info-list,.settings-payments-panel .info-list{min-width:0}
  .settings-system-panel .info-row,.settings-payments-panel .info-row{grid-template-columns:minmax(92px,34%) minmax(0,1fr);min-width:0}
  .settings-system-panel .info-row>*,.settings-payments-panel .info-row>*{min-width:0}
  .settings-system-panel .info-row>span:last-child,.settings-system-panel .info-row>strong:last-child,.settings-payments-panel .info-row>span:last-child,.settings-payments-panel .info-row>strong:last-child{overflow-x:auto;overflow-y:hidden;max-width:100%;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .settings-payments-panel .info-row code{display:inline-block;min-width:max-content;white-space:nowrap;word-break:normal;overflow-wrap:normal}
  .gig-settings-page{min-width:0;max-width:100%;overflow:hidden}
  .gig-settings-page .panel,.gig-settings-page .panel-body,.gig-settings-page .panel-head,.gig-settings-page form,.gig-settings-page .form-grid,.gig-settings-page .field,.gig-settings-page .info-list,.gig-settings-page .info-row{min-width:0;max-width:100%}
  .gig-settings-page .panel-head{align-items:flex-start;flex-direction:column}
  .gig-settings-page .form-grid,.gig-settings-page .gig-query-grid,.gig-settings-page .gig-test-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .gig-settings-page input,.gig-settings-page select,.gig-settings-page textarea,.gig-settings-page code{max-width:100%!important;min-width:0!important;width:100%!important}
  .gig-settings-page .info-row{grid-template-columns:100px minmax(0,1fr)!important}
  .gig-settings-page .info-row code,.gig-settings-page .gig-cron-command{display:block!important;overflow-x:auto!important;white-space:nowrap!important;width:100%!important;-webkit-overflow-scrolling:touch}
  .gig-settings-page .checkbox-row{width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .gig-settings-page .checkbox-row input[type=checkbox]{width:22px!important;min-width:22px!important;max-width:22px!important;flex:0 0 22px!important}
  .gig-settings-page .flash,.gig-settings-page .help,.gig-settings-page .subtle{max-width:100%;overflow-wrap:anywhere;word-break:normal}
}
@media(max-width:520px){
  .client-select-toolbar{padding:0 0 10px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .client-select-toolbar .btn{width:100%;padding-inline:8px;font-size:.76rem}
  body:has(.clients-table) .data-table thead{display:table-header-group!important}
  body:has(.clients-table) .data-table thead th:not(:first-child){font-size:.64rem;padding:9px 5px}
  body:has(.clients-table) .data-table thead th:first-child{display:table-cell!important;width:38px;padding:8px!important}
  body:has(.clients-table) .data-table,body:has(.clients-table) .data-table tbody{display:table;width:100%}
  body:has(.clients-table) .data-table tr{display:table-row;padding:0;border-bottom:1px solid #e3e8eb}
  body:has(.clients-table) .data-table td{display:table-cell;width:auto;padding:10px 5px!important;border-bottom:1px solid #edf0f2!important;vertical-align:top;overflow-wrap:anywhere}
  body:has(.clients-table) .data-table td:first-child{position:static;width:38px;padding-left:8px!important}
  body:has(.clients-table) .data-table th:nth-child(5),body:has(.clients-table) .data-table td:nth-child(5),body:has(.clients-table) .data-table th:nth-child(6),body:has(.clients-table) .data-table td:nth-child(6){display:none}
  body:has(.clients-table) .data-table th:nth-child(2){width:30%}body:has(.clients-table) .data-table th:nth-child(3){width:22%}body:has(.clients-table) .data-table th:nth-child(4){width:40%}
}

/* v5.3.2 responsive list hardening */
.page-head h1{white-space:nowrap;max-width:100%;font-size:clamp(1.45rem,4vw,3rem)}
.client-mobile-select-all{display:none;align-items:center;gap:8px;color:var(--navy);font-size:.78rem;font-weight:900}.client-mobile-select-all input{width:20px;height:20px;margin:0}
@media(max-width:760px){
  .page-head-titleline{min-width:0;max-width:100%}.page-head h1{font-size:clamp(1.45rem,7.2vw,2.3rem);line-height:1.05}
  .client-mobile-select-all{display:flex}
}
@media(max-width:620px){
  body:has(.clients-table) .filter-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px}
  body:has(.clients-table) .filter-bar input[type=search]{min-width:0;width:100%}
  .client-select-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 14px!important;margin:0!important;border-bottom:1px solid #e7eaed}
  .client-mobile-select-all{grid-column:1/-1;min-height:34px;padding:0 3px}
  .client-select-toolbar .btn{min-width:0!important;width:100%!important;white-space:normal!important;line-height:1.15!important;padding:8px 9px!important}
  body:has(.clients-table) .table-wrap{overflow:visible!important}
  body:has(.clients-table) .data-table{display:block!important;width:100%!important;min-width:0!important}
  body:has(.clients-table) .data-table thead{display:none!important}
  body:has(.clients-table) .data-table tbody{display:grid!important;width:100%!important}
  body:has(.clients-table) .data-table tr{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px 14px!important;width:100%!important;padding:15px 14px 15px 50px!important;border-bottom:1px solid #e1e7eb!important;background:#fff!important}
  body:has(.clients-table) .data-table tr:last-child{border-bottom:0!important}
  body:has(.clients-table) .data-table td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;position:static!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
  body:has(.clients-table) .data-table td.client-card-select{position:absolute!important;left:14px!important;top:17px!important;width:22px!important;padding:0!important}
  body:has(.clients-table) .client-select{width:20px;height:20px;margin:0}
  body:has(.clients-table) .data-table td[data-label]::before{content:attr(data-label);display:block;margin:0 0 3px;color:#788591;font-size:.61rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
  body:has(.clients-table) .data-table td[data-label="Client"]{grid-column:1/-1;font-size:1rem}
  body:has(.clients-table) .data-table td[data-label="Contact"]{grid-column:1/-1}
  body:has(.clients-table) .client-phone,body:has(.clients-table) .client-email{display:block;max-width:100%;overflow-wrap:anywhere}
  body:has(.clients-table) .client-edit-cell{text-align:right;align-self:end}
}
@media(max-width:390px){
  .page-head h1{font-size:clamp(1.35rem,7vw,1.9rem)}
  body:has(.clients-table) .data-table tr{grid-template-columns:1fr!important}
  body:has(.clients-table) .data-table td[data-label]{grid-column:1/-1!important}
  body:has(.clients-table) .client-edit-cell{text-align:left}
}

/* Record stars share the leading selection column, including rows without a checkbox. */
.data-table :is(th,td).attention-select-col{width:50px;min-width:42px;text-align:center;vertical-align:top}
.data-table .attention-select-col>.attention-star{display:block;margin:6px auto 0}
.data-table .attention-select-col .attention-select-stack{margin:0 auto}
.list-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 20px;border-bottom:1px solid var(--line);font-size:.82rem}
.list-selection-tools .btn:disabled{opacity:.55;cursor:default}
.list-selection-tools .list-selection-all{display:none}
@media screen and (max-width:760px){
 .list-selection-tools[data-list-type=lead] .list-selection-all{display:inline-flex}
 table.leads-table:is([data-attention-column-added],[data-list-selection]) tr{grid-template-columns:32px minmax(0,1fr)}
 table.leads-table:is([data-attention-column-added],[data-list-selection]) td.attention-select-col{grid-column:1;grid-row:1 / span 5;width:auto;min-width:0}
 table.leads-table:is([data-attention-column-added],[data-list-selection]) td:not(.attention-select-col){grid-column:2}
 table.leads-table:is([data-attention-column-added],[data-list-selection]) td[colspan]{grid-column:1/-1}
}
@media print{.list-selection-tools{display:none!important}}

/* The same native search form sits in the desktop header and a full-width second row on smaller screens. */
.admin-topbar.admin-topbar-search{gap:16px}
.admin-topbar-search .admin-header-search{flex:1 1 360px;min-width:280px;max-width:640px;margin:0}
.admin-topbar-search .admin-global-search{width:100%;grid-template-columns:minmax(0,1fr) minmax(90px,120px) auto}
.admin-topbar-search .admin-global-search :is(input,select){min-width:0;width:100%}
.admin-topbar-search .admin-brand,.admin-topbar-search .topbar-tools,.admin-topbar-search .admin-user{flex-shrink:0}
.admin-topbar-search .admin-user{max-width:clamp(90px,9vw,160px)}
.admin-topbar-search .admin-user span{overflow:hidden;text-overflow:ellipsis}
@media screen and (max-width:1100px){
 .admin-topbar.admin-topbar-search{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px 12px;height:auto;padding:12px 18px}
 .admin-topbar-search .admin-brand{grid-column:1;grid-row:1}
 .admin-topbar-search .sidebar-collapse{grid-column:2;grid-row:1}
 .admin-topbar-search .topbar-tools{grid-column:3;grid-row:1;justify-self:end}
 .admin-topbar-search .admin-user{grid-column:4;grid-row:1}
 .admin-topbar-search .admin-header-search{grid-column:1/-1;grid-row:2;min-width:0;max-width:none}
}
@media screen and (max-width:760px){
 .admin-topbar.admin-topbar-search{--vps-admin-header-height:130px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:52px 54px;height:var(--vps-admin-header-height);padding:8px 10px}
 .admin-topbar-search .admin-brand{grid-column:2;position:static;transform:none;justify-self:center}
 .admin-topbar-search .nav-toggle{grid-column:1;grid-row:1;margin:0}
 .admin-topbar-search .topbar-tools{grid-column:3}
 .admin-topbar-search .admin-global-search{grid-template-columns:minmax(0,1fr) 108px auto}
 .admin-topbar-search .topbar-weather{min-width:0}
 .admin-topbar-search~.admin-shell .admin-sidebar{top:130px;height:calc(100dvh - 130px)}
}

/* Keep phone headers compact; page-specific search remains available. */
@media screen and (max-width:760px){
 .admin-topbar.admin-topbar-search .admin-header-search{display:none}
 .admin-topbar.admin-topbar-search{--vps-admin-header-height:76px;grid-template-rows:52px;min-height:var(--vps-admin-header-height);height:var(--vps-admin-header-height)}
 .admin-topbar.admin-topbar-search~.admin-shell .admin-sidebar{top:76px;height:calc(100dvh - 76px)}
}

/* v5.6 Jobs/Properties map consistency */
.jobs-map-card{margin-bottom:20px}.jobs-map-card .jobs-map{position:absolute;inset:0;width:100%;height:100%}.jobs-map-card .leaflet-control-container{position:relative;z-index:15}.property-page-actions{grid-template-columns:128px minmax(0,1fr);align-items:center}.property-add-btn{align-self:center;min-height:44px;padding:9px 12px;font-size:.82rem;justify-self:stretch}
@media(max-width:760px){.property-page-actions{grid-template-columns:1fr}.property-add-btn{width:max-content;min-width:128px;min-height:44px;justify-self:start}}

/* v5.9.6 worker health status */
.status-disabled{background:#f1f3f5;color:#68747d}.health-overview-grid{grid-template-columns:1.2fr repeat(5,minmax(0,1fr))}@media(max-width:1300px){.health-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-score{grid-column:1/-1}}

/* v5.9.7 read-only database charset audit */
.status-legacy{background:#fff4d7;color:#76591c}.status-review{background:#fff0e4;color:#8b4e18}.status-ready{background:#eaf7ef;color:#286341}
.charset-audit-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:16px}.charset-audit-summary>div{padding:11px;border:1px solid #e2e7ea;border-radius:10px;background:#fbfcfd}.charset-audit-summary span,.charset-audit-summary strong,.charset-audit-summary small{display:block}.charset-audit-summary span{color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.charset-audit-summary strong{margin-top:4px;color:var(--navy);font-size:1.15rem}.charset-audit-summary small{margin-top:2px;color:var(--muted);font-size:.66rem}.charset-audit-details{margin-top:11px;border:1px solid #e1e6e9;border-radius:10px;background:#fff;overflow:hidden}.charset-audit-details>summary{padding:11px 13px;cursor:pointer;color:var(--navy);font-size:.76rem;font-weight:900;background:#f8fafb}.charset-audit-details[open]>summary{border-bottom:1px solid #e5e9ec}.charset-chip-list{display:flex;flex-wrap:wrap;gap:7px;padding:12px}.charset-chip-list span{display:inline-flex;gap:6px;padding:5px 8px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:var(--muted);font-size:.7rem}.charset-chip-list strong{color:var(--navy)}
@media(max-width:1180px){.charset-audit-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.charset-audit-summary{grid-template-columns:1fr 1fr}.charset-audit-info .info-row{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:440px){.charset-audit-summary{grid-template-columns:1fr}}

/* v5.9.8 database-default normalization */
.charset-normalization-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px;border:1px solid #dfe5e9;border-radius:11px;background:#fbfcfd}.charset-normalization-box>div{min-width:0}.charset-normalization-box strong,.charset-normalization-box span{display:block}.charset-normalization-box strong{color:var(--navy);font-size:.82rem}.charset-normalization-box span{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.48}.charset-normalization-box form{flex:0 0 auto;margin:0}.charset-normalization-box.is-ready{border-color:#e5c86e;background:#fffaf0}.charset-normalization-box.is-complete{border-color:#b9dfc4;background:#eff8f1}.charset-normalization-box.is-blocked{border-color:#e8c2c2;background:#fff4f4}
@media(max-width:820px){.charset-normalization-box{align-items:stretch;flex-direction:column}.charset-normalization-box form,.charset-normalization-box .btn{width:100%}}

/* v5.12.1 outbound email progress */
.vps-mail-sending{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;cursor:wait!important;opacity:.88}
.vps-send-spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:vpsSendSpin .72s linear infinite;flex:0 0 auto}
@keyframes vpsSendSpin{to{transform:rotate(360deg)}}
.payment-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.payment-setup-card .panel-body{display:grid;gap:11px}.payment-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-status-card{border:1px solid #dce3e8;border-radius:12px;padding:13px;background:#f7f9fa;display:flex;justify-content:space-between;gap:10px}.payment-status-card.is-ready{border-color:#b7d9c3;background:#eff8f2}.secret-state{font-size:.83rem;color:var(--muted);padding:8px 10px;background:#f7f9fa;border-radius:9px}.checkbox-row.compact{font-size:.8rem;color:var(--muted)}@media(max-width:900px){.payment-settings-grid{grid-template-columns:1fr}.payment-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.payment-status-grid{grid-template-columns:1fr}}

/* v5.14 global Admin search */
.admin-global-search-wrap{display:flex;justify-content:flex-end;margin:-8px 0 18px}.admin-global-search{width:min(660px,100%);display:grid;grid-template-columns:minmax(220px,1fr) 150px 82px;gap:7px;align-items:center;padding:7px;border:1px solid #dfe5e9;border-radius:12px;background:#f7f9fb}.admin-global-search input,.admin-global-search select{min-height:36px;height:36px;border:1px solid #cbd5dc;border-radius:8px;background:#fff;padding:0 10px;font:inherit;font-size:.82rem;color:#17202b}.admin-global-search select{padding-right:28px}.admin-global-search .btn{min-height:36px;height:36px;padding:0 12px;font-size:.78rem}.admin-search-results{display:grid;gap:9px}.admin-search-result{display:grid;grid-template-columns:140px minmax(0,1fr);gap:3px 14px;padding:14px 15px;border:1px solid #dde4e9;border-radius:12px;text-decoration:none;background:#fff;color:#17202b}.admin-search-result:hover{border-color:#c79011}.admin-search-result>span{grid-row:1/3;color:#9a7221;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.admin-search-result strong{color:#082b55}.admin-search-result small{color:#60717e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.admin-global-search-wrap{justify-content:flex-start}.admin-global-search{width:min(620px,100%);grid-template-columns:minmax(180px,1fr) 138px 76px}}@media(max-width:760px){.admin-global-search-wrap{margin:-4px 0 14px}.admin-global-search{width:100%;grid-template-columns:minmax(0,1fr) 118px auto;padding:6px}.admin-global-search input,.admin-global-search select{min-height:38px;height:38px}.admin-global-search .btn{width:42px;height:38px;min-height:38px;padding:0;font-size:0}.admin-global-search .btn:after{content:'⌕';font-size:21px}.admin-search-result{grid-template-columns:1fr}.admin-search-result>span{grid-row:auto}}@media(max-width:440px){.admin-global-search{grid-template-columns:minmax(0,1fr) 108px auto;gap:5px}.admin-global-search input,.admin-global-search select{font-size:.78rem;padding-inline:8px}}


/* v5.15.7 Admin UX, Smart Diagnostics & Reliability */
.vps-dashboard-customize-bar.is-active{display:grid;gap:12px}.vps-layout-studio{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.vps-layout-studio-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px;border:1px solid #e1e6e9;border-radius:10px;background:#fbfcfd}.vps-layout-studio-group>span{font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:2px}.vps-layout-studio .btn.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}.vps-dashboard-grid[data-vps-density="compact"]{gap:10px}.vps-dashboard-grid[data-vps-density="compact"] .panel-head{padding:12px 13px 7px}.vps-dashboard-grid[data-vps-density="compact"] .panel-body{padding:0 13px 13px}.vps-dashboard-grid[data-vps-density="compact"] .dashboard-compact-row{padding-block:8px}.vps-widget-edit-controls button[data-a="resize"]{gap:3px;width:auto;min-width:38px}.vps-widget-edit-controls [data-size-label]{font-size:.56rem;font-weight:900}
.reliability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reliability-card{display:flex;flex-direction:column;gap:7px;min-height:150px;padding:16px;border:1px solid #dfe5e9;border-radius:13px;background:#fff;text-decoration:none;color:var(--ink)}.reliability-card:hover{border-color:#c79011;box-shadow:0 6px 18px rgba(8,43,85,.06)}.reliability-card strong{color:var(--navy);font-size:1rem}.reliability-card span{color:var(--muted);font-size:.78rem;line-height:1.5;flex:1}.reliability-card small{color:#225da8;font-weight:800}.smart-diag-warning{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #e6ca83;border-radius:11px;background:#fff8e7}.smart-diag-warning strong{color:var(--navy);white-space:nowrap}.smart-diag-warning span{color:#6f613c;font-size:.78rem;line-height:1.45}.smart-diag-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.smart-diag-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px}.smart-diag-search{width:100%;min-height:42px;border:1px solid #ccd5dc;border-radius:9px;padding:0 12px;font:inherit}.smart-diag-components{display:grid;gap:7px;margin-top:11px;max-height:620px;overflow:auto;padding-right:3px}.smart-diag-component{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;border:1px solid #e1e6e9;border-radius:10px;background:#fff;cursor:pointer}.smart-diag-component:has(input:checked){border-color:#c79011;background:#fffaf0}.smart-diag-component input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.smart-diag-component span,.smart-diag-component strong,.smart-diag-component small{display:block;min-width:0}.smart-diag-component strong{color:var(--navy);font-size:.8rem}.smart-diag-component small{color:var(--muted);font-size:.66rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-diag-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.smart-diag-summary>div{padding:10px;border:1px solid #e2e7ea;border-radius:10px;background:#f8fafb}.smart-diag-summary span,.smart-diag-summary strong{display:block}.smart-diag-summary span{font-size:.64rem;color:var(--muted);text-transform:uppercase;font-weight:900}.smart-diag-summary strong{font-size:1.35rem;color:var(--navy);margin-top:3px}.smart-diag-result h3{margin:16px 0 7px;color:var(--navy);font-size:.82rem}.smart-diag-result ul{margin:0;padding-left:20px;color:#4f5f6b;font-size:.78rem;line-height:1.55}.smart-diag-links,.smart-diag-gates{display:flex;gap:6px;flex-wrap:wrap}.smart-diag-gates span{padding:5px 8px;border:1px solid #dfe5e9;border-radius:999px;background:#f8fafb;color:#41515d;font-size:.68rem;font-weight:800}.smart-diag-result details{margin-top:14px;border-top:1px solid #e4e8eb;padding-top:10px}.smart-diag-result summary{cursor:pointer;color:var(--navy);font-size:.78rem;font-weight:900}.smart-diag-final{display:grid;gap:5px;margin-top:16px;padding:12px;border:1px solid #cddfec;border-radius:11px;background:#f2f8fc}.smart-diag-final strong{color:var(--navy)}.smart-diag-final span{color:var(--muted);font-size:.74rem}.smart-diag-final .btn{justify-self:start;margin-top:4px}
@media(max-width:1050px){.reliability-grid{grid-template-columns:1fr 1fr}.smart-diag-layout{grid-template-columns:1fr}.vps-layout-studio{grid-template-columns:1fr}}
@media(max-width:620px){.reliability-grid{grid-template-columns:1fr}.smart-diag-summary{grid-template-columns:1fr}.smart-diag-warning{flex-direction:column}.vps-layout-studio-group{align-items:flex-start}.vps-layout-studio-group>span{width:100%}}

/* A usable search target and one locally scrollable invoice toolbar in either orientation. */
.admin-main .filter-bar.invoice-filter-bar{display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;align-items:center}
.admin-main .invoice-filter-bar>input[type=search]{flex:0 0 180px;width:180px;min-width:180px;min-height:44px}
.admin-main .invoice-filter-bar>select,.admin-main .invoice-filter-bar>.btn{flex:0 0 auto;width:auto;min-height:44px;white-space:nowrap}
.admin-main .invoice-filter-bar>select{min-width:135px}
.admin-main .activity-filter{align-items:end;flex-wrap:wrap}
.activity-date-range{display:flex;flex-wrap:wrap;gap:7px 12px;flex:1 1 320px;min-width:0}
.activity-date-range label{display:grid;gap:6px;flex:1 1 140px;min-width:0;color:var(--navy);font-size:.78rem;font-weight:700}
.activity-date-range input{width:100%;min-height:44px}
.activity-date-range small{flex-basis:100%;color:var(--muted);font-size:.74rem}
.activity-timeline article>div:last-child{min-width:0;overflow-wrap:anywhere}
.activity-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:5px}
.activity-timeline .activity-meta p{margin:0}
.activity-meta time{color:var(--muted);font-size:.76rem;line-height:1.5}
@media(max-width:1100px){.activity-meta{display:grid;gap:5px}.activity-meta time{display:block}}

/* Cost headers and values use the same column edge. */
.data-table.job-cost-items-table th.money,
.data-table.job-cost-items-table td.money { text-align:right; font-variant-numeric:tabular-nums; }
.lead-spam-actions { margin-bottom:16px; }
.lead-spam-actions form.actions { margin:0; gap:10px; }
