.aniko-public { max-width: 1240px; margin: 0 auto; padding: 42px 20px 80px; color: #173d32; }
.aniko-public-hero { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 42px; border-radius: 28px; background: linear-gradient(135deg, #e9f9f1, #fff4dc); box-shadow: 0 20px 60px rgba(18, 94, 69, .1); }
.aniko-public-hero h1 { font-size: clamp(2.4rem, 6vw, 5rem); line-height: .95; margin: 10px 0 18px; }
.aniko-public-hero p { max-width: 680px; font-size: 1.08rem; line-height: 1.7; margin: 0; }
.aniko-public-hero span { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: #15835d; }
.aniko-public-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); gap: 24px; margin-top: 24px; align-items: start; }
.aniko-public-card { padding: 30px; border: 1px solid #d9e9e2; border-radius: 22px; background: #fff; box-shadow: 0 12px 35px rgba(31, 72, 59, .07); }
.aniko-public-card h2 { margin-top: 0; font-size: 1.6rem; }
.aniko-public-form { display: grid; gap: 16px; margin-top: 24px; }
.aniko-public-form label { display: grid; gap: 7px; font-weight: 700; }
.aniko-public-form input, .aniko-public-form select, .aniko-public-form textarea { width: 100%; border: 1px solid #bdcfc8; border-radius: 11px; padding: 12px 13px; background: #fff; font: inherit; color: #173d32; }
.aniko-public-form input:focus, .aniko-public-form select:focus, .aniko-public-form textarea:focus { outline: 3px solid rgba(21, 131, 93, .16); border-color: #15835d; }
.aniko-public-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.aniko-public-form fieldset { display: grid; gap: 14px; border: 1px solid #d9e9e2; border-radius: 14px; padding: 18px; }
.aniko-public-form legend { padding: 0 8px; font-weight: 800; }
.aniko-public-form small { font-weight: 400; color: #64756f; }
.aniko-public-form .aniko-public-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.aniko-public-consent input { width: auto; margin-top: 4px; }
.aniko-public-button { display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 999px; padding: 13px 22px; background: #15835d; color: #fff; text-decoration: none; font: inherit; font-weight: 800; cursor: pointer; }
.aniko-public-button--ghost { background: #fff; color: #146b4e; border: 1px solid #b9d9cb; white-space: nowrap; }
.aniko-public-info { position: sticky; top: 24px; }
.aniko-public-info ol { display: grid; gap: 17px; padding-left: 22px; line-height: 1.55; }
.aniko-public-notice { margin-top: 20px; padding: 14px 18px; border-radius: 12px; }
.aniko-public-notice.is-ok { background: #e9f9f1; color: #126445; }
.aniko-public-notice.is-error { background: #fff0ee; color: #a52a22; }
.aniko-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 24px 0; }
.aniko-account-heading { display: flex; justify-content: space-between; gap: 16px; }
.aniko-account-heading span { color: #64756f; }
.aniko-account-heading .aniko-status { align-self: flex-start; border-radius: 999px; padding: 6px 10px; background: #e9f9f1; color: #126445; font-size: .78rem; font-weight: 800; }
.aniko-balance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.aniko-balance-grid > div { padding: 17px; border-radius: 14px; background: #f3faf7; }
.aniko-balance-grid small, .aniko-balance-grid strong { display: block; }
.aniko-balance-grid strong { font-size: 1.55rem; margin-top: 5px; }
.aniko-account-note { color: #64756f; line-height: 1.5; }
@media (max-width: 850px) {
    .aniko-public-grid, .aniko-account-grid { grid-template-columns: 1fr; }
    .aniko-public-info { position: static; }
    .aniko-public-hero { align-items: flex-start; flex-direction: column; padding: 30px; }
}
@media (max-width: 560px) {
    .aniko-public { padding: 24px 14px 60px; }
    .aniko-public-hero, .aniko-public-card { padding: 22px; border-radius: 18px; }
    .aniko-public-form-row, .aniko-balance-grid { grid-template-columns: 1fr; }
}
