:root{--bg:#f4f7fb;--card:#fff;--card-hover:#f8fafc;--text:#111827;--text-secondary:#6b7280;--border:#d1d5db;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--danger-hover:#b91c1c;--success:#15803d;--shadow:0 4px 14px #00000014}body.dark-theme{--bg:#0f172a;--card:#111827;--card-hover:#1f2937;--text:#f3f4f6;--text-secondary:#9ca3af;--border:#374151;--primary:#3b82f6;--primary-hover:#2563eb;--danger:#ef4444;--danger-hover:#dc2626;--success:#22c55e;--shadow:0 6px 18px #00000059}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,sans-serif;transition:background .25s,color .25s}.hidden{display:none!important}.page{max-width:1300px;margin:0 auto;padding:20px}.auth-view{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);width:360px;box-shadow:var(--shadow);border-radius:18px;padding:28px}.auth-card h1{margin-top:0;margin-bottom:20px}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card input,.auth-card button{border-radius:12px;padding:12px 14px;font-size:14px}.auth-card input{border:1px solid var(--border);color:var(--text);background:0 0}.auth-card button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:600;transition:background .2s}.auth-card button:hover{background:var(--primary-hover)}.login-error{color:var(--danger);margin-top:14px}.header{flex-direction:column;gap:18px;margin-bottom:24px;display:flex}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.header-title{flex-direction:column;gap:8px;display:flex}.header-title h1{margin:0;font-size:32px}.header-subtitle{color:var(--text-secondary);font-size:14px}.header-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.header-panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.current-user{color:var(--text-secondary);font-size:14px}.status{color:var(--primary);background:#3b82f61f;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600}.push-button,.logout-button,.theme-button{cursor:pointer;border:none;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600;transition:background .2s,transform .15s}.push-button,.theme-button{background:var(--card-hover);color:var(--text);border:1px solid var(--border)}.push-button:hover,.theme-button:hover{background:var(--border)}.logout-button{background:var(--danger);color:#fff}.logout-button:hover{background:var(--danger-hover)}.notifications{flex-direction:column;gap:16px;display:flex}.notification{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--primary);box-shadow:var(--shadow);border-radius:18px;padding:18px;transition:background .25s,transform .2s}.notification:hover{transform:translateY(-2px)}.notification-new{animation:1s infinite alternate pulse}.notification-title{margin-bottom:10px;font-size:16px;font-weight:700}.notification-message{white-space:pre-line;margin-bottom:12px;line-height:1.5}.notification-meta{color:var(--text-secondary);font-size:13px}.sound-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-weight:600;display:inline-flex}.sound-toggle-track{background:#991b1b;border-radius:20px;width:52px;height:28px;transition:background .25s;position:relative}.sound-toggle-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .25s;position:absolute;top:3px;left:3px}.sound-toggle.active .sound-toggle-track{background:var(--success)}.sound-toggle.active .sound-toggle-thumb{transform:translate(24px)}.sound-toggle-label{font-size:14px}@keyframes pulse{0%{box-shadow:0 0 #3b82f633}to{box-shadow:0 0 20px #3b82f666}}@media (width<=768px){.page{padding:14px}.header-panel{flex-direction:column;align-items:flex-start}.header-controls,.push-button,.logout-button,.theme-button{width:100%}.header-title h1{font-size:26px}}.notification-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notification-done-badge{color:#fff;letter-spacing:.04em;background:#16a34a;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:800}.notification.notification-done{background:#eefbf2;border-color:#86efac #86efac #86efac #16a34a}body.dark-theme .notification.notification-done{background:#0f2d1c;border-color:#166534 #166534 #166534 #22c55e}.notification.notification-done .notification-title{color:#15803d}body.dark-theme .notification.notification-done .notification-title{color:#22c55e}.notification.notification-done .notification-message{opacity:.85}.notification.notification-done .notification-meta{opacity:.7}.notification-processed{color:#15803d;background:#22c55e1f;border-radius:8px;margin-top:10px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-block}body.dark-theme .notification-processed{color:#22c55e}.notification-process-btn{cursor:pointer;border:none;border-radius:10px;margin-top:12px;padding:8px 14px;font-size:14px;font-weight:700;transition:background .2s,transform .15s,opacity .2s}.notification-process-btn:hover{transform:translateY(-1px)}.notification-process-btn:disabled{opacity:.6;cursor:not-allowed}.notification-process-btn-pending{color:#fff;background:#2563eb}.notification-process-btn-pending:hover{background:#1d4ed8}.notification-process-btn-done{color:#fff;background:#16a34a}.notification-process-btn-done:hover{background:#15803d}@media (width<=600px){.notification-header-row{flex-direction:column}.notification-done-badge{align-self:flex-start}}
