/* Engineer Underground: saved calculations. */
.eu-save-bar { margin: 14px 0 0; padding: 12px 16px; border: 1px solid var(--eu-border, #E2E8F0); border-radius: 10px; background: var(--eu-card, #FFFFFF); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.eu-save-bar .eu-sv-btn { margin: 0; }
.eu-save-msg { font-size: 14px; color: var(--eu-text, #334155); }
.eu-save-msg.is-ok { color: #166534; font-weight: 600; }
.eu-save-msg.is-bad { color: #991B1B; }
.eu-save-form { width: 100%; display: grid; gap: 10px; margin-top: 4px; }
.eu-save-form label { display: block; font-size: 14px; font-weight: 600; color: var(--eu-ink, #0F172A); margin-bottom: 4px; }
.eu-save-form input, .eu-save-form textarea { width: 100%; box-sizing: border-box; padding: 9px 12px; font-size: 15px; border: 1px solid var(--eu-border-2, #CBD5E1); border-radius: 8px; background: var(--eu-card, #FFFFFF); color: var(--eu-ink, #0F172A); font-family: inherit; }
.eu-save-form .eu-save-row { display: flex; gap: 10px; flex-wrap: wrap; }
.eu-sv-btn { display: inline-block; padding: 9px 16px; background: var(--eu-accent-fill, #0369A1); color: var(--eu-on-accent, #FFFFFF); border: 1px solid var(--eu-accent-fill, #0369A1); border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.2; }
a.eu-sv-btn, button.eu-sv-btn { color: var(--eu-on-accent, #FFFFFF) !important; text-decoration: none !important; }
.eu-sv-btn:hover { filter: brightness(1.08); }
.eu-sv-ghost, a.eu-sv-ghost, button.eu-sv-ghost { background: var(--eu-card, #FFFFFF); color: var(--eu-accent, #0369A1) !important; }
.eu-sv-ghost:hover { background: var(--eu-accent-soft, #E0F2FE); filter: none; }
.eu-sv-danger, a.eu-sv-danger, button.eu-sv-danger { background: var(--eu-card, #FFFFFF); color: #B91C1C !important; border-color: #FCA5A5; }
.eu-sv-danger:hover { background: #FEF2F2; filter: none; }
.eu-save-msg a { color: var(--eu-accent, #0369A1); font-weight: 600; }
.eu-sv-empty { padding: 24px; border: 1px dashed var(--eu-border-2, #CBD5E1); border-radius: 12px; text-align: center; }
.eu-sv-empty h2 { margin-top: 0; }
.eu-sv-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.eu-sv-item { margin: 0; padding: 16px 18px; border: 1px solid var(--eu-border, #E2E8F0); border-radius: 12px; background: var(--eu-card, #FFFFFF); }
.eu-sv-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; align-items: baseline; }
.eu-sv-title { font-size: 19px; font-weight: 700; color: var(--eu-ink, #0F172A); text-decoration: none; }
.eu-sv-title:hover { color: var(--eu-accent, #0369A1); text-decoration: underline; }
.eu-sv-meta { font-size: 14px; color: var(--eu-muted, #64748B); }
.eu-sv-res { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 10px 0 0; }
.eu-sv-res div { min-width: 120px; }
.eu-sv-res dt { font-size: 12px; color: var(--eu-muted, #64748B); margin: 0; }
.eu-sv-res dd { margin: 0; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 14px; color: var(--eu-ink, #0F172A); }
.eu-sv-note { margin: 10px 0 0; padding: 8px 12px; background: var(--eu-surface, #F1F5F9); border-radius: 8px; font-size: 15px; color: var(--eu-text, #334155); }
.eu-sv-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.eu-sv-count { margin: 0 0 14px; }
@media print { .eu-save-bar { display: none; } }
