/* gemini2api 管理后台公共样式 */
.tab-btn { transition: all .2s ease; }
.hidden-panel { display: none; }
.badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
}
pre { white-space: pre-wrap; word-break: break-all; }

/* 全局 Toast 通知 */
#toastEl {
    animation: toastIn .3s ease;
}
@keyframes toastIn {
    from { transform: translateY(-12px); }
    to { transform: translateY(0); }
}

/* 按钮内联 spinner */
@keyframes btnSpin {
    to { transform: rotate(360deg); }
}
.btn-spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 6px;
    animation: btnSpin .8s linear infinite;
}

/* 模态框淡入 */
.modal-mask { animation: fadeIn .2s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* 表格行操作按钮悬停反馈 */
td button { transition: all .15s ease; }
td button:hover { transform: translateY(-1px); }
