/* 授权站自定义样式（在 Bootstrap 之上只做必要的补充） */

.navbar-brand img { vertical-align: -4px; }

.card-software .card-img-top {
    height: 150px;
    object-fit: cover;
    background: #eef1f5;
}

.package-card { transition: box-shadow .15s ease; }
.package-card:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }
.package-card.is-active { border-color: #0d6efd; box-shadow: 0 0 0 .2rem rgba(13,110,253,.15); }

.license-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.05rem;
    letter-spacing: .5px;
    user-select: all;
}

.table-actions form { display: inline-block; }
.table > :not(caption) > * > * { vertical-align: middle; }

.admin-sidebar { min-height: calc(100vh - 56px); }
.admin-sidebar .nav-link { border-radius: .375rem; color: #333; }
.admin-sidebar .nav-link.active { background: #0d6efd; color: #fff; }
.admin-sidebar .nav-link:hover:not(.active) { background: #eef1f5; }

.stat-card .stat-value { font-size: 1.6rem; font-weight: 600; line-height: 1.2; }
.stat-card .stat-label { color: #6c757d; font-size: .85rem; }

.code-box {
    background: #0d1117;
    color: #d1d5db;
    padding: 12px 14px;
    border-radius: .5rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .85rem;
    overflow-x: auto;
    white-space: pre;
}

.required::after { content: " *"; color: #dc3545; }

.mask-toggle { cursor: pointer; }
