.tt-family-dialog{width:min(720px,calc(100% - 24px));max-height:min(880px,calc(100vh - 28px));padding:0;border:0;border-radius:28px;background:#fff;color:#161a25;box-shadow:0 28px 90px rgba(0,0,0,.32);overflow:auto}.tt-family-dialog::backdrop{background:rgba(5,10,31,.72);backdrop-filter:blur(5px)}.tt-family-form{position:relative;padding:30px}.tt-family-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:1px solid #dfe4ee;border-radius:50%;background:#fff;color:#252a37;font-size:1.5rem;line-height:1;cursor:pointer}.tt-family-heading{display:flex;gap:15px;align-items:flex-start;padding-right:42px;margin-bottom:24px}.tt-family-heading h2{margin:.15rem 0 .45rem;font-size:clamp(2rem,6vw,3.35rem);line-height:.96;letter-spacing:-.045em}.tt-family-heading p:not(.tt-eyebrow){margin:0;color:#626c80;line-height:1.55}.tt-family-paw{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:18px;background:linear-gradient(135deg,#fff0df,#fff9ef);font-size:1.7rem}.tt-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tt-family-full{grid-column:1/-1}.tt-family-selected-summary{display:grid;gap:4px;padding:16px 18px;border:1px solid #cfd8ff;border-radius:16px;background:#f5f7ff}.tt-family-selected-summary[hidden]{display:none!important}.tt-family-field[hidden],#tt-family-permissions[hidden],#tt-family-photo-block[hidden]{display:none!important}.tt-family-selected-summary span{color:#59647b;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tt-family-selected-summary strong{color:#161a25;font-size:1.18rem}.tt-family-selected-summary small{color:#626c80;font-size:.86rem;font-weight:650}.tt-family-selected-row{display:flex;align-items:center;gap:14px}.tt-family-selected-copy{display:grid;gap:4px;min-width:0}.tt-family-selected-avatar{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#101f9a,#3146cf);color:#fff;font-size:1rem;font-weight:900;letter-spacing:.02em}.tt-family-selected-avatar img{width:100%;height:100%;object-fit:cover}.tt-family-selected-avatar-fallback{font-size:.92rem}.tt-family-field{display:grid;gap:7px;color:#222838;font-weight:850}.tt-family-field input,.tt-family-field select{width:100%;min-height:50px;padding:12px 13px;border:1px solid #d9dfeb;border-radius:14px;background:#fff;color:#151a25;outline:none}.tt-family-field input:focus,.tt-family-field select:focus{border-color:#7b8bf2;box-shadow:0 0 0 4px rgba(16,31,154,.08)}.tt-family-field small,.tt-family-photo-block small,.tt-family-check small{color:#6d7586;font-size:.78rem;font-weight:500;line-height:1.45}.tt-family-permissions{display:grid;gap:10px;margin:20px 0}.tt-family-check{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #e0e5ee;border-radius:15px;background:#fafbfe;color:#303746;font-size:.9rem;line-height:1.45}.tt-family-check input{margin-top:3px;accent-color:#101f9a}.tt-family-check span,.tt-family-check strong,.tt-family-check small{display:block}.tt-family-check.is-dependent{margin-left:24px;background:#fff}.tt-family-photo-block{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;padding:16px;border:1px solid #e0e5ee;border-radius:18px;background:#f8f9fc;transition:.2s ease}.tt-family-photo-block.is-disabled{opacity:.55}.tt-family-photo-preview{display:grid;place-items:center;width:112px;height:112px;border-radius:22px;background:linear-gradient(135deg,#101f9a,#3146cf);color:#fff;font-size:2rem;overflow:hidden}.tt-family-photo-preview img{width:100%;height:100%;object-fit:cover}.tt-family-photo-label{display:grid;gap:7px;font-weight:850}.tt-family-photo-label input{max-width:100%}.tt-family-photo-consent{margin-top:10px;padding:10px 0 0;border:0;border-top:1px solid #e1e5ed;border-radius:0;background:transparent}.tt-family-status{min-height:22px;margin:16px 0 0;font-size:.9rem;font-weight:750}.tt-family-status[data-type="error"]{color:#b42318}.tt-family-status[data-type="success"]{color:#137333}.tt-family-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.tt-family-actions .tt-button{min-width:150px}.tt-class-card .tt-button{cursor:pointer}.tt-support-note{max-width:920px}@media(max-width:640px){.tt-family-dialog{width:min(100% - 12px,720px);max-height:calc(100vh - 12px);border-radius:22px}.tt-family-form{padding:24px 18px}.tt-family-heading{gap:10px}.tt-family-paw{width:46px;height:46px;flex-basis:46px;border-radius:15px}.tt-family-grid{grid-template-columns:1fr}.tt-family-full{grid-column:auto}.tt-family-check.is-dependent{margin-left:0}.tt-family-photo-block{grid-template-columns:82px 1fr}.tt-family-photo-preview{width:82px;height:82px;border-radius:18px}.tt-family-actions{flex-direction:column-reverse}.tt-family-actions .tt-button{width:100%}}


/* Tiger Trot registration and directory, October 2026. */
#tt-support .tt-support-tools{display:flex;align-items:flex-end;gap:16px}
#tt-support .tt-search{flex:1;min-width:0}
#tt-support .tt-support-tools > .tt-button{flex:0 0 auto;min-height:50px}
#tt-student-empty p{margin:0 0 16px}
.tt-family-form [hidden],.tt-quick-actions [hidden],.tt-shoutout-cta [hidden]{display:none!important}
.tt-family-heading h2{font-size:clamp(1.7rem,5vw,2.35rem);line-height:1.12;letter-spacing:-.035em}
.tt-family-grid > *{min-width:0}
.tt-family-preview{margin:0 0 22px;padding:16px;border:1px solid #e8bf79;border-radius:14px;background:#fff6e6;color:#684716;font-size:.9rem;line-height:1.5}
.tt-family-preview strong{font-size:.75rem;letter-spacing:.04em}
.tt-family-preview p{margin:.5rem 0}
.tt-family-preview a{color:inherit;font-weight:750;text-decoration:underline}
.tt-family-status[data-type=""]{color:#4b5563}
.tt-family-success{padding:22px;border:1px solid #b5dac2;border-radius:18px;background:#f0faf3}
.tt-family-success > strong{display:block;font-size:1.3rem}
.tt-family-success > p{margin:.5rem 0 18px;color:#526258}
.tt-family-existing{border:0;padding:10px 0;background:transparent;color:#101f9a;font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}
.tt-preview-help{max-width:560px!important;padding:12px 16px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:rgba(0,0,0,.16);font-size:.88rem!important;line-height:1.5!important}
.tt-preview-help a{color:#fff;font-weight:750;text-decoration:underline}
@media(max-width:520px){#tt-support .tt-support-tools{align-items:stretch;flex-direction:column}.tt-family-success .tt-button{width:100%;text-align:center}.tt-family-preview{font-size:.82rem}}
