/* ============================================================
   LMS — Custom Styles | Lending Management System v1.0
   ============================================================ */
:root{--sidebar-width:240px;--topbar-height:60px;--primary:#1a56db;--primary-dark:#1240a0;--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--border-color:#e2e8f0;--surface:#f1f5f9}
body{background:var(--surface);font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:14px;color:#1e293b}

/* Sidebar */
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);z-index:1030;display:flex;flex-direction:column;transition:transform .25s ease}
.sidebar-brand{height:var(--topbar-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.sidebar-brand .brand-icon{width:32px;height:32px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sidebar-brand .brand-icon i{color:#fff;font-size:16px}
.sidebar-brand .brand-name{color:#fff;font-size:15px;font-weight:600;margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0}
.sidebar-nav::-webkit-scrollbar{width:4px}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
.sidebar-nav a{display:flex;align-items:center;padding:9px 20px;color:var(--sidebar-text);text-decoration:none;border-left:3px solid transparent;transition:all .15s;font-size:13.5px}
.sidebar-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-nav a.active{background:rgba(255,255,255,.07);color:#fff;border-left-color:var(--primary)}
.sidebar-nav a i{width:20px;margin-right:10px;font-size:13px;opacity:.85}
.sidebar-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}
.sidebar-footer .user-name{color:#fff;font-size:13px;font-weight:500}
.sidebar-footer .user-role{color:#64748b;font-size:11px}

/* Topbar */
.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);background:#fff;z-index:1020;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.topbar .page-title{font-size:16px;font-weight:600;color:#1e293b;margin:0}
.sidebar-toggle{cursor:pointer;padding:6px 10px;border-radius:6px;border:none;background:none;color:#64748b;margin-right:12px}
.sidebar-toggle:hover{background:#f1f5f9}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1025}

/* Main */
.main-content{margin-left:var(--sidebar-width);padding-top:var(--topbar-height);min-height:100vh}
.content-wrapper{padding:24px}

/* Cards */
.card{border:1px solid var(--border-color);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.card-header{background:#fff;border-bottom:1px solid var(--border-color);padding:14px 20px;border-radius:10px 10px 0 0 !important}
.card-header h5{margin:0;font-size:15px;font-weight:600;color:#1e293b}

/* Stat cards */
.stat-card{border-radius:10px;padding:16px 18px;border:1px solid var(--border-color);background:#fff}
.stat-card .stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stat-card .stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.stat-card .stat-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1.1}

/* Tables */
.table thead th{background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-top:none;border-bottom:1px solid var(--border-color);white-space:nowrap}
.table td{vertical-align:middle;font-size:13.5px}
.table-hover tbody tr:hover{background:#f8fafc}

/* Badges */
.badge{font-size:11px;padding:4px 8px;border-radius:5px;font-weight:500}
.badge-success{background:#dcfce7;color:#166534}
.badge-danger{background:#fee2e2;color:#991b1b}
.badge-warning{background:#fef9c3;color:#854d0e}
.badge-info{background:#dbeafe;color:#1e40af}
.badge-secondary{background:#f1f5f9;color:#475569}
.badge-primary{background:#eff6ff;color:#1d4ed8}

/* Buttons */
.btn-primary{background:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn-xs{padding:3px 8px;font-size:12px;line-height:1.4}

/* Forms */
.form-control{border-radius:6px;border-color:var(--border-color);font-size:13.5px}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,86,219,.12)}
label{font-size:13px;font-weight:500;color:#374151}
.required-star{color:#ef4444}
.invalid-feedback{font-size:12px}

/* Modals */
.modal-content{border-radius:12px;border:none}
.modal-xl{max-width:1000px}
.modal-header{border-bottom:1px solid var(--border-color)}
.modal-footer{border-top:1px solid var(--border-color)}

/* DataTables */
.dataTables_wrapper .dataTables_filter{display:none}
.dataTables_wrapper .dataTables_length select{padding:3px 8px;border-radius:5px;border:1px solid var(--border-color)}
.dataTables_wrapper .dataTables_info{font-size:12px;color:#64748b}
.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:5px !important;font-size:12px}

/* Alerts */
.alert{border-radius:8px;font-size:13.5px}

/* Progress */
.progress{background:#e2e8f0}

/* Login */
.login-page{min-height:100vh;background:var(--sidebar-bg);display:flex;align-items:center;justify-content:center}
.login-card{background:#fff;border-radius:16px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 25px 50px rgba(0,0,0,.3)}
.eye-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#94a3b8;border:none;background:none;padding:0}

/* Misc */
.font-weight-500{font-weight:500}
.kin-row{background:#f8fafc;border-color:var(--border-color) !important}
.type-tab.active{background:var(--primary) !important;color:#fff !important;border-color:var(--primary) !important}
.permission-module:last-child{border-bottom:none !important}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:#f1f5f9}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}

/* Mobile */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.show{display:block}
  .topbar{left:0}
  .main-content{margin-left:0}
  .content-wrapper{padding:16px}
  .modal-xl{max-width:100%;margin:10px}
}
