.parent-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.parent-dashboard .subtitle{color:var(--text-muted);font-size:1rem;margin-top:.25rem}.parent-dashboard .section{margin-bottom:2rem}.parent-dashboard .section h2{font-size:1.2rem;margin-bottom:.75rem;color:var(--text)}.parent-dashboard .section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.parent-dashboard .section-header h2{margin-bottom:0}.parent-dashboard .filters{display:flex;gap:.5rem;align-items:center}.parent-dashboard .filters select{padding:.5rem .75rem;background:var(--bg-card);border:2px solid var(--bg-card-hover);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem}.parent-dashboard .children-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.parent-dashboard .child-chip{background:var(--bg-card);padding:.5rem .9rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.35rem}.parent-dashboard .rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.parent-dashboard .reward-card{display:flex;flex-direction:column;align-items:center;gap:.25rem}.parent-dashboard .reward-card .amount{font-size:1.25rem;font-weight:800;color:var(--accent)}.parent-dashboard .reward-card .btn-distribute{margin-top:.5rem;padding:.4rem .8rem;font-size:.9rem}.parent-dashboard .section-hint{margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.parent-dashboard .history-filters{margin-bottom:.75rem}.parent-dashboard .history-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.parent-dashboard .history-filters select{padding:.5rem .75rem;background:var(--bg-card);border:2px solid var(--bg-card-hover);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem}.parent-dashboard .btn-danger{color:#f87171;font-size:.9rem}.parent-dashboard .btn-danger:hover{background:#f8717126;color:#ef4444}.parent-dashboard .history-list{display:flex;flex-direction:column;gap:.5rem}.parent-dashboard .history-item{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;background:var(--bg-card);border-radius:var(--radius-sm);font-size:.9rem}.parent-dashboard .history-item .emoji{font-size:1.25rem}.parent-dashboard .history-item strong{display:block;margin-bottom:.15rem}.parent-dashboard .history-date,.parent-dashboard .history-meta{display:block;font-size:.8rem;color:var(--text-muted)}.parent-dashboard .history-item.distribution .amount,.parent-dashboard .history-item.reward .history-meta{color:var(--accent)}.parent-dashboard .history-empty{color:var(--text-muted);font-size:.9rem;margin:0;padding:.75rem 0}.parent-dashboard .form-card{margin-bottom:1rem;max-width:400px}.parent-dashboard .form-actions{display:flex;gap:.5rem;margin-top:.5rem}.parent-dashboard .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.parent-dashboard .task-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.parent-dashboard .task-row .task-info{flex:1;min-width:120px}.parent-dashboard .task-row .task-info .meta{display:block;font-size:.85rem;color:var(--text-muted)}.parent-dashboard .task-row .task-actions{display:flex;align-items:center;gap:.5rem}.parent-dashboard .task-row .reward{color:var(--accent);font-weight:700}.parent-dashboard .task-row.done{opacity:.7}.parent-dashboard .task-pending{padding:.6rem 0;border-bottom:1px solid var(--bg-card-hover)}.parent-dashboard .task-pending:last-child{border-bottom:none}.parent-dashboard .pending-box{background:#22c55e14;border:1px solid rgba(34,197,94,.3);margin-bottom:1rem}.parent-dashboard .pending-box strong{display:block;margin-bottom:.5rem}.parent-dashboard .message.error{color:#ef4444;margin-bottom:1rem}.parent-dashboard .message.success{color:var(--success);margin-bottom:1rem;font-weight:600}.parent-dashboard .btn.small{padding:.35rem .6rem;font-size:.85rem}.parent-dashboard .btn-unvalidate:hover{color:#f87171;background:#f8717126}.child-dashboard{padding-bottom:3rem}.child-dashboard .child-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.child-dashboard .header-actions{display:flex;align-items:center;gap:.5rem}.child-dashboard .notifications-wrap{position:relative}.child-dashboard .btn-bell{position:relative;padding:.5rem .6rem;font-size:1.25rem}.child-dashboard .notif-badge{position:absolute;top:2px;right:2px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.7rem;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;display:flex;align-items:center;justify-content:center}.child-dashboard .notifications-panel{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:280px;max-width:320px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;z-index:100;box-shadow:0 8px 24px #0000004d}.child-dashboard .notifications-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bg-card-hover)}.child-dashboard .notifications-panel-header strong{font-size:.95rem}.child-dashboard .notifications-empty{margin:0;padding:.75rem 0;color:var(--text-muted);font-size:.9rem}.child-dashboard .notifications-list{list-style:none;margin:0;padding:0;overflow-y:auto}.child-dashboard .notifications-list li{display:flex;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--bg-card-hover);font-size:.9rem}.child-dashboard .notifications-list li:last-child{border-bottom:none}.child-dashboard .notifications-list li.unread{background:#f59e0b14}.child-dashboard .notifications-list .notif-title{display:block;color:var(--text);margin-bottom:.15rem}.child-dashboard .notifications-list .notif-amount{color:var(--success);font-weight:700;margin-right:.35rem}.child-dashboard .notifications-list .notif-date{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.child-dashboard .notification-toast{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.child-dashboard .subtitle{color:var(--text-muted);font-size:1.1rem;margin-top:.25rem}.child-dashboard .piggy-section{background:linear-gradient(135deg,#1e293b,#334155);border:2px solid var(--accent);margin-bottom:1.5rem}.child-dashboard .piggy-content{display:flex;align-items:center;gap:1rem}.child-dashboard .piggy-emoji{font-size:3rem;filter:drop-shadow(0 2px 8px rgba(245,158,11,.3))}.child-dashboard .piggy-label{font-size:.9rem;color:var(--text-muted);margin-bottom:.15rem}.child-dashboard .piggy-amount{font-size:1.75rem;font-weight:800;color:var(--accent-light)}.child-dashboard .period-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.child-dashboard .unvalidated-banner{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;background:#fbbf241f;border:1px solid rgba(251,191,36,.4)}.child-dashboard .unvalidated-banner .emoji{font-size:1.75rem}.child-dashboard .unvalidated-banner strong{display:block;margin-bottom:.25rem;color:var(--text)}.child-dashboard .unvalidated-banner p{margin:0;font-size:.95rem;color:var(--text-muted)}.child-dashboard .unvalidated-task-name{display:inline-block;margin-top:.35rem;font-size:.9rem;color:var(--accent);font-weight:600}.child-dashboard .period-tabs button{flex:1;padding:.7rem;background:var(--bg-card);color:var(--text-muted);border:2px solid transparent;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:all .2s}.child-dashboard .period-tabs button.active{background:var(--accent);color:#1e293b;border-color:var(--accent)}.child-dashboard .period-tabs button:not(.active):hover{background:var(--bg-card-hover);color:var(--text)}.child-dashboard .tasks-section h2{font-size:1.15rem;margin-bottom:.75rem;color:var(--text)}.child-dashboard .task-cards{display:flex;flex-direction:column;gap:.75rem}.child-dashboard .task-card{display:flex;align-items:center;gap:1rem;text-align:left;transition:transform .15s,box-shadow .2s,background .2s}.child-dashboard .task-card:not(.completed):hover{background:var(--bg-card-hover);box-shadow:0 4px 16px #00000026}.child-dashboard .task-card.completed{background:var(--success-bg);border:2px solid rgba(34,197,94,.4)}.child-dashboard .task-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:12px;font-size:1.5rem}.child-dashboard .task-card.completed .task-card-icon{background:#22c55e33}.child-dashboard .done-emoji{font-size:1.5rem}.child-dashboard .task-card-body{flex:1;min-width:0}.child-dashboard .task-card-body strong{display:block;margin-bottom:.2rem}.child-dashboard .task-reward{font-size:.9rem;color:var(--accent);font-weight:700}.child-dashboard .task-card-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.child-dashboard .task-card .btn-jai-fini{padding:.5rem 1rem;font-size:.95rem;white-space:nowrap}.child-dashboard .task-card .btn-defaire{padding:.4rem .8rem;font-size:.85rem;color:var(--text-muted)}.child-dashboard .task-card .btn-defaire:hover{color:#f87171;background:#f8717126}.child-dashboard .task-done-label{font-size:.9rem;color:var(--success);font-weight:700}.child-dashboard .empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.child-dashboard .empty-state .big{font-size:3rem;display:block;margin-bottom:.5rem}.child-dashboard .encouragement{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25)}.child-dashboard .encouragement .emoji{font-size:1.5rem}.child-dashboard .reward-toast{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),#d97706);color:#1e293b;padding:.9rem 1.5rem;border-radius:var(--radius);font-weight:700;display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 32px #f59e0b80;z-index:1000}.child-dashboard .reward-toast .emoji{font-size:1.5rem}.child-dashboard .task-card.just-done{animation:pulse .5s ease}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}:root{--bg-primary: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--accent: #f59e0b;--accent-light: #fbbf24;--success: #22c55e;--success-bg: rgba(34, 197, 94, .15);--text: #f1f5f9;--text-muted: #94a3b8;--radius: 16px;--radius-sm: 10px;--font: "Nunito", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg-primary);color:var(--text);min-height:100vh;line-height:1.5}#root{min-height:100vh}button{font-family:var(--font);cursor:pointer;border:none;border-radius:var(--radius-sm);font-weight:600}input,select{font-family:var(--font);border-radius:var(--radius-sm)}a{color:var(--accent);text-decoration:none}.app-layout{max-width:900px;margin:0 auto;padding:1.5rem}.page-title{font-size:1.75rem;font-weight:800;margin-bottom:1.5rem;color:var(--text)}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;transition:background .2s}.card:active{transform:scale(.98)}.btn{padding:.6rem 1.2rem;font-size:.95rem;transition:transform .1s,box-shadow .2s}.btn-primary{background:linear-gradient(135deg,var(--accent),#d97706);color:#1e293b}.btn-primary:hover{box-shadow:0 4px 20px #f59e0b66}.btn-success{background:var(--success);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--bg-card-hover)}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.35rem;font-weight:600;color:var(--text-muted);font-size:.9rem}.input-group input,.input-group select{width:100%;padding:.65rem .9rem;font-size:1rem;background:var(--bg-primary);border:2px solid var(--bg-card-hover);color:var(--text)}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--accent)}.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge-success{background:var(--success-bg);color:var(--success)}.badge-pending{background:#f59e0b33;color:var(--accent)}.emoji{font-style:normal}@keyframes coin-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes bounce-in{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.reward-pop{animation:coin-pop .5s ease-out}.task-done-pop{animation:bounce-in .4s ease-out}
