:root{--color-primario: #0b5fff;--color-secundario: #1b2a4a;--color-fondo: #f5f7fb;--radius: 10px;--gap: 12px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-fondo);color:var(--color-secundario)}.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center}.brand-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--color-primario);color:#fff;flex-wrap:wrap}.brand-header__logo{height:36px;max-width:180px;object-fit:contain}.brand-header__name{font-weight:700;font-size:1.1rem}.brand-header__notice{flex-basis:100%;margin-top:8px;font-size:.8rem;background:#fff3cd;color:#664d03;padding:6px 10px;border-radius:var(--radius)}.config-warning{width:min(560px,92%);margin:12px auto 0;background:#f8d7da;color:#842029;padding:10px 12px;border-radius:var(--radius);font-size:.85rem}.card{width:min(420px,92%);margin:48px auto;background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 8px 30px #00000014}.card h1{margin-top:0;color:var(--color-secundario)}label{display:block;margin-top:var(--gap);font-size:.85rem;font-weight:600}input{width:100%;margin-top:4px;padding:10px 12px;border:1px solid #cbd2e0;border-radius:var(--radius);font-size:1rem}input:focus{outline:2px solid var(--color-primario);border-color:var(--color-primario)}.btn-primary{width:100%;margin-top:20px;padding:12px;border:none;border-radius:var(--radius);background:var(--color-primario);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-primario);cursor:pointer;font-size:.9rem;padding:0}.brand-header .btn-link{color:#fff;text-decoration:underline}.btn-link:disabled{color:#9aa4b8;cursor:not-allowed;text-decoration:none}.links{margin-top:16px;font-size:.9rem}.muted{color:#6b7280}.small{font-size:.8rem}.error{color:#b02a37;font-size:.9rem;margin-top:12px}.info{color:#0f5132;font-size:.9rem;margin-top:12px}.resend{margin-top:18px;display:flex;align-items:center;gap:10px}.resend__timer{font-size:.85rem;color:#6b7280}.screen--wide{align-items:stretch}.home{width:min(880px,92%);margin:32px auto;display:grid;gap:24px}.home__meta{list-style:none;padding:0;display:grid;gap:6px}.palette-preview{display:flex;gap:10px;margin-top:12px}.swatch{width:44px;height:44px;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.swatch--primario{background:var(--color-primario)}.swatch--secundario{background:var(--color-secundario)}.swatch--fondo{background:var(--color-fondo)}.action-list{list-style:none;padding:0;display:grid;gap:8px}.action-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 14px;border-radius:var(--radius);box-shadow:0 2px 8px #0000000d}.badge{font-size:.72rem;padding:2px 8px;border-radius:999px;text-transform:uppercase;font-weight:700}.badge--escritura{background:#fde2e4;color:#9d174d}.badge--lectura{background:#dbeafe;color:#1e40af}:root{--ui-radius: var(--radius, 10px);--ui-gap: var(--gap, 12px);--ui-border: #cbd2e0;--ui-border-strong: #9aa4b8;--ui-focus: var(--color-primario, #0b5fff);--ui-surface: #fff;--ui-muted: #6b7280;--ui-neutral-bg: #eef1f6;--ui-neutral-fg: #1b2a4a;--ui-success-bg: #d1e7dd;--ui-success-fg: #0f5132;--ui-warning-bg: #fff3cd;--ui-warning-fg: #664d03;--ui-danger-bg: #f8d7da;--ui-danger-fg: #842029;--ui-info-bg: #dbeafe;--ui-info-fg: #1e40af}.ui-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-btn:focus-visible,.ui-input:focus-visible,.ui-combobox__input:focus-visible,.ui-stepper__btn:focus-visible,.ui-modal__close:focus-visible,.ui-toast__close:focus-visible,.ui-table__row--clickable:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.ui-field{display:block;margin-top:var(--ui-gap)}.ui-field__label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.ui-field__required{color:var(--ui-danger-fg)}.ui-field__hint{margin:0 0 6px;font-size:.8rem;color:var(--ui-muted)}.ui-field__error{margin:6px 0 0;font-size:.82rem;color:var(--ui-danger-fg)}.ui-input{width:100%;padding:10px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);font-size:1rem;background:var(--ui-surface);color:var(--color-secundario)}.ui-input--sm{padding:6px 10px;font-size:.9rem}.ui-input--lg{padding:14px 16px;font-size:1.1rem}.ui-input:focus-visible{border-color:var(--ui-focus)}.ui-input--invalid{border-color:var(--ui-danger-fg)}.ui-textarea{min-height:88px;resize:vertical}.ui-input-wrap{position:relative;display:inline-flex;width:100%;align-items:center}.ui-input-wrap .ui-input{padding-left:36px}.ui-input__icon{position:absolute;display:inline-flex;color:var(--ui-muted);pointer-events:none}.ui-input__icon--start{left:10px}.ui-input__icon--end{right:10px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--ui-radius);font-weight:600;cursor:pointer;line-height:1.2}.ui-btn--sm{padding:6px 12px;font-size:.85rem}.ui-btn--md{padding:10px 16px;font-size:1rem}.ui-btn--lg{padding:14px 20px;font-size:1.05rem}.ui-btn--block{width:100%}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn--solid.ui-btn--primary{background:var(--color-primario);color:#fff}.ui-btn--solid.ui-btn--neutral{background:var(--ui-neutral-bg);color:var(--ui-neutral-fg)}.ui-btn--solid.ui-btn--success{background:var(--ui-success-fg);color:#fff}.ui-btn--solid.ui-btn--warning{background:var(--ui-warning-fg);color:#fff}.ui-btn--solid.ui-btn--danger{background:var(--ui-danger-fg);color:#fff}.ui-btn--solid.ui-btn--info{background:var(--ui-info-fg);color:#fff}.ui-btn--outline{background:transparent;border-color:var(--ui-border-strong);color:var(--color-secundario)}.ui-btn--outline.ui-btn--primary{border-color:var(--color-primario);color:var(--color-primario)}.ui-btn--outline.ui-btn--danger{border-color:var(--ui-danger-fg);color:var(--ui-danger-fg)}.ui-btn--ghost{background:transparent;color:var(--color-secundario)}.ui-btn--ghost:hover:not(:disabled){background:var(--ui-neutral-bg)}.ui-btn--link{background:none;border:none;color:var(--color-primario);padding:0;text-decoration:underline}.ui-btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-btn__spinner{animation-duration:2s}}.ui-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.ui-badge--soft.ui-badge--neutral{background:var(--ui-neutral-bg);color:var(--ui-neutral-fg)}.ui-badge--soft.ui-badge--primary{background:var(--ui-info-bg);color:var(--ui-info-fg)}.ui-badge--soft.ui-badge--success{background:var(--ui-success-bg);color:var(--ui-success-fg)}.ui-badge--soft.ui-badge--warning{background:var(--ui-warning-bg);color:var(--ui-warning-fg)}.ui-badge--soft.ui-badge--danger{background:var(--ui-danger-bg);color:var(--ui-danger-fg)}.ui-badge--soft.ui-badge--info{background:var(--ui-info-bg);color:var(--ui-info-fg)}.ui-badge--solid.ui-badge--neutral{background:var(--ui-neutral-fg);color:#fff}.ui-badge--solid.ui-badge--primary{background:var(--color-primario);color:#fff}.ui-badge--solid.ui-badge--success{background:var(--ui-success-fg);color:#fff}.ui-badge--solid.ui-badge--warning{background:var(--ui-warning-fg);color:#fff}.ui-badge--solid.ui-badge--danger{background:var(--ui-danger-fg);color:#fff}.ui-badge--solid.ui-badge--info{background:var(--ui-info-fg);color:#fff}.ui-progress{display:flex;align-items:center;gap:10px}.ui-progress__track{flex:1;height:10px;background:var(--ui-neutral-bg);border-radius:999px;overflow:hidden}.ui-progress__bar{height:100%;background:var(--color-primario);border-radius:999px;transition:width .2s ease}.ui-progress__track--indeterminate .ui-progress__bar{width:40%;animation:ui-indeterminate 1.2s ease-in-out infinite}@keyframes ui-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}@media (prefers-reduced-motion: reduce){.ui-progress__track--indeterminate .ui-progress__bar{animation:none;width:100%;opacity:.5}}.ui-progress__value{font-size:.82rem;color:var(--ui-muted);min-width:3ch;text-align:right}.ui-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.ui-modal{background:var(--ui-surface);border-radius:var(--ui-radius);box-shadow:0 20px 60px #00000040;width:100%;max-height:90vh;display:flex;flex-direction:column}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:640px}.ui-modal--lg{max-width:900px}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ui-border)}.ui-modal__title{margin:0;font-size:1.15rem}.ui-modal__close{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ui-muted);border-radius:var(--ui-radius);padding:2px 8px}.ui-modal__body{padding:20px;overflow:auto}.ui-modal__footer{padding:14px 20px;border-top:1px solid var(--ui-border);display:flex;justify-content:flex-end;gap:10px}.ui-stepper{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.ui-stepper__item{flex:1;min-width:140px}.ui-stepper__btn{width:100%;display:flex;align-items:center;gap:10px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:10px 12px;cursor:pointer;text-align:left;color:var(--color-secundario)}.ui-stepper__btn:disabled{cursor:not-allowed;color:var(--ui-muted);background:var(--ui-neutral-bg)}.ui-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ui-neutral-bg);color:var(--ui-neutral-fg);font-weight:700;font-size:.85rem;flex-shrink:0}.ui-stepper__item--current .ui-stepper__btn{border-color:var(--color-primario)}.ui-stepper__item--current .ui-stepper__index{background:var(--color-primario);color:#fff}.ui-stepper__item--done .ui-stepper__index{background:var(--ui-success-fg);color:#fff}.ui-stepper__label{font-weight:600;font-size:.9rem}.ui-table-wrap{overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;background:var(--ui-surface);border-radius:var(--ui-radius);overflow:hidden}.ui-table__caption{text-align:left;padding:8px 4px;font-size:.9rem;color:var(--ui-muted)}.ui-table th,.ui-table td{padding:10px 12px;border-bottom:1px solid var(--ui-border);font-size:.92rem}.ui-table th{background:var(--ui-neutral-bg);color:var(--ui-neutral-fg);font-weight:700}.ui-table__row--clickable{cursor:pointer}.ui-table__row--clickable:hover{background:var(--ui-neutral-bg)}.ui-table__status{text-align:center;color:var(--ui-muted);padding:18px}.ui-combobox{position:relative;width:100%}.ui-combobox__input{width:100%}.ui-combobox--invalid .ui-combobox__input{border-color:var(--ui-danger-fg)}.ui-combobox__list{position:absolute;z-index:900;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 8px 24px #0000001f;max-height:260px;overflow-y:auto}.ui-combobox__option{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.92rem}.ui-combobox__option--active{background:var(--ui-info-bg);color:var(--ui-info-fg)}.ui-combobox__option--selected{font-weight:700}.ui-combobox__option--disabled{color:var(--ui-muted);cursor:not-allowed}.ui-combobox__status{padding:8px 10px;color:var(--ui-muted);font-size:.9rem}.ui-toast-viewport{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:1100;max-width:min(360px,92vw)}.ui-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--ui-radius);box-shadow:0 8px 24px #0000002e;border-left:4px solid transparent;background:var(--ui-surface);color:var(--color-secundario)}.ui-toast--neutral{border-left-color:var(--ui-neutral-fg)}.ui-toast--primary{border-left-color:var(--color-primario)}.ui-toast--success{border-left-color:var(--ui-success-fg)}.ui-toast--warning{border-left-color:var(--ui-warning-fg)}.ui-toast--danger{border-left-color:var(--ui-danger-fg)}.ui-toast--info{border-left-color:var(--ui-info-fg)}.ui-toast__content{flex:1}.ui-toast__title{margin:0 0 2px;font-weight:700;font-size:.9rem}.ui-toast__message{margin:0;font-size:.88rem}.ui-toast__close{background:none;border:none;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--ui-muted);border-radius:6px;padding:0 6px}.ui-form__fieldset{border:none;margin:0;padding:0;min-width:0}.ui-form__error{margin:0 0 var(--ui-gap);padding:10px 12px;border-radius:var(--ui-radius);background:var(--ui-danger-bg);color:var(--ui-danger-fg);font-size:.9rem}.ui-form__actions{display:flex;gap:10px;margin-top:20px}.ui-form__actions--start{justify-content:flex-start}.ui-form__actions--center{justify-content:center}.ui-form__actions--end{justify-content:flex-end}.ui-form__actions--space-between{justify-content:space-between}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.app-nav__role{display:inline-flex;align-items:center;gap:8px;font-weight:700}.app-main{flex:1;width:min(1040px,94%);margin:24px auto}.workspace__title{display:inline-flex;align-items:center;gap:10px}.workspace-fallback{display:flex;align-items:center;gap:10px;color:#6b7280;padding:32px 0}.workspace-fallback__spinner{animation:ui-spin .9s linear infinite}.workspace-error{padding:24px;border:1px solid #fca5a5;border-radius:8px;background:#fef2f2;color:#991b1b}.small{font-size:.82rem}@media (prefers-reduced-motion: reduce){.workspace-fallback__spinner{animation-duration:2s}}.catalogs__layout{display:grid;grid-template-columns:220px 1fr;gap:20px;margin-top:12px}@media (max-width: 720px){.catalogs__layout{grid-template-columns:1fr}}.catalogs__tabs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.catalogs__tab{width:100%;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit}.catalogs__tab:hover{background:#f3f4f6}.catalogs__tab--active{background:#eef2ff;border-color:#c7d2fe;font-weight:600}.catalog-module__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.catalog-module__actions{display:inline-flex;gap:8px}.ui-datetime{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ui-datetime>.ui-input{flex:0 1 auto}.ui-form__success{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem}
