/* =============================================================================
   profile.css — bot profile page + platform page
   ============================================================================= */

.page-profile { background: var(--bg-base); }

.profile-main  { padding: 2rem 1rem; }
.profile-container {
    max-width:  960px;
    margin:     0 auto;
    display:    flex;
    flex-direction: column;
    gap:        1.5rem;
}

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.profile-hero {
    background:     var(--bg-surface);
    border:         1px solid var(--border);
    border-radius:  var(--radius-xl);
    padding:        2rem;
    display:        flex;
    align-items:    flex-start;
    gap:            1.5rem;
    flex-wrap:      wrap;
}
.profile-avatar {
    width:          80px; height: 80px;
    border-radius:  50%;
    background:     var(--avatar-bot);
    display:        flex; align-items: center; justify-content: center;
    font-size:      2rem; font-weight: 700; color: #fff;
    flex-shrink:    0;
}
.profile-hero-info  { flex: 1; min-width: 200px; }
.profile-name       { font-size: 1.75rem; font-weight: 700; }
.profile-slug       { color: var(--text-muted); font-size: 0.9rem; margin-top: .15rem; }
.profile-bio        { color: var(--text-secondary); margin-top: .6rem; line-height: 1.6; }
.profile-status     {
    display: flex; align-items: center; gap: .5rem;
    font-size: .8rem; color: var(--text-muted); margin-top: .6rem;
}
.profile-model      { font-family: var(--font-mono); font-size: .75rem; }
.profile-stats      { display: flex; gap: 1rem; flex-shrink: 0; }
.stat-card {
    background:     var(--bg-elevated);
    border:         1px solid var(--border-subtle);
    border-radius:  var(--radius-lg);
    padding:        1rem 1.25rem;
    text-align:     center;
    min-width:      110px;
}
.stat-value { font-size: 1.4rem; font-weight: 700; color: var(--accent-hover); }
.stat-label { font-size: .75rem; color: var(--text-muted); margin-top: .2rem; }

/* ── Grid ─────────────────────────────────────────────────────────────────── */
.profile-grid {
    display:        grid;
    grid-template-columns: 1fr 1fr;
    gap:            1.25rem;
}

.profile-section {
    background:     var(--bg-surface);
    border:         1px solid var(--border);
    border-radius:  var(--radius-xl);
    padding:        1.5rem;
    display:        flex;
    flex-direction: column;
    gap:            1rem;
}
.profile-section-sm { grid-column: span 1; }
.donate-cta         { align-items: flex-start; }

.section-title { font-size: 1rem; font-weight: 700; color: var(--text-primary); }
.section-desc  { font-size: .875rem; color: var(--text-secondary); line-height: 1.55; }

/* ── Donate ───────────────────────────────────────────────────────────────── */
.donate-options { display: flex; flex-direction: column; gap: .75rem; }
.donate-amounts {
    display:        flex;
    flex-wrap:      wrap;
    gap:            .5rem;
    align-items:    center;
}
.donate-amount-btn {
    background:     var(--bg-elevated);
    border:         1px solid var(--border);
    border-radius:  var(--radius-md);
    color:          var(--text-secondary);
    padding:        .45rem .9rem;
    font-size:      .9rem;
    font-weight:    600;
    cursor:         pointer;
    transition:     all .15s;
}
.donate-amount-btn:hover,
.donate-amount-btn.selected {
    background:  var(--accent-dim);
    border-color: var(--accent);
    color:        var(--accent-hover);
}
.donate-custom-wrap {
    display:        flex;
    align-items:    center;
    background:     var(--bg-input);
    border:         1px solid var(--border);
    border-radius:  var(--radius-md);
    padding:        0 .5rem;
}
.donate-custom-prefix { color: var(--text-muted); font-size: .9rem; }
.donate-custom-input {
    background:     transparent;
    border:         none;
    color:          var(--text-primary);
    width:          80px;
    padding:        .45rem .35rem;
    font-size:      .9rem;
}
.donate-custom-input:focus { outline: none; }
.donate-type-toggle { display: flex; gap: .4rem; }
.donate-type-btn {
    flex:           1;
    background:     var(--bg-elevated);
    border:         1px solid var(--border);
    border-radius:  var(--radius-md);
    color:          var(--text-secondary);
    padding:        .4rem;
    font-size:      .85rem;
    cursor:         pointer;
    text-align:     center;
    transition:     all .15s;
}
.donate-type-btn.active {
    background:     var(--accent-dim);
    border-color:   var(--accent);
    color:          var(--accent-hover);
    font-weight:    600;
}
.donate-submit  { margin-top: .25rem; }
.donate-note    { font-size: .75rem; color: var(--text-muted); text-align: center; }

/* ── Memory list ──────────────────────────────────────────────────────────── */
.memory-list    { display: flex; flex-direction: column; gap: .75rem; }
.memory-item    { background: var(--bg-elevated); border-radius: var(--radius-md); padding: .75rem 1rem; }
.memory-key     { font-size: .72rem; font-weight: 700; color: var(--accent-hover);
                  text-transform: uppercase; letter-spacing: .05em; display: block; margin-bottom: .3rem; }
.memory-content { font-size: .875rem; color: var(--text-secondary); line-height: 1.5; }

/* ── Tables ───────────────────────────────────────────────────────────────── */
.data-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.data-table th {
    text-align: left; padding: .5rem .75rem;
    color: var(--text-muted); font-size: .75rem;
    text-transform: uppercase; letter-spacing: .04em;
    border-bottom: 1px solid var(--border);
}
.data-table td {
    padding: .55rem .75rem;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
}
.data-table tr:last-child td { border-bottom: none; }

/* ── Donation list ────────────────────────────────────────────────────────── */
.donation-list  { display: flex; flex-direction: column; gap: .5rem; }
.donation-item  {
    display:        flex;
    align-items:    center;
    gap:            .75rem;
    font-size:      .875rem;
    padding:        .45rem .5rem;
    border-radius:  var(--radius-sm);
}
.donation-item:hover { background: var(--bg-elevated); }
.donation-donor  { flex: 1; color: var(--text-primary); font-weight: 500; }
.donation-amount { color: var(--green); font-weight: 600; white-space: nowrap; }
.donation-date   { color: var(--text-muted); font-size: .78rem; white-space: nowrap; }
.badge-monthly {
    display:        inline-block;
    background:     rgba(99,102,241,.2);
    color:          var(--accent-hover);
    border-radius:  var(--radius-sm);
    padding:        1px 5px;
    font-size:      .7rem;
    font-weight:    600;
    margin-left:    4px;
}

/* ── External link ────────────────────────────────────────────────────────── */
.external-link {
    color:          var(--accent-hover);
    font-family:    var(--font-mono);
    font-size:      .9rem;
}

/* ── Platform page ────────────────────────────────────────────────────────── */
.platform-main  { padding: 2rem 1rem; }
.platform-container {
    max-width: 800px; margin: 0 auto;
    display: flex; flex-direction: column; gap: 1.5rem;
}
.platform-hero {
    background: var(--bg-surface); border: 1px solid var(--border);
    border-radius: var(--radius-xl); padding: 2rem;
    display: flex; align-items: center; gap: 2rem; flex-wrap: wrap;
}
.platform-title   { font-size: 1.5rem; font-weight: 700; }
.platform-desc    { color: var(--text-secondary); margin-top: .4rem; }
.treasury-stats   { display: flex; gap: 1rem; margin-left: auto; flex-shrink: 0; }

.tx-section { background: var(--bg-surface); border: 1px solid var(--border);
              border-radius: var(--radius-xl); padding: 1.5rem; }
.tx-title   { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
.tx-list    { display: flex; flex-direction: column; gap: .4rem; }
.tx-item {
    display:        flex;
    align-items:    center;
    gap:            .75rem;
    padding:        .5rem .6rem;
    border-radius:  var(--radius-sm);
    font-size:      .875rem;
}
.tx-item:hover   { background: var(--bg-elevated); }
.tx-type         { font-size: .72rem; font-weight: 700; text-transform: uppercase;
                   letter-spacing: .04em; width: 110px; flex-shrink: 0; }
.tx-type.donation      { color: var(--green); }
.tx-type.transfer      { color: var(--accent-hover); }
.tx-type.bot_creation  { color: var(--purple); }
.tx-type.refund        { color: var(--red); }
.tx-note   { flex: 1; color: var(--text-secondary); }
.tx-amount { font-weight: 600; white-space: nowrap; }
.tx-amount.credit { color: var(--green); }
.tx-amount.debit  { color: var(--red); }
.tx-balance { color: var(--text-muted); font-size: .78rem;
              font-variant-numeric: tabular-nums; white-space: nowrap; }
.tx-date    { color: var(--text-muted); font-size: .78rem; white-space: nowrap; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 680px) {
    .profile-grid        { grid-template-columns: 1fr; }
    .profile-hero        { flex-direction: column; }
    .profile-stats       { width: 100%; justify-content: space-between; }
}
