:root{--bg: #f7f8f9;--panel: #ffffff;--muted: #5b6166;--accent: #2c7a7b;--accent-strong: #225e60;--border: #e6eaec;--danger: #b44b4b;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,var(--bg) 0%,#fafbfc 100%);font-family:var(--font);color:#222}#root{min-height:100vh;padding:clamp(14px,3vw,30px)}h2{font-size:clamp(26px,3vw,32px);font-weight:700;color:var(--muted);letter-spacing:-.5px;margin:20px 0}h3{font-size:clamp(20px,2.4vw,24px);font-weight:600;color:var(--muted);text-align:center;margin:15px 0 12px}h4{font-size:16px;font-weight:600;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.3px;margin:12px 0 8px}label{font-weight:500;color:var(--muted);letter-spacing:.2px}small{color:var(--muted);font-size:13px;line-height:1.5}.customer-form,.annexure{background-color:var(--panel);color:#222;font-family:var(--font);border-radius:12px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(230,234,236,.6)}.customer-form{max-width:460px;width:100%;margin:0 auto;padding:clamp(20px,3vw,28px)}.annexure{max-width:1120px;width:100%;margin:0 auto;padding:clamp(20px,3vw,32px)}.invoice-page{display:flex;flex-direction:column;gap:20px}.center{text-align:center}.row{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:18px;gap:12px}.row.single{flex-direction:row;align-items:center}.row label{flex:0 0 160px;width:160px;max-width:100%;font-size:14px}.row.single>input,.row.single>select,.row.single>textarea,.row.single>.input-with-action,.row.single>.field-stack{flex:1 1 280px;min-width:0}.field-stack{flex:1;width:100%;min-width:0}.input-with-action{position:relative;width:100%;flex:1;min-width:0}.row input,input[type=text],input[type=number],select,textarea{flex:1;width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s ease;background:#fff;font-family:var(--font);min-height:42px;box-sizing:border-box}.row input:focus,input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2c7a7b1a;outline:none}.row input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}.input-inline-action{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--accent-strong);border:none;padding:0}.input-inline-action:hover{background:#2c7a7b14}.input-inline-action svg{width:18px;height:18px;stroke:currentColor}.input-with-action input{display:block;width:100%;padding-right:44px;min-height:42px;box-sizing:border-box}.field-hint{display:block;margin-top:8px;font-size:12px;color:var(--muted)}button{transition:all .16s ease;will-change:transform,box-shadow;border:none;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:600;border-radius:6px;padding:10px 16px;max-width:100%}button:focus{outline:3px solid rgba(44,122,123,.12);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.7;transform:none!important;box-shadow:none!important}.save-btn{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#fff;box-shadow:0 6px 18px #2c7a7b1f;padding:12px 28px;margin-top:0;float:none}.save-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #2c7a7b24}.save-btn:active{transform:translateY(-1px) scale(.998)}.secondary-btn,.button-group .secondary-btn,.add-row-btn{background:transparent;color:var(--accent-strong);border:1.5px solid var(--border)}.secondary-btn:hover,.button-group .secondary-btn:hover,.add-row-btn:hover{background:#2c7a7b0f;transform:translateY(-2px);border-color:var(--accent)}.fetch-btn{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#fff;border:1px solid rgba(0,0,0,.04);box-shadow:0 6px 14px #2c7a7b0f;margin-left:6px;float:none;margin-top:0}.fetch-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2c7a7b1a}.clear-btn{background:transparent;border:1.5px solid var(--border);color:var(--muted);margin-left:6px;float:none;margin-top:0}.clear-btn:hover{background:#00000008;transform:translateY(-1px)}.remove-btn{background:transparent;color:var(--danger);border:1px solid rgba(180,75,75,.06);padding:6px 12px;min-width:40px;margin:0}.remove-btn:hover{background:#b44b4b14;border-color:#b44b4b33;transform:translateY(-1px)}.link-button{background:none!important;border:none!important;color:var(--accent-strong);cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;float:none;margin-top:0;transition:color .2s ease;text-decoration-thickness:2px;text-underline-offset:4px}.link-button:hover{color:var(--accent)}.button-group{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);clear:both}.button-group button{float:none;margin-top:0}.btn-row{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:32px;padding-top:20px;border-top:1px solid var(--border);gap:12px}.page-toolbar{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:0}.page-toolbar h2{margin:0 0 6px}.toolbar-copy{flex:1 1 280px;min-width:0}.toolbar-title-row{display:flex;align-items:center;gap:12px;min-width:0}.toolbar-title-row h2{margin:0}.quick-tools-dropdown{position:relative;flex:0 0 auto}.quick-tools-trigger{display:inline-flex;align-items:center;justify-content:center;width:50px;min-width:50px;height:50px;padding:0;border:1.5px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#fff,#2c7a7b0a);color:var(--accent-strong);box-shadow:0 6px 18px #0f172a0d}.quick-tools-trigger:hover{transform:translateY(-2px);border-color:var(--accent);background:#2c7a7b0f}.quick-tools-trigger.active{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#fff;border-color:transparent}.quick-tools-trigger svg{width:20px;height:20px;stroke:currentColor}.quick-tools-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;width:min(320px,calc(100vw - 48px));padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 16px 40px #0f172a24;z-index:30}.quick-tools-dropdown-header{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.quick-tools-dropdown-header strong{color:var(--accent-strong);font-size:15px}.quick-tools-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:#222;text-align:left}.quick-tools-dropdown-item+.quick-tools-dropdown-item{margin-top:8px}.quick-tools-dropdown-item:hover{background:#2c7a7b0d;border-color:#2c7a7b14}.quick-tools-dropdown-item.active{background:linear-gradient(135deg,#2c7a7b1a,#2c7a7b0a);border-color:#2c7a7b29}.quick-tools-dropdown-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;border-radius:12px;background:#2c7a7b14;color:var(--accent-strong)}.quick-tools-dropdown-icon svg{width:18px;height:18px;stroke:currentColor}.quick-tools-dropdown-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.quick-tools-dropdown-copy strong,.quick-tools-dropdown-copy small{display:block;overflow-wrap:anywhere}.quick-tools-dropdown-copy strong{color:#222;font-size:14px}.toolbar-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.toolbar-btn{margin:0}.toolbar-action-btn,.mode-btn{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:14px 16px;text-align:left;background:linear-gradient(135deg,#fff,#2c7a7b08);color:var(--accent-strong);border:1.5px solid var(--border);border-radius:14px;box-shadow:0 6px 18px #0f172a0d}.toolbar-action-btn.active,.mode-btn.active{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#fff;box-shadow:0 6px 18px #2c7a7b1f;border-color:transparent}.toolbar-action-btn:hover,.mode-btn:hover{background:#2c7a7b0f;transform:translateY(-2px);border-color:var(--accent)}.toolbar-action-btn.active:hover,.mode-btn.active:hover{background:linear-gradient(180deg,var(--accent-strong),var(--accent))}.toolbar-action-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border-radius:12px;background:#2c7a7b14;color:inherit}.toolbar-action-icon svg{width:20px;height:20px;stroke:currentColor}.toolbar-action-btn.active .toolbar-action-icon{background:#ffffff29}.toolbar-action-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.toolbar-action-copy strong,.toolbar-action-copy small{display:block;min-width:0;overflow-wrap:anywhere}.toolbar-action-copy strong{font-size:14px;line-height:1.2}.toolbar-action-copy small{font-size:12px;line-height:1.4;color:var(--muted)}.toolbar-action-btn.active .toolbar-action-copy small{color:#fffc}.toolbar-action-btn.icon-only{justify-content:center;width:56px;min-width:56px;height:56px;padding:0}.toolbar-action-btn.icon-only .toolbar-action-icon{width:100%;min-width:100%;height:100%;border-radius:14px;background:transparent}.toolbar-action-btn.icon-only.active .toolbar-action-icon{background:transparent}.invoice-create-layout{display:flex;flex-direction:column;gap:16px}.invoice-create-layout .customer-selection,.invoice-create-layout .receipt-import-panel,.invoice-create-layout .branding-panel,.invoice-create-layout .table-shell,.invoice-create-layout .amount-words{margin:0}.invoice-create-layout .invoice-editor-footer{margin-top:0}.invoice-create-layout .btn-row{margin-top:0;padding-top:16px}.invoice-tool-panel{margin:0}.invoice-tool-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.invoice-tool-panel-header h4{margin-top:0}.invoice-tool-close-btn{margin:0;white-space:nowrap}.download-btn{background:linear-gradient(180deg,#3b7a7e,#2c7a7b);color:#fff;box-shadow:0 6px 18px #3c7a7e26;padding:12px 28px;margin:0;display:inline-flex;align-items:center;gap:8px;font-weight:600}.download-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #3c7a7e2e;background:linear-gradient(180deg,#2c7a7b,#1f5557)}.download-btn:active{transform:translateY(-1px) scale(.998)}.download-btn:focus{outline:3px solid rgba(60,122,126,.15);outline-offset:2px}.add-row-btn{width:100%}.invoice-editor-footer{display:grid;gap:16px;margin-top:20px}.invoice-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-field{display:flex;flex-direction:column;gap:8px;padding:16px;background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.03) 100%);border:1px solid var(--border);border-radius:10px}.summary-field label{display:block;margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.45px}.table-shell{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:16px 0}.invoice-table,.customer-table{width:100%;border-collapse:collapse;margin:0}.invoice-table thead,.customer-table thead{background:linear-gradient(180deg,var(--bg) 0%,rgba(230,234,236,.4) 100%)}.invoice-table th,.customer-table th{color:var(--muted);font-weight:600;padding:12px 10px;border-bottom:2px solid var(--border);font-size:13px;text-transform:uppercase;letter-spacing:.3px}.invoice-table td,.customer-table td{padding:12px 10px;border-bottom:1px solid var(--border);color:#333;vertical-align:top;overflow-wrap:anywhere}.invoice-table tbody tr,.customer-table tbody tr{transition:background .15s ease}.invoice-table tbody tr:hover,.customer-table tbody tr:hover{background:linear-gradient(90deg,#2c7a7b0a,#2c7a7b03)}.invoice-table td input,.invoice-table td select{width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:#fff;min-height:40px;min-width:0}.invoice-table td select{cursor:pointer}.invoice-preview-table,.invoice-detail-table{min-width:0}.invoice-totals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.totals-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.02) 100%)}.totals-card label{margin:0;font-size:11px;letter-spacing:.45px;text-transform:uppercase}.totals-card strong{color:var(--accent-strong);font-size:18px;line-height:1.3;overflow-wrap:anywhere}.totals-card-emphasis{background:linear-gradient(180deg,var(--accent-strong),var(--accent));border-color:transparent}.totals-card-emphasis label,.totals-card-emphasis strong{color:#fff}.customer-selection{background-color:var(--bg);border-radius:10px;box-shadow:0 2px 12px #0000000a;border-left:4px solid var(--accent);padding:18px;margin:16px 0}.customer-selection h4{margin-top:0;margin-bottom:16px}.editor-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:12px;background:linear-gradient(135deg,#2c7a7b0f,#2c7a7b05)}.editor-mode-copy{min-width:0}.editor-mode-copy h4{margin:0 0 6px}.duplicate-warning-panel{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid rgba(217,119,6,.22);border-left:4px solid #d97706;border-radius:12px;background:linear-gradient(135deg,#fff7edf5,#fffbebeb)}.duplicate-warning-header h4{margin:0 0 6px;color:#9a3412}.duplicate-warning-list{display:grid;gap:12px}.duplicate-warning-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:10px;border:1px solid rgba(217,119,6,.18);background:#ffffffc7}.duplicate-warning-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.duplicate-warning-copy strong{color:#7c2d12}.duplicate-warning-copy small,.duplicate-warning-copy span,.duplicate-warning-more{color:#9a3412;overflow-wrap:anywhere}.receipt-import-panel{background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.03) 100%);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:10px;padding:18px;margin:16px 0}.receipt-import-panel h4{margin-top:0;margin-bottom:10px}.receipt-import-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.receipt-import-actions>*{min-width:0}.receipt-upload-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.receipt-upload-input{display:none}.receipt-file-copy{color:var(--muted);flex:1 1 240px;overflow-wrap:anywhere}.receipt-status{margin-top:16px;padding:12px 14px;border-radius:8px;border:1px solid rgba(44,122,123,.16);background:#2c7a7b0d;color:var(--accent-strong);font-size:13px}.receipt-status-loading{border-color:#2c7a7b38;background:#2c7a7b14}.receipt-preview{margin-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;max-width:420px}.receipt-preview img{display:block;width:100%;height:auto}.receipt-text-panel{margin-top:16px}.receipt-text-panel label{display:block;margin-bottom:8px}.receipt-text-output{width:100%;min-height:140px;border:1px solid var(--border);border-radius:8px;padding:12px;resize:vertical;box-sizing:border-box;background:#fff;color:#222;font-family:var(--font);font-size:13px;line-height:1.5}.receipt-text-output:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2c7a7b1a;outline:none}.branding-panel{background:linear-gradient(135deg,#fff,#2c7a7b08);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:18px}.branding-panel-copy h4{margin:0 0 8px}.branding-panel-copy small{display:block;line-height:1.5;color:var(--muted)}.branding-menu-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffffeb}.branding-menu-summary strong,.branding-menu-summary span{min-width:0;overflow-wrap:anywhere}.branding-menu-summary strong{color:var(--accent-strong);font-size:15px}.branding-menu-summary span{color:var(--muted);font-size:12px;text-align:right}.branding-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.branding-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:148px;min-width:0;padding:18px;text-align:left;color:#222;border:1.5px solid var(--border);background:var(--template-banner, #fff);box-shadow:0 4px 14px #0f172a0d}.branding-template-card:hover{border-color:var(--template-accent, var(--accent));transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.branding-template-card.active{border-color:var(--template-accent, var(--accent));outline:2px solid var(--template-accent, var(--accent));outline-offset:1px}.branding-template-card strong{font-size:16px;color:#222}.branding-template-card small{color:#4b5563;overflow-wrap:anywhere}.branding-template-swatch{width:44px;height:10px;border-radius:999px;background:var(--template-accent, var(--accent));display:inline-block}.branding-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.branding-footer-field{grid-column:1 / -1}.branding-fields-grid textarea{min-height:92px;resize:vertical}.branding-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.branding-color-field{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,#fff,#0f172a05)}.branding-color-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.45px;text-transform:uppercase}.branding-color-input{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:2px}.branding-color-input input[type=color]{width:56px;min-width:56px;height:42px;padding:4px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.branding-color-input code{display:inline-flex;align-items:center;flex:1 1 120px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--accent-strong);font-size:13px;overflow-wrap:anywhere;word-break:break-all}.branding-actions{display:flex;justify-content:flex-end}.invoice-preview{padding:20px;background-color:#fff;border:1px solid var(--border);border-radius:10px}.invoice-brand-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);gap:18px;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--brand-banner, linear-gradient(135deg, var(--bg) 0%, rgba(44,122,123,.04) 100%));margin-bottom:24px}.invoice-brand-copy{min-width:0}.invoice-brand-copy h1{margin:16px 0 10px;font-size:clamp(28px,3vw,34px);line-height:1.08;color:var(--accent-strong);letter-spacing:-.6px;overflow-wrap:anywhere}.invoice-brand-copy p{margin:0;max-width:640px;line-height:1.6;color:#425466;overflow-wrap:anywhere}.invoice-brand-meta-card{align-self:start;display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;min-width:0;padding:16px;border-radius:14px;background:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 24px #0f172a14}.invoice-brand-meta-item{display:flex;flex-direction:column;gap:4px}.invoice-brand-meta-item label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.45px}.invoice-brand-meta-item strong{color:#222;font-size:15px;overflow-wrap:anywhere}.invoice-brand-footer{margin-top:24px;padding:18px;border-radius:12px;border:1px dashed var(--border);background:#fff}.invoice-brand-footer label{display:block;margin-bottom:10px;text-transform:uppercase;font-size:12px;letter-spacing:.5px;color:var(--muted)}.invoice-brand-footer p{margin:0;line-height:1.6;color:#425466}.history-invoice-copy{display:flex;flex-direction:column;gap:4px}.history-invoice-copy strong{color:#222}.history-invoice-copy small{color:var(--muted);font-size:12px}.invoice-preview-header{text-align:center;margin-bottom:30px}.invoice-preview-header h1{margin:0 0 10px;font-size:28px;font-weight:700}.invoice-preview-header p{margin:0;font-size:14px;color:#666}.dropdown-container{position:relative;flex:1}.dropdown-btn{width:100%;padding:10px 12px;background-color:var(--accent);color:#fff;border:1px solid rgba(0,0,0,.04);cursor:pointer;border-radius:6px;text-align:left;font-size:14px;margin:0;float:none;transition:all .2s ease;font-family:var(--font);font-weight:600}.dropdown-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #2c7a7b1a}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-top:none;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 8px 16px #0000001a;border-radius:0 0 6px 6px}.dropdown-item{padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:14px;transition:background .15s ease}.dropdown-item:hover{background:var(--bg)}.dropdown-item:last-child{border-bottom:none}.customer-details-box{background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.02) 100%);border-radius:10px;box-shadow:0 3px 14px #2c7a7b14;border-left:4px solid var(--accent);padding:18px;margin:20px 0}.customer-details-box h4{margin-top:0;margin-bottom:14px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-item{background:#2c7a7b05;padding:12px;border-radius:6px;transition:all .2s ease}.detail-item:hover{transform:translateY(-2px);background:#2c7a7b0d}.detail-item label{display:block;margin-bottom:5px;text-transform:uppercase;font-size:11px;letter-spacing:.5px;color:var(--muted)}.detail-item span{display:block;color:var(--accent-strong);font-weight:600;font-size:15px;padding:6px 0;overflow-wrap:anywhere}.history-panel{background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.02) 100%);border-radius:12px;border:1px solid var(--border);padding:22px}.history-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.history-panel-header h4{margin:0 0 6px}.history-message,.history-empty-state{padding:16px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);margin-bottom:18px}.history-message{color:var(--danger);border-color:#b44b4b2e;background:#b44b4b0a}.history-detail{margin-top:24px}.history-detail-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.history-detail-header h4{margin:0 0 6px}.history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-view-btn{padding:8px 12px;font-size:12px}.history-download-btn{padding:8px 12px;font-size:12px;box-shadow:none}.history-detail-actions{justify-content:flex-start}.history-active{box-shadow:0 0 0 2px #2c7a7b1f}.totals-row{font-weight:700}.total-highlight{background-color:#f0f0f0}.amount-words-copy{margin:5px 0 0;font-size:14px;color:var(--accent-strong);font-weight:600;overflow-wrap:anywhere}.add-customer-link{background:#2c7a7b05;padding:12px;border-radius:6px;margin:14px 0;border-left:3px solid var(--accent);font-size:13px}.amount-words{background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.02) 100%);padding:18px;border-radius:10px;border:1px solid var(--border);margin:16px 0}.amount-words label{display:block;margin-bottom:10px;text-transform:uppercase;font-size:12px;letter-spacing:.5px;color:var(--muted)}.amount-words input{background:#fff;font-weight:600;color:var(--accent-strong);font-size:16px;width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;min-width:0}.customer-list{margin-top:20px;padding:18px;background:linear-gradient(135deg,var(--bg) 0%,rgba(44,122,123,.01) 100%);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #0000000a}.customer-list h4{margin-top:0;margin-bottom:15px}.edit-btn{padding:6px 12px;background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#fff;border:none;cursor:pointer;border-radius:4px;font-size:12px;margin:0;float:none;transition:all .16s ease;font-family:var(--font);font-weight:600}.edit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #2c7a7b1a}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite;margin-left:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.details-grid{grid-template-columns:1fr}.annexure{max-width:100%}.branding-template-grid,.branding-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){#root{padding:12px}.customer-form,.annexure{padding:18px}.page-toolbar,.history-panel-header,.history-detail-header,.row,.row.single{flex-direction:column;align-items:stretch}.row label{width:100%;flex-basis:auto;margin-bottom:6px}.button-group,.btn-row,.editor-mode-banner,.duplicate-warning-card,.receipt-import-actions,.invoice-tool-panel-header{flex-direction:column;align-items:stretch}.details-grid,.branding-template-grid,.branding-fields-grid,.branding-color-grid,.invoice-summary-grid,.invoice-totals-grid{grid-template-columns:1fr}.row.single>input,.row.single>select,.row.single>textarea,.row.single>.input-with-action,.row.single>.field-stack{flex-basis:100%;width:100%}.toolbar-actions,.history-actions{width:auto}.toolbar-actions{justify-content:flex-start}.toolbar-actions button{width:auto}.button-group button,.btn-row button,.history-actions button,.receipt-upload-btn,.clear-btn,.invoice-tool-close-btn{width:100%}.toolbar-action-btn.icon-only{width:52px;min-width:52px;height:52px}.receipt-preview{width:100%;max-width:100%}.invoice-tool-panel{padding:18px}.input-inline-action{width:32px}.invoice-table th,.invoice-table td{padding:10px 8px;font-size:12px}.branding-panel{padding:18px}.branding-menu-summary{flex-direction:column;align-items:stretch}.branding-menu-summary span{text-align:left}.invoice-brand-banner{padding:18px}.branding-actions{justify-content:stretch}.branding-actions button{width:100%}.fetch-btn,.clear-btn{margin-left:0;margin-bottom:0}}@media(max-width:860px){.invoice-summary-grid,.invoice-totals-grid,.invoice-brand-banner{grid-template-columns:1fr}.invoice-brand-meta-card{padding:14px}.table-shell-preview,.table-shell-detail,.table-shell-editor,.table-shell-history{overflow:visible}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table{background:transparent}.responsive-table thead{display:none}.responsive-table tbody{display:flex;flex-direction:column;gap:12px}.responsive-table tr{padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 4px 14px #0000000d}.responsive-table tbody tr:hover{background:#fff}.responsive-table td{display:grid;grid-template-columns:minmax(92px,120px) minmax(0,1fr);gap:10px;align-items:start;padding:0;border:none}.responsive-table td+td{margin-top:10px}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.responsive-table td[data-label=Action],.responsive-table td[data-label=Actions]{grid-template-columns:1fr;align-items:stretch}.responsive-table td[data-label=Action]:before,.responsive-table td[data-label=Actions]:before{margin-bottom:2px}.responsive-table td input,.responsive-table td select,.responsive-table td button{width:100%;max-width:100%;min-width:0}.history-actions{flex-direction:column;align-items:stretch}.invoice-totals-grid{gap:12px}.totals-card{padding:14px}.invoice-preview{padding:16px}.invoice-preview-header{margin-bottom:22px}.invoice-preview-header h1{font-size:24px}.invoice-brand-copy h1{font-size:26px}}@media(max-width:480px){.customer-form,.annexure,.customer-selection,.customer-details-box,.invoice-tool-panel,.receipt-import-panel,.history-panel,.amount-words,.summary-field,.branding-color-field{padding:16px}.page-toolbar,.history-panel-header{gap:14px}.download-btn,.save-btn,.mode-btn,.secondary-btn{padding:12px 14px}.toolbar-actions{gap:10px}.toolbar-action-btn.icon-only{width:48px;min-width:48px;height:48px}.toolbar-action-icon{width:100%;min-width:100%;height:100%}.quick-tools-trigger{width:46px;min-width:46px;height:46px}.quick-tools-dropdown-menu{width:min(280px,calc(100vw - 32px))}.responsive-table tr{padding:14px}.responsive-table td{grid-template-columns:1fr;gap:6px}.responsive-table td+td{margin-top:12px}.responsive-table td:before{margin-bottom:0}.invoice-table td input,.invoice-table td select,.summary-field input,.summary-field select,.summary-field textarea,.amount-words input{min-height:46px;font-size:16px}.branding-color-input{align-items:stretch}.branding-color-input code{min-height:46px}.branding-menu-summary{padding:12px}.invoice-brand-banner{padding:16px;border-radius:14px}.invoice-brand-copy h1{font-size:24px}.invoice-brand-copy p,.invoice-brand-meta-item strong{font-size:14px}}*{transition:background-color .2s ease}button,input,select{transition:all .2s ease}
