/* 311 Snap – sign in */
.imc-lg{--lg-accent:#2563eb;--lg-line:#e5e7eb;--lg-muted:#6b7280;display:flex;flex-direction:column;align-items:center;padding:1.5rem .75rem 2rem;font-size:15px;line-height:1.45;color:#111827;width:100%;box-sizing:border-box}
.imc-lg *,.imc-lg *::before,.imc-lg *::after{box-sizing:border-box}
.imc-lg-card{width:100%;max-width:440px;background:#fff;border:1px solid var(--lg-line);border-radius:16px;padding:1.5rem 1.6rem 1.4rem;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.imc-lg-brand{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-bottom:1rem}
.imc-lg-brand strong{font-size:1.5em;letter-spacing:-.01em}
.imc-lg-brand span{color:var(--lg-muted);font-size:.9em}
.imc-lg-tabs{display:flex;border-bottom:1px solid var(--lg-line);margin-bottom:1rem}
.imc-lg-tabs a{flex:1;text-align:center;padding:.6rem .3rem;text-decoration:none!important;color:#374151;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.92em}
.imc-lg-tabs a.is-on{color:var(--lg-accent);border-bottom-color:var(--lg-accent)}
.imc-lg-msg{padding:.6rem .8rem;border-radius:10px;margin-bottom:.9rem;font-size:.93em}
.imc-lg-msg-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.imc-lg-msg-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.imc-lg-form label{display:block;font-weight:600;font-size:.9em;margin:.7rem 0 .3rem}
.imc-lg-form input[type=text],.imc-lg-form input[type=email],.imc-lg-form input[type=password]{width:100%;padding:.7rem .85rem;border:1px solid #d1d5db;border-radius:10px;font:inherit;color:inherit;background:#fff;margin:0;height:auto;box-shadow:none}
.imc-lg-form input:focus{outline:0;border-color:var(--lg-accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.imc-lg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.imc-lg-pw{position:relative}
.imc-lg-pw input{padding-right:2.8rem!important}
.imc-lg-eye{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:0!important;background:transparent!important;color:#6b7280!important;padding:.4rem!important;cursor:pointer;border-radius:8px;min-height:0!important;line-height:0}
.imc-lg-eye:hover,.imc-lg-eye.is-on{color:#111827!important}
.imc-lg-check{display:flex!important;align-items:center;gap:.45rem;font-weight:400!important;margin:.8rem 0 .2rem!important}
.imc-lg-check input{width:auto!important;margin:0!important}
.imc-lg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid #d1d5db;background:#fff;color:#111827!important;padding:.7rem 1rem;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2}
.imc-lg-btn:hover,.imc-lg-btn:focus-visible{background:#f3f4f6!important;color:#111827!important}
.imc-lg-btn-primary{background:var(--lg-accent);border-color:var(--lg-accent);color:#fff!important}
.imc-lg-btn-primary:hover,.imc-lg-btn-primary:focus-visible{background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important}
.imc-lg-submit{width:100%;margin-top:.9rem;padding:.8rem 1rem;font-size:1.02em}
.imc-lg-links{text-align:center;margin:.9rem 0 0;font-size:.92em}
.imc-lg-links a{color:var(--lg-accent)}
.imc-lg-help{color:var(--lg-muted);font-size:.92em;margin:.2rem 0 .4rem}
.imc-lg-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.imc-lg-meter{height:6px;background:#e5e7eb;border-radius:999px;margin:.45rem 0 .2rem;position:relative}
.imc-lg-meter i{display:block;height:100%;border-radius:999px;width:0;background:#ef4444;transition:width .2s,background .2s}
.imc-lg-meter span{display:block;font-size:.8em;color:var(--lg-muted);margin-top:.25rem}
.imc-lg-meter.is-0 i{width:10%;background:#ef4444}.imc-lg-meter.is-1 i{width:35%;background:#f97316}.imc-lg-meter.is-2 i{width:60%;background:#eab308}.imc-lg-meter.is-3 i{width:80%;background:#22c55e}.imc-lg-meter.is-4 i{width:100%;background:#16a34a}
.imc-lg-foot{margin:1rem 0 0;font-size:.9em}
.imc-lg-foot a{color:var(--lg-muted);text-decoration:none}
