:root{--nav:#243744;--nav-soft:#344c5c;--ink:#233640;--muted:#74838b;--paper:#f3f6f8;--surface:#fff;--line:#dfe7eb;--accent:#147d73;--accent-soft:#eaf5f1;--amber:#ad742a;--danger:#a43f42;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,input,select,textarea{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:"Avenir Next",-apple-system,sans-serif}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin-bottom:10px;font-weight:650}h2{font-size:17px;margin-bottom:0}h3{font-size:14px}a{color:inherit}.workspace{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#c3d0d8;position:sticky;top:0;height:100vh;padding:28px 18px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:24px;font-weight:650;margin:0 10px 36px}.brand small{display:block;font:11px/1.5 -apple-system,sans-serif;font-weight:400;color:#b3c4cf}.brand-mark{display:grid;place-items:center;background:var(--accent);width:38px;height:38px;color:white;border-radius:10px;font-size:27px;font-weight:700;flex-shrink:0}.nav-item{display:flex;gap:12px;align-items:center;width:100%;padding:12px;border:0;border-radius:7px;background:none;color:inherit;text-align:left;margin-bottom:5px}.nav-item span{font-size:21px;width:22px;line-height:1}.nav-item.active{background:var(--nav-soft);color:white}.nav-item:hover,.sidebar-section button:hover{background:#ffffff0a;color:white}.sidebar-section{border-top:1px solid #ffffff18;margin:24px 8px 0;padding-top:20px}.sidebar-section p{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#9bb0bd;margin-bottom:10px}.sidebar-section button{display:block;background:none;border:0;color:inherit;padding:7px 0;text-align:left;font-size:12px;width:100%}.sidebar-bottom{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:24px;font-size:12px}.sidebar-bottom small{display:block;color:#9bb0bd;font-size:10px}.sidebar-bottom button{margin-left:auto;background:none;border:0;color:inherit;font-size:22px}.avatar{width:32px;height:32px;border-radius:50%;background:#496170;color:white;display:grid;place-items:center}main{min-width:0}.topbar{height:67px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:var(--muted)}.topbar b{font-weight:500;color:var(--ink)}.sep{margin:0 12px;color:#ccd5da}.build-tag{padding:4px 10px;border:1px solid var(--line);border-radius:4px;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.page{padding:36px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.page-heading p:last-child{margin-bottom:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--accent);font-weight:650;margin-bottom:10px}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.search-main{min-width:0}.section-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:20px}.query-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.primary,.secondary{padding:10px 17px;border-radius:7px;font-weight:550;border:1px solid transparent;white-space:nowrap}.primary{background:var(--accent);color:white}.primary:hover{background:#106b63}.primary span{margin-left:30px}.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover{border-color:#a6bcc6}.text-button{background:none;border:0;color:var(--accent);padding:0;font-size:12px;font-weight:550}.icon-button{border:0;background:none;font-size:25px;color:var(--muted);padding:0 4px}.condition{display:grid;grid-template-columns:140px 130px minmax(80px,1fr) 20px;gap:8px;margin-bottom:10px;align-items:start}.condition textarea{min-height:44px;resize:vertical}.condition input,.condition select,.condition textarea{width:100%;border:1px solid var(--line);background:#fbfcfd;border-radius:6px;padding:10px 9px;font-size:12px;color:var(--ink)}.condition:only-child .remove-condition{visibility:hidden}.estimate{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding:14px 2px;min-height:45px}.source-rail{padding:21px;position:sticky;top:20px}.source-rail .section-head{margin-bottom:9px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:23px;padding:1px 6px;font:11px/20px ui-monospace,monospace;background:var(--accent-soft);color:var(--accent);border-radius:5px}.source-actions{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin:17px 0 3px}.source-choice{display:flex;gap:10px;align-items:flex-start;padding:15px 0;border-bottom:1px solid #edf1f3}.source-choice input{accent-color:var(--accent);margin:4px 0 0;flex-shrink:0}.source-choice strong{font-weight:550;font-size:12px;display:block}.source-choice small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.source-choice.unavailable{opacity:.65}.rail-note{margin-top:20px;font-size:10px;color:var(--muted);line-height:1.7}.empty-state{text-align:center;padding:65px 20px;color:var(--muted);border:1px dashed #ccd8de;border-radius:12px;margin-top:12px}.empty-state h2{color:var(--ink);margin:16px 0 8px;font-size:19px}.empty-state p{font-size:13px;margin-bottom:0}.search-symbol{display:inline-grid;place-items:center;width:56px;height:56px;background:#e8eef1;border-radius:50%;font-size:37px;color:#6b8593}.result-summary{display:flex;align-items:baseline;gap:12px;margin:15px 0 20px}.result-summary strong{font-size:22px;font-family:"Avenir Next",sans-serif}.result-summary span{font-size:12px;color:var(--muted)}.result-group{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:hidden}.result-group header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.result-group header strong{font-size:13px}.status{display:inline-block;font-size:10px;padding:3px 8px;border-radius:4px;background:#edf2f5;color:#597180}.status.ready,.status.found,.status.completed{background:var(--accent-soft);color:var(--accent)}.status.error,.status.failed{background:#faedef;color:var(--danger)}.status.running,.status.queued{background:#fff4e3;color:var(--amber)}.record{display:block;text-align:left;width:100%;padding:18px 20px;background:white;border:0;border-bottom:1px solid #eef2f4;color:var(--ink)}.record:hover{background:#f8fbfa}.record strong{display:block;margin-bottom:5px;font-size:14px;font-weight:550}.record p{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.group-note{padding:14px 20px;margin:0;font-size:12px;color:var(--muted)}.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.source-card{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:14px}.source-card .section-head{margin:0;align-items:start}.source-card h2{font-size:15px}.source-card p{margin:0;font-size:12px;color:var(--muted)}.field-tags{display:flex;gap:5px;flex-wrap:wrap}.field-tags span{font-size:10px;padding:2px 6px;background:#f0f4f6;border-radius:4px;color:#5d7481}.section-title{margin:30px 0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:500}th,td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td{max-width:350px;overflow-wrap:anywhere}.table-wrap.panel{padding:5px 10px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:600px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 25px 90px #102d4633;color:var(--ink)}dialog::backdrop{background:#13273380;backdrop-filter:blur(3px)}.wide-dialog{max-width:860px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.dialog-head h2{font-size:23px}.dialog-head .eyebrow{margin-bottom:5px}form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;margin-bottom:17px}form label input,form label select{padding:10px 12px;border:1px solid var(--line);border-radius:6px;min-width:0;background:white;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.file-picker{padding:18px;border:1px dashed #b9cbd3;border-radius:9px;background:#f7fafb}.file-picker input{padding:6px 0;border:0;background:none}.file-picker span{font-weight:400;font-size:11px;color:var(--muted)}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.preview{max-height:220px;background:#f8fafb;border:1px solid var(--line);border-radius:7px;margin-bottom:20px}.preview td{white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px}.record-fields{display:grid;grid-template-columns:150px 1fr;gap:0;font-size:13px}.record-fields dt,.record-fields dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}.record-fields dt{color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:600px;width:calc(100% - 32px);background:var(--nav);color:white;border-radius:10px;padding:15px 20px;box-shadow:0 8px 35px #102d4622;z-index:10}.error{color:var(--danger);font-size:12px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(115deg,#e7eff1 50%,var(--nav) 50%)}.login-card{width:410px;max-width:100%;padding:38px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 70px #102d4622}.login-card .brand-mark{margin-bottom:27px}.login-card h1{font-size:29px}.login-card>.muted{margin-bottom:27px}.login-card>.primary{width:100%;margin-top:8px}.login-card>.error{margin-top:15px;margin-bottom:0}.import-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.import-row:last-child{border:0}.import-row strong{display:block;font-size:12px}.import-row small{display:block;color:var(--muted);font:11px/1.8 ui-monospace,monospace}
@media(min-width:1600px){.condition{grid-template-columns:165px 145px minmax(100px,1fr) 20px}}@media(max-width:1200px){.workspace{grid-template-columns:200px minmax(0,1fr)}.page{padding:26px}.search-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.condition{grid-template-columns:1fr 1fr 20px}.condition textarea{grid-row:2;grid-column:1/3}.remove-condition{grid-column:3;grid-row:1/3}.source-rail{padding:17px}.section-head{flex-wrap:wrap}.sidebar{padding:22px 12px}.brand{margin-left:6px}}@media(max-width:900px){.search-layout{grid-template-columns:1fr}.source-rail{position:static;grid-row:1}.source-rail #sourceChoices{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.rail-note{margin-top:12px}.topbar{padding:0 22px}.build-tag{display:none}.page-heading{align-items:flex-start}h1{font-size:29px}}@media(max-width:650px){.workspace{display:block}.sidebar{height:auto;position:static;padding:15px}.brand{margin:0 0 15px;font-size:21px}.brand small,.sidebar-section,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:4px;overflow:auto}.nav-item{margin:0;padding:9px;font-size:11px;white-space:nowrap;justify-content:center}.nav-item span{display:none}.topbar{height:45px}.page{padding:22px 16px}.page-heading{gap:12px}.page-heading>.primary,.page-heading>.secondary{font-size:11px;padding:9px}.page-heading .muted{font-size:12px}.query-panel{padding:17px}.source-rail #sourceChoices{grid-template-columns:1fr}.form-grid,.mapping-grid{grid-template-columns:1fr}.record-fields{grid-template-columns:100px 1fr}.dialog-footer{flex-wrap:wrap}.login-screen{background:var(--paper)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.result-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line)}.quality-note{color:var(--amber);font-size:11px;margin:7px 0}.import-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:85px}.scope-note{color:var(--amber)!important}details>summary{cursor:pointer;color:var(--accent);font-size:13px;margin-top:20px}#importReport{overflow:auto;max-height:65vh}
/* Selected records and personal collections share the source-first visual hierarchy. */
.record-selectable{display:flex;align-items:flex-start;border-bottom:1px solid #eef2f4;background:white}
.record-selectable .record{border:0;min-width:0;flex:1}
.record-select{accent-color:var(--accent);width:17px;height:17px;margin:23px 0 0 17px;flex:none;cursor:pointer}
.record-selectable.is-selected{box-shadow:inset 3px 0 var(--accent);background:var(--accent-soft)}
.record-selectable.is-selected .record{background:var(--accent-soft)}
.selection-tray{position:sticky;top:12px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;margin:0 0 16px;border:1px solid #accfc8;border-radius:10px;background:#f0f9f5;box-shadow:0 5px 18px #2437440a}
.selection-tray strong{display:block;font-size:13px}.selection-tray .hint{display:block;font-size:10px;margin-top:2px}
.selection-actions{display:flex;align-items:center;gap:8px}.selection-actions .primary,.selection-actions .secondary{padding:8px 11px;font-size:12px}.selection-actions .text-button{font-size:11px;margin-left:4px}
.collections-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px;align-items:start}.collection-list{display:flex;flex-direction:column;gap:8px;position:sticky;top:20px;min-width:0}
.collection-list-item{display:block;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);width:100%}
.collection-list-item strong{display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere}.collection-list-item small{display:block;font-size:10px;color:var(--muted);margin-top:6px}
.collection-list-item.active{border-color:#8cbbb2;background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.collection-list-item:hover{border-color:#9cb5c0}
.collection-detail{min-width:0}.collection-editor .section-head{margin-bottom:22px}.collection-editor-footer{display:flex;align-items:center;gap:12px}
form label textarea{padding:10px 12px;border:1px solid var(--line);border-radius:6px;min-width:0;background:white;color:var(--ink);resize:vertical;line-height:1.6;font-weight:400}
.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 14px}.collection-toolbar-actions{display:flex;gap:8px}.collection-toolbar-actions .secondary{padding:8px 12px;font-size:12px}
.collection-items{display:flex;flex-direction:column;gap:14px}.collection-item{padding:20px}.collection-item-header{display:flex;align-items:flex-start;gap:12px}.collection-item-header input{accent-color:var(--accent);margin:4px 0 0;width:16px;height:16px;flex:none}.collection-item-header>div{flex:1;min-width:0}.collection-item-header h3{margin:0;font-size:15px;overflow-wrap:anywhere}.collection-item-header p{margin:3px 0 0}.collection-item-header>.text-button{font-size:11px;margin-top:3px;flex:none}
.collection-record-fields{display:grid;grid-template-columns:135px minmax(0,1fr);gap:8px 14px;margin:18px 0;font-size:12px}.collection-record-fields dt{color:var(--muted)}.collection-record-fields dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.collection-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.item-note-form{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.item-note-form label{font-size:11px;margin-bottom:10px}.item-note-form .secondary{font-size:11px;padding:6px 12px}
.danger-text{color:var(--danger)}
.comparison-dialog{max-width:1280px;width:calc(100% - 40px)}.comparison-content{max-height:64vh;overflow:auto;border:1px solid var(--line);border-radius:8px}.comparison-content>.muted,.comparison-content>.error{padding:20px;margin:0}
.comparison-filter{display:flex;flex-direction:row;align-items:center;gap:8px;margin:15px 0;font-size:12px}.comparison-filter input{accent-color:var(--accent);width:15px;height:15px}
.comparison-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}
.comparison-table th,.comparison-table td{min-width:220px;width:220px;max-width:270px;vertical-align:top;padding:15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0}
.comparison-table thead th{position:sticky;top:0;z-index:2;background:#f2f6f8}.comparison-table thead th strong{display:block;font-size:13px;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.comparison-table th:first-child{position:sticky;left:0;min-width:170px;width:170px;z-index:1;background:#f8fafb}.comparison-table thead th:first-child{z-index:3;background:#edf3f5;font-size:11px;color:var(--muted)}
.comparison-table tbody th strong{display:block;font-size:12px;font-weight:550;color:var(--ink)}.comparison-status{display:inline-block;margin-top:8px;padding:2px 6px;border-radius:4px;font-size:10px;line-height:1.6}
.comparison-row.same .comparison-status{background:var(--accent-soft);color:var(--accent)}.comparison-row.different .comparison-status{background:#fff0e6;color:#9a5b27}.comparison-row.partial .comparison-status{background:#eef1f4;color:#617685}
.comparison-row.same td{background:#f9fcfa}.comparison-source{display:block;color:var(--accent);font-size:11px;margin-top:8px}.comparison-id{display:block;color:var(--muted);margin-top:3px;font:10px/1.5 ui-monospace,monospace}
.comparison-values{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;line-height:1.7}.comparison-values.missing{color:var(--muted);font-style:italic}.comparison-common{display:block;margin-top:10px;color:var(--muted);font-size:10px;overflow-wrap:anywhere;max-height:100px;overflow:auto}
@media(max-width:1200px){.collections-layout{grid-template-columns:200px minmax(0,1fr);gap:18px}.selection-tray{flex-direction:column;align-items:flex-start;gap:10px}.selection-tray>div:first-child{display:flex;gap:10px;align-items:center}.collection-toolbar{align-items:flex-start;flex-direction:column}.collection-editor .section-head{align-items:flex-start}}
@media(max-width:900px){.collections-layout{grid-template-columns:1fr}.collection-list{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.collection-toolbar{align-items:center;flex-direction:row}.selection-tray{flex-direction:row;align-items:center}.selection-tray>div:first-child{display:block}}
@media(max-width:650px){.sidebar{position:relative}.sidebar-bottom{display:flex;position:absolute;top:15px;right:15px;margin:0;padding:0}.sidebar-bottom .avatar,.sidebar-bottom>div{display:none}.sidebar-bottom #logout{margin:0;width:34px;height:34px;line-height:1}.sidebar nav{padding-bottom:3px}.selection-tray{flex-direction:column;align-items:stretch;gap:10px;top:4px;padding:12px}.selection-tray>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.selection-actions{justify-content:space-between}.collections-layout{gap:16px}.collection-toolbar{flex-direction:column;align-items:flex-start}.collection-toolbar-actions{width:100%;flex-wrap:wrap}.collection-list{grid-template-columns:1fr 1fr;gap:7px}.collection-list-item{padding:12px}.collection-list-item small{font-size:9px}.collection-editor,.collection-item{padding:16px}.collection-record-fields{grid-template-columns:95px minmax(0,1fr);gap:8px 10px}.comparison-dialog{width:calc(100% - 16px);padding:18px}.comparison-table th,.comparison-table td{min-width:190px;width:190px;padding:12px}.comparison-table th:first-child{min-width:130px;width:130px}.comparison-content{max-height:65vh}.record-select{margin-left:12px}.record-selectable .record{padding-left:12px}}

.source-rail-controls{display:flex;align-items:center;gap:14px}.source-toggle{display:none;min-height:32px}.source-toggle::after{content:"⌄";margin-left:6px}.source-toggle[aria-expanded="true"]::after{content:"⌃"}
@media(max-width:900px){.source-toggle{display:inline-flex;align-items:center}.source-rail .section-head{margin-bottom:0}.source-rail #sourcePicker>.hint{margin-top:12px}.source-rail #sourceChoices{max-height:360px;overflow:auto;overscroll-behavior:contain}.source-rail{padding:12px 17px}.source-choice{padding:12px 0}}

.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;flex-wrap:wrap}.filter-check{display:inline-flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.filter-check input{accent-color:var(--accent);width:16px;height:16px;margin:0}.archive-help{margin-bottom:20px}.source-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:3px}.source-card.is-archived{background:#f8fafb;border-style:dashed}.source-card.is-archived .status{background:#e9eef1;color:#586f7c}

/* File profile constructor: original column names stay beside search field choices. */
.profiles-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.profile-detail{min-width:0}.profile-editor{padding:24px}.profile-editor>.section-head h3{margin:0}.profile-editor>.section-head .hint{margin:4px 0 0}.profile-editor .section-head{align-items:flex-start}.profile-editor .dialog-footer{margin-top:22px}.profile-editor .profile-required,.profile-editor .filter-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px;font-weight:400}.profile-editor .filter-check{margin-bottom:20px}.profile-column-head,.profile-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 106px 20px;gap:14px}.profile-column-head{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:0 0 10px}.profile-column{border-top:1px solid var(--line);padding:16px 0;align-items:start}.profile-column>label:first-child{font-size:11px}.profile-column label{margin-bottom:0}.profile-column input,.profile-column select{width:100%;min-width:0}.profile-column .profile-required{margin-top:27px}.profile-required input,.mapping-required input{width:15px;height:15px;accent-color:var(--accent);margin:0;flex:none}.profile-column>.icon-button{margin-top:23px}.field-picker{min-width:0}.field-picker label{font-size:11px}.field-picker .custom-field-label{margin-top:10px}.custom-field-label .hint{font-size:10px;font-weight:400;line-height:1.5}.profile-picker{padding-bottom:2px}.parser-fields{border:0;padding:0;margin:0;min-width:0}.parser-fields:disabled{opacity:.7}.mapping-profile-panel{padding:18px;background:#f5f9fa;border:1px solid var(--line);border-radius:9px;margin:18px 0 24px}.mapping-profile-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;margin-bottom:14px}.mapping-profile-panel select{padding:10px 12px;border:1px solid var(--line);border-radius:6px;min-width:0;max-width:100%;background:white;color:var(--ink)}.mapping-profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.mapping-profile-actions .hint{flex-basis:100%;margin-top:2px}.mapping-profile-actions button{font-size:12px;padding:8px 13px}.profile-diff-line{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.profile-diff-line strong{font-weight:550}.profile-diff>.hint,.profile-diff>.error,.profile-match{margin:8px 0 14px;font-size:12px}.profile-match{color:var(--accent)}.mapping-column{min-width:0;background:#fafcfc;border:1px solid var(--line);border-radius:8px;padding:14px}.mapping-column>strong{display:block;margin-bottom:10px;font-size:13px;overflow-wrap:anywhere}.mapping-column label{margin-bottom:0}.mapping-column .mapping-required{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:10px;font-weight:400;margin:12px 0 0}.mapping-grid{margin-bottom:22px;gap:14px}.mapping-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.mapping-preview-pair>section{min-width:0}.mapping-preview-pair h3{margin-bottom:10px}.mapping-preview-pair:has(>section[hidden]){grid-template-columns:1fr}.normalization-notes p{font-size:10px;margin-bottom:5px}.notice{border-left:3px solid var(--amber);background:#fff7e9;padding:12px 14px;color:#785b2e;font-size:12px;line-height:1.6}.profile-editor input:disabled,.profile-editor select:disabled,.mapping-column select:disabled,.mapping-column input:disabled{color:#60737d;background:#f3f6f7}.profile-editor .profile-column>label:first-child{min-width:0}
@media(max-width:1200px){.profiles-layout{grid-template-columns:1fr}.profiles-layout>.collection-list{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.profile-editor{padding:22px}}
@media(max-width:650px){.profile-editor{padding:16px}.profile-column-head{display:none}.profile-column{grid-template-columns:minmax(0,1fr) 25px;gap:10px}.profile-column>label:first-child{grid-column:1}.profile-column>.field-picker{grid-column:1}.profile-column>.profile-required{grid-column:1;margin:0}.profile-column>.icon-button{grid-column:2;grid-row:1;margin-top:22px}.profile-editor .section-head{flex-direction:column}.profile-editor .dialog-footer{align-items:flex-start}.mapping-preview-pair{grid-template-columns:1fr}.mapping-profile-panel{padding:14px}.mapping-profile-actions{align-items:flex-start}.mapping-column{padding:12px}.profiles-layout>.collection-list{grid-template-columns:1fr 1fr}.profile-editor #profileVersionNote{font-size:11px}}

.profile-required input,.mapping-required input,.profile-editor .filter-check input{padding:0;width:15px;height:15px;accent-color:var(--accent)}

.search-mode-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#f2f6f7;margin-bottom:22px}.search-mode-switch button{border:1px solid transparent;border-radius:6px;background:none;color:#627984;font-size:13px;font-weight:550;padding:8px 16px}.search-mode-switch button.active{background:white;color:var(--accent);border-color:#d5e3e4;box-shadow:0 1px 3px #203d4b0a}.search-mode-panel{border:0;padding:0;margin:0;min-width:0}.search-mode-panel>.hint:last-child{margin-bottom:0}.search-mode-panel>label{margin-bottom:10px}.search-mode-panel #generalQuery{padding:13px 14px;font-size:15px;min-height:49px;width:100%;background:#fbfcfd}.query-actions.general-mode{justify-content:flex-end}.search-recognition{margin-top:17px;padding:12px 14px;background:#f0f8f5;border:1px solid #d8e9e3;border-radius:8px}.search-recognition p{font-size:11px;margin-bottom:8px}.search-recognition p:last-child{margin-top:9px;margin-bottom:0}.recognition-chips{display:flex;flex-wrap:wrap;gap:6px}.recognition-chip{display:inline-flex;align-items:center;background:white;color:#246e63;border:1px solid #cce0d8;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:550}.record-matches{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:9px}.record-matches>small{font-size:10px;color:var(--muted);margin-right:2px}.match-field{font-size:10px;color:#466f6b;background:#eff7f4;border:1px solid #dceae4;padding:1px 6px;border-radius:4px}
@media(max-width:650px){.search-mode-switch{display:flex;width:100%;margin-bottom:18px}.search-mode-switch button{flex:1;padding:8px 10px;font-size:12px}.search-mode-panel #generalQuery{font-size:14px;padding:12px}.search-mode-panel .section-head{gap:4px;margin-bottom:14px}.search-mode-panel .section-head .hint{font-size:10px}.search-recognition{padding:11px}.record-matches{gap:4px}}
/* Native upload/admin dialogs retain usable controls and readable mobile inputs. */
.upload-archive-picker { padding: 14px; margin: 16px 0; border: 1px solid #c9dfd6; border-radius: 8px; background: #f1f8f5; min-width: 0; }
.upload-archive-picker h3 { margin: 0 0 9px; font-size: 15px; overflow-wrap: anywhere; }
.upload-archive-picker .hint { color: #526b60; line-height: 1.55; font-size: 12px; }
.upload-archive-picker label { margin-bottom: 8px; }
.upload-archive-picker select { width: 100%; min-width: 0; max-width: 100%; }
.archive-mode-options { border: 0; margin: 0 0 14px; padding: 0; min-width: 0; }
.archive-mode-options legend { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
#uploadForm .archive-mode-options label, .archive-retry-override { display: flex; flex-direction: row; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; margin: 0; }
#uploadDialog .archive-mode-options input, #uploadDialog .archive-file-check input, .archive-retry-override input { width: 17px; height: 17px; min-height: 17px; flex: 0 0 17px; padding: 0; margin: 0; accent-color: var(--accent); }
.archive-selection-actions, .archive-batch-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.archive-selection-summary { font-size: 13px; font-weight: 600; margin: 10px 0; }
#archiveSelectionError:empty, #archiveBatchError:empty, #archiveBatchHistoryError:empty { display: none; }
.archive-file-list { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 8px; background: white; }
.archive-file-row { padding: 8px 12px; border-bottom: 1px solid var(--line); content-visibility: auto; contain-intrinsic-size: auto 68px; }
.archive-file-row:last-child { border: 0; }
#uploadForm .archive-file-check { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 44px; margin: 0; cursor: pointer; }
.archive-file-check > span { min-width: 0; }
.archive-file-check strong, .archive-file-check small { display: block; overflow-wrap: anywhere; }
.archive-file-check strong { font-size: 13px; font-weight: 550; }.archive-file-check small { color: #576c78; font-size: 12px; }
#uploadForm .archive-file-title { margin: 5px 0 7px 27px; font-size: 12px; }
.archive-file-title input, #archiveFileSearch { width: 100%; min-width: 0; box-sizing: border-box; }
.archive-batch-history { padding: 12px 16px; margin-bottom: 20px; }
.archive-batch-history > summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 14px; font-weight: 600; }
#archiveBatchHistoryList { max-height: 270px; overflow-y: auto; overscroll-behavior: contain; }
.archive-batch-history-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.archive-batch-history-row > div { min-width: 0; }.archive-batch-history-row strong { font-size: 13px; }.archive-batch-history-row p { margin: 5px 0; }
.archive-batch-history button, #archiveBatchDialog button, #archiveBatchDialog summary { min-height: 44px; }
#archiveBatchDialog { max-height: calc(100dvh - 32px); }
#archiveBatchSummary { font-size: 14px; margin: 10px 0; }
#archiveBatchProgress { width: 100%; height: 10px; accent-color: var(--accent); }
#archiveBatchItems { max-height: 350px; overflow-y: auto; overscroll-behavior: contain; margin: 16px 0; border: 1px solid var(--line); border-radius: 8px; }
.archive-batch-item { padding: 14px; border-bottom: 1px solid var(--line); }.archive-batch-item:last-child { border: 0; }
.archive-batch-item-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.archive-batch-item h3 { margin: 0; font-size: 14px; overflow-wrap: anywhere; }.archive-batch-status { font-size: 12px; color: #49646d; }
.archive-batch-filename { margin: 6px 0; font-size: 12px; color: #576c78; overflow-wrap: anywhere; }
.archive-batch-item .hint, .archive-batch-history .hint, #archiveBatchDialog .hint { font-size: 12px; color: #576c78; line-height: 1.55; }
#archiveRetryOptions summary { cursor: pointer; padding: 10px 0; font-size: 13px; }
#archiveRetryFields { border: 0; margin: 0; padding: 0; min-width: 0; }
#archiveRetryFields label { display: flex; flex-direction: column; font-size: 13px; gap: 6px; margin-bottom: 14px; }
#archiveRetryFields select { min-width: 0; width: 100%; min-height: 44px; padding: 10px; font-size: 14px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--ink); }
#archiveBatchDialog :is(button,summary,input,select):focus-visible, .archive-batch-history :is(button,summary):focus-visible { outline: 3px solid #267fba; outline-offset: 3px; }
@media(max-width:650px) {
 .archive-selection-actions > button, .archive-batch-actions > button { flex: 1 1 auto; }
 .archive-batch-history-row { align-items: flex-start; flex-wrap: wrap; }
 #archiveBatchDialog { padding: 18px; width: calc(100% - 20px); }
 #archiveRetryFields select { font-size: 16px; }
 .archive-file-list { max-height: 310px; }
}
dialog { overscroll-behavior: contain; }
dialog .dialog-head > .icon-button { min-width: 44px; min-height: 44px; flex: 0 0 44px; }
#userDialog button, #accessDialog button, #view-users button { min-height: 44px; }
#userDialog .source-choice, #accessDialog .source-choice { min-height: 44px; }
#userFormError:empty, #accessFormError:empty { display: none; }
#userFormError, #accessFormError, #uploadStatus { scroll-margin-block: 95px 20px; }
#userDialog .dialog-head, #accessDialog .dialog-head, #uploadDialog .dialog-head { position: sticky; top: -28px; z-index: 1; margin: -28px -28px 18px; padding: 18px 28px 10px; background: white; border-bottom: 1px solid var(--line); }
#userDialog :is(input,select,button):focus-visible, #accessDialog :is(input,select,button):focus-visible, #uploadDialog :is(input,select,button,summary):focus-visible { outline: 3px solid #267fba; outline-offset: 3px; }
#userDialog :is(input,select), #accessDialog :is(input,select) { scroll-margin-block: 95px 20px; }
@media(max-width:650px) {
 #userDialog input:not([type=checkbox]), #userDialog select, #accessDialog input:not([type=checkbox]), #accessDialog select { min-height: 44px; font-size: 16px; }
}
/* Long profile/format option labels must not impose an intrinsic modal width. */
#uploadDialog .form-grid > label, #uploadDialog .form-grid select, #archiveRetryFields > label, #archiveRetryFields select { min-width: 0; max-width: 100%; }
#uploadDialog .form-grid, #archiveRetryFields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 650px) { #uploadDialog .form-grid, #archiveRetryFields { grid-template-columns: minmax(0, 1fr); } }
