/* Family HQ Build 003 — visual system, additive to the working Build 002 stylesheet */
:root{--purple:#593595;--dark:#2f2543;--light:#faf7ff;--cream:#faf8fe;--line:#ede7f3;--gold:#f0bd63;--pink:#df96bb;--green:#279a78;--muted:#80758d;--shadow:0 13px 40px rgba(54,37,82,.055);color-scheme:light}
body{background:radial-gradient(circle at 80% 0,#f3ecfc 0,transparent 33%),#faf8fe;font-family:Inter,'Segoe UI',system-ui,sans-serif}
h1,h2,h3,h4{font-family:Inter,'Segoe UI',system-ui,sans-serif;letter-spacing:-.035em}
button{transition:background .16s,transform .16s,box-shadow .16s}
button:hover:not(:disabled){transform:translateY(-1px)}
button:active:not(:disabled){transform:translateY(0)}
.shell{grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:linear-gradient(185deg,#342253 0%,#3f2960 53%,#2f1d49 100%);padding:28px 16px 20px;border-right:1px solid #71509250}
.logo{padding:4px 10px 31px;gap:12px}.logo-mark{width:47px;height:47px;border-radius:15px;background:linear-gradient(145deg,#8b62cc,#59318f);box-shadow:0 10px 25px #24133c5c;font-size:27px}.logo-title{font-size:16px;line-height:1.14;letter-spacing:-.04em}.logo-sub{color:#d6bde9;font-size:9px;letter-spacing:1.35px;margin-top:8px}.nav-group-title{padding:14px 14px 12px;color:#a896c1;letter-spacing:1.4px}.nav{gap:5px}.nav button{padding:11px 13px;border-radius:13px;font-size:13px;font-weight:700;color:#d6c9e6}.nav button .sym{width:24px;font-size:20px;color:#cab1dd}.nav button:hover{background:#ffffff10}.nav button.active{background:linear-gradient(90deg,#7950b7,#65419a);box-shadow:0 6px 16px #24113a55;color:#fff}.nav button.active .sym{color:#fff}.sidebar-bottom{border-top:1px solid #70558c99;display:grid;gap:6px}.sidebar-bottom span{font-size:11px}.sidebar-bottom strong{font-size:15px}.sidebar-bottom button{text-align:left;font-size:12px}
.main{max-width:1550px;padding:0 35px 70px}.topbar{height:80px;border-bottom:1px solid #e8e1ef}.crumb{letter-spacing:.07em;font-size:11px;color:#8a779d}.crumb-slash{opacity:.4;padding:0 7px}.top-quick{border:1px solid #e1d3f0;background:#fff;color:#5a3b89;font-weight:800;border-radius:22px;padding:9px 15px;font-size:12px}.parent-pill{padding:8px 14px;border-color:#e9e1f1;box-shadow:0 3px 11px #3b28500b}.parent-pill i{background:#6f4bac;color:#fff;width:28px;height:28px}
.welcome-line{display:flex;justify-content:space-between;gap:15px;align-items:end;padding:34px 0 21px}.welcome-line h1{font-size:clamp(29px,3.5vw,43px);font-weight:820;letter-spacing:-.05em;margin:3px 0 4px}.welcome-line h1 span{font-size:26px;color:#e1a76c}.welcome-line p{color:#81768e;font-size:13px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:850;color:#9178b4;display:block;margin-bottom:7px}
.btn{background:#6441a0;border-color:#6441a0;border-radius:11px;min-height:42px;box-shadow:0 3px 5px #45287a0b}.btn.secondary{border-color:#e5dbee;color:#6441a0;background:#fff}.btn.sm{min-height:34px}
.hero003{background:linear-gradient(117deg,#482977 0%,#613995 59%,#8c65ae 100%);border-radius:25px;min-height:248px;padding:36px 34px;margin-bottom:21px;box-shadow:0 18px 48px rgba(64,37,107,.18);align-items:center}.hero003:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 10%,#cfafe440,transparent 38%);pointer-events:none}.hero003:after{display:none}.hero-copy{z-index:2;position:relative;max-width:60%}.hero-label{font-size:10px;letter-spacing:.15em;font-weight:850;color:#efdafa;display:flex;align-items:center;gap:9px;margin-bottom:15px}.spark-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f5bf72;box-shadow:0 0 0 5px #fff2}.hero003 h2{font-size:clamp(27px,3vw,40px);line-height:1.12;font-weight:850;letter-spacing:-.055em}.hero003 h2 em{font-style:normal;color:#f5d39d}.hero003 p{font-size:13px;line-height:1.65;color:#f3e8fc;margin-top:12px;max-width:390px}.hero-quick{margin-top:19px;justify-content:flex-start}.hero003 .btn.hero-primary{background:#fff;color:#543382;border-color:white}.hero003 .btn.hero-outline{color:white;background:#ffffff13;border:1px solid #ffffff5e}.hero-illustration{position:absolute;right:10px;bottom:-36px;width:38%;height:116%;object-fit:contain;filter:drop-shadow(0 15px 8px #24143e24);pointer-events:none}
.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat{padding:17px;background:#fff;border:1px solid #ede6f2;border-radius:16px;display:flex;align-items:center;gap:14px;min-width:0;box-shadow:0 7px 26px #37204a0a}.stat-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;font-weight:900;font-size:22px}.stat-icon.violet{background:#eee5fb;color:#784eb3}.stat-icon.mint{background:#dff6ec;color:#299676}.stat-icon.amber{background:#fff0d7;color:#b98330}.stat-icon.rose{background:#f9e7f2;color:#c56b94}.stat small{display:block;color:#887e95;font-size:11px;font-weight:650}.stat strong{font-size:25px;line-height:1.2;color:#312440;display:block;margin-top:2px;font-weight:850}
.section-head{margin-bottom:16px}.section-head h2{font-size:24px}.text-link{background:none;border:0;color:#684899;font-weight:800;font-size:12px;padding:8px 0}.text-link:hover{text-decoration:underline}.panel{border-color:#ebe5f2;border-radius:20px;box-shadow:0 8px 32px #4228580a;padding:23px}.panel-head h2{font-size:19px}.child-card{padding:22px 22px 17px;border-radius:21px}.child-card:before{height:4px}.child-top{margin-bottom:17px}.child-top .grow{flex:1;min-width:0}.child-top h3{font-size:20px}.child-card .avatar{width:53px;height:53px;border-radius:19px;font-size:24px;background:color-mix(in srgb,var(--c) 15%,white);font-family:inherit}.arrow-card{border:1px solid #eee5f4;color:#77559f;width:34px;height:34px;border-radius:11px;background:white;font-size:17px}.child-meter{margin-bottom:16px}.meter-caption{display:flex;justify-content:space-between;gap:10px;color:#85768f;font-size:11px;margin-bottom:8px}.meter-caption strong{color:#675a72}.bar-track{background:#eeeaf3;border-radius:30px;overflow:hidden;height:9px}.bar-fill{height:100%;border-radius:30px;transition:width .3s}.score-stats{padding-top:16px}.score-stats b{font-family:inherit;font-size:27px;font-weight:850}.score-stats span{font-size:10px}.child-card-foot{border-top:1px solid #f0ebf4;margin-top:16px;padding-top:10px}.child-card-foot button{padding:3px 0}.child-card-foot span{margin-left:4px}
.spotlight-panel .eyebrow{margin-bottom:7px}.progress-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:20px 0 9px;color:#665a74}.bar-track.fat{height:11px}.today-list{margin-top:13px}.today-row{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #f1ebf5}.today-row:last-child{border:0}.today-row .grow{min-width:0;flex:1}.today-row b{font-size:13px;color:#3d3050;display:block;overflow-wrap:anywhere}.today-row small{font-size:11px;color:#8c8195}.mini-avatar{display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 16%,white);border-radius:12px;flex:0 0 37px;width:37px;height:37px;font-size:15px;font-weight:850}.done-circle{display:grid;place-items:center;border:1px solid #b9ddcf;background:#effbf5;color:#25825f;border-radius:50%;width:35px;height:35px;font-size:18px}.reward-spotlight{background:linear-gradient(145deg,#fff9ed,#fffdf8 56%,#fff8ed);border-color:#f1e5c8}.reward-star{background:#fdf0d6;color:#a5782a;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;font-size:24px}.reward-visual{width:78px;height:78px;border-radius:23px;background:linear-gradient(145deg,#fff0c0,#efd18c);box-shadow:0 9px 20px #ab8c4b20;display:grid;place-items:center;font-size:51px;color:#a77427;margin:18px 0}.reward-spotlight h3{font-size:24px}.reward-spotlight p{font-size:12px;color:#8c7e68;line-height:1.6;margin-top:10px}.reward-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f2e4ce;margin-top:21px;padding-top:8px;flex-wrap:wrap}.reward-footer span{font-size:11px;color:#7d6a54}.jar-preview{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center}.jar-preview p{color:#8a8093;font-size:12px;line-height:1.6;margin:10px 0 15px}.jar-art{width:113px;height:132px;border-radius:15px 15px 32px 32px;border:4px solid #a493c6;border-top:11px solid #7050a0;background:linear-gradient(160deg,#ffffff9c,#e4d7f59c);position:relative;display:grid;place-items:center;color:#e7ad6f;font-size:61px;transform:rotate(-4deg);box-shadow:12px 13px 0 #f3edf9}.jar-art span{position:absolute;color:#cf84ae;font-size:23px;right:19px;bottom:17px}
.page-head{margin-top:31px}.page-head h1{font-size:clamp(29px,3.2vw,40px)}.task-filter-top{display:flex;align-items:end;gap:12px;justify-content:space-between;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid #e8ddf0;background:#f7f2fb;border-radius:12px;padding:4px;gap:3px;max-width:100%;flex-wrap:wrap}.segmented button{font-size:12px;font-weight:800;color:#816a96;background:transparent;border:0;border-radius:9px;padding:11px 14px}.segmented button.selected{background:#fff;color:#5e398d;box-shadow:0 2px 7px #422d590f}.task-filters{display:flex;gap:10px}.task-filters .field{min-width:135px}.task-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 0}.task-summary p{font-size:12px;color:#8a7c95}.tasks-panel .task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.task-card{border-radius:16px;padding:18px;box-shadow:0 5px 22px #44255a07}.task-card h3{font-size:16px;margin-top:8px}.task-card .task-metadata{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#90849a;font-size:10px;font-weight:650}.task-person{color:var(--c);background:color-mix(in srgb,var(--c) 15%,white);padding:5px 7px;border-radius:20px}.task-bottom{display:grid;gap:10px}.task-bottom small{color:#8b8196}.task-card .task-btns{display:flex;flex-wrap:wrap;gap:6px}.task-card .task-btns .btn{white-space:nowrap}.task-card.done{background:#f3fbf7}.task-card.excused{background:#f8f4fb}
.profile-switch{display:flex;gap:9px;flex-wrap:wrap}.profile-tab{border-radius:15px;border:1px solid #e8e1ef;background:#fff;color:#614e73;padding:10px 17px;display:flex;gap:9px;align-items:center;font-weight:750;font-size:13px}.profile-tab.active{box-shadow:0 0 0 2px var(--c);border-color:var(--c)}.profile-tab .mini-avatar{--c:inherit;background:color-mix(in srgb,var(--c) 18%,white);color:var(--c);width:29px;height:29px;flex-basis:29px}.profile-hero{margin-top:17px;border-radius:22px;padding:31px 34px;background:linear-gradient(115deg,color-mix(in srgb,var(--c) 17%,white),#fff);border:1px solid color-mix(in srgb,var(--c) 24%,white);display:flex;justify-content:space-between;position:relative;overflow:hidden}.profile-hero h2{font-size:32px}.profile-hero h2 span{color:var(--c)}.profile-hero p{color:#84768d;font-size:13px;margin-top:9px;max-width:450px}.profile-glyph{font-size:145px;opacity:.23;color:var(--c);position:absolute;right:9%;top:-8px}.profile-numbers{display:flex;gap:35px;margin-top:26px;flex-wrap:wrap}.profile-numbers strong{display:block;font-size:27px}.profile-numbers small{font-size:11px;color:#80738a}.check-badge{font-size:24px;color:#b5a5c7;width:32px}.check-badge.checked{color:#329a76}.badge-mini{font-size:24px}.profile-goals{display:grid;gap:15px;margin-top:15px}.goal-line{display:grid;grid-template-columns:1fr auto;gap:5px}.goal-line b{font-size:12px}.goal-line small{color:#80738a}.goal-line .bar-track{grid-column:1/-1}
.settings-banner{background:linear-gradient(120deg,#f3ebfc,#fdf9ff);padding:25px 28px;border:1px solid #ebdcf8;border-radius:20px;display:flex;align-items:center;justify-content:space-between}.settings-banner h2{font-size:23px}.settings-banner p{color:#82758a;font-size:12px;line-height:1.5;margin-top:7px}.settings-banner>span{font-size:62px;color:#c0a2dd}.account-overview{display:flex;align-items:center;gap:14px;border:1px solid #f1eaf5;padding:15px;border-radius:14px}.account-overview .grow{flex:1}.account-overview b{display:block;font-size:15px}.account-overview small{color:#83798d}.button-stack{display:flex;flex-wrap:wrap;gap:8px}.quick-slip-intro{grid-column:1/-1;border-bottom:1px solid #f2ebf7;padding-bottom:12px;font-weight:850;font-size:19px}.quick-slip-intro span{font-size:10px;font-weight:650;color:#8d7b99;display:block;margin-top:3px}
.notice{background:#f6f0fb;border:1px solid #eee3f7;color:#665078;border-radius:12px;padding:12px 13px;font-size:12px;line-height:1.6}.modal{border-radius:23px;box-shadow:0 25px 80px #2d174a45}.modal-head h2{letter-spacing:-.03em}.field input,.field select,.field textarea{border-color:#e7dfef;border-radius:11px;min-height:41px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#9664c7;box-shadow:0 0 0 3px #a37bd721;outline:none}.auth-card{box-shadow:0 28px 90px #4b2c8020;border-color:#ede0f5}.auth-card h1{font-size:34px}.brand-glyph{font-size:28px}.bottom-nav{display:none}
@media(max-width:1180px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:66%}.hero-illustration{width:39%;right:-14px}.tasks-panel .task-list{grid-template-columns:1fr}.main{padding:0 24px 65px}}
@media(max-width:880px){.shell{grid-template-columns:204px minmax(0,1fr)}.main{padding:0 20px 65px}.sidebar{padding:25px 10px}.nav button{font-size:12px;padding:11px 10px}.logo-title{font-size:14px}.hero-illustration{opacity:.65}.hero-copy{max-width:75%}.stat{padding:13px}.stat-icon{width:36px;height:36px;flex-basis:36px}.stat strong{font-size:22px}.jar-preview{grid-template-columns:100px 1fr}.jar-art{width:85px;height:102px}}
@media(max-width:760px){.shell{display:block}.main{padding:0 16px 110px}.sidebar{position:fixed;z-index:60;left:0;top:0;bottom:0;width:270px;padding:25px 15px;transform:translateX(-110%)}.shell.menu-open .sidebar{transform:none}.topbar{height:66px}.top-quick{padding:8px 11px;font-size:11px}.top-actions .parent-pill{padding:5px;border:0;background:transparent;box-shadow:none}.welcome-line{padding:25px 0 18px;align-items:start}.welcome-line h1{font-size:28px}.welcome-line>.btn{display:none}.hero003{padding:29px 22px;min-height:255px}.hero-copy{max-width:100%}.hero003 h2{font-size:29px}.hero003 p{max-width:260px;font-size:12px}.hero-illustration{width:58%;height:93%;right:-35px;bottom:-52px;opacity:.28}.hero-quick{margin-top:20px;display:flex;gap:7px}.hero-quick .btn{margin-top:0;min-height:39px;padding:8px 11px;font-size:11px}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{gap:9px;border-radius:14px;padding:11px}.stat small{font-size:10px}.stat strong{font-size:22px}.stat-icon{width:36px;height:36px}.grid.three,.grid.two{grid-template-columns:1fr}.grid.three .child-card:last-child{grid-column:auto}.section{margin-top:23px}.panel{padding:18px}.section-head h2{font-size:21px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:35;background:#fffcffed;backdrop-filter:blur(15px);border-top:1px solid #eae2f2;box-shadow:0 -10px 30px #3320470b;padding:6px 4px max(6px,env(safe-area-inset-bottom))}.bottom-nav button{display:grid;place-items:center;gap:0;background:none;border:0;border-radius:11px;color:#9986aa;padding:7px 2px;font-size:23px}.bottom-nav button small{font-size:10px;font-weight:750}.bottom-nav button.active{color:#7146ad;background:#f2eaf9}.task-filter-top{display:grid}.segmented{display:grid;grid-template-columns:repeat(3,1fr)}.segmented button{font-size:10px;padding:10px 5px}.task-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-filters .field{min-width:0}.task-card .task-bottom .btn{font-size:11px}.profile-hero{padding:25px 21px}.profile-hero h2{font-size:26px}.profile-glyph{right:-2%;font-size:110px}.profile-numbers{gap:18px}.profile-numbers strong{font-size:22px}.profile-tab{padding:7px 10px;font-size:11px}.jar-preview{grid-template-columns:80px 1fr;gap:12px}.jar-art{width:70px;height:91px}.auth-card{padding:27px}.form-grid{grid-template-columns:1fr}.full,.quick-slip-intro{grid-column:1}.modal{max-height:calc(100dvh - 22px)}.page-head{align-items:flex-start}}
@media(max-width:390px){.hero003 h2{font-size:26px}.hero-quick{flex-wrap:wrap}.hero-quick .btn{width:100%}.stat-icon{display:none}.stat{padding:12px}.top-quick{font-size:0}.top-quick:before{content:'＋';font-size:20px}.welcome-line h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.bottom-nav{display:none!important}}
.week-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;grid-column:1/-1}
.week-card{background:#fff;border:1px solid #eae2f2;border-radius:16px;display:flex;text-align:left;align-items:center;gap:13px;padding:15px;color:#433450;min-width:0}.week-card:hover{background:#fbf7ff;border-color:#bea5d6}.week-card>span{min-width:0;flex:1}.week-card b{display:block;font-size:13px}.week-card small{display:block;margin:4px 0 8px;color:#82758b;font-size:11px}.week-card .bar-track{display:block;width:100%;height:6px}.week-card .bar-fill{display:block}.week-card .week-icon{width:51px;height:51px;border-radius:13px;background:#eee6f9;color:#7854ad;display:grid;place-items:center;font-size:13px;font-weight:900;flex:0 0 51px}.week-card>strong{color:#8366aa}
@media(max-width:760px){.week-cards{grid-template-columns:1fr}}
