/* SmartMuslim Family — visual system v1 */
#view-family{padding:0!important;overflow:visible!important}
#family-root{width:100%;min-height:72vh}
.family-view{--family-green:#173f34;--family-deep:#12362d;--family-accent:#1d5a49;--family-gold:#b88a3b;--family-gold-soft:#f5ecd9;--family-line:#e4ddd1;--family-surface:#fffdf9;--family-soft:#f5f7f2;--family-ink:#17362d;--family-muted:#718079;--family-purple:#6b4b8f;color:var(--family-ink)}
.family-shell{width:min(100%,760px);margin:0 auto;padding:8px 15px calc(146px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.family-head{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:start;gap:10px;margin:0 0 20px;text-align:center}
.family-head-copy{min-width:0;padding-top:2px}.family-eyebrow{display:block;color:var(--family-gold);font-size:.62rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.family-head h1{margin:4px 0 0;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,7vw,2.35rem);line-height:1.02}.family-head p{margin:7px auto 0;max-width:440px;color:var(--family-muted);font-size:.76rem;line-height:1.42}
.family-back,.family-head-spacer{width:44px;height:44px}.family-back{display:grid;place-items:center;border:1px solid #ddd5c9;border-radius:14px;background:#fffdf9;color:var(--family-green);box-shadow:0 5px 16px rgba(31,55,46,.06);font-size:1.5rem;line-height:1}
.family-loading,.family-error,.family-empty{margin:20px 0;padding:28px 18px;border:1px solid var(--family-line);border-radius:22px;background:var(--family-surface);text-align:center}.family-loading{color:var(--family-muted);font-size:.78rem}.family-error strong,.family-empty h2{display:block;margin:0;color:var(--family-green);font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.family-error p,.family-empty p{margin:7px auto 0;max-width:430px;color:var(--family-muted);font-size:.72rem;line-height:1.45}
.family-section{margin-top:22px}.family-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 10px}.family-section-head>div{min-width:0}.family-section-kicker{display:block;margin-bottom:3px;color:var(--family-gold);font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.family-section-head h2{margin:0;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}.family-section-head small{color:var(--family-muted);font-size:.63rem}
.family-alert{position:relative;margin:0 0 11px;padding:15px;border:1px solid #e8d6ad;border-radius:20px;background:#fffaf0;box-shadow:0 8px 22px rgba(74,57,28,.04)}.family-alert.is-relation{border-color:#ddd3ea;background:#fbf9fe}.family-alert-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:11px;border-radius:13px;background:var(--family-gold-soft);color:#8b672a;font-size:1rem}.family-alert.is-relation .family-alert-icon{background:#eee8f6;color:var(--family-purple)}.family-alert .family-kicker{display:block;color:#9b742e;font-size:.56rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.family-alert h3{margin:4px 0 0;color:var(--family-green);font-family:Georgia,'Times New Roman',serif;font-size:1rem}.family-alert p{margin:6px 0 0;color:#756c5d;font-size:.69rem;line-height:1.45}.family-alert-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.family-alert-actions.is-single{grid-template-columns:1fr}
.family-member{margin:0 0 13px;border:1px solid var(--family-line);border-radius:23px;background:var(--family-surface);box-shadow:0 9px 24px rgba(31,55,46,.055);overflow:hidden}.family-member-main{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 15px 13px}.family-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;background:#eaf1ed;color:var(--family-green);font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;font-weight:900}.family-member-copy{min-width:0}.family-member-copy strong{display:block;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-member-copy small{display:block;margin-top:4px;color:var(--family-muted);font-size:.64rem}.family-role{padding:5px 8px;border-radius:999px;background:#f4efe6;color:#8b6b32;font-size:.54rem;font-weight:900;white-space:nowrap}
.family-school-panel{margin:0 12px 12px;padding:13px;border:1px solid #d8e3dc;border-radius:17px;background:#f2f7f4}.family-school-top{display:flex;align-items:center;gap:10px}.family-school-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--family-green);color:#efd99e;font-size:.95rem}.family-school-copy{min-width:0;flex:1}.family-school-copy span{display:block;color:#8a7248;font-size:.53rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.family-school-copy b{display:block;margin-top:2px;color:var(--family-green);font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-school-copy small{display:block;margin-top:3px;color:var(--family-muted);font-size:.61rem;line-height:1.3}.family-school-status{padding:5px 8px;border-radius:999px;background:#e1f0e7;color:#17644c;font-size:.52rem;font-weight:900}.family-member-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}
.family-primary,.family-secondary,.family-ghost{font:inherit;cursor:pointer}.family-primary{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:10px 14px;border:0;border-radius:14px;background:var(--family-green);color:#fff;font-size:.73rem;font-weight:900;box-shadow:0 7px 18px rgba(23,63,52,.12)}.family-secondary{display:flex;align-items:center;justify-content:center;min-height:43px;width:100%;padding:9px 12px;border:1px solid #c9d9d1;border-radius:13px;background:#f5f8f5;color:var(--family-green);font-size:.69rem;font-weight:850}.family-ghost{display:flex;align-items:center;justify-content:center;min-height:40px;width:100%;padding:8px 10px;border:1px solid var(--family-line);border-radius:12px;background:#fffdf9;color:#6d766f;font-size:.66rem;font-weight:800}.family-primary:disabled,.family-secondary:disabled,.family-ghost:disabled{opacity:.52}
.family-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.family-main-actions .family-primary,.family-main-actions .family-secondary{min-height:50px}
.family-goal{margin:0 0 11px;padding:15px;border:1px solid var(--family-line);border-radius:21px;background:var(--family-surface);box-shadow:0 8px 22px rgba(31,55,46,.045)}.family-goal-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.family-goal-kicker{display:block;color:var(--family-gold);font-size:.54rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.family-goal h3{margin:4px 0 0;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:1rem}.family-goal-status{padding:5px 8px;border-radius:999px;background:#edf3ef;color:#426257;font-size:.52rem;font-weight:900;text-transform:capitalize}.family-goal-status.is-achieved{background:#e4f2e8;color:#17644c}.family-goal-status.is-reward_confirmed{background:#f4ecd8;color:#8c692b}.family-reward{display:flex;align-items:center;gap:9px;margin-top:11px;padding:10px 11px;border-radius:13px;background:#fbf6e9}.family-reward span{font-size:1rem}.family-reward small{display:block;color:#927541;font-size:.53rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.family-reward b{display:block;margin-top:2px;color:#5e5139;font-size:.69rem}.family-activity-list{display:grid;gap:7px;margin-top:11px}.family-activity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ebe5da;border-radius:12px;background:#fffdf9}.family-activity b{display:block;color:var(--family-green);font-size:.68rem}.family-activity small{display:block;margin-top:2px;color:var(--family-muted);font-size:.57rem}.family-activity button{width:auto;min-height:32px;padding:6px 9px;border-radius:10px;font-size:.58rem}.family-activity.is-school{background:#f2f7f4;border-color:#d8e3dc}.family-activity.is-school em{display:block;margin-top:3px;color:#7b8a84;font-size:.53rem;font-style:normal}
.family-form-page{width:min(100%,650px);margin:0 auto;padding:8px 15px calc(146px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.family-form-card{padding:17px;border:1px solid var(--family-line);border-radius:23px;background:var(--family-surface);box-shadow:0 9px 24px rgba(31,55,46,.05)}.family-form-intro{margin-bottom:15px}.family-form-intro .family-kicker{display:block;color:var(--family-gold);font-size:.57rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.family-form-intro h2{margin:4px 0 0;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:1.3rem}.family-form-intro p{margin:6px 0 0;color:var(--family-muted);font-size:.7rem;line-height:1.45}.family-form{display:grid;gap:11px}.family-form label{display:grid;gap:6px;color:var(--family-green);font-size:.66rem;font-weight:850}.family-form input,.family-form select,.family-form textarea{box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;border:1px solid #ded5c8;border-radius:13px;background:#fffdf9;color:#17362d;font:inherit;font-size:.76rem;outline:none}.family-form textarea{min-height:98px;resize:vertical;line-height:1.45}.family-form input:focus,.family-form select:focus,.family-form textarea:focus{border-color:#87a79b;box-shadow:0 0 0 3px rgba(23,75,62,.07)}.family-check{grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;padding:11px 12px;border:1px solid #e6dfd5;border-radius:14px;background:#faf8f3}.family-check input{width:18px!important;height:18px!important;min-height:0!important;margin:1px 0 0;padding:0!important}.family-check span{display:block;color:#52645d;font-size:.65rem;font-weight:650;line-height:1.42}.family-fieldset{display:grid;gap:7px;margin:0;padding:12px;border:1px solid #e4ddd3;border-radius:15px;background:#faf9f5}.family-fieldset legend{padding:0 5px;color:#8b713f;font-size:.6rem;font-weight:900}.family-fieldset .family-check{background:#fff;border-color:#ebe5dc}
.family-code-card{padding:18px;border:1px solid #e2d5b9;border-radius:22px;background:#fffaf0;text-align:center}.family-code-card .family-kicker{display:block;color:#9b742e;font-size:.57rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.family-code-card h2{margin:5px 0 0;color:var(--family-deep);font-family:Georgia,'Times New Roman',serif;font-size:1.25rem}.family-code-card p{margin:8px auto 0;max-width:440px;color:#756c5d;font-size:.69rem;line-height:1.45}.family-code-card strong{display:block;margin:17px auto 13px;padding:14px 10px;border:1px dashed #c8aa70;border-radius:14px;background:#fffdf8;color:var(--family-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.05rem,5vw,1.45rem);letter-spacing:.12em;overflow-wrap:anywhere}.family-code-note{display:block;color:#8a7c64;font-size:.59rem;line-height:1.4}
.family-guardian-summary{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;margin-bottom:14px;padding:12px;border-radius:15px;background:#f2f7f4}.family-guardian-summary span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--family-green);color:#efd99e;font-size:1.05rem}.family-guardian-summary b{display:block;color:var(--family-green);font-family:Georgia,'Times New Roman',serif;font-size:.9rem}.family-guardian-summary small{display:block;margin-top:4px;color:var(--family-muted);font-size:.61rem;line-height:1.35}
.family-preview-list{display:grid;gap:8px;margin:13px 0}.family-preview-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:10px;border:1px solid #e8e1d6;border-radius:13px;background:#fffdf9}.family-preview-item span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf3ef;color:var(--family-green);font-size:.78rem}.family-preview-item b{display:block;color:var(--family-green);font-size:.68rem}.family-preview-item small{display:block;margin-top:2px;color:var(--family-muted);font-size:.57rem}.family-adjust-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.family-confirm-wrap{margin-top:9px}
.family-divider{height:1px;margin:16px 0;background:#eee8df}.family-note{margin:10px 0 0;padding:10px 11px;border-radius:12px;background:#f7f4ed;color:#756d61;font-size:.61rem;line-height:1.45}
@media(max-width:520px){.family-shell,.family-form-page{padding-left:12px;padding-right:12px}.family-head{grid-template-columns:42px minmax(0,1fr) 42px}.family-back,.family-head-spacer{width:40px;height:40px}.family-head h1{font-size:1.95rem}.family-member-main{grid-template-columns:46px minmax(0,1fr) auto;padding:13px}.family-avatar{width:46px;height:46px;border-radius:15px}.family-role{display:none}.family-member-actions,.family-main-actions{grid-template-columns:1fr}.family-alert-actions{grid-template-columns:1fr}.family-school-panel{margin-left:10px;margin-right:10px}.family-activity{grid-template-columns:minmax(0,1fr)}.family-activity button{width:100%}.family-adjust-grid{grid-template-columns:1fr 1fr}.family-form input,.family-form select,.family-form textarea{font-size:16px}}
html.sm-dark-v2 body.sm-dark-v2 .family-view{--family-green:#e9f2ed;--family-deep:#f0f5f2;--family-accent:#82c7ad;--family-gold:#d7b56f;--family-gold-soft:#3d3527;--family-line:#394840;--family-surface:#182923;--family-soft:#20342d;--family-ink:#edf3ef;--family-muted:#afbbb6;--family-purple:#d2b9ed;color:#edf3ef}
.sm-dark-v2 .family-back,.sm-dark-v2 .family-member,.sm-dark-v2 .family-goal,.sm-dark-v2 .family-form-card,.sm-dark-v2 .family-loading,.sm-dark-v2 .family-error,.sm-dark-v2 .family-empty,.sm-dark-v2 .family-activity,.sm-dark-v2 .family-form input,.sm-dark-v2 .family-form select,.sm-dark-v2 .family-form textarea{background:#182923!important;border-color:#394840!important;color:#edf3ef!important}.sm-dark-v2 .family-alert{background:#302b22!important;border-color:#5b5038!important}.sm-dark-v2 .family-alert.is-relation{background:#282235!important;border-color:#51445e!important}.sm-dark-v2 .family-school-panel,.sm-dark-v2 .family-guardian-summary,.sm-dark-v2 .family-activity.is-school,.sm-dark-v2 .family-preview-item{background:#20342d!important;border-color:#40564b!important}.sm-dark-v2 .family-role,.sm-dark-v2 .family-reward,.sm-dark-v2 .family-note,.sm-dark-v2 .family-fieldset,.sm-dark-v2 .family-check{background:#252f2a!important;border-color:#394840!important;color:#dfe8e4!important}.sm-dark-v2 .family-code-card{background:#302b22!important;border-color:#5b5038!important}.sm-dark-v2 .family-code-card strong{background:#182923!important;border-color:#7c6943!important;color:#edf3ef!important}.sm-dark-v2 .family-secondary,.sm-dark-v2 .family-ghost{background:#20342d!important;border-color:#456057!important;color:#e8f0ed!important}.sm-dark-v2 .family-primary{background:#2d725b!important;color:#fff!important}


/* 0.37.50 — Family goal editor polish */
.family-preview-item{align-items:start}
.family-preview-fields{display:grid;gap:8px;min-width:0}
.family-preview-fields label{min-width:0}
.family-preview-fields input,.family-preview-fields select,.family-preview-fields textarea{box-sizing:border-box;width:100%;min-width:0}
.family-preview-remove{grid-column:2;width:100%!important;margin-top:0!important}
@media(max-width:520px){.family-preview-item{grid-template-columns:34px minmax(0,1fr)}.family-preview-remove{grid-column:2;width:100%!important}}
