:root {
    --ui-card-border: rgba(148, 163, 184, 0.25);
    --ui-card-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    --ui-card-shadow-lg: 0 18px 40px rgba(15, 23, 42, 0.12);
    --ui-muted: #64748b;
    --ui-heading: #0f172a;
    --ui-divider: #e2e8f0;
    --ui-radius: 14px;
    --ui-body: #334155;
    --ui-focus: 0 0 0 4px rgba(16, 185, 129, 0.18);
}

body {
    color: var(--ui-heading);
}

/* Page container harmonization */
.content > .max-w-7xl,
.content > .max-w-6xl,
.content > .max-w-5xl {
    padding-top: 8px;
    padding-bottom: 32px;
}

/* Typography scale */
.content h1 {
    letter-spacing: -0.02em;
}

.content h2 {
    letter-spacing: -0.01em;
}

.content p {
    color: var(--ui-body);
}

/* Card polish */
.content .bg-white.rounded-lg.shadow,
.content .bg-white.shadow.rounded-lg,
.content .bg-white.rounded-lg.shadow-sm,
.content .bg-white.shadow,
.content .bg-white.overflow-hidden.shadow,
.content .bg-white.shadow-sm,
.content .bg-white.shadow-xl,
.content .bg-white.shadow-2xl {
    border: 1px solid var(--ui-card-border);
    box-shadow: var(--ui-card-shadow);
    border-radius: var(--ui-radius);
}

.content .bg-white.rounded-lg.shadow:hover,
.content .bg-white.shadow.rounded-lg:hover,
.content .bg-white.rounded-lg.shadow-sm:hover,
.content .bg-white.shadow:hover {
    box-shadow: var(--ui-card-shadow-lg);
}

.content .bg-white .border-b,
.content .bg-white .border-t {
    border-color: var(--ui-divider);
}

/* Table consistency */
.content table {
    border-collapse: separate;
    border-spacing: 0;
}

.content table thead th {
    color: #475569;
    letter-spacing: 0.06em;
}

.content table tbody tr:hover {
    background-color: #f8fafc;
}

/* Form field refinements */
.content input[type="text"],
.content input[type="email"],
.content input[type="password"],
.content input[type="number"],
.content input[type="date"],
.content input[type="tel"],
.content select,
.content textarea {
    border-radius: 12px;
    border-color: #e2e8f0;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.content input[type="text"]:focus,
.content input[type="email"]:focus,
.content input[type="password"]:focus,
.content input[type="number"]:focus,
.content input[type="date"]:focus,
.content input[type="tel"]:focus,
.content select:focus,
.content textarea:focus {
    border-color: #10b981;
    box-shadow: var(--ui-focus);
}

.content input::placeholder,
.content textarea::placeholder {
    color: #94a3b8;
}

.content label {
    color: #475569;
}

/* Button polish */
.content a.bg-blue-600,
.content button.bg-blue-600,
.content a.bg-green-600,
.content button.bg-green-600,
.content a.bg-gray-600,
.content button.bg-gray-600 {
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12);
}

.content a.bg-blue-600:hover,
.content button.bg-blue-600:hover,
.content a.bg-green-600:hover,
.content button.bg-green-600:hover {
    transform: translateY(-1px);
}

/* Section titles */
.content h1.text-3xl,
.content h2.text-xl,
.content h2.text-2xl {
    letter-spacing: -0.01em;
}

/* Utility for tighter supporting text */
.content p.text-gray-600,
.content p.text-gray-500 {
    color: var(--ui-muted);
}

/* Collapsible menu behavior (shared across layouts) */
.menu-section-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.menu-section-content.active {
    max-height: 2000px; /* Increased to accommodate all menu items */
}

/* Submenu items inside collapsible sections — smaller icons & text */
.menu-section-content .menu-icon {
    width: 14px !important;
    height: 14px !important;
    font-size: 10px !important;
    border-radius: 4px !important;
    margin-right: 8px !important;
}

.menu-section-content .menu-link {
    font-size: 10.4px !important;
}
