:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}body{margin:0;background:#f7f7f8;color:#1a1a1a}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #ddd;font-size:.9rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#333}label.block{margin:.75rem 0}input,select,textarea{padding:.4rem;font-size:.9rem;border:1px solid #ccc;border-radius:4px;font-family:inherit}button{padding:.45rem .9rem;border:1px solid #333;background:#1a1a1a;color:#fff;border-radius:4px;cursor:pointer;font-size:.85rem}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#b00020}.hint{color:#666;font-size:.85rem}.inline-form{display:flex;gap:1rem;align-items:flex-end;margin:1rem 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:.75rem}.test-block{margin-top:1rem;padding-top:1rem;border-top:1px dashed #ccc}.test-block pre{max-height:320px;overflow:auto;background:#f5f5f5;color:#1a1a1a;padding:.75rem}.success{color:#1b7f3b}.link-button{background:none;border:none;color:#1a4fd6;padding:0 .25rem;text-decoration:underline}.key-path-picker{display:inline-flex;gap:.25rem;align-items:center;min-width:0}.param-row .tolerance-input{flex:0 0 4.5rem}.job-eval{margin:.75rem 0}.confirm-toggle{flex-direction:row;align-items:center;gap:.4rem;margin:.5rem 0}.param-list-editor{margin:.75rem 0}.param-list-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.param-list-header h4{margin:0;font-size:.9rem}.param-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.param-row input,.param-row select{flex:1;min-width:0}.param-row .param-name{flex:1.2}.page-header{display:flex;justify-content:space-between;align-items:center}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-page-forms{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:320px}.auth-page form{display:flex;flex-direction:column;gap:.75rem;width:100%;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 4px #0000001a}.auth-page form h2{font-size:1rem;margin:0}.auth-page-forms hr{width:100%;border:none;border-top:1px solid #ddd}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:320px}.modal form{display:flex;flex-direction:column;gap:.75rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 4px #0000001a}.modal form h2{margin:0;font-size:1.1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.admin-layout{display:flex;min-height:100vh}.admin-nav{width:200px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;padding:1rem;gap:.75rem}.admin-nav a{color:#ddd;text-decoration:none}.admin-nav a.active{color:#fff;font-weight:600}.admin-nav-title{font-weight:700;margin-bottom:.5rem}.admin-nav-spacer{flex:1}.admin-nav-user{font-size:.8rem;color:#aaa}.admin-main{flex:1;padding:2rem}code{background:#eee;padding:.1rem .3rem;border-radius:3px;font-size:.85em}pre{background:#1a1a1a;color:#eee;padding:1rem;border-radius:6px;overflow:auto;max-height:400px}.user-layout{min-height:100vh}.user-header{display:flex;align-items:center;gap:1rem;padding:.75rem 2rem;background:#1a1a1a;color:#fff}.user-header a{color:#ddd;text-decoration:none}.user-header-title{font-weight:700;color:#fff!important}.user-header-email{font-size:.85rem;color:#aaa}.user-main{max-width:1000px;margin:0 auto;padding:2rem}.card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;padding:1.5rem;margin-bottom:1.5rem}.card h1,.card h2{margin-top:0}.source-list{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.source-option{min-width:260px;text-align:left}button.secondary{background:#fff;color:#1a1a1a}.load-status{display:flex;align-items:center;gap:.6rem;font-size:1rem}.spinner{width:1rem;height:1rem;border:2px solid #ccc;border-top-color:#1a1a1a;border-radius:50%;animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}progress{width:100%;height:.8rem}.table-scroll{overflow-x:auto}.table-scroll td,.table-scroll th{white-space:nowrap}.fallback-box{margin-top:1.25rem;padding:1rem 1.25rem;border:1px dashed #bbb;border-radius:6px}.fallback-box h3{margin:0 0 .5rem;font-size:1rem}.fallback-box li{margin:.5rem 0}.customer-add{align-items:end}.row-actions{display:flex;gap:.4rem;white-space:nowrap}.edit-row>td{background:#fafafa;padding:1rem}.filters{align-items:end}.table-scroll td.wrap{white-space:normal;min-width:160px}.status-badge{display:inline-block;white-space:nowrap;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;background:#eee;color:#333}.status-badge.status-ready{background:#e3f4e8;color:#1b7f3b}.status-badge.status-exporting,.status-badge.status-saving{background:#e6eefc;color:#1a4fd6}.status-badge.status-expired,.status-badge.status-failed{background:#fbe7ea;color:#b00020}.in-progress-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-left:4px solid #1a4fd6}.in-progress-banner p{margin:0}.spinner.small{width:.7rem;height:.7rem;border-width:2px;margin-top:.15rem}.row-progress{display:flex;align-items:flex-start;gap:.4rem;margin-top:.3rem;font-size:.85rem;color:#1a4fd6}.loads-table{table-layout:auto}.loads-table td{vertical-align:top}.loads-table .cell-title{font-weight:600}.loads-table .cell-sub{font-size:.82rem;margin-top:.15rem}.loads-table .cell-when{white-space:nowrap;font-size:.85rem}.loads-table .cell-rows{white-space:nowrap}.loads-table .row-actions{justify-content:flex-end;flex-wrap:wrap}.loads-table tr.active-row>td{background:#f3f6fd}.loads-table tr.row-detail>td{background:#f3f6fd;border-top:none;padding:0 .6rem 1rem}.row-panel{background:#fff;border:1px solid #d8e0f5;border-radius:6px;padding:.9rem 1.1rem}.row-panel>:first-child{margin-top:0}.row-message{margin:.3rem 0 0;font-size:.85rem}.finish-steps{margin:0 0 .75rem;padding-left:1.2rem}.finish-steps li{margin:.6rem 0}.status-badge.status-active{background:#e3f4e8;color:#1b7f3b}.form-grid.two-col{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.form-grid textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.data-summary .page-header{align-items:flex-start;gap:1rem}.data-summary h1{margin-bottom:.4rem}.data-summary-line{margin:0 0 .3rem}.chat{display:flex;flex-direction:column;gap:.75rem}.chat-log{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto;padding:.25rem .25rem .5rem}.chat-empty p{margin-top:0}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.chat-message.chat-user{align-self:flex-end;max-width:80%}.chat-bubble{background:#1a1a1a;color:#fff;padding:.6rem .9rem;border-radius:14px 14px 4px;white-space:pre-wrap}.chat-message.chat-assistant{align-self:stretch}.chat-markdown{line-height:1.5;overflow-x:auto}.chat-markdown>:first-child{margin-top:0}.chat-markdown table{width:auto;margin:.5rem 0}.chat-markdown th{background:#f3f4f6}.chat-meta{margin-top:.3rem}.chat-thinking{display:flex;align-items:center;gap:.5rem;color:#555}.chat-error{display:flex;gap:.5rem;align-items:center}.chat-input{border:1px solid #ccc;border-radius:10px;padding:.5rem;background:#fff}.chat-input textarea{width:100%;border:none;resize:vertical;outline:none;box-sizing:border-box;font-size:.95rem}.chat-input-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.chat-note{margin:0}.data-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1rem}.data-toolbar input[type=search]{flex:1;min-width:220px;max-width:420px}.data-count{margin-left:auto}.data-grid table{margin:0}.data-grid .sort-header{background:none;border:none;color:inherit;padding:0;font-weight:600;font-size:.85rem;cursor:pointer}.data-grid .filter-row th{padding-top:0}.data-grid .filter-row input{width:100%;min-width:90px;box-sizing:border-box;font-size:.8rem;padding:.25rem .35rem}.data-grid tbody.loading{opacity:.5}.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}
