:root{--bg-color: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #1e1e1e;--text-color: #e0e0e0;--text-muted: #888;--accent-color: #4ade80;--accent-hover: #22c55e;--border-color: #333;--font-size: 13px;--font-family: "Segoe UI", -apple-system, sans-serif;--fs-xs: calc(var(--font-size) - 4px);--fs-sm: calc(var(--font-size) - 2px);--fs-md: var(--font-size);--fs-lg: calc(var(--font-size) + 1px);--fs-xl: calc(var(--font-size) + 3px);--fs-2xl: calc(var(--font-size) + 5px)}body{margin:0;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);font-size:var(--font-size);transition:background-color .3s,color .3s}.ag-theme-balham-dark{--ag-font-family: var(--font-family);--ag-font-size: calc(var(--font-size) - 2px);--ag-background-color: var(--bg-color, #1a1a1a);--ag-header-background-color: var(--bg-tertiary, #2a2a2a);--ag-header-foreground-color: var(--text-color);--ag-foreground-color: var(--text-color);--ag-row-hover-color: var(--bg-secondary);--ag-selected-row-background-color: color-mix(in srgb, var(--accent-color) 25%, transparent);--ag-odd-row-background-color: var(--bg-color, #1a1a1a);--ag-borders: solid 1px;--ag-border-color: var(--border-color)}.ag-theme-balham-dark .ag-root-wrapper,.ag-theme-balham-dark .ag-body-viewport,.ag-theme-balham-dark .ag-center-cols-viewport,.ag-theme-balham-dark .ag-row,.ag-theme-balham-dark .ag-row-odd{background-color:var(--bg-color, #1a1a1a)}.ag-theme-balham-dark .ag-row-even{background-color:var(--bg-tertiary, #1e1e1e)}.ag-theme-balham-dark .ag-header,.ag-theme-balham-dark .ag-header-row{background-color:var(--bg-tertiary, #2a2a2a)}.ag-theme-balham-dark .ag-header-cell{background-color:var(--bg-tertiary, #2a2a2a);color:var(--text-color, #e0e0e0)}.ag-theme-balham-dark .ag-cell{color:var(--text-color, #e0e0e0)}.grid-wrapper.ag-theme-balham-dark{--ag-row-hover-color: color-mix(in srgb, var(--bg-tertiary, #1e1e1e) 94%, var(--accent-color, #4ade80) 6%)}.grid-wrapper.ag-theme-balham-dark .ag-row.ag-row-hover,.grid-wrapper.ag-theme-balham-dark .ag-row.ag-row-hover .ag-cell{background-color:var(--ag-row-hover-color)!important;color:var(--text-color, #e0e0e0)!important}.model-setting-select{width:100%;height:24px;padding:2px 6px;border:1px solid var(--border-color, #333);border-radius:4px;background:var(--bg-color, #1a1a1a);color:var(--text-color, #e0e0e0);font:inherit}.model-setting-select:focus{outline:none;border-color:var(--accent-color, #4ade80)}.ag-theme-balham-dark .ag-popup,.ag-theme-balham-dark .ag-menu,.ag-theme-balham-dark .ag-filter{background-color:var(--bg-secondary, #242424);color:var(--text-color, #e0e0e0)}.ag-theme-balham-dark .ag-filter-toolpanel-header,.ag-theme-balham-dark .ag-filter-toolpanel-body{background-color:var(--bg-secondary, #242424)}.ag-theme-balham-dark .ag-text-field-input,.ag-theme-balham-dark .ag-input-field-input{background-color:var(--bg-color, #1a1a1a);color:var(--text-color, #e0e0e0);border-color:var(--border-color, #333)}.ag-theme-balham-dark .ag-select .ag-picker-field-wrapper{background-color:var(--bg-color, #1a1a1a);color:var(--text-color, #e0e0e0)}.ag-theme-balham-dark .ag-menu-option-text{color:var(--text-color, #e0e0e0)}.ag-theme-balham-dark .ag-filter-condition{background-color:var(--bg-secondary, #242424)}.ag-header-cell-label{font-weight:600}.type-prescription,.type-drug{color:#60a5fa;font-weight:600}.type-tdm{color:#4ade80;font-weight:600}.type-lab{color:#fbbf24}.type-dialysis{color:#f472b6;font-weight:600}.status-given{color:#4ade80!important;font-weight:600}.status-missed{color:#ef4444!important;font-weight:600}.status-held{color:#fbbf24!important;font-weight:600}.status-scheduled{color:#888}.status-active{color:#4ade80;font-weight:600}.btn-delete-grid{width:24px;height:24px;padding:0;border:none;background-color:transparent;color:#888;border-radius:4px;cursor:pointer;font-size:16px;line-height:1}.btn-delete-grid:hover{background-color:#ef4444;color:#fff}.row-excluded{opacity:.5;text-decoration:line-through;background-color:#ef44441a!important}.row-excluded .ag-cell{text-decoration:line-through}.row-excluded:hover{opacity:.7}.ag-theme-balham-dark .cell-editable{background-color:#4ade800f;box-shadow:inset 0 -1px #4ade8059;cursor:text}.ag-theme-balham-dark .cell-editable:hover{background-color:#4ade801f}.btn-primary{padding:10px 16px;background:var(--accent-color);color:#000;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{padding:10px 16px;background:transparent;border:1px solid var(--border-color);color:var(--text-color);border-radius:6px;font-size:13px;cursor:pointer}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-danger{padding:6px 12px;background:#dc3545;color:#fff;border:1px solid #dc3545;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s ease}.btn-danger:hover:not(:disabled){background:#c82333}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:3px 8px;background:var(--bg-tertiary);color:var(--text-color);border:1px solid var(--border-color);border-radius:3px;font-size:10px;cursor:pointer}.btn-small:hover:not(:disabled){background:var(--accent-color);color:#000}.btn-small:disabled{opacity:.4;cursor:not-allowed}.form-field{flex:1;display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;color:var(--text-muted)}.form-field input,.form-field select{padding:8px 10px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:13px}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--accent-color)}.form-row{display:flex;gap:12px;margin-bottom:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1000}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:16px;color:var(--text-color)}.modal-content{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:8px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9998;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{color:var(--text-muted);font-size:14px}.badge{font-size:11px;padding:3px 8px;border-radius:12px;background:var(--bg-color);color:var(--text-muted);white-space:nowrap}.badge.admin{background:#d97706;color:#fff}.badge.inactive{background:#ef4444;color:#fff}.type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--fs-xs);font-weight:500}.type-trough{background-color:color-mix(in srgb,#3b82f6 20%,transparent);color:#60a5fa}.type-peak{background-color:color-mix(in srgb,#ef4444 20%,transparent);color:#f87171}.type-random{background-color:color-mix(in srgb,#a855f7 20%,transparent);color:#c084fc}.no-data{text-align:center;color:var(--text-muted);padding:32px;font-size:14px}.empty-message{text-align:center;padding:40px;color:var(--text-muted);font-size:14px}@media(max-width:768px){.admin-stats{grid-template-columns:repeat(2,1fr)}}.status-bar.svelte-g9asya{position:fixed;bottom:0;left:0;right:0;height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-tertiary, #1e1e1e);border-top:1px solid var(--border-color, #333);color:var(--text-muted, #888);font-size:11px;z-index:900;-webkit-user-select:none;user-select:none}.left.svelte-g9asya,.right.svelte-g9asya{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sep.svelte-g9asya{opacity:.4}.update.svelte-g9asya{color:var(--accent-color, #4ade80)}.dot.svelte-g9asya{width:8px;height:8px;border-radius:50%;flex:none;background:var(--text-muted, #888)}.dot.ok.svelte-g9asya{background:var(--accent-color, #4ade80)}.dot.offline.svelte-g9asya{background:#f59e0b}.dot.incompatible.svelte-g9asya{background:#ef4444}
