/* Customer portal (/) — extracted verbatim from the legacy templates/ELCAPP.html
   inline <style> block during the 2026-08 esbuild port. Loaded by
   templates/elcapp_portal.html with ?v={{ bundle_v }} cache-busting. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:#f8fafc;color:#0f172a;font-family:'Barlow',sans-serif;overflow-x:hidden}
.bc{font-family:'Barlow Condensed',sans-serif}.mono{font-family:'JetBrains Mono',monospace}
input,select,textarea{background:#fff;border:1px solid rgba(0,0,0,0.12);color:#0f172a;font-family:'Barlow',sans-serif;font-size:14px;padding:10px 14px;border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}
input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,0.12)}
input::placeholder,textarea::placeholder{color:#94a3b8}select option{background:#fff}
.btn{border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;padding:10px 24px;border-radius:6px;transition:all .18s;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.bb{background:#2563eb;color:#fff}.bb:hover{background:#1d4ed8;transform:translateY(-1px)}
.bg{background:#d97706;color:#fff}.bg:hover{background:#b45309;transform:translateY(-1px)}
.bo{background:transparent;color:#475569;border:1px solid rgba(0,0,0,0.15)}.bo:hover{border-color:#3b82f6;color:#2563eb}
.bgh{background:transparent;color:#64748b}.bgh:hover{color:#0f172a}
.card{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:12px;transition:border-color .2s}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px}
.b-bl{background:rgba(219,234,254,0.8);color:#1d4ed8}
.b-go{background:rgba(254,243,199,0.85);color:#b45309}
.b-gr{background:rgba(220,252,231,0.75);color:#15803d}
.b-rd{background:rgba(254,226,226,0.75);color:#b91c1c}
.b-sl{background:rgba(226,232,240,0.8);color:#334155}
.lbl{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:5px;display:block}
.gbg{background-image:linear-gradient(rgba(37,99,235,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,0.05) 1px,transparent 1px);background-size:44px 44px}
.sec-hdr{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,0.08)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-20deg)}50%{transform:translateY(-14px) rotate(-20deg)}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}}
.fadein{animation:fadein .35s ease both}
