/* NALAROO — Membership Panel Compact Refinement v1.2.
   Parent-only storybook UI; no new imagery, system emoji or ambient effects. */
.family-plan-dialog{
 box-sizing:border-box;width:min(730px,calc(100vw - 24px));
 max-width:730px;max-height:min(92dvh,740px);padding:0;
 border:2px solid #cdb58f;border-radius:26px;
 background:#fff9ee;color:#3b5846;
 font:650 14px/1.5 Nunito,system-ui,sans-serif;
 box-shadow:0 20px 65px #304c3960;
}
.family-plan-dialog[open]{
 display:grid;grid-template-rows:auto minmax(0,1fr) auto;
 overflow:hidden;
}
.family-plan-dialog::backdrop{background:#1f393a70;backdrop-filter:blur(4px)}
/* Header and action bar are separate grid rows: never scroll out of reach. */
.family-plan-header{
 display:flex;justify-content:space-between;align-items:center;
 gap:14px;padding:15px 22px;background:#e8f1e3;
 border-bottom:1px solid #d0dcbf;z-index:2;
}
.family-plan-kicker{
 display:block;font-size:10px;font-weight:900;
 letter-spacing:.09em;color:#70815e;
}
.family-plan-header h2{
 margin:2px 0 0;font-size:clamp(21px,2.5vw,27px);
 line-height:1.2;color:#35584b;
}
.family-plan-close{
 min-height:44px;min-width:55px;flex:0 0 auto;
 border-radius:13px;border:1px solid #d9c7ad;
 background:#fff9ee;color:#45624d;
 font:800 13px Nunito,system-ui;cursor:pointer;
}
.family-plan-body{
 min-height:0;overflow-y:auto;overscroll-behavior:contain;
 padding:17px 22px 13px;display:grid;gap:12px;
 scrollbar-width:thin;scrollbar-color:#a5b9a0 transparent;
}
.family-plan-current{
 display:flex;align-items:center;min-height:68px;
 background:#e8f1e3;border:1px solid #c6d6bb;
 border-radius:16px;padding:10px 15px;
}
.family-plan-current-copy{display:grid;gap:0}
.family-plan-current small{color:#637a62;font-size:11px;font-weight:850}
.family-plan-current strong{
 color:#345d46;font-weight:950;
 font-size:clamp(19px,2.2vw,23px);line-height:1.3;
}
.family-plan-current p{font-size:12px;line-height:1.45;margin:1px 0 0;color:#506b54}
.family-plan-section-title{
 color:#3b5947;font-size:15px;font-weight:900;
 margin:0;padding:0;
}
.family-plan-compare{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:11px;align-items:stretch;
}
.family-plan-tier{
 box-sizing:border-box;min-width:0;min-height:0;
 background:#f3efe5;border:1px solid #d8ceb9;
 border-radius:17px;padding:13px 15px;
 display:flex;flex-direction:column;gap:0;
}
.family-plan-tier-plus{
 background:#ddebd5;border:2px solid #739b7e;
 padding:12px 14px;
}
.family-plan-tier-heading{
 display:flex;align-items:center;justify-content:space-between;
 gap:6px;min-height:25px;
}
.family-plan-tier h3{font-size:16px;line-height:1.2;font-weight:950;color:#506950;margin:0}
.family-plan-tier-plus h3{color:#2f6343}
.family-plan-active-mark{
 flex-shrink:0;padding:3px 9px;border-radius:999px;
 border:1px solid #9fbba0;background:#f9f9ee;
 color:#386a4c;font-size:10px;font-weight:900;line-height:1.2;
}
.family-plan-price{
 display:flex;flex-direction:column;align-items:flex-start;
 gap:1px;margin:5px 0 8px;
}
.family-plan-price strong{
 font-size:clamp(25px,2.7vw,32px);
 font-weight:950;line-height:1.1;letter-spacing:-.025em;
 color:#485e49;
}
.family-plan-price-plus strong{color:#265c3e;font-size:clamp(29px,3vw,35px)}
.family-plan-price span{
 font-size:11px;line-height:1.4;color:#5f7560;font-weight:800;
}
.family-plan-benefits{
 display:grid;gap:6px;margin:0;
 padding:0;list-style:none;line-height:1.35;
}
.family-plan-benefits li{
 position:relative;padding:0 0 0 12px;font-size:12.5px;
 color:#385945;font-weight:800;
}
.family-plan-benefits li:before{
 content:'';position:absolute;left:0;top:.54em;
 width:4px;height:4px;border-radius:50%;background:#728f73;
}
.family-plan-tier-plus .family-plan-benefits li:before{background:#4f795b}
.family-plan-footnote,.family-plan-activation-note{
 font-size:11px;line-height:1.45;color:#526b57;margin:0;
}
.family-plan-activation-note{font-size:11px}
/* Dedicated action area: no bare footer element, no inherited site footer rules. */
.family-plan-dialog > .family-plan-footer{
 box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);
 justify-items:stretch;align-items:stretch;min-width:0;width:100%;
 gap:7px;padding:13px 22px 14px;margin:0;
 background:#f5f0e5;color:#3d604e;border-top:1px solid #d7c8ae;
 opacity:1;filter:none;z-index:2;
}
.family-plan-footer-title{font-size:15px;line-height:1.3;color:#3f634e;font-weight:900}
.family-plan-dialog .family-plan-contact{
 box-sizing:border-box;display:block;justify-self:stretch;
 width:100%;max-width:none;min-width:0;min-height:48px;
 margin:0;padding:11px 16px;
 border:1px solid #416e4e;border-radius:14px;
 background:#4f795b;color:#fffaf0;text-align:center;
 font:900 15px/1.3 Nunito,system-ui;cursor:pointer;
 box-shadow:0 3px 0 #2e583e;
}
.family-plan-dialog .family-plan-contact:hover{background:#416d4f}
.family-plan-footer-note{
 display:block;text-align:center;color:#536b58;
 font-size:11px;font-weight:750;line-height:1.45;
}
.family-plan-unavailable{color:#985b41;font-size:13px;margin:0}
.family-plan-dialog :focus-visible{outline:3px solid #4e8873;outline-offset:3px}
@media(max-width:600px){
 .family-plan-dialog{
  max-height:92dvh;width:calc(100vw - 20px);border-radius:22px;
 }
 .family-plan-header{padding:11px 15px}
 .family-plan-header h2{font-size:21px}
 .family-plan-body{padding:13px 15px 12px;gap:11px}
 .family-plan-compare{grid-template-columns:1fr;gap:9px}
 .family-plan-tier{padding:12px 14px}
 .family-plan-tier-plus{padding:11px 13px}
 .family-plan-price{margin:4px 0 7px}
 .family-plan-price strong{font-size:27px}
 .family-plan-benefits{gap:5px}
 .family-plan-dialog > .family-plan-footer{padding:11px 15px 13px;gap:6px}
 .family-plan-footer-title{font-size:13px}
 .family-plan-contact{min-height:45px;font-size:14px}
 .family-plan-footer-note{font-size:10.5px}
}
@media(max-height:620px){
 .family-plan-dialog{max-height:94dvh}
 .family-plan-header{padding-block:9px}
 .family-plan-dialog > .family-plan-footer{padding-block:9px}
 .family-plan-body{padding-block:10px}
}
/* A disabled Practice should not be the visual primary action when no quota remains. */
.world-learning-dialog .world-free-quota{
 display:grid;gap:10px;border:1.5px solid #d6c49d;background:#fbf3df;
 border-radius:18px;padding:15px;color:#4b674e
}
.world-free-quota>strong{font-size:16px;font-weight:900;line-height:1.35}
.world-learning-dialog .world-free-quota>p{font-size:13px;line-height:1.55;margin:0}
.world-free-review{
 min-height:47px;border:1px solid #86a483;border-radius:13px;background:#dcebd7;
 color:#3a6446;font:900 14px Nunito,system-ui;cursor:pointer
}
.world-free-review:disabled{opacity:.7;background:#f3efe2;color:#7c806e;cursor:default}
.world-free-plus-info{
 border:0;background:transparent;color:#587662;text-decoration:underline;
 padding:10px 4px;min-height:44px;font:800 13px Nunito,system-ui;cursor:pointer
}
.world-learning-dialog .world-chapter-start:disabled{opacity:.45}
.world-playground-card.is-locked{opacity:1!important;filter:none!important;cursor:pointer!important;position:relative}
.world-playground-card.is-locked :is(strong,small){opacity:1!important;color:#526d59!important}
.world-game-plus-tag{
 display:block;font:850 12px Nunito,system-ui;color:#6b744e;
 background:#e6edce;border:1px solid #b7c5a4;padding:6px 12px;border-radius:999px
}
.world-game-info{gap:15px}
.world-game-info>strong{font-size:20px;color:#45694f;line-height:1.3}
.world-game-info p{font-size:15px;line-height:1.6}
.world-game-parent-info{background:#d8e8d0!important;border-color:#9cbe95!important;color:#37614a!important;box-shadow:0 3px 0 #acc6a0!important}
@media(max-width:600px){
 .family-plan-header{padding:17px}
 .family-plan-body{padding:18px 16px 20px;gap:15px}
 .family-plan-compare{grid-template-columns:1fr}
 .family-plan-tier{padding:14px}
}
