:root{
    --bg:#0a0e14; --accent:#3ba7ff; --accent-2:#5ce1c8;
    --silver:#c7d2dc; --text:#1c232c; --text-dim:#5a6672; --border:#d8dee4;
    --shadow:0 24px 50px rgba(12,18,26,.12); --shadow-strong:0 28px 60px rgba(7,12,18,.18);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Segoe UI',Arial,sans-serif;
    color:var(--text);
    line-height:1.65;
    background:
      radial-gradient(circle at top left, rgba(59,167,255,.08), transparent 28%),
      radial-gradient(circle at bottom right, rgba(92,225,200,.08), transparent 28%),
      linear-gradient(180deg,#f7fafc 0%,#eef3f8 100%);
  }
  .page{max-width:980px;margin:0 auto;padding:42px 24px 56px;}
  .cover{
    position:relative;
    overflow:hidden;
    background:
      linear-gradient(145deg, rgba(255,255,255,.08), transparent 28%),
      linear-gradient(135deg,#0a0e14,#101b29 55%,#14263a);
    color:#fff;
    padding:66px 48px 40px;
    text-align:center;
    border-radius:0 0 22px 22px;
    box-shadow:var(--shadow-strong);
    border:1px solid rgba(255,255,255,.08);
  }
  .cover::before,
  .cover::after{content:"";position:absolute;border-radius:50%;filter:blur(16px);pointer-events:none;}
  .cover::before{width:180px;height:180px;right:-40px;top:-40px;background:rgba(92,225,200,.18);}
  .cover::after{width:220px;height:220px;left:-60px;bottom:-90px;background:rgba(59,167,255,.16);}
  .cover-brand{display:flex;justify-content:center;margin-bottom:18px;}
  .cover-brand img{width:min(160px,40vw);height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35));}
  .cover h1{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:10px;letter-spacing:0.3px;text-shadow:0 2px 0 rgba(255,255,255,.08),0 18px 36px rgba(0,0,0,.25);}
  .hero-nav{display:flex;justify-content:center;margin-top:10px;margin-bottom:8px;}
  .hero-back-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 18px;border-radius:999px;
    color:#d6e5f3;text-decoration:none;font-weight:600;font-size:.92rem;letter-spacing:.2px;
    border:1px solid rgba(92,225,200,.38);
    background:linear-gradient(145deg,rgba(92,225,200,.16),rgba(59,167,255,.14));
    box-shadow:0 10px 22px rgba(4,10,16,.32), inset 0 1px 0 rgba(255,255,255,.22);
    backdrop-filter:blur(6px);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
  }
  .hero-back-btn:hover{
    transform:translateY(-2px);
    color:#ffffff;
    border-color:rgba(92,225,200,.7);
    box-shadow:0 16px 30px rgba(4,10,16,.38), inset 0 1px 0 rgba(255,255,255,.28);
  }
  .hero-back-btn:active{transform:translateY(0);}
  .hero-back-btn::before{content:'\2190';font-size:1rem;line-height:1;}
  .cover .sub{color:var(--accent-2);font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;}
  .cover .field{margin-top:12px;font-size:1rem;color:var(--silver);}
  h2{color:#0a0e14;font-size:1.2rem;margin:36px 0 12px;border-bottom:2px solid var(--accent);padding-bottom:6px;}
  p{margin-bottom:12px;color:var(--text-dim);}
  ul,ol{margin:0 0 16px 22px;color:var(--text-dim);}
  li{margin-bottom:6px;}
  table{width:100%;border-collapse:separate;border-spacing:0;margin:14px 0 22px;overflow:hidden;border-radius:16px;box-shadow:var(--shadow);}
  th,td{border:1px solid var(--border);padding:9px 12px;text-align:left;font-size:0.9rem;}
  th{background:#f2f6f9;color:#0a0e14;width:38%;}
  tr:nth-child(even) td{background:#fbfdff;}
  .note{background:linear-gradient(145deg,#f2f6f9,#ffffff);border-left:4px solid #e0a030;padding:14px 18px;font-size:0.88rem;margin:16px 0;color:#5a4622;border-radius:12px;box-shadow:0 12px 24px rgba(8,16,24,.08);}
  .info-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;}
  .info-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px 16px;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.16);}
  .info-card span{display:block;color:var(--accent-2);font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;}
  .info-card strong{font-size:.96rem;}
  .sign-block{display:flex;justify-content:space-between;margin-top:60px;gap:24px;}
  .sign{flex:1;text-align:center;background:linear-gradient(180deg,#ffffff,#f5f8fb);border:1px solid var(--border);border-radius:16px;padding:24px 16px;box-shadow:var(--shadow);}
  .sign .line{border-top:1px solid #333;margin-bottom:8px;padding-top:60px;}
  .builder{margin-top:26px;margin-bottom:26px;padding:22px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f7fbff);box-shadow:var(--shadow);}
  .builder h2{margin-top:0;}
  .builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
  .builder-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff;box-shadow:0 12px 24px rgba(8,16,24,.06);}
  .builder-card h3{font-size:1rem;margin-bottom:12px;color:#0a0e14;}
  .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .field{display:grid;gap:6px;}
  .field label{font-size:.78rem;letter-spacing:.5px;text-transform:uppercase;color:#5a6672;}
  .field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #ccd7e2;border-radius:10px;background:#fff;font:inherit;color:#1c232c;}
  .field textarea{min-height:92px;resize:vertical;}
  .field.wide{grid-column:1 / -1;}
  .builder-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
  .action-btn{appearance:none;border:0;border-radius:999px;padding:11px 16px;font:inherit;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;}
  .action-btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
  .action-btn:hover{transform:translateY(-2px);}
  .action-primary{color:#0f151d;background:linear-gradient(130deg,var(--accent),var(--accent-2));box-shadow:0 12px 24px rgba(59,167,255,.18);}
  .action-secondary{color:#0a0e14;background:#eef4f8;border:1px solid #cfd9e3;}
  .signature-box{display:grid;gap:12px;}
  .signature-pad{border:1px solid #cfd9e3;border-radius:14px;background:linear-gradient(180deg,#fff,#f6fafc);padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);}
  .signature-canvas{width:100%;height:180px;display:block;border-radius:12px;background:#fff;touch-action:none;cursor:crosshair;}
  .signature-canvas.signature-copy{display:none;}
  .signature-help{font-size:.88rem;color:#5a6672;}
  .preview-box{display:grid;gap:10px;}
  .preview-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f8fbfd;border:1px solid #e1e8ef;}
  .preview-row span:first-child{color:#5a6672;}
  .preview-row strong{color:#0a0e14;text-align:right;}
  .signature-line{margin-top:14px;border:1px dashed #9fb0bf;border-radius:14px;padding:10px;background:#fff;}
  .signature-line .line{padding-top:48px;margin-bottom:8px;}
  .signature-name{font-weight:700;color:#0a0e14;}
  .external-sign{margin-top:20px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fff,#f5f9fc);box-shadow:0 10px 22px rgba(8,16,24,.08);display:grid;gap:12px;}
  .external-sign h3{font-size:1.02rem;color:#0a0e14;}
  .external-sign p{margin:0;color:#4f5d6b;font-size:.93rem;}
  .steps{display:grid;gap:6px;margin-left:18px;color:#4f5d6b;}
  .upload-status{font-size:.9rem;color:#4f5d6b;padding:10px 12px;border:1px dashed #c6d3df;border-radius:12px;background:#fbfdff;}
  .upload-status.ok{color:#10603f;border-color:#74c9a1;background:#edf9f2;}
  .upload-status.error{color:#8d1f2f;border-color:#f0b4be;background:#fff2f4;}
  .footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--border);font-size:0.8rem;color:var(--text-dim);text-align:center;}
  @media (max-width: 720px){
    .page{padding:18px 12px 34px;}
    .cover{padding:54px 20px 34px;}
    .info-panel{grid-template-columns:1fr;}
    .builder-grid,.field-grid{grid-template-columns:1fr;}
    .sign-block{flex-direction:column;}
  }
  .signature-place-date{margin-top:30px;}
  @media print{ .cover{border-radius:0;box-shadow:none;} body{background:#fff;} .signature-pad{display:none;} .signature-canvas.signature-copy{display:block;} }
