.generator-page .content-page-container{width:min(calc(100% - 24px),1280px)}
.generator-page .content-page-card{padding:clamp(20px,4vw,48px)}
.generator-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;align-items:center;margin-bottom:32px}
.generator-hero h1{max-width:800px}
.generator-badges{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.generator-badges li{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-size:.92rem}
.generator-privacy{padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.82))}
.generator-privacy strong{display:block;margin-bottom:6px}
.generator-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:24px;align-items:start;min-width:0}
.generator-form,.generator-summary,.generator-info-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:0 16px 45px rgba(17,37,55,.08)}
.generator-form{padding:clamp(18px,3vw,32px);min-width:0}
.generator-summary{position:sticky;top:116px;padding:24px;min-width:0}
.generator-section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}
.generator-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.generator-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.generator-section-heading h2,.generator-section-heading h3{margin:0}
.generator-section-heading p{margin:6px 0 0;color:var(--muted)}
.generator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.generator-field{display:flex;flex-direction:column;gap:7px}
.generator-field.full{grid-column:1/-1}
.generator-field label,.generator-label{font-weight:700;font-size:.92rem}
.generator-field input,.generator-field select,.generator-field textarea,.item-row input,.item-row select{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--text);font:inherit}
.generator-field textarea{min-height:92px;resize:vertical}
.generator-field input:focus,.generator-field select:focus,.generator-field textarea:focus,.item-row input:focus,.item-row select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}
.generator-help{font-size:.82rem;color:var(--muted)}
.price-mode{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}
.price-mode button{border:0;border-radius:999px;padding:8px 13px;background:transparent;color:var(--muted);cursor:pointer}
.price-mode button[aria-pressed="true"]{background:var(--surface-strong);color:var(--text);box-shadow:0 3px 10px rgba(17,37,55,.1)}
.items-scroll{max-width:100%;overflow-x:auto;padding-bottom:8px;scrollbar-gutter:stable}
.items-table{display:flex;flex-direction:column;gap:12px;min-width:780px}
.item-row{display:grid;grid-template-columns:32px minmax(190px,2.2fr) minmax(76px,.7fr) minmax(92px,.8fr) minmax(105px,1fr) minmax(78px,.65fr) minmax(112px,1fr) 42px;gap:8px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.item-row.is-invalid{border-color:rgba(161,38,50,.7);box-shadow:0 0 0 3px rgba(161,38,50,.1)}
.item-row [aria-invalid="true"]{border-color:#a12632;background:#fff8f8}
.item-index{align-self:center;text-align:center;font-weight:800;color:var(--muted)}
.item-control{display:flex;flex-direction:column;gap:6px;min-width:0}
.item-control label{font-size:.76rem;color:var(--muted);font-weight:700}
.item-total{min-height:46px;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;font-weight:800;white-space:nowrap}
.item-remove{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:#8b2935;font-size:1.25rem;cursor:pointer}
.generator-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.generator-actions .button{border:0;cursor:pointer}
.generator-actions .button[disabled]{opacity:.55;cursor:not-allowed}
.summary-title{margin:0 0 16px}
.summary-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.summary-list li{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.summary-list li:last-child{padding-top:4px;border-bottom:0;font-size:1.2rem;font-weight:900}
.summary-meta{margin:18px 0 0;color:var(--muted);font-size:.9rem}
.generator-status{min-height:24px;margin:14px 0 0;font-weight:700}
.generator-status.success{color:#177245}.generator-status.error{color:#a12632}
.generator-conversion{margin-top:24px;padding:22px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff}
.generator-conversion h3{margin:0 0 8px}.generator-conversion p{margin:0 0 16px;color:rgba(255,255,255,.88)}
.generator-conversion .button{background:#fff;color:var(--accent-strong)}
.generator-comparison{margin-top:40px}
.generator-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.generator-info-card{padding:22px}
.generator-info-card h3{margin-top:0}
.generator-faq details{padding:16px 0;border-bottom:1px solid var(--line)}
.generator-faq summary{font-weight:800;cursor:pointer}
.generator-faq p{color:var(--muted)}
.generator-noscript{padding:16px;border:1px solid #d49b32;border-radius:12px;background:#fff6dd}
.pdf-preview{position:fixed;left:-10000px;top:0;width:794px;background:#fff;color:#17212a;font-family:Arial,sans-serif}
@media(max-width:1080px){.generator-shell{grid-template-columns:1fr}.generator-summary{position:static}.item-row{grid-template-columns:32px minmax(180px,2fr) repeat(3,minmax(90px,1fr)) 80px 112px 42px}}
@media(max-width:820px){.generator-hero{grid-template-columns:1fr}.generator-grid{grid-template-columns:1fr}.generator-info-grid{grid-template-columns:1fr}.items-table{min-width:760px}.item-row{grid-template-columns:28px minmax(170px,1.7fr) 76px 84px 100px 74px 105px 40px}.site-nav{display:none}}
@media(max-width:520px){.generator-page .content-page-container{width:min(calc(100% - 16px),1280px)}.generator-form,.generator-summary{border-radius:18px}.generator-actions{flex-direction:column}.generator-actions .button{width:100%;justify-content:center}.generator-section-heading{flex-direction:column}.price-mode{width:100%}.price-mode button{flex:1}}
