.tickets-page{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.tickets-search-bar{padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.tickets-search-bar input{width:100%;padding:10px 36px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:14px}.tickets-search-bar input::placeholder{color:var(--input-placeholder)}.tickets-search-bar input:focus{outline:none;border-color:var(--border-focus)}.clear-search-btn{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px 8px}.clear-search-btn:hover{color:var(--text-primary)}.tickets-tabs{display:flex;gap:4px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.ticket-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ticket-tab:hover{background:var(--accent-primary-light);color:var(--text-primary)}.ticket-tab.active{background:var(--accent-primary);color:var(--text-inverse)}.ticket-tab svg{flex-shrink:0}.tab-badge{background:var(--accent-primary);color:var(--text-inverse);font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.ticket-tab.active .tab-badge{background:#fff3}.tab-badge.hold{background:var(--status-warning);color:var(--text-inverse)}.ticket-tab.active .tab-badge.hold{background:#ffffff4d;color:#fff}.tab-badge.archive{background:#22c55e;color:#fff}.ticket-tab.active .tab-badge.archive{background:#ffffff4d;color:#fff}.tab-badge.fax{background:#7c3aed;color:#fff}.ticket-tab.active .tab-badge.fax{background:#ffffff4d;color:#fff}.tab-badge.email-batch{background:#8b5cf6;color:#fff}.ticket-tab.active .tab-badge.email-batch{background:#ffffff4d;color:#fff}.tab-badge.tribal{background:#f97316;color:#fff}.ticket-tab.active .tab-badge.tribal{background:#ffffff4d;color:#fff}.tickets-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-primary)}.tickets-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.tickets-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center}.tickets-empty svg{margin-bottom:16px;opacity:.5}.tickets-empty p{margin:0;font-size:16px}.tickets-empty .empty-sub{font-size:14px;margin-top:8px;opacity:.7}.ticket-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:visible;transition:border-color .2s}.ticket-card:hover{border-color:var(--accent-primary)}.ticket-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:var(--bg-elevated);gap:12px;min-height:60px;border-radius:12px 12px 0 0}.ticket-card-header.ebj-header{background:#fef2f2}.ticket-customer-info{flex:1;min-width:0}.ticket-customer-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;cursor:pointer}.ticket-customer-link:hover .ticket-customer-name{text-decoration:underline}.ticket-company-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.ticket-company-badge.company-eb{background:var(--badge-eb-bg);color:var(--badge-eb-text)}.ticket-company-badge.company-ebj{background:var(--badge-ebj-bg);color:var(--badge-ebj-text)}.ticket-account-num{font-size:15px;font-weight:500;color:var(--text-secondary)}.ticket-customer-name{font-size:18px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-number-container{cursor:pointer}.ticket-number-badge{background:#ff6b6b;color:#fff;font-size:18px;font-weight:700;padding:6px 16px;border-radius:8px;white-space:nowrap;transition:background .15s}.ticket-number-container:hover .ticket-number-badge{background:#ff5252}.ticket-number-badge.missing{background:#e94560;font-size:12px}.ticket-number-container:hover .ticket-number-badge.missing{background:#d63c54}.ticket-number-edit{display:flex;align-items:center;gap:4px;background:#1a1a2e;border:1px solid #4a90d9;border-radius:6px;padding:2px 6px}.ticket-number-hash{color:#64748b;font-size:14px;font-weight:600}.ticket-number-input{width:80px;padding:4px 6px;background:transparent;border:none;color:#fff;font-size:14px;font-weight:600;outline:none}.ticket-number-input::placeholder{color:#64748b;font-weight:400}.ticket-number-save,.ticket-number-cancel{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.ticket-number-save{color:#22c55e}.ticket-number-save:hover{background:#22c55e33}.ticket-number-cancel{color:#64748b}.ticket-number-cancel:hover{background:#64748b33;color:#e94560}.ticket-number-warning{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f59e0b26;border:1px solid #f59e0b;border-radius:8px;color:#fbbf24;font-size:13px}.ticket-number-warning svg{flex-shrink:0;color:#f59e0b}.customer-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.customer-badge{font-size:14px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:uppercase}.customer-badge.eb1{background:#6366f1;color:#fff}.customer-badge.eb2{background:#3b82f6;color:#fff}.customer-badge.eb3{background:#22c55e;color:#fff}.customer-badge.eb4{background:#7c3aed;color:#fff}.customer-badge.ccd,.customer-badge.ced,.customer-badge.eac{background:#14b8a6;color:#fff}.customer-badge.tfc{background:#f97316;color:#fff}.customer-badge.eb5{background:#8b5cf6;color:#fff}.tfc-period-balance{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.tfc-balance-loading{display:inline-block;width:12px;height:12px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--text-muted, #9ca3af);border-radius:50%;animation:tfc-spin .6s linear infinite}@keyframes tfc-spin{to{transform:rotate(360deg)}}.tfc-balance-label{color:var(--text-muted)}.tfc-balance-positive{color:#22c55e;font-weight:600}.tfc-balance-negative{color:#ef4444;font-weight:600}.tfc-balance-zero{color:var(--text-muted);font-weight:600}.tfc-balance-not-in-period{color:var(--text-muted);font-style:italic;font-size:12px}.tfc-row{display:flex;align-items:center;gap:8px}.tfc-actions-group{margin-left:auto}.tfc-amount-field{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f973161a;border:1px solid rgba(249,115,22,.3);border-radius:8px}.tfc-amount-field.is-saved{background:#22c55e1a;border-color:#22c55e4d}.tfc-amount-label{font-size:12px;font-weight:500;color:#f97316;white-space:nowrap}.tfc-amount-field.is-saved .tfc-amount-label{color:#22c55e}.tfc-amount-readonly{font-size:13px;font-weight:600;color:#22c55e}.tfc-amount-input-wrapper{display:flex;align-items:center;gap:4px}.tfc-amount-prefix{font-size:13px;font-weight:500;color:var(--text-muted)}.tfc-amount-input{padding:4px 6px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;color:var(--input-text);font-size:13px;width:80px}.tfc-amount-input:focus{outline:none;border-color:#f97316}.tfc-amount-field.is-saved .tfc-amount-input:focus{border-color:#22c55e}.tfc-amount-input::placeholder{color:var(--input-placeholder)}.tfc-amount-input::-webkit-outer-spin-button,.tfc-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tfc-amount-input[type=number]{-moz-appearance:textfield}.tfc-amount-save-btn{display:flex;align-items:center;justify-content:center;padding:4px 10px;background:#f97316;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;min-width:50px}.tfc-amount-save-btn:hover{background:#ea580c}.tfc-amount-save-btn.saved{background:#22c55e;padding:4px 8px;min-width:auto}.tfc-amount-save-btn.saved:hover{background:#16a34a}.tfc-amount-save-btn svg{stroke:currentColor}.tfc-submission-assign{position:relative;margin-left:auto}.assign-submission-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f97316;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s}.assign-submission-btn:hover{background:#ea580c}.submission-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.dropdown-loading{display:flex;align-items:center;gap:8px;padding:16px;color:var(--text-muted);font-size:13px}.spinner-small{width:16px;height:16px;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.dropdown-empty{padding:16px;text-align:center}.dropdown-empty p{margin:0 0 8px;color:var(--text-muted);font-size:13px}.create-submission-link{color:var(--accent-primary);font-size:13px;text-decoration:none}.create-submission-link:hover{text-decoration:underline}.dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-primary)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--bg-tertiary)}.dropdown-item-title{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);font-weight:500}.submission-company-badge{display:inline-block;padding:2px 5px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.submission-company-badge.company-eb{background:var(--badge-eb-bg);color:var(--badge-eb-text)}.submission-company-badge.company-ebj{background:var(--badge-ebj-bg);color:var(--badge-ebj-text)}.dropdown-item-info{font-size:12px;color:var(--text-muted)}.dropdown-error{padding:16px;text-align:center;color:#e94560;font-size:13px}.tfc-submission-assigned{display:flex;align-items:center;gap:6px;margin-left:auto}.assigned-badge{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#22c55e33;border:1px solid #22c55e;border-radius:6px;color:#22c55e;font-size:12px;font-weight:500;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-badge svg{flex-shrink:0}.remove-from-submission-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid #64748b;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.remove-from-submission-btn:hover{background:#e945601a;border-color:#e94560;color:#e94560}.ticket-action-btn.mail{background:#6366f1;border-color:#6366f1;color:#fff}.ticket-action-btn.mail:hover{background:#4f46e5;color:#fff}.mailed-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#059669;background:#d1fae5;border:1px solid #6ee7b7;border-radius:4px;cursor:pointer;transition:all .15s ease}.mailed-badge:hover{background:#a7f3d0;border-color:#34d399}.mailed-badge svg{stroke:#059669}.mail-letter-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.mail-letter-content{width:100%;max-width:900px;max-height:90vh;background:#f8fafc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.mail-letter-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.mail-letter-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.mail-letter-body{display:flex;flex:1;overflow:hidden}.mail-letter-preview{flex:1;padding:20px;background:#64748b;overflow-y:auto;display:flex;justify-content:center}.letter-preview-container{width:100%;max-width:400px}.letter-page{background:#fff;padding:20px;border-radius:4px;box-shadow:0 4px 12px #0000004d;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.4;color:#000;min-height:500px;display:flex;flex-direction:column}.letter-date{text-align:right;margin-bottom:15px;font-size:9px}.letter-message{margin-bottom:10px}.letter-message p{margin:0 0 6px}.letter-ticket{text-align:center;flex-grow:1}.letter-ticket img{max-width:100%;max-height:180px;border:1px solid #ccc}.letter-ticket-img-wrap{display:inline-block;position:relative}.letter-ticket-img-wrap .stamp-preview-overlay{font-size:11px;right:4px}.no-ticket-image{padding:30px;border:1px dashed #ccc;color:#666;font-size:10px}.letter-addresses{margin-top:auto;padding-top:15px;font-size:9px}.letter-addresses .return-address{line-height:1.3;margin-bottom:25px}.letter-addresses .recipient-address{line-height:1.3;font-weight:400}.letter-addresses .recipient-address strong{font-weight:700}.mail-letter-form{width:300px;padding:20px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.mail-letter-form .form-group{display:flex;flex-direction:column;gap:6px}.mail-letter-form .form-group label{font-size:12px;font-weight:500;color:#64748b}.mail-letter-form .form-group input{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b}.mail-letter-form .form-group input:focus{outline:none;border-color:#4a90d9}.mail-letter-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px}.mail-letter-actions .edit-btn{width:100%;justify-content:center;display:flex;align-items:center;gap:8px}@media (max-width: 768px){.mail-letter-body{flex-direction:column}.mail-letter-preview{min-height:300px}.mail-letter-form{width:100%;border-left:none;border-top:1px solid #e2e8f0}}.email-ticket-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.email-ticket-content{width:100%;max-width:900px;max-height:90vh;background:#f8fafc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.email-ticket-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.email-ticket-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.email-ticket-body{display:flex;flex:1;overflow:hidden}.email-ticket-preview{flex:1;padding:20px;background:#64748b;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start}.email-preview-container{width:100%;max-width:400px}.email-preview-card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;overflow:hidden}.email-preview-header{background:#f1f5f9;padding:12px 16px;border-bottom:1px solid #e2e8f0}.email-preview-field{display:flex;gap:8px;font-size:11px;margin-bottom:4px}.email-preview-field:last-child{margin-bottom:0}.email-preview-field .label{color:#64748b;font-weight:500;min-width:50px}.email-preview-field .value{color:#1e293b;word-break:break-word}.email-preview-body{padding:16px}.email-preview-message{font-size:12px;line-height:1.6;color:#334155;white-space:pre-wrap;margin-bottom:16px}.email-preview-attachment{border:1px solid #e2e8f0;border-radius:6px;padding:12px;background:#f8fafc}.email-preview-attachment-label{font-size:10px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.email-preview-attachment img{max-width:100%;max-height:200px;border:1px solid #e2e8f0;border-radius:4px}.email-ticket-form{width:320px;padding:20px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.email-ticket-form .form-group{display:flex;flex-direction:column;gap:6px}.email-ticket-form .form-group label{font-size:12px;font-weight:500;color:#64748b}.email-ticket-form .form-group input,.email-ticket-form .form-group textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;font-family:inherit}.email-ticket-form .form-group input:focus,.email-ticket-form .form-group textarea:focus{outline:none;border-color:#4a90d9}.email-ticket-form .form-group input[readonly]{background:#f1f5f9;color:#64748b}.email-ticket-form .form-group textarea{resize:vertical;min-height:100px}.email-ticket-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px}.email-ticket-actions .edit-btn{width:100%;justify-content:center;display:flex;align-items:center;gap:8px}.email-ticket-actions .edit-btn.primary{background:#6366f1;border-color:#6366f1}.email-ticket-actions .edit-btn.primary:hover{background:#4f46e5}.email-ticket-actions .edit-btn:disabled{opacity:.6;cursor:not-allowed}.ticket-action-btn.email{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.ticket-action-btn.email:hover{background:#7c3aed;color:#fff}.ticket-action-btn.fax{background:#7c3aed;border-color:#7c3aed;color:#fff}.ticket-action-btn.fax:hover{background:#6d28d9;color:#fff}.faxed-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#7c3aed;background:#ede9fe;border:1px solid #c4b5fd;border-radius:4px;cursor:pointer;transition:all .15s ease}.faxed-badge:hover{background:#ddd6fe;border-color:#a78bfa}.faxed-badge svg{stroke:#7c3aed}.fax-queued-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#7c3aed;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:4px;cursor:default}.fax-queued-badge svg{stroke:#7c3aed}.ticket-action-btn.email-batch{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.ticket-action-btn.email-batch:hover{background:#7c3aed;color:#fff}.email-batch-sent-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#8b5cf6;background:#f3e8ff;border:1px solid #d8b4fe;border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.email-batch-sent-badge:hover{background:#ede9fe;border-color:#c4b5fd}.email-batch-sent-badge svg{stroke:#8b5cf6}.email-batch-queued-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#8b5cf6;background:#faf5ff;border:1px dashed #d8b4fe;border-radius:4px;cursor:default}.email-batch-queued-badge svg{stroke:#8b5cf6}.ticket-action-btn.sms{background:#22c55e;border-color:#22c55e;color:#fff}.ticket-action-btn.sms:hover{background:#16a34a;color:#fff}.emailed-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#7c3aed;background:#ede9fe;border:1px solid #c4b5fd;border-radius:4px;cursor:pointer;transition:all .15s ease}.emailed-badge:hover{background:#ddd6fe;border-color:#a78bfa}.emailed-badge svg{stroke:#7c3aed}.texted-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#16a34a;background:#dcfce7;border:1px solid #86efac;border-radius:4px;cursor:pointer;transition:all .15s ease}.texted-badge:hover{background:#bbf7d0;border-color:#4ade80}.texted-badge svg{stroke:#16a34a}.quick-email-dropdown{position:relative;display:inline-block}.ticket-action-btn.quick-email{background:#64748b;border-color:#64748b;color:#fff}.ticket-action-btn.quick-email:hover{background:#475569;color:#fff}.ticket-action-btn.quick-email .chevron{margin-left:2px;transition:transform .2s}.quick-email-menu{position:absolute;bottom:100%;left:0;margin-bottom:4px;min-width:140px;background:#1a1a2e;border:1px solid #0f3460;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.quick-email-menu.hidden{display:none}.quick-email-option{display:block;width:100%;padding:10px 14px;background:transparent;border:none;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.quick-email-option:hover{background:#0f3460}.quick-email-option:not(:last-child){border-bottom:1px solid #0f3460}@media (max-width: 768px){.email-ticket-body{flex-direction:column}.email-ticket-preview{min-height:250px}.email-ticket-form{width:100%;border-left:none;border-top:1px solid #e2e8f0}}.ticket-card-body{padding:16px;background:var(--card-bg);display:block}.ticket-content-layout{display:flex;gap:20px}.ticket-info-column{flex:1;min-width:0}.ticket-image-container{width:775px;min-width:775px;height:338px;background:var(--bg-tertiary);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-primary);position:relative}.ticket-image{width:100%;height:100%;object-fit:contain;cursor:pointer}.rotate-ticket-btns{position:absolute;bottom:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease;z-index:2}.ticket-image-container:hover .rotate-ticket-btns{opacity:1}.rotate-ticket-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;padding:0}.rotate-ticket-btn:hover{background:#000000b3}.rotate-ticket-btn:disabled{cursor:not-allowed}.rotate-ticket-btn.rotating svg{animation:spin .8s linear infinite}.ticket-image-missing{flex-direction:column;gap:8px;color:#64748b}.ticket-image-missing svg{opacity:.5}.ticket-image-missing span{font-size:13px}.ticket-image-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b;height:100%}.ticket-image-loading .spinner{width:32px;height:32px;border:3px solid #0f3460;border-top-color:#4a90d9;border-radius:50%;animation:spin 1s linear infinite}.ticket-image-loading span{font-size:13px}.ticket-image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b;height:100%}.ticket-image-error svg{opacity:.5}.ticket-image-error span{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.toast-notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);display:flex;align-items:center;gap:10px;padding:14px 24px;background:#16213e;border:1px solid #0f3460;border-radius:10px;box-shadow:0 8px 32px #0006;color:#fff;font-size:14px;font-weight:500;z-index:9999;opacity:0;transition:transform .3s ease,opacity .3s ease}.toast-notification.toast-visible{transform:translate(-50%) translateY(0);opacity:1}.toast-notification svg{flex-shrink:0}.toast-success{border-color:#22c55e}.toast-success svg{color:#22c55e}.toast-error{border-color:#e94560}.toast-error svg{color:#e94560}.toast-info{border-color:#4a90d9}.toast-info svg{color:#4a90d9}.edit-customer-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.edit-customer-content{width:100%;max-width:720px;max-height:90vh;background:#f8fafc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.edit-customer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.edit-customer-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.edit-customer-close{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px}.edit-customer-close:hover{color:#1e293b}.edit-customer-body{flex:1;overflow-y:auto;padding:20px}.reassign-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.reassign-header{font-size:13px;color:#64748b;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.current-account-badge{font-size:12px;font-weight:600;color:#166534;background:#dcfce7;padding:2px 10px;border-radius:12px}.current-account-badge.unassigned{color:#991b1b;background:#fee2e2}.reassign-search-wrapper{position:relative}.reassign-search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.reassign-search-wrapper input{width:100%;padding:10px 12px 10px 40px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background:#fff}.reassign-search-wrapper input:focus{outline:none;border-color:#4a90d9}.reassign-search-wrapper input::placeholder{color:#94a3b8}.reassign-results{margin-top:8px;border:1px solid #e2e8f0;border-radius:6px;max-height:200px;overflow-y:auto;background:#fff}.reassign-result-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s}.reassign-result-item:last-child{border-bottom:none}.reassign-result-item:hover{background:#f1f5f9}.reassign-result-info{flex:1}.reassign-result-name{font-size:14px;font-weight:500;color:#1e293b}.reassign-result-account{font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px}.reassign-company-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.reassign-company-badge.company-eb{background:#dbeafe;color:#1e40af}.reassign-company-badge.company-ebj{background:#fef3c7;color:#92400e}.reassign-result-select{color:#4a90d9;font-size:13px;font-weight:500}.reassign-no-results{padding:16px;text-align:center;color:#64748b;font-size:14px}.reassign-create-account{padding:12px 16px;background:#f0fdf4;border-top:1px solid #bbf7d0}.reassign-create-header{font-size:13px;font-weight:600;color:#15803d;margin-bottom:8px}.reassign-create-form{display:flex;gap:8px}.reassign-create-input{flex:1;padding:6px 10px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1e293b}.reassign-create-input:focus{outline:none;border-color:#22c55e}.reassign-create-btn{padding:6px 14px;font-size:13px;font-weight:500;background:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.reassign-create-btn:hover{background:#16a34a}.reassign-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px}.warning-title{font-size:14px;font-weight:600;color:#dc2626;margin-bottom:4px}.warning-text{font-size:13px;color:#ef4444}.ticket-name-section{background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;padding:12px 16px;margin-bottom:12px}.ticket-name-section label{font-weight:600;font-size:13px;color:#92400e;margin-bottom:6px;display:block}.ticket-name-hint{font-weight:400;color:#b45309;font-size:11px}.ticket-ocr-row{display:flex;gap:12px}.ticket-ocr-name{flex:2}.ticket-ocr-date{flex:1}.ticket-name-section input{width:100%;padding:8px 10px;border:1px solid #fbbf24;border-radius:6px;font-size:14px;background:#fff;box-sizing:border-box}.ticket-name-section input[type=date]{cursor:pointer;color-scheme:light}.ticket-name-section input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.billing-contact-hint{font-weight:400;color:#64748b;font-size:11px}.customer-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-row-3{grid-template-columns:2fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group input{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background:#fff}.form-group input:focus{outline:none;border-color:#4a90d9}.form-group input::placeholder{color:#94a3b8}.form-fieldset{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin:0 0 16px}.form-fieldset legend{font-size:13px;font-weight:500;color:#64748b;padding:0 8px}.preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#374151}.toggle-label input{display:none}.toggle-switch{position:relative;width:44px;height:24px;background:#e2e8f0;border-radius:12px;transition:background .2s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-label input:checked+.toggle-switch{background:#4a90d9}.toggle-label input:checked+.toggle-switch:after{transform:translate(20px)}.edit-customer-actions{display:flex;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.edit-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.edit-btn.secondary{background:#fff;border:1px solid #4a90d9;color:#4a90d9}.edit-btn.secondary:hover{background:#f0f7ff}.edit-btn.primary{background:#4a90d9;border:1px solid #4a90d9;color:#fff}.edit-btn.primary:hover{background:#3b82c4}.edit-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.edit-customer-content{max-height:95vh}.form-row,.form-row-3,.preferences-grid{grid-template-columns:1fr}}.ticket-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ticket-detail{display:flex;flex-direction:column;gap:2px}.ticket-detail-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.ticket-detail-value{font-size:14px;color:var(--text-primary)}.ticket-address{grid-column:1 / -1}.ticket-instructions{grid-column:1 / -1;padding:10px;background:#4a90d91a;border-radius:6px;border-left:3px solid #4a90d9}.ticket-instructions .ticket-detail-value{font-style:italic;color:var(--text-secondary)}.ticket-actions{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid #0f3460}.actions-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.actions-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket-action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.ticket-action-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.ticket-action-btn.primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.ticket-action-btn.primary:hover{background:var(--btn-primary-hover)}.ticket-action-btn.hold{background:var(--status-warning);border-color:var(--status-warning);color:var(--text-inverse)}.ticket-action-btn.hold:hover{background:#dab820}.ticket-action-btn.archive{background:var(--status-error);border-color:var(--status-error);color:#fff}.ticket-action-btn.archive:hover{background:var(--btn-danger-hover)}.ticket-action-btn.danger{background:#e94560;border-color:#e94560}.ticket-action-btn.danger:hover{background:#d63c54}.ticket-action-btn:disabled{opacity:.5;cursor:not-allowed}.ticket-action-btn svg{flex-shrink:0}.action-status{display:flex;align-items:center;gap:4px;font-size:12px;color:#22c55e}.action-status svg{width:14px;height:14px}.view-pdf-link{display:flex;align-items:center;gap:6px;color:#4a90d9;text-decoration:none;font-size:13px;cursor:pointer}.view-pdf-link:hover{text-decoration:underline}.ticket-comments{margin-top:16px;padding-top:16px;border-top:1px solid #0f3460}.comments-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-muted);font-size:13px;font-weight:500}.comment-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.comment-item{padding:10px 12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-primary)}.comment-meta{font-size:11px;color:var(--text-muted);margin-bottom:4px}.comment-text{font-size:14px;color:var(--text-primary)}.add-comment-form{display:flex;gap:8px}.add-comment-input{flex:1;padding:10px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:14px}.add-comment-input::placeholder{color:var(--input-placeholder)}.add-comment-input:focus{outline:none;border-color:var(--border-focus)}.add-comment-btn{padding:10px 16px;background:var(--btn-primary-bg);border:none;border-radius:8px;color:var(--btn-primary-text);font-size:14px;cursor:pointer}.add-comment-btn:hover{background:#3a7bc8}.ticket-email-history{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-primary)}.email-history-header{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.email-history-header:hover{color:var(--text-primary)}.email-history-chevron{margin-left:auto;transition:transform .2s}.email-history-header.expanded .email-history-chevron{transform:rotate(180deg)}.email-history-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.email-history-list.hidden{display:none}.email-event-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.email-event-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s}.email-event-header:hover{background:var(--bg-tertiary)}.email-event-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;flex-shrink:0}.email-event-badge.customer{background:var(--accent-primary);color:var(--text-inverse)}.email-event-badge.forward{background:#8b5cf6;color:#fff}.email-event-to{font-size:13px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-event-date{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.email-event-chevron{flex-shrink:0;transition:transform .2s;color:var(--text-muted)}.email-event-item.expanded .email-event-chevron{transform:rotate(180deg)}.email-event-body{padding:10px 12px;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.email-event-body.hidden{display:none}.email-event-subject{font-size:12px;color:var(--text-primary);margin-bottom:8px}.email-event-message{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5;margin-bottom:8px;max-height:200px;overflow-y:auto}.email-event-sender{font-size:11px;color:var(--text-muted);font-style:italic}.ticket-sms-history{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-primary)}.sms-history-header{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sms-history-header:hover{color:var(--text-primary)}.sms-history-chevron{margin-left:auto;transition:transform .2s}.sms-history-header.expanded .sms-history-chevron{transform:rotate(180deg)}.sms-history-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sms-history-list.hidden{display:none}.sms-event-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 12px}.sms-event-header{display:flex;align-items:center;gap:8px}.sms-event-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;flex-shrink:0;background:#22c55e;color:#fff}.sms-event-to{font-size:13px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-event-date{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.sms-event-message{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5;margin-top:6px}.sms-event-sender{font-size:11px;color:var(--text-muted);font-style:italic;margin-top:4px}.ticket-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.ticket-modal-content{position:relative;width:100%;max-width:900px;max-height:90vh;background:var(--modal-bg);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.ticket-modal-close{position:absolute;top:12px;right:12px;background:#00000080;border:none;color:#fff;font-size:24px;width:36px;height:36px;border-radius:50%;cursor:pointer;z-index:10}.ticket-modal-close:hover{background:#000000b3}#ticket-modal-body{flex:1;overflow-y:auto}.pdf-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;flex-direction:column;z-index:1001}.pdf-modal-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.pdf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#0009;flex-shrink:0}.pdf-modal-header span{font-size:16px;font-weight:500;color:#fff}.pdf-modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:4px 12px;opacity:.7;transition:opacity .2s}.pdf-modal-close:hover{opacity:1}.pdf-modal-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:10px}.pdf-modal-body img{max-width:100%;max-height:calc(100vh - 60px);object-fit:contain}.ticket-card.archived{opacity:.8}.ticket-card.archived .ticket-card-header{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-elevated) 100%)}.search-results-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:12px}.search-results-header span{color:var(--text-primary);font-size:14px}.search-results-count{background:var(--accent-primary);color:var(--text-inverse);padding:2px 10px;border-radius:12px;font-size:13px;font-weight:500}@media (max-width: 1200px){.ticket-content-layout{flex-direction:column}.ticket-image-container{width:100%;min-width:unset;max-width:775px;height:auto;aspect-ratio:775 / 338}}@media (max-width: 640px){.tickets-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.ticket-tab{padding:8px 12px;font-size:13px}.ticket-details{grid-template-columns:1fr}.actions-row{flex-direction:column;align-items:stretch}.actions-group{justify-content:center}.ticket-action-btn{justify-content:center;flex:1}}.tribal-view{flex:1;overflow-y:auto;padding:16px}.tribal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tribal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.create-submission-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f97316;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.create-submission-btn:hover{background:#ea580c}.tribal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center}.tribal-empty svg{margin-bottom:16px;opacity:.5}.tribal-empty p{margin:0;font-size:16px}.tribal-empty .empty-sub{font-size:14px;margin-top:8px;opacity:.7}.submissions-section{margin-bottom:24px}.submissions-section-title{font-size:14px;font-weight:500;color:var(--text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.submissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.submission-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;cursor:pointer;transition:all .2s;overflow:hidden;box-shadow:var(--card-shadow)}.submission-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.submission-card.pending{border-left:4px solid #f97316}.submission-card.submitted{border-left:4px solid #22c55e}.submission-card.paid{border-left:4px solid #3b82f6}.submission-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--card-border)}.submission-period-label{padding:4px 16px 0;font-size:12px;color:var(--text-tertiary);font-style:italic}.submission-number{font-size:16px;font-weight:600;color:var(--text-primary)}.submission-company-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase}.submission-company-badge.eb-propane{background:#4a90d9;color:#fff}.submission-company-badge.eb-jacobs{background:#e94560;color:#fff}.submission-card-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px}.submission-stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:14px;color:var(--text-primary);font-weight:500}.stat-value.status-pending{color:#f97316}.stat-value.status-submitted{color:#22c55e}.stat-value.status-paid{color:#3b82f6}.submission-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#1e293b;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{background:#334155}.submission-detail-header h2{flex:1;margin:0;font-size:22px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.submission-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-title-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s;flex-shrink:0}.edit-title-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.edit-title-input{flex:1;max-width:300px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--accent-primary);border-radius:6px;color:var(--text-primary);font-size:18px;font-weight:600}.edit-title-input:focus{outline:none;border-color:var(--accent-primary)}.save-title-btn,.cancel-title-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0}.save-title-btn{background:#22c55e;color:#fff}.save-title-btn:hover{background:#16a34a}.cancel-title-btn{background:#64748b;color:#fff}.cancel-title-btn:hover{background:#475569}.submission-detail-actions{display:flex;gap:8px}.submission-action-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.submission-action-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.submission-action-btn.print{background:#1e293b;border-color:#1e293b;color:#fff}.submission-action-btn.print:hover{background:#334155;border-color:#334155}.submission-action-btn.primary{background:#22c55e;border-color:#22c55e}.submission-action-btn.primary:hover{background:#16a34a}.submission-action-btn.paid-btn{background:#3b82f6;border-color:#3b82f6}.submission-action-btn.paid-btn:hover{background:#2563eb}.submission-action-btn.danger{background:#ef4444;border-color:#ef4444}.submission-action-btn.danger:hover{background:#dc2626}.submission-action-btn:disabled{opacity:.5;cursor:not-allowed}.submission-detail-info{display:flex;gap:24px;padding:16px 20px;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:12px;margin-bottom:20px;flex-wrap:wrap}.submission-info-row{display:flex;align-items:center;gap:8px}.info-label{font-size:13px;color:var(--text-secondary)}.info-value{font-size:15px;color:var(--text-primary);font-weight:500}.info-value.company-badge{padding:4px 10px;border-radius:6px;color:#fff}.info-value.company-badge.eb-propane{background:#4a90d9}.info-value.company-badge.eb-jacobs{background:#e94560}.info-value.status-badge{padding:4px 10px;border-radius:6px;color:#fff}.info-value.status-badge.pending{background:#f97316}.info-value.status-badge.submitted{background:#22c55e}.info-value.status-badge.paid{background:#3b82f6}.submission-date-input{font-size:14px;padding:4px 8px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-family:inherit;color:var(--text-primary);background:var(--bg-primary, #fff)}.amount-row{flex:1;justify-content:flex-end}.submission-total{font-size:20px;font-weight:700;color:#22c55e;padding:6px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px}.save-amount-btn{padding:8px 14px;background:#4a90d9;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer}.save-amount-btn:hover{background:#3b82c4}.submission-tickets-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden}.submission-tickets-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--card-border)}.submission-tickets-header h3{margin:0;font-size:16px;font-weight:500;color:var(--text-primary)}.submission-tickets-actions{display:flex;align-items:center;gap:8px}.sort-alphabetical-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .2s,color .2s}.sort-alphabetical-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-tickets-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#4a90d9;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s}.add-tickets-btn:hover{background:#3b82c4}.submission-tickets-list{padding:12px}.submission-ticket-item{display:flex;flex-direction:column;background:var(--bg-elevated);border-radius:8px;margin-bottom:8px;overflow:hidden}.submission-ticket-item:last-child{margin-bottom:0}.submission-ticket-row{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .15s ease}.submission-ticket-row:hover{background:var(--bg-secondary)}.submission-ticket-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.submission-ticket-item.expanded .submission-ticket-chevron{transform:rotate(180deg)}.drag-handle{cursor:grab;padding:4px;color:var(--text-muted);opacity:.5;transition:opacity .15s ease,color .15s ease;flex-shrink:0}.drag-handle:hover{opacity:1;color:var(--text-secondary)}.drag-handle:active{cursor:grabbing}.submission-ticket-item.dragging{opacity:.5;background:var(--bg-tertiary)}.submission-ticket-item.drag-over{border-top:3px solid var(--accent-primary);margin-top:-3px}.submission-ticket-preview{padding:0 14px 14px}.submission-ticket-preview .ticket-image{width:100%;max-height:400px;object-fit:contain;border-radius:6px;cursor:pointer;border:1px solid var(--border-primary)}.submission-ticket-preview .ticket-image-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:30px;color:var(--text-muted)}.submission-ticket-preview .ticket-image-error{text-align:center;padding:20px;color:var(--text-muted)}.submission-ticket-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.submission-ticket-top{display:flex;align-items:center;gap:8px}.submission-ticket-info .ticket-name{font-size:15px;font-weight:600;color:var(--text-primary)}.ticket-number-badge{font-size:18px;font-weight:700;color:#991b1b;background:#fee2e2;padding:6px 16px;border-radius:10px;white-space:nowrap}.submission-ticket-info .ticket-meta{font-size:12.5px;color:var(--text-secondary)}.submission-date-edit{cursor:pointer;border-bottom:1px dashed var(--text-secondary);padding-bottom:1px;transition:color .15s ease;white-space:nowrap}.submission-date-edit:hover{color:var(--accent, #4a90d9);border-bottom-color:var(--accent, #4a90d9)}.submission-date-edit svg{vertical-align:middle;margin-left:2px;opacity:.5}.submission-date-edit:hover svg{opacity:1}.submission-date-input{font-size:12.5px;padding:2px 6px;border:1px solid var(--accent, #4a90d9);border-radius:4px;outline:none;color-scheme:light;cursor:pointer}.submission-account-edit,.submission-gallons-edit{cursor:pointer;border-bottom:1px dashed var(--text-secondary);padding-bottom:1px;transition:color .15s ease;white-space:nowrap}.submission-account-edit:hover,.submission-gallons-edit:hover{color:var(--accent, #4a90d9);border-bottom-color:var(--accent, #4a90d9)}.submission-account-edit svg,.submission-gallons-edit svg{vertical-align:middle;margin-left:2px;opacity:.5}.submission-account-edit:hover svg,.submission-gallons-edit:hover svg{opacity:1}.submission-text-input{font-size:12.5px;padding:2px 6px;border:1px solid var(--accent, #4a90d9);border-radius:4px;outline:none;width:60px;background:var(--bg-primary);color:var(--text-primary)}.submission-tfc-input{width:70px}.submission-name-input{width:180px;font-size:14px;font-weight:600}.submission-ticketnum-input{width:80px;font-size:14px;font-weight:700}.submission-ticketnum-edit{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.submission-ticketnum-edit:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.submission-name-edit{cursor:pointer;border-bottom:1px dashed transparent;padding-bottom:1px;transition:border-color .15s ease}.submission-name-edit:hover{border-bottom-color:var(--text-secondary)}.submission-name-edit svg{vertical-align:middle;margin-left:4px;opacity:0;transition:opacity .15s ease}.submission-name-edit:hover svg{opacity:.5}.submission-tfc-edit{cursor:pointer;border-bottom:1px dashed currentColor;padding-bottom:1px;transition:color .15s ease;white-space:nowrap}.submission-tfc-edit:hover{color:var(--accent, #4a90d9)}.submission-tfc-edit svg{vertical-align:middle;margin-left:2px;opacity:.5}.submission-tfc-edit:hover svg{opacity:1}.submission-ticket-info .ticket-account{font-size:13px;color:var(--text-secondary)}.submission-ticket-info .ticket-details{font-size:12px;color:var(--text-secondary)}.submission-ticket-tfc{display:flex;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px}.submission-ticket-tfc .tfc-label{font-size:11px;font-weight:600;color:#22c55e;text-transform:uppercase}.submission-ticket-tfc .tfc-value{font-size:14px;font-weight:600;color:#22c55e}.remove-ticket-btn{padding:6px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--accent-secondary);cursor:pointer;transition:all .2s}.remove-ticket-btn:hover{background:var(--status-error-bg);border-color:var(--accent-secondary)}.no-tickets-message{padding:40px 20px;text-align:center;color:var(--text-secondary)}.no-tickets-message p{margin:0}.no-tickets-message .empty-sub{font-size:13px;margin-top:8px;opacity:.7}.tribal-sub-tabs{display:flex;gap:0;border-bottom:2px solid var(--card-border);margin-bottom:20px}.tribal-sub-tab{padding:10px 24px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tribal-sub-tab:hover{color:var(--text-primary)}.tribal-sub-tab.active{color:#f97316;border-bottom-color:#f97316}.tribal-subview{flex:1}.period-card.pending{border-left:4px solid #22c55e}.period-card.submitted{border-left:4px solid #6b7280}.submission-card .status-badge.pending{color:#f97316;font-weight:600}.submission-card .status-badge.submitted,.submission-card .status-badge.closed{color:#22c55e;font-weight:600}.submission-card .status-badge.active{color:#22c55e}.info-value.status-badge.period-active{background:#22c55e;color:#fff}.info-value.status-badge.period-closed{background:#6b7280;color:#fff}.tribal-period-detail{padding:0}.period-customers-section{margin-top:20px}.period-company-tabs{display:flex;gap:0;margin-bottom:16px}.period-company-tab{padding:8px 20px;background:var(--bg-elevated);border:1px solid var(--card-border);color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.period-company-tab:first-child{border-radius:8px 0 0 8px}.period-company-tab:last-child{border-radius:0 8px 8px 0;border-left:none}.period-company-tab.active[data-company=eb_propane]{background:#4a90d9;border-color:#4a90d9;color:#fff}.period-company-tab.active[data-company=eb_jacobs]{background:#e94560;border-color:#e94560;color:#fff}.period-customers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}.period-customers-actions{display:flex;gap:8px;align-items:center}.add-period-customer-wrapper{position:relative}.add-period-customer-results{position:absolute;top:100%;right:0;width:300px;max-height:280px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:100;margin-top:4px}.add-customer-result{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--card-border)}.add-customer-result:last-child{border-bottom:none}.add-customer-result:hover{background:var(--bg-elevated)}.add-customer-name{font-size:14px;color:var(--text-primary);font-weight:500}.add-customer-account{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.add-customer-no-results{padding:12px 14px;color:var(--text-muted);font-size:13px;text-align:center}.period-customers-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.period-customers-filter-bar{margin-bottom:8px}.period-customers-filter-bar .period-customer-filter{width:100%;max-width:300px;padding:8px 12px;border:1px solid var(--card-border);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.period-date-input{padding:6px 10px;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:6px;color:var(--text-primary);font-size:14px}.period-date-input:focus{outline:none;border-color:#f97316}.period-date-input:disabled{opacity:.6;cursor:not-allowed}.period-customer-filter{padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:14px;width:240px}.period-customer-filter:focus{outline:none;border-color:#f97316}.period-customers-table{width:100%;border-collapse:collapse;font-size:14px}.period-customers-table th{text-align:left;padding:10px 12px;background:var(--bg-elevated);border-bottom:2px solid var(--card-border);color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.period-customers-table td{padding:10px 12px;border-bottom:1px solid var(--card-border);color:var(--text-primary)}.period-customer-row{cursor:pointer}.period-customers-table tbody tr.period-customer-row:hover{background:var(--bg-elevated)}.period-customer-unapproved{background:#fff0f0;color:#b91c1c}.period-customer-unapproved:hover{background:#ffe4e4!important}.period-customers-table .amount-col{text-align:right;font-variant-numeric:tabular-nums}.period-customers-table .action-col{width:40px;text-align:center}.name-cell.editable,.amount-cell.editable{cursor:pointer;position:relative}.name-cell.editable:hover,.amount-cell.editable:hover{background:#f973161a;border-radius:4px}.inline-name-input{width:100%;padding:4px 8px;background:var(--bg-primary);border:2px solid #f97316;border-radius:4px;color:var(--text-primary);font-size:14px;box-sizing:border-box}.inline-name-input:focus{outline:none}.merge-period-customer-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;line-height:1}.merge-period-customer-btn:hover{background:#3b82f61a;color:#3b82f6}.merge-source-highlight{background:#3b82f614!important}.merge-search-row td{padding:8px 12px!important;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.merge-search-container{display:flex;align-items:center;gap:8px;position:relative}.merge-label{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.merge-search-input{flex:1;max-width:300px;padding:6px 10px;background:var(--bg-primary);border:2px solid #3b82f6;border-radius:6px;color:var(--text-primary);font-size:13px}.merge-search-input:focus{outline:none}.merge-search-results{position:absolute;top:100%;left:80px;width:300px;max-height:200px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:50}.merge-result{display:flex;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:13px}.merge-result:hover{background:#3b82f61a}.merge-result-name{color:var(--text-primary)}.merge-result-account{color:var(--text-muted);font-size:12px}.merge-no-results{padding:8px 12px;color:var(--text-muted);font-size:13px}.merge-cancel-btn{padding:6px 12px;background:var(--bg-tertiary, #e5e7eb);border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer}.merge-cancel-btn:hover{background:var(--bg-hover, #d1d5db)}.inline-amount-input{width:100px;padding:4px 8px;background:var(--bg-primary);border:2px solid #f97316;border-radius:4px;color:var(--text-primary);font-size:14px;text-align:right;font-variant-numeric:tabular-nums}.inline-amount-input:focus{outline:none}.amount-positive{color:#22c55e}.amount-negative{color:#ef4444}.amount-zero{color:var(--text-muted)}.totals-row td{border-top:2px solid var(--card-border);background:var(--bg-elevated)}.remove-period-customer-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.remove-period-customer-btn:hover{color:#ef4444;background:#ef44441a}.period-select{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer}.period-select:focus{outline:none;border-color:#f97316}.form-input{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:14px;box-sizing:border-box}.form-input:focus{outline:none;border-color:#f97316}.migrate-periods-section{margin-top:32px;padding:20px;background:var(--bg-elevated);border:1px dashed var(--card-border);border-radius:12px;text-align:center}.migrate-periods-section p{margin:0 0 12px;color:var(--text-muted);font-size:14px}.migrate-periods-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#f97316;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.migrate-periods-btn:hover{background:#ea580c}.migrate-periods-btn:disabled{opacity:.6;cursor:not-allowed}.create-submission-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.create-submission-content{width:100%;max-width:400px;background:#f8fafc;border-radius:12px;overflow:hidden}.create-submission-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.create-submission-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.modal-close{background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;padding:4px}.modal-close:hover{color:#1e293b}.create-submission-body{padding:20px;display:flex;flex-direction:column;gap:16px}.company-radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.radio-label:hover{border-color:#4a90d9}.radio-label input{display:none}.radio-indicator{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:50%;position:relative;transition:all .2s}.radio-label input:checked+.radio-indicator{border-color:#4a90d9}.radio-label input:checked+.radio-indicator:after{content:"";position:absolute;top:4px;left:4px;width:8px;height:8px;background:#4a90d9;border-radius:50%}.radio-label span:last-child{font-size:15px;color:#1e293b}.create-submission-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.add-tickets-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.add-tickets-content{width:100%;max-width:500px;max-height:80vh;background:#f8fafc;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.add-tickets-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.add-tickets-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.add-tickets-body{flex:1;overflow-y:auto;padding:20px}.add-tickets-info{font-size:13px;color:#64748b;margin:0 0 16px}.available-tfc-tickets{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;max-height:300px;overflow-y:auto}.ticket-checkbox-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.ticket-checkbox-item:hover{border-color:#4a90d9}.ticket-checkbox-item input{display:none}.checkbox-indicator{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:4px;position:relative;flex-shrink:0;transition:all .2s}.ticket-checkbox-item input:checked+.checkbox-indicator{background:#4a90d9;border-color:#4a90d9}.ticket-checkbox-item input:checked+.checkbox-indicator:after{content:"";position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.ticket-checkbox-info{flex:1;display:flex;flex-direction:column;gap:2px}.ticket-checkbox-info .ticket-name{font-size:14px;font-weight:500;color:#1e293b}.ticket-checkbox-info .ticket-details{font-size:12px;color:#64748b}.add-tickets-actions{display:flex;justify-content:center;gap:12px}.loading-tickets{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#64748b}.loading-tickets .spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#4a90d9;border-radius:50%;animation:spin 1s linear infinite}.no-tickets-available{padding:40px 20px;text-align:center;color:#64748b}.no-tickets-available p{margin:0}.no-tickets-available .empty-sub{font-size:13px;margin-top:8px;opacity:.7}.error-message{padding:20px;text-align:center;color:#e94560}.fax-view{flex:1;overflow-y:auto;padding:16px}.fax-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.fax-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.fax-customer-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:16px;margin-bottom:12px}.fax-customer-header{display:flex;justify-content:space-between;align-items:center}.fax-ticket-list{margin-top:8px;font-size:14px;color:var(--text-secondary)}.fax-no-number{color:#ef4444;font-size:12px}.fax-number-display{font-size:13px;color:var(--text-muted)}.fax-preview-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.fax-preview-btn:hover{background:var(--accent-primary-light);border-color:var(--border-focus);color:var(--text-primary)}.fax-preview-btn:disabled{opacity:.6;cursor:not-allowed}.fax-customer-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.fax-toggle-chevron{flex-shrink:0;transition:transform .2s;color:var(--text-muted)}.fax-toggle-chevron.expanded{transform:rotate(90deg)}.fax-queue-ticket-summary{color:var(--text-muted);font-size:13px;margin-left:8px}.fax-queue-ticket-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:6px}.fax-queue-ticket-row{display:flex;align-items:center;gap:16px;padding:6px 8px;border-radius:6px;background:var(--bg-secondary);font-size:13px}.fax-queue-ticket-num{font-weight:600;color:var(--text-primary);min-width:60px}.fax-queue-ticket-account{color:var(--text-secondary);min-width:60px}.fax-queue-ticket-gallons,.fax-queue-ticket-amount{color:var(--text-secondary);min-width:70px}.fax-edit-date{width:130px;padding:2px 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s}.fax-edit-date:hover{border-color:var(--border-primary);background:var(--input-bg)}.fax-edit-date:focus{outline:none;border-color:var(--border-focus);background:var(--input-bg);color:var(--text-primary)}.fax-field-invalid{border-color:#ef4444!important;background:#fef2f2!important}.fax-edit-account{width:50px;padding:2px 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:13px;transition:border-color .15s,background .15s}.fax-edit-account:hover{border-color:var(--border-primary);background:var(--input-bg)}.fax-edit-account:focus{outline:none;border-color:var(--border-focus);background:var(--input-bg)}.fax-edit-address{flex:1;min-width:140px;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:13px;transition:border-color .15s,background .15s}.fax-edit-address:hover{border-color:var(--border-primary);background:var(--input-bg)}.fax-edit-address:focus{outline:none;border-color:var(--border-focus);background:var(--input-bg)}.fax-inline-field{display:inline-flex;align-items:center;gap:2px;min-width:80px}.fax-inline-field input{width:60px;padding:2px 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:13px;text-align:right;transition:border-color .15s,background .15s}.fax-inline-field input:hover{border-color:var(--border-primary);background:var(--input-bg)}.fax-inline-field input:focus{outline:none;border-color:var(--border-focus);background:var(--input-bg)}.fax-field-suffix,.fax-field-prefix{font-size:12px;color:var(--text-muted);pointer-events:none}.fax-group-total{font-weight:600;font-size:14px;color:#16a34a;margin-left:12px}.fax-queue-ticket-item{display:flex;flex-direction:column}.fax-queue-ticket-row.expandable{cursor:pointer}.fax-queue-ticket-row.expandable:hover{background:var(--accent-primary-light)}.fax-ticket-row-chevron{flex-shrink:0;transition:transform .2s;color:var(--text-muted)}.fax-ticket-row-chevron.expanded{transform:rotate(90deg)}.fax-queue-ticket-preview{padding:8px;background:var(--bg-primary);border-radius:6px;margin-top:4px;text-align:center}.fax-preview-loading{padding:20px;display:flex;justify-content:center}.fax-preview-img{max-width:100%;max-height:400px;border-radius:4px;object-fit:contain}.fax-history-section{border-top:1px solid var(--border-primary);margin-top:24px;padding-top:16px}.fax-history-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-secondary)}.fax-batch-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:12px 16px;margin-bottom:10px}.fax-batch-header{display:flex;justify-content:space-between;align-items:center}.fax-batch-meta{color:var(--text-muted);font-size:13px;margin-left:8px}.fax-batch-date{font-size:13px;color:var(--text-muted)}.fax-batch-details{display:flex;align-items:center;gap:12px;margin-top:6px}.fax-batch-number{font-size:13px;color:var(--text-secondary)}.fax-batch-status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;display:inline-block}.fax-batch-status.delivered{background:#dcfce7;color:#166534}.fax-batch-status.failed{background:#fee2e2;color:#991b1b}.fax-batch-status.queued{background:#fef9c3;color:#854d0e}.fax-batch-pdf-btn{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;background:#7c3aed;color:#fff;text-decoration:none;cursor:pointer}.fax-batch-pdf-btn:hover{background:#6d28d9}.fax-batch-failure{font-size:12px;color:#ef4444;margin-top:4px}.fax-batch-tickets{font-size:13px;color:var(--text-muted);margin-top:6px}.fax-batch-retry-btn{padding:3px 10px;font-size:11px;font-weight:600;color:#fff;background:#f59e0b;border:none;border-radius:4px;cursor:pointer;transition:background .15s ease}.fax-batch-retry-btn:hover{background:#d97706}.fax-batch-retry-btn:disabled{opacity:.6;cursor:not-allowed}.fax-batch-status.retried{color:#6b7280;background:#f3f4f6}.fax-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1002;padding:20px}.fax-preview-modal-content{width:100%;max-width:800px;max-height:90vh;background:var(--card-bg);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.fax-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--card-border)}.fax-preview-modal-header h3{margin:0;font-size:18px}.fax-preview-modal-body{flex:1;overflow:auto;padding:16px 20px}#fax-preview-embed{width:100%;min-height:500px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:8px;overflow:hidden}#fax-preview-embed iframe{width:100%;height:600px;border:none;border-radius:8px}#fax-preview-embed .spinner{width:32px;height:32px}.fax-preview-info{display:flex;gap:16px;margin-top:12px;font-size:13px;color:var(--text-muted)}.fax-preview-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--card-border)}.fax-preview-modal-actions .ticket-action-btn.fax{font-size:14px;padding:8px 20px}.email-batch-modal-wide{max-width:1400px;width:95vw}.email-batch-modal-body{display:flex;gap:24px;padding:20px;min-height:500px}.email-batch-compose{flex:0 0 400px;display:flex;flex-direction:column;gap:12px}.email-batch-compose .form-group{display:flex;flex-direction:column;gap:4px}.email-batch-compose label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.email-batch-compose input,.email-batch-compose textarea{padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px;font-family:inherit}.email-batch-compose input:focus,.email-batch-compose textarea:focus{outline:none;border-color:var(--border-focus)}.email-batch-compose input[readonly]{background:var(--bg-tertiary);color:var(--text-secondary)}.email-batch-compose textarea{resize:vertical;min-height:120px;flex:1}.email-batch-preview-pane{flex:1;display:flex;flex-direction:column;min-width:0}.email-batch-preview-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.email-batch-preview-pane #email-batch-preview-embed{flex:1;border:1px solid var(--border-primary);border-radius:6px;overflow:hidden;background:#fff;min-height:300px}.email-batch-preview-pane #email-batch-preview-embed iframe{width:100%;height:100%;min-height:300px}@media (max-width: 640px){.submission-detail-header{flex-direction:column;align-items:flex-start}.submission-detail-actions{width:100%;justify-content:center}.submission-detail-info{flex-direction:column;gap:12px}.amount-row{justify-content:flex-start}.submissions-grid{grid-template-columns:1fr}}.email-batch-details-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;cursor:pointer;transition:all .15s ease}.email-batch-details-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.email-batch-details-toggle svg{transition:transform .2s ease}.email-batch-details-toggle.expanded svg{transform:rotate(180deg)}.email-batch-details-panel{margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-primary)}.email-batch-details-panel.hidden{display:none}.email-batch-detail-row{display:flex;gap:8px;margin-bottom:8px}.email-batch-detail-row:last-child{margin-bottom:0}.email-batch-detail-label{font-size:12px;font-weight:600;color:var(--text-muted);min-width:60px;flex-shrink:0}.email-batch-detail-value{font-size:13px;color:var(--text-primary);word-break:break-word}.email-batch-detail-message{font-size:13px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;background:var(--bg-primary);padding:8px;border-radius:4px;border:1px solid var(--border-primary);max-height:150px;overflow-y:auto}.ticket-date-editable{cursor:pointer;padding:2px 6px;margin:-2px -6px;border-radius:4px;transition:background .15s ease}.ticket-date-editable:hover{background:var(--bg-tertiary)}.ticket-date-input{font-size:14px;padding:4px 8px;border:1px solid var(--border-primary);border-radius:4px;background:var(--input-bg);color:var(--text-primary);width:auto;max-width:150px}.ticket-date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.period-row-chevron{display:inline-block;vertical-align:middle;margin-right:6px;transition:transform .15s ease;color:var(--text-muted);flex-shrink:0}.period-row-chevron.expanded{transform:rotate(180deg)}.period-customer-tickets-row td{padding:0!important;border-bottom:1px solid var(--card-border)}.period-customer-tickets-container{padding:8px 12px 8px 32px;background:var(--bg-secondary);font-size:13px}.period-tickets-empty{color:var(--text-muted);padding:8px 0;font-style:italic}.period-tickets-list{display:flex;flex-direction:column;gap:2px}.period-ticket-item{display:grid;grid-template-columns:80px 90px 80px 100px 1fr auto;gap:8px;padding:4px 0;align-items:center;border-bottom:1px solid var(--card-border)}.period-ticket-item:last-child{border-bottom:none}.period-ticket-total{border-top:1px solid var(--text-muted);margin-top:2px;padding-top:6px}.period-ticket-num{color:var(--text-muted);font-size:12px}.period-ticket-num-link{color:var(--accent-primary);text-decoration:none;cursor:pointer}.period-ticket-num-link:hover{text-decoration:underline}.period-ticket-date{color:var(--text-secondary);font-size:12px}.period-ticket-gallons{color:var(--text-secondary);font-size:12px;text-align:right}.period-ticket-tfc{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.period-ticket-submission{color:var(--text-muted);font-size:12px;text-align:right}.period-ticket-view{font-size:12px;color:var(--accent-primary);text-decoration:none;cursor:pointer}.period-ticket-view:hover{text-decoration:underline}.customers-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.customers-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-wrap:wrap}.customers-search-wrapper{position:relative;display:flex;align-items:center;flex:1;min-width:200px}.customers-search-wrapper .search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.customers-search-wrapper input{width:100%;padding:10px 36px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:14px}.customers-search-wrapper input::placeholder{color:var(--input-placeholder)}.customers-search-wrapper input:focus{outline:none;border-color:var(--border-focus)}.customers-filters{display:flex;gap:4px}.filter-chip{padding:6px 14px;border:1px solid var(--border-primary);border-radius:20px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-chip:hover{background:var(--accent-primary-light);color:var(--text-primary)}.filter-chip.active{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.filter-divider{width:1px;height:20px;background:var(--border-primary);margin:0 4px}.new-customers-chip.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.added-cell{font-size:12px;color:var(--text-secondary);white-space:nowrap}.added-cell.added-fresh{color:#f59e0b;font-weight:600}.customers-sort.hidden{display:none}.customers-sort select{padding:8px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:13px;cursor:pointer}.customers-table-container{flex:1;overflow-y:auto;background:var(--bg-primary)}.customers-table{width:100%;border-collapse:collapse}.customers-table thead{position:sticky;top:0;z-index:1;background:var(--bg-secondary)}.customers-table th{padding:10px 12px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-primary);white-space:nowrap}.customers-table td{padding:10px 12px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--card-border);vertical-align:middle}.customers-table tbody tr:hover{background:var(--accent-primary-light)}.customers-table th.balance-col,.customers-table td.balance-cell{text-align:right;white-space:nowrap}.balance-cell{position:relative;font-variant-numeric:tabular-nums;font-size:13px}.balance-owed{color:var(--text-primary);font-weight:500}.balance-credit{color:#22c55e;font-weight:500}.balance-zero{color:var(--text-muted)}.has-aging{cursor:default;border-bottom:1px dashed var(--text-muted)}.aging-tooltip{display:none;position:absolute;right:0;top:100%;z-index:10;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;padding:6px 10px;box-shadow:0 4px 12px #00000026;min-width:140px}.balance-cell:hover .aging-tooltip{display:block}.aging-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:2px 0;color:var(--text-secondary)}.aging-row span:last-child{font-variant-numeric:tabular-nums}.aging-warn{color:#f59e0b}.aging-danger{color:#ef4444;font-weight:500}.customer-name-link{color:var(--accent-primary);cursor:pointer;font-weight:500}.customer-name-link:hover{text-decoration:underline}.company-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.company-badge.eb-propane{background:#dbeafe;color:#1d4ed8}.company-badge.eb-jacobs{background:#fef3c7;color:#92400e}.pref-badges{display:flex;gap:4px;flex-wrap:wrap}.pref-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--card-border);white-space:nowrap}.pref-badge.active{background:#dcfce7;color:#166534;border-color:#86efac}.customer-actions{display:flex;gap:6px}.customer-action-btn{padding:4px 10px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.customer-action-btn:hover{background:var(--accent-primary-light);color:var(--text-primary)}.customer-action-btn.merge{color:#dc2626;border-color:#fca5a5}.customer-action-btn.merge:hover{background:#fef2f2;color:#dc2626}.customers-results-info{padding:8px 16px;font-size:13px;color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.merge-modal-content{background:var(--card-bg);border-radius:12px;width:90%;max-width:640px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.modal-header h2{margin:0;font-size:18px}.merge-modal-body{padding:20px;overflow-y:auto}.merge-description{color:var(--text-secondary);font-size:14px;margin:0 0 20px}.merge-accounts{display:flex;align-items:flex-start;gap:16px}.merge-source,.merge-target{flex:1}.merge-source h3,.merge-target h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px}.merge-arrow{font-size:24px;color:var(--text-muted);padding-top:32px;flex-shrink:0}.merge-account-info{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;font-size:14px;min-height:60px}.merge-account-info .merge-info-name{font-weight:600;margin-bottom:4px}.merge-account-info .merge-info-detail{color:var(--text-muted);font-size:13px}.merge-target-search{position:relative}.merge-target-search input{width:100%;padding:8px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:14px;margin-bottom:8px;box-sizing:border-box}.merge-target-search input:focus{outline:none;border-color:var(--border-focus)}.merge-target-search .merge-search-results{position:static;left:auto;width:auto;max-height:180px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:8px;background:var(--card-bg);margin-bottom:8px;box-shadow:none}.merge-search-result{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--card-border);font-size:13px}.merge-search-result:last-child{border-bottom:none}.merge-search-result:hover{background:var(--accent-primary-light)}.merge-search-result .merge-result-name{font-weight:500}.merge-search-result .merge-result-detail{color:var(--text-muted);font-size:12px}.merge-warning{margin-top:16px;padding:12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-primary)}.edit-btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.edit-btn.danger:hover{background:#b91c1c}.edit-btn.danger:disabled{opacity:.5;cursor:not-allowed}.customer-name-cell{display:flex;align-items:center;gap:0}.customer-row-chevron{display:inline-block;vertical-align:middle;margin-right:6px;transition:transform .15s ease;color:var(--text-muted);flex-shrink:0}.customer-row-chevron.expanded{transform:rotate(180deg)}.customer-row{cursor:pointer}.customer-tickets-row td{padding:0!important;border-bottom:1px solid var(--card-border)}.customer-tickets-container{padding:8px 12px 8px 32px;background:var(--bg-secondary);font-size:13px}.customer-tickets-empty{color:var(--text-muted);padding:8px 0;font-style:italic}.customer-statements-section{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.customer-section-header{display:flex;align-items:center;gap:6px;padding:4px 0 6px;font-size:12px;color:var(--text-muted)}.customer-statement-item:hover{background:var(--accent-primary-light)}.customer-tickets-list{display:flex;flex-direction:column;gap:2px}.customer-ticket-item{display:grid;grid-template-columns:80px 100px 80px 1fr auto;gap:8px;padding:4px 0;align-items:center;border-bottom:1px solid var(--card-border)}.customer-ticket-clickable{cursor:pointer;border-radius:4px;padding:4px;margin:0 -4px}.customer-ticket-clickable:hover{background:var(--bg-secondary)}.customer-ticket-entry:last-of-type .customer-ticket-item{border-bottom:none}.customer-ticket-total{border-top:1px solid var(--text-muted);margin-top:2px;padding-top:6px}.customer-ticket-num{color:var(--text-muted);font-size:12px}.customer-ticket-date{color:var(--text-secondary);font-size:12px}.customer-ticket-gallons{color:var(--text-secondary);font-size:12px;text-align:right}.customer-ticket-status{font-size:12px;text-align:right}.customer-ticket-status-active{color:var(--accent-primary)}.customer-ticket-status-hold{color:var(--status-warning)}.customer-ticket-status-archived{color:var(--text-muted)}.customer-ticket-reassign-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;opacity:.4;transition:opacity .15s,color .15s}.customer-ticket-reassign-btn:hover{opacity:1;color:var(--accent-primary)}.customer-ticket-preview{padding:0 4px 8px}.customer-ticket-preview .ticket-image{width:100%;max-height:400px;object-fit:contain;border-radius:6px;cursor:pointer;border:1px solid var(--border-primary)}.customer-ticket-preview .ticket-image-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:30px;color:var(--text-muted)}.customer-ticket-preview .ticket-image-error{text-align:center;padding:20px;color:var(--text-muted)}.customers-table-loading{text-align:center;padding:40px;color:var(--text-muted)}.customers-table-loading .spinner{margin:0 auto 12px}.ticket-date-row{display:flex;align-items:center}.delivered-stamp-label{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;margin-left:12px}.queue-stamp-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.queue-stamp-label span{font-size:12px}.stamp-preview-overlay{position:absolute;right:10px;top:50%;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);font-size:20px;font-weight:900;color:#000000d9;white-space:nowrap;pointer-events:none;z-index:3;letter-spacing:1px;font-family:sans-serif}.duplicate-ticket-warning{background:#fef2f2;border:2px solid #dc2626;border-radius:8px;padding:14px 18px;margin-bottom:16px;color:#dc2626;font-size:16px;font-weight:700}.duplicate-ticket-details{margin-top:8px;font-size:13px;font-weight:500;line-height:1.6}.no-duplicate-ticket-msg{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:10px 16px;margin-bottom:16px;color:#16a34a;font-size:13px;font-weight:500}.duplicate-alert-banner{background:#fef2f2;border:2px solid #dc2626;border-radius:10px;padding:14px 18px;margin-bottom:16px;position:sticky;top:0;z-index:10}.dup-alert-header{display:flex;align-items:center;gap:8px}.dup-alert-header svg{color:#dc2626;flex-shrink:0}.dup-alert-title{color:#dc2626;font-size:15px;font-weight:700;flex:1}.dup-group-btn{background:#dc2626;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.dup-group-btn:hover{background:#b91c1c}.dup-dismiss-btn{background:none;border:none;color:#dc2626;font-size:22px;cursor:pointer;padding:0 4px;line-height:1;opacity:.6}.dup-dismiss-btn:hover{opacity:1}.dup-alert-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dup-alert-chip{background:#fff;border:1px solid #fca5a5;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600;color:#dc2626;cursor:pointer;transition:background .15s}.dup-alert-chip:hover{background:#fecaca}.dup-alert-count{font-weight:400;opacity:.7}.dup-grouped-section{margin-bottom:24px}.dup-grouped-header{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 4px;border-bottom:2px solid var(--border-primary);margin-bottom:12px}.dup-grouped-section .dup-grouped-header{color:#dc2626;border-bottom-color:#fca5a5}.dup-other-section .dup-grouped-header{margin-top:8px}.dup-group{border-left:4px solid #dc2626;padding-left:12px;margin-bottom:20px;border-radius:2px}.dup-group-label{font-size:14px;font-weight:700;color:#dc2626;padding:6px 0;margin-bottom:4px}.ticket-unassigned{border-left:4px solid #f59e0b}.ticket-unassigned-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f59e0b22;border-bottom:1px solid #f59e0b44;color:#f59e0b;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.ticket-unassigned-banner:hover{background:#f59e0b33}.ticket-unassigned-banner svg{flex-shrink:0}.ticket-unassigned-badge{background:#dc2626;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px;margin-right:4px}.ticket-action-btn.archive:disabled,.assign-submission-btn:disabled,.tfc-amount-save-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.tfc-amount-input:disabled{opacity:.4;cursor:not-allowed}
