:global(body){margin:0;font-family:Inter,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:all .3s ease}:root{--primary: #7c3aed;--primary-light: #93c5fd;--bg: #f5f7fb;--card-bg: #ffffff;--text: #1f2937;--text-light: #6b7280;--border: #e5e7eb}.dark{--bg: #121212;--card-bg: #1e1e1e;--text: #f3f4f6;--text-light: #9ca3af;--border: #2a2a2a}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:linear-gradient(180deg,#fff,#f9fafb);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:all .3s ease}.sidebar-closed .sidebar{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.brand-text h1{font-size:20px;font-weight:700}.brand-text p{font-size:12px;color:var(--text-light)}.sidebar-nav{flex:1;padding:10px;display:flex;flex-direction:column;gap:6px}.nav-item{border:none;background:none;padding:14px 16px;text-align:left;cursor:pointer;border-radius:10px;font-size:15px;transition:all .2s}.nav-item:hover{background:#0000000d}.nav-item.active{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-weight:500}.nav-item:disabled{opacity:.4;cursor:not-allowed}.sidebar-footer{padding:15px;border-top:1px solid var(--border)}.theme-btn{width:100%;padding:10px;border:none;background:var(--card-bg);border-radius:8px;cursor:pointer;transition:.2s}.theme-btn:hover{transform:translateY(-2px)}.main-container{flex:1;display:flex;flex-direction:column}.topbar{height:70px;background:var(--card-bg);display:flex;align-items:center;padding:0 30px;border-bottom:1px solid var(--border);gap:20px}.topbar h2{flex:1;font-size:20px;font-weight:600}.menu-toggle{background:none;border:none;font-size:22px;cursor:pointer;padding:8px;border-radius:6px}.menu-toggle:hover{background:#0000000d}.content{padding:40px;overflow-y:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px}.stat-card{background:var(--card-bg);padding:25px;border-radius:14px;box-shadow:0 10px 25px #0000000f;text-align:center;transition:all .25s ease}.stat-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 15px 35px #0000001a}.stat-card h3{font-size:13px;text-transform:uppercase;color:var(--text-light);letter-spacing:.5px}.stat-value{font-size:36px;font-weight:700;margin-top:10px}.highlight{color:#e67e22}.active-patient-tag{background:#7c3aed1a;color:var(--primary);padding:8px 16px;border-radius:20px;display:flex;gap:8px;align-items:center}.dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.5}}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border:none;padding:12px 22px;border-radius:10px;cursor:pointer;font-weight:600;transition:.2s}.btn-primary:hover{transform:translateY(-2px)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state button{margin-top:20px;background:var(--primary);color:#fff;border:none;padding:12px 22px;border-radius:8px;cursor:pointer}.patient-form.svelte-1es6h61{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}h2.svelte-1es6h61{margin-top:0;color:#7c3aed;font-size:1.5rem;margin-bottom:1.5rem}form.svelte-1es6h61{display:flex;flex-direction:column;gap:1rem}.form-row.svelte-1es6h61{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row.three-cols.svelte-1es6h61{grid-template-columns:1fr 1fr 1fr}.form-group.svelte-1es6h61{display:flex;flex-direction:column;gap:.5rem}label.svelte-1es6h61{font-weight:500;color:#4b5563;font-size:.9rem}input.svelte-1es6h61,select.svelte-1es6h61{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}input.svelte-1es6h61:focus,select.svelte-1es6h61:focus{outline:none;border-color:#7c3aed}.button-group.svelte-1es6h61{display:flex;gap:1rem;margin-top:1rem}button.svelte-1es6h61{flex:1;padding:1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-btn.svelte-1es6h61{background:linear-gradient(135deg,#7c3aed,#93c5fd);color:#fff}.submit-btn.svelte-1es6h61:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.submit-btn.svelte-1es6h61:disabled{opacity:.6;cursor:not-allowed}.cancel-btn.svelte-1es6h61{background:#e5e7eb;color:#4b5563}.cancel-btn.svelte-1es6h61:hover{background:#d1d5db;transform:translateY(-2px)}.error-message.svelte-1es6h61{padding:.75rem;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:.9rem}@media (max-width: 768px){.form-row.svelte-1es6h61,.form-row.three-cols.svelte-1es6h61{grid-template-columns:1fr}}.patient-list.svelte-wwczyw.svelte-wwczyw{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.header.svelte-wwczyw.svelte-wwczyw{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}h2.svelte-wwczyw.svelte-wwczyw{margin:0;color:#7c3aed;font-size:1.5rem}.refresh-btn.svelte-wwczyw.svelte-wwczyw{padding:.5rem 1rem;background:#93c5fd;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.refresh-btn.svelte-wwczyw.svelte-wwczyw:hover:not(:disabled){background:#7c3aed;transform:translateY(-1px)}.refresh-btn.svelte-wwczyw.svelte-wwczyw:disabled{opacity:.5;cursor:not-allowed}.loading.svelte-wwczyw.svelte-wwczyw,.empty.svelte-wwczyw.svelte-wwczyw{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.patients-grid.svelte-wwczyw.svelte-wwczyw{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.patient-card.svelte-wwczyw.svelte-wwczyw{background:linear-gradient(135deg,#faf5ff,#eff6ff);padding:1.5rem;border-radius:12px;border:2px solid #e9d5ff;transition:all .3s}.patient-card.svelte-wwczyw.svelte-wwczyw:hover{transform:translateY(-4px);box-shadow:0 8px 16px #7c3aed26}.card-header.svelte-wwczyw.svelte-wwczyw{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.patient-info.svelte-wwczyw.svelte-wwczyw{flex:1}.patient-info.svelte-wwczyw h3.svelte-wwczyw{margin:0 0 .5rem;color:#7c3aed;font-size:1.2rem}.details.svelte-wwczyw.svelte-wwczyw{display:flex;gap:.5rem;color:#6b7280;font-size:.9rem;margin-bottom:.5rem}.contact.svelte-wwczyw.svelte-wwczyw{color:#4b5563;font-size:.9rem}.menu-container.svelte-wwczyw.svelte-wwczyw{position:relative}.menu-button.svelte-wwczyw.svelte-wwczyw{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s;line-height:1}.menu-button.svelte-wwczyw.svelte-wwczyw:hover{background-color:#7c3aed1a}.menu-dropdown.svelte-wwczyw.svelte-wwczyw{position:absolute;right:0;top:100%;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0003;min-width:150px;z-index:1000;overflow:hidden;margin-top:4px;border:1px solid #e5e7eb}.menu-item.svelte-wwczyw.svelte-wwczyw{width:100%;padding:12px 16px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s;display:flex;align-items:center;gap:8px}.menu-item.svelte-wwczyw.svelte-wwczyw:hover{background-color:#f5f5f5}.menu-item.delete.svelte-wwczyw.svelte-wwczyw{color:#dc2626}.menu-item.delete.svelte-wwczyw.svelte-wwczyw:hover{background-color:#fee2e2}.menu-item.edit.svelte-wwczyw.svelte-wwczyw:hover{background-color:#eff6ff}.actions.svelte-wwczyw.svelte-wwczyw{display:flex;gap:.5rem;margin-top:1rem}.actions.svelte-wwczyw button.svelte-wwczyw{flex:1;padding:.75rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.measure-btn.svelte-wwczyw.svelte-wwczyw{background:linear-gradient(135deg,#7c3aed,#93c5fd);color:#fff}.measure-btn.svelte-wwczyw.svelte-wwczyw:hover{transform:translateY(-2px);box-shadow:0 4px 8px #7c3aed4d}.measurement-container.svelte-1v7nq8v.svelte-1v7nq8v{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:400px;margin:2rem auto;font-family:Inter,sans-serif}.graph-placeholder.svelte-1v7nq8v.svelte-1v7nq8v{width:130%;height:150px;background:#f3f4f6;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1rem;font-weight:500}.rpm-box.svelte-1v7nq8v.svelte-1v7nq8v{width:100%;background:linear-gradient(135deg,#7b41e1,#93c5fd);border-radius:12px;padding:2rem;display:flex;justify-content:center;align-items:center;color:#fff;font-size:2.5rem;font-weight:700;text-align:center;box-shadow:0 8px 20px #00000026}.rpm-value.svelte-1v7nq8v span.svelte-1v7nq8v{font-size:1.2rem;opacity:.8;margin-left:.5rem}.waiting.svelte-1v7nq8v.svelte-1v7nq8v{font-size:1.2rem;opacity:.9}.controls.svelte-1v7nq8v.svelte-1v7nq8v{display:flex;gap:1rem}button.svelte-1v7nq8v.svelte-1v7nq8v{padding:.8rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}button.svelte-1v7nq8v.svelte-1v7nq8v:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.start-btn.svelte-1v7nq8v.svelte-1v7nq8v{background:#79d8b9;color:#fff}.start-btn.svelte-1v7nq8v.svelte-1v7nq8v:hover{background:#5fc9a8}.stop-btn.svelte-1v7nq8v.svelte-1v7nq8v{background:#ba8383;color:#fff}.stop-btn.svelte-1v7nq8v.svelte-1v7nq8v:hover{background:#a86f6f}@media (max-width: 480px){.measurement-container.svelte-1v7nq8v.svelte-1v7nq8v{padding:1rem;max-width:100%}.graph-placeholder.svelte-1v7nq8v.svelte-1v7nq8v{width:100%}.rpm-box.svelte-1v7nq8v.svelte-1v7nq8v{font-size:2rem}.controls.svelte-1v7nq8v.svelte-1v7nq8v{flex-direction:column;width:100%}button.svelte-1v7nq8v.svelte-1v7nq8v{width:100%}}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f0f2f5;transition:background .3s}body.dark-mode{background:#1a1a1a;color:#fff}.app-layout.svelte-172w0s5.svelte-172w0s5{display:flex;min-height:100vh}.sidebar.svelte-172w0s5.svelte-172w0s5{width:260px;background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;transition:width .3s;box-shadow:2px 0 5px #0000000d}.sidebar.open.svelte-172w0s5.svelte-172w0s5{width:260px}.sidebar-closed.svelte-172w0s5 .sidebar.svelte-172w0s5{width:70px}.sidebar-header.svelte-172w0s5.svelte-172w0s5{padding:20px;border-bottom:1px solid #eee}.brand.svelte-172w0s5.svelte-172w0s5{display:flex;align-items:center;gap:12px}.brand-icon.svelte-172w0s5.svelte-172w0s5{font-size:28px}.brand-text.svelte-172w0s5 h1.svelte-172w0s5{margin:0;font-size:20px;color:#2c3e50;font-weight:700}.brand-text.svelte-172w0s5 p.svelte-172w0s5{margin:0;font-size:12px;color:#7f8c8d}.sidebar-nav.svelte-172w0s5.svelte-172w0s5{flex:1;padding:10px;display:flex;flex-direction:column;gap:5px}.nav-item.svelte-172w0s5.svelte-172w0s5{border:none;background:none;padding:14px 16px;text-align:left;cursor:pointer;border-radius:8px;transition:.2s;font-size:15px}.nav-item.svelte-172w0s5.svelte-172w0s5:hover{background:#f0f0f0}.nav-item.active.svelte-172w0s5.svelte-172w0s5{background:linear-gradient(135deg,#7c3aed,#93c5fd);color:#fff}.nav-item.svelte-172w0s5.svelte-172w0s5:disabled{opacity:.5;cursor:not-allowed}.sidebar-footer.svelte-172w0s5.svelte-172w0s5{padding:15px;border-top:1px solid #eee}.theme-btn.svelte-172w0s5.svelte-172w0s5{width:100%;padding:10px;border:none;background:#ecf0f1;border-radius:6px;cursor:pointer;transition:.2s}.theme-btn.svelte-172w0s5.svelte-172w0s5:hover{background:#d5dbdb}.main-container.svelte-172w0s5.svelte-172w0s5{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar.svelte-172w0s5.svelte-172w0s5{height:70px;background:#fff;display:flex;align-items:center;padding:0 25px;border-bottom:1px solid #ddd;gap:20px;box-shadow:0 2px 4px #0000000d}.topbar.svelte-172w0s5 h2.svelte-172w0s5{margin:0;flex:1;font-size:20px;color:#2c3e50}.menu-toggle.svelte-172w0s5.svelte-172w0s5{background:none;border:none;font-size:22px;cursor:pointer;padding:8px;border-radius:6px;transition:.2s}.menu-toggle.svelte-172w0s5.svelte-172w0s5:hover{background:#f0f0f0}.content.svelte-172w0s5.svelte-172w0s5{padding:30px;flex:1;overflow-y:auto}.stats-grid.svelte-172w0s5.svelte-172w0s5{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}.stat-card.svelte-172w0s5.svelte-172w0s5{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 6px #00000014;text-align:center;transition:.3s}.stat-card.svelte-172w0s5.svelte-172w0s5:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001f}.stat-card.svelte-172w0s5 h3.svelte-172w0s5{margin:0 0 10px;font-size:14px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.stat-value.svelte-172w0s5.svelte-172w0s5{font-size:36px;font-weight:700;margin:10px 0;color:#2c3e50}.stat-value.highlight.svelte-172w0s5.svelte-172w0s5{color:#e67e22}.active-patient-tag.svelte-172w0s5.svelte-172w0s5{background:#e8f4fd;color:#2980b9;padding:8px 16px;border-radius:20px;font-size:14px;display:flex;align-items:center;gap:8px;font-weight:500}.dot.svelte-172w0s5.svelte-172w0s5{width:8px;height:8px;background:#27ae60;border-radius:50%;animation:svelte-172w0s5-pulse 2s infinite}@keyframes svelte-172w0s5-pulse{0%,to{opacity:1}50%{opacity:.5}}.patients-header.svelte-172w0s5.svelte-172w0s5{margin-bottom:20px}.btn-primary.svelte-172w0s5.svelte-172w0s5{background:linear-gradient(135deg,#7c3aed,#93c5fd);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:.2s}.btn-primary.svelte-172w0s5.svelte-172w0s5:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.empty-state.svelte-172w0s5.svelte-172w0s5{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-state.svelte-172w0s5 button.svelte-172w0s5{margin-top:20px;background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer}.dark.svelte-172w0s5 .sidebar.svelte-172w0s5,.dark.svelte-172w0s5 .topbar.svelte-172w0s5,.dark.svelte-172w0s5 .stat-card.svelte-172w0s5{background:#2d2d2d;border-color:#404040;color:#fff}.dark.svelte-172w0s5 .brand-text h1.svelte-172w0s5,.dark.svelte-172w0s5 .topbar h2.svelte-172w0s5{color:#fff}.dark.svelte-172w0s5 .stat-card h3.svelte-172w0s5{color:#95a5a6}.dark.svelte-172w0s5 .nav-item.svelte-172w0s5:hover{background:#3d3d3d}.dark.svelte-172w0s5 .theme-btn.svelte-172w0s5{background:#404040;color:#fff}.dark.svelte-172w0s5 .menu-toggle.svelte-172w0s5:hover{background:#404040}
