*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;background:#f3f4f6;min-height:100dvh;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:1200px;margin:0 auto}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.app-header h1{letter-spacing:-.02em;font-size:22px;font-weight:700}.header-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#4f46e5}.btn-primary:hover:not(:disabled){background:#4338ca}.btn-secondary{color:#1f2937;background:#fff;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-ghost{color:#6b7280;background:0 0}.btn-ghost:hover:not(:disabled){color:#1f2937;background:#e5e7eb}.metric{flex-direction:column;gap:2px;display:flex}.metric-value{color:#1f2937;font-size:20px;font-weight:700}.metric-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.error-banner{border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.error-banner-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.error-banner-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.login-modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-modal{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:32px;display:flex;box-shadow:0 10px 40px #0003}.login-modal h2{text-align:center;font-size:22px;font-weight:700}.login-modal-subtitle{color:#6b7280;text-align:center;font-size:13px;line-height:1.5}.login-field{flex-direction:column;gap:6px;display:flex}.login-field span{color:#374151;letter-spacing:.02em;font-size:12px;font-weight:600}.login-modal input{border:2px solid #e5e7eb;border-radius:8px;padding:12px 14px;font-size:15px;transition:border-color .15s}.login-modal input:focus{border-color:#4f46e5;outline:none}.login-modal-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 12px;font-size:13px}.loading{text-align:center;color:#6b7280;padding:40px;font-size:14px}.empty-state{text-align:center;color:#9ca3af;padding:32px;font-size:14px}.homecam-page{width:100%;min-width:0}.homecam-page .header-controls{min-width:0;max-width:100%}.homecam-page .btn{overflow-wrap:anywhere;justify-content:center;align-items:center;min-width:44px;max-width:100%;min-height:44px;text-decoration:none;display:inline-flex}.homecam-panel .btn+.btn{margin-left:12px}.homecam-page .error-banner{overflow-wrap:anywhere}.homecam-page .btn:focus-visible,.homecam-filter-grid input:focus-visible,.homecam-table-wrap:focus-visible{outline-offset:2px;outline:2px solid #4f46e5}.homecam-panel{overflow-wrap:anywhere;background:#fff;border-radius:12px;min-width:0;margin-bottom:20px;padding:16px;box-shadow:0 1px 3px #00000014}.homecam-panel h2{margin-bottom:12px;font-size:16px}.homecam-panel ul{list-style:none}.homecam-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:12px;margin-bottom:20px;display:grid}.homecam-metrics-grid .metric{overflow-wrap:anywhere;background:#fff;border-radius:12px;min-width:0;padding:16px;box-shadow:0 1px 3px #00000014}.homecam-breakdowns{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.homecam-monitor-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;display:grid}.homecam-monitor-grid>div{min-width:0}.homecam-monitor-grid dt{color:#6b7280;font-size:12px}.homecam-monitor-grid dd{margin-top:4px;font-size:13px}.homecam-caption{color:#6b7280;overflow-wrap:anywhere;margin-bottom:16px;font-size:13px}.homecam-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.homecam-filter-grid label{color:#4b5563;flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.homecam-filter-grid input{width:100%;min-width:0;min-height:44px;font:inherit;color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}@media (width>=981px){.homecam-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.homecam-table-wrap{background:#fff;border-radius:12px;width:100%;max-width:100%;margin-bottom:20px;overflow-x:auto}.homecam-event-table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.homecam-event-table th{text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px}.homecam-event-table td{overflow-wrap:anywhere;border-bottom:1px solid #f3f4f6;padding:12px}.homecam-event-table tr:hover td{background:#f9fafb}@media (width<=640px){.homecam-filter-grid{grid-template-columns:1fr}.homecam-page-header,.app-header{flex-direction:column;align-items:flex-start}.header-controls{justify-content:space-between;width:100%}}
