.public-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.public-top-actions select{min-height:38px}
.public-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:28px;align-items:center;min-height:calc(100vh - 130px);padding:28px 0 50px}
.public-hero{padding:18px 8px}
.eyebrow{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
body[data-theme='dark'] .eyebrow{background:#172554;color:#93c5fd}
.public-hero h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0 14px;max-width:760px}
.public-hero>p{max-width:690px;font-size:1.08rem;line-height:1.65;color:var(--muted);margin:0 0 24px}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.public-feature-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.public-feature-card strong{display:block;margin:8px 0 6px}
.public-feature-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.feature-icon{font-size:1.45rem}
.public-trust-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:.9rem;font-weight:700}
.auth-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:22px;padding:26px;box-shadow:0 24px 70px rgba(15,23,42,.14)}
.auth-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.auth-card-heading h2{margin:0 0 4px;font-size:1.55rem}
.auth-card-heading p{margin:0}
.auth-logo-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#2563eb;color:#fff;font-weight:900;letter-spacing:-.04em}
.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:700}
.auth-form input,.auth-form select,.auth-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--input-border);border-radius:10px;background:var(--input-bg);color:var(--text);font:inherit}
.auth-form textarea{resize:vertical;line-height:1.5}
.auth-submit,.auth-secondary{width:100%;min-height:48px;font-weight:800}
.password-field{position:relative}
.password-field input{padding-right:48px}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;width:38px;height:38px;border-radius:8px}
.password-toggle:hover{background:rgba(100,116,139,.12)}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;margin:18px 0 12px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--panel-border);flex:1}
.auth-help{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:.86rem}
.auth-help a,.contact-info-card a{color:#2563eb;text-decoration:none;font-weight:700}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.registration-steps{display:grid;gap:12px;max-width:650px}
.registration-steps>div{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:13px 15px}
.registration-steps span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#2563eb;color:white;font-weight:900;flex:0 0 auto}
.registration-steps p{margin:0;color:var(--text);font-weight:700}
.registration-note{font-size:.82rem;color:var(--muted);line-height:1.5;margin:15px 0 0}
.contact-info-card{max-width:560px;background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:18px}
.contact-info-card p{color:var(--muted);line-height:1.55}
.contact-inbox{display:grid;gap:10px}
.contact-message-card{border:1px solid var(--panel-border);border-radius:12px;padding:14px;background:var(--panel)}
.contact-message-card.is-new{border-left:5px solid #2563eb}
.contact-message-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.contact-message-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin:8px 0}
.contact-message-body{white-space:pre-wrap;line-height:1.55;margin:10px 0}
.contact-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800;background:#dbeafe;color:#1d4ed8}
.contact-status.resolved{background:#dcfce7;color:#166534}

@media (max-width:900px){
  .public-shell{grid-template-columns:1fr;min-height:auto;padding-top:12px}
  .public-hero h2{font-size:clamp(2rem,9vw,3.5rem)}
  .public-feature-grid{grid-template-columns:1fr}
  .auth-card{max-width:620px;width:100%;margin:0 auto}
}

@media (max-width:520px){
  .public-top-actions{gap:5px}
  .public-top-actions .btn{min-height:38px;padding:7px 9px;font-size:.82rem}
  .public-top-actions select{max-width:112px;font-size:.82rem}
  .public-shell{gap:12px;padding-bottom:24px}
  .public-hero{padding:6px 0}
  .public-hero h2{margin-top:12px}
  .auth-card{padding:18px;border-radius:16px}
  .public-trust-row{flex-direction:column;gap:7px}
}
