/* Parent portal only. No shared commerce overrides. */
.parent-page .child-avatar-picker{border:0;padding:0;margin:20px 0 0;min-width:0}
.parent-page .child-avatar-picker legend{font-weight:900;padding:0;margin-bottom:8px}
.parent-page .child-avatar-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.parent-page .child-avatar-picker label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:96px;margin:0;padding:6px 3px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;text-align:center}
.parent-page .child-avatar-picker input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}
.parent-page .child-avatar-picker label:has(:checked){border-color:var(--purple);background:#eee5f7;box-shadow:inset 0 0 0 1px var(--purple)}
.parent-page .child-avatar-picker label:has(:focus-visible){outline:3px solid #bf781e;outline-offset:2px}
.parent-page .child-avatar-picker img{width:60px;height:60px;max-width:100%;object-fit:contain}
.parent-page .child-avatar-picker span{font-size:11px;line-height:1.3;overflow-wrap:anywhere}

.parent-page{--ink:#35234f;--muted:#665b73;--purple:#7351ad;--line:#e7dfee;margin:0;background:#fffaf1;color:var(--ink);font:700 16px/1.65 'Nunito',sans-serif;min-height:100dvh}
.parent-page *{box-sizing:border-box}.parent-page [hidden]{display:none!important}.parent-page button,.parent-page input,.parent-page select{font:inherit}.parent-page a,.parent-page button{touch-action:manipulation}.parent-page a{color:#664099}.parent-page :focus-visible{outline:3px solid #bf781e;outline-offset:4px}.parent-page h1,.parent-page h2,.parent-page h3{font-family:'Baloo 2',sans-serif;line-height:1.15;margin:0;color:var(--ink)}.parent-page h1{font-size:clamp(32px,4vw,46px)}.parent-page h2{font-size:27px}.parent-page h3{font-size:22px}.parent-page p{color:var(--muted);margin:10px 0}.parent-page small{font-size:14px}.parent-page button,.parent-page a{min-width:44px;min-height:46px}.parent-page button{cursor:pointer}.parent-page button:disabled{cursor:default;opacity:.6}.parent-page a{display:inline-flex;align-items:center;text-decoration:none}.parent-page button,.parent-page a,.parent-page input,.parent-page select{max-width:100%}
.parent-page .portal-nav{width:min(1160px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;border-bottom:1px solid var(--line)}.parent-page .brand{font:800 32px/1 'Baloo 2';letter-spacing:-1px;white-space:nowrap}.parent-page .brand span{color:#e38b35;margin-right:6px}.parent-page .portal-nav>div{display:flex;gap:10px;align-items:center}.parent-page .portal-nav>div a,.parent-page .portal-nav button{padding:8px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:14px;color:var(--ink)}
.parent-page .eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:#7653a9;font-weight:900;display:block;margin-bottom:12px}.parent-page .login-shell{width:min(1040px,calc(100% - 40px));margin:40px auto 64px;display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}.parent-page .login-art{text-align:center;min-width:0;position:relative}.parent-page .login-art:before{content:'';position:absolute;inset:8% 0 30%;border-radius:48% 52% 43% 57%;background:#eee5f7;z-index:-1}.parent-page .login-art img{width:min(100%,300px);height:auto;object-fit:contain}.parent-page .login-art h2{margin:14px 0;font-size:32px}.parent-page .login-art p{font-size:15px;max-width:280px;margin:12px auto}.parent-page .login-card{padding:36px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 8px 0 #ece2d8,0 24px 60px #51306d09;min-width:0}.parent-page .login-card>p{font-size:16px}.parent-page label{display:block;font-weight:900;margin:20px 0 7px}.parent-page input,.parent-page select{width:100%;min-height:52px;border:1.5px solid #cfc3dc;border-radius:13px;background:#fffefa;color:var(--ink);padding:11px 14px}.parent-page .primary-button,.parent-page .secondary-button{display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:12px 18px;line-height:1.4;border:1px solid transparent;border-radius:14px;font-weight:900}.parent-page .primary-button{background:var(--purple);color:white;box-shadow:0 3px 0 #533480}.parent-page .secondary-button{background:#f7f1ff;color:#62418e;border-color:#dfd1ee}.parent-page .login-card .primary-button,.parent-page .portal-dialog .primary-button{width:100%;margin-top:18px}.parent-page .login-card>small{display:block;text-align:center;margin-top:16px;color:var(--muted)}.parent-page .parent-steps{margin-top:24px;padding-top:21px;border-top:1px solid var(--line);font-size:14px}.parent-page .parent-steps ol{padding-left:22px;margin:10px 0}.parent-page .parent-steps li{padding-left:4px;margin:6px 0}.parent-page .parent-steps li::marker{color:#7956aa;font-weight:900}.parent-page .parent-steps p{font-size:14px;line-height:1.55}
.parent-page .dashboard-shell{width:min(1160px,calc(100% - 40px));margin:32px auto 64px}.parent-page .dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.parent-page .dashboard-welcome>div{min-width:0}.parent-page .dashboard-welcome .compact{flex-shrink:0}.parent-page .parent-email{overflow-wrap:anywhere;font-size:14px;margin:8px 0!important}.parent-page .summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.parent-page .summary-strip article{padding:17px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;gap:14px;align-items:center;min-width:0}.parent-page .summary-strip article>span{display:none}.parent-page .summary-strip small{display:block;color:var(--muted)}.parent-page .summary-strip strong{display:block;font:800 28px/1.25 'Baloo 2';overflow-wrap:anywhere}.parent-page .summary-strip [data-pin-state]{font:900 17px/1.8 'Nunito',sans-serif;overflow-wrap:normal}.parent-page .dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.parent-page .dashboard-primary,.parent-page .dashboard-aside{display:grid;gap:24px;min-width:0}.parent-page .panel,.parent-page .pin-card,.parent-page .privacy-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;min-width:0}.parent-page .panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.parent-page .panel>header .secondary-button{flex-shrink:0}.parent-page .panel>header p{font-size:14px;margin-bottom:0}.parent-page .text-link{font-size:14px;font-weight:900}.parent-page .pin-card{background:#eee5f7}.parent-page .pin-card .primary-button,.parent-page .pin-card .secondary-button{width:100%;margin-top:12px}.parent-page .pin-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:#fff;color:#7351ad;font-size:14px;letter-spacing:.06em;margin-bottom:16px}.parent-page .pin-card p,.parent-page .privacy-card p,.parent-page .privacy-card a{font-size:14px}.parent-page .child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.parent-page .child-grid article{min-width:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fffcf7}.parent-page .child-grid article>div{display:flex;align-items:center;gap:12px}.parent-page .child-grid h3{overflow-wrap:anywhere}.parent-page .child-grid p{font-size:14px}.parent-page .child-avatar{width:48px;height:54px;object-fit:contain;flex-shrink:0}.parent-page dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 6px;padding-top:16px;border-top:1px solid var(--line)}.parent-page dt{font-size:14px;color:var(--muted)}.parent-page dd{margin:0;font-size:22px;font-weight:900}.parent-page .entitlement-list,.parent-page .order-list{display:grid;gap:12px}.parent-page .entitlement-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:17px}.parent-page .entitlement-list article:first-child,.parent-page .order-list article:first-child{border-top:0;padding-top:0}.parent-page .entitlement-list h3,.parent-page .order-list h3{font-size:19px;overflow-wrap:anywhere}.parent-page .entitlement-list p,.parent-page .order-list p{font-size:14px;margin-bottom:0}.parent-page .entitlement-list button{grid-column:2/-1;justify-self:start}.parent-page .pass-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f0e9f9;color:#7452a8;font-size:22px}.parent-page .status-chip{font-size:14px;font-weight:900;border-radius:9px;padding:4px 9px;background:#f1edf5;color:#66546d;white-space:nowrap}.parent-page .status-chip.good{background:#e6f4eb;color:#286642}.parent-page .status-chip.warn{background:#fff0db;color:#8b5312}.parent-page .order-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:15px}.parent-page .order-list strong{white-space:nowrap}.parent-page .empty-state,.parent-page .no-access{background:#faf6ff;border:1px dashed #d8c8e8;border-radius:14px;padding:20px;font-size:14px;grid-column:1/-1}.parent-page .no-access{margin-bottom:24px}.parent-page .no-access p{margin:6px 0}.parent-page .success-note{padding:14px;border-radius:12px;background:#e6f4eb;color:#286642!important}.parent-page .form-message{padding:14px;border-radius:12px;background:#fff0ec;color:#953f2d;overflow-wrap:anywhere}
.parent-page .portal-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid var(--line);border-radius:24px;background:#fffcf7;color:var(--ink);box-shadow:0 24px 100px #35234f40}.parent-page .portal-dialog::backdrop{background:#2d1e43aa;backdrop-filter:blur(4px)}.parent-page .portal-dialog p{font-size:15px}.parent-page .portal-dialog h2{padding-right:24px}.parent-page .dialog-close{float:right;margin:-12px -12px 4px 10px;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:26px}
@media(max-width:1050px){.parent-page .dashboard-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.parent-page .child-grid{grid-template-columns:1fr}.parent-page .panel,.parent-page .pin-card,.parent-page .privacy-card{padding:22px}.parent-page .login-shell{gap:24px}}
@media(max-width:800px){.parent-page .login-shell{grid-template-columns:1fr;max-width:550px;margin-top:24px}.parent-page .login-card{grid-row:1}.parent-page .login-art{grid-row:2;margin-top:12px}.parent-page .login-art img{width:150px}.parent-page .login-art h2{font-size:26px}.parent-page .login-art p{max-width:340px}.parent-page .dashboard-layout{grid-template-columns:1fr}.parent-page .dashboard-aside{grid-template-columns:1fr 1fr}.parent-page .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-page .child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-page .dashboard-welcome{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.parent-page .portal-nav{min-height:72px;width:calc(100% - 28px);gap:8px}.parent-page .brand{font-size:27px}.parent-page .portal-nav>div{gap:6px}.parent-page .portal-nav>div a,.parent-page .portal-nav button{padding:8px 10px;font-size:14px}.parent-page .login-shell,.parent-page .dashboard-shell{width:calc(100% - 28px)}.parent-page .login-card{padding:24px;border-radius:22px}.parent-page .dashboard-aside,.parent-page .child-grid{grid-template-columns:1fr}.parent-page .summary-strip{gap:10px}.parent-page .summary-strip article{padding:15px}.parent-page .summary-strip strong{font-size:25px}.parent-page .summary-strip small{font-size:14px}.parent-page .panel>header{flex-direction:column;gap:8px}.parent-page .panel,.parent-page .pin-card,.parent-page .privacy-card{padding:20px}.parent-page .entitlement-list article{grid-template-columns:28px minmax(0,1fr);gap:12px}.parent-page .entitlement-list .status-chip{grid-column:2;justify-self:start}.parent-page .order-list article{grid-template-columns:minmax(0,1fr) auto;gap:8px}.parent-page .order-list .status-chip{grid-column:1/-1;justify-self:start}.parent-page .portal-dialog{padding:24px}.parent-page .dashboard-shell{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.parent-page *{scroll-behavior:auto!important}}

/* ===== Panduan langkah seterusnya (selepas beli) ===== */
.next-steps{margin:0 0 22px;padding:20px 20px 16px;border-radius:22px;background:linear-gradient(#FFFDF6,#F6E7C8);border:3px solid #D9BC85;box-shadow:0 10px 0 #E6D2A8,0 18px 30px rgba(90,70,30,.10)}
.next-steps-head h2{margin:2px 0 4px;font-size:22px;color:#4B3A25}
.next-steps-head p{margin:0 0 12px;color:#6B5330;font-weight:600}
.next-steps .eyebrow{color:#A97F45}
.next-steps-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ns-step{display:grid;grid-template-columns:38px 1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#FFFEF9;border:2px solid #EBD9B4;transition:.2s}
.ns-step.is-next{border-color:#E2A93B;box-shadow:0 0 0 3px rgba(255,207,63,.35)}
.ns-step.is-done{background:#F3F8EE;border-color:#BBD7A2}
.ns-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#F2E3C4;color:#7A5220}
.ns-step.is-done .ns-num{background:#CFE6BB;color:#3F6A22}
.ns-body b{display:block;font-size:16px;color:#4B3A25}
.ns-body small{display:block;color:#7A6242;font-weight:600;line-height:1.4}
.ns-state{font-size:13px;font-weight:800;color:#A2762F;white-space:nowrap}
.ns-step.is-done .ns-state{color:#4C7A2A}
.ns-step .secondary-button.compact,.ns-step .primary-button.compact{padding:9px 14px;font-size:14px}
.next-steps-foot{margin:10px 0 0;font-size:13px;color:#6B5330;background:#FFF6E2;border:2px dashed #E0C79A;border-radius:12px;padding:8px 12px}
@media (max-width:720px){.ns-step{grid-template-columns:34px 1fr;grid-template-areas:"num body" ". state" ". action";row-gap:6px}.ns-num{grid-area:num}.ns-body{grid-area:body}.ns-state{grid-area:state}.ns-step button,.ns-step a{grid-area:action;justify-self:start}}

/* Laporan mingguan */
[data-weekly] article[data-weekly-card]{border:2px solid #f0e2c8;border-radius:16px;padding:14px 16px;margin:0 0 12px;background:#fffdf7}
.weekly-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
.weekly-head h3{margin:0;min-width:0;overflow-wrap:anywhere}
.weekly-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:10px 0 0}
.weekly-stats div{background:#fdf3e2;border-radius:12px;padding:8px 10px}
.weekly-stats dt{font-size:12px;color:#7a6d59;margin:0 0 2px}
.weekly-stats dd{margin:0;font-size:18px;font-weight:700}
.weekly-worlds{font-size:13px;color:#6b6459;margin:8px 0 0}
.weekly-tip{margin:8px 0 0;padding:8px 10px;border-radius:12px;background:#eef7ee;font-size:13px;color:#2f6b34}

/* Ruangan sokongan (chat) */
.support-thread{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding:12px;
  background:#FFFBF2;border:2px solid #F0E2C8;border-radius:16px;margin:0 0 12px}
.support-bubble{max-width:82%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.5}
.support-bubble p{margin:0 0 4px;white-space:pre-wrap;word-break:break-word}
.support-bubble small{font-size:11px;color:#7A6D59}
.support-bubble.is-parent{align-self:flex-end;background:#FFCF3F;border:2px solid #E0B22E;color:#4B3A25;border-bottom-right-radius:4px}
.support-bubble.is-team{align-self:flex-start;background:#FFF;border:2px solid #EBD9B4;color:#4B3A25;border-bottom-left-radius:4px}
.support-empty{padding:18px;text-align:center;color:#6B5330;font-size:15px}
.support-compose{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.support-compose textarea{flex:1 1 240px;min-height:48px;border:2px solid #EBD9B4;border-radius:14px;padding:10px 12px;
  font:inherit;resize:vertical;background:#fff}
.support-compose textarea:focus{outline:3px solid #FFE7A3;outline-offset:1px;border-color:#E0B22E}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:520px){.support-bubble{max-width:92%}.support-compose textarea{flex:1 1 100%}}
.reminder-list{margin:0 0 22px;padding:20px 20px 16px;border-radius:22px;background:linear-gradient(#FFF9F2,#F3E9FB);border:3px solid #C9B6E4;box-shadow:0 10px 0 #E3D7F1,0 18px 30px rgba(60,40,90,.10);min-width:0}
.reminder-head h2{margin:2px 0 4px;font-size:22px;color:#3F2E55}
.reminder-head p{margin:0 0 12px;color:#5B4772;font-weight:600}
.reminder-list .eyebrow{color:#7C4FA8}
.reminder-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.reminder-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#FFFDFF;border:2px solid #DCCBEC;min-width:0}
.reminder-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#EFE3FA;color:#6B3FA0;font-size:16px}
.reminder-body{min-width:0}
.reminder-body b{display:block;font-size:16px;color:#3F2E55;overflow-wrap:anywhere}
.reminder-body small{display:block;color:#5B4772;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.reminder-state{font-size:13px;font-weight:800;color:#7C4FA8;white-space:nowrap}
.reminder-item .secondary-button.compact{padding:9px 14px;font-size:14px}
@media(max-width:720px){.reminder-item{grid-template-columns:34px minmax(0,1fr);grid-template-areas:"mark body" ". state" ". action";row-gap:6px}.reminder-mark{grid-area:mark}.reminder-body{grid-area:body}.reminder-state{grid-area:state}.reminder-item button{grid-area:action;justify-self:start}}
