/* Minimal template – modern, minimal, few colors */
:root {
    --minimal-bg: #fafafa;
    --minimal-surface: #ffffff;
    --minimal-text: #1a1a1a;
    --minimal-text-muted: #6b7280;
    --minimal-border: #e5e7eb;
    --minimal-accent: #171717;
    --minimal-accent-hover: #404040;
}

html { scroll-behavior: smooth; }

body.minimal-body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: var(--minimal-bg);
    color: var(--minimal-text);
    font-size: 15px;
    line-height: 1.6;
}

/* Preloader */
.minimal-preloader {
    position: fixed;
    inset: 0;
    background: var(--minimal-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity .3s, visibility .3s;
}
.minimal-preloader.hidden { opacity: 0; visibility: hidden; }
.minimal-preloader__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--minimal-accent);
    animation: minimal-pulse 1s ease-in-out infinite;
}
@keyframes minimal-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(1.2); }
}

/* Scroll to top */
.minimal-scroll-top {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 40px;
    height: 40px;
    background: var(--minimal-accent);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s;
    z-index: 999;
}
.minimal-scroll-top.visible { opacity: 1; visibility: visible; }
.minimal-scroll-top:hover { color: #fff; background: var(--minimal-accent-hover); }

/* Header */
.minimal-header { background: var(--minimal-surface); border-bottom: 1px solid var(--minimal-border); }
.minimal-nav { padding: 0.75rem 0; }
.minimal-logo img { max-height: 36px; }
.minimal-nav-link {
    color: var(--minimal-text) !important;
    font-weight: 500;
    padding: 0.5rem 0.75rem !important;
}
.minimal-nav-link:hover { color: var(--minimal-accent) !important; }
.minimal-dropdown { border: 1px solid var(--minimal-border); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.minimal-dropdown .dropdown-item { padding: 0.5rem 1rem; }
.minimal-lang-img { width: 20px; height: auto; vertical-align: middle; }

/* Buttons */
.minimal-btn {
    padding: 0.4rem 0.9rem;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.minimal-btn--primary { background: var(--minimal-accent); color: #fff !important; border: 1px solid var(--minimal-accent); }
.minimal-btn--primary:hover { background: var(--minimal-accent-hover); color: #fff !important; }
.minimal-btn--outline { background: transparent; color: var(--minimal-text) !important; border: 1px solid var(--minimal-border); }
.minimal-btn--outline:hover { background: var(--minimal-border); color: var(--minimal-text) !important; }

/* Breadcrumb */
.minimal-breadcrumb { background: var(--minimal-surface); }
.minimal-breadcrumb-title { font-size: 1.25rem; font-weight: 600; color: var(--minimal-text); }

/* User banner */
.minimal-user-banner { background: var(--minimal-surface); }
.minimal-user-banner-avatar { width: 56px; height: 56px; object-fit: cover; }
.minimal-user-banner-name { font-size: 1.1rem; font-weight: 600; margin: 0; }
.minimal-user-banner-email { margin: 0; }

/* Sidebar */
.minimal-sidebar {
    background: var(--minimal-surface);
    border: 1px solid var(--minimal-border);
    border-radius: 8px;
    padding: 0.5rem 0;
}
.minimal-sidebar-list { list-style: none; padding: 0; margin: 0; }
.minimal-sidebar-list li { margin: 0; }
.minimal-sidebar-list li a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    color: var(--minimal-text);
    text-decoration: none;
    font-weight: 500;
    transition: background .15s;
}
.minimal-sidebar-list li a:hover { background: var(--minimal-bg); }
.minimal-sidebar-list li.active a { background: var(--minimal-border); color: var(--minimal-accent); }
.minimal-sidebar-toggle { border: 1px solid var(--minimal-border); }

/* Dashboard */
.minimal-dashboard-body { min-height: 400px; }
.minimal-alert { border-radius: 8px; }
.minimal-widget {
    transition: box-shadow .2s;
}
.minimal-widget:hover { box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.minimal-widget-icon { width: 40px; height: 40px; object-fit: contain; }
.minimal-widget-amount { font-size: 1.1rem; font-weight: 600; display: block; }

/* Table */
.minimal-table-wrapper { border: 1px solid var(--minimal-border); border-radius: 8px; overflow: hidden; background: var(--minimal-surface); }
.minimal-table { margin: 0; }
.minimal-table thead th { background: var(--minimal-bg); font-weight: 600; color: var(--minimal-text); border-color: var(--minimal-border); padding: 0.75rem 1rem; font-size: 0.85rem; }
.minimal-table tbody td { padding: 0.75rem 1rem; border-color: var(--minimal-border); vertical-align: middle; }
.minimal-table tbody tr:hover { background: var(--minimal-bg); }

/* Footer */
.minimal-footer { background: var(--minimal-surface); border-top: 1px solid var(--minimal-border); }
.minimal-footer-logo img { max-height: 32px; }
.minimal-footer-title { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--minimal-text); }
.minimal-footer-list { list-style: none; padding: 0; margin: 0; }
.minimal-footer-list li { margin-bottom: 0.35rem; }
.minimal-footer-list a { color: var(--minimal-text-muted); text-decoration: none; font-size: 0.9rem; }
.minimal-footer-list a:hover { color: var(--minimal-accent); }
.minimal-footer-desc { color: var(--minimal-text-muted); }
.minimal-footer-bottom { border-top: 1px solid var(--minimal-border); }

/* Hero (home) */
.minimal-hero { background: var(--minimal-surface); }
.minimal-hero-title { font-size: 2rem; font-weight: 700; color: var(--minimal-text); }
.minimal-hero-desc { font-size: 1.05rem; }

/* Auth */
.minimal-auth { background: var(--minimal-bg); min-height: 60vh; }
.minimal-auth-card { max-width: 420px; margin: 0 auto; }

/* Form */
.minimal-input { border-radius: 6px; }
.minimal-input:focus { border-color: var(--minimal-accent); box-shadow: 0 0 0 3px rgba(23,23,23,.1); }

/* Badges (keep Bootstrap overrides minimal) */
.badge.bg-success, .badge.bg-danger, .badge.bg-warning, .badge.bg-secondary { font-weight: 500; }
