.modulia-button{font-family:var(--modulia-font-family);font-size:var(--modulia-font-size-base);line-height:var(--modulia-line-height);min-height:var(--modulia-touch-target);min-width:var(--modulia-touch-target);padding:var(--modulia-space-2) var(--modulia-space-4);border-radius:var(--modulia-radius);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease}.modulia-button:focus-visible{outline:none;box-shadow:var(--modulia-focus-ring)}.modulia-button:disabled{cursor:not-allowed;opacity:.6}.modulia-button--primary{background-color:var(--modulia-color-primary);color:var(--modulia-color-on-primary)}.modulia-button--primary:not(:disabled):hover{background-color:var(--modulia-color-primary-hover)}.modulia-button--secondary{background-color:var(--modulia-color-surface);color:var(--modulia-color-text);border-color:var(--modulia-color-border)}.modulia-button--danger{background-color:var(--modulia-color-danger);color:var(--modulia-color-on-primary)}@media (prefers-reduced-motion:reduce){.modulia-button{transition:none}}.modulia-sheet-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:200;display:flex;align-items:flex-end;justify-content:stretch}.modulia-sheet{background:#ffffff;border-radius:16px 16px 0 0;padding:var(--modulia-space-3,12px) var(--modulia-space-4,16px) calc(var(--modulia-space-4, 16px) + env(safe-area-inset-bottom, 0px));width:100%;max-width:480px;margin:0 auto;max-height:80dvh;overflow-y:auto;box-shadow:0 -10px 30px rgba(0,0,0,.18)}.modulia-sheet:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:-2px}.modulia-sheet-agarre{width:40px;height:4px;border-radius:2px;background:var(--modulia-color-border,#cbd5e1);margin:0 auto var(--modulia-space-3,12px)}.modulia-sheet-titulo{margin:0 0 var(--modulia-space-2,8px);font-size:16px;font-family:var(--modulia-font-display)}@media (prefers-reduced-motion:reduce){.modulia-sheet{transition:none}}.modulia-avatar{width:32px;height:32px;border-radius:50%;background:var(--modulia-color-primary,#1d4ed8);color:#ffffff;display:flex;justify-content:center;flex-shrink:0}.modulia-avatar,.modulia-badge{align-items:center;font-size:13px;font-weight:600}.modulia-badge{display:inline-flex;gap:4px;padding:2px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.modulia-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.modulia-badge__icono{display:inline-flex;align-items:center}.modulia-badge--info{background:var(--modulia-status-info-bg);color:var(--modulia-status-info-fg);border-color:var(--modulia-status-info-border)}.modulia-badge--success{background:var(--modulia-status-success-bg);color:var(--modulia-status-success-fg);border-color:var(--modulia-status-success-border)}.modulia-badge--warning{background:var(--modulia-status-warning-bg);color:var(--modulia-status-warning-fg);border-color:var(--modulia-status-warning-border)}.modulia-badge--danger{background:var(--modulia-status-danger-bg);color:var(--modulia-status-danger-fg);border-color:var(--modulia-status-danger-border)}.modulia-badge--neutral{background:var(--modulia-status-neutral-bg);color:var(--modulia-status-neutral-fg);border-color:var(--modulia-status-neutral-border)}.modulia-page-header{background:var(--modulia-color-surface,#ffffff);border:1px solid var(--modulia-color-border,#cbd5e1);border-radius:12px;padding:var(--modulia-space-6,24px);margin-bottom:var(--modulia-space-6,24px)}.modulia-page-header__cuerpo{display:grid;gap:var(--modulia-space-1,4px);min-width:0}.modulia-page-header__principal{display:flex;align-items:center;justify-content:space-between;gap:var(--modulia-space-3,12px);flex-wrap:wrap}.modulia-page-header__titulo{font-family:var(--modulia-font-display);font-size:24px;font-weight:700;color:var(--modulia-color-text,#0f172a);margin:0;overflow-wrap:anywhere}.modulia-page-header__subtitulo{font-size:14px}.modulia-page-header__meta,.modulia-page-header__subtitulo{color:var(--modulia-color-text-muted,#475569);margin:var(--modulia-space-1,4px) 0 0 0}.modulia-page-header__meta{font-size:13px}.modulia-page-header__acciones{display:flex;gap:var(--modulia-space-2,8px);flex-wrap:wrap;margin-top:var(--modulia-space-3,12px)}@media (min-width:1024px){.modulia-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--modulia-space-4,16px)}.modulia-page-header__cuerpo{flex:1 1 auto}.modulia-page-header__acciones{margin-top:0;flex:none}}.modulia-page-header--brand{position:relative;overflow:hidden;background:var(--modulia-brand-night,#0f172a);border-color:var(--modulia-brand-night-soft,#1e293b)}.modulia-page-header--brand:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--modulia-brand-gradient)}.modulia-page-header--brand .modulia-page-header__titulo{color:var(--modulia-brand-on-night,#ffffff)}.modulia-page-header--brand .modulia-page-header__meta,.modulia-page-header--brand .modulia-page-header__subtitulo{color:var(--modulia-brand-on-night-muted,#94a3b8)}@media (max-width:768px){.modulia-page-header{padding:var(--modulia-space-4,16px);border-radius:10px}.modulia-page-header__titulo{font-size:20px}}.modulia-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--modulia-space-1,4px);padding:var(--modulia-space-4,16px);background:var(--modulia-color-surface,#ffffff);border:1px dashed var(--modulia-color-border,#cbd5e1);border-radius:10px}.modulia-empty__icono{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--modulia-color-surface-muted,#f1f5f9);color:var(--modulia-color-text-muted,#475569);flex:none}.modulia-empty__titulo{margin:0;font-size:16px;font-weight:600;color:var(--modulia-color-text,#0f172a)}.modulia-empty__descripcion{margin:0;font-size:14px;color:var(--modulia-color-text-muted,#475569);max-width:42ch}.modulia-empty__accion{margin-top:var(--modulia-space-2,8px)}.modulia-skeleton{display:inline-block;width:100%;background:var(--modulia-color-surface-muted,#f1f5f9);border-radius:6px;animation:modulia-skeleton-shimmer 1.5s ease-in-out infinite}.modulia-skeleton--texto{border-radius:4px}.modulia-skeleton--circulo{border-radius:50%}.modulia-skeleton--rectangulo{border-radius:10px}@keyframes modulia-skeleton-shimmer{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.modulia-skeleton{animation:none}}