:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column;width:100%}.app-header{background:#6366f1;color:#fff;padding:0;box-shadow:0 2px 10px #0000001a;width:100%}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;width:100%}.header-content h1{margin:0;font-size:1.5rem;white-space:nowrap}.status-indicators{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;white-space:nowrap}.status.online{background:#10b981}.status.offline{background:#ef4444}.install-btn{background:#fff;color:#6366f1;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.install-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.main-nav{display:flex;justify-content:center;gap:.5rem;padding:0 2rem 1rem;width:100%;flex-wrap:wrap}.main-nav button{padding:.75rem 1.5rem;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;white-space:nowrap}.main-nav button:hover{background:#ffffff1a;border-color:#ffffff80}.main-nav button.active{background:#fff;color:#6366f1;border-color:#fff}.app-main{flex:1;padding:2rem;width:100%;display:flex;justify-content:center}.content-section{width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;gap:2rem}.app-footer{background:#1f2937;color:#fff;text-align:center;padding:1rem;margin-top:auto;width:100%}.activity-form-container,.activities-list-container{width:100%;max-width:1200px;padding:0 1rem}.activity-form,.activities-grid{width:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em;width:100%;max-width:400px}.read-the-docs{color:#888}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.status-indicators{justify-content:center}.main-nav{padding:0 1rem 1rem;gap:.25rem}.main-nav button{padding:.5rem 1rem;font-size:.875rem}.app-main{padding:1rem}.content-section{gap:1rem}}@media (max-width: 480px){.header-content h1{font-size:1.25rem}.main-nav{flex-direction:column;align-items:center}.main-nav button{width:200px}.status-indicators{flex-direction:column;gap:.5rem}}.offline-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.offline-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem 2rem;border-radius:20px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:100%;text-align:center;color:#333}.offline-container .icon{font-size:4rem;margin-bottom:1rem;display:block}.offline-container h1{font-size:2.2rem;margin-bottom:1rem;color:#2d3748}.offline-container p{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.6;color:#4a5568}.offline-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:2rem}.offline-btn{background:#6366f1;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s;min-width:160px}.offline-btn:hover{background:#5a5fef;transform:translateY(-2px)}.offline-btn.secondary{background:transparent;color:#6366f1;border:2px solid #6366f1}.offline-btn.secondary:hover{background:#6366f1;color:#fff}.home-content{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.home-content h2{font-size:2.5rem;margin-bottom:1rem;color:#1f2937}.home-content>p{font-size:1.2rem;color:#6b7280;margin-bottom:3rem}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .3s}.feature:hover{transform:translateY(-5px)}.feature span{font-size:3rem;display:block;margin-bottom:1rem}.feature h3{font-size:1.5rem;margin-bottom:1rem;color:#1f2937}.feature p{color:#6b7280;line-height:1.6}@media (max-width: 768px){.offline-container{padding:2rem 1.5rem}.offline-container h1{font-size:1.8rem}.offline-actions{flex-direction:column}.offline-btn{width:100%}.features{grid-template-columns:1fr}}.main-nav button{display:flex;align-items:center;gap:8px}.install-btn{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .3s}.install-btn:hover{background:#059669}.notification-section{margin-top:3rem;padding:2rem;background:#6366f10d;border-radius:12px;border:1px solid rgba(99,102,241,.2)}.notification-section h3{color:#1f2937;margin-bottom:1.5rem;text-align:center}.notification-controls{display:flex;justify-content:center}.notification-status{text-align:center}.notification-active,.notification-inactive{display:flex;flex-direction:column;align-items:center;gap:1rem}.notification-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.notification-btn{background:#10b981;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;display:flex;align-items:center;gap:8px}.notification-btn:hover{background:#059669;transform:translateY(-2px)}.notification-btn.active{background:#ef4444}.notification-btn.active:hover{background:#dc2626}.notification-btn.test{background:#6366f1}.notification-btn.test:hover{background:#5a5fef}.notification-warning{color:#ef4444;font-size:.9rem;margin-top:.5rem}.notification-unsupported{color:#6b7280;font-style:italic}.notification-header-btn{background:#8b5cf6;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;margin-left:10px}.notification-header-btn:hover{background:#7c3aed}@media (max-width: 768px){.notification-buttons{flex-direction:column;width:100%}.notification-btn{width:100%;justify-content:center}}.connection-status{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;margin-bottom:20px;font-weight:700}.connection-status.online{background-color:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.connection-status.offline{background-color:#fff3e0;border:1px solid #ff9800;color:#e65100}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.connection-status.online .status-indicator{background-color:#4caf50}.connection-status.offline .status-indicator{background-color:#ff9800}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.activity-form-container{max-width:600px;margin:0 auto;padding:20px}.activity-form{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#6366f1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.submit-btn{width:100%;padding:15px;background-color:#6366f1;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.submit-btn:hover:not(:disabled){background-color:#5a5fef}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.submit-btn.offline{background-color:#f59e0b}.submit-btn.offline:hover{background-color:#d97706}.sync-btn{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .3s;white-space:nowrap}.sync-btn:hover:not(:disabled){background:#059669}.sync-btn:disabled{background:#9ca3af;cursor:not-allowed}.delete-btn{background:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.delete-btn:hover:not(:disabled){background:#dc2626}.delete-btn:disabled{background:#9ca3af;cursor:not-allowed}.offline-notice{margin-top:15px;padding:15px;background-color:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#9a3412}.sync-notice{padding:15px;background:#e0f2fe;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:20px;text-align:center;color:#0369a1}.activities-list-container{max-width:800px;margin:0 auto;padding:20px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.list-stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.total-count{background:#e5e7eb;color:#374151;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500}.status.online{background:#d1fae5;color:#065f46;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500}.status.offline{background:#fecaca;color:#dc2626;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500}.activities-grid{display:grid;gap:20px}.activity-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:10px}.activity-header h3{margin:0;color:#1f2937;font-size:1.25rem}.activity-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.activity-meta span{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.date{background:#e0e7ff;color:#3730a3}.hours{background:#f0f9ff;color:#0c4a6e}.offline-badge{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.activity-content p{margin:0;color:#4b5563;line-height:1.5}.activity-footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:10px}.activity-footer small{color:#6b7280;font-size:.875rem}.offline-notice-small{font-size:10px;color:#d97706;font-style:italic}.empty-state{text-align:center;padding:40px;color:#6b7280}.offline-info{margin-top:15px;padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e}.loading{text-align:center;padding:40px;color:#6366f1}.storage-notice{margin-top:20px;padding:15px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569}.storage-notice p{margin:5px 0;font-size:14px}.sync-info{margin-top:8px;font-size:13px;color:#059669;font-weight:500}.app-nav{display:flex;justify-content:center;gap:10px;padding:20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.app-nav button{padding:12px 24px;border:2px solid #6366f1;background:#fff;color:#6366f1;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;white-space:nowrap}.app-nav button:hover,.app-nav button.active{background:#6366f1;color:#fff}@media (max-width: 768px){.activity-form-container{padding:10px}.activity-form{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.list-header,.activity-header,.activity-footer{flex-direction:column;align-items:flex-start}.app-nav{flex-direction:column;align-items:center}.app-nav button{width:200px}}@media (max-width: 480px){.activity-meta,.list-stats{flex-direction:column;align-items:flex-start}}
