@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@300;400;600;700&display=swap');

:root{
  --bg: #f3f5f7;
  --card: #ffffff;
  --border: #d9dee3;
  --primary: #2f3a56;
  --primary2: #1f2740;
  --text: #1f2328;
}

*{box-sizing:border-box;}
body{margin:0;font-family:Arial, Helvetica, sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

.app{display:flex;min-height:100vh;width:100%;}

/* LEFT MENU */
.leftmenu{
  flex:0 0 240px;
  width:240px;
  background:#f7f8fa;
  color:#1f2937;
  padding:14px 10px;
  border-right:1px solid #e5e7eb;
  box-shadow:none;
  transition:width .2s ease,padding .2s ease;
}
@media (max-width: 900px) {
  .app {
    flex-direction:column;
  }
  .leftmenu {
    width:100%;
    flex:0 0 auto;
    border-right:none;
    border-bottom:1px solid #e5e7eb;
    padding:10px 4px;
    box-shadow:0 2px 8px rgba(0,0,0,0.04);
  }
  .main {
    width:100%;
    min-width:0;
  }
}
.brand{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;margin-bottom:14px;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff,#f6f7fb);
  border:1px solid #e5e7eb;
}
.brand .logo{
  width:36px;height:36px;border-radius:10px;background:#2563eb;opacity:1;
  box-shadow:0 6px 14px rgba(37,99,235,0.25);
}
.brand .name{display:flex;flex-direction:column;line-height:1.1;color:#0f172a}
.brand-title{font-weight:800;letter-spacing:.06em;font-size:15px}
.brand-subtitle{font-weight:500;font-size:11px;color:#6b7280;margin-top:3px}
.menu{display:flex;flex-direction:column;gap:4px;}
.menu-group{
  margin:0;
  border-radius:10px;
  background:transparent;
  border:none;
  padding:1px 0;
  box-shadow:none;
}
.menu-title{
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.65;
  padding:6px 8px 3px;
  color:#6b7280;
  line-height:1.1;
}
.menu-title-label{display:flex;align-items:center;gap:10px;}
.menu-items{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:4px;
  overflow:hidden;
}
.menu a{
  display:flex;align-items:center;gap:8px;
  color:#374151;text-decoration:none;
  padding:7px 8px;border-radius:8px;
  opacity:1;
  border:1px solid transparent;
  position:relative;
  font-family:"Trebuchet MS","Segoe UI",Tahoma,sans-serif;
  font-size:17px;
  line-height:1.15;
}
.menu a:hover{background:#eef2ff;border-color:#e0e7ff;color:#1d4ed8}
.menu a.active{background:#2563eb;color:#fff;border-color:#1d4ed8;}
.menu a.active::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  bottom:6px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:#1e40af;
  opacity:1;
}
.menu-items a{
  font-size:16px;
  padding-left:20px;
  line-height:1.15;
}
.menu a.active .menu-icon{opacity:1;}
.menu-group + .menu-group{margin-top:6px;}
.menu-items a::after{
  content:"";
  position:absolute;
  left:8px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#cbd5f5;
}
.menu-items a.active::after{background:#fff;}

.sidebar-collapsed .leftmenu{
  width:0;
  padding:0;
  overflow:hidden;
}
.sidebar-collapsed .leftmenu .brand,
.sidebar-collapsed .leftmenu .menu{
  display:none;
}

/* MAIN */
.main{flex:1;display:flex;flex-direction:column;min-width:0;-webkit-box-flex:1;-webkit-flex:1;-moz-flex:1;} 

/* TOPBAR */
.topbar{
  background:#fff;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  flex-wrap:wrap;
}
@media (max-width: 700px) {
  .topbar {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    padding:8px 6px;
  }
  .topbar .who {
    font-size:15px;
  }
}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;}
.sidebar-toggle{
  background:#eef2f7;
  border:1px solid var(--border);
  border-radius:8px;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  cursor:pointer;
}
.sidebar-toggle:hover{background:#e2e8f0;}
.topbar .who{display:flex;flex-direction:column;gap:2px;min-width:0;}
.topbar .who .line1{font-weight:700;}
.topbar .who .line2{font-size:12px;color:#555;}
.topbar .actions a{color:#0b57d0;text-decoration:none;font-weight:700;}
.topbar .actions a:hover{text-decoration:underline;}

/* BODY GRID */
.body{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  padding:14px;
  width:auto;
}
@media (max-width: 700px) {
  .body {
    padding:8px 2px;
    gap:8px;
  }
  .content {
    padding:0 2px;
  }
}

/* CONTENT */
.content{
  flex:1;
  min-width:0;
  max-width:none;
  width:100%;
}
@media (max-width: 700px) {
  .content {
    font-size:18px;
    line-height:1.5;
    padding:0 6px;
  }
  .card, .panel-card, .expenses-mini, .admin-card, .form-card, .sysadmin-card {
    font-size:17px;
    padding:18px 10px;
  }
  .form-input, .form-select, .search-input {
    font-size:17px;
    padding:14px 12px;
  }
  .page-title {
    font-size:22px;
  }
  .stat-value, .stat-value-large {
    font-size:24px;
  }
  .admin-table th, .admin-table td, .table-standard th, .table-standard td {
    font-size:16px;
    padding:14px 8px;
  }
}
.content .page-title{
  font-size:22px;font-weight:800;margin:4px 0 12px;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
  margin-bottom:12px;
}

/* RIGHT PANEL */
.panel-card{
  background:#eaf6ea; /* tom suave tipo exemplo */
  border:1px solid #cfe7cf;
  border-radius:10px;
  margin-bottom:12px;
  overflow:hidden;
}
.panel-card .panel-h{
  background:#d9f0d9;
  padding:10px 12px;
  display:flex;justify-content:space-between;align-items:center;
  font-weight:700;
}
.panel-card .panel-b{padding:10px 12px;background:#f4fbf4;font-size:13px;color:#2b3a2b;}
.panel-item{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px dashed #cfe7cf;}
.panel-item:first-child{border-top:none;}
.muted{color:#666;font-size:12px;}

/* DASHBOARD */
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px;max-width:1200px;margin-left:auto;margin-right:auto}

/* Responsividade: 2 colunas em telas médias, 1 coluna em pequenas */
@media (max-width:1100px){
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
}
@media (max-width:700px){
  .dashboard-grid{grid-template-columns:repeat(1,minmax(0,1fr));max-width:420px;padding:0 10px}
}
.stat-card{padding:18px;border-radius:12px;background:var(--card);border:1px solid var(--border);box-shadow:0 6px 18px rgba(31,38,48,0.04)}
.stat-card h3{margin:0;font-size:15px;display:flex;align-items:center;gap:10px;font-weight:700}
.stat-value{font-size:28px;font-weight:800;margin-top:8px;color:var(--primary2)}
.stat-desc{font-size:13px;color:#6b7280;margin-top:6px}
.stat-meta{margin-top:10px;font-size:13px;color:#475569}
.stat-meta b{color:var(--primary2)}

.expenses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.expenses-mini{background:linear-gradient(180deg,#fff,#fbfdff);background:-webkit-linear-gradient(180deg,#fff,#fbfdff);padding:12px;border-radius:10px;border:1px solid #eef3f7}
.expenses-mini .label{font-size:13px;font-weight:700;color:#334155}
.expenses-mini .value{margin-top:8px;font-size:18px;font-weight:800}
.expenses-mini .hint{font-size:12px;color:#64748b;margin-top:6px}

@media (max-width:520px){
  .page-title{font-size:18px}
  .stat-value{font-size:22px}
}

.stat-card{position:relative;overflow:visible;-webkit-transition:-webkit-transform .18s ease,box-shadow .18s ease;transition:transform .18s ease,box-shadow .18s ease;min-height:120px;display:flex;flex-direction:column;}
.stat-card:hover{-webkit-transform:translateY(-6px);transform:translateY(-6px);box-shadow:0 12px 30px rgba(31,38,48,0.08)}
.stat-card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:6px;border-radius:8px 0 0 8px;background:transparent}
.card-header{display:flex;align-items:center;gap:12px}
.stat-icon{width:44px;height:44px;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 44px;-webkit-flex:0 0 44px;}
.stat-card h3{margin:0;font-size:14px;color:#0f172a}
.stat-value{font-size:28px;font-weight:800;margin-top:8px;color:var(--primary2)}
.stat-desc{font-size:13px;color:#6b7280;margin-top:6px}

.accent-gold::before{background:linear-gradient(180deg,#fff7ed,#f59e0b)}
.accent-blue::before{background:linear-gradient(180deg,#eff6ff,#0ea5e9)}
.accent-green::before{background:linear-gradient(180deg,#ecfdf5,#16a34a)}
.accent-red::before{background:linear-gradient(180deg,#fff1f2,#ef4444)}
.accent-purple::before{background:linear-gradient(180deg,#f5f3ff,#7c3aed)}
.accent-indigo::before{background:linear-gradient(180deg,#eef2ff,#6366f1)}
.accent-gray::before{background:linear-gradient(180deg,#f8fafc,#94a3b8)}

/* Tweak for expenses mini boxes inside card */
.expenses-mini{display:flex;flex-direction:column;justify-content:center}
.expenses-mini .value{font-size:18px;font-weight:800}

@media (max-width:420px){
  .stat-icon{width:40px;height:40px;font-size:18px}
  .stat-value{font-size:20px}
}

/* Footer styling */
.site-footer{margin-top:20px;padding:12px 16px;border-top:1px solid var(--border);background:var(--card);font-size:12px;color:#555;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;-webkit-box-sizing:border-box;}

/* Sysadmin styles */
.sysadmin-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px;max-width:500px;margin:0 auto;box-shadow:0 4px 12px rgba(31,38,48,0.06);margin-top:24px}
.sysadmin-desc{font-size:15px;color:#555;line-height:1.5;margin:0 0 24px 0}
.sysadmin-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;color:#dc2626;margin-bottom:20px;font-size:13px}
.sysadmin-form{display:flex;flex-direction:column}
.form-group{margin-bottom:18px}
.form-label{display:block;font-weight:700;color:#0f172a;font-size:14px;margin-bottom:8px}
.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:Arial, Helvetica, sans-serif;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}
.form-input:focus{outline:none;border-color:#0b57d0;box-shadow:0 0 0 3px rgba(11,87,208,0.1)}
.form-actions{display:flex;gap:12px;margin-top:24px}
.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}
.btn-primary{background:#0b57d0;color:#fff}
.btn-primary:hover{background:#0a47b0;transform:translateY(-2px);box-shadow:0 6px 12px rgba(11,87,208,0.2)}
.btn-secondary{background:var(--border);color:#0f172a}
.btn-secondary:hover{background:#c5ccd1;transform:translateY(-2px)}

/* Admin - Condominios */
.admin-search-section{margin-bottom:32px;background:var(--card);padding:20px;border-radius:12px;border:1px solid var(--border)}
.admin-search-form{display:-webkit-flex;display:-moz-flex;display:flex;gap:12px;margin-bottom:16px;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;flex-wrap:wrap}
.search-group{-webkit-flex:1;-moz-flex:1;flex:1;display:-webkit-flex;display:-moz-flex;display:flex;gap:12px;min-width:300px}
.search-input{-webkit-flex:1;-moz-flex:1;flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;transition:border-color .2s ease;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.search-input:focus{outline:none;border-color:#0b57d0}
.btn-search{padding:10px 16px;background:#0b57d0;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;transition:all .2s ease}
.btn-search:hover{background:#0a47b0;-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);transform:translateY(-2px)}
.admin-actions{display:-webkit-flex;display:-moz-flex;display:flex;gap:12px}
.admin-grid{display:-webkit-grid;display:-moz-grid;display:grid;-webkit-grid-template-columns:repeat(auto-fit,minmax(280px,1fr));-moz-grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}
.admin-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;-webkit-box-shadow:0 2px 8px rgba(31,38,48,0.04);-moz-box-shadow:0 2px 8px rgba(31,38,48,0.04);box-shadow:0 2px 8px rgba(31,38,48,0.04)}
.card-header-admin{background:#f8fafc;padding:16px;border-bottom:1px solid var(--border)}
.card-header-admin h3{margin:0;font-size:15px;color:#0f172a;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;align-items:center;gap:10px}
.card-body-admin{padding:16px}
.stat-row{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-moz-align-items:center;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}
.stat-row:last-child{border-bottom:none}
.stat-label{font-size:13px;color:#555}
.stat-value-large{font-size:24px;font-weight:800;color:var(--primary2)}
.admin-list-section{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.section-title{font-size:16px;font-weight:700;color:#0f172a;padding:20px 20px 0;margin:0}
.admin-table-wrapper{overflow-x:auto;padding:20px}
.admin-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-table th{background:#f8fafc;padding:12px;text-align:left;font-weight:700;color:#0f172a;border-bottom:2px solid var(--border)}
.admin-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#333}
.admin-table tbody tr:hover{background:#f8fafc}
.admin-table .status-active{color:#16a34a;font-weight:600}

.admin-table .status-inactive{color:#ef4444;font-weight:600}

/* Admin Stats */
.admin-stats-section{display:-webkit-grid;display:-moz-grid;display:grid;-webkit-grid-template-columns:repeat(auto-fit,minmax(240px,1fr));-moz-grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}
.admin-stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;align-items:center;gap:16px;-webkit-box-shadow:0 2px 8px rgba(31,38,48,0.04);-moz-box-shadow:0 2px 8px rgba(31,38,48,0.04);box-shadow:0 2px 8px rgba(31,38,48,0.04)}
.admin-stat-card .stat-icon{font-size:32px}
.admin-stat-card .stat-info{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-flex-direction:column;-moz-flex-direction:column;flex-direction:column}
.admin-stat-card .stat-label{font-size:12px;color:#666;text-transform:uppercase}
.admin-stat-card .stat-value{font-size:24px;font-weight:800;color:var(--primary2)}

/* Status Badge */
.status-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}
.status-badge.status-active{background:#d1fae5;color:#065f46}
.status-badge.status-inactive{background:#fee2e2;color:#991b1b}

/* Action Buttons */
.action-buttons{display:-webkit-flex;display:-moz-flex;display:flex;gap:8px;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;flex-wrap:wrap}
.btn-small{padding:6px 12px;font-size:12px !important;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;transition:all .2s ease}
.btn-edit{background:#0b57d0;color:#fff}
.btn-edit:hover{background:#0a47b0;-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);transform:translateY(-2px)}
.btn-success{background:#16a34a;color:#fff}
.btn-success:hover{background:#14873b;-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);transform:translateY(-2px)}
.btn-danger{background:#ef4444;color:#fff}
.btn-danger:hover{background:#dc2626;-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);transform:translateY(-2px)}

/* Form Styling */
.form-container{padding:0}
.form-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px;max-width:600px;margin:0 auto;box-shadow:0 4px 12px rgba(31,38,48,0.06);margin-top:24px;box-sizing:border-box}
.form-group{margin-bottom:24px}
.form-label{display:block;font-weight:700;color:#0f172a;font-size:14px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-size:13px}
.form-input,.form-select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:Arial, Helvetica, sans-serif;-webkit-transition:border-color .2s ease,box-shadow .2s ease;-moz-transition:border-color .2s ease,box-shadow .2s ease;transition:border-color .2s ease,box-shadow .2s ease;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.form-input:focus,.form-select:focus{outline:none;border-color:#0b57d0;-webkit-box-shadow:0 0 0 3px rgba(11,87,208,0.1);-moz-box-shadow:0 0 0 3px rgba(11,87,208,0.1);box-shadow:0 0 0 3px rgba(11,87,208,0.1)}
.form-actions{display:-webkit-flex;display:-moz-flex;display:flex;gap:12px;margin-top:32px;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;flex-wrap:wrap}
.form-actions .btn{-webkit-flex:1;-moz-flex:1;flex:1;min-width:160px;text-align:center;text-decoration:none}

/* Theme Selector */
.theme-selector{display:-webkit-grid;display:-moz-grid;display:grid;-webkit-grid-template-columns:repeat(auto-fit,minmax(280px,1fr));-moz-grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}
.theme-option{border:2px solid var(--border);border-radius:12px;overflow:hidden;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;transition:all .2s ease;cursor:pointer}
.theme-option:hover{border-color:#0b57d0;-webkit-box-shadow:0 4px 12px rgba(11,87,208,0.15);-moz-box-shadow:0 4px 12px rgba(11,87,208,0.15);box-shadow:0 4px 12px rgba(11,87,208,0.15)}
.theme-preview{height:80px;width:100%;border-bottom:1px solid var(--border)}
.theme-info{padding:16px}
.theme-info h4{margin:0 0 8px 0;font-size:15px;color:#0f172a}
.theme-info p{margin:0 0 12px 0;font-size:13px;color:#666}

/* Theme Variations for Left Menu */
.leftmenu.theme-red{background:#f7f8fa}
.leftmenu.theme-gray{background:#f7f8fa}
.leftmenu.theme-default{background:#f7f8fa}

/* Page Header Standard */
.page-header{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-moz-align-items:center;align-items:center;margin-bottom:20px;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;flex-wrap:wrap;gap:12px}
.page-header-info h1{margin:0;font-size:28px;color:#0f172a}
.page-header-info p{margin:4px 0 0 0;font-size:13px;color:#666}

/* Stats Cards Standard */
.stats-grid{display:-webkit-grid;display:-moz-grid;display:grid;-webkit-grid-template-columns:repeat(auto-fit,minmax(240px,1fr));-moz-grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}
.stats-card{border-radius:12px;padding:20px;color:white;-webkit-box-shadow:0 4px 12px rgba(0,0,0,0.15);-moz-box-shadow:0 4px 12px rgba(0,0,0,0.15);box-shadow:0 4px 12px rgba(0,0,0,0.15);-webkit-transition:transform .2s ease;-moz-transition:transform .2s ease;transition:transform .2s ease}
.stats-card:hover{-webkit-transform:translateY(-4px);-moz-transform:translateY(-4px);transform:translateY(-4px)}
.stats-card-header{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-align-items:center;-moz-align-items:center;align-items:center;gap:12px;margin-bottom:8px}
.stats-card-icon{font-size:32px}
.stats-card-label{font-size:13px;opacity:0.9}
.stats-card-value{font-size:36px;font-weight:800}
.stats-card-hint{font-size:12px;opacity:0.8;margin-top:4px}

/* Color variants */
.stats-card-purple{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
.stats-card-pink{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}
.stats-card-blue{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}
.stats-card-green{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}
.stats-card-orange{background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}
.stats-card-indigo{background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%)}

/* Filter Section Standard */
.filter-section{background:#f8f9fa;padding:16px;margin-bottom:20px;border-radius:12px;border:1px solid #e0e0e0}
.filter-form{display:-webkit-grid;display:-moz-grid;display:grid;-webkit-grid-template-columns:repeat(auto-fit,minmax(200px,1fr));-moz-grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;-webkit-align-items:end;-moz-align-items:end;align-items:end}
.filter-label{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:6px}
.filter-input,.filter-select{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:13px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;transition:border-color .2s ease}
.filter-input:focus,.filter-select:focus{outline:none;border-color:#0b57d0}

/* Table Standard */
.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:20px}
.table-standard{width:100%;border-collapse:collapse;background:white}
.table-standard thead{background:#f5f5f5;border-bottom:2px solid #ddd}
.table-standard th{font-weight:600;color:#333;padding:12px;font-size:13px;text-align:left}
.table-standard td{padding:12px;border-bottom:1px solid #f0f0f0;color:#333;font-size:13px}
.table-standard tbody tr{-webkit-transition:background .2s ease;-moz-transition:background .2s ease;transition:background .2s ease}
.table-standard tbody tr:hover{background:#fafafa}
.table-empty{padding:32px;text-align:center;color:#999}

/* Badge Standard */
.badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}
.badge-success{background:#c8e6c9;color:#2e7d32}
.badge-danger{background:#ffcccc;color:#c62828}
.badge-info{background:#e3f2fd;color:#1976d2}
.badge-warning{background:#fff4e5;color:#e65100}

/* Action Icons */
.action-icons{display:-webkit-flex;display:-moz-flex;display:flex;gap:6px;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;flex-wrap:wrap}
.action-icon{text-decoration:none;font-size:16px;padding:6px 10px;border-radius:4px;-webkit-transition:background .2s ease;-moz-transition:background .2s ease;transition:background .2s ease;cursor:pointer;border:none;background:none}
.action-icon-edit{color:#0b57d0}
.action-icon-edit:hover{background:#e3f2fd}
.action-icon-delete{color:#d32f2f}
.action-icon-delete:hover{background:#ffebee}
.action-icon-view{color:#7c3aed}

/* Auth - Password recovery */
.auth-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(320px,1.1fr);
  gap:32px;
  padding:48px 6vw 80px;
  box-sizing:border-box;
  position:relative;
  font-family:'Manrope', sans-serif;
}
.auth-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(900px 520px at 12% 12%, #e8f1ff 0%, transparent 60%),
             radial-gradient(760px 420px at 88% 14%, #fff2db 0%, transparent 58%),
             linear-gradient(160deg, #f3f5f7 0%, #f8fafc 100%);
  z-index:0;
}
.auth-shell > *{position:relative;z-index:1;}

.auth-hero{
  border-radius:24px;
  padding:32px;
  color:#f8fafc;
  background:linear-gradient(135deg, #0b57d0 0%, #1e3a8a 55%, #0f172a 100%);
  position:relative;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(15, 23, 42, 0.22);
}
.auth-hero::after{
  content:"";
  position:absolute;
  inset:-30% 45% auto -25%;
  height:220px;
  background:radial-gradient(circle, rgba(255, 209, 155, 0.45), transparent 65%);
}
.auth-hero h1{
  font-family:'DM Serif Display', serif;
  font-size:2.2rem;
  letter-spacing:0.4px;
  margin:0 0 12px;
  color:#f8fafc;
}
.auth-hero p{
  font-size:1rem;
  line-height:1.6;
  color:#dbeafe;
  margin:0 0 24px;
}
.auth-hero .hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.auth-hero .hero-badges span{
  font-size:0.85rem;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(148, 163, 184, 0.2);
  color:#e2e8f0;
  border:1px solid rgba(148, 163, 184, 0.35);
}

.auth-card{
  background:#ffffff;
  border-radius:22px;
  padding:32px;
  box-shadow:0 20px 50px rgba(15, 23, 42, 0.12);
  animation:authRiseIn 500ms ease-out;
}
.auth-card h2{
  font-size:1.7rem;
  margin:0 0 8px;
  color:#0f172a;
}
.auth-card .subtitle{
  color:#475569;
  margin:0 0 20px;
  font-size:0.98rem;
}
.auth-form-field{margin-bottom:16px;}
.auth-form-field label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
  color:#1f2937;
}
.auth-form-field input{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--border);
  font-size:0.98rem;
  transition:border-color 200ms ease, box-shadow 200ms ease;
}
.auth-form-field input:focus{
  outline:none;
  border-color:#0b57d0;
  box-shadow:0 0 0 3px rgba(11, 87, 208, 0.15);
}
.auth-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.auth-btn-primary{
  border:none;
  background:#0b57d0;
  color:#fff;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
  transition:transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.auth-btn-primary:hover{
  background:#0a47b0;
  transform:translateY(-1px);
  box-shadow:0 12px 20px rgba(11, 87, 208, 0.25);
}
.auth-link{
  color:#0b57d0;
  text-decoration:none;
  font-weight:600;
}
.auth-link:hover{text-decoration:underline;}

.auth-message{
  padding:12px 14px;
  border-radius:12px;
  margin-bottom:16px;
  font-size:0.95rem;
}
.auth-message.success{
  background:#dcfce7;
  border:1px solid #86efac;
  color:#166534;
}
.auth-message.error{
  background:#fee2e2;
  border:1px solid #fecaca;
  color:#b91c1c;
}
.auth-footer{
  margin-top:18px;
  color:#64748b;
  font-size:0.85rem;
}

@keyframes authRiseIn{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

@media (max-width:920px){
  .auth-shell{
    grid-template-columns:1fr;
    padding:32px 6vw 72px;
  }
}

.auth-shell.auth-forgot::before{
  background:radial-gradient(1200px 600px at 15% 10%, #ffe7c7 0%, transparent 60%),
             radial-gradient(900px 500px at 85% 20%, #c7f0ff 0%, transparent 55%),
             linear-gradient(160deg, #f7f1e9 0%, #f4f7fb 100%);
}

.auth-shell.auth-forgot .auth-hero{
  background:linear-gradient(135deg, #0f172a 0%, #1e293b 55%, #334155 100%);
}

.auth-shell.auth-forgot .auth-btn-primary{
  background:linear-gradient(135deg, #fb923c, #f97316);
  color:#0f172a;
}

.auth-shell.auth-forgot .auth-btn-primary:hover{
  background:linear-gradient(135deg, #f97316, #ea580c);
  box-shadow:0 12px 20px rgba(249, 115, 22, 0.3);
}
.action-icon-view:hover{background:#f3e8ff}







