@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #1565c0;--color-primary-dark: #0d47a1;--color-primary-light: #e8f0fe;--color-primary-rgb: 21, 101, 192;--color-bg: #dce5f0;--color-surface: #ffffff;--color-surface-alt: #f4f7fb;--color-border: #c5d2e0;--color-text: #1a2744;--color-text-secondary: #5a6a8a;--color-text-hint: #9aaabb;--color-error: #c62828;--color-error-bg: #fff0f0;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-success: #1b7f3e;--color-success-bg: #f0fdf4;--nav-height: 64px;--topbar-height: 56px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-xs: 0 1px 3px rgba(0,0,0,.1);--shadow-sm: 0 2px 8px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.14), 0 2px 6px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.16), 0 4px 10px rgba(0,0,0,.1);--transition: .15s ease;--page-px: 1rem}body.dark{--color-bg: #0f1520;--color-surface: #1a2235;--color-surface-alt: #212c40;--color-border: #2a3850;--color-text: #e4ebf5;--color-text-secondary: #8a9dc0;--color-text-hint: #4a5e7a;--color-primary-light: #0d2350;--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.35);--shadow-lg: 0 8px 32px rgba(0,0,0,.4)}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;height:100%}.page{padding:var(--page-px);padding-bottom:calc(var(--nav-height) + 1.5rem);max-width:800px;margin:0 auto}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem;margin-bottom:1rem;overflow:hidden}.field{display:grid;grid-template-columns:8rem 1fr;column-gap:1rem;align-items:start;padding:.75rem 0;border-bottom:1px solid var(--color-border);margin-bottom:0}.field:last-child{border-bottom:none}.field label{padding-top:.875rem;font-size:.8125rem;font-weight:700;color:var(--color-text-secondary);letter-spacing:.03em;text-transform:uppercase;line-height:1.3;word-break:break-word}.field input,.field select,.field textarea{width:100%;min-width:0;padding:.875rem 1.125rem;border:1.5px solid var(--color-border);border-radius:4px;font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--color-text-hint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.field input[type=date],.field input[type=datetime-local],.field input[type=time]{padding:.5rem .75rem;font-size:.9375rem}.field textarea{resize:vertical;min-height:120px}.field select{cursor:pointer}.field .field-hint{grid-column:2;font-size:.8125rem;color:var(--color-text-secondary);margin-top:.375rem}.field:has(input[type=date]),.field:has(input[type=datetime-local]),.field:has(input[type=time]){display:flex;flex-direction:column;gap:.25rem}.field:has(input[type=date]) label,.field:has(input[type=datetime-local]) label,.field:has(input[type=time]) label{padding-top:0}.field:has(input[type=date]) input,.field:has(input[type=datetime-local]) input,.field:has(input[type=time]) input{width:auto;align-self:stretch;min-width:0;max-width:100%}.field-col{display:flex;flex-direction:column;gap:.375rem;padding:0;border-bottom:none;margin-bottom:1rem}.field-col label{padding-top:0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.375rem;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;border:none;background:var(--color-primary);color:#fff;box-shadow:0 2px 6px rgba(var(--color-primary-rgb),.35);transition:background var(--transition),box-shadow var(--transition),transform var(--transition)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px rgba(var(--color-primary-rgb),.3)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.375rem;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border);box-shadow:var(--shadow-xs);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-text-hint);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.375rem;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;background:var(--color-surface);color:var(--color-error);border:1.5px solid rgba(198,40,40,.3);box-shadow:var(--shadow-xs);transition:background var(--transition),box-shadow var(--transition),transform var(--transition)}.btn-danger:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error);box-shadow:0 2px 8px #c6282826;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.4rem .875rem;font-size:.8125rem;font-weight:600;border-radius:4px;cursor:pointer;border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:background var(--transition),border-color var(--transition)}.btn-sm:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-text-hint)}.btn-sm.danger{color:var(--color-error);border-color:#c6282859}.btn-sm.danger:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error)}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.save-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:1.25rem;padding:1.125rem;font-size:1.125rem;font-weight:700;letter-spacing:.02em;border:none;cursor:pointer;border-radius:4px;background:linear-gradient(135deg,#1565c0,#1a3a8f);color:#fff;box-shadow:0 2px 10px #1565c059;transition:filter var(--transition)}.save-btn:hover:not(:disabled){filter:brightness(1.1)}.save-btn:active:not(:disabled){filter:brightness(.9)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.section-label-row{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary)}.section-label-row:before,.section-label-row:after{content:"";flex:1;height:1px;background:var(--color-border)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page-header h2{margin:0;font-size:1.375rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text)}.loading-hint,.empty-hint{text-align:center;color:var(--color-text-hint);padding:2rem 0;font-size:.9375rem}.alert-error{padding:.875rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;font-weight:500;background:var(--color-error-bg);color:var(--color-error);border:1px solid rgba(198,40,40,.25)}.alert-success{padding:.875rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;font-weight:500;background:var(--color-success-bg);color:var(--color-success)}.clinical-fieldset{min-width:0;border:1.5px solid var(--color-border);border-radius:var(--radius-md, 12px);padding:1rem 1.25rem .75rem;margin:1rem 0}.clinical-fieldset legend{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding:0 .375rem}.optional-tag{font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-hint);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px;padding:.1rem .4rem;margin-left:.4rem;vertical-align:middle}.btn-group{display:flex;flex-direction:column;gap:.4rem;margin-top:.375rem;width:100%}.btn-chip{width:100%;box-sizing:border-box;padding:.65rem .9rem;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.9375rem;font-family:inherit;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,color .15s}.btn-chip.selected{border-color:var(--color-primary);background:var(--color-primary-light, #e3f2fd);color:var(--color-primary);font-weight:600}.exclude-hint{display:block;font-size:.8125rem;color:var(--color-warning, #d97706);margin:.25rem 0 .75rem}
