.alco-semaforo-admin .alco-semaforo-inline { display:inline-block; margin:0; }
.alco-semaforo-admin .alco-semaforo-inline + .alco-semaforo-inline { margin-left:6px; }
.alco-semaforo-admin .alco-semaforo-danger { color:#a32222; border-color:#c7a1a1; }
.alco-semaforo-admin .alco-semaforo-scope-codes[hidden], .alco-semaforo-admin .alco-semaforo-scope-category[hidden] { display:none; }
.alco-semaforo-color { display:inline-block; border-radius:16px; padding:4px 10px; }
.alco-semaforo-color-verde { background:#d8efdf; color:#145a2f; }
.alco-semaforo-color-amarillo { background:#fff0c2; color:#705000; }
.alco-semaforo-color-rojo { background:#f8d9d9; color:#862626; }
.alco-semaforo-color-sin_datos { background:#e9edf0; color:#52606a; }
.alco-semaforo-admin .alco-semaforo-groups { min-width:340px; max-width:100%; }
.alco-semaforo-admin .alco-semaforo-choice { display:inline-block; margin:6px 18px 6px 0; }
.alco-semaforo-admin .alco-semaforo-question { background:#fff; border:1px solid #c9d4d8; border-radius:8px; padding:16px 18px; margin:16px 0; max-width:900px; }
.alco-semaforo-admin .alco-semaforo-editor-row { display:grid; grid-template-columns:minmax(160px, 2fr) minmax(120px, 1fr) auto auto; gap:8px; align-items:center; margin:8px 0; max-width:900px; }
.alco-semaforo-admin .alco-semaforo-editor-row input { width:100%; min-width:0; box-sizing:border-box; }
.alco-semaforo-admin .alco-semaforo-editor-row button { justify-self:start; }
.alco-semaforo-admin .alco-semaforo-editor-part { border-left:3px solid #a5d5da; padding:12px 0 12px 14px; margin:14px 0; }
.alco-semaforo-admin .alco-semaforo-editor-part > input { width:min(100%, 600px); box-sizing:border-box; }
.alco-semaforo-admin .alco-semaforo-option-builder > div > .button { margin-top:6px; }
.alco-semaforo-notice { background:#e8f5f6; color:#123b43; border:1px solid #a5d5da; border-radius:12px; padding:12px 16px; margin:10px 0; }
/* El aviso destacado conserva énfasis sin desplazar el resto del perfil. */
.alco-semaforo-notice.alco-semaforo-highlight { background:#e5f5f2; border:1px solid #16847c; padding:14px 16px; box-shadow:0 3px 10px #123b431a; }
.alco-semaforo-notice p { margin:5px 0 8px; }
.alco-semaforo-group-choice { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.alco-semaforo-single-group { font-weight:600; }
.alco-semaforo-group-choice label { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.alco-semaforo-group-choice select { max-width:100%; margin:0; padding:6px; }
.alco-semaforo-button, .alco-semaforo-controls button { display:inline-block; background:#087a76; color:white; border:0; border-radius:7px; padding:9px 16px; text-decoration:none; cursor:pointer; }
/* El recordatorio modal se muestra sobre el perfil; el aviso de arriba permanece al cerrarlo. */
.alco-semaforo-modal { width:min(440px, calc(100vw - 32px)); max-height:calc(100vh - 32px); box-sizing:border-box; border:1px solid #8cc9c4; border-radius:16px; padding:24px; background:#fff; color:#123b43; box-shadow:0 20px 60px #123b4340; }
.alco-semaforo-modal::backdrop { background:#092b3380; backdrop-filter:blur(5px); }
.alco-semaforo-modal h2 { margin:0 0 12px; font-size:1.35rem; line-height:1.25; }
.alco-semaforo-modal p { margin:0 0 22px; line-height:1.5; }
.alco-semaforo-modal-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.alco-semaforo-modal-close { border:1px solid #b7d1d0; border-radius:7px; padding:9px 16px; background:#eef5f5; color:#173c40; cursor:pointer; }
.alco-semaforo-inline-form[hidden] { display:none; }
.alco-semaforo-form { background:#fff; border:1px solid #c7d9da; border-radius:12px; padding:20px; margin:18px 0; color:#173c40; }
.alco-semaforo-form fieldset { border:0; padding:10px 0; margin:0; }
.alco-semaforo-form legend { font-weight:700; font-size:1.15em; }
.alco-semaforo-option { display:block; border:1px solid #d8e5e6; border-radius:8px; padding:12px; margin:8px 0; cursor:pointer; }
.alco-semaforo-option:has(input:checked) { background:#d5f1ec; border-color:#087a76; }
.alco-semaforo-controls { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; }
.alco-semaforo-controls .alco-semaforo-prev { background:#e5eeee; color:#173c40; }
.alco-semaforo-feedback { min-height:1.5em; }
@media (max-width:782px) { .alco-semaforo-admin .alco-semaforo-editor-row { grid-template-columns:1fr; } .alco-semaforo-admin .alco-semaforo-question { padding:14px; } }
@media (max-width:600px) { .alco-semaforo-form { padding:14px; } .alco-semaforo-controls { gap:8px; } }
