/* public/assets/css/theme.css
   Centralized theme for BUMDes Finance.
   Change variables in config/theme.json — theme.js will apply them.
*/

:root{
    --primary: #2b6cb0;
    --accent: #ed64a6;
    --bg: #f7fafc;
    --text: #1a202c;
    --muted: #718096;
    --font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    --radius: 8px;
}

*{box-sizing:border-box}
body{
    margin:0;
    font-family:var(--font-family);
    color:var(--text);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
}

.container{max-width:1100px;margin:0 auto;padding:20px}

.bf-header{
    background:var(--primary);
    color:white;
    padding:14px 0;
}
.bf-header .logo{font-weight:700;margin-left:8px;color:white;text-decoration:none}
.bf-header .main-nav{float:right;margin-right:8px}
.bf-header .main-nav a{color:white;margin-left:12px;text-decoration:none}

.bf-main{padding:24px 0}
.card{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:0 6px 14px rgba(0,0,0,0.05)}
.cards{display:flex;gap:16px}
.card h3{margin:0 0 8px 0}
.dashboard h1{margin-top:0}

.bf-footer{padding:16px;text-align:center;color:var(--muted);font-size:14px;margin-top:36px}


/* Dashboard Specific Styles */
.toast {
    z-index: 9999;
}

.progress {
    border-radius: 4px;
}

.progress-bar {
    border-radius: 4px;
}

.table th {
    font-weight: 600;
}

.badge {
    font-weight: 500;
}

.card {
    border: 1px solid #e3e6f0;
    border-radius: 10px;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
}

.card-header {
    background-color: #f8f9fc;
    border-bottom: 1px solid #e3e6f0;
}

/* ===== LOGIN STYLES ===== */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    padding: 20px;
    font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

.login-card {
    width: 100%;
    max-width: 420px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 40px 32px;
    text-align: center;
}

.logo-container {
    margin-bottom: 24px;
}

.logo-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0066cc 0%, #0099ff 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 20px;
    margin: 0 auto;
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.2);
}

.login-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.login-subtitle {
    font-size: 14px;
    color: #666;
    margin-bottom: 32px;
    line-height: 1.4;
}

.form-group {
    margin-bottom: 20px;
    text-align: left;
}

.form-label {
    display: block;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
    font-size: 14px;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color 0.2s;
    background-color: #f9f9f9;
}

.form-control:focus {
    outline: none;
    border-color: #0066cc;
    background-color: white;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.form-help {
    font-size: 12px;
    color: #888;
    margin-top: 5px;
    margin-left: 2px;
}

.remember-group {
    display: flex;
    align-items: center;
    margin: 24px 0;
}

.remember-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    cursor: pointer;
}

.remember-group label {
    color: #555;
    font-size: 14px;
    cursor: pointer;
    user-select: none;
}

.btn-login {
    width: 100%;
    padding: 14px;
    background-color: #0066cc;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 20px;
    transition: background-color 0.2s, transform 0.1s;
}

.btn-login:hover {
    background-color: #0052a3;
}

.btn-login:active {
    transform: translateY(1px);
}

.forgot-password {
    margin-bottom: 30px;
}

.forgot-password a {
    color: #0066cc;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}

.forgot-password a:hover {
    color: #004d99;
    text-decoration: underline;
}

.register-section {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid #eee;
}

.register-section p {
    margin-bottom: 16px;
    color: #666;
    font-size: 14px;
}

.btn-register {
    display: inline-block;
    padding: 10px 24px;
    background-color: #f0f0f0;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s;
}

.btn-register:hover {
    background-color: #e5e5e5;
    text-decoration: none;
    color: #333;
}

.login-footer {
    margin-top: 35px;
    font-size: 12px;
    color: #999;
    line-height: 1.5;
}

.sub-footer {
    font-size: 11px;
    color: #aaa;
    margin-top: 2px;
}

/* Alert */
.alert {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 14px;
    text-align: left;
}

.alert-danger {
    background-color: #ffe6e6;
    color: #cc0000;
    border: 1px solid #ffcccc;
}

.alert-success {
    background-color: #e6ffe6;
    color: #006600;
    border: 1px solid #ccffcc;
}

/* Responsive */
@media (max-width: 480px) {
    .login-card {
        padding: 32px 24px;
    }
    
    .login-title {
        font-size: 22px;
    }
}