/* ANC Calculator — Stylesheet v1.0
   Inherits LML theme CSS variables. */

.anc-page { display:flex; flex-direction:column; gap:20px; }

.anc-hero { text-align:center; padding:32px 0 8px; }
.anc-hero h1 { font-size:clamp(1.875rem,4vw,2.5rem); font-weight:800; color:var(--color-dark,#0f172a); margin:8px 0 10px; letter-spacing:-0.02em; }
.anc-hero-sub { font-size:var(--text-lg,1.125rem); color:var(--color-text-muted,#64748b); margin:0; }

.anc-card { background:#fff; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius-lg,12px); overflow:hidden; }
.anc-card-header { padding:14px 20px; border-bottom:1px solid var(--color-border-light,#f1f5f9); background:var(--color-surface,#f8fafc); }
.anc-card-title { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--color-text,#1e293b); text-transform:uppercase; letter-spacing:.04em; }
.anc-card-title svg { stroke:var(--color-primary,#0D7C7C); }

.anc-form { padding:24px 20px; display:flex; flex-direction:column; gap:20px; }
.anc-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.anc-field { display:flex; flex-direction:column; gap:6px; }
.anc-field--full { grid-column:1 / -1; }
.anc-field label { font-size:13px; font-weight:600; color:var(--color-text,#1e293b); line-height:1.4; }
.anc-opt { font-size:11px; font-weight:400; color:var(--color-text-muted,#64748b); }
.anc-input-row { display:flex; align-items:center; gap:10px; }
.anc-input { height:44px; padding:0 14px; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius,8px); font-size:16px; font-weight:600; color:var(--color-text,#1e293b); background:#fff; transition:border-color .15s; width:160px; }
.anc-input:focus { outline:none; border-color:var(--color-primary,#0D7C7C); box-shadow:0 0 0 3px rgba(13,124,124,.12); }
.anc-unit { font-size:13px; font-weight:600; color:var(--color-text-muted,#64748b); white-space:nowrap; }
.anc-hint { font-size:11px; color:var(--color-text-muted,#64748b); margin:0; line-height:1.5; }

/* Radio context */
.anc-context-group { display:flex; flex-direction:column; gap:8px; background:var(--color-surface,#f8fafc); border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius,8px); padding:12px 14px; }
.anc-radio-label { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--color-text,#1e293b); cursor:pointer; }
.anc-radio-label input { accent-color:var(--color-primary,#0D7C7C); width:16px; height:16px; }

/* Fever toggle */
.anc-toggle-group { display:flex; gap:0; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius,8px); overflow:hidden; width:fit-content; }
.anc-toggle-btn { padding:10px 24px; font-size:14px; font-weight:600; background:#fff; color:var(--color-text-muted,#64748b); border:none; cursor:pointer; transition:all .15s; }
.anc-toggle-btn.active[data-fever="yes"] { background:#dc2626; color:#fff; }
.anc-toggle-btn.active[data-fever="no"] { background:var(--color-primary,#0D7C7C); color:#fff; }

.anc-btn-calc { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 32px; background:var(--color-primary,#0D7C7C); color:#fff; font-size:15px; font-weight:700; border:none; border-radius:var(--radius,8px); cursor:pointer; width:100%; max-width:280px; align-self:center; transition:background .15s; }
.anc-btn-calc:hover { background:var(--color-primary-dark,#0a5f5f); }

/* ANC value card */
.anc-value-card { background:#fff; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius-lg,12px); overflow:hidden; }
.anc-value-inner { display:flex; align-items:center; justify-content:space-between; padding:24px 28px; flex-wrap:wrap; gap:20px; }
.anc-value-left { display:flex; flex-direction:column; gap:4px; }
.anc-value-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--color-text-muted,#64748b); }
.anc-value-num { font-size:clamp(2.5rem,6vw,4rem); font-weight:900; line-height:1; }
.anc-value-unit { font-size:14px; font-weight:600; color:var(--color-text-muted,#64748b); margin-top:4px; }
.anc-value-formula { font-size:12px; color:var(--color-text-muted,#64748b); margin-top:6px; font-family:monospace; background:var(--color-surface,#f8fafc); padding:4px 10px; border-radius:6px; }
.anc-fever-badge { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:8px; font-size:13px; font-weight:700; }
.anc-fever-yes { background:#fef2f2; color:#dc2626; border:1.5px solid #fca5a5; }
.anc-fever-no  { background:#f0fdf4; color:#16a34a; border:1.5px solid #86efac; }

/* Grade card */
.anc-grade-card { background:#fff; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius-lg,12px); overflow:hidden; }
.anc-grade-header { padding:14px 20px; border-bottom:1px solid var(--color-border-light,#f1f5f9); background:var(--color-surface,#f8fafc); font-size:13px; font-weight:700; color:var(--color-text,#1e293b); text-transform:uppercase; letter-spacing:.04em; }
.anc-grade-body { padding:20px; }
.anc-grade-bar-track { position:relative; height:28px; background:#f1f5f9; border-radius:14px; overflow:hidden; margin-bottom:10px; }
.anc-grade-segment { position:absolute; top:0; height:100%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:rgba(0,0,0,.5); transition:width .5s ease; }
.anc-grade-marker { position:absolute; top:0; height:100%; width:3px; background:#0f172a; border-radius:2px; transition:left .5s ease; }
.anc-grade-marker::after { content:attr(data-val); position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%); font-size:10px; font-weight:800; color:#0f172a; white-space:nowrap; }
.anc-grade-labels { display:flex; justify-content:space-between; font-size:10px; color:var(--color-text-muted,#64748b); padding:0 2px; margin-bottom:16px; }
.anc-grade-result { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:10px; }
.anc-grade-result.g-normal    { background:#f0fdf4; border:1.5px solid #86efac; }
.anc-grade-result.g-grade1    { background:#fefce8; border:1.5px solid #fde047; }
.anc-grade-result.g-grade2    { background:#fff7ed; border:1.5px solid #fdba74; }
.anc-grade-result.g-grade3    { background:#fef2f2; border:1.5px solid #fca5a5; }
.anc-grade-result.g-grade4    { background:#1f2937; border:1.5px solid #111827; }
.anc-grade-result.g-febrile   { background:#7f1d1d; border:1.5px solid #991b1b; }
.anc-grade-icon { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:20px; }
.anc-grade-text-title { font-size:16px; font-weight:800; }
.anc-grade-text-sub { font-size:13px; margin-top:2px; }
.g-normal  .anc-grade-text-title { color:#166534; }
.g-normal  .anc-grade-text-sub   { color:#15803d; }
.g-grade1  .anc-grade-text-title { color:#854d0e; }
.g-grade1  .anc-grade-text-sub   { color:#92400e; }
.g-grade2  .anc-grade-text-title { color:#9a3412; }
.g-grade2  .anc-grade-text-sub   { color:#c2410c; }
.g-grade3  .anc-grade-text-title { color:#991b1b; }
.g-grade3  .anc-grade-text-sub   { color:#b91c1c; }
.g-grade4  .anc-grade-text-title { color:#fef2f2; }
.g-grade4  .anc-grade-text-sub   { color:#fca5a5; }
.g-febrile .anc-grade-text-title { color:#fef2f2; }
.g-febrile .anc-grade-text-sub   { color:#fca5a5; }

/* Actions */
.anc-actions-box { background:#fff; border:1.5px solid var(--color-border,#e2e8f0); border-radius:var(--radius-lg,12px); overflow:hidden; }
.anc-actions-header { padding:12px 20px; border-bottom:1px solid var(--color-border-light,#f1f5f9); background:var(--color-surface,#f8fafc); font-size:13px; font-weight:700; color:var(--color-text,#1e293b); text-transform:uppercase; letter-spacing:.04em; display:flex; align-items:center; gap:8px; }
.anc-actions-header svg { stroke:var(--color-primary,#0D7C7C); }
.anc-action-list { list-style:none; padding:16px 20px; margin:0; display:flex; flex-direction:column; gap:10px; }
.anc-action-item { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--color-text,#1e293b); line-height:1.5; }
.anc-action-item::before { content:'→'; color:var(--color-primary,#0D7C7C); font-weight:700; flex-shrink:0; margin-top:1px; }
.anc-action-item.urgent { background:#fef2f2; padding:10px 14px; border-radius:8px; border-left:3px solid #ef4444; }
.anc-action-item.urgent::before { content:'!'; background:#dc2626; color:#fff; border-radius:50%; width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:900; flex-shrink:0; margin-top:0; }

/* Ref table */
.anc-ref-table { width:100%; border-collapse:collapse; font-size:13px; }
.anc-ref-table th { padding:10px 14px; background:var(--color-surface,#f8fafc); font-weight:700; color:var(--color-text-muted,#64748b); text-align:left; border-bottom:1px solid var(--color-border,#e2e8f0); font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.anc-ref-table td { padding:11px 14px; border-bottom:1px solid var(--color-border-light,#f1f5f9); color:var(--color-text,#1e293b); vertical-align:middle; }
.anc-ref-table tr:last-child td { border-bottom:none; }
.anc-pill { display:inline-block; padding:2px 10px; border-radius:20px; font-size:11px; font-weight:800; text-transform:uppercase; }
.anc-pill--green  { background:#dcfce7; color:#166534; }
.anc-pill--yellow { background:#fef9c3; color:#854d0e; }
.anc-pill--orange { background:#ffedd5; color:#9a3412; }
.anc-pill--red    { background:#fee2e2; color:#991b1b; }
.anc-pill--dark   { background:#1f2937; color:#f9fafb; }
.anc-ref-note { padding:12px 16px; font-size:11px; color:var(--color-text-muted,#64748b); border-top:1px solid var(--color-border-light,#f1f5f9); line-height:1.7; }

@media(max-width:600px){
    .anc-grid { grid-template-columns:1fr; }
    .anc-field--full { grid-column:1; }
}
