@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/nunito-400-r8SDr6Up.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/nunito-600-Br8yIETf.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/nunito-700-Dort48En.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/nunito-800-Dz8SOQK_.woff2)format("woff2")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/baloo2-700-CqTg7A15.woff2)format("woff2")}:root{--cream:#faf5ec;--cream-strong:oklch(94% .015 75);--surface:#fffdf9;--border:oklch(90% .02 75);--ink:oklch(28% .03 50);--ink-soft:oklch(52% .02 60);--coral:oklch(68% .19 35);--coral-dark:oklch(58% .19 33);--coral-bg:oklch(94% .05 35);--teal:oklch(70% .1 190);--teal-dark:oklch(40% .07 195);--teal-bg:oklch(93% .045 190);--gold:oklch(84% .14 92);--gold-dark:oklch(48% .1 75);--gold-bg:oklch(94% .06 92);--green:oklch(70% .15 150);--green-dark:oklch(38% .09 150);--green-bg:oklch(93% .06 150);--red:oklch(62% .19 25);--red-dark:oklch(52% .19 23);--red-bg:oklch(95% .045 25);--font-heading:"Baloo 2", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box}body{background:var(--cream);min-height:100vh;margin:0}button,input,select{font:inherit}button{background:var(--coral);color:oklch(99% .01 40);cursor:pointer;border:none;border-radius:12px;min-height:44px;padding:.75rem 1.15rem;font-size:.92rem;font-weight:800;transition:transform .15s,opacity .15s,box-shadow .15s;box-shadow:0 8px 18px -8px oklch(55% .18 35/.55)}button:hover{opacity:.97;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--coral);outline-offset:2px}button.secondary{background:var(--surface);color:var(--ink);border:1.5px solid var(--border);box-shadow:none}button.approve{background:var(--green);box-shadow:0 8px 18px -8px oklch(55% .15 150/.5)}button.danger{background:var(--red);box-shadow:0 8px 18px -8px oklch(55% .19 25/.5)}button.active{background:var(--surface);color:var(--coral-dark);box-shadow:0 2px 6px oklch(40% .05 40/.14)}input,select{border:1.5px solid var(--border);background:var(--surface);color:var(--ink);border-radius:12px;padding:.75rem .9rem}input::placeholder{color:var(--ink-soft)}#root{min-height:100vh}.app-shell{max-width:1200px;margin:0 auto;padding:2rem 1.25rem 3rem}.auth-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";z-index:0;border-radius:50%;position:absolute}.auth-shell:before{background:var(--teal-bg);opacity:.6;width:340px;height:340px;top:-140px;left:-120px}.auth-shell:after{background:var(--gold-bg);opacity:.55;width:260px;height:260px;bottom:-110px;right:-80px}.auth-card{z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);width:min(100%,920px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 70px -25px oklch(45% .05 60/.3)}.auth-illustration{background:var(--teal-bg);flex-direction:column;justify-content:space-between;gap:1.5rem;padding:2.25rem 2rem;display:flex}.auth-brand{color:var(--ink);align-items:center;gap:.6rem;display:flex}.auth-brand-mark{color:var(--gold-dark);flex-shrink:0}.auth-brand-name{font-family:var(--font-heading);font-size:1.15rem;font-weight:700}.auth-piggy{color:var(--coral);align-self:center}.auth-tagline h2{font-family:var(--font-heading);color:var(--teal-dark);margin:0 0 .4rem;font-size:1.4rem;font-weight:700;line-height:1.25}.auth-tagline p{color:var(--ink-soft);margin:0;font-size:.92rem}.auth-panel{width:100%;padding:2.25rem 2rem}.auth-controls{gap:.85rem;margin-top:1rem;display:grid}.field-label{color:var(--ink-soft);gap:.35rem;font-size:.85rem;font-weight:700;display:grid}.error-text{color:var(--red-dark);margin-top:.75rem;font-weight:700}.info-text{color:var(--green-dark);font-weight:700}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.role-toggle,.tabs{background:var(--cream-strong);border-radius:14px;gap:.4rem;width:fit-content;padding:.35rem;display:flex}.role-toggle button,.tabs button{color:var(--ink-soft);box-shadow:none;background:0 0;font-size:.85rem}.role-toggle button.active,.tabs button.active{background:var(--surface);color:var(--coral-dark)}.eyebrow{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--coral-dark);margin:0;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);font-weight:700}h1{margin-bottom:0;font-size:clamp(1.8rem,4vw,2.6rem)}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1.4rem;box-shadow:0 10px 28px -18px oklch(40% .05 60/.35)}.notification{border:1px solid;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1.1rem;font-weight:600;display:flex}.modal-backdrop{z-index:10;background:#0f172a73;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:min(100%,480px);max-height:min(90vh,700px);margin:auto;padding:1.25rem;overflow-y:auto;box-shadow:0 24px 60px #0f172a3d}.modal-panel::backdrop{background:#0f172a73}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-header h2{margin-bottom:0}.modal-close{flex-shrink:0}.notification{border:1px solid;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.notification-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.notification-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.notification-dismiss{flex-shrink:0}.wide{grid-column:span 2}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.form-grid.compact{grid-template-columns:1fr}.form-grid>:last-child{grid-column:span 2}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-box{background:var(--teal-bg);border-radius:16px;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem;display:flex}.stat-box.accent{background:var(--gold-bg)}.stat-label{color:var(--teal-dark);align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.stat-box.accent .stat-label{color:var(--gold-dark)}.stat-box strong{font-family:var(--font-heading);color:var(--ink);font-size:1.6rem}.list-block,.child-list,.task-list{gap:.75rem;margin-top:1rem;display:grid}.list-row,.child-row,.task-item{background:var(--cream);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.list-row{align-items:center}.list-row small{color:var(--ink-soft);display:block}.task-item{align-items:center}.task-actions,.button-group{flex-wrap:wrap;gap:.6rem;display:flex}.entity-row{align-items:center;gap:.85rem;display:flex}.avatar{width:38px;height:38px;font-family:var(--font-heading);background:var(--teal-bg);color:var(--teal-dark);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.avatar.coral{background:var(--coral-bg);color:var(--coral-dark)}.avatar.gold{background:var(--gold-bg);color:var(--gold-dark)}.status-pill{background:var(--gold-bg);color:var(--gold-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.status-pill.success{background:var(--green-bg);color:var(--green-dark)}.reset-box{grid-template-columns:1fr auto;gap:.75rem;margin-top:1rem;display:grid}.allowance-summary{background:var(--gold-bg);border-radius:18px;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:1.4rem;display:flex}.allowance-summary-icon{color:var(--gold-dark);flex-shrink:0}.allowance-summary-body{flex:1;min-width:0}.allowance-summary-total{font-family:var(--font-heading);color:var(--ink);margin-bottom:.5rem;font-size:1.7rem;font-weight:700}.allowance-bar{background:var(--cream-strong);border-radius:999px;height:14px;display:flex;overflow:hidden}.allowance-bar-base{background:var(--teal)}.allowance-bar-approved{background:var(--coral)}.allowance-legend{color:var(--ink-soft);gap:1.25rem;margin-top:.6rem;font-size:.8rem;font-weight:600;display:flex}.allowance-legend-dot{border-radius:999px;width:9px;height:9px;margin-right:.4rem;display:inline-block}.allowance-legend-dot.base{background:var(--teal)}.allowance-legend-dot.approved{background:var(--coral)}.period-list{gap:1.25rem;margin-top:1rem;display:grid}.period-block{background:var(--cream);border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.2rem}.period-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.period-header h3{margin:0}.period-child{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:.6rem;padding:.9rem 1.1rem;display:grid}.period-child .list-row{background:0 0;border:none;padding:0}.period-child>summary{cursor:pointer;color:var(--coral-dark);font-weight:700}.period-child[open]>summary{margin-bottom:.6rem}.period-child>summary .button-group:after{content:"▸";color:var(--coral-dark);transition:transform .15s}.period-child[open]>summary .button-group:after{transform:rotate(90deg)}.period-task-table{border-collapse:collapse;width:100%;font-size:.9rem}.period-task-table th,.period-task-table td{text-align:left;border-bottom:1px solid var(--border);padding:.45rem .6rem}.danger-zone{border-color:oklch(85% .08 25);margin-top:.5rem}.ads-toggle-label{align-items:center;gap:.5rem;margin:0;display:flex}.ads-toggle-label input[type=checkbox]{width:1.05rem;height:1.05rem}.privacy-link{color:var(--ink-soft);align-items:center;font-size:.85rem;font-weight:700;text-decoration:underline;display:inline-flex}.footer-legal{text-align:center;margin-top:1.25rem}.auth-footer{text-align:center;margin-top:1.5rem}.auth-footer a{color:var(--ink-soft);font-size:.82rem;font-weight:700}.ad-slot{border:1px dashed var(--border);background:var(--cream-strong);border-radius:14px;justify-items:center;gap:.5rem;min-height:100px;margin-top:1.5rem;padding:.75rem;display:grid}.ad-slot-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:700}.consent-banner{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex;position:sticky;bottom:0;box-shadow:0 10px 28px -18px oklch(40% .05 60/.35)}.consent-banner p{min-width:220px;color:var(--ink-soft);flex:1;margin:0;font-size:.88rem}.privacy-policy h2{margin-top:1.5rem}.privacy-policy h2:first-of-type{margin-top:0}@media (width<=760px){.grid{grid-template-columns:1fr}.wide{grid-column:span 1}.topbar,.list-row,.child-row,.task-item,.period-header{flex-direction:column;align-items:flex-start}.stats-grid,.form-grid,.auth-card{grid-template-columns:1fr}.auth-illustration{display:none}.allowance-summary{flex-direction:column;align-items:flex-start}}
