/* =========================================
   DDNS PANEL — GLOBAL UI SYSTEM (FINAL)
========================================= */

/* BASE SCALE */
html {
    font-size: clamp(12px, 0.9vw, 14px);
}

body {
    background: #eef2f7;
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
    color: #0f172a;
    overflow-x: hidden;
}

/* CONTAINER */
.container-xl {
    max-width: 1280px;
    margin-top: 20px;
    margin-bottom: 30px;
}

/* HEADER */
.header-row {
    margin-bottom: 12px !important;
}

.logo-box img {
    max-width: 90px;
}

/* CARDS (Stripe-style) */
.card,
.card-summary,
.card-table {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    padding: 16px;
}

.card-summary {
    padding: 1.2rem;
    text-align: left;              /* ⭐ LEFT ALIGN */

    display: flex;
    flex-direction: column;
    justify-content: space-between; /* ⭐ TOP + BOTTOM BALANCE */

    height: 100%;
    width: 100%;
}

/* Title */
.card-summary h5 {
    font-size: 0.9rem;
    font-weight: 600;
    color: #6b7280;   /* subtle grey */
    margin-bottom: 6px;
}

/* Main number */
.card-summary h2 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 4px;
}

/* Sub text */
.card-summary .text-muted {
    font-size: 0.8rem;
    margin-top: 4px;
}

/* FORCE 3-CARD LAYOUT STABILITY */
@media (min-width: 992px) {
    .row-cols-lg-3 {
        flex-wrap: nowrap;
    }

    .row-cols-lg-3 > .col {
        flex: 1 1 0;
        min-width: 0;
    }
}

.row-cols-lg-3 > .col {
    display: flex;
    min-width: 0;
}

.row-cols-lg-3 {
    flex-wrap: nowrap;
}

/* TABLE */
.table {
    font-size: 0.9rem;
}

table td {
    padding: 8px;
    vertical-align: middle;
}

.badge {
    font-size: 0.7rem;
    padding: 4px 6px;
}

/* SCROLL AREAS */
.table-responsive,
.scroll-card,
.domains-scroll {
    max-height: 420px;
    overflow-y: auto;
    overflow-x: auto;
}

.scroll-card {
    overflow-y: auto;
    overflow-x: hidden;
}

.link-sm {
    font-size: 0.75rem;
}

/* Sticky header */
.table thead th,
.domains-scroll thead th {
    position: sticky;
    top: 0;
    background: #f8f9fa;
    z-index: 2;
}

/* Scrollbar */
.table-responsive::-webkit-scrollbar,
.scroll-card::-webkit-scrollbar {
    width: 5px;
}

.table-responsive::-webkit-scrollbar-thumb,
.scroll-card::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

/* TIMELINE */
.timeline-scroll {
    max-height: 280px;
    overflow-y: auto;
}

.timeline-card {
    padding: 10px 12px;
    border-radius: 8px;
}

.timeline-meta {
    font-size: 0.85rem;
    color: #6b7280;
}

/* BUTTONS */
.btn {
    padding: 4px 10px;
    font-size: 0.85rem;
    border-radius: 6px;
}

.btn-sm {
    padding: 3px 8px;
}

.btn-faq {
    background: linear-gradient(45deg, #6366f1, #06b6d4);
    color: white;
    border: none;
    border-radius: 20px;
    padding: 5px 14px;
    font-weight: 500;
}

/* SPACING */
.mt-4 { margin-top: 1rem; }
.mb-4 { margin-bottom: 1rem; }
.g-4 { gap: 0.6rem; }

/* REMOVE EXTRA WHITESPACE */
.card-body {
    padding: 12px;
}

/* =========================================
   DASHBOARD CARD HEIGHT FIX (FINAL)
========================================= */

.dashboard-cards {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;   /* ⭐ makes all columns same height */
}

.dashboard-cards > .col {
    display: flex;
    align-items: stretch;   /* ⭐ stretch column */
}

.dashboard-cards .card-summary {
    height: 100%;           /* ⭐ fill full column height */
    width: 100%;
}

/* Optional: align content nicely */
.dashboard-cards .card-summary h5 {
    min-height: 22px;
}

/* Push bottom content (like buttons) consistently */
.dashboard-cards .card-summary .mt-3 {
    margin-top: auto !important;
}

.dashboard-cards .card-summary > * {
    width: 100%;
}

/* FINAL LOCK — PERFECT CARD CONSISTENCY */
.dashboard-cards .card-summary {
    display: flex;
    flex-direction: column;
}

.dashboard-cards .card-summary h2 {
    margin-bottom: 6px;
}

.dashboard-cards .card-summary .text-muted {
    min-height: 20px;
}

.dashboard-cards .card-summary .mt-3 {
    margin-top: auto !important;
}

.card-summary hr {
    border: none;
    height: 1px;
    background: linear-gradient(to right, transparent, #e5e7eb, transparent);
    margin: 8px 0;
}

.card-table {
    padding: 14px;
}

.card-table h5 {
    font-weight: 600;
}

.table-hover tbody tr:hover {
    background: #f9fafb;
}

.card-table .form-label {
    font-size: 0.8rem;
    color: #6b7280;
}

.card-table input,
.card-table select {
    font-size: 0.9rem;
}
