:root{font-family:Arial,Helvetica,sans-serif;color:#32253a;background:#fff7fb}*{box-sizing:border-box}body{margin:0}.shell{max-width:760px;margin:auto;padding:24px 16px}header{padding:24px 0 16px}h1{font-size:clamp(32px,6vw,48px);margin:6px 0}h1 span{color:#db5d9b}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:#9e4577}header p,footer{color:#766675}.panel{background:#fff;border:1px solid #f2dce8;border-radius:22px;padding:26px;box-shadow:0 10px 30px #db5d9b13}.panel h2{margin-top:0}form{display:grid;gap:18px;margin:24px 0}label{display:grid;gap:7px;font-weight:650}input{width:100%;padding:13px 14px;border:1px solid #d6becd;border-radius:12px;font-size:16px}button{background:#bd4c87;border:0;border-radius:12px;padding:13px 18px;color:#fff;font-weight:700;cursor:pointer}button:disabled{opacity:.6}.note{color:#756576}.error{color:#b42335}.pill{display:inline-block;padding:8px 12px;background:#fce5f0;border-radius:999px;color:#8d3363;font-weight:700}.placeholder{background:#fff7fb;border:1px dashed #e5c3d4;padding:18px;border-radius:12px;margin:20px 0}footer{padding:20px 0;text-align:center;font-size:12px}@media(min-width:800px){.shell{padding-top:48px}.panel{padding:38px}}.admin-area{margin:24px 0;border-top:1px solid #f2dce8;padding-top:16px}.admin-area h3{margin:18px 0 8px}.members{list-style:none;padding:0;margin:10px 0}.members li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f2dce8}.members span{color:#766675;text-align:right}select{width:100%;padding:13px;border:1px solid #d6becd;border-radius:12px;font-size:16px;background:#fff}@media(max-width:500px){.members li{flex-direction:column;gap:4px}.members span{text-align:left}}.member-chooser{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:22px 0}.person{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff7fb;color:#442d3c;border:1px solid #f0cddd;min-height:145px}.person-icon{font-size:35px}.person small{font-size:12px;color:#806978}.secondary{background:#f9eaf2;color:#8b3263}.text-button{background:transparent;color:#8b3263;padding:0 0 14px}.pin-panel{text-align:center;max-width:420px;margin:auto}.pin-panel .text-button{display:block}.pin-dots{display:flex;justify-content:center;gap:14px;margin:24px 0}.pin-dots i{display:block;width:18px;height:18px;border:2px solid #b75b8a;border-radius:50%}.pin-dots i.filled{background:#b75b8a}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:300px;margin:18px auto}.pin-key{height:62px;font-size:24px;background:#fff0f7;color:#6b2750;border:1px solid #ecc4d7}.pin-key:disabled{opacity:.35}.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.member-actions{display:flex;flex-wrap:wrap;gap:5px}.small{padding:7px 9px;font-size:12px}.muted{color:#766675;font-size:13px;margin-top:5px}.members li{align-items:center}.child-panel{background:#fff1f8}@media(max-width:500px){.dash-head{flex-direction:column}.member-actions{margin-top:6px}}html,body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}.task-create{border:1px solid #f2dce8;border-radius:12px;padding:12px;margin:16px 0}.task-create summary,details summary{cursor:pointer;font-weight:700}.task-checks{display:flex;flex-wrap:wrap;gap:18px}.task-checks label{display:flex;align-items:center;gap:7px}.task-checks input{width:auto}.task-list{display:grid;gap:12px}.task-item{border:1px solid #f2dce8;border-radius:12px;padding:14px}.task-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.task-top .pill{font-size:12px}.task-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}details.admin-area{padding-bottom:12px}:root,body[data-theme=green]{--bg:#f3faf2;--panel:#ffffff;--line:#d8e9d8;--soft:#e6f3e6;--accent:#528d67;--accent-dark:#2f6546;--ink:#294436;--muted:#648072}body[data-theme=pink]{--bg:#fff4f8;--panel:#ffffff;--line:#f2d5e1;--soft:#fde6ef;--accent:#d47b9e;--accent-dark:#9b4b6c;--ink:#5c3649;--muted:#987384}body{background:var(--bg);color:var(--ink)}.shell{max-width:1120px;padding:20px 18px}header{padding:12px 0 16px}header h1{font-size:30px}header h1 span,.eyebrow{color:var(--accent-dark)}header p,footer,.muted,.note{color:var(--muted)}.panel{background:var(--panel);border-color:var(--line);box-shadow:0 8px 32px #254e3810}.dashboard{padding:24px}.dashboard h2{margin:8px 0 10px}button{background:var(--accent)}button:hover{filter:brightness(.97)}.secondary,.pill{background:var(--soft);color:var(--accent-dark)}.admin-area,.members li,.task-item,.task-create{border-color:var(--line)}.person{background:var(--soft);color:var(--ink);border-color:var(--line)}.person small{color:var(--muted)}.pin-key{background:var(--soft);color:var(--accent-dark);border-color:var(--line)}.pin-dots i{border-color:var(--accent)}.pin-dots i.filled{background:var(--accent)}.text-button{color:var(--accent-dark)}input,select{border-color:var(--line)}.module-nav{display:flex;gap:7px;overflow-x:auto;margin:22px 0;padding:3px 0 10px;scrollbar-width:thin}.nav-tab{background:var(--soft);color:var(--accent-dark);padding:10px 13px;white-space:nowrap;display:flex;align-items:center;gap:7px;font-size:13px}.nav-tab.active{background:var(--accent);color:#fff}.module[hidden]{display:none!important}.section-heading h3{font-size:22px;margin:12px 0 4px}.section-heading p{color:var(--muted);margin:0 0 18px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.overview-tile,.stat-card{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:16px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-height:140px}.overview-tile span{font-size:29px}.overview-tile strong{font-size:17px}.overview-tile small,.stat-card small{font-size:12px;color:var(--muted)}.overview-tile.static{cursor:default}.stat-card strong{font-size:28px;color:var(--accent-dark)}.module-preview{border:1px dashed var(--line);background:var(--bg);border-radius:16px;padding:22px;margin:18px 0;color:var(--ink)}.module-preview p{color:var(--muted);line-height:1.5}.module-preview.compact{padding:16px}.preview-icon{font-size:34px}.preview-status{font-size:12px;color:var(--accent-dark);font-weight:700}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:8px;overflow-x:auto}.day-card{background:var(--soft);border-radius:12px;padding:12px;min-height:160px;display:flex;flex-direction:column;gap:14px}.day-card small{border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--muted)}.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.reward-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px}.reward-card span{font-size:28px}.reward-card small{color:var(--muted)}.task-list{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}.task-item{background:var(--panel)}@media(max-width:600px){.shell{padding:12px}.dashboard{padding:16px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-tile{padding:12px;min-height:135px}.overview-tile strong{font-size:14px}.week-grid{grid-template-columns:repeat(7,115px)}.dash-head{flex-direction:row}.nav-tab{padding:10px}.section-heading h3{font-size:20px}}.version{font-size:12px;color:var(--muted);margin-top:5px}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.avatar-img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid var(--line);flex-shrink:0}.person-icon .avatar-img{width:66px;height:66px}.avatar-emoji{font-size:32px}.member-identity{display:flex;align-items:center;gap:12px}.avatar-editor{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.avatar-upload{display:inline-flex;align-items:center;cursor:pointer;border-radius:9px;padding:9px 11px}.view-as-overlay,.view-only-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#17271b99;display:grid;place-items:center;padding:16px}.view-as-dialog{background:#fff;padding:24px;border-radius:18px;max-width:460px;width:100%}.view-as-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.view-only-shell{background:#f3faf2;display:flex;flex-direction:column;align-items:stretch;padding:0;color:#294436}.view-only-shell[data-preview-theme=pink]{background:#fff4f8;color:#5c3649}.view-only-bar{background:#294436;color:#fff;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.view-only-shell[data-preview-theme=pink] .view-only-bar{background:#9b4b6c}.view-only-content{width:min(100%,980px);margin:30px auto;padding:20px;flex:1}.view-only-person{display:flex;align-items:center;gap:16px}.view-only-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:30px 0}.view-only-grid div{background:#fff;border-radius:16px;padding:24px;border:1px solid #dae8d9}.view-only-shell[data-preview-theme=pink] .view-only-grid div{border-color:#f2d5e1}.live-summary{padding:20px;border:1px solid var(--border,#dce8dd);border-radius:16px;background:var(--surface,#f5faf4);margin-top:16px}.live-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.live-stats>div{display:flex;flex-direction:column;gap:5px;background:#fff;padding:15px;border-radius:12px}.live-stats strong{font-size:28px}.live-stats span{font-size:13px}.calendar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.calendar-scroll{overflow-x:auto}.live-week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;border:1px solid #cddfcf;border-radius:12px;overflow:hidden}.live-day{border-right:1px solid #d6e4d8;background:#f8fbf7}.live-day:last-child{border-right:0}.live-day-title{display:flex;flex-direction:column;gap:5px;text-align:center;background:#dcefd9;padding:12px 5px}.live-day-body{min-height:220px;padding:8px;display:flex;flex-direction:column;gap:8px}.calendar-task{background:#fff;border:1px solid #dce8df;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.calendar-task strong{font-size:13px}.calendar-task small{font-size:11px}body[data-theme=pink] .live-day-title{background:#f8dce9}body[data-theme=pink] .live-day{background:#fff6fa}@media(max-width:700px){.live-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.live-week{display:block;min-width:1000px;border:0;background:transparent;overflow:visible}.week-child-picker{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:13px}.week-child-picker label{min-width:150px}.week-child-picker select{padding:8px}.timetable-grid{display:grid;grid-template-columns:105px repeat(7,minmax(125px,1fr));border:1px solid #a8c9a5;border-radius:9px;overflow:hidden;background:#f5faf1}.grid-corner,.grid-day-head{background:#b9dcae;text-align:center;padding:10px 4px;font-size:12px;font-weight:700;border-right:1px solid #a9caa4;border-bottom:1px solid #a9caa4}.grid-day-head{display:flex;flex-direction:column;gap:5px}.grid-day-head span{font-weight:600}.grid-row-label{background:#d8e9cc;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;border-right:1px solid #b6cdb1;border-bottom:1px solid #b6cdb1}.grid-cell{min-height:76px;background:#f3f9ef;border-right:1px solid #b6cdb1;border-bottom:1px solid #b6cdb1;padding:5px;display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:center}.grid-cell:nth-child(2n){background:#ecf6e9}.grid-event{display:flex;flex-direction:column;gap:3px;font-size:12px;overflow-wrap:anywhere}.grid-event strong{font-size:12px}.grid-event small{font-size:10px;color:var(--muted)}.grid-add,.grid-edit{align-self:center;background:transparent;color:var(--accent-dark);border:1px dashed #b6cdb1;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:600}.grid-edit{border:0;text-decoration:underline}.grid-empty{font-size:12px;color:#8ca48b}.grid-exam{background:#fff6f8!important}.grid-task{background:#fffaf0!important}.grid-editor{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}.grid-editor[hidden]{display:none}.grid-editor form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.grid-editor-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.grid-editor label input[type=checkbox]{width:auto}body[data-theme=pink] .grid-corner,body[data-theme=pink] .grid-day-head{background:#f5cddd}body[data-theme=pink] .grid-row-label{background:#f9e0e9}body[data-theme=pink] .grid-cell{background:#fff6fa}body[data-theme=pink] .grid-cell:nth-child(2n){background:#fff0f6}@media(max-width:700px){.live-week{min-width:1000px}.calendar-scroll{overscroll-behavior-x:contain}}.grid-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#18251c94;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:contain}.grid-modal{width:min(100%,560px);max-height:min(90dvh,850px);overflow-y:auto;background:var(--panel,#fff);color:var(--ink,#294436);border:1px solid var(--line,#d8e9d8);border-radius:20px;box-shadow:0 25px 80px #15271c44;padding:22px}.grid-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:-22px;background:var(--panel,#fff);z-index:1;padding:8px 0 12px;border-bottom:1px solid var(--line)}.grid-modal-head h3{margin:0;font-size:19px}.grid-modal-close{font-size:24px;line-height:1;padding:5px 12px;flex-shrink:0}.grid-modal form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0}.grid-modal form label:first-child{grid-column:1/-1}.grid-modal label{font-size:14px}.grid-modal label input,.grid-modal label select{min-width:0;width:100%;padding:11px;font-size:16px}.grid-modal label input[type=checkbox]{width:auto}.grid-modal-actions,.grid-modal .grid-editor-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@media(max-width:520px){.grid-modal{padding:16px;max-height:94dvh}.grid-modal form{grid-template-columns:1fr}.grid-modal-head{top:-16px}}.copyright{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.5}.welcome-banner{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:18px;align-items:center;background:linear-gradient(115deg,var(--soft),var(--panel));border:1px solid var(--line);border-radius:18px;padding:22px;margin:10px 0 22px}.welcome-banner h3{font-size:clamp(20px,3vw,28px);margin:9px 0}.welcome-banner p{color:var(--muted);margin-bottom:0}.weather-overview{border-radius:15px;background:var(--panel);border:1px solid var(--line);padding:15px;display:flex;flex-direction:column;gap:7px}.weather-overview strong{font-size:15px}.weather-overview .weather-temp{font-size:31px;font-weight:800;color:var(--accent-dark)}.weather-overview small{font-size:11px;color:var(--muted)}.grid-period{display:flex;flex-direction:column;gap:4px;min-height:76px}.grid-period .session-name{font-size:12px;color:var(--accent-dark);font-weight:800}.grid-period span:last-child{font-size:11px}.grid-period.session-start{background:#b7d9ae;border-top:3px solid #79a879}.grid-period.session-start~.grid-cell{border-top:3px solid #79a879}.weather-label,.weather-cell{background:#e7f4f6!important;min-height:70px}.weather-cell{justify-content:center;gap:4px}.weather-cell strong{font-size:12px}.weather-cell small{font-size:11px}.timetable-grid .grid-row-label{min-height:70px}body[data-theme=pink] .grid-period.session-start{background:#f5cddd;border-top-color:#d891b0}body[data-theme=pink] .grid-period.session-start~.grid-cell{border-top-color:#d891b0}@media(max-width:700px){.welcome-banner{grid-template-columns:1fr;padding:16px}.weather-overview{max-width:none}}.timetable-grid{grid-template-columns:64px 42px repeat(7,minmax(125px,1fr));grid-auto-flow:row;align-items:stretch}.grid-corner,.grid-wide-label{grid-column:span 2}.session-heading{grid-column:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;padding:5px 2px;background:#d4e8cb;border-right:1px solid #b6cdb1;border-bottom:2px solid #8bb58a;font-size:12px;color:#355b42}.session-heading span{font-size:17px}.session-heading strong{font-size:12px;line-height:1.35}.grid-period{grid-column:2;min-height:76px;padding:4px}.grid-day-wrap{min-width:0;display:flex;flex-direction:column}.grid-day-wrap>.grid-cell{flex:1;min-height:76px}.grid-day-head.is-tomorrow{background:#d4e6bf;box-shadow:inset 0 0 0 2px #8fae80}.grid-day-head.is-tomorrow small{color:#3c7044;font-size:10px}.grid-day-wrap.is-tomorrow>.grid-cell{background:#e4f0db!important;box-shadow:inset 2px 0 #a6c396,inset -2px 0 #a6c396}body[data-theme=pink] .session-heading{background:#f9dce8;color:#904d6d;border-bottom-color:#dfadc1}body[data-theme=pink] .grid-day-head.is-tomorrow{background:#f4d0df;box-shadow:inset 0 0 0 2px #d48ead}body[data-theme=pink] .grid-day-wrap.is-tomorrow>.grid-cell{background:#ffe3ef!important;box-shadow:inset 2px 0 #e8a6c1,inset -2px 0 #e8a6c1}.welcome-banner{grid-template-columns:minmax(0,1.65fr) minmax(210px,.95fr);padding:17px 20px;gap:14px;margin:8px 0 16px}.welcome-banner h3{font-size:clamp(19px,2.3vw,24px);font-weight:700;line-height:1.35}.welcome-banner p{font-size:13px;line-height:1.55}.weather-overview{padding:12px;max-width:330px;justify-self:end}@media(max-width:700px){.welcome-banner{grid-template-columns:1fr}.weather-overview{justify-self:stretch;max-width:none}}body.dashboard-mode{background:#f8faf7}body.dashboard-mode .shell{max-width:none;margin:0;padding:0}body.dashboard-mode .shell>header{display:none}body.dashboard-mode .shell>footer{margin-left:232px}.family-layout{display:flex;align-items:stretch;min-height:100dvh}.family-sidebar{width:232px;flex:0 0 232px;position:sticky;top:0;height:100dvh;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 15px 0;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:11px;margin:4px 2px 30px}.brand-mark{display:grid;place-items:center;background:var(--accent-dark);color:#fff;border-radius:12px;width:45px;height:45px;font-size:28px}.sidebar-brand strong{display:block;font-size:21px;color:var(--ink)}.sidebar-brand small{display:block;font-size:8px;letter-spacing:.23em;color:var(--muted);font-weight:700;margin-top:3px}.sidebar-kicker{font-size:9px;letter-spacing:.2em;color:var(--muted);padding:0 14px;margin:0 0 14px}.family-sidebar .module-nav{display:flex;flex-direction:column;overflow:visible;gap:4px;margin:0;padding:0}.family-sidebar .nav-tab{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 12px;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;white-space:normal}.family-sidebar .nav-tab svg,.mobile-nav svg{width:19px;height:19px;flex-shrink:0}.family-sidebar .nav-tab.active{background:var(--soft);color:var(--accent-dark);font-weight:700}.sidebar-bottom{margin-top:auto}.sidebar-motto{padding:20px 12px;color:var(--accent-dark)}.sidebar-motto p{font-size:15px;line-height:1.65}.sidebar-motto small{font-size:10px;color:var(--muted)}.sidebar-flowers{font-size:21px;color:#b8c9a8;margin-top:18px}.sidebar-person{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:15px 5px}.sidebar-person strong,.sidebar-person small{display:block}.sidebar-person strong{font-size:12px}.sidebar-person small{font-size:10px;color:var(--muted)}.sidebar-person .avatar-img{width:38px;height:38px}.family-layout>.dashboard{flex:1;min-width:0;max-width:none;border:0;border-radius:0;box-shadow:none;background:transparent;padding:25px clamp(16px,3vw,48px)}.family-layout .dash-head{padding:0 0 12px}.family-layout .welcome-banner{margin-top:14px}.mobile-nav{display:none}@media(max-width:760px){body.dashboard-mode .shell>footer{margin-left:0;padding-bottom:90px}.family-sidebar{display:none}.family-layout>.dashboard{padding:15px 12px 90px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:700;background:var(--panel);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));gap:3px;overflow-x:auto;box-shadow:0 -5px 18px #263d2a12}.mobile-nav button{flex:1 0 65px;min-width:65px;max-width:100px;padding:6px 3px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;border-radius:10px}.mobile-nav button.active{background:var(--soft);color:var(--accent-dark)}.mobile-nav svg{width:20px;height:20px}.mobile-nav span{font-size:10px;white-space:nowrap}}.family-sidebar .nav-tab .menu-icon,.mobile-nav .menu-icon{width:28px;height:28px;object-fit:contain;flex-shrink:0}.brand-art{width:49px;height:49px;object-fit:cover;border-radius:13px}.family-sidebar .nav-tab{gap:11px;padding:11px 10px;font-size:14px}.sidebar-person{gap:8px}.sidebar-person>span{flex:1;min-width:0}.sidebar-logout-holder{margin-left:auto}.sidebar-logout{padding:7px 10px!important;font-size:20px!important;min-width:34px;line-height:1;background:transparent!important;color:var(--accent-dark)!important;border:1px solid var(--line)!important}.dash-head #logout{display:none}.overview-intro{margin:2px 0 16px}.overview-intro>span{display:block;color:var(--muted);font-size:13px;text-transform:capitalize;margin-bottom:5px}.overview-intro h2{font-size:clamp(22px,2.5vw,29px);margin:0 0 6px}.overview-intro p{margin:0;color:var(--muted);font-size:14px}.welcome-banner{position:relative;min-height:160px;display:flex;align-items:center;overflow:hidden;padding:22px 24px;background:linear-gradient(110deg,#e2f2df,#f1f8e9);border:1px solid #d6e8d0;border-radius:19px;margin:0 0 20px;gap:10px}.banner-copy{position:relative;z-index:2;max-width:45%;min-width:290px}.banner-copy h3{font-size:clamp(17px,2vw,23px);margin:0 0 9px;color:#315f41}.banner-copy p{font-size:13px;margin:0 0 12px}.banner-copy small{font-size:11px;color:#789c79;letter-spacing:.08em}.banner-house{position:absolute;z-index:1;width:310px;height:185px;object-fit:contain;left:47%;bottom:-14px;pointer-events:none}.welcome-banner .weather-overview{position:relative;z-index:2;margin-left:auto;justify-self:auto;width:240px;flex:0 0 240px;background:#ffffffd6;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 6px 25px #5c88591b}.overview-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0}.overview-actions button{background:var(--accent-dark);color:#fff}.overview-actions span{font-size:13px;color:var(--muted)}.live-summary{margin-top:12px}.overview-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:27px}.overview-stats>div{position:relative;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center;min-height:105px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:17px 17px 17px 88px!important;box-shadow:none!important}.overview-stats .stat-ico{position:absolute;left:18px;top:23px;display:grid;place-items:center;width:51px;height:51px;border-radius:16px;background:#e9f2e6;color:#699d75;font-size:25px}.overview-stats .stat-ico.pink{background:#fbeaf0;color:#d38caa}.overview-stats .stat-ico.rose{background:#fbeaf0;color:#c97b9b}.overview-stats small{font-size:12px;color:var(--muted)}.overview-stats strong{font-size:27px!important;font-weight:500!important;margin-top:5px}.overview-stats em{font-size:12px;font-style:normal;color:var(--muted)}.overview-columns{display:grid;grid-template-columns:1.35fr .95fr;gap:26px}.column-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.column-heading h3{font-size:17px;margin:0}.column-heading h3 span{display:inline-block;border-radius:7px;padding:2px 8px;font-size:11px;background:var(--soft)}.text-link{background:none!important;border:0!important;color:var(--accent-dark)!important;font-size:12px;padding:6px!important}.pending-panel{min-height:240px;border:1px dashed var(--line);border-radius:17px;background:#fff;display:flex;flex-direction:column}.empty-state{margin:auto;text-align:center;padding:30px 15px;color:var(--muted)}.empty-state span{display:block;font-size:29px;margin-bottom:9px}.empty-state strong{display:block;font-size:14px;color:var(--accent-dark)}.empty-state p{font-size:12px}.pending-row{padding:15px;border-bottom:1px solid var(--line)}.pending-row strong,.pending-row small{display:block}.pending-row small{margin-top:5px;color:var(--muted)}.children-summary{display:grid;gap:12px}.child-summary-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;border:1px solid #f4d9e2;background:#fff2f7;border-radius:15px;padding:17px}.child-summary-card .avatar-img{width:46px;height:46px}.child-summary-name strong,.child-summary-name small,.child-summary-count strong,.child-summary-count small{display:block}.child-summary-name strong{color:#8b425f;font-size:14px}.child-summary-name small,.child-summary-count small{font-size:11px;color:#a66f83;margin-top:5px}.child-summary-count{text-align:right}.child-summary-count strong{font-size:23px;color:#bd6689;font-weight:500}.child-summary-progress{grid-column:1/-1;margin-top:5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;font-size:11px;color:#986c7e}.child-summary-progress>small{width:100%;font-size:10px}.progress-track{width:100%;height:8px;border-radius:12px;background:#f0e4e8;overflow:hidden}.progress-track i{display:block;height:100%;background:#df9fba;border-radius:12px}.overview-tip{border:1px dashed #e0e8d5;border-radius:13px;padding:16px;margin-top:15px;color:#769060;font-size:12px}.overview-tip p{margin:6px 0 0 28px;font-size:11px}.overview-data-note{margin-top:18px;font-size:11px}@media(max-width:1150px){.banner-house{left:41%;opacity:.75}.banner-copy{max-width:55%}.overview-columns{gap:16px}}@media(max-width:850px){.overview-columns{grid-template-columns:1fr}.welcome-banner{flex-wrap:wrap}.banner-copy{max-width:100%}.banner-house{left:auto;right:5%;width:190px;opacity:.55}.welcome-banner .weather-overview{width:100%;flex-basis:100%;max-width:none}.overview-stats{gap:7px}.overview-stats>div{padding:13px!important;min-height:105px}.overview-stats .stat-ico{position:static;width:33px;height:33px;font-size:17px;margin-bottom:6px}.overview-stats strong{font-size:21px!important}}@media(max-width:760px){.mobile-nav .menu-icon{width:24px;height:24px}.dash-head #logout{display:inline-block}.banner-copy{min-width:0}.banner-house{right:-30px;top:4px;width:165px;opacity:.4}.welcome-banner{padding:16px}.overview-stats>div{padding:10px!important}.overview-stats small{font-size:10px}.overview-stats strong{font-size:21px!important}.overview-stats em{font-size:10px}}.family-sidebar .nav-tab .menu-icon,.mobile-nav .menu-icon{object-fit:contain;object-position:center;display:block}.banner-house{z-index:0;opacity:.19;filter:saturate(.32) contrast(.85);width:345px;height:195px;left:47%;bottom:-24px}.banner-copy{z-index:1}.welcome-banner .weather-overview{z-index:2}@media(max-width:1150px){.banner-house{opacity:.15}}@media(max-width:850px){.banner-house{left:auto;right:8%;opacity:.13}}@media(max-width:760px){.banner-house{right:-12px;top:0;opacity:.12;width:210px}}body.dashboard-mode .shell>footer,body.dashboard-mode .shell>header{display:none!important}.family-sidebar{padding-bottom:0}.sidebar-brand{align-items:flex-start;gap:10px}.sidebar-brand>div{min-width:0;flex:1}.sidebar-brand strong{font-size:22px;white-space:nowrap}.sidebar-brand .brand-tagline{display:flex;flex-direction:column;gap:3px;width:100%;max-width:145px;letter-spacing:.13em;font-size:10px;line-height:1.3}.sidebar-brand .brand-tagline span{display:block;text-align:justify;text-align-last:justify;white-space:nowrap}.sidebar-meta{border-top:1px solid var(--line);padding:11px 5px 15px;display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted);line-height:1.5}.sidebar-meta span:first-child{font-weight:700;color:var(--accent-dark)}.sidebar-logout{display:grid;place-items:center;width:39px;height:38px;cursor:pointer}.sidebar-logout svg{display:block}.family-layout .dash-head{display:none!important}.overview-greeting{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.overview-greeting>div{flex:1;min-width:230px}.overview-greeting #overview-assign{background:var(--accent-dark);color:#fff;white-space:nowrap;min-height:46px;padding:10px 18px}.weather-overview{background:#ffffff94!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;box-shadow:0 4px 20px #53794a0b!important;border:1px solid #ffffff88!important}.weather-location{font-weight:700;font-size:12px}.weather-main{display:flex;align-items:center;gap:13px}.weather-symbol{font-size:47px;line-height:1}.weather-overview .weather-temp{font-size:40px;line-height:1.1}.weather-metrics{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.weather-metrics span{white-space:nowrap}.location-results{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.location-option{font-size:12px;text-align:left}@media(max-width:760px){.overview-greeting #overview-assign{width:100%}.weather-main .weather-symbol{font-size:42px}.weather-overview{width:100%!important}}.sidebar-view-as{display:block;width:100%;margin:12px 0 0;text-align:left;font-size:12px!important}.mobile-account{display:none}@media(max-width:760px){.mobile-account{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.mobile-account>span{display:flex;align-items:center;gap:9px}.mobile-account .avatar-img{width:35px;height:35px}.mobile-account button{font-size:12px}.sidebar-meta{display:none}}.sidebar-brand{align-items:center;gap:11px;margin-bottom:28px}.brand-art{display:grid;place-items:center;flex:0 0 54px;width:54px;height:65px;border-radius:14px;background:var(--accent-dark);color:var(--accent-dark);overflow:hidden}.brand-art svg{width:38px;height:38px}.sidebar-brand>div{display:flex;flex-direction:column;justify-content:space-between;height:65px;min-width:0;flex:1}.sidebar-brand strong{font-size:24px;line-height:1.1;font-weight:700;white-space:nowrap;letter-spacing:-.045em}.sidebar-brand .brand-tagline{max-width:none!important;display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:.1em;line-height:1.15;margin:0}.sidebar-brand .brand-tagline span{text-align:justify;text-align-last:justify;white-space:nowrap}body[data-theme=pink] .brand-art{background:#c77599;color:#c77599}.overview-date{font-size:13px;letter-spacing:.02em;color:var(--muted);font-weight:600;margin:0 0 14px;text-transform:none}.overview-columns{align-items:start}.children-summary{gap:12px}.child-summary-card{grid-template-columns:48px 1fr auto;min-height:160px;align-content:center;padding:17px 20px;gap:11px 13px}.child-summary-name strong{font-size:15px}.child-summary-name small{font-size:11px}.child-summary-count strong{font-size:25px}.child-summary-progress{margin-top:6px}.child-summary-progress>span{font-size:11px;font-weight:600}.child-summary-progress>small{font-size:10px}@media(min-width:851px){.children-summary{min-height:240px}.child-summary-card{min-height:114px}}@media(max-width:760px){.overview-date{margin-top:8px}.child-summary-card{min-height:145px}}.sidebar-brand .brand-tagline span{text-align:left!important;text-align-last:left!important;letter-spacing:.11em!important}.calendar-controls{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:12px 0}.calendar-controls #week-label{display:block;width:100%;font-size:15px}.week-buttons{display:inline-flex;gap:0;overflow:hidden;border-radius:9px;border:1px solid var(--line)}.week-buttons button{border-radius:0!important;border:0!important;border-right:1px solid var(--line)!important;margin:0!important}.week-buttons button:last-child{border-right:0!important}@media(min-width:901px){.calendar-scroll{overflow-x:visible}.live-week{min-width:0!important;width:100%}.timetable-grid{width:100%;grid-template-columns:45px 30px repeat(7,minmax(0,1fr))!important}.grid-cell,.grid-day-wrap>.grid-cell{min-width:0;min-height:61px;padding:3px}.grid-period{min-height:61px}.session-heading,.session-heading strong,.grid-event,.grid-event strong{font-size:11px}.grid-day-head{font-size:11px;padding:6px 2px}.grid-add{font-size:10px;padding:3px 4px}.grid-cell .grid-event{overflow-wrap:anywhere}}@media(max-width:900px){.calendar-scroll{overflow-x:auto}.live-week{min-width:920px}}.grid-task-open{border:0;background:transparent;color:var(--accent-dark);padding:0;font-size:11px;font-weight:700;text-align:center;cursor:pointer;overflow-wrap:anywhere}html,body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif!important}body{font-size:14px;line-height:1.5}.family-sidebar .nav-tab{font-size:14px}.welcome-banner{min-height:340px!important;padding:35px 42px!important;border-radius:24px!important}.welcome-banner .banner-copy{max-width:58%;z-index:2}.welcome-banner .banner-house{opacity:.37!important;filter:saturate(.55)!important;right:2%;bottom:4%;width:min(37%,440px)!important}.welcome-banner .weather-overview{background:#ffffff6e!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}.overview-columns{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr);align-items:stretch!important}.overview-columns>div:first-child{display:flex;flex-direction:column;min-width:0}.pending-panel{flex:1;min-height:280px}.children-summary{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.child-summary-card{min-height:0!important}.overview-tip{display:none}.sidebar-brand .brand-tagline span{text-align:left!important;text-align-last:left!important}.pin-switch{display:inline-flex;width:36px;height:21px;vertical-align:middle;align-items:center;background:#b8bfc0;border-radius:14px;padding:3px;transition:background .15s}.pin-switch i{display:block;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:transform .15s}.pin-switch.on{background:#4e9168}.pin-switch.on i{transform:translate(15px)}.preview-real-bar{position:fixed;z-index:1900;left:50%;bottom:20px;transform:translate(-50%);background:#234f3b;color:#fff;box-shadow:0 8px 40px #0003;border-radius:18px;padding:10px 15px;display:flex;align-items:center;gap:15px;max-width:calc(100vw - 30px)}.preview-real-bar button{background:#fff;color:#234f3b;white-space:nowrap}body[data-theme=pink] .preview-real-bar{background:#8d4c68}.journal-list{display:grid;gap:10px}.journal-entry{display:grid;grid-template-columns:150px 1fr;gap:16px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px}.journal-entry time{color:var(--muted);font-size:12px}.journal-entry p{margin:4px 0;color:var(--muted)}.debt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:15px 0}.debt-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;display:grid;gap:8px}.debt-card b{font-size:24px}.debt-card small{color:var(--muted)}.self-name-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.self-name-form label{flex:1;min-width:200px}@media(max-width:850px){.overview-columns{grid-template-columns:1fr}.welcome-banner{min-height:300px!important;padding:24px!important}.welcome-banner .banner-copy{max-width:100%}.welcome-banner .banner-house{opacity:.2!important;width:45%!important}.journal-entry{grid-template-columns:1fr;gap:4px}}@media(max-width:520px){.welcome-banner{min-height:340px!important}.preview-real-bar{width:calc(100% - 20px);justify-content:space-between;font-size:12px}}.heroart{width:310px;height:230px;position:relative;flex-shrink:0;margin-right:10px}.heroart{margin-right:50px}.heroart{transform:scale(.8);transform-origin:right center;width:230px;margin-right:0}.heroart{width:210px}.heroart{position:absolute;right:-9px;bottom:-1px;width:310px;transform:scale(.53);transform-origin:bottom right;opacity:.95}.house{position:absolute;bottom:25px;right:19px;width:148px;height:160px;transform:rotate(5deg)}.roof{position:absolute;top:0;width:0;height:0;border-left:82px solid transparent;border-right:82px solid transparent;border-bottom:80px solid #c09c75;left:-8px;z-index:1;filter:drop-shadow(0px 7px 0px #a9866350)}.wall{position:absolute;bottom:0;width:147px;height:95px;background:#f6efda;border-radius:3px 3px 8px 8px;box-shadow:6px 5px #d8d7b6}.window{position:absolute;background:#bccac2;border:5px solid #fffdf2;top:22px;left:20px;width:37px;height:37px;color:#fffef1;text-align:center;font-size:28px;line-height:27px}.door{position:absolute;bottom:0;right:18px;width:38px;height:65px;background:#b9bda0;border-radius:20px 20px 0 0}.door:after{content:"";width:4px;height:4px;border-radius:50%;background:#eee9d7;position:absolute;right:7px;top:38px}.artground{position:absolute;bottom:12px;left:8px;width:300px;height:26px;background:#b9c3a54a;border-radius:50%;z-index:0}.plant{position:absolute;bottom:17px;left:30px;width:100px;height:180px;z-index:2;transform:rotate(-6deg)}.plant i{position:absolute;background:#8da77a;border-radius:3px 80%;width:43px;height:27px;top:35px;left:13px;transform:rotate(14deg)}.plant i:nth-of-type(2){left:51px;top:13px;transform:rotate(100deg);background:#6d8e69}.plant i:nth-of-type(3){top:81px;left:11px;transform:rotate(17deg);background:#6d8e69}.plant i:nth-of-type(4){top:64px;left:51px;transform:rotate(103deg)}.pot{position:absolute;bottom:0;left:20px;width:65px;height:67px;border-radius:4px 4px 24px 24px;background:#d7a080;box-shadow:inset -10px 0 #b9816c30;color:#f7d4b6;text-align:center;padding-top:17px;font-size:24px}.stem{width:4px;height:120px;background:#69866a;position:absolute;bottom:42px;left:51px;border-radius:50%}.spark{position:absolute;color:#a8b88c;font-size:40px}.spark.a{top:7px;left:7px}.spark.b{right:-5px;top:15px;font-size:27px}.artlabel{position:absolute;bottom:-10px;left:100px;color:#9da887;font-size:13px;font-style:italic;transform:rotate(-4deg)}.artlabel{bottom:8px}.welcome-banner{min-height:340px!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:#eaf0e3!important;overflow:hidden!important;padding:34px 38px!important}.welcome-banner .banner-copy{position:relative;z-index:2;max-width:55%;flex:0 1 55%}.welcome-banner .banner-copy h3{font-size:clamp(27px,2.5vw,37px);line-height:1.35;max-width:550px}.welcome-banner .heroart{position:absolute;right:5%;bottom:20px;z-index:1;opacity:.88;pointer-events:none;margin:0}.welcome-banner .weather-overview{position:absolute!important;right:2.5%;top:8%;width:min(32%,410px);z-index:3;background:#ffffff52!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important}.banner-task-shortcut{display:inline-flex!important;width:auto!important;margin-top:24px;padding:7px 0!important;background:none!important;border:0!important;border-bottom:1px solid #aabc9a!important;color:var(--accent-dark)!important;border-radius:0!important;font-size:12px}.view-as-top{display:flex;align-items:center;gap:13px;padding:13px 18px;margin:0 0 22px;background:#eff4e9;border:1px solid #e0e9d9;border-radius:14px;flex-wrap:wrap;color:#698363;font-size:13px}.view-as-top button{background:#fff!important;border:1px solid #dce7d5!important;color:#344d36!important;padding:10px 15px!important;min-width:190px;text-align:left}.preview-real-bar{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;margin-bottom:16px}.task-popup .task-create{border:0;margin:0;padding:0}.task-popup .task-create form{margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-popup .task-create form>label:nth-child(-n+2){grid-column:1/-1}.task-popup .task-checks{grid-column:1/-1}.gift-create-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.gift-create-form label:first-child{grid-column:1/-1}.gift-create-form button{grid-column:1/-1;justify-self:start}#gift-module>.gift-create-form{display:none}@media(max-width:850px){.welcome-banner .banner-copy{max-width:65%;flex-basis:65%}.welcome-banner .heroart{right:-40px;opacity:.6}.welcome-banner .weather-overview{right:2%;width:35%}}@media(max-width:600px){.welcome-banner{min-height:390px!important;padding:20px!important;align-items:flex-start!important}.welcome-banner .banner-copy{max-width:80%;flex-basis:80%}.welcome-banner .banner-copy h3{font-size:25px}.welcome-banner .heroart{right:-10px;bottom:0;transform:scale(.65);transform-origin:bottom right;opacity:.5}.welcome-banner .weather-overview{top:auto;bottom:12px;left:12px;right:12px;width:calc(100% - 24px);max-width:none}.task-popup .task-create form,.gift-create-form{grid-template-columns:1fr}}.session-heading{gap:3px;display:flex;flex-direction:column;align-items:center;justify-content:center}.session-icon{font-size:17px;line-height:1.15}.session-heading strong{line-height:1.15}.grid-cell{min-height:53px!important;padding:3px 4px!important;gap:2px}.grid-period{min-height:53px!important}.grid-event{gap:1px;line-height:1.22}.grid-add{padding:2px 5px}.grid-day-head{padding:5px 2px}.pin-toggle-copy{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;text-align:left}.pin-toggle-copy strong{font-size:12px}.pin-toggle-copy small{font-size:11px;opacity:.8}.member-actions [data-act=pin-toggle]{display:inline-flex;align-items:center;gap:9px;white-space:normal}.location-results{display:flex;flex-direction:column;align-items:stretch;max-height:260px;overflow-y:auto}.location-option{text-align:left}.grid-modal label select{min-height:44px}html{width:100%;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body,#app,.shell,.family-layout,.dashboard{max-width:100%;min-width:0}body{overflow-x:clip}button,.pin-key{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:max(16px,1em)}.location-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:#16291b88;display:grid;place-items:center;padding:16px}.location-modal{width:min(440px,100%);max-height:85dvh;overflow-y:auto;background:var(--panel);border-radius:20px;padding:20px;box-shadow:0 20px 70px #102b193b}.location-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.location-modal-head h3{margin:0}.location-modal-head button{font-size:24px;padding:4px 12px}.location-modal input{width:100%;min-width:0}.location-modal .location-results{max-height:42dvh;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}.weather-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.weather-place-button{border:1px solid #73987b55!important;background:#ffffff60!important;color:var(--accent-dark)!important;min-width:29px!important;width:29px;height:29px;padding:0!important;border-radius:9px!important;font-size:23px!important;line-height:1!important;flex-shrink:0}@media(max-width:760px){body.dashboard-mode .shell>footer{display:none}.family-layout>.dashboard{width:100%;padding:8px 10px calc(78px + env(safe-area-inset-bottom))}.mobile-nav{overflow:hidden!important;overflow-x:hidden!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:5px 3px calc(5px + env(safe-area-inset-bottom));width:100%;box-sizing:border-box}.mobile-nav button{min-width:0!important;max-width:none!important;width:100%;padding:5px 0!important;flex-basis:auto!important;gap:2px;font-size:9px}.mobile-nav .menu-icon{width:22px;height:22px}.mobile-nav span{font-size:clamp(7px,2.1vw,10px);letter-spacing:-.04em;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.mobile-account{margin:0 0 5px}.mobile-account .avatar-img{width:30px;height:30px}.view-as-top{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:5px!important;padding:7px 9px!important;margin:0 0 7px!important;min-height:0!important;overflow:hidden}.view-as-top strong{font-size:11px;white-space:nowrap}.view-as-top>span{font-size:13px}.view-as-top small{display:none!important}.view-as-top-trigger{font-size:11px!important;min-width:0!important;max-width:100%;padding:6px 9px!important;white-space:nowrap}.overview-intro{margin:0 0 8px}.overview-date{font-size:11px;margin:0 0 4px}.overview-greeting{gap:7px!important}.overview-greeting h2{font-size:clamp(17px,4.8vw,23px)!important;line-height:1.2!important}.overview-subtitle{font-size:clamp(8px,2.35vw,11px)!important;white-space:nowrap;letter-spacing:-.025em;line-height:1.3!important}.overview-greeting #overview-assign{font-size:11px!important;min-height:35px!important;padding:6px 9px!important}.welcome-banner{min-height:270px!important;padding:15px 13px!important;display:block!important;position:relative!important}.welcome-banner .banner-copy{max-width:100%!important;min-width:0!important;padding-top:93px;position:relative;z-index:2}.banner-copy h3{font-size:clamp(18px,5vw,23px)!important;line-height:1.23!important;max-width:92%}.banner-copy p{font-size:11px!important;line-height:1.4!important;max-width:85%}.banner-task-shortcut{font-size:11px!important}.welcome-banner .weather-overview{position:absolute!important;top:9px!important;right:9px!important;left:auto!important;width:min(238px,70%)!important;max-width:70%!important;min-height:0!important;flex-basis:auto!important;padding:7px 9px!important;border-radius:13px!important;gap:2px!important;background:#fff6!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}.weather-location{font-size:10px!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.weather-main{gap:7px!important}.weather-symbol,.weather-overview .weather-temp{font-size:27px!important}.weather-metrics{gap:4px!important;font-size:9px!important}.weather-overview small{font-size:8px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-banner .heroart{opacity:.24!important;right:-4px!important;bottom:2px!important;transform:scale(.44)!important;transform-origin:bottom right!important}.module[data-module=calendar]>.section-heading{min-width:0;overflow:hidden}.calendar-subtitle{white-space:nowrap!important;font-size:clamp(9px,2.4vw,12px)!important;letter-spacing:-.03em}.calendar-controls{width:100%;min-width:0;overflow:hidden}.calendar-controls #week-label{white-space:nowrap!important;font-size:clamp(9px,2.6vw,13px)!important;letter-spacing:-.03em}.week-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px!important;border:0!important;border-radius:0!important;overflow:visible!important}.week-buttons button{border:1px solid var(--line)!important;border-radius:9px!important;min-width:0!important;padding:9px 2px!important;font-size:clamp(10px,2.7vw,12px)!important;white-space:nowrap}.calendar-scroll{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.live-week{min-width:920px!important;width:max-content}.week-child-picker{min-width:0}.week-child-picker select{width:90px!important;max-width:90px!important}.pin-panel{max-width:100%;box-sizing:border-box}.pin-pad{max-width:100%;touch-action:manipulation}.pin-key{user-select:none;-webkit-user-select:none}}@media(max-width:760px){.mobile-account{display:none!important}.mobile-account.overview-only{display:flex!important;align-items:center;gap:9px;margin:0 0 9px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 12px #233b2510}.mobile-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.mobile-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--soft);flex-shrink:0}.mobile-avatar .avatar-img{width:38px;height:38px;object-fit:cover;border-radius:50%}.mobile-user-name{display:flex;flex-direction:column;min-width:0;line-height:1.3}.mobile-user-name strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-name small{font-size:10px;color:var(--muted)}.mobile-profile-edit{width:30px;min-width:30px;height:30px;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:var(--soft)!important;color:var(--accent-dark)!important;font-size:17px!important}.mobile-signout{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 9px!important;min-width:0!important;flex-shrink:0;background:var(--soft)!important;color:var(--accent-dark)!important;border:1px solid var(--line)!important;border-radius:12px!important;font-size:11px!important;font-weight:700;box-shadow:none!important}.mobile-nav{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:2px!important}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{flex:0 0 calc((100vw - 12px)/7)!important;width:calc((100vw - 12px)/7)!important;min-width:0!important;max-width:none!important}.mobile-nav button[data-mobile-section=points]{flex-basis:calc((100vw - 12px)/7)!important}.welcome-banner{min-height:255px!important}.welcome-banner .weather-overview{width:25%!important;max-width:25%!important;top:8px!important;right:8px!important;padding:5px!important;box-sizing:border-box!important}.weather-title-row{gap:2px!important}.weather-location{font-size:8px!important;min-width:0;flex:1}.weather-place-button{width:22px!important;min-width:22px!important;height:22px!important;font-size:17px!important;border-radius:7px!important}.weather-main{gap:2px!important;justify-content:center}.weather-symbol{font-size:18px!important}.weather-overview .weather-temp{font-size:19px!important}.weather-metrics{display:none!important}.weather-overview>small{display:none!important}.welcome-banner .banner-copy{padding-top:76px!important}.week-child-picker{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:5px!important;width:100%;min-width:0;margin:8px 0!important}.week-child-picker label{display:flex;align-items:center;gap:3px;min-width:0!important;flex:0 0 95px;font-size:9px;white-space:nowrap}.week-child-picker .picker-label{display:none}.week-child-picker select{width:95px!important;max-width:95px!important;min-width:0;padding:5px 3px!important;font-size:12px!important}.week-child-picker .picker-hint{min-width:0;flex:1;font-size:clamp(8px,2.55vw,11px)!important;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;text-overflow:clip}.module[data-module=calendar]>.section-heading h3{font-size:clamp(16px,4.6vw,21px)}.calendar-subtitle{font-size:clamp(8px,2.35vw,11px)!important;white-space:nowrap;letter-spacing:-.045em}.session-icon{display:grid;place-items:center;width:22px;height:22px;font-size:19px!important;font-family:Arial,sans-serif;font-weight:400;line-height:1;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}}.profile-modal .profile-preview{display:grid;place-items:center;margin:12px auto;width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--soft)}.profile-modal .profile-preview .avatar-img{width:76px;height:76px;object-fit:cover;border-radius:50%}.profile-modal form{display:grid;gap:13px}.profile-modal label{display:grid;gap:5px}.profile-actions{display:flex;justify-content:flex-end;gap:9px}@media(max-width:760px){.view-as-top{display:none!important}.view-as-top.overview-only{display:flex!important;order:-1;margin-bottom:7px!important}.mobile-account.overview-only{margin-top:0!important}.mobile-nav{justify-content:space-around!important;gap:0!important}.mobile-nav button{flex:0 0 calc(100% / 6)!important;width:calc(100% / 6)!important;max-width:none!important}body:has(.mobile-nav button[data-mobile-section=points]) .mobile-nav{justify-content:flex-start!important;overflow-x:auto!important}body:has(.mobile-nav button[data-mobile-section=points]) .mobile-nav button{flex:0 0 15%!important;width:15%!important;min-width:53px!important}.welcome-banner .weather-overview{top:10px!important;right:10px!important;width:25%!important;max-width:25%!important;min-height:90px!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:8px 5px!important;border-radius:14px!important;box-shadow:0 5px 18px #5c88591c!important}.weather-title-row{align-items:flex-start!important}.weather-location{font-size:clamp(8px,2.3vw,11px)!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere!important;font-weight:700}.weather-main{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}.weather-symbol{font-size:clamp(20px,6vw,27px)!important;line-height:1!important}.weather-overview .weather-temp{font-size:clamp(20px,6.5vw,28px)!important;line-height:1.05!important}.weather-place-button{width:22px!important;min-width:22px!important;height:22px!important}.calendar-controls #week-label{width:100%!important;text-align:center!important;font-size:clamp(12px,3.45vw,17px)!important;letter-spacing:-.04em!important;white-space:nowrap!important}.week-child-picker:not(:has(.picker-hint)){justify-content:flex-start!important}.session-icon{width:24px!important;height:24px!important;border:0!important;background:none!important;border-radius:0!important;padding:0!important}.session-icon svg{display:block;width:23px;height:23px;stroke:var(--accent-dark);stroke-width:2.8}}@media(min-width:761px){.session-icon{background:transparent!important;border:0!important;box-shadow:none!important}.session-icon svg{width:24px;height:24px;stroke:var(--accent-dark)}}body[data-theme=pink] .timetable-grid{border-color:#e9b9cf!important;background:#fff4f9!important}body[data-theme=pink] .grid-corner,body[data-theme=pink] .grid-day-head{border-color:#e5afc8!important}body[data-theme=pink] .grid-row-label,body[data-theme=pink] .grid-period{border-color:#e6b8cc!important}body[data-theme=pink] .grid-cell,body[data-theme=pink] .grid-day-wrap,body[data-theme=pink] .grid-add{border-color:#e8bfd1!important}body[data-theme=pink] .grid-period.session-start{background:#f4c9db!important;border-top-color:#d987ac!important}body[data-theme=pink] .grid-period.session-start~.grid-cell{border-top-color:#d987ac!important}body[data-theme=pink] .session-heading{border-color:#e6b8cc!important;background:#f9dfeb!important}body[data-theme=pink] .session-icon svg{stroke:#ae547f!important}body[data-theme=pink] .grid-empty{color:#ad7b92!important}.schedule-delete-choice{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft);display:grid;gap:9px}.schedule-delete-choice strong{font-size:16px}.schedule-delete-choice p{margin:0;font-size:13px;color:var(--muted)}.schedule-delete-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-delete-actions button{min-width:0;padding:12px 6px;border-radius:11px;font-weight:700;white-space:normal}.schedule-delete-actions .danger{background:#a83c55;color:#fff;border:1px solid #a83c55}.schedule-delete-cancel{justify-self:center;padding:7px 15px!important}@media(max-width:760px){.schedule-delete-actions button{font-size:13px}}body[data-theme=pink],body[data-theme=pink] .dashboard,body[data-theme=pink] .family-layout,body[data-theme=pink] .shell{background:#fff4f8!important}body[data-theme=pink] .welcome-banner{background:linear-gradient(125deg,#ffe5f0,#fff1f6)!important;border-color:#edbdd2!important}body[data-theme=pink] .welcome-banner .banner-copy h3,body[data-theme=pink] .welcome-banner .banner-task-shortcut{color:#934b6d!important}body[data-theme=pink] .welcome-banner .weather-overview{border-color:#e9b7cd!important;box-shadow:0 5px 18px #b957861a!important}body[data-theme=pink] .overview-stats .stat-ico,body[data-theme=pink] .empty-state span{background:#fbe1ed!important;color:#ad557e!important}body[data-theme=pink] .live-summary,body[data-theme=pink] .pending-panel,body[data-theme=pink] .overview-tile,body[data-theme=pink] .child-summary-card{border-color:#eac2d4!important}body[data-theme=pink] .column-heading h3,body[data-theme=pink] .empty-state strong{color:#934b6d!important}body[data-theme=pink] .menu-icon,body[data-theme=pink] .heading-icon{color:#a34e75!important}body[data-theme=pink] .grid-cell{background:#fff4f9!important}body[data-theme=pink] .grid-cell:nth-child(2n){background:#ffebf3!important}body[data-theme=pink] .grid-corner,body[data-theme=pink] .grid-day-head{background:#f3c9db!important}body[data-theme=pink] .grid-row-label{background:#f9dfeb!important}body[data-theme=pink] .grid-event{color:#743b57!important}.heading-icon{width:22px;height:22px;vertical-align:-4px;object-fit:contain}.task-filters{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.task-filters label{flex:1 1 130px;font-size:12px;color:var(--muted);font-weight:600}.task-filters select{width:100%;margin-top:4px}.task-item[hidden]{display:none!important}.calendar-school{display:grid;gap:4px;padding:10px 13px;background:var(--soft);border:1px solid var(--line);border-radius:14px;margin:8px 0}.calendar-school strong{font-size:14px;color:var(--accent-dark)}.calendar-school div{font-size:12px;color:var(--ink);line-height:1.4}.school-profiles{display:grid;gap:12px;margin:12px 0 18px}.school-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:14px}.school-card-title{display:grid;gap:5px}.school-card-title span{font-size:12px;color:var(--muted)}.school-edit{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:end;margin-top:12px}.school-edit label{font-size:11px;color:var(--muted)}.school-edit input{width:100%;min-width:0}.section-heading h3{font-size:clamp(19px,4.5vw,23px)}.section-heading p{font-size:clamp(12px,3vw,14px);line-height:1.45}@media(max-width:760px){.school-edit{grid-template-columns:1fr 1fr}.school-edit label:first-child,.school-edit button{grid-column:1/-1}.welcome-banner{min-height:265px!important;margin-bottom:11px!important;padding:17px!important}.welcome-banner .banner-copy h3{font-size:clamp(19px,5vw,25px)!important}.welcome-banner .banner-copy p{font-size:12px!important;line-height:1.45!important}.overview-stats{gap:6px!important;margin-bottom:12px!important}.overview-stats>div{min-height:84px!important;padding:8px!important}.overview-columns{gap:13px!important}.column-heading{margin-bottom:7px!important}.pending-panel{min-height:130px!important}.empty-state{padding:12px!important}.child-summary-card{min-height:105px!important;padding:12px!important}.calendar-school{padding:9px 10px}.calendar-school strong{font-size:13px}.calendar-school div{font-size:11px}.task-filters{gap:8px}.task-filters label{font-size:11px}}.grade-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.grade-summary-tile{display:grid;grid-template-columns:1fr auto;gap:6px;background:var(--soft);padding:14px;border:1px solid var(--line);border-radius:14px}.grade-summary-tile>strong{grid-column:1/-1}.grade-summary-tile small{font-size:12px}.grade-summary-tile b{font-size:17px;color:var(--accent-dark)}.grade-subject-list{display:grid;gap:8px;margin:12px 0}.grade-subject-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:12px}.grade-subject-row strong{flex:1 1 100%;font-size:13px}.grade-subject-row span{flex:1 1 auto}.below-target{color:#c54d6b!important}.module>.section-heading{min-height:82px;margin:0 0 12px!important;display:flex;flex-direction:column;justify-content:flex-start;gap:4px}.module>.section-heading h3{font-size:clamp(20px,5.1vw,24px)!important;line-height:1.25!important;margin:0!important;min-height:30px;display:flex;align-items:center;gap:5px}.module>.section-heading p{font-size:clamp(11px,2.9vw,14px)!important;line-height:1.35!important;margin:0!important}.journal-help{display:block;margin-top:3px}body[data-theme=pink]{--soft:#ffe6f0;--panel:#fff9fc;--line:#ecc1d5;--border:#eac1d4;--surface:#fff0f6;--accent-dark:#9c466e;--muted:#8c6478;--ink:#5d3048;background:#fff2f8!important}body[data-theme=pink] .live-summary,body[data-theme=pink] .overview-columns,body[data-theme=pink] .pending-panel,body[data-theme=pink] .children-summary,body[data-theme=pink] .overview-stats>div,body[data-theme=pink] .child-summary-card,body[data-theme=pink] .empty-state,body[data-theme=pink] .column-heading,body[data-theme=pink] .grade-summary-tile{background:#fff6fa!important;border-color:#edc3d7!important;color:#643b50!important}body[data-theme=pink] .progress-track{background:#f7d9e7!important}body[data-theme=pink] .progress-track i{background:#d56a9a!important}body[data-theme=pink] .stat-ico,body[data-theme=pink] .child-summary-count,body[data-theme=pink] .column-heading span{color:#a84c77!important;border-color:#e9b4cd!important}body[data-theme=pink] .welcome-banner .heroart,body[data-theme=pink] .welcome-banner .house,body[data-theme=pink] .welcome-banner .plant{filter:hue-rotate(260deg) saturate(.75)}.grade-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:0 0 14px}.grade-controls label{font-size:12px}.grade-controls select{padding:9px}.grade-overview-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;border-radius:17px;background:var(--soft);border:1px solid var(--line)}.grade-overview-card>div{display:flex;flex-direction:column;gap:6px}.grade-overview-card small{font-size:12px}.grade-overview-card strong{font-size:27px;color:var(--accent-dark)}.grade-overview-card p{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}.grade-alert{padding:12px;margin:12px 0;border:1px solid #e9b0bc;border-radius:12px;background:#fff0f2;color:#a34461;font-size:12px;line-height:1.5}.grade-targets-v1,.grade-goals-edit,.grade-exam-panel{border:1px solid var(--line);border-radius:16px;padding:13px;margin:13px 0;background:var(--panel)}.grade-targets-v1 h3,.grade-exam-panel h3{font-size:16px;margin:0 0 10px}.grade-target-list{display:grid;gap:6px}.grade-target-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 4px;border-bottom:1px solid var(--line)}.grade-target-line strong{font-size:13px}.grade-target-line span{font-size:15px;font-weight:800}.grade-target-line small{grid-column:1/-1;color:var(--muted);font-size:11px}.grade-goals-edit summary{cursor:pointer;font-weight:700}.grade-goals-edit form{margin:10px 0 0;gap:10px}.grade-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grade-goal-grid label{font-size:12px}.grade-goals-edit input{padding:9px}.grade-group-title{font-size:16px;margin:16px 0 9px}.grade-subject-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:3px 0 10px;overscroll-behavior-x:contain}.grade-subject-tab{white-space:nowrap;flex-shrink:0;background:var(--soft);color:var(--accent-dark);border:1px solid var(--line);padding:9px 12px;font-size:12px}.grade-subject-tab.active{background:var(--accent-dark);color:#fff}.grade-detail-card{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.grade-detail-card h4{font-size:17px;margin:0 0 5px}.grade-detail-meta{font-size:12px;color:var(--muted)}.grade-score-group{display:grid;gap:7px;margin-top:14px}.grade-score-group>strong{font-size:12px}.grade-score-group>div{display:flex;gap:6px;flex-wrap:wrap}.grade-score-chip{display:inline-flex;gap:5px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--soft);font-size:13px;font-weight:700}.grade-score-chip button{padding:0 3px;background:transparent;color:#bd4c71;font-size:17px}.grade-score-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}.grade-score-add label{font-size:12px}.grade-score-add input,.grade-score-add select{padding:10px;min-width:0}.grade-score-add button{grid-column:1/-1}.grade-add-subject{display:flex;gap:8px;align-items:end;margin:12px 0}.grade-add-subject label{flex:1;font-size:12px}.grade-add-subject input{min-width:0;padding:10px}.grade-add-subject button{white-space:nowrap;padding:12px}.grade-exam-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.grade-exam-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.grade-exam-row>div{display:grid;gap:4px}.grade-exam-row strong{font-size:13px}.grade-exam-row small{font-size:11px;color:var(--muted)}@media(max-width:760px){body[data-theme=pink] .dashboard{background:#fff7fb!important}.dashboard .module[data-module=overview] .live-summary{margin-top:8px!important;padding:9px!important}.overview-columns{gap:8px!important}.overview-columns>div{min-height:0!important}.overview-stats{margin:0 0 9px!important;gap:5px!important}.overview-stats>div{min-height:68px!important;padding:7px!important}.overview-stats strong{font-size:20px!important}.overview-stats small{font-size:10px!important}.column-heading{margin:5px 0!important}.column-heading h3{font-size:14px!important}.pending-panel{min-height:0!important;padding:9px!important}.empty-state{padding:8px!important;min-height:0!important}.empty-state p{margin:3px 0!important}.children-summary{gap:7px!important}.child-summary-card{padding:9px!important;min-height:0!important}.child-summary-progress{margin-top:5px!important}.overview-data-note{margin:6px 0!important}.welcome-banner{margin:6px 0 9px!important;min-height:235px!important;padding:13px!important}.module>.section-heading{min-height:77px}}
