/* AIM PAPYR — papyr.css · FUENTE CANÓNICA de tokens de diseño.
   Regla: ningún color/radio/sombra nuevo fuera de aquí.
   El :root inline del index debe ser idéntico (lo vigila tools/design_lint.py). */
:root{--paper:#EAECEF; --card:#FFFFFF; --ink:#0F1319; --soft:#4C566A; --faint:#68727F; --muted:#68727F;
    --line:#DBDFE7; --line-2:#C6CCD7;
    --accent:#2246E0; --accent-d:#1A37B8; --accent-wash:#E8ECFD;
    --ai:#2246E0; --ai-wash:#E8ECFD;
    --green:#0E9F6E; --red:#DA2C38; --err:#DA2C38;
    /* Estado semántico — color con significado, AA sobre card. Mismos hex ya en uso. */
    --chip:#EEF1F6;
    --dur-f:120ms; --dur-m:240ms; --dur-l:480ms;
    --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
    --ok:#0E9F6E; --ok-w:#F0FAF4; --ok-cell:#EAF7F0; --ok-line:#BBE5CB; --ok-ink:#177245;
    --warn:#B45309; --warn-w:#FFF7EC; --warn-chip:#FFF4E5; --warn-line:#F2D9AE; --warn-ink:#8A5A12;
    --red-w:#FDECEC; --red-ink:#B42318;
    --shadow:0 1px 2px rgba(15,19,25,.04), 0 3px 8px rgba(15,19,25,.04), 0 14px 30px rgba(15,19,25,.07);
    --ink-btn:#141922; --ink-btn-h:#232B38;
    --r:12px;
    --accent-2:#6C4DF0; --grad:linear-gradient(135deg,#2246E0 0%,#6C4DF0 100%);
    /* Familias — color con significado, AA sobre card y wash */
    --f-crear:#44700B;  --f-crear-w:#F0F6E3;
    --f-org:#2246E0;    --f-org-w:#E8ECFD;
    --f-opt:#0B7A55;    --f-opt-w:#E4F5EE;
    --f-conv:#B03508;   --f-conv-w:#FDECE3;
    --f-img:#B31E86;    --f-img-w:#F9E6F4;
    --f-video:#0E7490;  --f-video-w:#E2F1F5;
    --f-ia:#5F3FE4;     --f-ia-w:#EFEAFD;
    --f-datos:#0E7490;  --f-datos-w:#E2F1F5;
    --f-prot:#9F1239;   --f-prot-w:#FBE7ED;
    --f-edit:#7E5C00;   --f-edit-w:#FBF3DA;
    --gold:#C08A2E;
    --shadow-lift:0 2px 4px rgba(15,19,25,.05), 0 10px 22px rgba(15,19,25,.09), 0 26px 52px rgba(34,70,224,.10);;--wash:#F4F6FE;--accent2:#6C4DF0}
