*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f4f8;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app,body{min-height:100vh}.app{background:#fff;box-shadow:0 0 40px #0000000f;margin:0 auto;max-width:800px}.header{background:#fff;border-bottom:1px solid #e2e8f0;color:#1e293b;justify-content:space-between;padding:16px 20px}.header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.header-logo{align-items:center;background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:.9em;font-weight:800;height:40px;justify-content:center;width:40px}.header h1{color:#1e293b;font-size:1.3em;font-weight:700;margin:0}.header-subtitle{color:#94a3b8;font-size:.8em;margin:0}.header-right .logout-btn{background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:.85em;font-weight:600;padding:8px 16px;transition:all .2s}.header-right .logout-btn:hover{background:#e2e8f0;color:#475569}.nav-tabs{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-btn{background:#fff;border:none;border-bottom:2px solid transparent;color:#64748b;cursor:pointer;flex:1;font-size:.85em;font-weight:600;padding:12px 16px;text-align:center;text-decoration:none;transition:all .2s;white-space:nowrap}.nav-btn:hover{background:#f8fafc;color:#3b82f6}.nav-btn.active{background:#fff;border-bottom-color:#3b82f6;color:#3b82f6}.main-content{padding:20px}.section-title{color:#1e293b;font-size:1.3em;font-weight:700;margin-bottom:16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header .section-title{margin-bottom:0}.btn{border:none;border-radius:10px;cursor:pointer;font-size:.9em;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.form-group{margin-bottom:16px}.form-group label{color:#475569;display:block;font-size:.85em;font-weight:600;margin-bottom:6px}.form-input,.form-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:.95em;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::-moz-placeholder{color:#cbd5e1}.form-input::placeholder{color:#cbd5e1}.card,.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px;padding:16px}.settings-card h3{margin-bottom:12px}.settings-card h3,.settings-card h4{color:#1e293b;font-size:1em;font-weight:700}.settings-card h4{margin-bottom:4px}.children-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:12px}.child-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden}.child-card-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:14px;padding:16px}.child-card-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.3em;font-weight:700;height:48px;justify-content:center;width:48px}.child-card-info{flex:1;min-width:0}.child-card-info h3{color:#1e293b;font-size:1em;font-weight:700;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-card-points{color:#10b981;font-size:1em;font-weight:700;margin:0 0 4px}.child-card-badge{background:#f1f5f9;border-radius:10px;color:#64748b;display:inline-block;font-size:.72em;padding:2px 8px}.badge-account{background:#ecfdf5;color:#059669}.badge-pin{background:#eff6ff;color:#3b82f6}.child-card-body{flex:1;padding:12px 16px}.child-card-section{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;margin-bottom:10px;padding:10px}.child-card-section-title{color:#475569;font-size:.8em;font-weight:600;margin:0 0 8px}.child-task-row{align-items:center;border-bottom:1px solid #f1f5f9;color:#334155;display:flex;font-size:.82em;justify-content:space-between;padding:4px 0}.child-task-row:last-of-type{border-bottom:none}.child-card-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;padding:10px 16px 14px}.child-card-actions a,.child-card-actions button{border:none;border-radius:8px;cursor:pointer;flex:1;font-size:.82em;font-weight:600;padding:8px 6px;text-align:center;text-decoration:none}.child-card-btn-view{background:#3b82f6;color:#fff!important}.child-card-btn-view:hover{background:#2563eb}.child-card-btn-invite{background:#f1f5f9;border:1px solid #e2e8f0!important;color:#475569}.child-card-btn-invite:hover{background:#e2e8f0}.child-card-btn-delete{background:#fef2f2;color:#ef4444}.child-card-btn-delete:hover{background:#fee2e2}.child-task-add-row{display:flex;gap:4px;margin-top:6px}.task-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;flex:1;font-size:.8em;outline:none;padding:5px 8px}.task-input:focus{border-color:#3b82f6}.task-pts-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.8em;outline:none;padding:5px 4px;text-align:center;width:50px}.task-add-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85em;font-weight:700;padding:5px 10px}.phone-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.82em;margin-top:4px;outline:none;padding:6px 8px;width:100%}.phone-input:focus{border-color:#3b82f6}.invite-result{background:#f0fdf4;border-radius:6px;margin-top:6px;padding:8px}.leaderboard-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.leaderboard-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;display:grid;font-size:.8em;font-weight:600;grid-template-columns:60px 1fr 80px 80px;padding:10px 16px}.leaderboard-row{align-items:center;border-bottom:1px solid #f1f5f9;color:#334155;display:grid;font-size:.9em;gap:8px;grid-template-columns:36px 40px 1fr 80px 80px;padding:10px 16px}.leaderboard-row:last-child{border-bottom:none}.leaderboard-rank{color:#3b82f6;font-size:1em;font-weight:700}.leaderboard-avatar{-o-object-fit:cover;object-fit:cover}.leaderboard-avatar,.leaderboard-avatar-placeholder{border-radius:50%;flex-shrink:0;height:32px;width:32px}.leaderboard-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#3b82f6,#10b981);color:#fff;display:inline-flex;font-size:.8em;font-weight:700;justify-content:center}.leaderboard-me{background:#eff6ff}.dashboard-score{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.score-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;text-align:center}.score-number{color:#3b82f6;font-size:2em;font-weight:800}.score-label{color:#94a3b8;font-size:.85em;font-weight:600;margin-top:4px}.checklist{margin:16px 0}.checklist h3{color:#1e293b;font-size:1em;font-weight:700;margin-bottom:10px}.checklist-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;color:#334155;font-size:.9em;margin-bottom:6px;padding:10px 12px}.checklist-item label{align-items:center;cursor:pointer;display:flex;gap:10px}.checklist-item input[type=checkbox]{accent-color:#3b82f6;height:18px;width:18px}.photo-upload-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:16px 0;padding:16px}.photo-upload-section h3{color:#1e293b;font-size:1em;font-weight:700;margin-bottom:10px}.inspection-result{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.result-header{padding:16px}.result-header.passed{background:#f0fdf4;color:#166534}.result-header.failed{background:#fef2f2;color:#991b1b}.result-header h3{font-size:1.1em;margin:0 0 4px}.result-header p{font-size:.9em;margin:0;opacity:.8}.week-nav{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}.week-label{color:#334155;font-size:.95em;font-weight:600}.schedule-grid{overflow-x:auto}.schedule-grid table{border-collapse:collapse;width:100%}.schedule-grid td,.schedule-grid th{border-bottom:1px solid #f1f5f9;font-size:.9em;padding:10px 12px;text-align:center}.schedule-grid th{background:#f8fafc;color:#64748b;font-size:.82em;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.schedule-grid td:first-child,.schedule-grid th:first-child{color:#1e293b;font-weight:600;text-align:left}.schedule-grid input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.add-child-form{align-items:center;display:flex;gap:8px;margin-bottom:16px}.add-child-form .form-input{flex:1}.image-comparison-container{display:grid;gap:15px;grid-template-columns:1fr 1fr;margin:20px 0}.image-container{display:flex;flex-direction:column}.image-container h4{color:#475569;font-size:.9em;font-weight:600;margin-bottom:8px}.comparison-img,.image-container img{border-radius:8px;box-shadow:0 2px 8px #00000014;height:120px;-o-object-fit:cover;object-fit:cover;width:100%}.meter-bar{background:#e2e8f0;border-radius:4px;height:8px;margin:10px 0;overflow:hidden;width:100%}#meter-fill{background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);border-radius:4px;height:100%;transition:width .5s ease;width:0}.status-message{animation:slideIn .3s ease;border-radius:10px;box-shadow:0 4px 12px #0000001a;font-size:.9em;font-weight:600;padding:12px 20px;position:fixed;right:16px;top:16px;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.status-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.status-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.status-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.empty-state{color:#94a3b8;font-size:.95em;padding:40px 20px;text-align:center}@media(max-width:768px){.app{box-shadow:none}.main-content{padding:16px}.children-grid,.image-comparison-container{grid-template-columns:1fr}.leaderboard-header{grid-template-columns:60px 1fr 70px}.leaderboard-row{grid-template-columns:30px 36px 1fr 70px}.add-child-form{flex-wrap:wrap}.add-child-form .form-input{flex-basis:100%}}@media(max-width:480px){.main-content{padding:12px}.nav-btn{font-size:.8em;padding:10px}.header h1{font-size:1.1em}}
