:root{
  --bg:#f3f7f1;
  --panel:#ffffff;
  --ink:#102017;
  --muted:#6b7a70;
  --green:#247647;
  --green-dark:#0d4426;
  --green-soft:#e7f4eb;
  --gold:#d8aa3f;
  --blue:#2563eb;
  --purple:#7c3aed;
  --red:#b42318;
  --line:#dbe8df;
  --shadow:0 18px 45px rgba(19,38,27,.09);
  --shadow-sm:0 10px 24px rgba(19,38,27,.07);
}
*{box-sizing:border-box}
body{background:radial-gradient(circle at 18% 0%,rgba(216,170,63,.10),transparent 26%),linear-gradient(180deg,#f7faf5,var(--bg));color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:.005em}
a{text-decoration:none;color:#17683c}a:hover{color:#0d4426}.app-shell{display:flex;min-height:100vh}.sidebar{width:292px;background:linear-gradient(180deg,#0e2117,#173624 62%,#10291b);color:white;position:fixed;inset:0 auto 0 0;padding:24px 22px;display:flex;flex-direction:column;z-index:1000;box-shadow:24px 0 48px rgba(6,15,10,.18)}.brand{display:flex;align-items:center;gap:12px;color:white;margin-bottom:30px}.brand:hover{color:white}.brand-mark{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#72c96e);display:grid;place-items:center;font-weight:950;color:#112016;box-shadow:0 10px 28px rgba(216,170,63,.32)}.brand-logo-wrap{width:58px;height:58px;border-radius:20px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 12px 28px rgba(6,15,10,.22);border:1px solid rgba(255,255,255,.22);overflow:hidden;flex:0 0 auto}.brand-logo-wrap-light{background:#fff;box-shadow:0 12px 28px rgba(18,44,27,.10);border:1px solid var(--line)}.brand-logo{width:46px;height:46px;object-fit:contain;display:block}.public-brand{margin-bottom:1.3rem}.public-brand .brand-logo-wrap{width:68px;height:68px;border-radius:24px}.public-brand .brand-logo{width:56px;height:56px}.brand b{display:block;font-size:1.2rem;letter-spacing:.4px}.brand small{display:block;color:#c4dacb;margin-top:-1px}.side-nav{display:grid;gap:8px}.side-nav a{color:#d8eadc;padding:12px 14px;border-radius:17px;display:flex;align-items:center;gap:12px;font-weight:720;transition:.16s ease}.side-nav a i{font-size:1.1rem}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.13);color:#fff;transform:translateX(2px);box-shadow:inset 3px 0 0 rgba(216,170,63,.9)}.sidebar-footer{margin-top:auto}.mini-plan{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:11px}.mini-plan-dot{width:10px;height:10px;border-radius:999px;background:#8ee78e;box-shadow:0 0 0 5px rgba(142,231,142,.12)}.mini-plan b{display:block}.mini-plan small{color:#bfd7c5}.user-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.105);padding:10px;border-radius:18px}.avatar{width:38px;height:38px;border-radius:13px;background:#f7d778;color:#13251b;display:grid;place-items:center;font-weight:950}.user-pill small{display:block;color:#cde0d1}.main-content{margin-left:292px;width:calc(100% - 292px);padding:28px 34px 54px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.topbar h1{font-size:1.9rem;margin:0;font-weight:900;letter-spacing:-.035em}.top-title{min-width:0}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border-radius:14px;font-weight:750}.btn-primary{background:linear-gradient(135deg,var(--green),#1d8a4f);border-color:#1d7c48;box-shadow:0 10px 24px rgba(36,118,71,.18)}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-outline-success{border-color:#2a8a52;color:#17683c}.btn-outline-success:hover{background:#17683c;border-color:#17683c}.btn-light{background:#fff;border:1px solid var(--line)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#172315;font-weight:850}.flash-wrap{position:relative;z-index:3}.card-soft{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.card-soft .card-header{background:transparent;border-bottom:1px solid var(--line);padding:18px 22px;border-radius:26px 26px 0 0}.card-soft .card-body{padding:22px}.hero-panel{display:flex;justify-content:space-between;gap:22px;align-items:stretch;padding:26px;border-radius:30px;background:linear-gradient(135deg,#102017,#1f5a36 65%,#e0b64d);color:white;box-shadow:0 24px 60px rgba(16,32,23,.20);overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}.hero-panel h2{font-weight:950;letter-spacing:-.045em;max-width:830px;font-size:clamp(1.5rem,3vw,2.45rem)}.hero-panel p{margin:0;color:#dbeee1;max-width:700px}.hero-score{position:relative;z-index:2;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:18px;min-width:180px;display:flex;flex-direction:column;justify-content:center}.hero-score small{color:#dbeee1;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.hero-score strong{font-size:3rem;line-height:1;font-weight:950}.progress{height:10px;border-radius:999px;background:rgba(255,255,255,.20)}.progress-bar{background:#fff;border-radius:999px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:850;margin-bottom:16px;border:1px solid rgba(255,255,255,.18)}.metric{background:var(--panel);border:1px solid var(--line);border-radius:25px;padding:20px;box-shadow:var(--shadow-sm);height:100%;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:auto -30px -45px auto;width:110px;height:110px;border-radius:999px;background:var(--green-soft)}.metric small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.055em;position:relative;z-index:1}.metric .value{font-size:2rem;font-weight:950;margin-top:8px;position:relative;z-index:1}.metric i{width:46px;height:46px;border-radius:17px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:1.3rem;position:relative;z-index:1}.metric-blue i,.metric-blue:after{background:#e8f0ff}.metric-blue i{color:var(--blue)}.metric-gold i,.metric-gold:after{background:#fff5d9}.metric-gold i{color:#8a5b00}.metric-success i,.metric-success:after{background:#e7f8ec}.metric-success i{color:#176331}.quick-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:21px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-bottom:12px}.job-row{position:relative;overflow:hidden}.job-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#a6b7ab}.priority-high:before{background:#f59e0b}.priority-urgent:before{background:#dc2626}.priority-low:before{background:#7aa98a}.job-main{display:flex;align-items:center;gap:14px;min-width:0}.route-number{width:40px;height:40px;border-radius:14px;background:#eef7f0;display:grid;place-items:center;font-weight:950;color:#14532d;flex:0 0 auto}.badge-status{border-radius:999px;padding:.48rem .72rem;font-weight:850;white-space:nowrap}.status-new{background:#eef2f7;color:#334155}.status-scheduled{background:#e7f0ff;color:#174ea6}.status-confirmed{background:#e5f8f0;color:#075e44}.status-on_route{background:#fff4d6;color:#8a5b00}.status-arrived{background:#e0f2fe;color:#075985}.status-in_progress{background:#e7f8ec;color:#176331}.status-paused{background:#fef3c7;color:#92400e}.status-completed{background:#dff5e5;color:#14532d}.status-invoiced{background:#ede9fe;color:#5b21b6}.status-cancelled{background:#ffe5e5;color:#8a1f1f}.status-needs_follow_up{background:#f1e7ff;color:#5a2ca0}.status-draft{background:#eef2f7;color:#334155}.status-sent{background:#e7f0ff;color:#174ea6}.status-approved,.status-paid{background:#dff5e5;color:#14532d}.status-rejected,.status-void{background:#ffe5e5;color:#8a1f1f}.status-partial{background:#fff4d6;color:#8a5b00}.form-control,.form-select{border-radius:15px;border-color:#d7e5dc;padding:.76rem .88rem}.form-control:focus,.form-select:focus{border-color:#47a366;box-shadow:0 0 0 .25rem rgba(36,118,71,.12)}.form-label{font-weight:780;color:#263b2c}.filter-card .form-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table{vertical-align:middle}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.photo-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:145px;object-fit:cover}.photo-card div{padding:10px}.landing-hero{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#ecf9ed,#f8fbf6 40%,#e8f1ea);padding:32px}.landing-card{max-width:980px;background:white;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:44px}.landing-card h1{font-weight:950;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.04em}.empty-state{text-align:center;padding:46px 20px;color:var(--muted)}.language-switch .btn{border-radius:14px;font-weight:850;letter-spacing:.04em}.pipeline-row{display:grid;grid-template-columns:125px 1fr 24px;gap:10px;align-items:center;padding:9px 0}.pipeline-row span{font-weight:750}.pipeline-bar{height:10px;background:#edf4ef;border-radius:999px;overflow:hidden}.pipeline-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),#6dbb6d)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-grid a{padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;gap:10px;align-items:center;font-weight:850;color:var(--ink);box-shadow:var(--shadow-sm)}.action-grid a i{width:38px;height:38px;border-radius:14px;background:#edf7ef;color:var(--green);display:grid;place-items:center}.info-grid>div{background:#f7faf7;border:1px solid var(--line);border-radius:18px;padding:14px}.info-grid span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800}.info-grid b{display:block;margin-top:4px}.money-box{background:#f7faf7;border:1px solid var(--line);border-radius:20px;padding:14px 18px;min-width:140px}.money-box small{display:block;color:var(--muted);text-transform:uppercase;font-weight:800}.money-box strong{font-size:1.7rem}.status-flow{display:flex;gap:9px;flex-wrap:wrap}.status-step{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:820;color:#263b2c}.status-step.active{background:var(--green);color:#fff;border-color:var(--green)}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.aside-tip{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:12px}.aside-tip i{width:38px;height:38px;border-radius:14px;background:#edf7ef;color:var(--green);display:grid;place-items:center;flex:0 0 auto}.aside-tip p{margin:2px 0 0;color:var(--muted);font-size:.92rem}.crew-date-nav{display:flex;align-items:center;gap:10px;padding:12px}.crew-date-nav form{flex:1}.mobile-route-wrap{max-width:920px}.crew-mobile-section{margin-bottom:24px}.crew-mobile-section h5{display:flex;justify-content:space-between;align-items:center;font-weight:900}.crew-mobile-section h5 span{font-size:.85rem;background:#edf7ef;color:var(--green-dark);border-radius:999px;padding:5px 10px}.mobile-job-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.mobile-job-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#a6b7ab}.status-left-scheduled:before{background:#174ea6}.status-left-confirmed:before{background:#075e44}.status-left-on_route:before{background:#c98200}.status-left-arrived:before{background:#0284c7}.status-left-in_progress:before{background:#16a34a}.status-left-completed:before{background:#14532d}.mobile-job-card p{margin:4px 0 0;color:var(--muted)}.mobile-job-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.mobile-job-actions a{background:#f7faf7;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center;font-weight:800;color:var(--ink)}.mobile-status-actions{display:flex;gap:7px;overflow-x:auto;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.mobile-status-actions form{flex:0 0 auto}.mobile-status-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:.85rem;font-weight:800}.mobile-status-actions button.active{background:var(--green);border-color:var(--green);color:#fff}.mobile-scrim{display:none}
@media(max-width:1199px){.form-layout{grid-template-columns:1fr}.form-aside{order:-1}.hero-panel{flex-direction:column}.hero-score{max-width:260px}}
@media(max-width:991px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}.mobile-scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:999}.main-content{margin-left:0;width:100%;padding:18px}.topbar{align-items:flex-start;gap:12px}.top-actions{flex-wrap:wrap}.table-responsive{border-radius:18px}.metric .value{font-size:1.55rem}.hero-panel{padding:22px}.action-grid{grid-template-columns:1fr}}
@media(max-width:575px){.topbar{display:grid;grid-template-columns:auto 1fr;align-items:start}.top-actions{grid-column:1/3;width:100%}.top-actions .btn{flex:1}.quick-card{align-items:flex-start;flex-direction:column}.job-main{align-items:flex-start}.mobile-job-actions{grid-template-columns:1fr}.hero-panel h2{font-size:1.55rem}.main-content{padding:14px}.card-soft{border-radius:22px}.card-soft .card-body{padding:16px}.pipeline-row{grid-template-columns:110px 1fr 22px}}
/* Phase 3 inventory / job costing */
.inner-card{box-shadow:none;background:#fbfdfb;border-radius:20px}.inner-card .card-header{padding:12px 16px}.inner-card .card-body{padding:16px}.status-planned{background:#e7f0ff;color:#174ea6}.status-reserved{background:#fff4d6;color:#8a5b00}.status-consumed{background:#dff5e5;color:#14532d}.status-not_planned{background:#eef2f7;color:#334155}.badge-soft{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .65rem;background:#f1f7f3;border:1px solid var(--line);font-weight:800;color:#263b2c}.table td,.table th{white-space:nowrap}.table td:first-child,.table th:first-child{white-space:normal}.metric .value{overflow-wrap:anywhere}.form-aside .aside-tip:last-child{margin-bottom:0}
@media(max-width:575px){.top-actions form.d-inline{width:100%}.top-actions form.d-inline .btn{width:100%}.table td,.table th{font-size:.9rem}.metric{padding:16px}.metric .value{font-size:1.35rem}}

@media(max-width:575px){.brand-logo-wrap{width:52px;height:52px;border-radius:18px}.brand-logo{width:42px;height:42px}.public-brand .brand-logo-wrap{width:62px;height:62px}.public-brand .brand-logo{width:50px;height:50px}}


/* Commercial polish fixes */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;min-height:0}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.side-nav{padding-right:4px}.sidebar-footer{padding-bottom:12px}.field-with-action{display:flex;gap:10px;align-items:flex-end}.field-with-action .form-group,.field-with-action .mb-3{margin-bottom:0!important}.btn-field-action{height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:0}.btn-field-action.disabled{pointer-events:auto;opacity:.55}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:8px}.estimate-item-row{padding:10px 0;border-bottom:1px dashed rgba(16,32,23,.12)}.form-card-wide{max-width:1180px}.main-content{min-width:0}
@media(max-height:760px){.brand{margin-bottom:14px}.side-nav{gap:4px}.side-nav a{padding:9px 12px}.mini-plan{display:none}}
@media(max-width:991px){.sidebar{max-height:100vh}.field-with-action{align-items:stretch}.btn-field-action{height:auto;min-height:48px}}


/* Premium Aureo Landscape landing refresh */
.landing-premium{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding:28px;
  background:
    radial-gradient(circle at 10% 12%, rgba(216,170,63,.16), transparent 24%),
    radial-gradient(circle at 86% 4%, rgba(36,118,71,.16), transparent 28%),
    linear-gradient(135deg, #f7fbf5 0%, #eef7ef 55%, #f8f6ec 100%);
}
.landing-premium:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(16,32,23,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,32,23,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 72%);
  pointer-events:none;
}
.landing-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(4px);
  opacity:.7;
  pointer-events:none;
}
.landing-orb-one{
  width:360px;
  height:360px;
  right:-120px;
  top:120px;
  background:radial-gradient(circle, rgba(216,170,63,.42), transparent 66%);
}
.landing-orb-two{
  width:300px;
  height:300px;
  left:-120px;
  bottom:120px;
  background:radial-gradient(circle, rgba(36,118,71,.25), transparent 68%);
}
.landing-nav{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto 28px;
  padding:14px 16px;
  border:1px solid rgba(219,232,223,.9);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(16px);
  border-radius:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-shadow:0 18px 45px rgba(19,38,27,.07);
}
.landing-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
}
.landing-brand:hover{color:var(--ink)}
.landing-brand-logo{
  width:54px;
  height:54px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  box-shadow:0 12px 26px rgba(18,44,27,.08);
  overflow:hidden;
}
.landing-brand-logo img{
  width:44px;
  height:44px;
  object-fit:contain;
}
.landing-brand b{
  display:block;
  font-size:1.05rem;
  font-weight:950;
}
.landing-brand small{
  display:block;
  color:var(--muted);
  margin-top:-2px;
}
.landing-nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:850;
}
.landing-nav-actions a:not(.btn){
  color:#315242;
}
.landing-premium-grid{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:28px;
  align-items:center;
}
.landing-copy{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(219,232,223,.95);
  box-shadow:0 28px 70px rgba(19,38,27,.10);
  border-radius:38px;
  padding:clamp(30px,5vw,58px);
}
.landing-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border-radius:999px;
  background:#e8f5ec;
  color:#14532d;
  border:1px solid #cae7d2;
  font-weight:950;
  letter-spacing:.02em;
  margin-bottom:18px;
}
.landing-kicker-soft{
  background:#fff;
}
.landing-kicker-dark{
  background:rgba(255,255,255,.13);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.landing-copy h1{
  max-width:860px;
  font-size:clamp(2.55rem,6.5vw,5.4rem);
  line-height:.96;
  letter-spacing:-.065em;
  font-weight:1000;
  margin:0;
}
.landing-lead{
  max-width:760px;
  margin:22px 0 0;
  color:#617168;
  font-size:1.12rem;
  line-height:1.7;
}
.landing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:28px;
}
.landing-actions form{
  display:inline-flex;
}
.landing-trust-row{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.landing-trust-row div{
  background:#f8fbf7;
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
}
.landing-trust-row strong{
  display:block;
  font-weight:950;
}
.landing-trust-row span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  margin-top:2px;
}
.landing-showcase{
  border-radius:34px;
  background:linear-gradient(180deg,#102017,#173b27);
  color:#fff;
  padding:18px;
  box-shadow:0 30px 75px rgba(16,32,23,.24);
  border:1px solid rgba(255,255,255,.12);
  transform:rotate(1deg);
}
.showcase-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.showcase-brand-mini{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:950;
}
.showcase-brand-mini img{
  width:38px;
  height:38px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:3px;
}
.showcase-badge{
  background:rgba(216,170,63,.20);
  color:#ffe4a1;
  border:1px solid rgba(216,170,63,.28);
  border-radius:999px;
  padding:7px 10px;
  font-weight:850;
  font-size:.82rem;
}
.showcase-hero-card{
  background:linear-gradient(135deg,#1f6f43,#d8aa3f);
  border-radius:25px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.showcase-hero-card span,
.showcase-hero-card small{
  display:block;
  color:rgba(255,255,255,.82);
  font-weight:750;
}
.showcase-hero-card strong{
  display:block;
  font-size:1.25rem;
  font-weight:950;
}
.showcase-hero-card i{
  font-size:2.4rem;
  opacity:.9;
}
.showcase-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.showcase-metrics div{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.11);
  border-radius:19px;
  padding:14px;
}
.showcase-metrics span{
  display:block;
  color:#cde0d1;
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:900;
}
.showcase-metrics strong{
  display:block;
  font-size:1.45rem;
  margin-top:3px;
  font-weight:1000;
}
.showcase-list{
  display:grid;
  gap:10px;
}
.showcase-list div{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  border-radius:20px;
  padding:13px;
}
.showcase-list i{
  width:40px;
  height:40px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#e8f5ec;
  color:var(--green);
  flex:0 0 auto;
}
.showcase-list span{
  flex:1;
}
.showcase-list b,
.showcase-list small{
  display:block;
}
.showcase-list small{
  color:var(--muted);
}
.showcase-list em{
  font-style:normal;
  color:#14532d;
  background:#e8f5ec;
  border-radius:999px;
  padding:5px 9px;
  font-weight:900;
  font-size:.76rem;
}
.landing-feature-section{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:28px auto 0;
}
.section-heading{
  max-width:760px;
  margin-bottom:18px;
}
.section-heading h2{
  font-size:clamp(1.8rem,3vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:1000;
  margin:0;
}
.landing-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.landing-feature-card{
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius:26px;
  padding:22px;
  box-shadow:0 18px 45px rgba(19,38,27,.07);
}
.landing-feature-card i{
  width:46px;
  height:46px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#e8f5ec;
  color:var(--green);
  margin-bottom:14px;
  font-size:1.25rem;
}
.landing-feature-card h3{
  font-size:1.1rem;
  font-weight:950;
  margin:0 0 7px;
}
.landing-feature-card p{
  color:var(--muted);
  margin:0;
  line-height:1.55;
}
.landing-ops-band{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:28px auto 0;
  border-radius:34px;
  padding:30px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 0%, rgba(216,170,63,.35), transparent 38%),
    linear-gradient(135deg,#102017,#1c6b3f);
  box-shadow:0 28px 70px rgba(19,38,27,.16);
  display:grid;
  grid-template-columns:1fr 380px;
  gap:24px;
  align-items:center;
}
.landing-ops-band h2{
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:1000;
  margin:0;
}
.landing-ops-band p{
  color:#dceee2;
  margin:15px 0 0;
  line-height:1.65;
  max-width:720px;
}
.ops-card-stack{
  display:grid;
  gap:10px;
}
.ops-card-stack div{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:14px;
  font-weight:900;
}
.ops-card-stack i{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
}
@media(max-width:1050px){
  .landing-premium-grid,
  .landing-ops-band{
    grid-template-columns:1fr;
  }
  .landing-showcase{
    transform:none;
    max-width:620px;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .landing-premium{
    padding:16px;
  }
  .landing-nav{
    align-items:flex-start;
  }
  .landing-nav-actions{
    display:none;
  }
  .landing-copy{
    padding:28px;
    border-radius:28px;
  }
  .landing-trust-row,
  .landing-feature-grid,
  .showcase-metrics{
    grid-template-columns:1fr;
  }
  .landing-actions .btn,
  .landing-actions form{
    width:100%;
  }
  .landing-actions form .btn{
    width:100%;
  }
}
/* Time clock and payroll */
.camera-box{border:1px solid var(--line);border-radius:22px;background:#f7faf7;padding:14px}
.camera-box video,.camera-box canvas{width:100%;max-height:360px;object-fit:cover;border-radius:18px;background:#102017}
.camera-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.timeclock-kiosk-card{max-width:860px}
.timeclock-public .landing-card h1{font-size:clamp(2rem,4vw,3.2rem)}

@media(max-width:1200px){
  .action-grid{grid-template-columns:1fr!important}
  .quick-card{align-items:flex-start}
  .quick-card .btn{white-space:normal}
}

@media(max-width:767px){
  .pipeline-row{grid-template-columns:1fr 1fr 24px}
  .quick-card{flex-direction:column;align-items:flex-start}
  .job-main{align-items:flex-start}
  .card-soft .card-body{padding:16px}
  .landing-card{padding:24px}
  .camera-actions .btn{width:100%}
}

.clock-photo-preview{width:100%;max-height:360px;object-fit:cover;border-radius:18px;background:#102017}
.worker-pass-identity{border:1px solid var(--line);border-radius:22px;background:#f7faf7;padding:18px}
.worker-pass-card{max-width:760px}

/* Competitive review additions */
.onboarding-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow-sm);
  padding:22px;
}
.onboarding-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:16px;
}
.onboarding-head .pill{
  background:#eef7f0;
  color:#14532d;
  border-color:#d7ebdd;
  margin-bottom:10px;
}
.onboarding-head h3{
  font-weight:950;
  letter-spacing:-.025em;
  margin:0;
}
.onboarding-head p{
  color:var(--muted);
  margin:5px 0 0;
}
.onboarding-score{
  min-width:148px;
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:20px;
  padding:14px;
}
.onboarding-score strong{
  display:block;
  font-size:1.8rem;
  line-height:1;
  font-weight:950;
}
.onboarding-score span{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  margin:3px 0 10px;
}
.onboarding-score .progress{background:#e4efe7}
.onboarding-score .progress-bar{background:var(--green)}
.onboarding-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.onboarding-step{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:92px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fbfdfb;
  padding:14px;
}
.onboarding-step>i{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#eef7f0;
  color:var(--green);
  flex:0 0 auto;
  font-size:1.15rem;
}
.onboarding-step b,
.onboarding-step span{
  display:block;
}
.onboarding-step b{
  font-weight:900;
}
.onboarding-step span{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.35;
}
.onboarding-step .btn{
  margin-left:auto;
  white-space:nowrap;
}
.onboarding-step.done{
  background:#f5fbf7;
}
.onboarding-check{
  margin-left:auto;
  width:32px;
  height:32px;
  border-radius:12px;
  display:grid!important;
  place-items:center;
  background:#dff5e5;
  color:#14532d!important;
}
.import-columns{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.import-columns span{
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
  color:#263b2c;
  font-size:.88rem;
}
.portal-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#f7fbf5,#edf6ef);
}
.portal-card{
  width:min(980px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:28px;
}
.portal-card-small{
  width:min(640px,100%);
}
.portal-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.portal-brand img{
  width:54px;
  height:54px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:18px;
  padding:7px;
  background:#fff;
}
.portal-brand b,
.portal-brand span{
  display:block;
}
.portal-brand b{
  font-weight:950;
}
.portal-brand span{
  color:var(--muted);
}
.portal-heading{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  margin-bottom:22px;
}
.portal-heading h1{
  margin:12px 0 6px;
  font-weight:950;
  letter-spacing:-.035em;
}
.portal-heading p{
  margin:0;
  color:var(--muted);
}
.portal-total{
  min-width:190px;
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:22px;
  padding:18px;
}
.portal-total small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  font-weight:850;
}
.portal-total strong{
  display:block;
  font-size:2rem;
  font-weight:950;
}
.portal-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.portal-summary div,
.portal-notes{
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:18px;
  padding:14px;
}
.portal-summary small,
.portal-summary b{
  display:block;
}
.portal-summary small{
  color:var(--muted);
  text-transform:uppercase;
  font-weight:850;
}
.portal-summary b{
  font-size:1.15rem;
  margin-top:3px;
}
.portal-notes{
  margin-top:18px;
}
.portal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:22px;
}
.crew-mobile-toolbar{
  position:sticky;
  top:14px;
  z-index:5;
  display:grid;
  grid-template-columns:52px 1fr 52px;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  background:rgba(255,255,255,.96);
  border-radius:22px;
  box-shadow:var(--shadow-sm);
  padding:10px;
  margin-bottom:16px;
}
.crew-mobile-toolbar .btn{
  min-height:48px;
}
.crew-mobile-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 0 10px;
}
.crew-mobile-heading h5{
  margin:0;
  font-weight:950;
}
.crew-mobile-heading span{
  border-radius:999px;
  background:#edf7ef;
  color:var(--green-dark);
  padding:5px 10px;
  font-weight:850;
  font-size:.85rem;
}
.crew-mobile-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-sm);
  padding:16px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.crew-mobile-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:#a6b7ab;
}
.crew-card-top{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.crew-stop{
  width:44px;
  height:44px;
  border-radius:15px;
  background:#eef7f0;
  color:#14532d;
  display:grid;
  place-items:center;
  font-weight:950;
}
.crew-card-top h3{
  margin:0;
  font-size:1.05rem;
  line-height:1.2;
  font-weight:950;
}
.crew-card-top p,
.crew-address,
.crew-note{
  color:var(--muted);
}
.crew-card-top p{
  margin:3px 0 0;
}
.crew-chip{
  border-radius:999px;
  padding:7px 10px;
  font-weight:850;
  font-size:.78rem;
  white-space:nowrap;
}
.crew-address,
.crew-note{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
  line-height:1.45;
}
.crew-note{
  border:1px dashed #d4e5d8;
  background:#f8fbf7;
  border-radius:16px;
  padding:10px;
}
.crew-mobile-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
  gap:8px;
  margin-top:14px;
}
.crew-mobile-actions a{
  min-height:64px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f7faf7;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-weight:850;
  text-align:center;
}
.crew-mobile-actions i{
  color:var(--green);
  font-size:1.12rem;
}
.crew-status-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.crew-status-grid button{
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:8px;
  color:#263b2c;
  font-size:.82rem;
  font-weight:850;
}
.crew-status-grid button.active{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
@media(max-width:991px){
  .onboarding-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:575px){
  .onboarding-head{display:block}
  .onboarding-score{margin-top:12px;width:100%}
  .onboarding-grid{grid-template-columns:1fr}
  .onboarding-step{align-items:flex-start}
  .portal-heading{display:block}
  .portal-total{margin-top:14px;min-width:0}
  .portal-summary{grid-template-columns:1fr 1fr}
  .portal-actions .btn,
  .portal-actions form{width:100%}
  .portal-actions form .btn{width:100%}
  .crew-mobile-actions{grid-template-columns:repeat(3,1fr)}
  .crew-status-grid{grid-template-columns:repeat(2,1fr)}
  .crew-card-top{grid-template-columns:40px minmax(0,1fr)}
  .crew-chip{grid-column:2;justify-self:start}
  .crew-stop{width:40px;height:40px}
}

/* Competitive readiness additions */
.guided-steps{display:grid;gap:14px}.guided-step{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-sm)}.guided-step.done{background:#f7fcf8}.guided-step-icon{width:58px;height:58px;border-radius:20px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;font-size:1.35rem}.guided-step-copy span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.guided-step-copy h3{font-size:1.08rem;margin:2px 0 4px;font-weight:950}.guided-step-copy p{margin:0;color:var(--muted)}.checklist-mini{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(219,232,223,.75)}.checklist-mini:last-child{border-bottom:0}.checklist-mini i{color:var(--green);font-size:1.1rem;flex:0 0 auto}.help-hero{border-radius:30px;padding:28px;background:linear-gradient(135deg,#102017,#2a7648);color:#fff;box-shadow:0 24px 60px rgba(16,32,23,.18)}.help-hero h2{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:950;letter-spacing:-.04em;max-width:760px}.help-hero p{color:#dbeee1;max-width:680px;margin:0}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-grid a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;color:var(--ink);font-weight:850;box-shadow:var(--shadow-sm)}.resource-grid i,.video-tile i{width:42px;height:42px;border-radius:15px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;flex:0 0 auto}.video-grid{display:grid;gap:12px}.video-tile{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.video-tile b,.video-tile span{display:block}.video-tile span{color:var(--muted);font-size:.92rem}.support-contact{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:#f8fbf7}.support-contact span{color:var(--muted);overflow-wrap:anywhere}.automation-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.automation-task h3{font-size:1.05rem;font-weight:950;margin:8px 0 4px}.automation-task p{color:var(--muted);margin:0;line-height:1.45}.automation-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.automation-actions form{display:inline-flex}.dispatch-summary{height:100%;min-height:48px;display:flex;align-items:center;color:var(--muted);background:#f7faf7;border:1px solid var(--line);border-radius:16px;padding:10px 14px}.dispatch-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;align-items:start}.dispatch-lane{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:16px}.dispatch-lane-unassigned{border-style:dashed}.dispatch-lane-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.dispatch-lane-head h3{font-size:1.12rem;font-weight:950;margin:0}.dispatch-lane-head span{color:var(--muted);font-size:.9rem}.zone-strip{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.zone-strip span{border-radius:999px;background:#eef7f0;color:#14532d;padding:5px 9px;font-weight:850;font-size:.78rem}.dispatch-stop{background:#fff;border:1px solid var(--line);border-radius:20px;padding:13px;margin-bottom:10px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.dispatch-stop:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#a6b7ab}.dispatch-stop-top{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:start}.dispatch-stop-top>b{width:36px;height:36px;border-radius:13px;background:#eef7f0;color:#14532d;display:grid;place-items:center}.dispatch-stop h4{font-size:.98rem;font-weight:950;margin:0}.dispatch-stop p,.dispatch-address{color:var(--muted);margin:2px 0 0}.dispatch-address{font-size:.92rem;line-height:1.4;margin-top:10px}.dispatch-stop-actions{display:flex;gap:10px;margin-top:10px;font-weight:850}.portal-history-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.portal-history-grid h2{font-size:1.1rem;font-weight:950;margin-bottom:10px}.portal-history-item{border:1px solid var(--line);border-radius:17px;background:#fff;padding:12px;margin-bottom:9px}.portal-history-item b,.portal-history-item span{display:block}.portal-history-item span{color:var(--muted);font-size:.92rem}.portal-history-item a{display:inline-flex;margin-top:6px;font-weight:850}
@media(max-width:575px){.guided-step{grid-template-columns:1fr}.guided-step-action{width:100%}.guided-step-action .btn{width:100%}.resource-grid{grid-template-columns:1fr}.automation-task{grid-template-columns:1fr}.dispatch-stop-top{grid-template-columns:34px minmax(0,1fr)}.dispatch-stop-top .badge-status{grid-column:2;justify-self:start}.support-contact{display:block}.crew-mobile-actions{grid-template-columns:repeat(2,1fr)}}

/* Stability and motion pass */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(142,231,142,.38)}70%{box-shadow:0 0 0 18px rgba(142,231,142,0)}100%{box-shadow:0 0 0 0 rgba(142,231,142,0)}}
@keyframes shine{0%{transform:translateX(-120%)}100%{transform:translateX(160%)}}
.main-content>*,.card-soft,.metric,.quick-card{animation:fadeUp .34s ease both}.quick-card:nth-child(2){animation-delay:.04s}.quick-card:nth-child(3){animation-delay:.08s}.btn,.side-nav a,.quick-card,.resource-grid a,.crew-mobile-actions a{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:hover,.resource-grid a:hover,.crew-mobile-actions a:hover{transform:translateY(-1px)}.quick-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(19,38,27,.10)}.side-nav a.active{position:relative}.side-nav a.active:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:shine 2.8s ease infinite;pointer-events:none}.timeclock-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:30px;padding:24px;background:linear-gradient(135deg,#102017,#23683e 68%,#d8aa3f);color:#fff;box-shadow:0 24px 60px rgba(16,32,23,.18);overflow:hidden;position:relative}.timeclock-hero h2{font-size:clamp(1.45rem,3vw,2.25rem);font-weight:950;letter-spacing:-.04em;max-width:760px}.timeclock-hero p{color:#dceee2;margin:0;max-width:700px}.timeclock-pulse{width:132px;height:132px;border-radius:32px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;text-align:center;position:relative;flex:0 0 auto}.timeclock-pulse span{width:15px;height:15px;border-radius:999px;background:#8ee78e;animation:pulseRing 2s ease infinite}.timeclock-pulse b{font-size:2.4rem;line-height:.8;font-weight:950}.timeclock-pulse small{color:#dceee2;font-weight:850;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.timeclock-worker-card{border-left:5px solid var(--green)}.action-empty{display:grid;place-items:center;gap:7px}.action-empty i{width:54px;height:54px;border-radius:20px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;font-size:1.35rem}.action-empty b{color:var(--ink)}.action-empty span{color:var(--muted)}
@media(max-width:575px){.timeclock-hero{display:block}.timeclock-pulse{width:100%;height:auto;min-height:110px;margin-top:14px}.top-actions .btn,.top-actions form{width:100%}.top-actions form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
