/* QLCV final polish layer — additive, reversible */
:root{
  --q-bg:#061d30;--q-panel:#123858;--q-panel2:#0d304c;--q-line:#285a78;
  --q-text:#f5f9fc;--q-muted:#9dc0d7;--q-accent:#35d4ca;--q-danger:#ff6470;
}
html{scroll-behavior:smooth}
body{background:var(--q-bg);color:var(--q-text)}
main, .main-content, .content{min-width:0}
input,select,textarea,button{font:inherit}
input,select,textarea{border-radius:10px!important}
button,.btn,.qlcv-btn{border-radius:10px!important}
table{border-collapse:collapse}
.qlcv-card,.panel,.card{overflow:hidden}
.qlcv-page,.page-shell{max-width:1340px;margin-inline:auto}
.qlcv-page-head h1{line-height:1.08}
.qlcv-card h2,.panel h2{line-height:1.15}
.qlcv-muted,small{color:var(--q-muted)}
/* Login: native password reveal button is replaced by a stable button */
.qlcv-password-wrap{position:relative}
.qlcv-password-wrap input{padding-right:52px!important}
.qlcv-password-toggle{
 position:absolute;right:8px;top:50%;transform:translateY(-50%);
 width:38px;height:38px;border:0;border-radius:9px!important;
 display:grid;place-items:center;background:transparent;color:#54718a;
 cursor:pointer;font-size:18px;line-height:1
}
.qlcv-password-toggle:hover,.qlcv-password-toggle:focus{background:#d9e9f5;color:#07304c;outline:none}
.qlcv-password-toggle svg{width:20px;height:20px}
/* Task detail safeguards */
.qlcv-task-detail-enhanced .detail-grid{align-items:start}
.qlcv-task-detail-enhanced .info-grid>div{min-width:0}
.qlcv-task-detail-enhanced .info-grid strong{overflow-wrap:anywhere}
.qlcv-task-detail-enhanced table td,.qlcv-task-detail-enhanced table th{padding:12px 10px}
/* Responsive global pass */
@media(max-width:900px){
 .qlcv-page,.page-shell{padding-inline:16px}
 .detail-grid,.qlcv-profile-grid{grid-template-columns:1fr!important}
 .info-grid{grid-template-columns:1fr!important}
 .timeline-chain{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .qlcv-card,.panel{min-width:0}
}
@media(max-width:640px){
 h1{font-size:clamp(28px,9vw,40px)!important}
 h2{font-size:clamp(20px,6vw,28px)!important}
 .timeline-chain{grid-template-columns:1fr!important}
 .qlcv-form-actions,.detail-head{flex-wrap:wrap}
 input,select,textarea,.qlcv-btn,.btn,button{min-height:44px}
 table{font-size:14px}
}

/* Login password text toggle */
.qlcv-password-wrap{
  position:relative;
}
.qlcv-password-wrap input{
  padding-right:118px!important;
}
.qlcv-password-toggle{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  min-width:96px!important;
  height:34px!important;
  padding:0 8px!important;
  border:0!important;
  background:transparent!important;
  color:#31516b!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
}
.qlcv-password-toggle:hover,
.qlcv-password-toggle:focus{
  background:rgba(13,48,76,.08)!important;
  color:#0b3653!important;
  outline:none!important;
}
.qlcv-password-toggle svg{
  display:none!important;
}

/* Login password checkbox — clearer than tiny icon */
.qlcv-password-wrap{
  position:relative!important;
}
.qlcv-password-wrap input{
  padding-right:12px!important;
}
.qlcv-password-toggle{
  display:none!important;
}
.qlcv-show-password-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  color:#c9dbe7;
  font-size:14px;
  user-select:none;
}
.qlcv-show-password-row input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:0!important;
  accent-color:#36d3c6;
  cursor:pointer;
}
.qlcv-show-password-row label{
  margin:0!important;
  cursor:pointer;
  font-weight:400!important;
  color:#c9dbe7!important;
}

/* Login password checkbox — clearer than tiny icon */
.qlcv-password-wrap{
  position:relative!important;
}
.qlcv-password-wrap input{
  padding-right:12px!important;
}
.qlcv-password-toggle{
  display:none!important;
}
.qlcv-show-password-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  color:#c9dbe7;
  font-size:14px;
  user-select:none;
}
.qlcv-show-password-row input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-height:0!important;
  margin:0!important;
  accent-color:#36d3c6;
  cursor:pointer;
}
.qlcv-show-password-row label{
  margin:0!important;
  cursor:pointer;
  font-weight:400!important;
  color:#c9dbe7!important;
}
