:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #f5f6f8;--surface: #fff;--border: #dee2e6;--text: #212529;--text-muted: #6c757d;--primary: #2d6a4f;--primary-hover: #1b4332;--primary-light: rgba(45, 106, 79, .08);--danger: #dc3545;--radius: 8px;--radius-sm: 4px;--shadow: 0 1px 3px rgba(0, 0, 0, .06);--space: 1rem;--space-sm: .5rem;--space-lg: 1.5rem}.app select,.app input[type=checkbox]{background-color:#fff!important;color:#212529!important}.app select option{background-color:#fff;color:#212529}.app input[type=checkbox]:checked{accent-color:var(--primary)}html{height:100%;margin:0}body{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{height:100%;min-height:100%;display:flex;flex-direction:column}.app{width:960px;max-width:100%;margin:0 auto;padding:var(--space-lg) var(--space);text-align:left;font-size:15px;line-height:1.5;display:flex;flex-direction:column;box-sizing:border-box}.app--login{flex:1 1 0;min-height:0;overflow-y:auto}.app--main{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.app--full{width:min(1600px,92vw);max-width:100%}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space);margin-bottom:var(--space-lg);flex-shrink:0}.user-bar{display:flex;align-items:center;gap:var(--space);font-size:.9rem;color:var(--text-muted)}.user-name{font-weight:500;color:var(--text)}.user-role{padding:2px 8px;background:var(--bg-muted, #eee);border-radius:4px;font-size:.8rem}.logout-btn{padding:4px 10px;font-size:.85rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer}.logout-btn:hover{background:var(--bg-muted, #f5f5f5)}.tour-btn{padding:4px 10px;font-size:.85rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text)}.tour-btn:hover{background:var(--bg-muted, #f5f5f5)}.login-section{max-width:360px;margin:var(--space-lg) auto}.login-section .card{display:flex;flex-direction:column;gap:var(--space)}.login-bootstrap{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--border)}.login-bootstrap button{margin-top:6px}.error-message{color:var(--danger, #c00);font-size:.9rem;margin:0}.tab-panel--settings{padding:var(--space-lg)}.settings-layout{display:flex;flex-direction:column;gap:var(--space-lg);max-width:100%}.settings-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.settings-section-pin .card,.settings-section-drive .card{max-width:360px}.settings-section-equipment{margin-top:var(--space-lg)}.equipment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space)}.equipment-list-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space);padding:var(--space);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.equipment-list-name{font-weight:600}.equipment-list-type{color:var(--text-muted);font-size:.9rem}.equipment-btn-qr{padding:6px 12px;font-size:.9rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer}.equipment-btn-qr:hover{opacity:.9}.equipment-btn-remove{margin-left:auto}.equipment-qr-wrap{width:100%;margin-top:var(--space);padding:var(--space);background:#fff;border-radius:var(--radius);display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-lg)}.equipment-qr-url-label{width:100%;margin:0 0 .25rem;font-size:.9rem;font-weight:500;color:var(--text)}.equipment-qr-url-row{width:100%;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.equipment-qr-url-input{flex:1;min-width:200px;padding:.5rem .75rem;font-size:.85rem;font-family:ui-monospace,monospace;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.equipment-btn-copy-link{padding:6px 12px;font-size:.9rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.equipment-btn-copy-link:hover{background:var(--bg-muted, #f5f5f5)}.equipment-qr-credentials{flex:1;min-width:200px;display:flex;flex-direction:column;gap:var(--space)}.equipment-qr-fields{display:flex;flex-direction:column;gap:var(--space-sm)}.equipment-qr-line{margin:0;font-size:.95rem;word-break:break-all}.equipment-qr-line strong{margin-right:.35em}.equipment-qr-token{font-size:.85em;background:var(--bg-muted, #f0f0f0);padding:2px 6px;border-radius:4px}.equipment-qr-link-line a{color:var(--primary, #2563eb)}.equipment-qr-actions{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.equipment-btn-copy{padding:6px 12px;font-size:.9rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.equipment-btn-copy:hover{background:var(--bg-muted, #f5f5f5)}.equipment-qr-open-link{margin-left:.5rem;font-size:.9rem;color:var(--primary, #2563eb)}@media(min-width:641px){.equipment-qr-actions .equipment-qr-open-link{display:none}}.equipment-qr-code{flex-shrink:0;text-align:center}.equipment-qr-code a{display:inline-block}.equipment-qr-hint{width:100%;margin:var(--space-sm) 0 0 0;font-size:.85rem;color:var(--text-muted)}@media(max-width:640px){.equipment-qr-wrap{flex-direction:column;align-items:center;text-align:center}.equipment-qr-credentials{order:2;min-width:0;width:100%;align-items:center}.equipment-qr-fields{display:none}.equipment-qr-actions{margin-top:0}.equipment-qr-code{order:1}.equipment-qr-hint{order:3}}.no-access-message{padding:var(--space-lg);text-align:center;color:var(--text-muted)}.no-access-message p{margin:0}.settings-pin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.settings-add-user{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:var(--space);margin-bottom:var(--space-lg)}.settings-add-user label{margin-bottom:0}.settings-add-user input,.settings-add-user select{margin-left:6px}.settings-users-table{width:100%;border-collapse:collapse;font-size:.9rem}.settings-users-table th,.settings-users-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border)}.settings-users-table th{font-weight:600;background:var(--bg-muted, #f5f5f5)}.settings-tab-col{text-align:center;width:1%;white-space:nowrap}.settings-users-table input[type=checkbox]{margin:0;cursor:pointer}.settings-row-admin td{background:var(--bg-muted, #f0f0f0);color:var(--text-muted)}.settings-row-admin select:disabled,.settings-row-admin input:disabled,.settings-row-admin button:disabled{cursor:not-allowed;opacity:.8}.app-header h1{font-size:1.5rem;font-weight:700;margin:0;color:var(--primary)}.backend-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--text-muted)}.backend-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.backend-status.online:before{background:#198754}.backend-status.offline:before{background:var(--danger)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space);padding:var(--space);margin-bottom:var(--space-lg);background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius);color:#c53030;font-size:.9rem;flex-shrink:0}.error-dismiss{background:none;border:none;color:#c53030;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:0;white-space:nowrap}.tab-bar{display:flex;gap:2px;border-bottom:2px solid var(--border);margin-bottom:var(--space-lg);overflow-x:auto;flex-shrink:0;width:100%;max-width:100%;box-sizing:border-box}.tab-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:.85rem 1.2rem;font-size:.9rem;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;border-radius:0;min-width:6.5rem;box-sizing:border-box}.tab-btn:hover{color:var(--text);background:none}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:600;background:var(--bg);color:var(--text-muted);border-radius:999px}.tab-btn.active .tab-count{background:var(--primary-light);color:var(--primary)}.tab-content{animation:fadeIn .15s ease;flex:1 1 0;min-height:0;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.tab-panel{width:100%;max-width:100%;flex:1 1 0;min-height:0;overflow:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.tab-panel .panel-layout{flex:0 1 auto;min-height:0;width:100%;max-width:100%}.tab-panel--fields .panel-layout--fields{flex:0 0 auto;min-height:min-content;margin-bottom:var(--space-lg);position:relative;z-index:2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel-layout{display:grid;gap:var(--space-lg);grid-template-columns:1fr;width:100%}@media(min-width:720px){.panel-layout{grid-template-columns:1fr 1fr;align-items:start}.panel-layout--full{grid-template-columns:1fr}.panel-layout--reports{grid-template-columns:auto 1fr}}.tab-panel--fields{display:flex;flex-direction:column;gap:0;overflow-y:auto;min-height:0;align-items:stretch}.fields-map-section-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space);padding:0 var(--space-lg);padding-bottom:var(--space)}.fields-map-section-header h2{padding:var(--space) 0 0}.fields-map-layer-control{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.fields-map-layer-control label{font-size:.9em;color:var(--text-muted)}.fields-map-pick-hint{margin:0;font-size:.9em;color:var(--text-muted)}.fields-map-layer-control select{padding:var(--space-sm) var(--space);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.fields-map-section{flex:0 0 auto;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border);padding-bottom:var(--space-lg);position:relative;z-index:1}.fields-map-container{position:relative;width:100%;height:760px;border-radius:var(--radius);overflow:hidden;background:var(--border);isolation:isolate}.fields-map{width:100%;height:100%;z-index:0}.section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;width:100%;min-width:0;box-sizing:border-box}.section h2{margin:0;padding:var(--space) var(--space-lg);font-size:1rem;font-weight:600;background:var(--bg);border-bottom:1px solid var(--border)}.card{padding:var(--space-lg)}.card label{display:block;margin-bottom:var(--space);font-weight:500;font-size:.9rem}.card input[type=text],.card input[type=number],.card input[type=password],.card select,.card textarea{display:block;width:100%;margin-top:4px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-sizing:border-box}.card input:focus,.card select:focus,.card textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d6a4f26}.card input:disabled{background:var(--bg);color:var(--text-muted)}.card textarea{min-height:64px;resize:vertical}.card small{display:block;margin-top:4px;font-size:.8rem;color:var(--text-muted);font-weight:400}button{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--bg);border-color:#adb5bd}button[type=submit]{background:var(--primary);color:#fff;border-color:var(--primary)}button[type=submit]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button+button{margin-left:var(--space-sm)}.list{list-style:none;margin:0;padding:0}.list li{padding:var(--space) var(--space-lg);border-bottom:1px solid var(--border);font-size:.9rem}.list li:last-child{border-bottom:none}.list li strong{display:block;margin-bottom:2px}.list li div{color:var(--text-muted);font-size:.85rem;margin-top:2px}.job-lines-heading{margin:var(--space) 0 var(--space-sm);font-size:.9rem;font-weight:600}.job-line-block{margin-bottom:var(--space-sm);padding:var(--space);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.job-line-block .row{display:flex;gap:var(--space);align-items:flex-end;flex-wrap:wrap}.job-line-block .row .field{flex:1;min-width:120px}.job-line-block .row .field label{margin-bottom:4px;font-size:.85rem}.job-line-block .remove-line{margin-top:var(--space-sm);font-size:.8rem;color:var(--text-muted);padding:.2rem .5rem;border:none;background:none}.job-line-block .remove-line:hover{color:var(--danger);background:none}.add-line-btn{margin:var(--space-sm) 0 var(--space);font-size:.85rem;color:var(--primary);border:1px dashed var(--primary);background:none}.add-line-btn:hover{background:var(--primary-light)}.job-item{padding:var(--space) var(--space-lg)!important}.job-item .job-title{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:4px}.job-item .job-meta{color:var(--text);font-size:1rem;font-weight:500;margin-bottom:2px}.job-item .job-lines-breakdown{margin:6px 0;padding-left:1rem;font-size:1rem;font-weight:500;color:var(--text)}.job-item .job-revenue{font-weight:600;color:var(--primary);font-size:.9rem;margin:4px 0}.status-badge{display:inline-block;padding:2px 10px;font-size:.75rem;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.status-badge.PENDING{background:#e7f3ff;color:#06c}.status-badge.IN_PROGRESS{background:#fff3cd;color:#856404}.status-badge.PAUSED{background:#e2e8f0;color:#475569}.status-badge.DONE{background:#d4edda;color:#155724}.status-badge.SKIPPED{background:var(--bg);color:var(--text-muted)}.status-badge.archived{background:#e2e8f0;color:#475569;margin-left:6px}.job-item a{color:var(--primary);text-decoration:none;font-size:.85rem}.job-item a:hover{text-decoration:underline}.job-completion-note{margin-top:var(--space-sm);padding:var(--space-sm);background:var(--bg-muted, #f5f5f5);border-radius:4px;font-size:.85rem;color:var(--text-muted)}.job-complete-form{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.job-complete-form label,.job-complete-form .job-reopen-prompt{display:block;margin-bottom:var(--space-sm)}.job-complete-form textarea{width:100%;margin-top:4px;padding:var(--space-sm);font:inherit;border:1px solid var(--border);border-radius:4px;resize:vertical}.job-actions{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.job-actions button{font-size:.85rem}.hint{margin-top:var(--space-sm);font-size:.85rem;color:var(--text-muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space);padding:var(--space) var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg);align-items:flex-end}.filter-bar label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;font-weight:500;color:var(--text-muted);min-width:130px;flex:1}.filter-bar select{padding:.35rem .5rem;font-size:.85rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.filter-bar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d6a4f26}.filter-clear{font-size:.8rem;padding:.35rem .75rem;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-self:flex-end}.filter-clear:hover{color:var(--danger);border-color:var(--danger)}@media(max-width:640px){.tab-bar .tab-btn{min-height:44px;padding:12px 14px;font-size:1rem}.jobs-panel .card input[type=text],.jobs-panel .card input[type=number],.jobs-panel .card input[type=password],.jobs-panel .card select,.jobs-panel .card textarea{min-height:44px;padding:12px 14px;font-size:16px}.jobs-panel .card label{margin-bottom:var(--space-sm)}.jobs-panel .card button[type=submit],.jobs-panel .add-line-btn,.jobs-panel .remove-line,.jobs-panel .job-actions button,.jobs-panel .job-item button{min-height:44px;min-width:44px;padding:12px 16px;font-size:1rem}.jobs-panel .filter-bar{padding:var(--space);gap:var(--space)}.jobs-panel .filter-bar label{min-width:100%}.jobs-panel .filter-bar select{min-height:44px;padding:10px 12px;font-size:16px}.jobs-panel .filter-clear{min-height:44px;padding:10px 16px}.jobs-panel .job-line-block .row{flex-direction:column;align-items:stretch}.jobs-panel .job-line-block .row .field{min-width:0}.jobs-panel .job-item{padding:var(--space) var(--space-lg)!important;min-height:48px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.jobs-panel .section{margin-bottom:var(--space)}}.item-actions{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.item-actions button{font-size:.8rem;padding:.25rem .6rem}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#fff5f5;border-color:var(--danger)}.editing-item{padding:var(--space) var(--space-lg)!important;background:#fffef5}.inline-edit-form label{display:block;margin-bottom:var(--space-sm);font-weight:500;font-size:.85rem}.inline-edit-form input[type=text],.inline-edit-form input[type=number],.inline-edit-form select,.inline-edit-form textarea{display:block;width:100%;margin-top:2px;padding:.4rem .6rem;font-size:.85rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box}.inline-edit-form textarea{min-height:48px;resize:vertical}.inline-edit-form input:focus,.inline-edit-form select:focus,.inline-edit-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2d6a4f26}.inline-edit-actions{margin-top:var(--space)}.inline-edit-actions button{font-size:.85rem}.inline-edit-actions button[type=submit]{background:var(--primary);color:#fff;border-color:var(--primary)}.grouped-queue{padding:0}.queue-group{border-bottom:1px solid var(--border)}.queue-group:last-child{border-bottom:none}.group-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space) var(--space-lg);background:var(--bg);border:none;border-radius:0;cursor:pointer;text-align:left;font-size:.9rem;font-weight:600;color:var(--text);transition:background .1s}.group-header:hover{background:#e9ecef}.group-header-row{display:flex;align-items:center}.group-header-row .group-header{flex:1}.archive-group-btn{flex-shrink:0;margin-left:var(--space-sm);font-size:.8rem;padding:.35rem .75rem;color:var(--primary);border-color:var(--primary);background:var(--surface)}.archive-group-btn:hover{background:var(--primary-light)}.group-toggle{font-size:.7rem;width:1rem;text-align:center;flex-shrink:0;color:var(--text-muted)}.group-name{flex:1}.group-customer{font-weight:400;color:var(--text-muted);font-size:.85rem}.group-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:600;background:var(--primary-light);color:var(--primary);border-radius:999px}.group-body{border-top:1px solid var(--border)}.sub-section{border-bottom:1px solid var(--border)}.sub-section:last-child{border-bottom:none}.sub-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:.6rem var(--space-lg) .6rem calc(var(--space-lg) + 1rem);background:var(--surface);border:none;border-radius:0;cursor:pointer;text-align:left;font-size:.85rem;font-weight:600;color:var(--text);transition:background .1s}.sub-header:hover{background:#f0f1f3}.sub-name{flex:1}.sub-header-row{display:flex;align-items:center}.sub-header-row .sub-header{flex:1}.reorder-arrows{display:flex;flex-direction:column;gap:1px;padding-right:var(--space)}.arrow-btn{padding:0 6px;font-size:.6rem;line-height:1.2;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text-muted);cursor:pointer}.arrow-btn:hover:not(:disabled){background:var(--bg);color:var(--text);border-color:#adb5bd}.arrow-btn:disabled{opacity:.25;cursor:not-allowed}.sub-jobs .job-item{padding-left:calc(var(--space-lg) + 2rem)!important}.empty-message{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:.9rem}.job-line-item{display:inline}.job-line-item+.job-line-item:before{content:" · ";color:var(--text-muted)}.section--report-controls .card--report-controls{padding:var(--space) var(--space-lg)}.report-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space);margin-bottom:var(--space-sm)}.report-controls-row:last-child{margin-bottom:0}.report-controls-row--filters,.report-controls-row--export{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.report-controls-row--export button{margin-right:var(--space-sm)}.report-summary-below{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space);font-size:.85rem;color:var(--text-muted);margin-top:var(--space-sm)}.report-hint{margin:0 0 var(--space);font-size:.9rem;color:var(--text-muted)}.report-hint.success{color:var(--success, #0a0)}.report-hint.error{color:var(--error, #c00)}.report-date-row{display:flex;flex-wrap:wrap;gap:var(--space);align-items:flex-end;margin-bottom:0}.report-date-row label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500}.report-date-row input[type=date]{padding:.5rem .75rem;font-size:.9rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.report-summary{margin:var(--space) 0;padding:var(--space);background:var(--bg);border-radius:var(--radius-sm);font-size:.9rem}.report-summary strong{display:block;margin-bottom:4px}.report-summary div{margin-top:2px}.report-export-filters{display:flex;flex-wrap:wrap;gap:var(--space);align-items:flex-end;margin:var(--space) 0 0}.report-export-filters label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500}.report-export-filters select{min-width:160px;padding:.5rem .75rem;font-size:.9rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.report-export-hint{margin-top:4px;margin-bottom:var(--space)}.report-filter-note{padding:0 var(--space-lg) var(--space);font-size:.85rem;color:var(--text-muted)}.report-tables{padding:var(--space-lg)}.report-customer-block{margin-bottom:var(--space-lg)}.report-customer-block h3{margin:0 0 var(--space-sm);font-size:1rem;font-weight:600;color:var(--primary)}.report-table{width:100%;border-collapse:collapse;font-size:.85rem}.report-table th,.report-table td{padding:.5rem .75rem;text-align:left;border:1px solid var(--border)}.report-table th{background:var(--bg);font-weight:600;color:var(--text)}.report-table tbody tr:nth-child(2n){background:#00000005}.report-rows-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space);margin-bottom:var(--space)}.report-rows-header h2{margin:0}.btn-add-row{margin-left:auto}.report-add-row-form{margin-bottom:var(--space-lg)}.report-add-row-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space);margin-bottom:var(--space)}.report-add-row-actions{display:flex;gap:var(--space-sm)}.report-rows-table-wrap{overflow-x:auto;max-width:100%}.report-rows-table{font-size:.75rem}.report-rows-table th,.report-rows-table td{padding:.3rem .45rem;white-space:nowrap}.report-rows-table th:last-child,.report-rows-table td:last-child{position:sticky;right:0;background:var(--surface);box-shadow:-4px 0 8px #0000000f;z-index:1}.report-rows-table tbody tr:nth-child(2n) td:last-child{background:#00000005}.report-rows-table td:last-child{white-space:nowrap}.report-rows-table td:last-child button{padding:.25rem .5rem;font-size:.75rem}.report-rows-table td input{width:100%;min-width:56px;padding:.2rem .35rem;font-size:.75rem}.report-row-divider td{padding:.4rem 0;height:.4rem;border:none;border-top:2px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-muted, #f5f5f5);vertical-align:middle}.text-muted{font-size:.85rem;color:var(--text-muted)}.reuse-form{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--border)}
