:root{
  --bg: #f5f7fb;
  --card: rgba(255,255,255,0.92);
  --muted: #64748b;
  --accent: #1f6f78;
  --accent-2: #2f8f9d;
  --accent-soft: #e8f6f7;
  --border: #dbe4ea;
  --shadow: 0 18px 50px rgba(15,23,42,0.08);
}

*{box-sizing:border-box}
body{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:
    radial-gradient(circle at top left, rgba(47,143,157,0.16), transparent 30%),
    radial-gradient(circle at top right, rgba(31,111,120,0.10), transparent 24%),
    linear-gradient(180deg, #f8fbfd 0%, var(--bg) 100%);
  color: #0f172a;
  margin:0;
}
.container{
  max-width:1000px;
  margin:24px auto;
  padding:16px;
}
.page-stack{display:grid;gap:16px}
.app-shell{display:grid;gap:16px}
.site-header{
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(219,228,234,0.9);
  box-shadow: 0 2px 20px rgba(16,24,40,0.05);
}
.site-header .container{display:block}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.brand-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{font-size:1.25rem;margin:8px 0;color:var(--accent);letter-spacing:0.2px}
.main-nav{display:flex;gap:10px;flex-wrap:wrap}
.header-actions{display:flex;gap:10px;flex-wrap:wrap}
.main-nav a,
.button{
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--accent);
  text-decoration:none;
  font-weight:700;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background: linear-gradient(180deg, #ffffff, #f7fbfc);
  box-shadow: 0 4px 10px rgba(15,23,42,0.05);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 140ms ease;
}
.main-nav a:hover,
.button:hover{
  transform: translateY(-1px);
  border-color: #b5dfe2;
  box-shadow: 0 8px 18px rgba(15,23,42,0.08);
  background: linear-gradient(180deg, #fff, #edf9fa);
  text-decoration:none;
}
.button.secondary{color:#173b42;background:linear-gradient(180deg,#fff,#f5f8fa)}
.button.secondary:hover{background:linear-gradient(180deg,#fff,#edf6f7)}
.hidden{display:none !important}

.flash{
  background: linear-gradient(180deg, #fff7d9, #fff1c0);
  border:1px solid #f0d98a;
  padding:12px 14px;
  border-radius:14px;
  margin-bottom:16px;
  color:#5a4310;
  box-shadow: var(--shadow);
}

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--card);
  border:1px solid rgba(219,228,234,0.95);
  border-radius:18px;
  overflow:hidden;
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(219,228,234,0.85)}
th{background:linear-gradient(180deg,#f9fcfd,#f3f8fa);color:var(--muted);font-weight:800;letter-spacing:0.02em}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fbfeff}

form label{display:block;margin:0;font-weight:700;color:#173b42}
.field-label{display:block;margin:0;font-weight:700;color:#173b42}
input[type=text], input[type=number], input[type=email], select, textarea{
  width:100%;
  padding:10px 12px;
  margin-top:7px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,0.9);
  color:#0f172a;
  outline:none;
  transition:border-color 140ms ease, box-shadow 140ms ease;
}
input[type=text]:focus, input[type=number]:focus, input[type=email]:focus, select:focus, textarea:focus{
  border-color:#9fd7dd;
  box-shadow:0 0 0 4px rgba(47,143,157,0.12);
}
textarea{resize:vertical;min-height:160px;line-height:1.45}
.form-shell,
.panel{
  background:var(--card);
  border:1px solid rgba(219,228,234,0.95);
  border-radius:20px;
  box-shadow: var(--shadow);
  padding:18px;
}
.form-shell{padding:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.panel{margin-top:16px}
.panel h3{margin-top:0;margin-bottom:6px}
.nested-panel{margin-top:14px;padding:14px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.page-head.compact{margin-bottom:8px}
.page-head h1{margin:0 0 6px 0}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.muted{color:var(--muted)}
.import-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.import-form input[type=file]{flex:1 1 280px}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.summary-grid > div{padding:14px;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbfc);border:1px solid rgba(219,228,234,0.9)}
.summary-label{display:block;font-size:0.88rem;color:var(--muted);margin-bottom:4px}
.table-wrap{overflow-x:auto}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.link-button{border:none;background:none;padding:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.link-button:hover{text-decoration-thickness:2px}
.link-button.danger{color:#b42318}
.link-button.button{display:inline-flex}
.detail-empty{padding:8px 0}

table table{background:transparent;box-shadow:none;border:none;border-radius:0}
table h4{margin:16px 0 8px}
th{white-space:nowrap}

.disease-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:10px;margin-top:12px}
.toggle-group{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.toggle-option{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}
.toggle-option input{position:absolute;opacity:0;pointer-events:none}
.toggle-option span{
  min-width:110px;
  text-align:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff,#f7fbfc);
  color:#35525a;
  font-weight:700;
  transition:all 140ms ease;
}
.toggle-option:hover span{border-color:#b5dfe2;transform:translateY(-1px)}
.toggle-option.active span,
.toggle-option input:checked + span{
  background:linear-gradient(180deg,#dff3f5,#caedf1);
  border-color:#8bd1d8;
  color:#0f4b55;
  box-shadow:0 6px 16px rgba(47,143,157,0.12);
}
.toggle-pill{position:relative;display:flex;align-items:center;justify-content:center;padding:0}
.toggle-pill input{position:absolute;opacity:0;pointer-events:none}
.toggle-pill span{
  width:100%;
  text-align:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff,#f7fbfc);
  color:#35525a;
  font-weight:700;
  transition:all 140ms ease;
}
.toggle-pill:hover span{border-color:#b5dfe2;transform:translateY(-1px)}
.toggle-pill.active span,
.toggle-pill input:checked + span{
  background:linear-gradient(180deg,#eaf8f9,#dff2f4);
  border-color:#9fd7dd;
  color:#0f4b55;
  box-shadow:0 6px 16px rgba(47,143,157,0.12);
}

.small{font-size:0.9rem;color:var(--muted)}

@media (max-width:720px){
  .container{padding:12px;margin:12px}
  .grid-2{grid-template-columns:1fr}
  .page-head{flex-direction:column}
  th,td{padding:10px}
  .brand-row{gap:10px}
}
