:root{
  --r:var(--accent-color, #ff2a2a);
  --r-bright:color-mix(in srgb, var(--accent-color, #ff2a2a) 72%, #ffffff);
  --r-deep:color-mix(in srgb, var(--accent-color, #ff2a2a) 60%, #000000);
  --r-soft:color-mix(in srgb, var(--accent-color, #ff2a2a) 80%, #ffffff);
  --r-line:rgba(var(--accent-color-rgb, 255,42,42),.55);
  --r-edge:rgba(var(--accent-color-rgb, 255,42,42),.22);
  --r-glow:rgba(var(--accent-color-rgb, 255,42,42),.30);
  --bg:#08080a;
  --surface:#101012;
  --surface-2:#16161a;
  --surface-3:#1d1d22;
  --ink:#f4f4f6;
  --ink-dim:#9a9aa2;
}

body{
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(var(--accent-color-rgb,255,42,42),.10), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(var(--accent-color-rgb,255,42,42),.06), transparent 55%),
    var(--bg) !important;
  color:var(--ink) !important;
}
a{color:var(--r-soft);}
a:hover{color:var(--r-bright);}
::selection{background:rgba(var(--accent-color-rgb,255,42,42),.35);color:#fff;}

*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-track{background:#0c0c0e;}
*::-webkit-scrollbar-thumb{background:linear-gradient(var(--r),var(--r-deep));border-radius:6px;border:2px solid #0c0c0e;}
*::-webkit-scrollbar-thumb:hover{background:var(--r-bright);}

.glass-card,.settings-card,.box,.card,.alert,.feature-item,.metadata-item,
.stat-card,.stats-card,.info-banner,.report-card,.appeal-card,.role-card,
.staff-card,.member-card,.punishment-card,.message-card,.notice-card,.user-card{
  background:linear-gradient(180deg,var(--surface),#0d0d0f) !important;
  border:1px solid var(--r-edge) !important;
  border-radius:14px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.02) !important;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.glass-card:hover,.settings-card:hover,.stat-card:hover,.report-card:hover,
.appeal-card:hover,.role-card:hover,.staff-card:hover,.member-card:hover,
.feature-item:hover,.punishment-card:hover,.user-card:hover{
  border-color:var(--r-line) !important;
  box-shadow:0 0 0 1px rgba(var(--accent-color-rgb,255,42,42),.35), 0 14px 40px var(--r-glow) !important;
  transform:translateY(-2px);
}

.modal-background{background:rgba(0,0,0,.82) !important;backdrop-filter:blur(3px);}
.modal-card,.modal-content{
  background:linear-gradient(180deg,#101012,#0a0a0c) !important;
  border:1px solid var(--r-line) !important;
  border-radius:16px !important;
  box-shadow:0 0 0 1px rgba(var(--accent-color-rgb,255,42,42),.25), 0 25px 80px rgba(var(--accent-color-rgb,255,42,42),.18), 0 30px 80px rgba(0,0,0,.7) !important;
  overflow:hidden;
}
.modal-card-head,.modal-card-foot{
  background:#0d0d0f !important;
  border-color:rgba(var(--accent-color-rgb,255,42,42),.18) !important;
}
.modal-card-head{border-bottom:1px solid var(--r-line) !important;}
.modal-card-title{color:#fff !important;font-weight:800 !important;letter-spacing:.3px;}
.modal-card-body{background:#0b0b0d !important;color:var(--ink) !important;}

.navbar{
  background:#0a0a0c !important;
  border-bottom:1px solid var(--r-line) !important;
  box-shadow:0 4px 24px rgba(var(--accent-color-rgb,255,42,42),.12) !important;
}
.navbar-item,.navbar-link{color:var(--ink) !important;}
.navbar-item:hover,.navbar-item.is-active,.navbar-link:hover{
  background:rgba(var(--accent-color-rgb,255,42,42),.12) !important;color:#fff !important;
}
.navbar-item .icon,.navbar-item i{color:var(--r) !important;}

.section-title,.page-title{
  color:#fff !important;font-weight:800 !important;letter-spacing:.4px;
}
.section-title i,.page-title i{color:var(--r) !important;}
.section-title::after{
  content:"";display:block;height:2px;width:54px;margin-top:.5rem;
  background:linear-gradient(90deg,var(--r),transparent);border-radius:2px;
}
.form-label,.meta-label,.stat-label,.limit-label,.timestamp-label,.user-tag,
.info-label,.filter-label,.reason-label{
  color:var(--r-soft) !important;
  text-transform:uppercase !important;
  letter-spacing:.6px !important;
  font-size:.72rem !important;
  font-weight:700 !important;
}
.help{color:var(--ink-dim) !important;text-transform:none !important;letter-spacing:0 !important;}

.form-input,.form-select,.form-textarea,.input,textarea,select,.punishment-input{
  background:#0c0c0e !important;
  border:1px solid var(--r-edge) !important;
  color:var(--ink) !important;
  border-radius:10px !important;
}
.form-input::placeholder,.form-textarea::placeholder,textarea::placeholder,.input::placeholder{color:#6c6c74 !important;}
.form-input:focus,.form-select:focus,.form-textarea:focus,.input:focus,textarea:focus,select:focus,.punishment-input:focus{
  border-color:var(--r) !important;
  box-shadow:0 0 0 3px rgba(var(--accent-color-rgb,255,42,42),.18) !important;
  outline:none !important;
}

.button.is-primary,.button.is-link,.save-button,.submit-button,.discord-button,
.modal-button.primary,.modal-button.confirm-button,.action-button.primary,
.action-button.edit,.action-button.confirm,button[type="submit"],
.search-button,.create-button,.confirm-button,#saveRoleBtn,.error-button.home{
  background:linear-gradient(135deg,var(--r),var(--r-deep)) !important;
  border:none !important;color:#fff !important;font-weight:700 !important;
  border-radius:10px !important;
  box-shadow:0 6px 20px rgba(var(--accent-color-rgb,255,42,42),.32) !important;
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease;
}
.button.is-primary:hover,.save-button:hover,.submit-button:hover,.discord-button:hover,
.modal-button.primary:hover,.modal-button.confirm-button:hover,.action-button.edit:hover,
button[type="submit"]:hover,.search-button:hover,#saveRoleBtn:hover,.error-button.home:hover{
  filter:brightness(1.12);transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(var(--accent-color-rgb,255,42,42),.45) !important;
}

.button.is-danger,.modal-button.danger,.modal-button.delete-button,.action-button.delete,
.action-button.delete2,.delete-button,.danger-button{
  background:linear-gradient(135deg,#ff3b3b,#8e0c16) !important;
  border:none !important;color:#fff !important;font-weight:700 !important;border-radius:10px !important;
}

.button,.modal-button,.action-button,.tab-item,.filter-option,.pagination-link,
.pagination-previous,.pagination-next,.modal-button.cancel-button,.modal-button.cancel,
.cancel-button,.action-button.back,.error-button.logout{
  background:#161618 !important;color:var(--ink) !important;
  border:1px solid var(--r-edge) !important;border-radius:10px !important;
  transition:all .15s ease;
}
.button:hover,.modal-button:hover,.action-button:hover,.tab-item:hover,
.pagination-link:hover,.pagination-previous:hover,.pagination-next:hover,
.filter-option:hover,.cancel-button:hover,.action-button.back:hover{
  border-color:var(--r-line) !important;
  background:color-mix(in srgb, var(--accent-color, #ff2a2a) 16%, #141416) !important;color:#fff !important;
}

.tab-item.active,.filter-option.active,.pagination-link.is-current,.is-selected,
.option-selected,.pill.active,.toggle-btn.active{
  background:linear-gradient(135deg,var(--r),var(--r-deep)) !important;
  color:#fff !important;border-color:transparent !important;
  box-shadow:0 4px 16px rgba(var(--accent-color-rgb,255,42,42),.4) !important;
}

.switch-slider{background-color:rgba(255,255,255,.14) !important;}
.switch-slider:before{background-color:#fff !important;}
.switch input:checked + .switch-slider,
input:checked + .switch-slider,
input:checked ~ .switch-slider{
  background:linear-gradient(90deg,var(--r-deep),var(--r)) !important;
  box-shadow:0 0 10px rgba(var(--accent-color-rgb,255,42,42),.5) !important;
}
.switch input:checked + .switch-slider:before,
input:checked + .switch-slider:before{background-color:#fff !important;}

input[type="checkbox"]:checked + .checkbox-custom,
input[type="radio"]:checked + .radio-custom,
.permission-checkbox:checked + .checkbox-custom{
  background:var(--r) !important;border-color:var(--r) !important;
  box-shadow:0 0 8px rgba(var(--accent-color-rgb,255,42,42),.5) !important;
}

.tag,.status-badge,.count-badge,.badge{border-radius:8px !important;font-weight:700 !important;}
.tag.is-danger,.status-badge.zalba,.appeal-status.pending,.report-status.pending{
  background:rgba(var(--accent-color-rgb,255,42,42),.15) !important;color:var(--r-soft) !important;border:1px solid var(--r-edge) !important;
}

.tag.is-success,.has-text-success{color:#3ddc84 !important;}
.tag.is-warning,.has-text-warning{color:#ffcc4d !important;}

.stat-icon,.feature-icon,.card-icon{color:var(--r) !important;}
hr{background:var(--r-edge) !important;}
.divider,.separator{border-color:var(--r-edge) !important;}
strong,b{color:#fff;}

.feature-item{
  padding:.6rem .9rem !important;
  border-radius:10px !important;
  align-items:flex-start !important;
  gap:.6rem !important;
  line-height:1.4;
  color:#cfcfd4 !important;
  margin-bottom:.6rem !important;
}
.feature-item:hover{transform:none !important;}
.feature-item i{margin-top:.15rem;flex-shrink:0;}

.modern-footer{
  background:#0a0a0c !important;
  border-top:1px solid var(--r-line) !important;
}
