.app{min-height:100vh;margin:0;padding:0}.app-header{z-index:20;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(12px);background:#ffffffdb;align-items:center;height:64px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:-.04em;color:var(--rausch);margin:0;font-size:1.35rem;font-weight:800;line-height:1}.layout{box-sizing:border-box;grid-template-columns:minmax(340px,420px) 1fr;align-items:stretch;gap:16px;height:100vh;padding:80px 16px 16px;display:grid}.form-pane{background:var(--panel);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:#d4d4d4 transparent;border-radius:24px;margin:0;padding:22px 22px 28px;animation:.45s 50ms both fade-up;overflow:auto}.form{flex-direction:column;gap:26px;display:flex}.form-section h2,.preview-toolbar h2{letter-spacing:-.01em;color:var(--ink);margin:0 0 12px;font-size:.8rem;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-head h2{margin:0}label{color:var(--ink);flex-direction:column;gap:8px;margin-bottom:14px;font-size:.78rem;font-weight:600;display:flex}input,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--fill);width:100%;color:var(--ink);letter-spacing:-.01em;padding:12px 14px;font-size:.95rem;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--subtle);font-weight:500}input:hover,textarea:hover{border-color:#b0b0b0}input:focus,textarea:focus{border-color:var(--ink);background:#fff;outline:none;box-shadow:0 0 0 4px #22222214}textarea{resize:vertical;min-height:84px;line-height:1.45}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.logo-row{align-items:center;gap:10px;display:flex}.logo-row input[type=file]{background:var(--fill);border-style:dashed;padding:10px;font-size:.82rem}.logo-row input[type=file]::file-selector-button{appearance:none;background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-right:10px;padding:8px 12px;font-size:.75rem;font-weight:700}.logo-row input[type=file]::file-selector-button:hover{background:#000}.logo-thumb{object-fit:contain;border:1px solid var(--line-soft);width:56px;height:56px;box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-top:10px;padding:6px}.line-items{flex-direction:column;gap:12px;display:flex}.line-item{border:1px solid var(--line-soft);background:var(--fill);border-radius:16px;padding:14px;transition:border-color .15s,background .15s}.line-item:hover{background:#f3f3f3;border-color:#d3d3d3}.line-item-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.line-item-num{background:var(--rausch-soft);min-width:1.5rem;height:1.5rem;color:var(--rausch-deep);border-radius:8px;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.btn{appearance:none;letter-spacing:-.01em;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:.88rem;font-weight:700;text-decoration:none;transition:transform .12s,background .15s,color .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--rausch);color:#fff}.btn-primary:hover{background:var(--rausch-deep)}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-secondary{background:var(--fill);color:var(--ink);border:1px solid var(--line);padding:8px 14px;font-size:.82rem}.btn-secondary:hover{border-color:var(--ink);background:#fff}.btn-add-item{border-style:dashed;width:100%;padding:12px 16px}.btn-ghost{color:var(--muted);background:0 0;border-radius:8px;padding:6px 8px;font-size:.78rem;font-weight:650}.btn-ghost:hover{color:var(--ink);background:#0000000a}.btn-ghost.danger{color:var(--rausch)}.btn-ghost.danger:hover{background:var(--rausch-soft);color:var(--rausch-deep)}.preview-pane{background:var(--panel);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;animation:.45s 80ms both fade-up;display:flex;overflow:hidden}.preview-loading{color:var(--muted);justify-content:center;align-items:center;font-weight:600}.preview-toolbar{border:none;border-bottom:1px solid var(--line-soft);box-shadow:none;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 16px;display:flex}.preview-toolbar h2{margin:0}.preview-frame{min-height:0;box-shadow:none;background:#eee;border:none;border-radius:0 0 24px 24px;flex:1;margin:0;overflow:hidden}.pdf-viewer{border:none;width:100%;height:100%}@media (width<=960px){.app-header{padding:0 16px}.layout{flex-direction:column;height:auto;min-height:100vh;padding:80px 16px 16px;display:flex}.form-pane{max-height:none}.preview-pane{min-height:70vh}}:root{--bg:#f7f7f7;--panel:#f7f7f7;--ink:#222;--muted:#717171;--subtle:#b0b0b0;--line:#ddd;--line-soft:#ebebeb;--fill:#fff;--rausch:#ff385c;--rausch-deep:#d90b3e;--rausch-soft:#ffe8ed;--focus-ring:#ff385c38;--shadow:0 6px 20px #0000000f;--radius:12px;--radius-sm:8px;--font:"Plus Jakarta Sans", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 480px at 0% 0%, #ffe8ed 0%, transparent 55%), radial-gradient(700px 420px at 20% 100%, #f0f0f0 0%, transparent 50%), var(--bg);min-width:320px}button,input,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
