.app{margin:0 auto;max-width:760px;padding:0 16px 40px}.dim{color:var(--text-faint);font-size:.92em}.topbar{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;margin-bottom:16px;padding:14px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{align-items:center;display:flex}.brand{gap:10px}.brand-icon{font-size:22px}.brand h1{font-size:18px;font-weight:600;letter-spacing:.02em}.meta{gap:10px}.alert-badge,.meta{align-items:center;display:flex}.alert-badge{background:var(--dn);border-radius:999px;color:#fff;font-size:12px;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.logout-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;font-size:12px;padding:6px 12px}.logout-btn:hover{background:var(--bg-hover);color:var(--text)}.alerts-bar{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.alert-chip{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--neutral);border-radius:var(--radius);font-size:13px;padding:8px 12px}.alert-chip.dn{border-left-color:var(--dn)}.alert-chip.warn{border-left-color:var(--warn)}.people-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.person-tab{align-items:stretch;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.person-tab button{background:#0000;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:8px 14px}.person-tab button:hover{color:var(--text)}.person-tab.active{border-color:var(--accent)}.person-tab.active button:first-child{color:var(--text);font-weight:600}.person-remove{border-left:1px solid var(--border);color:var(--text-faint)!important;font-size:14px!important;padding:8px 10px!important}.person-remove:hover{color:var(--dn)!important}.person-add{background:#0000;border:1px dashed var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;font-size:13px;padding:8px 14px}.person-add:hover{background:var(--bg-hover);color:var(--text)}.person-add-form{align-items:center;display:flex;gap:6px}.person-add-form input{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:7px 10px}.person-add-form button[type=submit]{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px}.person-add-form button[type=button]{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;font-size:13px;padding:8px 12px}.content-head{display:flex;justify-content:flex-end;margin-bottom:14px}button.primary{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px}button.primary:hover{filter:brightness(1.08)}button.primary:disabled{cursor:default;opacity:.6}.empty-state{padding:40px 0;text-align:center}.med-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.med-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:10px;padding:14px 16px}.med-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.med-name{font-size:15px;font-weight:600}.med-sub{margin-top:2px}.med-delete{background:#0000;border:none;color:var(--text-faint);cursor:pointer;font-size:15px;line-height:1;padding:2px}.med-delete:hover{color:var(--dn)}.med-photo{border:1px solid var(--border);border-radius:8px;max-height:160px;object-fit:cover;width:100%}.med-progress-bar{background:var(--bg-hover);border-radius:4px;height:8px;overflow:hidden}.med-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .2s}.med-progress-label{font-size:12px;margin-top:4px}.med-meta{color:var(--text-dim);display:flex;flex-direction:column;font-size:13px;gap:4px}.med-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{background:var(--bg-hover);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:11px;padding:3px 8px}.badge.dn{border-color:var(--dn);color:var(--dn)}.badge.warn{border-color:var(--warn);color:var(--warn)}.badge.up{border-color:var(--up);color:var(--up)}.med-buttons{display:flex;justify-content:flex-end}.med-buttons .primary{font-size:13px;padding:8px 14px}.checkbox-label{align-items:center;color:var(--text-dim);cursor:pointer;display:flex;font-size:13px;gap:8px}.checkbox-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.med-auto-toggle{margin-top:-2px}.login-screen{justify-content:center;min-height:100vh;padding:20px}.login-card,.login-screen{align-items:center;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;max-width:320px;padding:32px 28px;text-align:center;width:100%}.login-icon{font-size:40px}.login-card h1{font-size:20px;font-weight:600}.login-card input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;margin-top:8px;padding:10px 12px;text-align:center;width:100%}.login-card button{margin-top:4px;width:100%}.login-error{color:var(--dn);font-size:13px}.login-hint{font-size:12px;line-height:1.4;margin-top:8px}.modal-backdrop{align-items:flex-end;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}@media (min-width:640px){.modal-backdrop{align-items:center}}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;max-height:92vh;max-width:480px;overflow-y:auto;padding:18px 18px 24px;width:100%}@media (min-width:640px){.modal{border-radius:var(--radius)}}.modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.modal-head h2{font-size:16px;font-weight:600}.modal-close{background:#0000;border:none;color:var(--text-dim);cursor:pointer;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.photo-input{align-items:center;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;margin-bottom:16px;padding:14px;text-align:center}.photo-input:hover{background:var(--bg-hover);color:var(--text)}.photo-input input{display:none}.med-form{gap:12px}.med-form,.med-form label{display:flex;flex-direction:column}.med-form label{color:var(--text-dim);font-size:12px;gap:4px}.med-form input,.med-form textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:9px 10px}.med-form input[type=date]{color-scheme:dark}.med-form textarea{font-family:inherit;resize:vertical}.form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.form-error{color:var(--dn);font-size:13px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.modal-buttons button[type=button]{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;font-size:14px;padding:10px 16px}.modal-buttons button[type=button]:hover{background:var(--bg-hover);color:var(--text)}:root{--bg:#0f1115;--bg-card:#171a21;--bg-hover:#1e2229;--border:#262b34;--text:#e4e7ec;--text-dim:#9aa3b2;--text-faint:#5f6878;--up:#2ecc8f;--dn:#ff5470;--warn:#d9a441;--neutral:#7a8290;--accent:#4a9eff;--radius:10px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#0f1115;background:var(--bg);color:#e4e7ec;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}code{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.9em}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0f1115;background:var(--bg)}::-webkit-scrollbar-thumb{background:#262b34;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5f6878;background:var(--text-faint)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit}
/*# sourceMappingURL=main.3df218f1.css.map*/