:root {
    --aijimy-primary: #245bb5;
    --aijimy-surface: #fff;
    --aijimy-text: #1d2939;
    --aijimy-muted: #667085;
    --aijimy-border: #d0d5dd;
    --aijimy-radius: .5rem;
    --aijimy-shadow: 0 12px 30px rgb(16 24 40 / 18%);
}
.aijimy-card, .aijimy-dialog { color: var(--aijimy-text); background: var(--aijimy-surface); border: 1px solid var(--aijimy-border); border-radius: var(--aijimy-radius); }
.aijimy-card { padding: 1.25rem; }
.aijimy-card__header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: 1rem; }
.aijimy-card__title { margin: 0; font-size: 1.125rem; }
.aijimy-icon { display: inline-block; width: 1em; height: 1em; vertical-align: middle; }
.aijimy-button { display: inline-flex; gap: .5rem; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--aijimy-radius); padding: .5rem .85rem; background: var(--aijimy-primary); color: white; cursor: pointer; font: inherit; }
.aijimy-button--secondary { color: var(--aijimy-text); background: var(--aijimy-surface); border-color: var(--aijimy-border); }
.aijimy-button--danger { background: #b42318; }
.aijimy-button:disabled { opacity: .6; cursor: not-allowed; }
.aijimy-button:focus-visible, .aijimy-tabs__tab:focus-visible, .aijimy-dialog__close:focus-visible { outline: 3px solid #84adff; outline-offset: 2px; }
.aijimy-badge { display: inline-flex; border-radius: 999px; padding: .2rem .55rem; font-size: .8rem; background: #f2f4f7; color: #344054; }
.aijimy-badge--info { background: #eff8ff; color: #175cd3; }
.aijimy-badge--success { background: #ecfdf3; color: #067647; }
.aijimy-badge--warning { background: #fffaeb; color: #b54708; }
.aijimy-badge--danger { background: #fef3f2; color: #b42318; }
.aijimy-table-container { overflow-x: auto; }
.aijimy-table { width: 100%; border-collapse: collapse; color: var(--aijimy-text); }
.aijimy-table th, .aijimy-table td { padding: .75rem; border-bottom: 1px solid var(--aijimy-border); text-align: left; }
.aijimy-empty { padding: 2rem; text-align: center; color: var(--aijimy-muted); }
.aijimy-empty__title { color: var(--aijimy-text); font-weight: 600; }
.aijimy-loading { display: flex; align-items: center; gap: .5rem; }
.aijimy-spinner { display: inline-block; width: 1em; height: 1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: aijimy-spin .8s linear infinite; }
@keyframes aijimy-spin { to { transform: rotate(360deg); } }
.aijimy-page-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.aijimy-page-header h1 { margin: 0; font-size: 1.6rem; }
.aijimy-page-header p { color: var(--aijimy-muted); }
.aijimy-page-header__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.aijimy-tabs { display: flex; overflow-x: auto; border-bottom: 1px solid var(--aijimy-border); }
.aijimy-tabs__tab { flex: 0 0 auto; border: 0; border-bottom: 2px solid transparent; padding: .75rem 1rem; background: transparent; color: var(--aijimy-muted); cursor: pointer; font: inherit; }
.aijimy-tabs__tab[aria-selected="true"] { color: var(--aijimy-primary); border-bottom-color: var(--aijimy-primary); }
.aijimy-dialog-overlay { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgb(16 24 40 / 55%); }
.aijimy-dialog { display: flex; flex-direction: column; width: min(100%, 40rem); max-height: calc(100dvh - 2rem); box-shadow: var(--aijimy-shadow); }
.aijimy-dialog__header, .aijimy-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; }
.aijimy-dialog__header { border-bottom: 1px solid var(--aijimy-border); }
.aijimy-dialog__header h2 { margin: 0; font-size: 1.2rem; }
.aijimy-dialog__close { border: 0; background: transparent; color: var(--aijimy-text); cursor: pointer; font-size: 1.5rem; }
.aijimy-dialog__body { padding: 1rem; overflow: auto; }
.aijimy-dialog__footer { justify-content: flex-end; border-top: 1px solid var(--aijimy-border); }
.aijimy-dialog-overlay--drawer { justify-content: flex-end; padding: 0; }
.aijimy-dialog-overlay--drawer .aijimy-dialog { height: 100dvh; max-height: 100dvh; border-radius: 0; }
.aijimy-input { box-sizing: border-box; width: 100%; padding: .55rem; border: 1px solid var(--aijimy-border); border-radius: var(--aijimy-radius); color: var(--aijimy-text); background: var(--aijimy-surface); }
@media (max-width: 768px) { .aijimy-page-header { align-items: flex-start; } .aijimy-dialog-overlay--drawer .aijimy-dialog { width: min(100%, 32rem); } }
@media (max-width: 360px) { .aijimy-dialog-overlay { padding: .5rem; } .aijimy-dialog-overlay--drawer { padding: 0; } .aijimy-button { padding: .5rem; } }
@media (prefers-reduced-motion: reduce) { .aijimy-spinner { animation-duration: 2s; } }
