:root{
  --bg:#070909;
  --surface:#0e1212;
  --surface-2:#121717;
  --surface-3:#171d1d;
  --cyan:#19cfe1;
  --green:#19df88;
  --white:#ffffff;
  --text:#d8dddd;
  --muted:#8f9999;
  --border:#252d2d;
  --dark:#061012;
}

*{box-sizing:border-box}

html{background:var(--bg)}

body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--white);
  font-family:Inter,Arial,Helvetica,sans-serif;
}

button,input,textarea,select{font:inherit}

button{cursor:pointer}

.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
}

.preview-column{
  min-width:0;
  padding:34px;
  display:flex;
  flex-direction:column;
}

.preview-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.app-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
}

.preview-top h1,
.editor-heading h2{
  margin:0;
  font-size:24px;
  letter-spacing:-.6px;
}

.preview-label{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.2px;
}

.page-stage{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:8px 0 28px;
}

.pdf-preview{
  width:min(100%,650px);
  aspect-ratio:210/297;
  min-height:0;
  overflow:hidden;
  background:#070909;
  border-radius:18px;
  padding:7.2% 6.8% 5.6%;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  display:flex;
  flex-direction:column;
}

.pdf-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.5%;
  margin-bottom:7%;
}

.pdf-brand-symbol{
  width:5.5%;
  aspect-ratio:1;
  min-width:28px;
  border-radius:9px;
  background:var(--cyan);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:clamp(9px,1.25vw,13px);
  font-weight:900;
}

.pdf-brand-name{
  font-size:clamp(10px,1.35vw,14px);
  font-weight:900;
  letter-spacing:2px;
}

.pdf-hero{
  max-width:92%;
  margin:0 auto;
  text-align:center;
}

.pdf-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:2.4%;
  color:var(--cyan);
  font-size:clamp(8px,1.15vw,11px);
  font-weight:900;
  letter-spacing:1px;
}

.pdf-status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
}

.pdf-hero h2{
  margin:0;
  font-size:clamp(27px,4.1vw,43px);
  line-height:1.08;
  letter-spacing:-1.2px;
}

.cyan{color:var(--cyan)}

.pdf-hero p{
  max-width:91%;
  margin:3.4% auto 0;
  color:var(--text);
  font-size:clamp(10px,1.42vw,14px);
  line-height:1.62;
}

.pdf-cta-wrap{
  display:flex;
  justify-content:center;
  margin:5.8% 0 6.2%;
}

.pdf-cta{
  min-width:45%;
  min-height:48px;
  padding:0 24px;
  border-radius:11px;
  background:var(--cyan);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:clamp(11px,1.5vw,15px);
  font-weight:900;
}

.pdf-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5%;
}

.pdf-info-card{
  min-height:180px;
  padding:5.7%;
  border-radius:15px;
  background:#101414;
}

.pdf-info-icon{
  width:42px;
  height:42px;
  margin-bottom:7%;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pdf-info-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

.cyan-icon{
  color:var(--cyan);
  background:#0b1a1c;
}

.green-icon{
  color:var(--green);
  background:#0c1b15;
}

.pdf-info-card h3{
  margin:0 0 4%;
  color:var(--cyan);
  font-size:clamp(9px,1.25vw,12px);
  letter-spacing:.8px;
}

.pdf-info-card h3.green-title{color:var(--green)}

.pdf-info-card p{
  margin:0;
  color:var(--text);
  font-size:clamp(9px,1.25vw,12px);
  line-height:1.62;
}

.pdf-footer{
  margin-top:auto;
  padding-top:5.5%;
  text-align:center;
  color:var(--muted);
  font-size:clamp(8px,1.12vw,11px);
  line-height:1.55;
}

.pdf-footer p{margin:0}

.pdf-footer strong{
  display:block;
  margin-top:2.4%;
  color:var(--cyan);
  font-size:clamp(9px,1.25vw,12px);
}

.editor-panel{
  height:100vh;
  overflow:auto;
  padding:34px;
  background:var(--surface);
  border-left:1px solid var(--border);
}

.editor-heading{
  margin-bottom:28px;
}

.editor-heading p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.control-group{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.two-cols{
  grid-template-columns:1fr 1fr;
  gap:12px;
}

label{
  display:grid;
  gap:7px;
}

label>span{
  color:#cfd5d5;
  font-size:12px;
  font-weight:800;
}

input,textarea,select{
  width:100%;
  border:1px solid var(--border);
  outline:none;
  border-radius:10px;
  background:var(--surface-2);
  color:var(--white);
  padding:12px 13px;
  transition:border-color .15s ease,background .15s ease;
}

input:focus,textarea:focus,select:focus{
  border-color:var(--cyan);
  background:var(--surface-3);
}

textarea{
  resize:vertical;
  min-height:88px;
  line-height:1.45;
}

small{
  color:var(--muted);
  font-size:11px;
}

.text-editor{
  margin-top:28px;
}

.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.section-title h3{
  margin:0;
  font-size:17px;
}

.ghost-button{
  border:0;
  border-radius:9px;
  background:var(--surface-2);
  color:#cfd5d5;
  padding:10px 12px;
  font-size:11px;
  font-weight:800;
}

.ghost-button:hover{background:var(--surface-3)}

.fields-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.fields-grid .full{grid-column:1/-1}

.download-pdf-button{
  width:100%;
  min-height:56px;
  margin-top:24px;
  border:0;
  border-radius:12px;
  background:var(--cyan);
  color:var(--dark);
  font-weight:900;
  font-size:15px;
}

.download-pdf-button:hover{filter:brightness(1.04)}

.local-note{
  margin:13px 0 0;
  color:var(--muted);
  text-align:center;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:1020px){
  .app-shell{grid-template-columns:1fr}
  .editor-panel{
    height:auto;
    overflow:visible;
    border-left:0;
    border-top:1px solid var(--border);
  }
  .pdf-preview{max-width:650px}
}

@media(max-width:620px){
  .preview-column,.editor-panel{padding:22px}
  .preview-top{align-items:center}
  .preview-top h1{font-size:20px}
  .page-stage{padding-bottom:10px}
  .pdf-preview{border-radius:13px}
  .two-cols,.fields-grid{grid-template-columns:1fr}
  .fields-grid .full{grid-column:auto}
  .pdf-info-grid{grid-template-columns:1fr}
  .pdf-info-card{min-height:auto}
}
