.wrap{max-width:860px;margin:0 auto;padding:28px 0}
h1{margin:20px 0 8px;font-size:30px}
    .sub{color:var(--muted);margin-bottom:18px;line-height:1.8}
    .card{
      background:var(--card);
      border-radius:18px;
      padding:20px;
      box-shadow:0 8px 24px rgba(0,0,0,.08);
    }
    .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    @media(max-width:720px){.grid{grid-template-columns:1fr}}
    label{display:block;margin:0 0 8px;color:var(--muted);font-size:14px}
    input,textarea,select{
      width:100%;
      border:1px solid var(--border);
      border-radius:12px;
      padding:12px;
      font-size:15px;
      background:#fff;
      color:inherit;
    }
    input,select{height:46px}
    textarea{min-height:150px;resize:vertical;line-height:1.7}
    .field{margin-bottom:14px}
    .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
    button{
      border:0;
      border-radius:12px;
      padding:12px 14px;
      cursor:pointer;
      font-size:14px;
    }
    .primary{background:var(--primary);color:#fff}
    .ghost{background:var(--ghost);color:inherit}
    .danger{background:var(--danger);color:inherit}
    .result{
      margin-top:18px;
      padding:16px;
      border:1px solid var(--border);
      border-radius:16px;
      background:#f9fafb;
      color:var(--muted);
      line-height:1.8;
      min-height:56px;
    }
    .result strong{font-size:22px;color:var(--text)}
    .hint{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.7}
    .small{font-size:13px;color:var(--muted)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
    .summary .item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px}
    .summary .num{font-size:20px;font-weight:700;color:var(--text)}
    @media(max-width:720px){.summary{grid-template-columns:1fr}}
