:root { color-scheme: dark; font-family: system-ui, sans-serif; background: #111827; color: #e5e7eb; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; }
.shell { width: min(900px, calc(100% - 32px)); }
.card { background: #1f2937; border: 1px solid #374151; border-radius: 12px; padding: 28px; box-shadow: 0 12px 30px #0003; }
h1, h2 { margin-top: 0; } label { display: grid; gap: 6px; margin: 16px 0; }
input { padding: 11px; border: 1px solid #4b5563; border-radius: 6px; background: #111827; color: inherit; }
button, .button { display: inline-block; border: 0; border-radius: 6px; padding: 11px 16px; background: #2563eb; color: white; cursor: pointer; text-decoration: none; }
button:disabled { opacity: .5; cursor: wait; } .secondary { background: #4b5563; }
.toolbar, .script-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
#job-view > .toolbar { margin-bottom: 16px; }
.scripts-list { display: grid; gap: 10px; }
.scripts { display: grid; gap: 10px; }
.script-button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; text-align: left; }
.script-button span { color: #bfdbfe; font-size: .9rem; }
.customer-search { display: flex; gap: 10px; margin: 18px 0; }
.customer-search input { flex: 1; margin: 0; }
.table-wrap { overflow-x: auto; background: #111827; border-radius: 8px; }
table { width: 100%; border-collapse: collapse; font-size: .85rem; }
th, td { padding: 10px 12px; border-bottom: 1px solid #374151; text-align: left; white-space: nowrap; }
th { color: #bfdbfe; background: #263449; }
.filter-row th { padding: 6px; background: #1f2937; }
.filter-row input { width: 110px; box-sizing: border-box; padding: 7px; margin: 0; font-size: .8rem; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.filters { margin-top: 24px; }
.date-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.stores-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.stores-header h3 { margin-bottom: 0; }
.stores { list-style: none; display: flex; flex-direction: column; gap: 2px; max-height: 260px; overflow: auto; margin: 0; padding: 8px 12px; background: #111827; border-radius: 8px; }
.stores li { margin: 0; padding: 8px 4px; border-bottom: 1px solid #374151; }
.stores li:last-child { border-bottom: 0; }
.store-option { display: flex; align-items: center; gap: 8px; margin: 0; }
.store-option small { color: #9ca3af; }
#log, #customer-report-log { min-height: 120px; max-height: 560px; max-width: 100%; box-sizing: border-box; overflow: auto; background: #030712; padding: 16px; border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
#log { min-height: 360px; }
.hidden { display: none; } .error { color: #fca5a5; } #job-status { color: #93c5fd; }
