/* Family access only. No trainer, public-site, provider iframe or payment logic changes. */
body.ik9-family-portal-page { background:#eef1f4; }
body.ik9-family-portal-page #masthead,
body.ik9-family-portal-page #colophon,
body.ik9-family-portal-page #page > .site-header,
body.ik9-family-portal-page #page > .site-footer,
body.ik9-family-portal-page [data-elementor-type="header"],
body.ik9-family-portal-page [data-elementor-type="footer"],
body.ik9-family-portal-page .elementor-location-header,
body.ik9-family-portal-page .elementor-location-footer,
body.ik9-family-portal-page #primary > article > .entry-header { display:none!important; }
body.ik9-family-portal-page #content,
body.ik9-family-portal-page #content > .ast-container,
body.ik9-family-portal-page #primary,
body.ik9-family-portal-page #main,
body.ik9-family-portal-page #primary > article { width:100%; max-width:none; min-width:0; margin:0; padding:0; border:0; background:transparent; }
body.ik9-family-portal-page #secondary { display:none; }
body.ik9-family-portal-page .entry-content > .elementor > .elementor-element { --container-default-padding-top:0; --container-default-padding-right:0; --container-default-padding-bottom:0; --container-default-padding-left:0; }
/* Extra specificity deliberately wins against saved page-id-2301 rules in either load order. */
.ik9-crm-portal.ik9-family-shell[data-ik9-family-shell] { --ik9-blue:#bc1326; --ik9-gold:#bc1326; --ik9-red:#bc1326; --ik9-text:#1b1e22; --ik9-muted:#52606d; --ik9-border:#d8dee5; display:block; width:calc(100% - 32px); max-width:1180px; min-width:0; margin:24px auto; overflow:visible; color:var(--ik9-text); background:#fff; border:1px solid var(--ik9-border); border-top:4px solid var(--ik9-red); border-radius:18px; box-shadow:0 10px 30px rgb(22 29 38 / 6%); font:400 16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; position:relative; }
.ik9-family-shell[data-ik9-family-shell], .ik9-family-shell[data-ik9-family-shell] * { box-sizing:border-box; }
.ik9-family-shell[data-ik9-family-shell] [hidden] { display:none!important; }
.ik9-family-shell[data-ik9-family-shell] a { color:#a51223; overflow-wrap:anywhere; }
.ik9-family-shell[data-ik9-family-shell] :is(a,button,summary,input,textarea,select):focus-visible { outline:3px solid #a51223!important; outline-offset:3px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-skip { position:absolute; left:16px; top:0; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; z-index:102; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-skip:focus { width:auto; height:auto; clip-path:none; background:#fff; padding:12px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--ik9-border); position:relative; background:#fff; border-radius:14px 14px 0 0; z-index:30; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-identity { display:flex; align-items:center; gap:14px; min-width:0; text-decoration:none!important; color:var(--ik9-text)!important; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-identity img { flex:0 0 100px; width:100px; height:56px; max-width:100px; object-fit:contain; background:#fff; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-identity strong { display:block; font-size:21px; line-height:1.25; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-identity small { display:block; font-size:14px; line-height:1.4; color:var(--ik9-muted); margin-top:4px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-site-link { flex:0 0 auto; font-size:14px; line-height:1.35; padding:10px 8px; min-height:44px; max-width:110px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-menu { position:static; margin:0; border:0; padding:0; flex:0 0 auto; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-menu > summary { display:flex; align-items:center; gap:10px; justify-content:center; min-width:54px; min-height:50px; padding:12px 14px; border-radius:12px; background:#181b20!important; border:1px solid #35393e; color:#fff!important; cursor:pointer; list-style:none; font-weight:700; font-size:15px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-menu > summary::-webkit-details-marker { display:none; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-hamburger { display:grid; gap:5px; width:23px; flex:0 0 23px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-hamburger i { display:block; height:3px; width:23px; border-radius:2px; background:#ed3043!important; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav.ik9-family-menu-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:absolute; top:calc(100% - 1px); left:0; right:0; max-height:calc(100vh - 180px); max-height:calc(100dvh - 180px); overflow:auto; overscroll-behavior:contain; padding:20px; margin:0; gap:18px; border:1px solid #35393e; border-radius:0 0 14px 14px; box-shadow:0 16px 24px rgb(0 0 0 / 16%); background:#181b20; z-index:31; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-menu:not([open]) > nav { display:none; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-nav-group { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-nav-heading { color:#cfd5db; width:auto; font-size:14px; font-weight:700; padding:6px 10px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav a { display:flex; align-items:center; padding:10px 12px; margin:0; min-height:46px; font-size:16px; line-height:1.4; color:#fff!important; border-radius:8px; text-decoration:none!important; white-space:normal; text-align:left; width:100%; grid-column:auto; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav a:hover { background:#303640; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav a[aria-current="page"] { background:#bc1326!important; color:#fff!important; font-weight:700; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav a:focus-visible { outline-color:#ffadb1!important; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid var(--ik9-border); padding:6px 12px; background:#fff; gap:4px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav a { display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 6px; min-width:0; min-height:48px; text-decoration:none!important; border-radius:10px; color:#4a5662!important; font-size:15px; line-height:1.3; font-weight:600; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav svg { width:22px; height:22px; flex:0 0 22px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav a[aria-current="page"] { color:#a51223!important; background:#fff0f2; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content { min-width:0; padding:28px; font-size:16px; line-height:1.55; color:var(--ik9-text); }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content :is(h1,h2,h3,h4,h5) { font-family:inherit; color:var(--ik9-text); line-height:1.25; font-weight:750; overflow-wrap:anywhere; padding:0; border:0; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content h1 { font-size:clamp(26px,4vw,34px); margin:0 0 12px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content h2 { font-size:22px; margin:22px 0 12px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content h3 { font-size:19px; margin:0 0 10px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content :is(p,dd,dt,li,small,legend,label,a) { overflow-wrap:anywhere; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content p { margin:0 0 16px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content :is(.ik9-crm-record,.ik9-crm-dog-card,.ik9-panel,.ik9-crm-subpanel) { background:#fff; min-width:0; padding:20px; border:1px solid var(--ik9-border); border-radius:12px; margin:16px 0; box-shadow:none; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-content :is(.ik9-crm-record,.ik9-crm-dog-card,.ik9-panel) > h2:first-child { margin-top:0; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-next { background:#f7f8fa; border:1px solid var(--ik9-border); padding:18px; margin:20px 0; border-radius:14px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-next > h2 { margin:0 0 14px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-visit-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-visit-list .ik9-crm-record { margin:0; padding:16px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-visit-list p { margin:8px 0; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px; margin:22px 0; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-card { display:flex; flex-direction:column; justify-content:space-between; gap:10px; text-decoration:none!important; border:1px solid var(--ik9-border); border-top:3px solid var(--ik9-red); border-radius:12px; box-shadow:none; padding:20px; margin:0; min-height:108px; min-width:0; background:#fff; color:var(--ik9-text)!important; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-card:hover { background:#fff8f9; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-card strong { color:#a51223; font-size:22px; line-height:1.25; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-card span { color:var(--ik9-text); font-size:16px; line-height:1.4; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-dog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-dog-card { margin:0!important; }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-grid,.ik9-crm-detail-grid,.ik9-crm-details) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin:0 0 16px; }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-detail-grid,.ik9-crm-details) div { min-width:0; padding:14px; border:1px solid var(--ik9-border); border-radius:10px; background:#f7f8fa; }
.ik9-family-shell[data-ik9-family-shell] dt { font-weight:700; }
.ik9-family-shell[data-ik9-family-shell] dd { margin:4px 0 0; }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-record-meta,.ik9-help,.ik9-crm-form small,.ik9-family-access-note) { font-size:14px; line-height:1.5; color:var(--ik9-muted); }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-badge { display:inline-block; white-space:normal; max-width:100%; background:#fff0f2; color:#991326; font-size:14px; line-height:1.4; padding:6px 10px; border:1px solid #f1c9ce; border-radius:20px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-notice,
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-empty,
.ik9-family-shell[data-ik9-family-shell] .ik9-family-offline { padding:16px; margin:0 0 20px; border:1px solid #d5dce3; border-radius:10px; background:#f4f6f8; color:#303e4b; font-size:16px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-notice.is-error { color:#8f1322; background:#fff1f2; border-color:#e5b1b8; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-notice.is-warning,
.ik9-family-shell[data-ik9-family-shell] .ik9-family-offline { color:#60450b; background:#fff8e8; border-color:#e4d3a9; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-form { margin:20px 0; padding:0; background:transparent; border:0; }
.ik9-family-shell[data-ik9-family-shell] fieldset { min-width:0; margin:0 0 24px; padding:18px; border:1px solid var(--ik9-border); border-radius:12px; }
.ik9-family-shell[data-ik9-family-shell] legend { float:none; width:auto; margin:0; padding:0 6px; font-size:18px; line-height:1.4; font-weight:700; color:var(--ik9-text); }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-form,.ik9-crm-login) label { display:block; color:var(--ik9-text); font-size:16px; line-height:1.45; font-weight:600; margin-bottom:14px; }
.ik9-family-shell[data-ik9-family-shell] :is(input,textarea,select):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]) { font-family:inherit; font-size:16px; line-height:1.4; width:100%; max-width:100%; min-width:0; min-height:48px; color:var(--ik9-text); background:#fff; border:1px solid #8a949f; border-radius:8px; margin:6px 0 0; padding:11px 12px; box-shadow:none; }
.ik9-family-shell[data-ik9-family-shell] textarea { resize:vertical; }
.ik9-family-shell[data-ik9-family-shell] :is(input[type=checkbox],input[type=radio]) { width:20px; height:20px; min-height:20px; margin:0 8px 0 0; vertical-align:middle; accent-color:#bc1326; }
.ik9-family-shell[data-ik9-family-shell] input[type=file] { padding:8px!important; overflow:hidden; }
.ik9-family-shell[data-ik9-family-shell] input::file-selector-button { font:inherit; margin-right:8px; padding:8px; border:1px solid #8a949f; background:#f5f6f8; border-radius:4px; }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-button,.ik9-btn,.button,input[type=submit],button[type=submit]) { min-height:48px; max-width:100%; padding:12px 18px; font-family:inherit; font-size:16px; line-height:1.4; font-weight:700; background:#bc1326!important; color:#fff!important; border:1px solid #bc1326!important; border-radius:9px; text-decoration:none!important; white-space:normal; text-align:center; overflow-wrap:anywhere; box-shadow:none; }
.ik9-family-shell[data-ik9-family-shell] :is(a.ik9-crm-button,a.ik9-btn) { display:inline-flex; align-items:center; justify-content:center; }
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-button.is-secondary,.ik9-btn-secondary) { background:#fff!important; color:#a51223!important; border-color:#c5ccd3!important; }
.ik9-family-shell[data-ik9-family-shell] button:disabled { opacity:.55; cursor:not-allowed; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-footer { padding:0 28px 20px; border:0; background:#fff; color:var(--ik9-muted); border-radius:0 0 18px 18px; text-align:left; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-help { border-top:1px solid var(--ik9-border); padding:12px 0 4px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-help > summary { min-height:44px; padding:10px 4px; cursor:pointer; color:var(--ik9-text); font-weight:600; font-size:15px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-help p { margin:8px 0; font-size:14px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-help nav,
.ik9-family-shell[data-ik9-family-shell] .ik9-family-utilities { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-help nav a,
.ik9-family-shell[data-ik9-family-shell] .ik9-family-utilities button { font:600 14px/1.5 system-ui,sans-serif; padding:10px 0; min-height:44px; color:#a51223; background:none; border:0; text-decoration:underline; cursor:pointer; text-align:left; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-copyright { margin:12px 0 0; font-size:13px; color:#5c6874; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-login { max-width:460px; width:100%; margin:0 auto; padding:4px 0 8px; border:0; border-top:0; border-radius:0; box-shadow:none; background:#fff; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-eyebrow { color:#a51223; font-size:13px; font-weight:750; letter-spacing:.09em; margin-bottom:10px; }
.ik9-family-shell[data-ik9-family-shell] .login-remember label { display:flex; align-items:center; min-height:44px; font-size:14px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-login :is(p.login-submit,input[type=submit]) { width:100%; }
.ik9-family-shell[data-ik9-family-shell] .ik9-crm-login-help a { display:inline-flex; align-items:center; min-height:44px; }
.ik9-family-shell[data-ik9-family-shell] img { max-width:100%; }
.ik9-family-shell[data-ik9-family-shell] :is(video,audio) { max-width:100%; }
.ik9-family-shell[data-ik9-family-shell] .ik9-money-workflow dl { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
/* Scheduling dashboard envelope only: never reveal inactive tabs or alter handlers. */
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .latepoint-w { max-width:100%; width:100%; min-width:0; font-family:inherit; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .latepoint-login-form-w { max-width:460px; width:100%; margin:20px auto; padding:16px; box-shadow:none; border:1px solid var(--ik9-border); border-radius:12px; }
.ik9-family-shell[data-ik9-family-shell] .customer-dashboard-tabs { display:flex; flex-wrap:wrap; gap:8px; white-space:normal; margin:20px 0; }
.ik9-family-shell[data-ik9-family-shell] .customer-dashboard-tabs .latepoint-tab-trigger { flex:1 1 120px; white-space:normal; text-align:center; padding:12px; min-height:48px; line-height:1.4; font-size:16px; border:1px solid var(--ik9-border); border-radius:8px; color:#303c48; }
.ik9-family-shell[data-ik9-family-shell] .customer-dashboard-tabs .latepoint-tab-trigger.active { background:#fff0f2; color:#a51223; border-color:#a51223; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling :is(.customer-bookings-tiles,.customer-orders-tiles) { display:flex; flex-wrap:wrap; gap:16px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling :is(.customer-booking,.customer-order,.customer-bundle-tile,.new-booking-tile) { max-width:100%; min-width:0; flex:1 1 300px; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .latepoint-btn { min-height:44px; font-size:16px; line-height:1.4; white-space:normal; }
.ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .latepoint-btn-primary { background:#bc1326; color:#fff; }
/* Only a proven replacement launcher is marked by the JS. Panels and consent banners stay intact. */
body.ik9-family-portal-page [data-ik9-family-proxied-launcher] { position:fixed!important; width:1px!important; height:1px!important; clip-path:inset(50%)!important; overflow:hidden!important; pointer-events:none!important; }
@media(max-width:760px) {
 .ik9-crm-portal.ik9-family-shell[data-ik9-family-shell] { width:calc(100% - 20px); margin:12px auto; border-radius:14px; }
 .ik9-crm-portal.ik9-family-shell[data-ik9-family-shell].has-family-navigation { margin-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-header { gap:12px; padding:12px 14px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity { gap:10px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity img { width:64px; max-width:64px; flex-basis:64px; height:48px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity strong { font-size:18px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity small { font-size:13px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-menu-caption { display:none; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-nav.ik9-family-menu-links { grid-template-columns:1fr; gap:12px; padding:16px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav { position:fixed; left:0; right:0; bottom:0; z-index:25; border-top:1px solid var(--ik9-border); border-bottom:0; padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px)); box-shadow:0 -4px 18px rgb(20 29 40 / 5%); gap:2px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-quicknav a { flex-direction:column; gap:4px; min-height:58px; padding:6px 2px; font-size:13px; line-height:1.35; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content { padding:22px 16px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content h1 { font-size:28px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content h2 { font-size:21px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-next { padding:14px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content :is(.ik9-crm-record,.ik9-crm-dog-card,.ik9-panel) { padding:16px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-card { padding:14px; min-height:112px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-card span { font-size:15px; }
 .ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-grid,.ik9-crm-detail-grid,.ik9-crm-details,.ik9-crm-dog-grid) { grid-template-columns:1fr; }
 .ik9-family-shell[data-ik9-family-shell] fieldset { padding:14px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-footer { padding:0 16px 18px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-site-link { max-width:74px; font-size:13px; }
 .ik9-family-shell[data-ik9-family-shell].ik9-family-editing .ik9-family-quicknav { display:none; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .os-row { flex-wrap:wrap; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .os-row > .os-col-6 { width:100%; max-width:100%; flex-basis:100%; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-scheduling .latepoint-tab-content { min-width:0; padding-left:0; padding-right:0; }
}
@media(max-width:360px) {
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity img { width:50px; max-width:50px; flex-basis:50px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-family-identity strong { font-size:17px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content { padding:20px 12px; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-cards { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .ik9-family-shell[data-ik9-family-shell] * { scroll-behavior:auto!important; transition:none!important; } }
@media print {
 body.ik9-family-portal-page { background:#fff; }
 .ik9-family-shell[data-ik9-family-shell] { width:100%!important; border:0!important; box-shadow:none!important; margin:0!important; }
 .ik9-family-shell[data-ik9-family-shell] :is(.ik9-family-menu,.ik9-family-quicknav,.ik9-family-footer,.ik9-family-skip,.ik9-family-offline) { display:none!important; }
 .ik9-family-shell[data-ik9-family-shell] .ik9-crm-content { padding:12px 0; }
}

/* Native date controls must not impose an intrinsic minimum on a narrow grid. */
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-grid,.ik9-crm-details,.ik9-crm-detail-grid),
.ik9-family-shell[data-ik9-family-shell] :is(.ik9-crm-grid,.ik9-crm-details,.ik9-crm-detail-grid) > *,
.ik9-family-shell[data-ik9-family-shell] label { min-width:0; max-width:100%; }
body.ik9-family-portal-page .ik9-site-footer { display:none!important; }

/* Duplicate outer page titles only; portal and gallery content headings remain. */
body.ik9-family-portal-page [data-ik9-family-duplicate-title],
body.ik9-family-portal-page #primary > #main > article > .entry-header,
body.ik9-family-portal-page #primary > .site-main > article > .entry-header,
body.ik9-family-portal-page #primary > .page-header,
body.ik9-family-portal-page #main > .page-header {display:none!important;}
