/* Emergency contacts — light S2 branding (navy #1F2A44, copper #B87333), mobile first */
.ec-form{display:flex;flex-direction:column;gap:10px}
.ec-form label,.ec-signup label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px;color:#1F2A44}
.ec-form input,.ec-signup input{font:inherit;font-weight:400;font-size:16px;padding:10px 12px;border:1px solid #c9cfda;border-radius:10px;background:#fff;min-height:44px}
.ec-form input:focus,.ec-signup input:focus{outline:3px solid #B87333;outline-offset:1px;border-color:#B87333}
.ec-fs,.ec-signup{border:1px solid #e1e5ec;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;margin:0}
.ec-fs legend,.ec-signup legend{font-weight:700;color:#1F2A44;padding:0 4px}
.ec-note{background:#fbf3ec;border-left:4px solid #B87333;border-radius:8px;padding:8px 10px;margin:0;font-size:13px;color:#3b3328}
.ec-req{font-size:11px;font-weight:700;color:#B87333;text-transform:uppercase}
.ec-opt{font-size:11px;font-weight:500;color:#6b7383}
.ec-muted{color:#5b6475;font-size:12px}
.ec-err{color:#b3261e;font-weight:600;margin:0}
.ec-btn{font:inherit;font-weight:700;border:0;border-radius:10px;background:#1F2A44;color:#fff;padding:10px 16px;min-height:44px;cursor:pointer}
.ec-btn.sec{background:#fff;color:#1F2A44;border:1px solid #1F2A44}
.ec-btn.big{background:#B87333;font-size:16px;min-height:48px}
.ec-link{font:inherit;background:none;border:0;color:#1F2A44;text-decoration:underline;padding:8px;cursor:pointer;min-height:40px}
.ec-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ec-gate{border:0;padding:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;background:#f5f6f9}
.ec-gate::backdrop{background:#1F2A44}
.ec-gate-in{max-width:520px;margin:0 auto;padding:24px 16px 32px;display:flex;flex-direction:column;gap:10px}
.ec-gate h2{margin:0;color:#1F2A44}
.ec-brand{font-weight:800;color:#B87333;letter-spacing:.04em}
.ec-prompt{position:fixed;top:calc(var(--ga-top,56px) + 6px);left:max(8px,env(safe-area-inset-left));z-index:1200;display:flex;align-items:center;gap:6px;max-width:min(330px,calc(100vw - 76px));padding:4px 4px 4px 10px;background:#1F2A44;color:#fff;border:1px solid #B87333;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.3);font-size:13px;line-height:1.2;transition:opacity .3s,transform .3s}
.ec-prompt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.ec-prompt .ec-btn{min-height:30px;padding:4px 12px;border-radius:999px;font-size:13px;background:#B87333}
.ec-prompt .ec-x{min-width:30px;min-height:30px;border:0;background:transparent;color:#c9d2e3;font-size:15px;cursor:pointer;border-radius:50%}
.ec-prompt.ec-gone{opacity:0;transform:translateY(-8px);pointer-events:none}
body.ga-land .ec-prompt{left:calc(var(--ga-rail,58px) + 8px)}
body.ga-land:not([data-sheet=peek]) .ec-prompt{left:calc(var(--ga-rail,58px) + var(--ga-side,340px) + 8px)}
.ec-sw{display:flex;align-items:center;gap:10px;cursor:pointer}
.ec-sw input{position:absolute;opacity:0}
.ec-sw span{width:46px;height:26px;border-radius:13px;background:#c9cfda;position:relative;flex:none;transition:.15s}
.ec-sw span::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.15s}
.ec-sw input:checked+span{background:#B87333}
.ec-sw input:checked+span::after{left:23px}
.ec-sw input:focus-visible+span{outline:3px solid #1F2A44}
.ec-hist{font-size:13px;padding-left:18px}
/* The app shell is dark: keep these cards light and readable */
.records-card.ec-card,.records-card.ec-admin{background:#fff;color:#1F2A44;border-color:#e1e5ec}
.records-card.ec-card .card-title,.records-card.ec-admin .card-title{color:#1F2A44}
.ec-signup{background:#fff;color:#1F2A44}
.ec-gate{color:#1F2A44}
.ec-form input,.ec-signup input,.records-card .ec-form input,.login-card .ec-signup input{width:100%;margin:0;color:#1F2A44;background:#fff;border:1px solid #c9cfda;font-size:16px;padding:10px 12px;border-radius:10px}
.ec-form input::placeholder,.ec-signup input::placeholder{color:#8a93a3}
.records-card .ec-form label,.login-card .ec-signup label{color:#1F2A44;margin:0}
.records-card .ec-sw input{width:1px;height:1px;margin:0;padding:0;border:0}
.ec-sw span{display:inline-block}
.ec-sw b,.ec-admin p,.ec-admin summary,.ec-admin li{color:#1F2A44}

/* SMS consent (SMS_CONSENT_REQUIREMENT.md) */
.ec-consent{display:flex!important;gap:10px;align-items:flex-start;background:#fbf6f1;border:1px solid #e3cdb8;border-radius:10px;padding:10px 12px;margin:8px 0;font-size:14px;line-height:1.35;color:#1F2A44}
.ec-consent[hidden]{display:none!important}
.ec-consent input{flex:0 0 auto;width:22px!important;height:22px;margin:1px 0 0!important;accent-color:#B87333}
.ec-consent a,.ec-disc a{color:#8a5426;text-decoration:underline}
.ec-disc{background:#f4f6fa;border-radius:10px;padding:8px 12px;margin:10px 0;color:#1F2A44;font-size:13px}
.ec-disc summary{font-weight:700;cursor:pointer;color:#1F2A44}
.ec-disc ul{margin:6px 0 0;padding-left:18px}.ec-disc li{margin:3px 0;color:#1F2A44}
.ec-badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700;margin:6px 0}
.ec-badge.ok{background:#e4f3e8;color:#1d6b35}.ec-badge.warn{background:#fdf0e1;color:#8a5426}.ec-badge.off{background:#f7e3e3;color:#9b2c2c;border-radius:10px}
