*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#3b82f6;min-height:100vh;color:#333}#app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.balance-display{font-size:48px;font-weight:700;color:#3b82f6;text-align:center;margin:20px 0}.balance-label{text-align:center;color:#6b7280;font-size:14px;text-transform:uppercase;letter-spacing:1px}.progress-bar{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:#3b82f6;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-completed{background:#dbeafe;color:#1e40af}.transaction-item{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.transaction-item:last-child{border-bottom:none}.transaction-amount{font-size:18px;font-weight:600}.transaction-amount.earning{color:#10b981}.transaction-amount.spending{color:#ef4444}.navbar{background:#fff;padding:16px 24px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px}.navbar-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-brand{font-size:24px;font-weight:700;color:#3b82f6;text-decoration:none;transition:all .2s ease}.navbar-brand:hover{color:#2563eb;transform:translateY(-1px)}.navbar-brand:active{transform:translateY(0)}.navbar-actions{display:flex;gap:12px;align-items:center}.navbar-link{text-decoration:none;margin-right:12px}.navbar-link:last-child{margin-right:0}.navbar-user-info{font-size:14px;color:#374151;white-space:nowrap}.mobile-menu-toggle{display:none;background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-size:24px;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center;transition:background .2s}.mobile-menu-toggle:hover{background:#2563eb}.loading{text-align:center;padding:40px;color:#6b7280}.error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:16px}.success{background:#d1fae5;color:#065f46;padding:12px;border-radius:8px;margin-bottom:16px}.kid-friendly{font-size:16px}.kid-title{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:24px;text-align:center}.kid-card{border-radius:16px;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.kid-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.avatar-options-scroll{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.avatar-options-scroll::-webkit-scrollbar{width:8px}.avatar-options-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.avatar-options-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.avatar-options-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kid-section-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:16px;display:flex;align-items:center;gap:8px}.balance-display-kid{font-size:56px;font-weight:800;color:#fff;text-align:left;margin:8px 0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.btn-kid{padding:12px 24px;border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-kid:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-kid:active{transform:translateY(0)}.btn-kid-primary{background:#3b82f6;color:#fff}.btn-kid-primary:hover{background:#2563eb}.btn-kid-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:14px;padding:10px 18px}.btn-kid-success:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-kid-secondary{background:#6b7280;color:#fff}.btn-kid-secondary:hover{background:#4b5563}.btn-kid-white{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-kid-white:hover{background:#ffffff4d;border-color:#ffffff80}.badge-kid{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;text-transform:none}.badge-kid-active{background:#d1fae5;color:#065f46}.badge-kid-inactive{background:#fee2e2;color:#991b1b}.badge-kid-pending{background:#fef3c7;color:#92400e}.badge-kid-completed{background:#dbeafe;color:#1e40af}.badge-kid-approved{background:#d1fae5;color:#065f46}.badge-kid-rejected{background:#fee2e2;color:#991b1b}.kid-allowance-card{margin-bottom:16px;padding:20px;background:#dbeafe;border-radius:12px;border:2px solid #93c5fd;transition:all .2s ease}.kid-allowance-card:hover{transform:translate(4px);box-shadow:0 4px 8px #0000001a}.kid-chore-card{padding:18px;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:all .2s ease;border-radius:12px;margin-bottom:12px;background:#fafafa}.kid-chore-card:hover{background:#f3f4f6;transform:translate(4px)}.kid-chore-card:last-child{border-bottom:none;margin-bottom:0}.kid-transaction-item{padding:18px;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:all .2s ease;border-radius:12px;margin-bottom:12px;background:#fafafa}.kid-transaction-item:hover{background:#f3f4f6;transform:translate(4px)}.kid-transaction-item:last-child{border-bottom:none;margin-bottom:0}.transaction-amount-kid{font-size:22px;font-weight:700}.transaction-amount-kid.earning{color:#10b981}.transaction-amount-kid.spending{color:#ef4444}.kid-empty-state{text-align:center;padding:40px 20px}.kid-empty-state p{font-size:18px;color:#6b7280;line-height:1.6}.kid-success-message{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease;cursor:pointer}.kid-success-content{background:#fff;padding:40px 50px;border-radius:20px;box-shadow:0 10px 40px #0003;text-align:center;animation:bounceIn .5s ease;max-width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-200px) rotate(360deg);opacity:0}}.celebration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease;cursor:pointer}.celebration-content{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:50px 60px;border-radius:24px;box-shadow:0 20px 60px #0000004d;text-align:center;animation:bounceIn .6s ease;max-width:90%;position:relative;border:4px solid #fbbf24}.celebration-content.level-up{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.celebration-content.achievement{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.confetti{position:absolute;font-size:24px;animation:confetti 2s ease-out forwards;pointer-events:none}.confetti:nth-child(1){left:10%;animation-delay:0s}.confetti:nth-child(2){left:50%;animation-delay:.3s}.confetti:nth-child(3){left:90%;animation-delay:.6s}@media (max-width: 768px){.container{padding:12px}.navbar{padding:12px 16px;margin-bottom:16px}.navbar-content{flex-direction:row;gap:12px;align-items:center;justify-content:space-between;position:relative}.navbar-brand{font-size:20px;text-align:left;flex:1}.mobile-menu-toggle{display:flex;z-index:1001}.navbar-actions{position:fixed;top:0;right:-100%;width:min(280px,calc(100vw - 20px));height:100vh;background:#fff;box-shadow:-2px 0 8px #0000001a;flex-direction:column;align-items:stretch;gap:0;padding:80px 16px 20px;overflow-y:auto;overflow-x:hidden;transition:right .3s ease;z-index:1000;box-sizing:border-box}.navbar-actions.mobile-open{right:0}.navbar-actions .btn,.navbar-actions .navbar-link{width:100%;margin-right:0;margin-bottom:12px;text-align:center;justify-content:center;font-size:16px;padding:12px 16px;min-height:44px;display:flex;align-items:center}.navbar-actions .chat-link{position:relative}.navbar-user-info{width:100%;text-align:center;font-size:14px;padding:12px 0;margin-bottom:12px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:999;overflow:hidden}body.menu-open{overflow:hidden;position:fixed;width:100%}html,body{overflow-x:hidden;max-width:100%}.card{padding:16px;margin-bottom:16px}.grid-2,.grid-3{grid-template-columns:1fr;gap:16px}.kid-title{font-size:24px;margin-bottom:16px}.kid-section-title{font-size:20px;margin-bottom:12px}.balance-display{font-size:36px;margin:16px 0}.balance-display-kid{font-size:42px}.btn{font-size:14px;padding:10px 16px}.btn-kid{font-size:14px;padding:10px 18px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.transaction-item,.kid-transaction-item,.kid-chore-card{flex-direction:column;align-items:flex-start;gap:12px}.transaction-amount{font-size:16px}.transaction-amount-kid{font-size:20px}.celebration-content,.kid-success-content{padding:30px 20px;max-width:95%}}@media (max-width: 480px){.container{padding:8px}.navbar{padding:10px 12px}.navbar-brand{font-size:18px}.navbar-actions{width:min(260px,calc(100vw - 20px));padding:70px 12px 16px}.navbar-actions .btn,.navbar-actions .navbar-link{font-size:15px;padding:10px 14px}.card{padding:12px;border-radius:8px}.kid-title{font-size:20px}.kid-section-title{font-size:18px}.balance-display{font-size:32px}.balance-display-kid{font-size:36px}.btn{font-size:13px;padding:8px 14px}.btn-kid{font-size:13px;padding:8px 16px}}@media (max-width: 768px){.chat-container{flex-direction:column!important;height:auto!important;min-height:calc(100vh - 120px)!important}.chat-sidebar{width:100%!important;max-height:40vh;border-radius:12px 12px 0 0!important}.chat-main{width:100%!important;border-radius:0 0 12px 12px!important}.chat-sidebar.mobile-hidden{display:none!important}.chat-sidebar.mobile-full{width:100%!important;max-height:100%!important}.chat-main.mobile-full{width:100%!important}.mobile-hidden{display:none!important}.chat-messages{padding:12px!important}.chat-message{padding:10px 12px!important;margin-bottom:12px!important}.chat-input-container{padding:12px!important;gap:8px!important}.chat-input-container input{font-size:16px!important}}@media (max-width: 768px){.avatar-editor-container{flex-direction:column!important}.avatar-editor-options{max-height:50vh!important;min-width:100%!important}.avatar-editor-preview{flex:1 1 auto!important;min-width:100%!important;position:relative!important;max-height:300px!important}}@media (max-width: 768px){.btn,.btn-kid{min-height:44px;min-width:44px}.transaction-item,.kid-transaction-item,.kid-chore-card{padding:16px;min-height:60px}.card{margin:10px}.streak-calendar-day{width:32px!important;height:32px!important;font-size:12px!important}.dashboard-header{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}.dashboard-header-avatar{align-self:center!important}}@media (max-width: 768px) and (orientation: landscape){.navbar{padding:8px 16px}.container{padding:12px}.card{padding:16px}}
