:root{--bg: #000000;--card: #1c1c1e;--primary: #00d9ff;--green: #00d084;--red: #ff3b30;--text-primary: #ffffff;--text-secondary: #8e8e93;--border: #2c2c2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-primary);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background-color:var(--bg)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.5rem;font-weight:600}.brand-mark{color:var(--primary);font-size:1.25rem}.brand-name{font-size:1.1rem}.app-nav{display:flex;gap:.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.4rem .9rem;border-radius:8px;font-size:.95rem;transition:color .15s ease,background-color .15s ease}.nav-link:hover{color:var(--text-primary)}.nav-link--active{color:var(--bg);background-color:var(--primary)}.app-main{flex:1;padding:2rem 1.5rem;max-width:960px;width:100%;margin:0 auto}.page-title{margin:0 0 .5rem;font-size:1.75rem}.page-lead{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.placeholder-card{background-color:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;color:var(--text-secondary)}.app-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.85rem}.btn{font:inherit;font-weight:600;border-radius:8px;border:1px solid transparent;padding:.5rem 1rem;cursor:pointer;transition:opacity .15s ease,background-color .15s ease,border-color .15s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background-color:var(--primary);color:var(--bg)}.btn--ghost{background-color:transparent;border-color:var(--border);color:var(--text-primary)}.btn--ghost:hover:not(:disabled){border-color:var(--text-secondary)}.btn--danger{background-color:transparent;border-color:#5a2222;color:#ff6b6b}.btn--danger:hover:not(:disabled){background-color:#2a1414}.btn--sm{padding:.35rem .7rem;font-size:.85rem}.protocol-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.sort-control{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.sort-control select{font:inherit;background-color:var(--card);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:.35rem .6rem}.empty-state{background-color:var(--card);border:1px dashed var(--border);border-radius:12px;padding:2rem 1.5rem;color:var(--text-secondary);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-banner{background-color:#2a1414;border:1px solid #5a2222;color:#ff8a8a;border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.compound-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.compound-row{background-color:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.compound-row--editing{display:block}.compound-row__main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.compound-row__name{font-weight:600;font-size:1.05rem}.compound-row__meta{color:var(--primary);font-size:.85rem}.compound-row__notes{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.compound-row__actions{display:flex;gap:.5rem;flex-shrink:0}.compound-form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.form-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.form-field--wide{grid-column:1 / -1}.form-label{font-size:.8rem;color:var(--text-secondary)}.form-field input,.form-field textarea,.form-field select{font:inherit;background-color:var(--bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;width:100%}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--primary)}.form-field textarea{resize:vertical}.form-error{color:#ff8a8a;font-size:.85rem;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.labs-banner{background-color:var(--card);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:.85rem 1.1rem;color:var(--text-secondary);font-size:.9rem;line-height:1.45;margin-bottom:1.25rem}.labs-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.labs-tab{font:inherit;font-size:.9rem;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:.35rem .9rem;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.labs-tab:hover{color:var(--text-primary);border-color:var(--text-secondary)}.labs-tab--active{color:var(--bg);background-color:var(--primary);border-color:var(--primary)}.labs-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.labs-table{width:100%;border-collapse:collapse;background-color:var(--card)}.labs-table__actions-col{text-align:right}.labs-table th,.labs-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.labs-table th{color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.labs-table tbody tr:last-child td{border-bottom:none}.labs-table__results{color:var(--text-secondary);font-size:.9rem}.labs-source{display:inline-block;font-size:.78rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.labs-source--rhythm{color:var(--primary);border-color:var(--primary)}.labs-source--doctor{color:var(--green);border-color:var(--green)}.labs-source--manual{color:var(--text-secondary);border-color:var(--border)}.labs-value{font-variant-numeric:tabular-nums;font-weight:600}.labs-value--in{color:var(--green)}.labs-value--out{color:var(--red)}.labs-value--none{color:var(--text-secondary);font-weight:400}.labs-row__actions{display:flex;gap:.5rem;justify-content:flex-end}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.compound-row{flex-direction:column}.compound-row--editing{display:block}.compound-row__actions{width:100%}.compound-row__actions .btn{flex:1}}
