:root{color:#29263b;font-synthesis:none;--purple:#5841bf;--purple-dark:#443094;--ink:#29263b;--muted:#6b677b;--line:#eae6ee;--mint:#dff4e6;--lilac:#efebff;--peach:#ffdfc4;background:#fffdf8;font-family:Avenir Next,system-ui,sans-serif;font-size:1rem;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #ae5900}a,button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Avenir Next,system-ui,sans-serif}h1{letter-spacing:-1.2px;font-weight:800;line-height:1.2}h2{letter-spacing:-.6px;font-weight:800;line-height:1.3}h3{font-weight:700}p{color:var(--muted)}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:92px;padding:0 max(5vw,24px);display:flex}.brand{letter-spacing:-1.3px;color:var(--ink);align-items:center;font-size:1.688rem;font-weight:800;display:inline-flex}.brand-mark{background:var(--purple);color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;margin-right:10px;display:grid;transform:rotate(-7deg)}.brand-mark svg{transform:rotate(7deg)}.brand-dot{color:#e57827}.brand-link{text-decoration:none}.topbar-right{align-items:center;gap:28px;display:flex}.test-label{letter-spacing:.02em;color:#6f657e;background:#f5f2fa;border-radius:6px;padding:5px 9px;font-size:.75rem}.avatar{color:#655000;background:#ffe4a0;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.account{position:relative}.account summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.account summary::-webkit-details-marker{display:none}.account-menu{border:1px solid var(--line);z-index:5;background:#fff;border-radius:16px;width:min(340px,85vw);padding:20px;position:absolute;top:50px;right:0;box-shadow:0 8px 32px #30284b1f}.account-menu p{overflow-wrap:anywhere;font-size:.875rem}.account-menu button{text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:.875rem;display:flex}.account-menu strong{font-size:.875rem}main{max-width:1200px;min-height:calc(100vh - 200px);margin:auto;padding:0 36px}.group-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:32px 0 26px;display:flex}.group-choice{align-items:center;gap:12px;min-width:0;display:flex}.school-icon{width:44px;height:44px;color:var(--purple);background:#eee9fc;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.group-choice label{flex-direction:column;min-width:0;display:flex}.group-choice .field-hint{letter-spacing:1.1px;font-size:.625rem;font-weight:700}.group-choice select{appearance:auto;max-width:350px;color:var(--ink);background:0 0;border:0;padding:0 5px 0 0;font-size:1.125rem;font-weight:700}.toolbar-actions{align-items:center;gap:22px;display:flex}.button{white-space:normal;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 19px;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--purple);color:#fff;box-shadow:0 3px #35237424}.primary:hover{background:var(--purple-dark)}.secondary{color:#4d3a8a;background:#fff;border-color:#dcd6eb}.secondary:hover{background:#f5f1ff}.danger{color:#fff;background:#a83a41}.text-button{color:var(--purple);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 0;font-size:.875rem;font-weight:700;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:10px;display:inline-flex}.icon-button:hover{background:#29263b0b}.goal-card{background:#ede8ff;border-radius:25px;align-items:center;gap:24px;margin-bottom:36px;padding:34px 40px;display:flex;position:relative;overflow:hidden}.goal-copy{z-index:1;width:65%;position:relative}.eyebrow{letter-spacing:1.5px;color:#605677;align-items:center;gap:7px;margin-bottom:8px;font-size:.6875rem;font-weight:800;display:inline-flex}.little-star{color:var(--purple);font-size:1.188rem}.goal-card h1{overflow-wrap:anywhere;margin:2px 0 8px;font-size:2.25rem}.goal-card p{color:#635978;margin-bottom:23px;font-size:.9375rem}.goal-amount{align-items:baseline;gap:9px;margin-bottom:10px;display:flex}.goal-amount strong{font-family:Avenir Next,system-ui,sans-serif;font-size:1.875rem;font-weight:800}.goal-amount span{color:#695f7e;font-size:.875rem}progress{background:#fff;border:0;border-radius:12px;width:100%;height:10px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#fff;border-radius:12px}progress::-webkit-progress-value{background:var(--purple);border-radius:12px}progress::-moz-progress-bar{background:var(--purple);border-radius:12px}.goal-footer{color:#675e79;justify-content:space-between;gap:12px;margin-top:10px;font-size:.75rem;display:flex}.goal-footer span:last-child{font-weight:700}.goal-art{flex-shrink:0;width:30%;height:215px;position:relative}.art-school{color:#6c4e12;background:#ffd96c;border-radius:35px;place-items:center;width:148px;height:148px;display:grid;position:absolute;top:14%;left:24%;transform:rotate(-8deg);box-shadow:7px 9px #d5cbea}.art-school svg{transform:rotate(8deg)}.art-star{color:#8060cd;position:absolute}.star-one{font-size:2.688rem;top:6%;left:10%;transform:rotate(10deg)}.star-two{color:#6b49b6;font-size:1.688rem;bottom:30%;right:0}.art-heart{color:#d15975;position:absolute;top:7%;right:3%;transform:rotate(15deg)}.art-leaf{color:#487358;position:absolute;bottom:21%;left:9%;transform:rotate(-25deg)}.art-label{white-space:nowrap;background:#fff;border-radius:6px;padding:7px 13px;font-size:.75rem;font-weight:700;position:absolute;bottom:3%;left:11%;transform:rotate(-5deg);box-shadow:0 3px #d5cbea}.workspace-grid{grid-template-columns:minmax(0,1fr) 286px;gap:28px;display:grid}.jobs-panel{min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}.section-heading .eyebrow{letter-spacing:1.2px;margin-bottom:4px;font-size:.625rem}.section-heading h2{overflow-wrap:anywhere;margin:0;font-size:1.5rem}.section-heading .button{padding:10px 15px}.filters{border-bottom:1px solid var(--line);gap:7px;margin-bottom:5px;padding-bottom:13px;display:flex}.filters button{color:#6b6677;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:.875rem;display:flex}.filters button span{color:#625c70;background:#eeebf1;border-radius:5px;padding:0 6px;font-size:.6875rem}.filters button.selected{color:var(--purple);background:#efebff;font-weight:700}.filters button.selected span{color:#4b3497;background:#ddd4ff}.job-list{margin:0;padding:0;list-style:none}.job-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:19px 0;display:flex}.job-icon{color:#99651e;background:#ffebce;border-radius:13px;flex-shrink:0;place-items:center;width:47px;height:47px;display:grid}.job-row:nth-child(3n+2) .job-icon.planned{color:#466694;background:#e4efff}.job-row:nth-child(3n) .job-icon.planned{color:#96506d;background:#fce3ec}.job-icon.completed{color:#39764d;background:#dff4e6}.job-icon.cancelled{color:#77707e;background:#eeeaf0}.job-info{flex:1;min-width:0}.job-info h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:.9375rem;line-height:1.5}.status{color:#786b56;font-size:.75rem}.status.completed{color:#356d47}.status.cancelled{color:#78717e}.job-amount{white-space:nowrap;font-size:1rem}.job-actions{align-items:center;gap:1px;display:flex}.complete-button{min-height:40px;color:var(--purple);background:#fff;border:1px solid #ddd5ef;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:8px 9px;font-size:.75rem;font-weight:700;display:flex}.complete-button:hover{background:#efebff}.cancel-button{color:#857c91;min-width:34px;padding:8px}.summary-card{background:#f0f8ef;border:1px solid #dcebdd;border-radius:20px;padding:25px}.round-icon{border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.mint{color:#36734d;background:#d9efdf}.lilac{background:var(--lilac);color:var(--purple)}.peach{background:var(--peach);color:#94602d}.summary-card .round-icon{border-radius:50%;width:42px;height:42px;margin-bottom:11px}.summary-card h2{margin-bottom:11px;font-size:1.25rem}.summary-amount{color:#356448;font-family:Avenir Next,system-ui,sans-serif;font-size:1.938rem;font-weight:800}.summary-card>p{color:#57765e;margin-bottom:20px;font-size:.8125rem}.payment-note{color:#56725e;border-top:1px solid #d6e5d4;align-items:flex-start;gap:9px;padding-top:16px;font-size:.75rem;line-height:1.6;display:flex}.payment-note svg{flex-shrink:0;margin-top:2px}.family-note{gap:11px;padding:24px 8px 5px;display:flex}.family-note>svg{color:#c97647;flex-shrink:0;margin-top:2px}.family-note h3{margin-bottom:5px;font-size:.8125rem}.family-note p{font-size:.8125rem;line-height:1.7}.alias-button{margin-left:8px;font-size:.75rem}.empty-state{text-align:center;background:#fff;border:1px dashed #ded8e8;border-radius:18px;margin-top:10px;padding:48px 22px}.empty-state h3{margin:16px 0 8px;font-size:1.188rem}.empty-state p{font-size:.875rem;line-height:1.7}.empty-state.compact{background:0 0;border:none;padding:39px 20px}.empty-state.compact h3{font-size:1.062rem}.notice{color:#32613f;background:#e9f5eb;border:1px solid #cae4d0;border-radius:12px;align-items:center;gap:12px;margin-top:20px;padding:12px 16px;font-size:.875rem;display:flex}.notice>span{flex:1}.notice>.icon-button{margin-left:auto}.notice.error,.form-error{color:#922f3d;background:#fff0f0;border-color:#efd0d4}.form-error{border-radius:10px;padding:12px;font-size:.875rem}.loading{text-align:center;color:var(--muted);padding:80px 20px}footer{border-top:1px solid var(--line);color:#80788c;align-items:center;gap:21px;max-width:1200px;margin:54px auto 0;padding:24px 36px 30px;font-size:.75rem;display:flex}footer .brand{color:#655c75;font-size:1.125rem}footer .brand-mark{color:#65557a;background:#e8e1f4;border-radius:8px;width:25px;height:25px;margin-right:6px}footer .brand-mark svg{width:17px}.footer-private{align-items:center;gap:6px;margin-left:auto;display:flex}.auth-layout{grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:62px 8px 35px;display:grid}.intro{padding:0 14px}.intro h2{letter-spacing:-1.5px;margin:9px 0 18px;font-size:2.625rem;line-height:1.25}.intro h2>span{color:#e97c2c}.intro>p{max-width:350px;font-size:1.062rem;line-height:1.7}.intro-graphic{max-width:265px;height:170px;margin-bottom:27px;position:relative}.intro-school{width:155px;height:155px;color:var(--purple);background:#e8e0ff;border-radius:40px;place-items:center;display:grid;position:absolute;top:5px;left:40px;transform:rotate(-8deg)}.intro-school svg{transform:rotate(8deg)}.intro-spark{color:#d79614;font-size:3.438rem;position:absolute;top:0;left:0}.intro-heart{color:#d87680;position:absolute;bottom:16px;right:12px;transform:rotate(16deg)}.intro-steps{flex-direction:column;gap:13px;margin-top:28px;display:flex}.intro-steps span{align-items:center;gap:12px;font-size:.875rem;font-weight:500;display:flex}.intro-steps svg{color:var(--purple)}.intro-caption{color:#907b57;align-items:center;gap:7px;margin-top:31px;font-size:.75rem;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:36px;box-shadow:0 9px 30px #30204407}.auth-card h1{margin:10px 0 15px;font-size:1.812rem}.auth-card>p{font-size:.9375rem;line-height:1.8}.auth-card .eyebrow{font-size:.625rem}.auth-note{border-top:1px solid var(--line);color:#82738c;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:22px;font-size:.75rem;display:flex}.mail-sent{text-align:center;padding-top:10px}.mail-sent svg{color:var(--purple);margin:12px}.mail-sent h2{font-size:1.375rem}.mail-sent p{font-size:.875rem}.field{flex-direction:column;gap:7px;margin:17px 0;font-size:.875rem;font-weight:600;display:flex}.field input{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #d8d2e2;border-radius:10px;padding:12px 14px;font-size:1rem}.field input::placeholder{color:#91889b}.field-hint{color:#7c7288;font-size:.75rem;font-weight:400;line-height:1.6}.full{width:100%;margin-top:12px}.quiet{font-size:.8125rem;line-height:1.8}.welcome-card{text-align:center;max-width:650px;margin:60px auto;padding:40px}.welcome-card>.round-icon{border-radius:21px;width:70px;height:70px;margin:0 auto 20px;display:flex}.welcome-card h1{margin:12px 0 18px;font-size:2.188rem}.welcome-card p{line-height:1.8}.welcome-card .quiet{margin-top:24px}.invitations{margin-top:28px}.invitation-row{background:#fff2d9;border:1px solid #efdcb5;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin:12px 0;padding:25px;display:flex}.invitation-row h2{margin:0 0 5px;font-size:1.312rem}.invitation-row p{margin:0;font-size:.875rem}.invitation-row .eyebrow{font-size:.625rem}dialog{width:470px;max-width:calc(100% - 32px);color:var(--ink);border:1px solid #eee8f3;border-radius:22px;max-height:90dvh;padding:28px;overflow-y:auto;box-shadow:0 25px 100px #21122a33}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#231b3f66}.modal-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.modal-heading h2{margin:0;font-size:1.5rem}.modal-heading .icon-button{margin-right:-10px}dialog>p{font-size:.875rem;line-height:1.8}fieldset{border:0;min-width:0;margin:0;padding:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}@media (width>=1500px){main{padding-top:10px}.auth-layout{padding-top:85px}}@media (width<=1000px){.workspace-grid{grid-template-columns:minmax(0,1fr) 250px;gap:22px}.goal-card{padding:28px}.goal-copy{width:65%}.goal-art{transform-origin:50%;transform:scale(.87)}.job-row{gap:10px}.job-icon{width:39px;height:42px}.job-actions{flex-direction:column}.cancel-button{min-height:28px;padding:4px}.auth-layout{gap:35px}.auth-card{padding:27px}.intro h2{font-size:2.25rem}}@media (width<=760px){.topbar{height:75px;padding:0 20px}.topbar-right{gap:13px}.brand{font-size:1.438rem}.brand-mark{border-radius:10px;width:33px;height:33px}.brand-mark svg{width:23px}.test-label{padding:4px 6px;font-size:.625rem}main{padding:0 20px}.group-toolbar{flex-wrap:wrap;gap:16px;padding:23px 0 20px}.group-choice select{max-width:240px;font-size:1.062rem}.toolbar-actions{gap:15px}.toolbar-actions .button{min-height:42px;padding:9px 12px;font-size:.75rem}.toolbar-actions .text-button{font-size:.75rem}.goal-card{margin-bottom:30px;padding:26px}.goal-copy{width:100%}.goal-card h1{max-width:100%;font-size:1.875rem}.goal-art{display:none}.goal-card p{margin-bottom:22px;font-size:.875rem}.goal-amount strong{font-size:1.75rem}.goal-amount{flex-wrap:wrap;gap:4px 9px}.goal-amount span{font-size:.75rem}.goal-footer{font-size:.6875rem}.workspace-grid{grid-template-columns:1fr;gap:26px}.section-heading h2{font-size:1.375rem}.section-heading .button{padding:10px 13px;font-size:.8125rem}.job-row{gap:12px;padding:16px 0}.job-icon{width:43px;height:45px}.job-actions{flex-direction:row}.job-info h3,.job-amount{font-size:.875rem}.family-sidebar{grid-template-columns:1fr;display:grid}.summary-card{padding:23px;position:relative}.summary-card>.round-icon{position:absolute;top:22px;right:22px}.summary-card h2{font-size:1.188rem}.summary-card>p{margin-bottom:14px}.summary-amount{font-size:1.812rem}.payment-note{font-size:.8125rem}.family-note h3,.family-note p{font-size:.875rem}.alias-button{justify-content:flex-start;margin-top:-6px;font-size:.875rem}footer{flex-wrap:wrap;gap:15px;margin-top:32px;padding:22px 20px}footer>span:not(.brand){font-size:.6875rem}.footer-private{width:100%;margin-left:0}.auth-layout{grid-template-columns:1fr;gap:26px;padding:30px 0 10px}.intro{padding:0 5px}.intro-graphic{display:none}.intro h2{margin-bottom:12px;font-size:2.062rem;line-height:1.2}.intro h2 br{display:none}.intro>p{margin-bottom:0;font-size:.9375rem}.intro-steps,.intro-caption{display:none}.intro .eyebrow{font-size:.625rem}.auth-card{border-radius:20px;padding:24px}.auth-card h1{font-size:1.688rem}.auth-note{font-size:.6875rem}.welcome-card{margin-top:30px;padding:28px 0}.welcome-card h1{font-size:1.875rem}.invitation-row{flex-direction:column;align-items:flex-start;padding:20px}.invitation-row .button{width:100%}dialog{padding:23px}.modal-heading h2{font-size:1.375rem}}@media (width<=390px){.test-label{text-align:center;max-width:105px;line-height:1.5}.topbar-right{gap:9px}.goal-card{padding:23px}.goal-footer{flex-direction:column;gap:4px}.job-row{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;display:grid}.job-icon{width:38px}.job-actions{grid-column:2/4;justify-content:flex-end}.section-heading h2{font-size:1.25rem}.toolbar-actions{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
