/* Neelix — Überdosis-Schutzbegleiter „Nicht allein konsumieren" (nc-gd-*) */

.nc-guardian { display: block; margin: 1rem 0; font-size: 0.96rem; line-height: 1.5; color: var(--nc-text, #1a1a1f); }
.nc-guardian * { box-sizing: border-box; }
.nc-gd-loading { padding: 1rem; color: var(--nc-text-muted, #888); }

.nc-gd-head h3 { margin: 0 0 0.2rem; font-size: 1.2rem; }
.nc-gd-sub { margin: 0 0 0.8rem; color: var(--nc-text-muted, #888); font-size: 0.9rem; }

.nc-gd-card { border: 1px solid var(--nc-border, #e3e3ea); border-radius: var(--nc-radius, 14px); background: var(--nc-bg-card, var(--nc-card-bg, #fff)); padding: 1.1rem; margin: 0.75rem 0; }
.nc-gd-card h4 { margin: 0 0 0.6rem; font-size: 1.02rem; }

.nc-gd-lbl { display: block; font-size: 0.82rem; font-weight: 600; margin: 0.6rem 0 0.2rem; color: var(--nc-text-muted, #666); }
.nc-gd-input { width: 100%; padding: 0.55rem 0.7rem; border: 1px solid var(--nc-border, #d0d0d8); border-radius: var(--nc-radius-sm, 10px); background: var(--nc-bg, #fff); color: inherit; font: inherit; margin-bottom: 0.4rem; }
.nc-gd-check { display: flex; align-items: flex-start; gap: 0.5rem; margin: 0.6rem 0; cursor: pointer; font-size: 0.9rem; }
.nc-gd-check input { margin-top: 0.2rem; }
.nc-gd-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }

/* Buttons */
.nc-gd-btn-start, .nc-gd-btn-ok, .nc-gd-btn-ext, .nc-gd-btn-cancel {
    border: none; border-radius: var(--nc-radius-sm, 10px); padding: 0.7rem 1.2rem; font: inherit; font-weight: 700; cursor: pointer;
}
.nc-gd-btn-start { background: linear-gradient(135deg, #0ea5e9, #0284c7); color: #fff; font-size: 1.05rem; width: 100%; }
.nc-gd-btn-ok { background: var(--nc-green, #059669); color: #fff; font-size: 1.05rem; }
.nc-gd-btn-ext { background: var(--nc-bg, #fff); border: 1px solid var(--nc-border, #d0d0d8); color: inherit; }
.nc-gd-btn-cancel { background: none; color: var(--nc-text-muted, #888); }
.nc-gd-btn-start:hover, .nc-gd-btn-ok:hover { filter: brightness(1.06); }
.nc-gd-btn-start:disabled, .nc-gd-btn-ok:disabled { opacity: 0.5; cursor: default; }

/* Status / readiness */
.nc-gd-ok { padding: 0.6rem 0.9rem; background: rgba(5,150,105,0.08); border-left: 3px solid var(--nc-green, #059669); border-radius: 8px; font-size: 0.88rem; margin-bottom: 0.6rem; }
.nc-gd-warn { padding: 0.7rem 0.9rem; background: rgba(217,119,6,0.08); border-left: 3px solid var(--nc-gold, #d97706); border-radius: 8px; font-size: 0.9rem; margin-bottom: 0.6rem; }
.nc-gd-warn a, .nc-gd-note a { color: var(--nc-accent, #6c5ce7); font-weight: 700; }
.nc-gd-note { padding: 0.7rem 0.9rem; background: rgba(47,127,209,0.06); border-left: 3px solid var(--nc-blue, #2f7fd1); border-radius: 8px; font-size: 0.86rem; margin: 0.6rem 0; }

/* Active session */
.nc-gd-active { text-align: center; border-color: var(--nc-green, #059669); }
.nc-gd-status { font-weight: 700; margin-bottom: 0.4rem; }
.nc-gd-timer { font-size: 3.2rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; color: var(--nc-green, #059669); }
.nc-gd-phase { color: var(--nc-text-muted, #666); font-size: 0.9rem; margin-bottom: 0.4rem; }
.nc-gd-active .nc-gd-actions { justify-content: center; }
.nc-gd-meta { font-size: 0.82rem; color: var(--nc-text-muted, #888); margin-top: 0.6rem; }

/* Grace phase (alarm) */
.nc-gd-active.is-grace { border-color: var(--nc-red, #dc2626); background: rgba(220,38,38,0.06); animation: nc-gd-pulse 1s ease-in-out infinite; }
.nc-gd-active.is-grace .nc-gd-timer { color: var(--nc-red, #dc2626); }
@keyframes nc-gd-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.0); } 50% { box-shadow: 0 0 0 6px rgba(220,38,38,0.12); } }
@media (prefers-reduced-motion: reduce) { .nc-gd-active.is-grace { animation: none; } }

/* Leitplanke */
.nc-gd-leitplanke { padding: 0.8rem 1rem; margin: 0 0 0.8rem; border-radius: 12px; background: rgba(14,165,233,0.06); border-left: 4px solid var(--nc-blue, #0ea5e9); font-size: 0.9rem; line-height: 1.5; }

/* Einwilligung */
.nc-gd-consent { display: flex; align-items: flex-start; gap: 0.55rem; padding: 0.55rem 0; border-top: 1px solid var(--nc-border, #f0f0f4); cursor: pointer; font-size: 0.9rem; line-height: 1.45; }
.nc-gd-consent:first-of-type { border-top: none; }
.nc-gd-consent input { margin-top: 0.2rem; flex: 0 0 auto; }
.nc-gd-consent-err { color: var(--nc-red, #dc2626); font-size: 0.85rem; margin: 0.4rem 0; }

/* Standort-Modi */
.nc-gd-modes { display: flex; flex-direction: column; gap: 0.3rem; margin-bottom: 0.4rem; }
.nc-gd-mode { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.45rem 0.6rem; border: 1px solid var(--nc-border, #e3e3ea); border-radius: 10px; cursor: pointer; font-size: 0.88rem; line-height: 1.4; }
.nc-gd-mode input { margin-top: 0.15rem; }

/* Notfall-Box */
.nc-gd-emergency { border: 1px solid var(--nc-red, #dc2626); border-radius: 12px; padding: 0.9rem 1rem; margin: 0.8rem 0; background: rgba(220,38,38,0.05); }
.nc-gd-emergency-head { font-weight: 800; color: var(--nc-red, #dc2626); margin-bottom: 0.4rem; }
.nc-gd-emergency ul { margin: 0 0 0.7rem; padding-left: 1.2rem; font-size: 0.88rem; }
.nc-gd-emergency li { margin: 0.15rem 0; }
.nc-gd-112 { display: inline-block; padding: 0.6rem 1.2rem; background: var(--nc-red, #dc2626); color: #fff; font-weight: 700; border-radius: 999px; text-decoration: none; }

/* Akkordeons */
.nc-gd-det { border: 1px solid var(--nc-border, #e3e3ea); border-radius: 10px; margin: 0.5rem 0; padding: 0.3rem 0.8rem; background: var(--nc-bg-card, #fff); }
.nc-gd-det > summary { cursor: pointer; font-weight: 700; padding: 0.45rem 0; font-size: 0.92rem; }
.nc-gd-det-body { font-size: 0.88rem; line-height: 1.5; padding: 0.2rem 0 0.6rem; white-space: pre-wrap; }
.nc-gd-det-body .nc-gd-btn-cancel { display: block; margin: 0.4rem 0; }

/* Escalated */
.nc-gd-escalated { border-color: var(--nc-red, #dc2626); background: rgba(220,38,38,0.05); }
.nc-gd-escalated .nc-gd-status { color: var(--nc-red, #dc2626); }
.nc-gd-escalated a { color: var(--nc-red, #dc2626); font-weight: 700; }
