:root{--caps-blue:#0f4b8f;--caps-blue2:#0b3567;--caps-gold:#f2b400;--caps-bg:#f4f7fb;--caps-text:#17202a;--caps-muted:#667788;--caps-red:#b42318;--caps-green:#157347;--caps-orange:#a15c00;--caps-border:#d7e0ea}.caps-app{max-width:1100px;margin:24px auto;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--caps-text)}.caps-app *{box-sizing:border-box}.caps-hero,.caps-dashboard-top{background:linear-gradient(135deg,var(--caps-blue),var(--caps-blue2));color:#fff;border-top:5px solid var(--caps-gold);border-radius:18px;padding:24px;margin-bottom:16px}.caps-hero h1,.caps-dashboard-top h1,.caps-login-card h1{margin:4px 0 6px;font-size:28px}.caps-hero p,.caps-dashboard-top p{margin:0;opacity:.9}.caps-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--caps-gold)}.caps-card{background:#fff;border:1px solid var(--caps-border);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(21,44,73,.07)}.caps-form label,.caps-update-form label,.caps-login-card label{display:block;font-weight:700;font-size:14px;margin-bottom:12px}.caps-form label span{color:#b42318}.caps-form input,.caps-form select,.caps-form textarea,.caps-filter input,.caps-filter select,.caps-update-form select,.caps-update-form textarea,.caps-login-card input{width:100%;margin-top:6px;border:1px solid #b8c5d3;border-radius:10px;padding:12px;font-size:16px;background:#fff;color:#17202a}.caps-section-title{font-size:17px;font-weight:800;color:var(--caps-blue);border-bottom:2px solid #e7edf4;padding-bottom:7px;margin:8px 0 14px}.caps-grid{display:grid;gap:12px}.caps-grid.two{grid-template-columns:1fr 1fr}.caps-grid.three{grid-template-columns:1fr 1fr 1fr}.caps-help,.caps-fineprint{color:var(--caps-muted);font-size:13px}.caps-primary,.caps-secondary{display:inline-block;border:0;border-radius:10px;padding:12px 16px;font-weight:800;text-decoration:none;cursor:pointer}.caps-primary{background:var(--caps-blue);color:white;width:100%;font-size:16px}.caps-primary.small{width:auto}.caps-secondary{background:white;color:var(--caps-blue);border:1px solid #bfd0e2}.caps-primary.inline{width:auto}.caps-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px}.caps-photo-button{border:2px dashed #aebfd0;border-radius:14px;text-align:center;padding:18px 8px;background:#f9fbfd;color:var(--caps-blue);cursor:pointer}.caps-photo-button input{display:block;font-size:12px;margin-top:8px;padding:0;border:0}.caps-alert{padding:12px 14px;border-radius:10px;margin:12px 0}.caps-alert.success{background:#eaf7ef;color:#146c43;border:1px solid #b8e0c8}.caps-alert.danger{background:#fff0ef;color:#9a2018;border:1px solid #f0b7b1}.caps-honeypot{position:absolute!important;left:-9999px!important}.caps-login-wrap{max-width:520px}.caps-login-card{text-align:left}.caps-center{text-align:center}.caps-checkbox{font-weight:500!important;display:flex!important;gap:8px;align-items:center}.caps-checkbox input{width:auto;margin:0}.caps-dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.caps-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.caps-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.caps-stat{background:#fff;border:1px solid var(--caps-border);border-radius:14px;padding:16px}.caps-stat span{display:block;color:var(--caps-muted);font-weight:700}.caps-stat strong{display:block;font-size:30px;color:var(--caps-blue);margin-top:4px}.caps-stat.warn strong{color:var(--caps-orange)}.caps-stat.danger strong{color:var(--caps-red)}.caps-stat.good strong{color:var(--caps-green)}.caps-filter{display:grid;grid-template-columns:1fr 220px 110px;gap:10px;align-items:center;margin-bottom:14px}.caps-filter input,.caps-filter select{margin:0}.caps-case-list{display:grid;gap:12px}.caps-case{padding:0;overflow:hidden}.caps-case summary{list-style:none;cursor:pointer;padding:16px;display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:center}.caps-case summary::-webkit-details-marker{display:none}.caps-case[open] summary{background:#f7f9fc;border-bottom:1px solid var(--caps-border)}.caps-case-main{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.caps-case-vehicle,.caps-case-due{font-size:14px}.caps-case-due{color:var(--caps-muted);text-align:right}.caps-badge{font-size:11px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:5px 8px;background:#e8eef5;color:#31516f}.caps-badge.danger{background:#fde8e7;color:#9f1d16}.caps-badge.good{background:#e7f5ec;color:#16623f}.caps-badge.warn{background:#fff1d6;color:#8a5200}.caps-case-body{padding:16px}.caps-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.caps-meta-grid div{background:#f6f9fc;padding:10px;border-radius:10px}.caps-meta-grid span{display:block;color:var(--caps-muted);font-size:12px}.caps-meta-grid b{font-size:14px}.caps-note{background:#fff9e6;border-left:4px solid var(--caps-gold);padding:10px 12px;margin:10px 0}.caps-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.caps-thumbs img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--caps-border)}.caps-update-form{border-top:1px solid var(--caps-border);padding-top:14px;margin-top:14px}
@media(max-width:760px){.caps-app{margin:8px auto;padding:0 10px}.caps-hero,.caps-dashboard-top{border-radius:12px;padding:18px}.caps-grid.two,.caps-grid.three,.caps-stats,.caps-meta-grid{grid-template-columns:1fr 1fr}.caps-photo-grid{grid-template-columns:1fr 1fr}.caps-dashboard-top{display:block}.caps-actions{justify-content:flex-start;margin-top:14px}.caps-filter{grid-template-columns:1fr}.caps-primary.small{width:100%}.caps-case summary{grid-template-columns:1fr}.caps-case-due{text-align:left}.caps-thumbs img{width:calc(50vw - 35px);height:120px}}
@media(max-width:480px){.caps-grid.two,.caps-grid.three,.caps-stats,.caps-meta-grid{grid-template-columns:1fr}.caps-hero h1,.caps-dashboard-top h1,.caps-login-card h1{font-size:23px}}
.caps-location-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.caps-location-button{margin-top:6px;border:0;border-radius:10px;padding:12px 14px;background:var(--caps-gold);color:#17202a;font-weight:900;font-size:14px;white-space:nowrap;cursor:pointer}.caps-location-button:disabled{opacity:.65;cursor:wait}.caps-location-status{margin-top:7px;font-size:12px;color:var(--caps-muted);font-weight:600}.caps-location-status.success{color:var(--caps-green)}.caps-location-status.error{color:var(--caps-red)}.caps-location-status.working{color:var(--caps-orange)}.caps-gps-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef6ff;border:1px solid #c7ddf5;border-radius:12px;padding:11px 12px;margin-bottom:12px}.caps-gps-card span{display:block;color:var(--caps-muted);font-size:12px}.caps-gps-card b{display:block;font-size:14px}.caps-gps-card small{display:block;color:var(--caps-muted);margin-top:2px}
@media(max-width:600px){.caps-location-row{grid-template-columns:1fr}.caps-location-button{width:100%;font-size:16px}.caps-gps-card{align-items:flex-start;flex-direction:column}.caps-gps-card .caps-secondary{width:100%;text-align:center}}

/* Standalone app shell / homepage */
html,body.caps-standalone-body{margin:0!important;padding:0!important;background:#f4f7fb!important;min-height:100%;}
body.caps-standalone-body #wpadminbar{display:none!important}
body.caps-standalone-body{padding-top:0!important}
.caps-home{max-width:760px;margin:0 auto;padding-top:8vh}
.caps-home-hero{text-align:center;padding:34px 24px}
.caps-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.caps-home-button{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--caps-border);border-radius:18px;padding:24px;text-decoration:none;color:var(--caps-blue);box-shadow:0 8px 24px rgba(21,44,73,.08)}
.caps-home-button.primary{background:var(--caps-blue);color:#fff;border-top:5px solid var(--caps-gold)}
.caps-home-button strong{font-size:18px;line-height:1.25;margin:8px 0 4px}
.caps-home-button small{font-size:13px;opacity:.75}
.caps-home-icon{font-size:36px}
@media(max-width:620px){.caps-home{padding-top:18px}.caps-home-actions{grid-template-columns:1fr}.caps-home-button{min-height:145px}}

/* Small staff access link on the public CAPS submission form */
.caps-public-form{position:relative;padding-top:46px}
.caps-staff-corner{position:absolute;right:16px;top:8px;z-index:10}
.caps-staff-corner a{
    display:inline-block;
    color:var(--caps-blue);
    background:#fff;
    border:1px solid var(--caps-border);
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 3px 10px rgba(21,44,73,.08)
}
.caps-staff-corner a:hover{background:#eef4fa}
@media(max-width:600px){
    .caps-public-form{padding-top:42px}
    .caps-staff-corner{right:10px;top:6px}
    .caps-staff-corner a{padding:7px 10px;font-size:11px}
}

/* CAPS senior-friendly mobile submission flow - v1.3.5 */
.caps-step{display:flex;align-items:center;gap:12px;margin:8px 0 16px;padding:12px 14px;background:#eef5fc;border-radius:12px;border:1px solid #cbdced}.caps-step>span{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--caps-blue);color:#fff;font-size:20px;font-weight:900}.caps-step strong{display:block;color:var(--caps-blue);font-size:18px}.caps-step small{display:block;color:var(--caps-muted);font-size:13px;margin-top:2px}.caps-photo-button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:135px}.caps-photo-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}.caps-photo-icon{font-size:30px}.caps-photo-label{font-size:16px;font-weight:900;margin-top:5px}.caps-photo-status{font-size:13px;font-weight:700;color:var(--caps-muted);margin-top:4px}.caps-photo-button.has-photo{border-style:solid;border-color:#58a475;background:#edf9f1;color:#146c43}.caps-photo-button.has-photo .caps-photo-status{color:#146c43}.caps-photo-help{background:#fff8df;border-left:4px solid var(--caps-gold);padding:10px 12px;border-radius:8px}.caps-submit-area{margin-top:22px}.caps-submit-button{min-height:62px;font-size:20px;border-radius:14px;box-shadow:0 8px 18px rgba(15,75,143,.22)}.caps-success-screen{background:#fff;border:2px solid #9fd3b2;border-radius:18px;padding:28px 20px;text-align:center;box-shadow:0 8px 24px rgba(21,44,73,.08)}.caps-success-icon{width:76px;height:76px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#157347;color:#fff;font-size:46px;font-weight:900}.caps-success-screen h2{font-size:28px;margin:6px 0;color:#146c43}.caps-success-screen p{font-size:17px}.caps-success-due{font-weight:800}.caps-new-tag-button{display:block;max-width:360px;margin:20px auto 0;text-decoration:none}.caps-submit-overlay[hidden]{display:none!important}.caps-submit-overlay{position:fixed;inset:0;z-index:999999;background:rgba(6,29,52,.9);display:flex;align-items:center;justify-content:center;padding:24px}.caps-submit-overlay-card{max-width:460px;width:100%;background:#fff;border-radius:20px;text-align:center;padding:34px 24px;border-top:6px solid var(--caps-gold);box-shadow:0 18px 50px rgba(0,0,0,.3)}.caps-submit-overlay-card h2{font-size:26px;color:var(--caps-blue);margin:14px 0 8px}.caps-submit-overlay-card p{font-size:17px;line-height:1.45}.caps-submit-overlay-card strong{display:block;font-size:20px;color:#9a2018;margin-top:16px}.caps-submit-overlay-card small{display:block;margin-top:8px;font-size:14px;color:var(--caps-muted)}.caps-spinner{width:58px;height:58px;margin:0 auto;border-radius:50%;border:6px solid #dce7f2;border-top-color:var(--caps-blue);animation:caps-spin .85s linear infinite}@keyframes caps-spin{to{transform:rotate(360deg)}}body.caps-submitting{overflow:hidden!important}
@media(max-width:600px){.caps-app.caps-public-form{padding:0 8px 24px}.caps-public-form .caps-hero{margin-top:4px}.caps-public-form .caps-hero h1{font-size:25px}.caps-public-form .caps-hero p{font-size:15px;line-height:1.4}.caps-public-form .caps-card{padding:14px}.caps-public-form .caps-form label{font-size:16px;margin-bottom:16px}.caps-public-form .caps-form input,.caps-public-form .caps-form select,.caps-public-form .caps-form textarea{min-height:52px;font-size:18px;padding:13px}.caps-public-form .caps-form textarea{min-height:92px}.caps-photo-grid{gap:8px}.caps-photo-button{min-height:125px;padding:12px 6px}.caps-submit-button{position:sticky;bottom:8px;z-index:20;border:3px solid #fff}.caps-fineprint{text-align:center;font-size:14px;line-height:1.4}.caps-success-screen{margin-top:8px;padding:28px 16px}.caps-success-screen h2{font-size:25px}.caps-submit-overlay-card{padding:30px 18px}.caps-submit-overlay-card h2{font-size:24px}}

/* v1.3.6 field-location helper */
.caps-public-form .caps-location-button{min-height:52px;font-size:16px;padding:13px 16px}
.caps-public-form .caps-location-status{font-size:14px;line-height:1.35;margin:8px 0 2px}
@media(max-width:600px){
  .caps-public-form .caps-location-button{min-height:58px;font-size:18px;border-radius:12px}
  .caps-public-form .caps-location-status{font-size:15px}
}

/* v1.3.7 — iPhone Home Screen / PWA refinements */
@media (display-mode: standalone) {
  html, body { overscroll-behavior-y: none; }
  .caps-standalone-body { min-height: 100vh; min-height: 100dvh; }
  .caps-app { padding-top: max(14px, env(safe-area-inset-top)); padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  .caps-staff-corner { top: max(12px, env(safe-area-inset-top)); }
}
.caps-install-tip {
  margin: 12px auto 16px;
  max-width: 760px;
  background: #fff;
  border: 2px solid #0f4b8f;
  border-radius: 16px;
  padding: 14px 48px 14px 16px;
  position: relative;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.35;
}
.caps-install-tip strong { display:block; margin-bottom:4px; font-size:18px; }
.caps-install-tip button { position:absolute; right:10px; top:10px; width:34px; height:34px; border:0; border-radius:50%; font-size:22px; background:#eef3f8; }
@media (max-width: 640px) {
  .caps-install-tip { margin-left: 10px; margin-right:10px; }
}
