
:root{
  --brand-start:#6c47ff; /* brand violet */
  --brand-end:#241f6b;   /* deep violet */
  --panel:#f5f6fa;
  --text:#1a1b2e;
}
html, body {
  height: 100%;
}
body{
  min-height:100vh;
  background: linear-gradient(135deg, #5e5e5f 0%, #241b3a 40%, #5e3bb4 100%);
  background-attachment: fixed;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}
.cp-auth-wrapper{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.cp-auth-card{
  background:#0f1222cc;
  backdrop-filter: blur(6px);
  color:#fff;
  border-radius:18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
  width:100%;
  max-width:460px;
  padding:28px;
}
.cp-logo{
  font-weight:800;
  letter-spacing:.5px;
  font-size:28px;
  align-items:center;
  text-align: center;
  gap:10px;
}
.cp-logo .badge{
  background:linear-gradient(135deg,#7d58ff,#5f45db);
}
.form-control, .form-select{
  background:#121635;
  border:1px solid #2a325b;
  color:#e8eaf6;
}
.form-control:focus{
  border-color:#7d58ff;
  box-shadow: 0 0 0 .25rem rgba(125,88,255,.25);
}
.btn-brand{
  background: linear-gradient(135deg,#7d58ff,#5f45db);
  border:none;
  color:#fff;
}
.btn-brand:hover{
  filter:brightness(1.05);
}
.cp-dash{
  padding:22px;
}
.cp-topbar{
  background:#eceef7;
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cp-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
}
@media(min-width: 576px){
  .cp-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media(min-width: 992px){
  .cp-grid{ grid-template-columns: repeat(4, 1fr); }
}
.cp-tile{
  background:#eceef7;
  border-radius:16px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:120px;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  border:1px solid #dfe3f3;
  transition: transform .08s ease, box-shadow .2s ease;
}
.cp-tile:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.cp-ico{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#7d58ff,#5f45db);
  color:#fff;
  font-size:20px;
}
.cp-tlabel{
  margin:0;
  font-weight:600;
  color:#1b2145;
}
.cp-muted{
  color:#5b6280;
  font-size:.9rem;
}
.cp-logout{
  color:#5b6280;
  text-decoration:none;
}
.cp-logout:hover{ color:#000; }
.footer-note{
  color:#d9dcf2;
  text-align:center;
  font-size:.85rem;
  margin-top:16px;
}
.header-section {
  position: relative;
  margin-bottom: 10px;
}

.alert-banner {
  background: linear-gradient(90deg, #8b5cf6, #ff9800);
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 8px 0;
  border-radius: 10px;
  box-shadow: 0 0 12px rgba(139, 92, 246, 0.6);
  margin-top: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.03); }
}
