/* Admin CRM shared tokens & polish */
:root {
    --plan-trial: #FF9A3C;
    --plan-foundation: #60a5fa;
    --plan-reinforced: #a78bfa;
    --plan-elite: #fbbf24;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --font-xs: 11px;
    --font-sm: 12px;
    --font-md: 13px;
    --font-lg: 15px;
    --touch-min: 40px;
}

.plan-badge.plan-trial { background: rgba(255,154,60,.12); color: var(--plan-trial); }
.plan-badge.plan-foundation { background: rgba(96,165,250,.12); color: var(--plan-foundation); }
.plan-badge.plan-reinforced { background: rgba(167,139,250,.12); color: var(--plan-reinforced); }
.plan-badge.plan-elite { background: rgba(251,191,36,.12); color: var(--plan-elite); }

.crm-panel {
    background: var(--surface, #151A21);
    border: 1px solid var(--border, #232A32);
    border-radius: var(--radius, 10px);
    padding: var(--space-4);
}

.crm-panel-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ms-link-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary, #94a3b8);
    margin-bottom: 4px;
    display: block;
}

.ms-link-subject {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    word-break: break-all;
}

.company-avatar, .user-avatar-lg {
    flex-shrink: 0;
}

.expiry-indicator-due {
    outline: 1px solid rgba(255,154,60,.45);
}

.expiry-indicator-overdue {
    outline: 1px solid rgba(248,113,113,.45);
}

/* Accent button — teal gradient with dark text; high contrast on both dark and light themes */
.btn-accent {
    background: linear-gradient(135deg, #12DAD1, #5EEAE4) !important;
    color: #0E1116 !important;
    border: none !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(18, 218, 209, .30);
    transition: all .18s ease;
}
.btn-accent:hover {
    filter: brightness(1.08);
    box-shadow: 0 4px 14px rgba(18, 218, 209, .45);
    transform: translateY(-1px);
    color: #0E1116 !important;
}

/* Glass secondary button — visible on dark and light backgrounds */
.btn-glass {
    background: rgba(18, 218, 209, .10) !important;
    border: 1px solid rgba(18, 218, 209, .40) !important;
    color: #0FB9B1 !important;
    font-weight: 600 !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all .18s ease;
}
.btn-glass:hover {
    background: rgba(18, 218, 209, .22) !important;
    border-color: #12DAD1 !important;
    color: #12DAD1 !important;
}

/* Touch-friendly controls across admin fragments */
.admin-touch .form-control,
.admin-touch .form-select,
.admin-touch .btn {
    min-height: var(--touch-min);
}

@media (max-width: 991.98px) {
    .stat-grid { grid-template-columns: 1fr 1fr !important; }
    .nav-link-item {
        min-height: 44px;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .dropdown-menu {
        max-width: calc(100vw - 24px);
    }
}

@media (max-width: 768px) {
    .stat-grid { grid-template-columns: 1fr 1fr !important; }
    .crm-panel { padding: 12px; }
    /* Stack dense admin tables into readable blocks when fragments use table-responsive alone */
    .table-responsive {
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 576px) {
    .stat-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
    .stat-card .stat-value { font-size: 16px !important; }
    
    .admin-touch .form-control,
    .admin-touch .form-select,
    .admin-touch .btn {
        min-height: 44px;
    }
}
