.auth form .auth-form-btn { width: 100%; }
.rex-brand {
    font-weight: 700;
    font-size: 1.15rem;
    color: #464dee;
    letter-spacing: 0;
}
.brand-logo-mini.rex-brand { font-size: 1rem; }
.page-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin: 1.25rem 0 1rem;
}
.page-head h1, .page-head h2 { margin: 0 0 .25rem; font-size: 1.35rem; }
.lede, .meta { color: #6c7293; }
.lede { margin: 0; }
.content-wrapper > .card,
.content-wrapper .charts > .card,
.content-wrapper .grid-3 > .card,
.level { margin-bottom: 1.25rem; }
.content-wrapper > .card,
.rex-drawer {
    background: #fff;
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .02);
}
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.stat strong { display: block; font-size: 1.6rem; color: #212529; }
.stat span { color: #6c7293; font-size: .875rem; }
.charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.charts .card h2, .level h2, .content-wrapper .card h2 { font-size: 1.05rem; margin-top: 0; }
.content-wrapper table { width: 100%; border-collapse: collapse; }
.content-wrapper th, .content-wrapper td {
    text-align: left;
    padding: .75rem .5rem;
    border-bottom: 1px solid #ebedf2;
    vertical-align: top;
}
.content-wrapper th { color: #6c7293; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.filters, .actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.filters { margin-bottom: 1rem; }
.filters input, .filters select { width: auto; min-width: 180px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-grid .full { grid-column: 1 / -1; }
.field { margin-bottom: .75rem; }
.field label { display: block; font-weight: 600; margin-bottom: .35rem; font-size: .875rem; }
.content-wrapper .field input,
.content-wrapper .field select,
.content-wrapper .field textarea,
.content-wrapper .filters input,
.content-wrapper .filters select,
.rex-drawer input,
.rex-drawer select,
.rex-drawer textarea {
    width: 100%;
    border: 1px solid #ebedf2;
    border-radius: 4px;
    padding: .56rem .75rem;
    background: #fff;
    color: #212529;
    font: inherit;
}
.content-wrapper .btn,
.rex-drawer .btn {
    background: #464dee;
    border: 1px solid #464dee;
    color: #fff;
}
.content-wrapper a.btn.ghost,
.content-wrapper button.btn.ghost,
.rex-drawer .btn.ghost {
    background: #fff;
    color: #464dee;
}
.content-wrapper .btn.small,
.rex-drawer .btn.small { padding: .25rem .6rem; font-size: .8125rem; }
.badge { display: inline-block; border-radius: 999px; padding: .2rem .55rem; font-size: .75rem; font-weight: 700; background: #f3f3f3; color: #212529; }
.badge.ok { background: #d4edda; color: #155724; }
.badge.run { background: #e7e7ff; color: #464dee; }
.badge.wait { background: #f2f4f7; color: #667085; }
.badge.skip { background: #fff3cd; color: #856404; }
.req { color: #dc3545; }
.level { border-left: 4px solid #464dee; padding-left: 1rem; }
.step { border: 1px solid #ebedf2; border-radius: 4px; padding: 1rem; margin-bottom: .75rem; background: #fff; }
.step h3 { margin: 0 0 .35rem; font-size: 1rem; }
.overlay { position: fixed; inset: 0; background: rgba(16, 16, 40, .45); display: none; z-index: 1040; }
.overlay.open { display: block; }
.rex-drawer {
    position: fixed; top: 0; right: 0; height: 100%; width: min(520px, 100%);
    z-index: 1050; transform: translateX(100%); transition: transform .2s ease; overflow: auto;
}
.rex-drawer.open { transform: none; }
.suggest { border: 1px solid #ebedf2; border-radius: 4px; margin-top: 4px; display: none; max-height: 220px; overflow: auto; background: #fff; }
.suggest button { display: block; width: 100%; text-align: left; background: #fff; border: 0; border-bottom: 1px solid #ebedf2; padding: .5rem .75rem; cursor: pointer; color: #212529; }
.toggle-card {
    display: flex; justify-content: space-between; gap: 16px; align-items: center;
    border: 1px solid #ebedf2; border-radius: 4px; padding: 14px 16px; margin-bottom: 16px; background: #fff;
}
.toggle-card p { margin: 4px 0 0; color: #6c7293; font-size: 13px; font-weight: 500; }
.toggle-card strong { font-size: 14px; }
.switch { position: relative; width: 46px; height: 26px; flex: 0 0 auto; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch span { position: absolute; inset: 0; background: #e5e7eb; border-radius: 999px; cursor: pointer; }
.switch span:before {
    content: ""; position: absolute; height: 20px; width: 20px; left: 3px; top: 3px;
    background: #fff; border-radius: 999px; transition: .2s;
}
.switch input:checked + span { background: #464dee; }
.switch input:checked + span:before { transform: translateX(20px); }
.price-input { display: flex; align-items: center; gap: 8px; }
.price-input span { font-weight: 700; color: #6c7293; }
.price-input input { flex: 1; }
.pack-row { border: 1px solid #ebedf2; border-radius: 4px; padding: 12px; margin-bottom: 10px; }
.pack-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
hr.sep { border: 0; border-top: 1px solid #ebedf2; margin: 16px 0; }
.section-title { margin: 18px 0 10px; font-size: 16px; }
@media (max-width: 900px) {
    .grid-3, .form-grid, .charts, .page-head { grid-template-columns: 1fr; display: block; }
    .page-head { display: block; }
}
