/* ============================================================
   CQS Self Service Password — modern theme
   Loaded via $custom_css, after the default stylesheet.
   ============================================================ */
:root{
  --cqs-navy:#1c3c5e;
  --cqs-teal:#2f7fb0;
  --cqs-ink:#22303c;
  --cqs-muted:#6b7c8a;
  --cqs-radius:16px;
  --cqs-shadow:0 18px 45px rgba(20,40,60,.28);
}

html,body{
  min-height:100%;
  background:linear-gradient(135deg,#1c3c5e 0%,#265a83 52%,#2f7fb0 100%) fixed !important;
  background-size:cover !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--cqs-ink);
}

.container{max-width:640px;padding-top:40px;padding-bottom:40px;}

/* ---- Card ---- */
.panel{
  border:none !important;
  border-radius:var(--cqs-radius) !important;
  box-shadow:var(--cqs-shadow) !important;
  background:#fff;
  overflow:hidden;
}
.panel-success{border-color:transparent !important;}
.panel>.panel-body{padding:24px 26px 30px;}

/* ---- Custom header: logo row + menu row ---- */
.cqs-header{margin-bottom:10px;}
.cqs-logo-row{text-align:center;padding:6px 0 16px;}
.cqs-logo{width:210px;max-width:62%;height:auto;display:inline-block;}

.cqs-menu{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;
  border-top:1px solid #eef2f6;padding-top:12px;
}
.cqs-menu-nav,.cqs-lang{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px;}
.cqs-lang{margin-left:auto;gap:0;align-items:center;}
.cqs-lang>li+li::before{content:"|";color:#cbd5df;font-weight:400;letter-spacing:0;}
.cqs-menu-nav>li>a,.cqs-lang>li>a{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 12px;border-radius:10px;font-weight:600;font-size:14px;
  color:var(--cqs-navy);text-decoration:none;
}
.cqs-menu-nav>li>a i{color:var(--cqs-teal);}
.cqs-menu-nav>li>a:hover{background:rgba(47,127,176,.12);}
.cqs-menu-nav>li.active>a{background:rgba(47,127,176,.16);color:var(--cqs-navy);}
.cqs-lang>li>a{font-weight:700;letter-spacing:.5px;color:var(--cqs-muted);padding:8px 9px;}
.cqs-lang>li.active>a{color:var(--cqs-teal);}

/* hide the default centered logo (we render our own on row 1) */
.logo.center-block{display:none !important;}

/* ---- Alerts / messages ---- */
.alert{border:none;border-radius:12px;padding:13px 16px;box-shadow:0 2px 8px rgba(20,40,60,.05);}
.result.alert-success{background:#e7f6ef;color:#1f7a54;}
.alert-warning{background:#fff5e0;color:#8a6412;}
.help.alert-warning{background:#f4f7fb;color:var(--cqs-muted);}
.help.alert-warning ul{padding-left:18px;margin-bottom:0;}
.alert-danger{background:#fdecec;color:#b13b3b;}
.alert-info{background:transparent;padding:0;box-shadow:none;}

/* ---- Form ---- */
.form-horizontal .control-label{color:var(--cqs-navy);font-weight:600;padding-top:11px;}
.form-group{margin-bottom:9px;}
.input-group-addon{background:var(--cqs-navy);border:none;color:#fff;border-radius:12px 0 0 12px;min-width:44px;}
.form-control{
  height:46px;border:1.5px solid #e1e8ef;border-radius:0 12px 12px 0;
  box-shadow:none;font-size:15px;color:var(--cqs-ink);
}
.input-group .form-control{border-left:none;}
.form-control:focus{border-color:var(--cqs-teal);box-shadow:0 0 0 3px rgba(47,127,176,.18);}
.form-control::placeholder{color:#9fb0bd;}
.form-group img{border-radius:10px;}

/* Captcha + refresh */
.captcha{white-space:nowrap;}
.captcha>img{border-radius:10px;vertical-align:middle;}
.captcha-refresh{display:inline-block;margin-left:8px;color:var(--cqs-teal);font-size:17px;vertical-align:middle;cursor:pointer;}
.captcha-refresh:hover{color:var(--cqs-navy);text-decoration:none;}

/* ---- Buttons ---- */
.btn{border-radius:12px;font-weight:600;padding:10px 20px;border:none;}
.btn-success,.btn-primary{
  background:linear-gradient(135deg,var(--cqs-teal) 0%,#245f88 100%) !important;
  color:#fff !important;box-shadow:0 8px 18px rgba(47,127,176,.35);
}
.btn-success:hover,.btn-primary:hover{filter:brightness(1.05);}
.btn-default{background:#eef2f6 !important;color:var(--cqs-navy) !important;}

/* ---- Misc ---- */
.progress{border-radius:10px;height:8px;}
.popover{border-radius:12px;border:none;box-shadow:var(--cqs-shadow);}
