/* Lightweight product additions; keeps the existing mobile-first stylesheet intact. */
.home-subtitle{margin:9px 0 0;text-align:center;color:var(--muted);font-size:clamp(1rem,4vw,1.22rem)}
.home-road-safety-art{width:min(100%,230px);margin:12px auto 0;line-height:0;opacity:.38;filter:saturate(.72) contrast(.88)}.home-road-safety-art img{display:block;width:100%;height:auto;max-height:165px;object-fit:contain;object-position:center bottom}
.free-mock-card{display:block;margin:25px 0 15px;padding:19px 20px;border-radius:16px;background:var(--blue);color:#fff;text-align:center;text-decoration:none;box-shadow:0 5px 18px #0757b92b}
.free-mock-card strong,.free-mock-card small{display:block}.free-mock-card strong{font-size:1.12rem}.free-mock-card small{margin-top:3px;opacity:.92}
.gift-marks{margin:-7px 0 17px;text-align:center;color:var(--blue);font-weight:700}
.phone-field{display:grid;gap:7px;margin:18px auto;text-align:left;max-width:310px;font-weight:700}.phone-field input{min-height:48px;border:1px solid #b9c7d7;border-radius:10px;padding:10px 12px;background:#fff;font:inherit}.phone-field small{font-weight:400;color:var(--muted);line-height:1.35}
.pwa-install{display:grid;gap:7px;margin:20px auto 0;padding:16px;max-width:360px;border:1px solid #c9dceb;border-radius:14px;background:#f3f8fe;text-align:center}.pwa-install strong{color:var(--blue)}.pwa-install span{color:var(--muted);font-size:.9rem}.pwa-install .button{margin:4px 0 0}
@media(max-width:430px){.home-road-safety-art{width:min(68vw,190px);margin-top:8px}.home-road-safety-art img{max-height:135px}}

/* Compact app-like home screen: keep the welcome, car, and actions together. */
@media(max-width:430px){
  main{padding:4px 14px 8px}
  .welcome-home{min-height:calc(100svh - 126px);padding:10px 0 12px}
  .welcome-home h1{font-size:1.9rem;line-height:1.15}
  .home-subtitle{margin:3px auto 0;font-size:1rem}
  .home-road-safety-art{width:min(54vw,158px);margin:4px auto 0}
  .home-road-safety-art img{max-height:108px}
  .welcome-rule{height:4px;margin:8px auto 12px}
  .free-mock-card{margin:0 0 9px;padding:12px 14px}
  .free-mock-card strong{font-size:1.03rem}
  .welcome-actions{gap:8px}
  .welcome-card{min-height:78px;padding:10px 13px}
  .home-icon{width:46px;height:46px;font-size:1.7rem}
  .welcome-card strong{font-size:1.08rem}
  .welcome-card small{font-size:.88rem}
  .card-chevron{font-size:2.25rem}
  .home-help{margin-top:auto;padding-top:10px;font-size:.95rem}
  footer{padding:9px 12px 14px}
}

/* Keep the footer at the bottom of taller screens without affecting long pages. */
body{min-height:100svh;display:flex;flex-direction:column}
main{width:100%;flex:1 0 auto}
footer{width:100%;margin-top:auto}

.package-page{display:flex;min-height:calc(100svh - 150px);flex-direction:column}.package-access{margin-top:16px;padding:16px;border:1px solid #c9dceb;border-radius:16px;background:#f3f8fe}.package-access h2{margin:0 0 3px;color:var(--ink);font-size:1.2rem}.package-access p{margin:3px 0 10px;color:var(--muted)}.package-access form{display:grid;gap:9px;max-width:390px}.package-access label{display:grid;gap:4px;font-weight:700}.package-access input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #b9c7d7;border-radius:10px;background:#fff;font:inherit}.package-access input::placeholder{opacity:.42}.package-access .button{width:100%;min-height:44px}.package-access .error{margin:0;min-height:0}.package-code-help{margin-top:auto!important;padding-top:12px;text-align:center;font-size:.9rem}.staff-issued-codes{margin:18px 0;padding:16px;border:1px solid #b6dfc5;border-radius:12px;background:#e9f6ee}.staff-issued-codes h2{margin:0 0 5px}.staff-issued-codes p{margin:0 0 10px}.staff-issued-codes ul{margin:0;padding-left:20px}.staff-issued-codes code{font-weight:800;font-size:1.05em}.copy-code{margin-left:6px;border:1px solid #8eb3dc;border-radius:7px;background:#fff;color:var(--blue);font:700 1rem system-ui;line-height:1;padding:6px 8px;cursor:pointer}.copy-code:focus,.copy-code:hover{background:#e7f1ff}
@media(max-width:430px){.package-page{min-height:calc(100svh - 125px);padding-bottom:4px}.package-page .page-title{margin-bottom:10px}.package-page .package-grid{gap:7px}.package-page .package-card{padding:10px 12px}.package-page .package-card strong{font-size:1.1rem}.package-page .package-access{margin-top:10px;padding:13px}.package-page .package-access h2{font-size:1.12rem}.package-page .package-access p{font-size:.9rem}.package-code-help{padding-top:8px;font-size:.82rem}}
.staff-back{display:inline-block;margin-bottom:6px;color:var(--blue);font-weight:700;text-decoration:none}.staff-packages .staff-top{align-items:flex-start}.staff-packages .staff-top h1{margin:0}.staff-packages .staff-top p{margin:4px 0 0;color:var(--muted)}.admin-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}.admin-package-card{display:block;padding:18px;border:1px solid #c9dceb;border-radius:15px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 3px 12px #0c448a0d;transition:transform .15s ease,box-shadow .15s ease}.admin-package-card:hover,.admin-package-card:focus{transform:translateY(-2px);box-shadow:0 8px 20px #0c448a1f;border-color:#78a9e4}.admin-package-card.inactive{opacity:.64;background:#f7f8fa}.admin-package-card-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.admin-package-card strong{font-size:1.08rem}.admin-package-card>b{display:block;margin:16px 0 12px;color:var(--blue);font-size:1.4rem}.package-state{padding:3px 8px;border-radius:999px;background:#e8f7ef;color:#126b3f;font-size:.76rem;font-weight:800}.inactive .package-state{background:#eef1f4;color:#637083}.admin-package-meta{display:flex;gap:8px;flex-wrap:wrap}.admin-package-meta span{padding:4px 7px;border-radius:7px;background:#f2f7fd;color:#455a75;font-size:.84rem}.admin-package-card small{display:block;margin-top:17px;color:var(--blue);font-weight:700}@media(max-width:430px){.staff-packages .staff-top{display:grid}.staff-packages .staff-top .button{width:100%;margin-top:14px}.admin-package-grid{grid-template-columns:1fr;gap:10px}.admin-package-card{padding:15px}}
