/* DevCamp CV Builder - V16.44 visual fix */
:root{
  --cv-dark:#071827;
  --cv-navy:#0b345c;
  --cv-blue:#1479ff;
  --cv-orange:#ff7a18;
  --cv-gold:#ffc043;
  --cv-text:#0f172a;
  --cv-muted:#64748b;
  --cv-border:#d9e3ef;
  --cv-soft:#f4f8ff;
  --cv-white:#ffffff;
}

.cv-hero,
.cv-dashboard{
  direction:rtl;
  text-align:right;
  font-family:inherit;
}

.cv-hero{
  position:relative;
  padding:135px 0 78px;
  background:
    radial-gradient(circle at 14% 12%, rgba(255,122,24,.34), transparent 31%),
    radial-gradient(circle at 88% 18%, rgba(20,121,255,.34), transparent 34%),
    linear-gradient(135deg,#06192d 0%, #0b1020 58%, #071827 100%);
  color:#fff;
  overflow:hidden;
}
.cv-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 80%);
  pointer-events:none;
}
.cv-hero .container{position:relative;z-index:2}
.cv-hero h1{
  font-size:clamp(34px,5vw,64px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:18px;
  color:#fff;
}
.cv-hero .lead{
  color:#e8f1ff;
  max-width:820px;
  line-height:1.9;
  font-size:1.08rem;
}
.cv-hero .pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.1);
  color:#fff;
  font-weight:800;
  margin-bottom:16px;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}

.cv-card,
.cv-panel,
.cv-request-card{
  border-radius:24px;
  box-shadow:0 20px 55px rgba(2,8,23,.14);
}
.cv-card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.5);
  padding:26px;
  color:var(--cv-text) !important;
  backdrop-filter:blur(14px);
}
.cv-card h1,.cv-card h2,.cv-card h3,.cv-card h4,.cv-card h5,
.cv-panel h1,.cv-panel h2,.cv-panel h3,.cv-panel h4,.cv-panel h5{
  color:var(--cv-navy) !important;
  font-weight:900;
}
.cv-card p,
.cv-panel p,
.cv-card span,
.cv-panel span,
.cv-card small,
.cv-panel small{
  color:inherit;
}

.cv-dashboard{
  padding:118px 0 68px;
  background:
    radial-gradient(circle at 90% 10%,rgba(20,121,255,.13),transparent 32%),
    linear-gradient(180deg,#eef5ff 0%,#f8fbff 100%);
  min-height:100vh;
  color:var(--cv-text);
}
.cv-panel{
  background:#fff !important;
  border:1px solid #e1e9f5;
  padding:24px;
  color:var(--cv-text) !important;
}
.cv-request-card{
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid #e6eef8;
  padding:18px;
  margin-bottom:15px;
  color:var(--cv-text);
}

.cv-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.cv-topbar h2{font-weight:900;color:var(--cv-navy);margin-bottom:6px}
.cv-topbar .text-muted{color:var(--cv-muted) !important}
.cv-nav{display:flex;gap:10px;flex-wrap:wrap}
.cv-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e1e9f5;
  text-decoration:none;
  color:var(--cv-navy) !important;
  font-weight:800;
  box-shadow:0 8px 25px rgba(15,23,42,.07);
}
.cv-nav a.active,
.cv-nav a:hover{
  background:linear-gradient(90deg,var(--cv-orange),var(--cv-gold));
  color:#111827 !important;
  border-color:transparent;
}

.cv-stat{
  background:#fff;
  border:1px solid #e4edf8;
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 35px rgba(15,23,42,.09);
  height:100%;
  color:var(--cv-text);
}
.cv-stat span{color:var(--cv-muted) !important;font-weight:800}
.cv-stat strong{font-size:30px;color:var(--cv-navy);font-weight:900}

.cv-public label,
.cv-dashboard label,
.cv-card label,
.cv-panel label{
  display:block;
  color:var(--cv-navy) !important;
  font-weight:900;
  margin-bottom:7px;
  font-size:.94rem;
}
.cv-public .form-control,
.cv-public .form-select,
.cv-public textarea,
.cv-card .form-control,
.cv-card .form-select,
.cv-panel .form-control,
.cv-panel .form-select,
.cv-panel textarea,
.cv-card textarea{
  width:100%;
  background:#fff !important;
  color:var(--cv-text) !important;
  border:1px solid var(--cv-border) !important;
  border-radius:15px !important;
  min-height:48px;
  padding:12px 14px;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
  outline:none;
}
.cv-public textarea,
.cv-panel textarea,
.cv-card textarea{min-height:auto;line-height:1.75}
.cv-public .form-control::placeholder,
.cv-public textarea::placeholder{
  color:#94a3b8 !important;
  opacity:1;
}
.cv-public .form-control:focus,
.cv-public .form-select:focus,
.cv-public textarea:focus,
.cv-panel .form-control:focus,
.cv-panel .form-select:focus,
.cv-panel textarea:focus{
  border-color:var(--cv-orange) !important;
  box-shadow:0 0 0 .22rem rgba(255,122,24,.17),0 12px 30px rgba(15,23,42,.08) !important;
}
.cv-public input[type="file"]{padding:10px 14px;background:#fff !important;color:var(--cv-text) !important}
.cv-public .btn,
.cv-dashboard .btn{
  border-radius:15px;
  font-weight:900;
  min-height:45px;
}
.cv-public .btn-outline-light{
  color:#fff !important;
  border-color:rgba(255,255,255,.62) !important;
}
.cv-card .btn-outline-light,
.cv-panel .btn-outline-light{
  color:var(--cv-navy) !important;
  border-color:var(--cv-navy) !important;
  background:#fff !important;
}
.cv-card .btn-outline-light:hover,
.cv-panel .btn-outline-light:hover{
  background:var(--cv-navy) !important;
  color:#fff !important;
}

.cv-login-grid{margin-top:28px}
.cv-auth-card{
  position:relative;
  overflow:hidden;
}
.cv-auth-card:before{
  content:"";
  position:absolute;
  top:-80px;
  inset-inline-end:-80px;
  width:180px;
  height:180px;
  background:radial-gradient(circle,rgba(255,122,24,.18),transparent 70%);
  pointer-events:none;
}
.cv-auth-card form{position:relative;z-index:1}
.cv-help-text{color:var(--cv-muted)!important;font-size:.92rem;line-height:1.8}

.cv-actions a,.cv-actions button{border-radius:14px}
.cv-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cv-download-btn{
  display:inline-flex;
  gap:8px;
  align-items:center;
  border-radius:12px;
  padding:9px 13px;
  text-decoration:none;
  background:var(--cv-navy);
  color:#fff !important;
  margin:3px;
  font-weight:800;
}
.cv-download-btn:hover{background:#0f4a80;color:#fff}
.cv-table-wrap,.cv-dashboard .table-responsive{border-radius:18px;overflow:auto;border:1px solid #e7eef8;background:#fff}
.cv-dashboard table{color:var(--cv-text)}
.cv-dashboard .table>:not(caption)>*>*{vertical-align:middle}

@media(max-width:991px){
  .cv-hero{padding:112px 0 58px}
  .cv-card,.cv-panel{padding:20px;border-radius:22px}
}
@media(max-width:768px){
  .cv-hero{padding-top:105px}
  .cv-hero h1{font-size:36px}
  .cv-hero .lead{font-size:1rem}
  .cv-topbar{display:block}
  .cv-nav{margin-top:14px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
  .cv-nav a{white-space:nowrap;min-width:max-content}
  .cv-dashboard{padding-top:100px}
  .cv-public .form-control,
  .cv-public .form-select,
  .cv-public textarea{font-size:16px}
  .cv-stat strong{font-size:25px}
  .cv-card .row>[class*="col-"],
  .cv-panel .row>[class*="col-"]{margin-bottom:0}
}

/* V16.49 - CV pages responsive layout fix */
.cv-dashboard{padding-top:118px!important;}
.cv-dashboard .container{max-width:1320px;}
.cv-panel{overflow:hidden;}
.cv-panel.bg-white{background:#fff!important;}
.cv-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:2px;}
.cv-template-grid label{position:relative;display:block;margin:0!important;cursor:pointer;}
.cv-template-grid input{position:absolute;opacity:0;pointer-events:none;}
.cv-template-preview{border:2px solid #e5e7eb;border-radius:18px;background:#fff;padding:12px;min-height:142px;transition:.2s ease;box-shadow:0 8px 24px rgba(15,23,42,.07);}
.cv-template-grid input:checked + .cv-template-preview{border-color:var(--cv-accent);box-shadow:0 14px 30px rgba(15,23,42,.16);transform:translateY(-2px);}
.cv-prev-head{height:48px;border-radius:13px;background:linear-gradient(135deg,var(--cv-side),var(--cv-accent));margin-bottom:11px;}
.cv-prev-body span{display:block;height:8px;border-radius:999px;background:#d1d5db;margin-bottom:7px;}
.cv-prev-body span:nth-child(2){width:72%;}
.cv-prev-body span:nth-child(3){width:52%;}
.cv-template-preview strong{display:block;color:#111827;font-size:13px;margin-top:9px;text-align:center;}
.cv-dashboard .alert{border-radius:16px;font-weight:800;}
.cv-dashboard .row.g-3.mb-4{align-items:stretch;}
.cv-dashboard .cv-stat{min-height:100%;}
.cv-request-card .d-flex{gap:10px;align-items:flex-start;}
.cv-request-card strong{color:var(--cv-navy);}
.cv-dashboard .badge{font-size:12px;padding:7px 10px;border-radius:999px;}
.cv-dashboard .btn-gradient{box-shadow:0 12px 28px rgba(20,121,255,.18);}

@media(max-width:991.98px){
  .cv-dashboard{padding-top:90px!important;}
  .cv-dashboard .row.g-4{--bs-gutter-y:1rem;}
  .cv-topbar{display:block!important;margin-bottom:16px;}
  .cv-topbar h2{font-size:1.45rem;}
  .cv-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;overflow:visible!important;padding-bottom:0!important;}
  .cv-nav a{min-width:0!important;width:100%;white-space:normal!important;text-align:center;padding:9px 8px;font-size:12px;}
  .cv-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .cv-template-preview{min-height:126px;padding:10px;border-radius:15px;}
  .cv-prev-head{height:38px;}
  .cv-panel{padding:18px!important;border-radius:20px!important;}
  .cv-dashboard .form-control,.cv-dashboard .form-select,.cv-dashboard textarea{font-size:16px!important;}
  .cv-request-card .d-flex{display:block!important;}
  .cv-download-btn{width:100%;justify-content:center;margin:4px 0;}
}

@media(max-width:430px){
  .cv-dashboard{padding-top:82px!important;}
  .cv-nav{grid-template-columns:1fr!important;}
  .cv-template-grid{grid-template-columns:1fr 1fr;}
  .cv-template-preview strong{font-size:12px;}
  .cv-panel{padding:15px!important;}
}
