.kb-layout{display:flex;gap:28px;max-width:1120px;margin:24px auto 40px;padding:0 4px;align-items:flex-start}.kb-form{width:360px;flex-shrink:0;text-align:left}.kb-lead{font-size:12.5px;color:#6b5b3a;background:#fbf7ee;border:1px solid #eadfc6;border-radius:8px;padding:10px 12px;margin:0 0 6px;line-height:1.6}.kb-form .fs-title{font-size:15px;font-weight:700;color:#333;margin:22px 0 8px;padding-bottom:5px;border-bottom:2px solid var(--accent, #2a9d8f)}.kb-cat-count{font-size:12px;font-weight:400;color:#94a3b8;margin-left:6px}.kb-form input[type=text]{width:100%;box-sizing:border-box;font-size:15px;color:#333;padding:10px 12px;border:1px solid #ccc;border-radius:6px;background:#fff;font-family:inherit}.kb-select-row{display:flex;gap:10px;margin-top:8px}.kb-form select{flex:1;box-sizing:border-box;font-size:15px;color:#333;padding:9px 10px;border:1px solid #ccc;border-radius:6px;background:#fff;font-family:inherit}.kb-form select:disabled{background:#f1f3f5;color:#9aa4ad}.kb-form .radio-line{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:6px}.kb-form .radio-col{display:flex;flex-direction:column;gap:8px;margin-top:6px}.kb-form .radio-line label,.kb-form .radio-col label{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:#333;cursor:pointer}.kb-form .radio-line input,.kb-form .radio-col input{width:auto;margin:0;flex-shrink:0}.kb-cat-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.kb-cat-row{display:flex;align-items:center;gap:8px}.kb-cat-input{flex:1;min-width:0;font-size:14px!important;padding:7px 10px!important}.kb-cat-actions{display:flex;gap:4px;flex-shrink:0}.kb-mv,.kb-del{width:28px;height:30px;border:1px solid #d7dde3;border-radius:6px;background:#fff;color:#64748b;font-size:12px;cursor:pointer;line-height:1}.kb-mv:disabled,.kb-del:disabled{opacity:.3;cursor:default}.kb-del{color:#b45454;font-size:16px}.kb-del:hover:not(:disabled){background:#fee2e2}.kb-cat-btns{display:flex;gap:8px}.kb-add-cat,.kb-reset-cat{font-size:12.5px;padding:7px 12px;border:1px solid #cdd8e0;border-radius:8px;background:#f4f8fa;color:#37637a;cursor:pointer}.kb-add-cat:disabled{opacity:.4;cursor:default}.kb-reset-cat{background:#fff;color:#64748b}.kb-form .field-hint{margin:6px 0 0;line-height:1.6}.kb-reset-btn{padding:6px 14px;font-size:12.5px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#555;cursor:pointer;margin-top:22px}.kb-reset-btn:hover{color:#c0392b;border-color:#c0392b}.kb-info{font-size:12.5px;font-weight:600;color:var(--accent, #2a9d8f);margin:16px 0 0;line-height:1.6}.kb-warn{font-size:12.5px;font-weight:600;color:#c0392b;margin:10px 0 0;line-height:1.6}.kb-preview{flex:1;min-width:0;position:sticky;top:16px;align-self:flex-start;text-align:center}.kb-print-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.kb-print-btn:hover{opacity:.85}.kb-print-note{font-size:12px;color:#888;margin:12px 0;line-height:1.5}.kb-preview-caption{font-size:12px;color:#888;margin-top:8px}.kb-sheet-wrap{width:100%}.kb-sheet-box{overflow:hidden;border-radius:4px;position:relative}.kb-sheet-box+.kb-sheet-box{margin-top:16px}.kb-sheet{display:block;width:210mm;height:297mm;background:#fff;transform-origin:top left;box-shadow:0 2px 14px #0000002e}.kb-sheet-box.is-landscape .kb-sheet{width:297mm;height:210mm}@media (max-width: 940px){.kb-layout{flex-direction:column}.kb-form{width:100%}.kb-preview{position:static;width:100%}}@media print{.kb-sheet-wrap>*:not(.kb-sheet-box){display:none!important}.kb-sheet-box{height:auto!important;margin:0!important;overflow:visible!important;border-radius:0!important;break-after:page;page-break-after:always}.kb-sheet-box:last-child{break-after:auto;page-break-after:auto}.kb-sheet{transform:none!important;box-shadow:none!important;margin:0!important;width:209mm!important;height:296mm!important}.kb-sheet-box.is-landscape .kb-sheet{width:296mm!important;height:209mm!important}}@media screen and (max-width: 600px){.kb-form input[type=text],.kb-form select{font-size:var(--fs-input);min-height:var(--tap-min);box-sizing:border-box}.kb-form .radio-line{gap:8px 12px}.kb-reset-btn{padding:6px 10px;min-height:var(--tap-min);box-sizing:border-box;margin-top:12px}}
