:root { --ink: #172033; --muted: #68758a; --brand: #5b55e7; --line: #e7eaf0; --soft: #f5f7fb; }
body { background: var(--soft); color: var(--ink); font-size: .875rem; min-height: 100vh; }
.auth-shell { background: radial-gradient(circle at top left, #786fff, #171d38 62%); }
.glass-card { background: rgba(255,255,255,.96); border: 0; box-shadow: 0 1.5rem 4rem rgba(10,20,50,.25); }
.brand-mark { align-items: center; background: var(--brand); border-radius: .65rem; color: white; display: inline-flex; font-size: .8rem; font-weight: 800; height: 2.1rem; justify-content: center; width: 2.1rem; }
.navbar-brand { font-size: 1rem; }
.hero-copy { color: rgba(255,255,255,.75); max-width: 32rem; }
.navbar { border-bottom: 1px solid var(--line); box-shadow: none; }
.dashboard-shell { padding: 1rem; }
.dashboard-content { min-width: 0; }
.sidebar-card, .content-card, .metric-card { border: 1px solid var(--line); box-shadow: 0 .25rem 1rem rgba(28,39,63,.04); }
.sidebar-card { position: sticky; top: 1rem; }
.sidebar-label { color: #8a95a7; font-size: .68rem; font-weight: 800; letter-spacing: .08em; margin: .45rem .65rem; text-transform: uppercase; }
.sidebar-link { align-items: center; background: transparent; border: 0; border-radius: .55rem; color: #526077; display: flex; font-size: .82rem; font-weight: 700; justify-content: space-between; padding: .65rem .7rem; text-align: left; }
.sidebar-link.active { background: #eeedff; color: #433dcc; }
.page-heading { margin-bottom: 1rem; }
.page-heading h2 { font-size: 1.35rem; }
.page-heading p { font-size: .82rem; }
.section-header { padding: 1rem; }
.refund-order-search { width: 15rem; }
.compact-card { padding: 1.25rem; }
.group-panel { position: sticky; top: 1rem; }
.group-button { background: transparent; border: 1px solid transparent; border-radius: .55rem; color: #526077; font-size: .82rem; text-align: left; transition: background .15s, border-color .15s; width: 100%; }
.group-button:hover { background: #f5f6fa; }
.group-button.active { background: #eeedff; border-color: #d9d6ff; color: #433dcc; }
.group-selection-dot { background: #b7bfcc; border-radius: 50%; height: .5rem; margin-right: .55rem; width: .5rem; }
.group-button.active .group-selection-dot { background: var(--brand); box-shadow: 0 0 0 .2rem rgba(91,85,231,.14); }
.group-telegram-name, .group-id { display: block; margin-left: 1.05rem; }
.group-telegram-name { color: var(--muted); margin-top: .2rem; }
.group-id { color: #929caf; font-size: .7rem; }
.status-dot { background: #20b26b; border-radius: 50%; display: inline-block; height: .55rem; width: .55rem; }
.empty-icon { background: #eeedff; border-radius: .8rem; color: var(--brand); display: grid; font-size: 1.35rem; height: 3.5rem; margin: auto; place-items: center; width: 3.5rem; }
.form-control:focus, .form-select:focus { border-color: #8f89ff; box-shadow: 0 0 0 .25rem rgba(99,91,255,.13); }
.btn-primary { background: var(--brand); border-color: var(--brand); }
.provider-card { background: #fafbfe; border: 1px solid var(--line); border-radius: .7rem; }
.provider-logo { background: #eeedff; border-radius: .6rem; color: var(--brand); display: grid; font-size: .75rem; font-weight: 800; height: 2.25rem; place-items: center; width: 2.25rem; }
.provider-card.is-disabled { opacity: .65; }
.provider-empty { border: 2px dashed #dfe3ed; border-radius: 1rem; }
.refund-form { max-width: 34rem; }
.setting-group { background: #f8f9fc; border: 1px solid var(--line); border-radius: .7rem; padding: .9rem 1rem; }
.metric-label { color: #6c7890; display: block; font-size: .7rem; font-weight: 700; margin-bottom: .4rem; text-transform: uppercase; }
.metric-value { color: #d43f5e; display: block; font-size: 1.35rem; }
.refund-table th { background: #f8f9fc; color: #6c7890; font-size: .75rem; letter-spacing: .04em; padding: .9rem 1rem; text-transform: uppercase; white-space: nowrap; }
.refund-table td { border-color: #edf0f5; padding: 1rem; white-space: nowrap; }
.refund-status { border-radius: 2rem; display: inline-block; font-size: .75rem; font-weight: 700; padding: .35rem .65rem; }
@media (max-width: 1199.98px) { .group-panel { position: static; } }
@media (max-width: 991.98px) { .sidebar-card { position: static; } .sidebar-card nav { grid-template-columns: repeat(3, 1fr); } .sidebar-link { justify-content: center; text-align: center; } .sidebar-link .badge { display: none; } }
