.doc-editor{display:grid;grid-template-columns:minmax(320px,45%) 1fr;gap:1.5rem;align-items:start;margin-top:1.5rem}.doc-editor-panel{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--stroke-default) transparent}.doc-editor-panel::-webkit-scrollbar{width:6px}.doc-editor-panel::-webkit-scrollbar-thumb{background:var(--stroke-default);border-radius:3px}.doc-preview-panel{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;background:var(--bg-raised);border:1px solid var(--stroke-default);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 1px 3px #0000000f}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.template-card{padding:.75rem;border:2px solid var(--stroke-default);border-radius:var(--radius);text-align:center;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base);background:var(--bg-raised);font-size:.8125rem;font-weight:600;font-family:var(--font-stack)}.template-card:hover{border-color:var(--accent-300)}.template-card.active{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-50)}.template-card-label{margin-top:.375rem;font-size:.75rem;color:var(--text-muted);font-weight:400}.colour-picker-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.colour-picker-row label{font-size:.8125rem;color:var(--text-muted);font-weight:500}.colour-picker-row input[type=color]{width:36px;height:36px;border:2px solid var(--stroke-default);border-radius:var(--radius);cursor:pointer;padding:2px;background:var(--bg-raised)}.line-items-header{display:flex;gap:.5rem;padding:.5rem 0;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.line-items-header .item-desc{flex:3}.line-items-header .item-qty{flex:1;min-width:60px;text-align:center}.line-items-header .item-price,.line-items-header .item-total{flex:1.5;min-width:90px;text-align:right}.line-items-header .item-remove{width:32px}.toggle-section{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--stroke-default);border-radius:var(--radius);margin-bottom:.75rem;cursor:pointer}.toggle-section label{font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem}.toggle-content{display:none;padding:1rem;background:var(--bg-surface);border:1px solid var(--stroke-default);border-top:none;border-radius:0 0 var(--radius) var(--radius);margin-top:-.75rem;margin-bottom:.75rem}.toggle-content.visible{display:block}.vat-options{display:flex;gap:.5rem;flex-wrap:wrap}.vat-option{padding:.5rem 1rem;border:2px solid var(--stroke-default);border-radius:999px;font-size:.8125rem;font-weight:600;cursor:pointer;background:var(--bg-raised);color:var(--text-body);font-family:var(--font-stack);transition:border-color var(--transition-base)}.vat-option:hover{border-color:var(--accent-300)}.vat-option.active{border-color:var(--accent-500);background:var(--accent-50);color:var(--accent-700)}.profile-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-info-bg);border:1px solid var(--accent-200);border-radius:var(--radius);margin-bottom:1.5rem;font-size:.8125rem}.profile-banner a{font-weight:600}.totals-section{background:var(--bg-surface);border:1px solid var(--stroke-default);border-radius:var(--radius);padding:1rem;margin-top:1rem}.totals-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.totals-row.total{font-weight:700;font-size:1rem;border-top:2px solid var(--stroke-default);padding-top:.75rem;margin-top:.375rem}.generate-area{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--stroke-default)}.vula-cta{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-top:1.5rem;background:var(--accent-50);border-left:4px solid var(--accent-500);border-radius:0 var(--radius) var(--radius) 0;font-size:.875rem;color:var(--text-body)}.vula-cta strong{color:var(--accent-700)}.preview-document{font-family:Helvetica,Arial,sans-serif;font-size:11px;color:#333;line-height:1.5;min-height:500px}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--preview-accent,#6366f1)}.preview-title{font-size:24px;font-weight:700;color:var(--preview-accent,#6366f1)}.preview-meta{text-align:right;font-size:10px;color:#666}.preview-parties{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.preview-party h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.375rem}.preview-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.preview-table th{text-align:left;padding:.5rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--preview-accent,#6366f1)}.preview-table td{padding:.5rem;font-size:11px;border-bottom:1px solid #eee}.preview-table td:last-child,.preview-table th:last-child{text-align:right}.preview-totals{text-align:right;margin-top:.5rem}.preview-totals .total-line{font-size:11px;margin-bottom:.25rem}.preview-totals .grand-total{font-size:14px;font-weight:700;color:var(--preview-accent,#6366f1)}.preview-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee;font-size:9px;color:#999;text-align:right}.preview-notes{margin-top:1.5rem;padding:.75rem;background:#f9f9f9;border-radius:4px;font-size:10px}.preview-bank{margin-top:1rem;font-size:10px}.preview-bank h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.375rem}.preview-signatures{display:flex;gap:2rem;margin-top:1.5rem}.preview-signatures img{max-height:60px}@media(max-width:900px){.doc-editor{grid-template-columns:1fr}.doc-editor-panel,.doc-preview-panel{position:static;max-height:none;overflow-y:visible}.doc-preview-panel{order:-1;max-height:400px;overflow-y:auto}}@media(max-width:640px){.template-grid{grid-template-columns:repeat(3,1fr)}.line-items-header .item-total{display:none}.preview-parties{grid-template-columns:1fr}}
