body {
    min-height: 100vh;
    overflow-x: hidden;
}

[x-cloak] {
    display: none !important;
}

.stat-card {
    background: linear-gradient(140deg, rgba(255, 255, 255, 0.95), rgba(255, 249, 235, 0.9));
    border: 1px solid #ecdcb3;
    border-radius: 16px;
    padding: 1rem;
}

.table-shell {
    border: 1px solid #eadcba;
    border-radius: 14px;
    overflow: auto;
}

.table-shell table {
    width: 100%;
    min-width: 100%;
    border-collapse: collapse;
}

.table-shell th {
    background: #f7f1e2;
    color: #4b5563;
    text-align: left;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.75rem;
}

.table-shell td {
    border-top: 1px solid #f0e6cf;
    padding: 0.65rem 0.75rem;
    font-size: 0.875rem;
    color: #1f2937;
}

.btn-primary {
    background: #c9a646;
    color: #fff;
    border-radius: 10px;
    padding: 0.5rem 0.9rem;
    font-weight: 700;
}

.btn-primary:hover {
    background: #b79236;
}

.panel-scroll {
    max-height: 24rem;
    overflow: auto;
}

.chart-frame {
    position: relative;
    min-height: 260px;
    height: 260px;
}

.module-tab {
    border: 1px solid #e6d8b7;
    border-radius: 9999px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #4b5563;
    background: #fff;
    transition: all 0.2s ease;
}

.module-tab:hover {
    background: #fbf6ea;
}

.module-tab.is-active {
    background: #1f324a;
    border-color: #1f324a;
    color: #fff;
}

.shape-chip {
    position: relative;
    overflow: hidden;
}
