:root{--primary: #667eea;--primary-dark: #5568d3;--secondary: #764ba2;--success: #10b981;--success-dark: #059669;--warning: #f59e0b;--danger: #ef4444;--danger-dark: #dc2626;--bg-light: #f8f9fa;--bg-white: #ffffff;--border: #e9ecef;--text-dark: #333333;--text-mid: #666666;--text-light: #999999;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-orange: linear-gradient(135deg, #667eea 0%, #d97706 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;background-color:var(--bg-light);color:var(--text-dark);line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);padding:1rem}.login-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:440px;box-shadow:var(--shadow-xl);animation:slideUp .4s ease}.login-hero{text-align:center;margin-bottom:2rem}.login-icon{width:96px;height:96px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:#fff;box-shadow:0 8px 24px #667eea66}.login-hero h1{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:.375rem}.login-hero p{color:var(--text-mid);font-size:.95rem}.social-login{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 1rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.social-btn:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.social-btn:disabled{opacity:.6;cursor:not-allowed}.google-btn{background:#fff;color:#444;border:2px solid var(--border)}.line-btn{background:#06c755;color:#fff}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--text-light);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-form{display:flex;flex-direction:column;gap:1rem}.login-btn{padding:.875rem 1rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .15s}.login-btn.primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #667eea59}.login-btn.primary:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 6px 16px #667eea73}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--text-mid)}.qr-code-wrapper{text-align:center;padding:1.5rem;background:white;border-radius:var(--radius-lg);border:2px solid var(--border);margin-bottom:1.5rem}.url-copy-box{display:flex;gap:.5rem;align-items:center}.url-display{flex:1;padding:.75rem;background:var(--bg-light);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.8rem;color:var(--text-dark);word-break:break-all;font-family:monospace}.copy-url-btn{padding:.75rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;white-space:nowrap;transition:all .2s;font-size:.9rem}.copy-url-btn:hover{background:var(--primary-dark)}.copy-url-btn.copied{background:var(--success)}.share-url-btn{width:100%;padding:1rem;background:var(--success);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.share-url-btn:hover{background:var(--success-dark)}.register-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);padding:1rem}.register-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:480px;box-shadow:var(--shadow-xl);animation:slideUp .4s ease}.register-hero{text-align:center;margin-bottom:2rem}.register-icon{width:96px;height:96px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:#fff;box-shadow:0 8px 24px #667eea66;position:relative}.register-hero h1{font-size:1.75rem;font-weight:700;color:var(--text-dark);margin-bottom:.375rem}.register-hero p{color:var(--text-mid);font-size:.95rem}.register-form{display:flex;flex-direction:column;gap:1.125rem}.register-btn{padding:.875rem 1rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .15s}.register-btn.primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #667eea59;display:flex;align-items:center;justify-content:center;gap:.5rem}.register-btn.primary:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.register-btn:disabled{opacity:.6;cursor:not-allowed}.register-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--text-mid)}.avatar-upload-wrapper{position:relative}.avatar-upload-label{position:absolute;bottom:10px;right:10px;width:40px;height:40px;borderRadius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;border:3px solid white}.avatar-upload-input{display:none}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.form-group input,.form-group select{padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;color:var(--text-dark);background:var(--bg-white);transition:border-color .2s,box-shadow .2s;outline:none;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #667eea1f}.form-group input::-moz-placeholder{color:silver}.form-group input::placeholder{color:silver}.error-message{background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;border-left:4px solid var(--danger)}.success-message{background:#d1fae5;color:#065f46;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;border-left:4px solid var(--success)}.info-box-blue{background:#E3F2FD;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid #90CAF9}.info-box-yellow{background:#FFF3CD;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid #FFE69C}.link-btn{background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.link-btn:hover{color:var(--secondary)}.dashboard{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-light)}.dashboard-header{background:var(--gradient-primary);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px #667eea4d;position:sticky;top:0;z-index:100}.header-left h1{font-size:1.4rem;font-weight:700;color:#fff}.header-left p{font-size:.8rem;color:#ffffffd9;margin-top:.125rem}.header-right{display:flex;align-items:center;gap:.5rem}.icon-btn{position:relative;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .15s}.icon-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.08)}.logout-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.logout-btn:hover{background:rgba(255,255,255,.3)}.badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white}.dashboard-main{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden}.members-sidebar{background:var(--bg-white);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:1.25rem;gap:.75rem}.members-sidebar h2{font-size:1rem;font-weight:700;color:var(--text-dark);padding-bottom:.75rem;border-bottom:2px solid var(--border)}.members-list{display:flex;flex-direction:column;gap:.625rem}.member-card{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--bg-light);border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.member-card:hover{background:#f0f4ff;border-color:var(--primary)}.member-card.active{background:#f0f4ff;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1f}.member-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0;overflow:hidden}.member-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-info{flex:1;min-width:0}.member-info h3{font-size:.9rem;font-weight:700;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-status{display:flex;align-items:center;gap:.375rem;margin-top:.2rem}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.safe{background:var(--success)}.status-dot.warning{background:var(--warning)}.status-dot.danger{background:var(--danger);animation:pulse 1.5s infinite}.status-text{font-size:.78rem;color:var(--text-mid);font-weight:500}.member-location{display:flex;align-items:center;gap:.3rem;margin-top:.2rem;color:var(--text-light);font-size:.75rem}.member-location span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-battery{display:flex;align-items:center;gap:.25rem;color:var(--text-mid);font-size:.78rem;flex-shrink:0}.add-child-section{padding-top:.75rem;border-top:1px solid var(--border)}.add-child-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.add-child-btn:hover{opacity:.9;transform:translateY(-2px)}.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding-top:.75rem}.action-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.625rem .5rem;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.action-btn:hover{background:#d4ddf7;transform:translateY(-2px)}.action-btn.group-btn:hover{background:var(--gradient-primary);opacity:1}.action-btn.group-btn{background:var(--gradient-primary);color:#fff}.action-btn.chat-btn{background:#e0e7ff;color:var(--primary)}.action-btn.call-btn{background:#d1fae5;color:var(--success-dark)}.main-content{overflow-y:auto;padding:1.5rem}.tabs{display:flex;gap:.375rem;margin-bottom:1.25rem;background:var(--bg-white);padding:.375rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tab{display:flex;align-items:center;gap:.4rem;padding:.625rem 1rem;border:none;border-radius:var(--radius-md);background:none;color:var(--text-mid);font-size:.875rem;font-weight:600;cursor:pointer;position:relative;transition:background .2s,color .2s}.tab:hover{background:var(--bg-light);color:var(--primary)}.tab.active{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #667eea4d}.tab-badge{background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.tab-content{animation:fadeIn .2s ease}.map-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.map-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.map-header h2{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.map-header-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.gps-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:2px solid var(--primary);background:white;color:var(--primary);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,transform .15s;white-space:nowrap}.gps-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.gps-btn.active{background:var(--danger);border-color:var(--danger);color:#fff}.gps-btn.active:hover{background:var(--danger-dark);border-color:var(--danger-dark)}.gps-btn.refresh{border-color:var(--success);color:var(--success)}.gps-btn.refresh:hover{background:var(--success);color:#fff}.map-wrapper{position:relative;margin-top:1rem}.map-element{height:500px;width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);z-index:1}.gps-tracking-indicator{position:absolute;top:1rem;right:1rem;background:var(--success);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #10b9814d;z-index:1000}.gps-pulse-dot{width:8px;height:8px;border-radius:50%;background:white;animation:pulse 2s infinite}.map-info-panel{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.map-info-box{padding:1rem;background:var(--bg-light);border-radius:var(--radius-md)}.map-info-box-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.map-info-box-header span{font-size:.85rem;color:var(--text-mid)}.map-info-box-content{font-size:.9rem;fontWeight:600;color:var(--text-dark)}.map-google-link{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:1rem;background:white;border:2px solid var(--primary);border-radius:var(--radius-md);text-decoration:none;text-align:center;font-weight:600;color:var(--primary);transition:all .2s}.map-google-link:hover{background:var(--primary);color:#fff}.schedule-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.schedule-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.schedule-header h2{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.add-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.add-btn:hover{opacity:.9;transform:translateY(-2px)}.schedule-list{display:flex;flex-direction:column;gap:.875rem}.schedule-item{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:var(--bg-light);border-radius:var(--radius-md);transition:box-shadow .2s}.schedule-item:hover{box-shadow:var(--shadow-sm)}.schedule-time{font-size:.9rem;font-weight:700;color:var(--primary);min-width:52px;flex-shrink:0}.schedule-line{width:4px;align-self:stretch;border-radius:4px;flex-shrink:0}.schedule-line.departure{background:var(--primary)}.schedule-line.arrival{background:var(--success)}.schedule-details{flex:1}.schedule-details h4{font-size:.9rem;font-weight:700;color:var(--text-dark)}.schedule-details p{font-size:.8rem;color:var(--text-mid);margin-top:.2rem}.schedule-status{display:flex;align-items:center;gap:.5rem}.check-icon{color:var(--success)}.pending-icon{color:var(--text-light)}.activity-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.activity-container h2{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:1.25rem}.activity-list{display:flex;flex-direction:column;gap:.625rem}.activity-item{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem;background:var(--bg-light);border-radius:var(--radius-md)}.activity-icon{width:36px;height:36px;border-radius:50%;background:#e0e7ff;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.activity-details{flex:1}.activity-location{font-size:.9rem;font-weight:600;color:var(--text-dark);margin-bottom:.25rem}.activity-time{font-size:.78rem;color:var(--text-light)}.alerts-container{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.alerts-container h2{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:1.25rem}.no-alerts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-light);gap:.75rem}.alerts-list{display:flex;flex-direction:column;gap:.75rem}.alert-item{display:flex;align-items:center;gap:.875rem;padding:.875rem;border-radius:var(--radius-md);border-left:4px solid transparent}.alert-item.sos{background:#fee2e2;border-left-color:var(--danger)}.alert-item.arrival{background:#d1fae5;border-left-color:var(--success)}.alert-item.lost{background:#fef3c7;border-left-color:var(--warning)}.alert-item.battery{background:#fff3cd;border-left-color:var(--warning)}.alert-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-content{flex:1}.alert-content p{font-size:.9rem;font-weight:600;color:var(--text-dark)}.alert-content small{font-size:.78rem;color:var(--text-mid)}.alert-actions{display:flex;gap:.5rem;align-items:center}.mark-read-btn{padding:.4rem .875rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .2s}.mark-read-btn:hover{opacity:.85}.delete-alert-btn{padding:.5rem 1rem;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:.5rem;transition:all .2s}.delete-alert-btn:hover{background:var(--danger-dark);transform:translateY(-2px)}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;gap:1rem;color:var(--text-light);text-align:center}.no-selection h2{font-size:1.2rem;font-weight:700;color:var(--text-mid)}.no-selection p{font-size:.9rem}.chat-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.chat-container{background:white;border-radius:0;width:100%;height:100%;max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:none}.chat-header{padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-messages{flex:1;overflow-y:auto;padding:1rem;background:#e5ddd5}.chat-input{padding:.75rem;background:#f0f0f0;display:flex;gap:.5rem;align-items:flex-end;position:relative;flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:.75rem}.chat-avatar{background:rgba(255,255,255,.3);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;overflow:hidden;border:2px solid rgba(255,255,255,.5)}.chat-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-header h3{font-size:1rem;font-weight:700;color:#fff;margin:0}.chat-header p{font-size:.75rem;color:#ffffffe6;margin:0}.close-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s,transform .15s;flex-shrink:0}.close-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.08)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;scrollbar-width:none;background:#e5ddd5}.chat-messages::-webkit-scrollbar{display:none}.chat-message-wrapper{display:flex;margin-bottom:1rem;gap:.5rem;width:100%}.chat-message-wrapper.mine{flex-direction:row-reverse}.chat-message-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0;overflow:hidden;border:2px solid #ddd}.chat-message-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-message-content{display:flex;flex-direction:column;max-width:65%;width:auto;position:relative}.chat-message-wrapper.mine .chat-message-content{align-items:flex-end}.chat-message-bubble{padding:.625rem .875rem;border-radius:18px;background:white;color:#000;box-shadow:0 1px 2px #0000001a;position:relative;word-break:break-word;width:-moz-fit-content;width:fit-content;min-width:60px}.chat-message-wrapper.mine .chat-message-bubble{background:#dcf8c6;border-radius:18px 18px 4px}.chat-message-wrapper:not(.mine) .chat-message-bubble{border-radius:18px 18px 18px 4px}.chat-message-text{margin:0;line-height:1.4;font-size:.95rem}.chat-message-meta{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;margin-top:.25rem}.chat-message-time{font-size:.65rem;color:#889}.chat-message-status{font-size:.65rem;font-weight:600}.chat-message-status.read{color:#4fc3f7}.chat-message-status.unread{color:#999}.chat-input{background:#f0f0f0;padding:.75rem;display:flex;gap:.5rem;align-items:flex-end;position:relative;flex-shrink:0}.emoji-picker-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.emoji-picker-panel{position:absolute;bottom:70px;left:10px;background:white;border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;max-width:300px;z-index:1000}.emoji-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s}.emoji-btn:hover{background:var(--bg-light)}.chat-input-field{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:20px;font-size:.95rem;outline:none}.send-btn{width:44px;height:44px;border-radius:50%;background:var(--primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:background .2s,transform .15s}.send-btn:hover{background:var(--primary-dark);transform:scale(1.08)}.chat-edit-mode{flex:1;display:flex;flex-direction:column;gap:.5rem}.chat-edit-header{font-size:.8rem;color:var(--primary);font-weight:600;display:flex;align-items:center;gap:.5rem}.chat-edit-actions{display:flex;gap:.5rem;align-items:center}.chat-edit-input{flex:1;padding:.75rem;border:2px solid var(--primary);border-radius:20px;font-size:.95rem;outline:none}.edit-confirm-btn{background:var(--success);width:44px;height:44px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0}.edit-cancel-btn{background:var(--danger);width:44px;height:44px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0}.message-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:white;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000;min-width:120px}.message-menu-item{width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;color:var(--text-dark);transition:background .15s}.message-menu-item:hover{background:var(--bg-light)}.message-menu-item.danger{color:var(--danger)}.message-menu-item.danger:hover{background:#fee2e2}.read-count{font-size:.65rem;color:#4fc3f7;font-weight:600}.read-count.all-read{color:#4fc3f7}.read-count.partial-read{color:#999}.group-settings-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .2s}.group-settings-btn:hover{background:rgba(255,255,255,.3)}.group-settings-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:3000;min-width:180px}.group-settings-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;font-size:.9rem;cursor:pointer;color:var(--text-dark);transition:background .15s}.group-settings-item:hover{background:var(--bg-light)}.group-settings-item.danger{color:var(--danger)}.group-settings-item.danger:hover{background:#fee2e2}.group-settings-item.warning{color:var(--warning)}.group-settings-item.warning:hover{background:#fef3c7}.group-list-card{background:white;padding:1.75rem;border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s;border:2px solid transparent}.group-list-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.group-list-card-content{display:flex;align-items:center;justify-content:space-between}.group-list-card-info{display:flex;align-items:center;gap:1.25rem;flex:1}.group-avatar{width:70px;height:70px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;fontSize:1.75rem;fontWeight:700;flex-shrink:0;box-shadow:0 4px 12px #667eea4d;overflow:hidden;border:3px solid #e5e7eb}.group-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.group-info{flex:1;min-width:0}.group-name{margin:0;font-size:1.4rem;color:var(--text-dark);font-weight:700;margin-bottom:.5rem}.group-member-count{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-size:.95rem;font-weight:500}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease}.confirm-modal-content{background:var(--bg-white);border-radius:var(--radius-xl);padding:2rem;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-xl)}.confirm-modal-content h2{font-size:1.4rem;font-weight:700;color:var(--text-dark);margin:1rem 0 .75rem}.confirm-modal-content p{color:var(--text-mid);font-size:.9rem;margin-bottom:.5rem;line-height:1.6}.confirm-modal-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto}.confirm-modal-icon.danger{background:#fee2e2;color:var(--danger)}.confirm-modal-icon.warning{background:#fef3c7;color:var(--warning)}.confirm-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem}.confirm-modal-btn{padding:.875rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.confirm-modal-btn.cancel{background:var(--bg-light);color:var(--text-mid);border:2px solid var(--border)}.confirm-modal-btn.cancel:hover{background:var(--border)}.confirm-modal-btn.confirm{background:var(--danger);color:#fff}.confirm-modal-btn.confirm:hover{opacity:.9;transform:translateY(-2px)}.confirm-modal-btn.confirm.warning{background:var(--warning)}.child-dashboard{min-height:100vh;background:linear-gradient(160deg,#f0f4ff 0%,#f8f9fa 100%);display:flex;flex-direction:column}.child-header{background:var(--gradient-primary);color:#fff;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px #667eea4d;position:sticky;top:0;z-index:100;flex-wrap:wrap;gap:.5rem}.child-header h1{font-size:1.3rem;font-weight:700;color:#fff}.child-header-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.group-btn,.parent-btn,.id-btn,.profile-btn{position:relative;display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s}.group-btn:hover,.parent-btn:hover,.id-btn:hover,.profile-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.logout-btn-simple{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.logout-btn-simple:hover{background:rgba(255,255,255,.25)}.child-content{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto;width:100%}.status-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.status-indicator{display:flex;align-items:center;gap:.625rem;font-size:1.1rem;font-weight:700;padding:.75rem 1rem;border-radius:var(--radius-md)}.status-indicator.safe{background:#d1fae5;color:#065f46}.status-indicator.warning{background:#fef3c7;color:#92400e}.status-indicator.danger{background:#fee2e2;color:#991b1b;animation:pulse 1.5s infinite}.destination-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.destination-card h2{font-size:1rem;font-weight:700;color:var(--text-dark);margin-bottom:.75rem}.current-location{display:flex;align-items:flex-start;gap:.625rem;color:var(--text-mid)}.current-location p{font-size:.9rem;line-height:1.5}.child-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.info-box{background:var(--bg-white);border-radius:var(--radius-lg);padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-sm)}.info-icon{color:var(--primary)}.info-box h3{font-size:.78rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-top:.125rem}.gps-control{display:flex;flex-direction:column;gap:.5rem}.gps-toggle{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:1rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s;box-shadow:var(--shadow-sm)}.gps-toggle:not(.active):not(.refresh){background:var(--gradient-primary);color:#fff}.gps-toggle.active{background:var(--success);color:#fff;cursor:default}.gps-toggle.refresh{background:var(--bg-white);color:var(--primary);border:2px solid var(--primary)}.gps-toggle:hover:not(:disabled):not(.active){opacity:.9;transform:translateY(-2px)}.gps-toggle:disabled{cursor:not-allowed}.emergency-section{background:var(--bg-white);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm)}.emergency-section h2{font-size:1rem;font-weight:700;color:var(--text-dark);margin-bottom:.875rem}.emergency-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.emergency-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .15s}.emergency-btn:hover{opacity:.9;transform:translateY(-3px);box-shadow:var(--shadow-md)}.emergency-btn.lost{background:#fef3c7;color:#92400e;border:2px solid #fcd34d}.emergency-btn.sos{background:#fee2e2;color:#991b1b;border:2px solid #fca5a5}.emergency-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:3000;padding:1rem;animation:fadeIn .2s ease}.emergency-dialog{background:var(--bg-white);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:440px;text-align:center;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto}.emergency-icon{color:var(--danger);margin-bottom:1rem;animation:pulse 1.5s infinite}.emergency-dialog h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.75rem}.emergency-dialog p{color:var(--text-mid);margin-bottom:.5rem;line-height:1.6}.emergency-warning{color:var(--danger)!important;font-weight:600}.emergency-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem}.confirm-sos{padding:.875rem;background:var(--danger);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}.confirm-sos:hover{background:var(--danger-dark);transform:translateY(-2px)}.cancel-sos{padding:.875rem;background:var(--bg-light);color:var(--text-mid);border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s}.cancel-sos:hover{background:var(--border)}.parent-list-card{background:var(--bg-light);border-radius:var(--radius-lg);padding:1.25rem;border:2px solid var(--border);transition:border-color .2s,box-shadow .2s}.parent-list-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.parent-info-card{background:var(--bg-light);padding:1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:1rem;border:1px solid var(--border)}.parent-avatar{width:48px;height:48px;border-radius:50%;background:var(--gradient-orange);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0;overflow:hidden;border:2px solid var(--primary)}.parent-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.parent-info{flex:1;min-width:0}.parent-name{margin:0;font-size:1rem;color:var(--text-dark);font-weight:600}.parent-email{margin:.25rem 0 0;font-size:.85rem;color:var(--text-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-marker{background:transparent!important;border:none!important}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--gradient-primary)}.loading-content{text-align:center}.spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-text{color:#fff;font-size:1.1rem;font-weight:500}.schedule-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:white;border-radius:var(--radius-md);border:2px solid var(--border);transition:all .2s;margin-bottom:.75rem}.schedule-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.schedule-time-badge{display:flex;align-items:center;justify-content:center;min-width:80px;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:var(--radius-md);color:#fff;flex-shrink:0;font-size:1.5rem;font-weight:700}.schedule-content{flex:1;min-width:0}.schedule-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.schedule-title-row h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-dark)}.schedule-type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.schedule-type-badge.departure{background:#e0e7ff;color:var(--primary)}.schedule-type-badge.arrival{background:#d1fae5;color:var(--success-dark)}.schedule-location{margin:0;font-size:.85rem;color:var(--text-mid);display:flex;align-items:center;gap:.375rem}.schedule-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.schedule-completed{width:40px;height:40px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center}.schedule-pending{width:40px;height:40px;border-radius:50%;background:var(--bg-light);color:var(--text-light);display:flex;align-items:center;justify-content:center}.schedule-delete-btn{padding:.5rem;background:none;border:none;color:var(--danger);cursor:pointer;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.schedule-delete-btn:hover{background:#fee2e2}.schedule-empty{text-align:center;padding:3rem;color:var(--text-light)}.schedule-empty svg{margin-bottom:1rem;opacity:.5}.schedule-modal-form{display:flex;flex-direction:column;gap:1.5rem}.schedule-form-group{display:flex;flex-direction:column;gap:.75rem}.schedule-form-group label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-dark)}.schedule-form-input{padding:1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;outline:none;transition:all .2s;background:var(--bg-white)}.schedule-form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #667eea1f}.schedule-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.schedule-type-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;border:2px solid var(--border);border-radius:var(--radius-md);background:white;cursor:pointer;transition:all .2s}.schedule-type-option:hover{border-color:var(--primary);background:#f0f4ff}.schedule-type-option.active{border-color:var(--primary);background:#f0f4ff;box-shadow:0 0 0 3px #667eea1f}.schedule-type-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.schedule-type-icon.departure{background:#e0e7ff;color:var(--primary)}.schedule-type-icon.arrival{background:#d1fae5;color:var(--success-dark)}.schedule-type-option span{font-size:.95rem;font-weight:600;color:var(--text-dark)}.schedule-submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #667eea4d;transition:all .2s;margin-top:.5rem}.schedule-submit-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.schedule-edit-btn{padding:.5rem;background:none;border:none;color:var(--primary);cursor:pointer;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.schedule-edit-btn:hover{background:#e0e7ff}.child-schedule-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#f8f9fa;border-radius:var(--radius-md);border:2px solid var(--border);transition:all .2s}.child-schedule-item:hover{border-color:var(--primary);background:#f0f4ff}.child-schedule-time{display:flex;align-items:center;justify-content:center;min-width:60px;padding:.5rem .75rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:var(--radius-sm);color:#fff;font-size:1.1rem;font-weight:700;flex-shrink:0}.child-schedule-content{flex:1;min-width:0}.child-schedule-badge{padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;white-space:nowrap}.child-schedule-badge.departure{background:#e0e7ff;color:var(--primary)}.child-schedule-badge.arrival{background:#d1fae5;color:var(--success-dark)}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:0;background:transparent;border-radius:0;position:relative}.activity-item:not(:last-child){margin-bottom:1.5rem}.activity-icon-wrapper{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.activity-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #667eea4d;position:relative;z-index:2}.activity-line{width:2px;flex:1;background:linear-gradient(180deg,#667eea 0%,#e9ecef 100%);margin-top:.5rem;min-height:20px}.activity-details{flex:1;background:white;padding:1rem;border-radius:var(--radius-md);border:2px solid var(--border);transition:all .2s}.activity-details:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.activity-location{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-dark)}.activity-coords{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-mid);margin-bottom:.75rem;font-family:monospace}.activity-time{font-size:.8rem;color:var(--text-light);display:flex;align-items:center;gap:.375rem}.activity-map-btn{padding:.75rem;background:#e0e7ff;color:var(--primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start}.activity-map-btn:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.activity-empty{text-align:center;padding:3rem;color:var(--text-light)}.activity-empty svg{margin-bottom:1rem;opacity:.5;color:var(--primary)}.activity-empty p{margin:0;color:var(--text-mid)}.alert-item-new{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:var(--radius-md);background:white;border:2px solid var(--border);border-left:4px solid var(--border);margin-bottom:1rem;transition:all .2s}.alert-item-new:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.alert-item-new.sos{border-left-color:var(--danger);background:#fef2f2}.alert-item-new.arrival{border-left-color:var(--success);background:#f0fdf4}.alert-item-new.lost,.alert-item-new.battery{border-left-color:var(--warning);background:#fffbeb}.alert-icon-new{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.alert-item-new.sos .alert-icon-new{background:var(--danger);color:#fff}.alert-item-new.arrival .alert-icon-new{background:var(--success);color:#fff}.alert-item-new.lost .alert-icon-new,.alert-item-new.battery .alert-icon-new{background:var(--warning);color:#fff}.alert-content-new{flex:1;min-width:0}.alert-header-new{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.alert-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.alert-badge.sos{background:var(--danger);color:#fff}.alert-badge.arrival{background:var(--success);color:#fff}.alert-badge.lost,.alert-badge.battery{background:var(--warning);color:#fff}.alert-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulse 2s infinite}.alert-message{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--text-dark);line-height:1.5}.alert-time{font-size:.8rem;color:var(--text-light);display:flex;align-items:center;gap:.375rem}.alert-actions-new{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.alert-read-btn{padding:.5rem;background:var(--success);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.alert-read-btn:hover{background:var(--success-dark);transform:scale(1.05)}.alert-delete-btn-new{padding:.5rem;background:none;color:var(--danger);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.alert-delete-btn-new:hover{background:#fee2e2;border-color:var(--danger)}.emergency-dialog-new{background:var(--bg-white);border-radius:24px;padding:2.5rem 2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.emergency-icon-new{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#FFA726 0%,#FB8C00 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;box-shadow:0 8px 24px #fb8c0066}.emergency-dialog-new h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0 0 1rem}.emergency-dialog-new p{color:var(--text-mid);font-size:.95rem;margin:0 0 .5rem;line-height:1.6}.emergency-subtext{font-size:.85rem!important;color:var(--text-light)!important}.emergency-actions-new{display:flex;gap:.75rem;margin-top:2rem}.emergency-cancel-btn,.emergency-confirm-btn{flex:1;padding:1rem;border:none;border-radius:16px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.emergency-cancel-btn{background:#F5F5F5;color:var(--text-mid)}.emergency-cancel-btn:hover{background:#E0E0E0;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.emergency-confirm-btn{background:linear-gradient(135deg,#FFA726 0%,#FB8C00 100%);color:#fff;box-shadow:0 4px 16px #fb8c004d}.emergency-confirm-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px #fb8c0066}.emergency-confirm-btn.warning{background:linear-gradient(135deg,#FFA726 0%,#FB8C00 100%)}.emergency-confirm-btn.danger{background:linear-gradient(135deg,#EF5350 0%,#E53935 100%);box-shadow:0 4px 16px #ef53504d}.emergency-confirm-btn.danger:hover{box-shadow:0 6px 20px #ef535066}.emergency-icon-new.danger{background:linear-gradient(135deg,#EF5350 0%,#E53935 100%);box-shadow:0 8px 24px #ef535066}@media (max-width: 900px){.dashboard-main{grid-template-columns:1fr}.members-sidebar{max-height:none;border-right:none;border-bottom:1px solid var(--border)}.members-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.member-card{min-width:0;width:100%}.map-info-panel{grid-template-columns:1fr}}@media (max-width: 768px){.login-container,.register-container{padding:2rem 1.5rem;max-width:100%}.login-hero h1,.register-hero h1{font-size:1.75rem}.login-icon,.register-icon{width:80px;height:80px}.dashboard-header{flex-wrap:wrap;gap:.75rem}.header-right{flex-wrap:wrap;gap:.5rem}.tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}.tab{width:100%;font-size:.8rem;padding:.625rem;justify-content:center}.quick-actions{grid-template-columns:1fr;gap:.5rem}.action-btn{flex-direction:row;justify-content:center;padding:.75rem 1rem}.map-element{height:400px}.schedule-item{flex-wrap:wrap}.schedule-time-badge{min-width:60px;padding:.5rem .375rem}.schedule-time-hour{font-size:1.5rem}.schedule-time-minute{font-size:1rem}.schedule-actions,.schedule-status{width:100%;justify-content:flex-end;margin-top:.5rem}.child-info-grid,.emergency-buttons{grid-template-columns:1fr}.chat-container{max-width:100%;height:100vh;max-height:100vh;border-radius:0}.group-list-card-info{flex-direction:row;gap:1rem}.group-avatar{width:60px;height:60px;font-size:1.5rem}.confirm-modal-content,.emergency-dialog{padding:1.5rem}.members-list{grid-template-columns:1fr}}@media (max-width: 640px){html{font-size:15px}.login-screen,.register-screen{padding:.5rem}.login-container,.register-container{padding:1.75rem 1.25rem;border-radius:var(--radius-lg)}.login-hero h1,.register-hero h1{font-size:1.5rem}.login-icon,.register-icon{width:72px;height:72px}.social-btn{font-size:.875rem;padding:.75rem .875rem}.dashboard-header,.child-header{padding:.875rem 1rem;flex-wrap:wrap}.header-left h1{font-size:1.2rem}.header-left p{font-size:.75rem}.header-right,.child-header-buttons{flex-wrap:wrap;gap:.5rem}.icon-btn{width:40px;height:40px}.logout-btn,.logout-btn-simple{font-size:.8rem;padding:.4rem .875rem}.group-btn,.parent-btn,.id-btn,.profile-btn{font-size:.8rem;padding:.5rem .875rem}.members-sidebar{padding:1rem}.members-sidebar h2{font-size:.9rem}.member-card{padding:.75rem}.member-avatar{width:40px;height:40px;font-size:1rem}.member-info h3{font-size:.85rem}.member-status,.member-location,.member-battery{font-size:.7rem}.add-child-btn{font-size:.85rem;padding:.625rem}.main-content{padding:1rem}.tabs{padding:.375rem;gap:.375rem;flex-wrap:wrap}.tab{flex:1 1 auto;font-size:.75rem;padding:.625rem .5rem;justify-content:center}.tab svg{width:16px;height:16px}.map-container,.schedule-container,.activity-container,.alerts-container{padding:1rem;border-radius:var(--radius-lg)}.map-header{flex-direction:column;align-items:flex-start}.map-header h2{font-size:1rem}.map-header-buttons{width:100%;display:flex;flex-wrap:wrap;gap:.5rem}.gps-btn{flex:1;font-size:.85rem;padding:.625rem;justify-content:center;min-width:120px}.map-element{height:300px}.map-info-box{padding:.75rem}.map-google-link{font-size:.875rem;padding:.875rem}.schedule-header h2,.activity-container h2,.alerts-container h2{font-size:1rem}.add-btn{font-size:.8rem;padding:.5rem .875rem}.schedule-item{padding:.75rem;flex-direction:column;align-items:flex-start}.schedule-line{width:100%;height:3px;margin:.5rem 0}.schedule-status{width:100%;justify-content:space-between;margin-top:.5rem}.activity-item{padding:.75rem}.activity-icon{width:32px;height:32px}.alert-item{padding:.75rem;flex-wrap:wrap}.alert-icon{width:32px;height:32px}.alert-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.mark-read-btn,.delete-alert-btn{font-size:.8rem;padding:.5rem;width:100%}.chat-header{padding:.875rem 1rem}.chat-avatar{width:40px;height:40px}.close-btn,.group-settings-btn{width:32px;height:32px}.chat-message-avatar{width:28px;height:28px}.chat-message-bubble{padding:.5rem .75rem;font-size:.875rem;max-width:80%}.send-btn{width:38px;height:38px}.emoji-picker-panel{bottom:60px;left:10px;right:10px;max-width:none}.child-header{flex-direction:column;align-items:flex-start}.child-content,.status-card,.destination-card,.emergency-section{padding:1rem}.gps-toggle{font-size:.95rem;padding:.875rem}.emergency-btn{padding:1rem;font-size:.95rem}.group-list-card{padding:1.25rem}.group-list-card-info{flex-direction:column;align-items:flex-start}.group-avatar{width:60px;height:60px}.group-name{font-size:1.2rem}.confirm-modal-content,.emergency-dialog{padding:1.5rem;max-width:90%}.confirm-modal-actions,.emergency-actions{grid-template-columns:1fr 1fr}.qr-code-wrapper canvas{max-width:100%;height:auto!important}.url-copy-box{display:grid;grid-template-columns:1fr auto;gap:.5rem}.form-group input,.form-group select{font-size:.9rem;padding:.75rem .875rem}.parent-info-card{padding:1rem}.parent-avatar{width:40px;height:40px}.activity-item{gap:.75rem}.activity-icon{width:40px;height:40px}.alert-item-new{flex-wrap:wrap;padding:1rem}.alert-actions-new{width:100%;flex-direction:row;justify-content:flex-end}.child-schedule-item{flex-wrap:wrap}.child-schedule-time{min-width:50px;padding:.375rem .5rem;font-size:1rem}}@media (max-width: 480px){html{font-size:14px}.login-container,.register-container{padding:1.5rem 1rem}.login-hero h1,.register-hero h1{font-size:1.35rem}.login-icon,.register-icon{width:64px;height:64px}.header-left h1,.child-header h1{font-size:1.1rem}.icon-btn{width:36px;height:36px}.tab{font-size:.7rem;padding:.5rem .375rem}.map-element{height:250px}.gps-btn{font-size:.8rem;min-width:100px}.chat-avatar,.send-btn{width:36px;height:36px}.group-avatar{width:52px;height:52px}.emergency-dialog-new{padding:2rem 1.5rem;border-radius:20px}.emergency-icon-new{width:80px;height:80px}.emergency-icon-new svg{width:48px;height:48px}.emergency-dialog-new h2{font-size:1.3rem}.emergency-actions-new{flex-direction:column}.emergency-cancel-btn,.emergency-confirm-btn{width:100%}}@media (max-width: 375px){html{font-size:13px}.icon-btn{width:34px;height:34px}.tab{font-size:.65rem}}@media (max-width: 320px){html{font-size:12px}.login-icon,.register-icon{width:52px;height:52px}.icon-btn{width:32px;height:32px}.map-element{height:220px}}@media (max-height: 600px) and (orientation: landscape){.chat-container{height:100vh;max-height:100vh}.map-element{height:250px}.emergency-dialog,.confirm-modal-content{max-height:90vh;overflow-y:auto}}@media (hover: none) and (pointer: coarse){.icon-btn,.close-btn,.group-settings-btn,.tab,.gps-btn{min-height:44px}.member-card:hover,.alert-item:hover,.schedule-item:hover{transform:none}.chat-messages,.activity-list,.alerts-list{-webkit-overflow-scrolling:touch}}@media print{.dashboard-header,.child-header,.header-right,.members-sidebar,.tabs,.chat-input,.emergency-buttons,.quick-actions{display:none!important}.dashboard-main{grid-template-columns:1fr}.map-element{height:400px}}
