:root{color-scheme:light;--navy:#203864;--ink:#182b49;--muted:#526174;--line:#dbe2eb;--background:#f3f5f8;--blue:#e8edf4;--red:#a52727;--green:#14633f}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--navy);text-underline-offset:3px}button,a.button{cursor:pointer}.topbar{background:white;border-bottom:1px solid var(--line);min-height:76px;display:flex;align-items:center;gap:36px;padding:16px max(24px,calc((100vw - 1200px)/2))}.brand{text-decoration:none;font-size:21px;font-weight:750;white-space:nowrap}.brand span{display:block;color:var(--muted);font-size:12px;letter-spacing:.03em;font-weight:500}nav{display:flex;gap:26px}nav a{font-weight:600;text-decoration:none;min-height:44px;display:flex;align-items:center}nav a:hover{text-decoration:underline}.account{margin-left:auto;position:relative;font-size:13px}.account summary{cursor:pointer;padding:12px 0}.account>div{position:absolute;right:0;top:46px;min-width:220px;background:white;border:1px solid var(--line);padding:16px;box-shadow:0 8px 24px #182b4914;z-index:2}.account a{display:block;padding:8px 0}.account small{display:block;color:var(--muted)}main{max-width:1200px;margin:40px auto;min-height:calc(100vh - 210px);padding:0 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h1{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:4px 0 12px}h2{font-size:18px;margin:0 0 16px}.eyebrow{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:650;margin:0 0 8px}.muted{color:var(--muted);margin:8px 0}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:22px}.login,.password{max-width:440px;margin:64px auto}.login button,.password button{width:100%;margin-top:18px}label{display:block;font-weight:600;margin-bottom:6px}input{font:inherit;border:1px solid #bac5d4;border-radius:5px;padding:11px 12px;width:100%;min-height:44px;color:var(--ink);background:white}form>label:not(:first-child){margin-top:18px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--navy);cursor:pointer}button,.button{font:inherit;display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:white;padding:10px 18px;text-decoration:none;font-weight:600;white-space:nowrap}button:hover,.button:hover{filter:brightness(.93)}button:disabled{opacity:.65;cursor:wait}.secondary{background:white;color:var(--navy);border-color:#bdc8d7}.text-button{border:0;background:none;padding:6px 0;color:var(--navy);min-height:36px}:focus-visible{outline:3px solid #588fe4;outline-offset:3px}.input-action{display:flex;gap:12px}.generate{max-width:830px}.hint{font-size:13px;color:var(--muted);margin:10px 0 0}.explanatory{max-width:830px}.explanatory p{max-width:720px}.notice{padding:14px 16px;background:var(--blue);border-radius:6px;margin:18px 0}.error{background:#fff1f1;color:var(--red);border:1px solid #ecc8c8}.success{background:#eef8f2;color:var(--green)}#job-status:not(:empty){margin-top:22px}.result{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.result h2{margin-bottom:8px}.result .downloads{margin-top:18px}.downloads{display:flex;gap:14px;white-space:nowrap}.downloads a{font-weight:600}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:var(--blue);font-size:12px;white-space:nowrap;padding:12px;color:var(--navy)}td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}.number{text-align:right;font-variant-numeric:tabular-nums}.mono{font-size:12px;font-family:ui-monospace,monospace;white-space:nowrap}.date{white-space:nowrap;font-size:12px}.machine-name{font-size:13px;min-width:190px;max-width:290px;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.empty{text-align:center;padding:40px;color:var(--muted)}.search{max-width:570px;margin-bottom:24px}.pagination{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:13px;color:var(--muted)}.pagination div{display:flex;gap:20px}.user-create{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:20px;align-items:start}.check{display:flex;align-items:center;gap:8px;padding-top:36px;white-space:nowrap}.user-create button{margin-top:28px}.reset{display:inline-block;margin-left:14px}.reset summary{cursor:pointer;padding:10px;color:var(--navy);white-space:nowrap}.reset form{padding:12px 0;max-width:240px}.reset form button{margin-top:12px}footer{font-size:12px;text-align:center;padding:24px;color:var(--muted)}@media(max-width:800px){.topbar{gap:16px;flex-wrap:wrap;padding:14px 20px}nav{order:3;width:100%;gap:26px}.account{font-size:11px}main{margin:26px auto;padding:0 16px}.page-heading{align-items:start;flex-direction:column}h1{font-size:27px}.card{padding:20px}.user-create{grid-template-columns:1fr}.check{padding-top:0}.user-create button{margin-top:0}.input-action{flex-wrap:wrap}.input-action input{flex-basis:100%}.input-action button{width:100%}.login,.password{margin:32px auto}.reset{display:block;margin-left:0}}
.mapping-filters{display:flex;align-items:flex-start;gap:24px;margin-bottom:12px}.mapping-filters>div{flex:1;max-width:600px}.mapping-filters .check{padding-top:30px}.mapping-table{margin-top:22px}.mapping-table td{padding:12px}.mapping-table td:first-child{width:32%}.mapping-table td:nth-child(2){width:38%}.mapping-table .hint{margin-top:4px}.mapping-id{overflow-wrap:anywhere;font-size:12px}.mapping-status{display:inline-block;border-radius:4px;background:var(--blue);padding:5px 9px;font-size:12px;white-space:nowrap}.mapping-warning{background:#fff1f1;color:var(--red)}.mapping-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:22px}.mapping-layout .card{min-width:0}.mapping-source dl{margin:0}.mapping-source dt{color:var(--muted);font-size:12px;margin-top:12px}.mapping-source dd{margin:2px 0 0}.mapping-source .notice p{margin:6px 0}.mapping-choice{margin-top:24px}.mapping-choice fieldset{border:0;padding:0;margin:0 0 22px}.mapping-choice legend{font-size:13px;color:var(--muted);margin-bottom:12px}.product-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:6px;padding:14px;margin:0 0 10px;cursor:pointer;font-weight:400}.product-choice:hover{background:var(--blue)}.product-choice input{width:20px;min-height:20px;height:20px;margin:3px 0 0;flex-shrink:0;accent-color:var(--navy)}.product-choice span span,.product-choice small{display:block}.product-choice small{color:var(--muted);margin-top:4px}@media(max-width:800px){nav{flex-wrap:wrap;gap:8px 20px}.mapping-filters{flex-direction:column;gap:12px}.mapping-filters>div{width:100%}.mapping-filters .check{padding-top:0}.mapping-layout{grid-template-columns:1fr}.mapping-table td{min-width:160px}.mapping-table td:first-child,.mapping-table td:nth-child(2){width:auto}}
.mapping-pagination{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:14px;margin:20px 0;font-size:13px;color:var(--muted)}.mapping-pagination .page-buttons{display:flex;gap:6px;flex-wrap:wrap}.mapping-pagination .button{padding:8px 12px;min-width:44px}.mapping-pagination .disabled{opacity:.5;cursor:default}.page-jump{display:flex;gap:8px;align-items:end}.page-jump label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;white-space:nowrap}.page-jump input{width:76px}.ai-toolbar{padding:18px;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;margin:20px 0}.ai-toolbar .hint{margin-top:6px;max-width:800px}.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ai-suggestion{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0}.ai-suggestion p{margin:6px 0}.ai-suggestion small{color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.mapping-pagination{align-items:start;flex-direction:column}.ai-suggestion{align-items:start;flex-direction:column}.page-buttons .button{font-size:12px;padding:8px}.page-jump{width:100%}}
.review-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0}.review-select-all{display:flex;align-items:center;gap:8px;margin:0}.review-table td:first-child{width:50px}.review-table td:nth-child(2){width:28%}.review-table td:nth-child(3){width:50%;max-width:540px}.review-table select{font:inherit;min-height:44px;border:1px solid #bac5d4;border-radius:5px;padding:8px;max-width:100%;width:100%;background:white;color:var(--ink)}.review-table .review-select{margin:5px 0;width:20px;min-height:20px;accent-color:var(--navy)}.review-table tr[data-accepted=true]{background:#eef8f2}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.review-table{min-width:740px}.review-toolbar{align-items:start;flex-direction:column}}

#batch-machine-ids{display:block;width:100%;min-height:130px;resize:vertical;font:inherit;border:1px solid #bac5d4;border-radius:5px;padding:11px 12px;color:var(--ink);background:white}#batch-form button{margin-top:16px}#batch-result{margin-top:18px}#batch-result .table-scroll{margin-top:18px}#batch-result td{overflow-wrap:anywhere}#batch-result .batch-failed{color:var(--red)}

.source-status { margin: 1rem 0; padding: .8rem 1rem; background: #f5f7f8; border-radius: .5rem; }
.source-status summary { cursor: pointer; font-size: .9rem; line-height: 1.6; }
.ai-toolbar h2 { margin: 0; }
.ai-outcomes { font-weight: 600; margin: .6rem 0; }

.ai-run-history { margin-top: 1rem; }
.ai-run-history summary { cursor: pointer; font-size: .9rem; }
.mapping-filters select,.ai-toolbar select { min-height: 44px; padding: 8px 32px 8px 12px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--navy); font: inherit; }
.ai-toolbar .ai-actions { align-items: center; }
