:root{--primary: #1a56db;--primary-hover: #1648c0;--primary-subtle: #e8f0fe;--border: #d1d5db;--border-light: #e5e7eb;--bg: #ffffff;--bg-muted: #f3f4f6;--bg-accent: #fafafa;--text: #111827;--text-muted: #6b7280;--text-light: #9ca3af;--error: #dc2626;--success: #059669;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--radius: 6px;--radius-sm: 6px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-3);--spacing-lg: var(--space-4);--spacing-xl: var(--space-6);--size-xs: 24px;--size-sm: 28px;--size-md: 32px;--size-lg: 40px;--input-width-sm: 80px;--input-width-md: 120px;--input-width-lg: 200px;--input-height: var(--size-md);--input-padding-x: var(--space-2);--input-font-size: .8125rem;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .8125rem;--font-size-md: .875rem;--font-size-lg: .9375rem;--font-size-xl: 1.125rem;--form-panel-width: 520px;--form-min-width: 400px;--splitter-width: 4px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:var(--font-size-base);line-height:1.5;color:var(--text);background:var(--bg-muted);overflow:hidden;font-feature-settings:"tnum" 1}input,button,textarea,select{font-family:inherit}.container{display:grid;grid-template-columns:var(--form-panel-width) var(--splitter-width) 1fr;height:100vh;overflow:hidden;position:relative}.form-panel{background:var(--bg);padding:var(--space-4);overflow-y:auto;overflow-x:visible;height:100vh;min-width:var(--form-min-width);max-width:80vw;contain:style;position:relative;z-index:1100}.preview-panel{background:var(--bg-muted);padding:0;overflow:hidden;height:100vh;display:flex;flex-direction:column;min-height:0;min-width:0;contain:layout style paint}.splitter{width:var(--splitter-width);background:var(--border-light);cursor:col-resize;position:relative;-webkit-user-select:none;user-select:none;transition:background .15s;z-index:1000}.splitter:hover,.splitter:active,.splitter.dragging{background:var(--primary)}.splitter-handle{position:absolute;top:0;left:0;right:0;bottom:0;cursor:col-resize}.splitter-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:var(--border);border-radius:1px;transition:background .15s}.splitter:hover .splitter-handle:before,.splitter:active .splitter-handle:before,.splitter.dragging .splitter-handle:before{background:var(--primary)}body.is-resizing iframe{pointer-events:none!important}body.is-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (max-width: 700px){.container{display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden}.form-panel{width:100%;max-width:none;min-width:0;height:auto;overflow:visible;padding-bottom:var(--space-4)}.splitter{display:none}.preview-panel{width:100%!important;height:80vh!important;min-height:500px;flex:0 0 auto!important;border-top:1px solid var(--border)}}input[type=text][required],input[type=email][required],input[type=tel][required],input[type=number][required],textarea[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}input[type=date][required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.line-item-desc[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px top 8px;background-size:12px 12px;padding-right:24px!important}.time-reporting-calendar{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-month-banner-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:2px 0;min-height:16px}.calendar-month-banner{display:inline-flex;align-items:center;background:var(--bg-muted);border:1px solid var(--border);border-right:none;color:var(--text-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px 2px 6px;height:16px;position:relative;width:fit-content;border-radius:2px 0 0 2px}.calendar-month-banner:after{content:"";position:absolute;right:-8px;top:-1px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:8px solid var(--bg-muted)}.calendar-month-banner:before{content:"";position:absolute;right:-9px;top:-1px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:9px solid var(--border)}.calendar-month-banner-text{white-space:nowrap}.calendar-day-cell.calendar-day-cell--padding{background:var(--bg-muted)!important;border:1px solid transparent;cursor:default;pointer-events:none}.calendar-day-header{text-align:center;font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:var(--space-1) 0}.calendar-day-cell{border:1px solid transparent;border-radius:3px;padding:2px;cursor:pointer;transition:background-color .1s,border-color .1s;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);min-height:28px}.calendar-day-cell:hover:not(.outside-period){border-color:var(--primary);background:var(--bg-accent)}.calendar-day-cell.outside-period{background:var(--bg-muted);opacity:.4;cursor:pointer}.calendar-day-cell.status-work{background:#22c55e14}.calendar-day-cell.status-vacation{background:#a855f71a}.calendar-day-cell.status-sick{background:#f973161a}.calendar-day-cell.status-holiday{background:#3b82f61a}.calendar-day-cell.status-off{background:var(--bg-muted);opacity:.4}.calendar-day-cell--selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.calendar-day-number{font-weight:500;font-size:11px;color:var(--text);line-height:1}.calendar-day-info{font-size:8px;color:var(--text-muted);margin-top:2px;line-height:1}.calendar-day-info--nonstandard{color:#ef4444;font-weight:600}.calendar-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);justify-content:center}.calendar-legend-item{display:flex;align-items:center;gap:4px}.calendar-legend-color{width:12px;height:12px;border-radius:2px;border:1px solid var(--border)}.calendar-legend-color.status-work{background:#22c55e4d;border-color:#22c55e80}.calendar-legend-color.status-vacation{background:#a855f74d;border-color:#a855f780}.calendar-legend-color.status-sick{background:#f973164d;border-color:#f9731680}.calendar-legend-color.status-holiday{background:#3b82f64d;border-color:#3b82f680}.calendar-legend-color.status-off{background:var(--bg-muted)}.calendar-legend-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}@media (max-width: 500px){.calendar-day-cell{min-height:32px;padding:2px}.calendar-day-number{font-size:10px}.calendar-day-info{display:none}}.day-editor-popover{position:fixed;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px #00000026;padding:var(--space-3);z-index:3000;width:280px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow:auto}.day-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.day-editor-title{font-weight:600;font-size:var(--font-size-sm);color:var(--text)}.day-editor-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.day-editor-close:hover{background:var(--bg-muted);color:var(--text)}.day-editor-content{display:flex;flex-direction:column;gap:var(--space-2)}.day-editor-field{margin-bottom:0}.day-editor-field label{display:block;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.day-editor-field input,.day-editor-field textarea{width:100%;font-size:var(--font-size-sm)}.day-editor-field input:disabled{background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed}.day-editor-field textarea{resize:none;min-height:50px}.day-editor-status{width:100%;flex-wrap:wrap}.day-editor-status label{flex:1 1 auto;min-width:0;padding:0 6px!important}.day-editor-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.day-editor-actions .btn{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.period-carousel-wrapper{display:flex;align-items:center;gap:4px;min-height:var(--size-md)}.period-carousel-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:28px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:16px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.period-carousel-arrow:hover{border-color:var(--primary);color:var(--primary)}.period-carousel{display:flex;align-items:center;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius);padding:2px;gap:2px}.period-carousel--inactive{opacity:.5}.period-carousel--inactive .period-carousel-item{color:var(--text-muted)}.period-carousel--inactive .period-carousel-item--selected{background:transparent;box-shadow:none;border-color:transparent}.period-carousel-item{display:flex;align-items:center;justify-content:center;height:24px;padding:0 10px;font-size:11px;font-weight:500;color:var(--text-muted);background:transparent;border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;white-space:nowrap}.period-carousel-item:hover:not(.period-carousel-item--selected){color:var(--text);background:var(--bg)}.period-carousel-item--selected{background:var(--bg);color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-sm)}.period-custom-wrapper{position:relative;margin-left:4px}.period-custom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.period-custom-btn:hover{border-color:var(--primary);color:var(--primary)}.period-custom-btn--selected{border-color:var(--primary);color:var(--primary);background:var(--bg-accent)}.period-custom-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;padding:var(--space-2);z-index:100;min-width:200px}.period-custom-dropdown-field{display:flex;flex-direction:column;gap:4px}.period-custom-dropdown-field+.period-custom-dropdown-field{margin-top:var(--space-2)}.period-custom-dropdown-field label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.period-custom-dropdown-field input{padding:var(--space-1) var(--space-2);font-size:12px}@media (max-width: 500px){.period-carousel-wrapper{flex-wrap:nowrap;width:100%}.period-carousel{flex:1;min-width:0;justify-content:space-between}.period-carousel-item{padding:0 4px;font-size:10px;flex:1;min-width:0}}@media (max-width: 400px){.period-carousel-item:first-child{display:none}}.time-reporting-summary{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-muted);border-radius:var(--radius-sm)}.summary-stats{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:11px;color:var(--text-muted)}.summary-stat{display:flex;align-items:center;gap:4px}.summary-stat strong{color:var(--text);font-weight:600}.summary-line-items{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.summary-line-items-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.summary-line-items-header label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.summary-line-items-header select{padding:2px 8px;font-size:11px;border-radius:var(--radius-sm);width:auto;min-width:80px}.summary-line-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;font-size:var(--font-size-xs)}.summary-line-item+.summary-line-item{border-top:1px dashed var(--border)}.summary-line-item-desc{color:var(--text)}.summary-line-item-amount{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.summary-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}.summary-actions .btn{flex:1;padding:var(--space-2);font-size:var(--font-size-xs)}.time-report-summary-display{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--font-size-sm);flex:1}.time-report-summary-label{color:var(--text-muted);font-weight:500}.time-report-summary-value{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.time-report-summary-separator{color:var(--text-muted);margin:0 var(--space-1)}.time-report-summary-total{color:var(--primary);font-weight:700;font-size:var(--font-size-base);font-variant-numeric:tabular-nums}.line-item--time-report{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-2);background:var(--bg)}.time-report-line-item-config{margin:var(--space-2) 0 var(--space-1) 0}.time-report-line-item-calendar{margin:var(--space-1) 0 var(--space-2) 0}.line-item-row--time-report-summary{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.line-item-row--time-report-summary .line-item-discount-wrap,.line-item-row--time-report-summary .line-item-tax-wrap{flex-shrink:0}.time-report-discount,.time-report-vat{width:4rem;height:var(--input-height);padding:0 var(--space-1);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.line-items-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.add-time-reporting-btn{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s;width:100%}.add-time-reporting-btn:hover{border-color:var(--primary);color:var(--primary);border-style:solid}.time-reporting-section{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.time-reporting-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.time-reporting-header h2{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.time-reporting-remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-md);padding:0;line-height:1;opacity:.5;transition:background-color .15s,border-color .15s,color .15s}.time-reporting-remove-btn:hover{color:var(--error);opacity:1}.time-reporting-config{display:flex;flex-wrap:wrap;gap:var(--space-2);row-gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-3)}.time-reporting-field{display:flex;flex-direction:column;gap:var(--space-1);flex:0 0 auto;min-width:0}.time-reporting-field>label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.time-reporting-field-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:var(--size-md)}.time-reporting-field-row--nowrap{flex-wrap:nowrap}.time-reporting-field-row>span{font-size:var(--font-size-xs);color:var(--text-muted)}.time-reporting-rate-input-small{width:45px;min-width:45px;max-width:45px;padding:3px 4px;font-size:12px;text-align:right;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-shrink:0;flex-grow:0}.time-reporting-rate-input-small:focus{outline:none;border-color:var(--primary)}.time-reporting-currency{font-size:11px;color:var(--text-muted);font-weight:500}.time-reporting-separator{font-size:11px;color:var(--text-muted)}.time-reporting-rate-type{display:inline-flex;align-items:center;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.time-reporting-rate-type input[type=radio]{position:absolute;opacity:0;width:0;height:0}.time-reporting-rate-type label{display:flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;border-radius:2px;transition:background-color .15s,border-color .15s,color .15s}.time-reporting-rate-type input[type=radio]:checked+label{background:var(--bg);color:var(--primary);box-shadow:var(--shadow-sm)}.time-reporting-rate-type label:hover{color:var(--text)}.time-reporting-hours-input{width:36px;min-width:36px;max-width:36px;padding:3px 4px;font-size:12px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-shrink:0;flex-grow:0}.time-reporting-hours-input:focus{outline:none;border-color:var(--primary)}.time-reporting-working-days{display:flex;align-items:center;gap:2px;min-height:var(--size-md)}.time-reporting-day-btn{padding:4px 8px;font-size:10px;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s;min-width:32px;text-align:center}.time-reporting-day-btn:hover{border-color:var(--primary)}.time-reporting-day-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.time-reporting-holidays-row,.time-reporting-pdf-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-md)}.time-reporting-holidays-row .country-input{padding:var(--space-1) 4px;font-size:var(--font-size-xs);width:2.5rem;min-width:2.5rem;max-width:2.5rem;text-align:center;flex-shrink:0;flex-grow:0}.party-block input[required]:not(.section-title-input):not([type=hidden]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.address-with-country input[required]:not(.section-title-input):not([type=hidden]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.line-item input[required],.line-item textarea[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.toolbar-style-select{width:auto;min-width:8rem;max-width:10rem;height:var(--input-height);padding:0 var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-right:1.5rem}.hidden{display:none!important}.show{display:block!important}th.hidden,td.hidden{display:none!important}th:not(.hidden),td:not(.hidden){display:table-cell}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.custom-fields-container{margin-top:0;margin-bottom:0}.custom-field-wrapper{margin-bottom:.375rem}.custom-field-row{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--space-1);align-items:center;margin-bottom:var(--space-1)}.custom-field-label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted)}.custom-field-value{font-size:var(--font-size-base)}.info-section{margin-bottom:var(--spacing-lg)}.info-section:last-child{margin-bottom:0}.info-section h3{font-size:var(--font-size-sm);font-weight:600;color:var(--text);margin-bottom:var(--spacing-xs)}.info-section p{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5;margin:var(--spacing-sm) 0}.info-list{margin:0;padding:0;list-style:none;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.6}.info-list li{margin-bottom:var(--space-1)}.info-link{color:var(--primary);text-decoration:none;font-size:var(--font-size-sm)}.info-link:hover{text-decoration:underline}.btn-donate{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--primary);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;transition:background-color .15s,transform .15s;margin-top:var(--space-2)}.btn-donate:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}#savedInvoicesList{display:flex;flex-direction:column;gap:var(--space-2)}.saved-invoice-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.saved-invoice-item:hover{background:var(--bg-muted);border-color:var(--primary)}.saved-invoice-item.selected{background:var(--primary-subtle);border-color:var(--primary)}.saved-invoice-name{font-weight:500;color:var(--text)}.saved-invoice-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.btn-format{font-size:var(--font-size-sm);padding:var(--space-3) var(--space-2)}.input-with-format{display:flex;gap:var(--space-1);align-items:center}.input-with-format input{flex:1;min-width:0}.btn{height:var(--size-md);padding:0 var(--space-3);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center;box-sizing:border-box}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover{background:var(--bg-muted)}.btn--warning{background:var(--bg);color:var(--error);border:1px solid var(--border)}.btn--warning:hover{background:#dc26261a;border-color:var(--error)}.btn--link{background:none;border:none;color:var(--primary);font-size:var(--font-size-sm);font-weight:500;padding:0;height:auto}.btn--link:hover{text-decoration:underline}.btn--sm{height:var(--size-sm);padding:0 var(--space-2);font-size:var(--font-size-sm)}.btn--lg{height:var(--size-lg);padding:0 var(--space-6);font-size:var(--font-size-md)}.btn--icon{width:var(--size-md);height:var(--size-md);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:var(--font-size-md)}.btn--icon:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.btn--muted{background:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border);font-size:var(--font-size-xs);padding:0 var(--space-2)}.btn--muted:hover{background:var(--bg-accent);border-color:var(--primary);color:var(--primary)}.btn--dashed{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-muted);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);width:100%;height:auto}.btn--dashed:hover{background:var(--bg);border-color:var(--primary);color:var(--primary);border-style:solid}.btn--remove{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:1rem;padding:var(--space-1);line-height:1;border-radius:var(--radius-sm);transition:background-color .15s,color .15s;flex-shrink:0;height:var(--size-md);width:var(--size-md);display:inline-flex;align-items:center;justify-content:center}.btn--remove:hover{color:var(--error);background:#dc26261a}.btn--remove-destructive{height:var(--size-md);width:var(--size-md);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:1rem}.btn--remove-destructive:hover{background:var(--error);border-color:var(--error);color:#fff}.btn--remove-logo{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--error);color:#fff;cursor:pointer;font-size:var(--font-size-sm);line-height:1;transition:background-color .15s,transform .15s;box-shadow:var(--shadow-sm)}.btn--remove-logo:hover{background:#b91c1c;transform:scale(1.1)}.btn--export{width:auto;min-width:200px;height:var(--size-lg);font-size:var(--font-size-md);font-weight:500;padding:0 var(--space-6);border-radius:var(--radius);background:var(--primary);color:#fff;border:none;margin:0 auto}.btn--export:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.btn--export:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.btn--info-text{background:none;border:none;padding:0;font-size:var(--font-size-xs);color:var(--text-light);cursor:pointer;transition:color .15s;flex-shrink:0;margin-left:auto;height:auto}.btn--info-text:hover{color:var(--text-muted);text-decoration:underline}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-muted)}.btn-warning{background:var(--bg);color:var(--error);border:1px solid var(--border)}.btn-warning:hover{background:#dc26261a;border-color:var(--error)}.btn-link{background:none;border:none;color:var(--primary);font-size:var(--font-size-sm);font-weight:500;padding:0;height:auto}.btn-link:hover{text-decoration:underline}.btn-icon{width:var(--size-md);height:var(--size-md);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:var(--font-size-md)}.btn-icon:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.btn-upload-logo,.btn-add-field{height:var(--size-md);padding:0 var(--space-2);font-size:var(--font-size-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;display:flex!important;align-items:center;justify-content:center;line-height:1;box-sizing:border-box}.btn-upload-logo.hidden,.btn-add-field.hidden{display:none!important}.btn-upload-logo:hover,.btn-add-field:hover{background:var(--bg-accent);border-color:var(--primary);color:var(--primary)}.btn-add-line{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-muted);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;width:100%;height:auto}.btn-add-line:hover{background:var(--bg);border-color:var(--primary);color:var(--primary);border-style:solid}.btn-remove-custom-field{height:var(--size-md);width:var(--size-md);padding:0;margin:0;display:flex;align-items:center;justify-content:center;align-self:start;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.btn-remove-custom-field:hover{background:var(--error);border-color:var(--error);color:#fff}.btn-remove-logo{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--error);color:#fff;cursor:pointer;font-size:var(--font-size-sm);line-height:1;transition:background-color .15s,transform .15s;box-shadow:var(--shadow-sm)}.btn-remove-logo:hover{background:#b91c1c;transform:scale(1.1)}.form-export-btn{width:auto;min-width:200px;height:var(--size-lg);font-size:var(--font-size-md);font-weight:500;padding:0 var(--space-6);border-radius:var(--radius);background:var(--primary);color:#fff;border:none;cursor:pointer;transition:background-color .2s ease;margin:0 auto;display:inline-flex;align-items:center;justify-content:center}.form-export-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.form-export-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.btn-info-text{background:none;border:none;padding:0;font-size:var(--font-size-xs);color:var(--text-light);cursor:pointer;transition:color .15s;flex-shrink:0;margin-left:auto;height:auto}.btn-info-text:hover{color:var(--text-muted);text-decoration:underline}.required{color:var(--error, #dc2626);font-weight:500;font-size:12px;line-height:1;display:inline-block;height:12px;vertical-align:middle;margin-left:2px}input[type=text][required],input[type=email][required],input[type=tel][required],input[type=number][required],textarea[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}textarea[required]{background-position:right 8px top 8px}input[type=date][required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.form-group input[required],.form-group textarea[required]{background-image:none!important;padding-right:var(--input-padding-x)!important}input[list]{appearance:none;-webkit-appearance:none;-moz-appearance:none}input[list]::-webkit-calendar-picker-indicator{display:none!important;opacity:0;pointer-events:none;position:absolute}input[list]::-webkit-list-button{display:none!important;opacity:0}input[list]::-moz-list-button{display:none!important}input[type=text][list]{appearance:textfield;-webkit-appearance:textfield;-moz-appearance:textfield}.currency-input{width:4rem!important;text-align:center;font-weight:500;text-transform:uppercase}.language-input{width:4rem!important;text-align:center;font-weight:500;text-transform:lowercase}.language-input::placeholder{text-transform:none}.country-input{width:100%;text-align:center;font-weight:500;text-transform:uppercase}.input,input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{width:100%;height:var(--size-md);padding:0 var(--input-padding-x);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--input-font-size);font-family:inherit;background:var(--bg);color:var(--text);transition:border-color .15s;box-sizing:border-box}textarea{height:auto;padding:var(--space-2);resize:none;line-height:1.4}.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-light)}.input--sm{height:var(--size-sm);padding:0 var(--space-1);font-size:var(--font-size-sm)}.input--lg{height:var(--size-lg);padding:0 var(--space-3);font-size:var(--font-size-md)}.input--width-sm{width:var(--input-width-sm)}.input--width-md{width:var(--input-width-md)}.input--width-lg{width:var(--input-width-lg)}.input-with-btn{display:flex;gap:var(--space-1)}.input-with-btn input{flex:1;min-width:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.textarea--auto-grow{min-height:var(--size-md);resize:none;overflow:hidden;field-sizing:content}.input--invalid,input.invalid,input:invalid.touched,select:invalid.touched,textarea:invalid.touched{border-color:var(--error)}.input--invalid:focus,input.invalid:focus,input:invalid.touched:focus,select:invalid.touched:focus,textarea:invalid.touched:focus{box-shadow:0 0 0 2px #dc262626}form.show-validation input:invalid,form.show-validation select:invalid,form.show-validation textarea:invalid{border-color:var(--error)}.line-item-desc{width:100%;min-height:var(--size-md);padding:var(--space-3) var(--space-2);font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);resize:none;overflow:hidden;line-height:1.4;field-sizing:content}.line-item-desc[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px top 8px;background-size:12px 12px;padding-right:24px!important}.line-item-desc:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.line-item-desc::placeholder{color:var(--text-light)}.line-item-qty,.line-item-price{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.line-item-qty::-webkit-outer-spin-button,.line-item-qty::-webkit-inner-spin-button,.line-item-price::-webkit-outer-spin-button,.line-item-price::-webkit-inner-spin-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.line-item-unit{text-align:center;font-size:var(--font-size-sm);padding:0 var(--space-1)}#notes{width:100%;margin-top:0;padding:var(--space-2);font-size:var(--input-font-size);border:1px solid var(--border);border-radius:var(--radius-sm);resize:none;min-height:48px}#notes:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}#notes::placeholder{color:var(--text-light)}.segmented-control{display:inline-flex;align-items:center;height:var(--size-md);background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius);padding:2px;gap:2px;min-width:0}.segmented-control input[type=radio]{position:absolute;opacity:0;width:0;height:0}.segmented-control label{display:flex!important;align-items:center;justify-content:center;height:100%;padding:0 .625rem;font-size:var(--font-size-base);font-weight:500;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none;margin:0!important;line-height:1}.segmented-control input[type=radio]:checked+label{background:var(--bg);color:var(--primary);box-shadow:var(--shadow-sm)}.segmented-control label:hover{color:var(--text)}.segmented-control--sm{height:calc(var(--size-md) - 2px)}.segmented-control--sm label{height:calc(var(--size-md) - 10px);padding:0 var(--space-2);font-size:var(--font-size-sm)}.segmented-control--xs{height:var(--size-md);padding:2px;gap:1px}.segmented-control--xs label{height:calc(var(--size-md) - 6px);padding:0 var(--space-2);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.segmented-control--compact{height:26px;padding:2px;gap:1px}.segmented-control--compact label{height:20px;padding:0 8px;font-size:11px;border-radius:3px}.format-dropdown{position:fixed;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:1500;min-width:180px;padding:var(--space-2)}.format-selector-wrap{position:relative}.format-dropdown-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.format-options{display:flex;flex-direction:column;gap:var(--space-1)}.format-options .format-option{display:grid!important;grid-template-columns:16px 1fr!important;align-items:center!important;gap:var(--space-2)!important;padding:var(--space-2) var(--space-3)!important;border-radius:var(--radius-sm)!important;cursor:pointer!important;font-size:var(--font-size-sm)!important;font-weight:400!important;color:var(--text)!important;transition:background .1s!important;margin:0!important;line-height:1.4!important;box-sizing:border-box!important;width:100%!important}.format-options .format-option:hover{background:var(--bg-muted)}.format-options .format-option input[type=radio]{position:relative!important;opacity:1!important;margin:0!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;justify-self:start!important;accent-color:var(--primary)!important;cursor:pointer!important;visibility:visible!important;pointer-events:auto!important}.format-options .format-option .format-preview{text-align:left;justify-self:start}.format-preview{font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--font-size-sm);color:var(--text)}.format-custom{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-light)}.format-custom label{display:block;font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.format-custom input{width:100%;padding:var(--space-3) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm)}.format-custom input:focus{outline:none;border-color:var(--primary)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-4)}.modal-content{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-md);max-width:90vw;max-height:90vh;overflow-y:auto;padding:var(--space-6);position:relative}.modal-close{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:var(--space-1)}.modal-close:hover{color:var(--text)}.modal-content h2{margin-top:0;margin-bottom:var(--space-4)}.modal-content--info{max-width:480px;text-align:center}.address-autocomplete-dropdown{position:absolute;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:1000;max-height:300px;overflow-y:auto;margin-top:2px}.address-autocomplete-item{padding:var(--space-3) var(--space-3);cursor:pointer;font-size:var(--font-size-sm);line-height:1.5;border-bottom:1px solid var(--border-light);transition:background .1s;white-space:pre-line}.address-autocomplete-item:last-child{border-bottom:none}.address-autocomplete-item:hover,.address-autocomplete-item.highlighted{background:var(--bg-muted)}.payment-details-container{margin-bottom:var(--space-2)}#paymentInstructions{width:100%;margin-top:var(--space-2);padding:var(--space-2);font-size:var(--input-font-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);resize:none;min-height:48px;line-height:1.4}#paymentInstructions:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}#paymentInstructions::placeholder{color:var(--text-light)}.segmented-control label[data-tooltip]{position:relative}.segmented-control label[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:6px;padding:6px 10px;background:var(--text);color:var(--bg);font-size:var(--font-size-xs);font-weight:400;line-height:1.4;white-space:nowrap;border-radius:var(--radius-sm);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:1000;max-width:320px;white-space:normal;text-align:center}.segmented-control label[data-tooltip]:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--text);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:1000}.segmented-control label[data-tooltip]:hover:after,.segmented-control label[data-tooltip]:hover:before{opacity:1;visibility:visible}#invoiceTypeControl label[data-tooltip]:after{max-width:min(400px,calc(100vw - 32px));width:max-content}#invoiceTypeControl label[for=type-regular][data-tooltip]:after{left:0;transform:translate(0)}#invoiceTypeControl label[for=type-regular][data-tooltip]:before{left:20px;transform:translate(0)}#invoiceTypeControl label[for=type-credit-note][data-tooltip]:after{left:auto;right:0;transform:translate(0)}#invoiceTypeControl label[for=type-credit-note][data-tooltip]:before{left:auto;right:20px;transform:translate(0)}.form-header .segmented-control label[data-tooltip]:after,.preview-toolbar .segmented-control label[data-tooltip]:after{bottom:auto;top:100%;margin-bottom:0;margin-top:6px}.form-header .segmented-control label[data-tooltip]:before,.preview-toolbar .segmented-control label[data-tooltip]:before{bottom:auto;top:100%;border-top-color:transparent;border-bottom-color:var(--text);margin-top:-4px}.form-header button[data-tooltip]{position:relative}.form-header button[data-tooltip]:after{content:attr(data-tooltip);position:fixed;left:var(--tooltip-left, 50%);top:var(--tooltip-top, 100%);transform:translate(-50%);margin-top:6px;padding:6px 10px;background:var(--text);color:var(--bg);font-size:var(--font-size-xs);font-weight:400;line-height:1.4;white-space:nowrap;border-radius:var(--radius-sm);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:10000}.form-header button[data-tooltip]:before{content:"";position:fixed;left:var(--tooltip-left, 50%);top:var(--tooltip-top, 100%);transform:translate(-50%);margin-top:-4px;border:5px solid transparent;border-bottom-color:var(--text);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:10000}.form-header button[data-tooltip]:hover:after,.form-header button[data-tooltip]:hover:before{opacity:1;visibility:visible}.preview-toolbar [data-tooltip]{position:relative}.preview-toolbar [data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:6px 10px;background:var(--text);color:var(--bg);font-size:var(--font-size-xs);font-weight:400;line-height:1.4;white-space:nowrap;border-radius:var(--radius-sm);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:1000;max-width:200px;white-space:normal;text-align:center}.preview-toolbar [data-tooltip]:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:-4px;border:5px solid transparent;border-bottom-color:var(--text);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:1000}.preview-toolbar [data-tooltip]:hover:after,.preview-toolbar [data-tooltip]:hover:before{opacity:1;visibility:visible}.form-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);flex-wrap:wrap}.form-header h1{font-size:var(--font-size-xl);font-weight:600;color:var(--text);margin:0}.header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.pdf-upload-wrap{position:relative;display:inline-flex}.form-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.form-section:last-of-type{border-bottom:none}.form-section-separator{margin:var(--spacing-md) 0;border:none;border-top:1px solid var(--border-light);background:none}.form-section h2{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.form-section--compact{padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.form-section--inline{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);flex-wrap:wrap}.form-section--inline>label,.form-section--inline>h2{font-size:var(--font-size-xs);font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;min-width:5rem;margin:0;height:var(--input-height);line-height:var(--input-height);flex-shrink:0;display:flex;align-items:center}.form-section--accent{background:var(--primary-subtle);margin:var(--spacing-sm) calc(-1 * var(--spacing-lg));padding:var(--spacing-md) var(--spacing-lg);border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.section-header h2{margin-bottom:0}.section-header-controls{display:flex;align-items:center;gap:var(--spacing-md)}.section-header h2,.form-section h2,.party-block h2{font-size:var(--font-size-xs);font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.section-title-input{font-size:var(--font-size-xs)!important;font-weight:600!important;color:var(--primary)!important;text-transform:none!important;letter-spacing:.04em;border:1px solid var(--border)!important;background:var(--bg)!important;padding:0 var(--space-1)!important;margin:0;width:auto;min-width:5rem;margin-bottom:var(--space-2);height:auto!important;border-radius:var(--radius-sm)}.section-title-input:focus{outline:none;border-color:var(--primary)!important;box-shadow:0 0 0 2px var(--primary-subtle)}.form-group{margin-bottom:calc(var(--spacing-sm) * .75);min-width:0}.form-group label{display:flex;align-items:center;font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);margin-bottom:var(--spacing-xs);line-height:1.4}.settings-section{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-2)}.settings-section>label{flex-shrink:0;margin:0;white-space:nowrap}.settings-section .settings-row{display:contents}.settings-section .settings-options-wrap{display:contents!important}.settings-row>.segmented-control{flex-shrink:0}.settings-section input:not([type=hidden]),.settings-section .toggle-switch-label{width:auto!important;display:inline-flex!important;flex-shrink:0}.settings-section input.global-rate-input{width:3.5rem!important;height:var(--input-height);padding:0 var(--space-1);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;margin-right:var(--space-1)}.settings-section input.global-rate-input:focus{outline:none;border-color:var(--primary)}.settings-section .shipping-notes-textarea{width:100%;margin-top:var(--space-2);padding:var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;resize:none;min-height:60px}.settings-section .shipping-notes-textarea:focus{outline:none;border-color:var(--primary)}.toggle-switch-label{display:flex!important;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.toggle-switch-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-switch{position:relative;width:32px;height:18px;background:var(--border);border-radius:9px;transition:background .2s ease;flex-shrink:0;cursor:pointer}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--bg);border-radius:50%;transition:transform .2s ease}.toggle-switch-label input[type=checkbox]:checked+.toggle-switch{background:var(--primary)}.toggle-switch-label input[type=checkbox]:checked+.toggle-switch:after{transform:translate(14px)}.toggle-switch-label:has(input[type=checkbox]:disabled){opacity:.5;cursor:not-allowed}.toggle-switch-label input[type=checkbox]:disabled+.toggle-switch{background:var(--border);cursor:not-allowed}.form-footer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--border-light);font-size:var(--font-size-xs);color:var(--text-muted)}.footer-credit{color:var(--text-light)}.footer-donate{color:var(--primary);font-weight:500;text-decoration:none;padding:var(--space-1) var(--space-3);background:var(--primary-subtle);border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.footer-donate:hover{background:var(--primary);color:#fff}.footer-feedback{color:var(--text-muted);text-decoration:none;transition:color .15s}.footer-feedback:hover{color:var(--primary)}.form-export-section{padding:var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--border);background:var(--bg);display:flex;justify-content:center;align-items:center}.due-date-container{display:flex;align-items:center;gap:var(--spacing-xs)}.due-date-container .segmented-control{flex-shrink:0}.due-date-custom{flex:1 1 auto;min-width:120px;max-width:180px;display:none}.due-date-container:has(#due-other:checked) .due-date-custom{display:block}.due-date-custom.show{display:block}.pdf-controls-flow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-3);row-gap:var(--space-3);margin-bottom:var(--space-3)}.pdf-control-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);flex-shrink:0}.pdf-control-item--full-width{width:100%;flex-basis:100%;margin-top:var(--space-2)}.pdf-control-item>label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);margin:0;white-space:nowrap}.pdf-control-item-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.pdf-control-item .segmented-control{display:inline-flex}.btn-style-picker{display:inline-flex;align-items:center;gap:var(--space-2);width:auto;height:var(--input-height);padding:0 var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;white-space:nowrap}.btn-style-picker:hover{border-color:var(--primary);background:var(--bg-muted)}.btn-style-picker.active{border-color:var(--primary);background:var(--primary-subtle)}.btn-style-picker .template-icon,.btn-style-picker .layout-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-style-picker .template-icon svg{width:14px;height:14px}.btn-style-picker .picker-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-style-picker .font-preview{font-size:1rem;font-weight:500}.btn-style-picker .color-preview{display:flex;gap:2px}.btn-style-picker .color-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border-light)}.style-picker-dropdown{position:fixed;display:none;z-index:1000;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;max-width:320px;max-height:400px;overflow-y:auto}.picker-dropdown-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-light)}.picker-options{padding:var(--space-1)}.picker-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease}.picker-option.selected{background:var(--primary-subtle)}.picker-option-preview{flex-shrink:0;display:flex;align-items:center;justify-content:center}.picker-option-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text)}.picker-option-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.picker-option-check{opacity:0;color:var(--primary);font-size:1rem;transition:opacity .15s ease}.color-palette-preview{display:flex;gap:2px;align-items:center}.color-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.picker-option--color{padding:var(--space-2) var(--space-3)}.color-palette-swatches{display:flex;gap:4px;align-items:center;margin-right:var(--space-2)}.color-palette-swatches .color-swatch{width:14px;height:14px;border-radius:3px;box-shadow:0 1px 3px #0000001a}.color-palette-info{display:flex;flex-direction:column;gap:2px}.color-palette-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text)}.color-palette-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.font-opt-preview{font-size:1.25rem;font-weight:500;width:32px;height:32px}.font-opt-preview[data-family=helvetica],.font-opt-preview[data-family=arial]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,sans-serif}.font-opt-preview[data-family=times]{font-family:Times New Roman,Times,serif}.font-opt-preview[data-family=courier]{font-family:Courier New,Courier,monospace}.color-opt-preview{display:flex;gap:3px}.color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid var(--border-light)}.color-swatch-bg{opacity:.5}.element-opt-preview{font-size:1.25rem;width:32px;height:32px}.layout-dropdown{position:fixed;display:none;z-index:1000;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:280px;max-width:360px;max-height:500px;overflow-y:auto;padding:var(--space-2)}.layout-dropdown-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2);border-bottom:1px solid var(--border-light);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) var(--space-2)}.layout-module{padding:var(--space-2) 0;border-bottom:1px solid var(--border-light)}.layout-module:last-child{border-bottom:none}.layout-module>label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--text);margin-bottom:var(--space-1)}.layout-module .segmented-control{width:100%}.settings-section--highlighted{background:var(--primary-subtle);padding:var(--space-2) var(--space-3);margin:var(--space-2) calc(-1 * var(--space-3));border-radius:var(--radius);border:1px solid var(--primary);animation:highlight-pulse .3s ease}@keyframes highlight-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 var(--primary)}50%{transform:scale(1.01);box-shadow:0 0 0 4px var(--primary-subtle)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.badge-required{display:inline-flex;align-items:center;padding:2px 6px;margin-left:var(--space-1);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--primary);color:#fff;border-radius:var(--radius-sm);vertical-align:middle}.field--quote-validity input:focus,.field--credit-ref input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.field--quote-validity,.field--credit-ref,.field--quote-note,.field--proforma-note{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.parties-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media (max-width: 900px){.parties-grid{grid-template-columns:1fr}}.party-block h2{font-size:var(--font-size-xs);font-weight:600;color:var(--primary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.04em}.party-block>input:not(.section-title-input),.party-block>select{width:100%;height:var(--input-height);padding:0 var(--input-padding-x);font-size:var(--input-font-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-bottom:var(--spacing-xs)}.party-block .address-with-country input,.party-block .address-row input,.party-block .address-row select,.party-block .custom-field-row input{width:100%;height:var(--input-height);padding:0 var(--input-padding-x);font-size:var(--input-font-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-bottom:0}.party-block input:focus:not(.section-title-input),.party-block select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.address-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.address-row:has(input[name$=-city]){grid-template-columns:1.3fr .7fr}.address-row:has(input[name$=-phone-prefix]){grid-template-columns:.6fr 1.4fr}.address-row.address-row--4{grid-template-columns:2fr 1fr .8fr 1fr}.address-row input:focus,.address-row select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.address-with-country{display:grid;grid-template-columns:1fr 3.5rem;gap:var(--space-1);margin-bottom:var(--space-1)}.country-input{width:100%;height:var(--input-height);padding:0 var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;background:var(--bg);color:var(--text);text-align:center;text-transform:uppercase;font-weight:500}.country-input::placeholder{text-transform:none}.country-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.inline-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-xs)}.inline-fields input{height:var(--input-height);padding:0 var(--input-padding-x);font-size:var(--input-font-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.inline-fields input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.phone-input-row{display:flex;gap:var(--space-1);margin-bottom:var(--space-1);flex-wrap:nowrap}.phone-input-row .phone-prefix{width:70px!important;flex-shrink:0;text-align:center}.phone-input-row input[type=tel]{flex:1;min-width:0;width:auto!important}.party-block input[required]:not(.section-title-input):not([type=hidden]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.address-with-country input[required]:not(.section-title-input):not([type=hidden]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.line-items-compact{display:flex;flex-direction:column;gap:var(--space-2)}.line-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--bg-muted);border-radius:var(--radius-sm);border:1px solid var(--border-light);contain:layout style}.line-item:nth-child(n+25){content-visibility:auto;contain-intrinsic-size:auto 85px}.line-item-row--desc{display:flex;gap:var(--space-1);align-items:flex-start}.line-item-row--desc .line-item-desc{flex:1}.line-item-actions{display:flex;flex-direction:column;gap:var(--space-1);flex-shrink:0}.line-item-row--desc .btn-remove-line{height:var(--size-md);width:var(--size-md);padding:0;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.line-item-row--desc .btn-remove-line:hover{background:var(--error);border-color:var(--error);color:#fff}.line-item-row--desc .line-item-drag{height:var(--size-md);width:var(--size-md);padding:0;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1;cursor:grab;transition:background-color .15s,border-color .15s,color .15s}.line-item-row--desc .line-item-drag:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.line-item-row--desc .line-item-drag:active{cursor:grabbing}.line-item.is-dragging{opacity:.6}.line-item.drag-over{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.line-item-row--fields{display:flex;gap:var(--space-1);align-items:center;justify-content:flex-end}.line-item-row--fields .line-item-qty{width:5.5rem}.line-item-row--fields .line-item-unit{width:5rem;text-align:center}.line-item-row--fields .line-item-price{width:5rem}.line-item-row--fields .line-item-tax-wrap,.line-item-row--fields .line-item-discount-wrap{width:4rem}.line-item-row--fields .line-item-total{width:5rem}.line-item-qty,.line-item-unit,.line-item-price{text-align:center}.line-item-multiply{color:var(--text-muted);font-size:var(--font-size-sm);flex-shrink:0}.line-item input,.line-item select{height:var(--input-height);padding:0 var(--space-2);font-size:var(--font-size-base);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:0}.line-item input[required],.line-item textarea[required]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ctext x='0' y='11' fill='%23dc2626' font-size='12' font-weight='500'%3E•%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 12px;padding-right:24px!important}.line-item input:focus,.line-item select:focus,.line-item textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.line-item-tax-wrap[data-requires-custom-vat]{display:none}.custom-vat-enabled .line-item-tax-wrap[data-requires-custom-vat]{display:block}.no-vat .line-item-tax-wrap[data-requires-custom-vat]{display:none!important}.line-item-discount-wrap[data-requires-custom-discount]{display:none}.custom-discount-enabled .line-item-discount-wrap[data-requires-custom-discount]{display:block}.line-item-discount{width:100%;height:var(--input-height);padding:0 var(--space-1);font-size:var(--font-size-base);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.line-item-tax-wrap{min-width:0;overflow:hidden}.line-item-tax-wrap input,.line-item-tax{width:100%;text-align:center;padding:0 var(--space-1);font-size:var(--font-size-sm)}.line-item-tax-wrap select{width:100%}.line-item-total{font-size:var(--font-size-base);font-weight:600;color:var(--text);text-align:right;padding-right:var(--space-1);white-space:nowrap;margin-left:var(--space-2)}.invoice-info-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);row-gap:var(--space-3);align-items:flex-start}.invoice-info-grid>.form-group{flex:0 0 auto;min-width:0}.invoice-info-grid .input-with-btn input[type=date]{min-width:120px}.invoice-info-grid .segmented-control{width:auto}.invoice-info-grid .btn-upload-logo{width:auto;min-width:80px}.invoice-info-grid .field--currency input[type=text],.invoice-info-grid input#currencySelect{width:70px!important}.form-group--full{flex:1 1 100%}.preview-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-muted);overflow:hidden;min-width:0}.toolbar-group{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.toolbar-advanced-dots{display:flex;align-items:center;justify-content:center;width:20px;height:26px;padding:0;margin:0 .125rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s ease;flex-shrink:0}.toolbar-advanced-dots:hover{color:var(--text)}.toolbar-advanced-dots:active{color:var(--primary)}.toolbar-advanced-dots .dots-icon{font-size:1.125rem;line-height:1;letter-spacing:-.05em;font-weight:300;display:inline-block;transform:rotate(90deg)}.toolbar-advanced-content{display:none;align-items:center;gap:var(--space-1);flex-shrink:0;animation:fadeInSlide .25s cubic-bezier(.4,0,.2,1)}.toolbar-advanced-content[style*="display: flex"],.toolbar-advanced-content[style*="display: block"]{display:flex!important}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.toolbar-control{height:var(--size-sm);padding:0 var(--space-2);font-size:var(--font-size-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color .15s,background-color .15s,color .15s;flex-shrink:0;box-sizing:border-box}.toolbar-control:hover{border-color:var(--primary)}.toolbar-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.toolbar-btn-text{cursor:pointer;white-space:nowrap;font-weight:500;background:var(--bg-muted)}.toolbar-btn-text:hover{background:var(--bg);color:var(--primary)}.toolbar-group select.toolbar-control{min-width:100px;max-width:120px;cursor:pointer}.toolbar-separator{width:1px;height:20px;background:var(--border-light);margin:0 .125rem;flex-shrink:0}.toolbar-title-input{width:80px;min-width:60px;text-transform:uppercase;letter-spacing:.02em}.toolbar-title-input::placeholder{text-transform:none;color:var(--text-light);font-weight:400}.toolbar-group .segmented-control{height:26px}.toolbar-group .segmented-control label{height:20px;padding:0 .375rem;font-size:.625rem}.toolbar-template-btn{width:36px;height:var(--input-height);padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.toolbar-template-btn:hover{border-color:var(--primary);background:var(--bg-muted)}.toolbar-template-btn.active{border-color:var(--primary);background:var(--primary-subtle)}.toolbar-template-btn .template-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text)}.toolbar-template-btn .template-icon svg{width:14px;height:14px}.toolbar-style{flex-shrink:0}.toolbar-style-select{width:auto;min-width:8rem;max-width:10rem;height:var(--input-height);padding:0 var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-right:1.5rem}.toolbar-style-select:hover{border-color:var(--primary)}.toolbar-style-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.toolbar-layout{position:relative;flex-shrink:0}.toolbar-layout-btn{width:32px;height:var(--input-height);padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.toolbar-layout-btn:hover{border-color:var(--primary);background:var(--bg-muted)}.toolbar-layout-btn.active{border-color:var(--primary);background:var(--primary-subtle)}.layout-icon{font-size:1rem;line-height:1}.layout-dropdown{position:fixed;z-index:1000;width:200px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--space-2)}.layout-dropdown-header{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.layout-module{display:flex;flex-direction:column;gap:.375rem;padding:var(--space-2)}.layout-module:hover{background:var(--bg-muted);border-radius:var(--radius-sm)}.layout-module>label{font-size:var(--font-size-sm);font-weight:500;color:var(--text);white-space:nowrap}.layout-module .segmented-control{width:100%;justify-content:stretch}.layout-module .segmented-control label{flex:1;justify-content:center;text-align:center}.toolbar-style-picker{position:relative;flex-shrink:0}.toolbar-picker-btn{width:36px;height:var(--input-height);padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.toolbar-picker-btn:hover{border-color:var(--primary);background:var(--bg-muted)}.toolbar-picker-btn.active{border-color:var(--primary);background:var(--primary-subtle)}.picker-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.font-preview{font-size:var(--font-size-md);font-weight:600;color:var(--text);letter-spacing:-.5px}.font-preview[data-font=serif]{font-family:Georgia,Times New Roman,serif}.font-preview[data-font=mono]{font-family:Courier New,monospace;font-size:var(--font-size-sm)}.color-preview{display:flex;gap:2px;padding:2px}.color-dot{width:10px;height:10px;border-radius:2px}.color-dot-primary{background:var(--primary)}.color-dot-secondary{background:var(--border)}.element-preview{font-size:1rem;color:var(--text)}.style-picker-dropdown{position:fixed;z-index:1000;width:220px;max-height:320px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000026;padding:var(--space-2)}.picker-dropdown-header{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:var(--space-1) var(--space-2);margin-bottom:.375rem;border-bottom:1px solid var(--border-light);padding-bottom:.375rem}.picker-options{display:flex;flex-direction:column;gap:2px}.picker-option{display:flex;align-items:center;gap:.625rem;padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;border:1px solid transparent}.picker-option:hover{background:var(--bg-muted)}.picker-option.selected{background:var(--primary-subtle);border-color:var(--primary)}.picker-option-preview{flex-shrink:0;width:32px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;background:var(--bg-muted);border:1px solid var(--border-light)}.picker-option-preview.font-opt-preview{font-weight:600;font-size:var(--font-size-base);color:var(--text)}.picker-option-preview.font-opt-preview[data-family=times]{font-family:Georgia,Times New Roman,serif}.picker-option-preview.font-opt-preview[data-family=courier]{font-family:Courier New,monospace;font-size:var(--font-size-sm)}.picker-option-preview.font-opt-preview[data-family=helvetica]{font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}.picker-option-preview.color-opt-preview{display:flex;flex-direction:row;gap:0;padding:0;overflow:hidden;background:none;border:1px solid var(--border)}.color-swatch{flex:1;height:100%}.color-swatch-bg{width:10px}.picker-option-preview.element-opt-preview{font-size:1rem;color:var(--text)}.picker-option-info{flex:1;min-width:0}.picker-option-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text);line-height:1.2}.picker-option-desc{font-size:.625rem;color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-option-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:var(--font-size-md);opacity:0;flex-shrink:0}.picker-option.selected .picker-option-check{opacity:1}.toolbar-size{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.toolbar-size-input{width:3.5rem;text-transform:uppercase;text-align:center;font-size:var(--font-size-sm)}.toolbar-size .custom-size-controls{display:flex;gap:.125rem;align-items:center}.toolbar-size .custom-size-input{width:2rem;height:26px;padding:0 .125rem;font-size:.625rem;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.toolbar-size .custom-size-controls span{font-size:.5rem;color:var(--text-muted)}.toolbar-size .custom-unit-select{width:2rem;height:26px;padding:0;font-size:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.toolbar-logo{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.toolbar-logo .logo-preview-wrap{position:relative;display:flex;align-items:center;justify-content:center}.toolbar-logo .logo-preview{max-width:40px;max-height:22px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);padding:1px}.toolbar-logo .btn-remove-logo{position:absolute;top:-4px;right:-4px;width:14px;height:14px;font-size:.625rem}.logo-upload-container{display:inline-block;min-height:var(--input-height);min-width:0;max-width:100%;box-sizing:border-box}.logo-preview-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0;height:var(--input-height)}.logo-preview-wrap.logo-hidden{display:none}.logo-preview{max-width:100%;max-height:var(--input-height);object-fit:contain;border-radius:var(--radius-sm)}#pdf-preview{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.pdf-preview-container{position:relative;padding:0;overflow:hidden;flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-muted)}.pdf-canvas-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:0;overflow:auto;touch-action:pan-x pan-y pinch-zoom;padding:20px 0;margin:0;box-sizing:border-box;scroll-behavior:auto}.pdf-content-wrapper{display:flex;flex-direction:column;align-items:center;flex-shrink:0;transform-origin:top center;will-change:transform}.pdf-preview-canvas{display:block;background:#fff;box-shadow:0 4px 12px #00000026,0 2px 4px #00000014;border-radius:2px;flex-shrink:0}.pdf-preview-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-muted);color:var(--text-muted);font-size:var(--font-size-sm);z-index:5}.pdf-preview-container iframe{width:100%;height:100%;max-height:100%;border:none;background:transparent;flex-shrink:0}@media (max-width: 1200px){.preview-toolbar{gap:var(--space-1);padding:var(--space-1) .375rem}.toolbar-control{height:24px;padding:0 .375rem;font-size:.625rem}.toolbar-group .segmented-control{height:24px}.toolbar-group .segmented-control label{height:18px;padding:0 var(--space-1);font-size:.5625rem}.toolbar-title-input{width:70px;min-width:50px}.toolbar-style-select{min-width:6rem;max-width:8rem;font-size:.625rem}.toolbar-size-input{width:3rem;font-size:var(--font-size-sm)}.toolbar-export-btn{height:24px;padding:0 var(--space-2);font-size:.625rem}.toolbar-separator{height:16px}}.app-footer{background:var(--bg-secondary, #f5f5f5);border-top:1px solid var(--border, #e0e0e0);padding:var(--space-4, 16px) var(--space-6, 24px);text-align:center;color:var(--text-muted, #666);font-size:14px}.app-footer p{margin:0}.app-footer a{color:var(--primary, #3b82f6);text-decoration:none}.app-footer a:hover{text-decoration:underline}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4, 16px);padding-bottom:var(--space-3, 12px);border-bottom:1px solid var(--border, #e0e0e0)}.modal-header h2{margin:0}.modal-body{margin-bottom:var(--space-4, 16px)}.modal-body h3{margin-top:var(--space-4, 16px);margin-bottom:var(--space-2, 8px);font-size:16px}.modal-body ul{margin-left:var(--space-4, 16px);margin-bottom:var(--space-3, 12px)}.modal-body li{margin-bottom:var(--space-1, 4px)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2, 8px);padding-top:var(--space-3, 12px);border-top:1px solid var(--border, #e0e0e0)}.preview-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-muted);overflow:hidden;min-width:0;height:100vh}.pdf-preview-container{position:relative;width:100%;height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-muted);padding:0;overflow:auto}.preview-viewport{width:100%;height:100%;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.pdf-iframe{width:100%;height:100%;min-height:600px;border:none;background:#fff;box-shadow:0 4px 12px #00000026,0 2px 4px #00000014;border-radius:4px}.preview-empty,.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2, 8px);color:var(--text-muted, #6b7280);font-size:var(--font-size-sm, 14px);text-align:center}.preview-empty .hint{font-size:var(--font-size-xs, 12px);color:var(--text-light, #9ca3af)}.preview-loading .spinner{width:32px;height:32px;border:3px solid var(--border, #e5e7eb);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
