:root{--green:#16a34a;--green-dark:#15803d;--green-light:#dcfce7;--bg:#f1f5f9;--card:#ffffff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--border-focus:#16a34a;--danger:#dc2626;--warn-bg:#fef9c3;--warn-text:#854d0e;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,0.08),0 8px 24px rgba(0,0,0,0.05)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.page{min-height:100vh;padding:24px 16px 64px}.container{max-width:820px;margin:0 auto}.header{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border-radius:var(--radius);padding:28px 24px;margin-bottom:20px;box-shadow:var(--shadow)}.header h1{margin:0 0 6px;font-size:22px;font-weight:700}.header p{margin:0;opacity:.92;font-size:14px}.card{background:var(--card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.section{margin-bottom:28px}.section:last-of-type{margin-bottom:8px}.section-title{font-size:16px;font-weight:700;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--green-light);color:var(--green-dark)}.section-hint{font-size:13px;color:var(--muted);margin:-6px 0 16px}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--text)}input[type=number],input[type=text]{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:15px;font-family:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}input[type=number]:focus,input[type=text]:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(22,163,74,.15)}.lists{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}.list-field{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:14px}.list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.list-label{font-size:13px;font-weight:600;line-height:1.3}.badge{flex-shrink:0;min-width:24px;height:24px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;border-radius:999px;font-size:12px;font-weight:700}.name-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.name-row{display:flex;align-items:center;gap:6px}.row-num{flex-shrink:0;width:20px;font-size:12px;color:var(--muted);text-align:right}.name-row input{flex:1 1;padding:8px 10px;font-size:14px}.remove-btn{flex-shrink:0;width:30px;height:30px;border:none;background:#fee2e2;color:var(--danger);border-radius:7px;font-size:20px;line-height:1;cursor:pointer;transition:background .15s}.remove-btn:hover{background:#fecaca}.add-btn{width:100%;padding:8px;border:1.5px dashed var(--green);background:transparent;color:var(--green-dark);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.add-btn:hover{background:var(--green-light)}.primary-btn{background:var(--green);color:#fff;border:none;border-radius:10px;padding:14px 24px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,transform .05s}.primary-btn:hover{background:var(--green-dark)}.primary-btn:active{transform:translateY(1px)}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.submit{width:100%;margin-top:8px}.warn{margin:14px 0 0;padding:10px 12px;background:var(--warn-bg);color:var(--warn-text);border-radius:8px;font-size:13px}.error-banner{margin:0 0 16px;padding:12px 14px;background:#fee2e2;color:var(--danger);border-radius:8px;font-size:14px;font-weight:500}.success-card{text-align:center;padding:48px 24px}.success-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--green-light);color:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700}.success-card h2{margin:0 0 8px;color:var(--green-dark)}.success-card p{margin:0 0 24px;color:var(--muted)}.footer{margin-top:18px;text-align:center}.footer p{font-size:12px;color:var(--muted);margin:0}@media (max-width:640px){.grid,.lists{grid-template-columns:1fr}.header h1{font-size:19px}.card{padding:18px}}