/* Shared controls: porcelain surfaces, ink typography, and a restrained blue selection accent. */
:root{--control-bg:#fbfcff;--control-border:#d8e0ed;--control-hover:#9eadd7;--control-focus:#5264cf;--control-ring:0 0 0 4px #5264cf15;--control-shadow:0 2px 4px #22365404,inset 0 1px 0 #fff;--menu-shadow:0 18px 50px -12px #24365b38,0 4px 12px #24365b0b;--control-radius:11px}
.btn{min-height:42px;padding:10px 17px;border-radius:var(--control-radius);border-color:var(--control-border);background:#fcfdff;box-shadow:var(--control-shadow);font-size:12px;font-weight:500;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.btn:hover:not(:disabled){border-color:#b7c4de;box-shadow:0 4px 12px #3049810b;transform:translateY(-1px)}
.btn:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 4px #24365b0b}
.btn.primary{background:linear-gradient(180deg,#5668d8,#4558c4);border-color:#4659c4;box-shadow:0 4px 10px #4659c426,inset 0 1px 0 #ffffff26}
.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#5063d3,#3f51bb);border-color:#4052bc;box-shadow:0 6px 14px #4659c42b}
.btn.ghost{box-shadow:none;background:transparent;border-color:transparent}
.btn.ghost:hover:not(:disabled){background:#edf1fa;border-color:#dce4f2;box-shadow:none}
.btn.small{min-height:33px;padding:6px 11px;font-size:11px;border-radius:9px}
.btn:disabled{transform:none;box-shadow:none;background-image:none}
.btn.primary:disabled{background-color:#e3e9f5;border-color:#cbd5e6;color:#51637f;opacity:1}
.icon-button{background:#fcfdff;border-color:var(--control-border);border-radius:11px;box-shadow:var(--control-shadow);transition:background .16s,box-shadow .16s,border-color .16s}
.icon-button:hover{border-color:#b8c5e1;background:#f1f4fc}
:is(.btn,.icon-button,.gx-select .ts-control,.gx-number):focus-visible{outline:0;box-shadow:var(--control-ring);border-color:var(--control-focus)}
.field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea),input.control,textarea.control,.chapter-row>div>input,.agent-compose textarea{background:var(--control-bg);border-color:var(--control-border);border-radius:var(--control-radius);box-shadow:var(--control-shadow);transition:background .16s,border-color .16s,box-shadow .16s}
.field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea):hover:not(:disabled),input.control:hover:not(:disabled),textarea.control:hover:not(:disabled){border-color:#b6c4de}
.field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea):focus,input.control:focus,textarea.control:focus,.agent-compose textarea:focus{outline:none;border-color:var(--control-focus);box-shadow:var(--control-ring);background:#fff}
.field :is(input,textarea):disabled{background:#f0f3f8;color:#96a2b6;box-shadow:none;cursor:not-allowed}
.field label,label.field>span{font-size:12px;font-weight:500;color:#53627b}
input[type="checkbox"],input[type="radio"],.field input[type="checkbox"],.field input[type="radio"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;flex:0 0 18px;width:18px!important;height:18px;min-height:18px;padding:0;margin:0 7px 0 0;vertical-align:middle;border:1.5px solid #bbc8dd;border-radius:5px;background:#fff;box-shadow:0 1px 2px #233a5e08;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
input[type="checkbox"]:checked{background:#5264cf;border-color:#5264cf;box-shadow:0 2px 5px #5264cf26}
input[type="checkbox"]:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
input[type="checkbox"]:indeterminate{background:#5264cf;border-color:#5264cf}
input[type="checkbox"]:indeterminate::after{content:"";width:8px;height:2px;background:white;border-radius:2px}
input[type="radio"]{border-radius:50%}
input[type="radio"]:checked{border-color:#5264cf;box-shadow:inset 0 0 0 4px #fff;background:#5264cf}
input:is([type="checkbox"],[type="radio"]):hover:not(:disabled){border-color:#5264cf}
input:is([type="checkbox"],[type="radio"]):focus-visible{outline:0;box-shadow:var(--control-ring)}
input:is([type="checkbox"],[type="radio"]):disabled{cursor:not-allowed;opacity:.45}
.agent-settings label,.review-include,.email-clear-password{gap:9px;line-height:1.7}
.gx-select.ts-wrapper{display:block;min-width:0;font:inherit;color:var(--ink);border:0;padding:0;box-shadow:none}
.gx-select .ts-control,.gx-select.single .ts-control{display:flex;align-items:center;min-height:42px;padding:10px 36px 10px 12px;gap:4px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);background-image:none;color:var(--ink);box-shadow:var(--control-shadow);font:inherit;font-size:12px;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.gx-select .ts-control:after,.gx-select.single .ts-control:after{content:"";display:block;position:absolute;right:14px;top:50%;width:7px;height:7px;margin-top:-5px;border:solid #7d8dab;border-width:0 1.6px 1.6px 0;transform:rotate(45deg);transition:transform .16s,margin-top .16s}
.gx-select.dropdown-active .ts-control:after{margin-top:-1px;transform:rotate(225deg)}
.gx-select.ts-wrapper.single .ts-control:after,.gx-select.ts-wrapper.single.dropdown-active .ts-control:after{border:solid #7d8dab;border-width:0 1.6px 1.6px 0}
.gx-select .ts-control:hover{border-color:var(--control-hover);background:#fff}
.gx-select.focus .ts-control,.gx-select.dropdown-active .ts-control{border-color:var(--control-focus);box-shadow:var(--control-ring);border-radius:var(--control-radius);background:#fff}
.gx-select .ts-control>.item{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:20px}
.gx-select .ts-control>input,.field .gx-select .ts-control>input,#account-form .gx-select .ts-control>input{padding:0!important;margin:0!important;min-height:20px!important;height:20px;border:none!important;border-radius:0;outline:0!important;box-shadow:none!important;background:transparent!important;font:inherit;color:var(--ink);cursor:text}
.gx-select.disabled .ts-control{background:#f0f3f8;color:#96a2b6;box-shadow:none;cursor:not-allowed;opacity:.65}
.gx-select.invalid .ts-control{border-color:#ce7380;box-shadow:0 0 0 3px #ce738014}
.field .gx-select{width:100%}
.results-heading>.gx-select{flex:0 0 160px;width:160px;font-size:12px}
.results-heading>.gx-select .ts-control{min-height:36px;padding-top:7px;padding-bottom:7px;background:#f9fbff}
.photo-edit-controls .gx-select{width:112px;max-width:112px}
.photo-edit-controls .gx-select .ts-control{min-height:32px;padding:5px 29px 5px 9px;font-size:11px;border-radius:8px}
.agent-focus>.gx-select{flex:1;min-width:0;width:0}
.agent-focus .gx-select .ts-control{min-height:34px;padding:6px 30px 6px 9px;font-size:11px;border-radius:8px}
.gx-select-menu.ts-dropdown,.gx-select-menu.ts-dropdown.single{position:fixed;z-index:1000;overflow:hidden;padding:6px;border:1px solid #dbe3f2;border-radius:13px;background:#fcfdff;box-shadow:var(--menu-shadow);color:var(--ink);font:12px/1.6 var(--sans);animation:gx-menu-in .13s ease-out;transform-origin:top}
.gx-select-menu[data-placement="top"]{transform-origin:bottom}
.gx-select-menu .ts-dropdown-content{max-height:308px;padding:0;overflow:auto;overscroll-behavior:contain}
.gx-select-menu .option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:38px;padding:9px 11px;border-radius:8px;color:#52627d;cursor:pointer}
.gx-select-menu .option>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.gx-select-menu .option>svg{flex:0 0 17px;width:17px;height:17px;fill:none;stroke:#4d60cd;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.gx-select-menu .option.active:not(.selected){background:transparent;color:#304cae;box-shadow:inset 3px 0 #a9b9e7}
.gx-select-menu .option.selected{background:#e9eefd;color:#3e54bb;font-weight:600}
.gx-select-menu .option.selected>svg{opacity:1}
.gx-select-menu .option[data-disabled]{opacity:.4;cursor:not-allowed}
.gx-select-menu .highlight{background:#dfe7fc;color:#344fb2;border-radius:3px}
.gx-select-menu .optgroup-header,.gx-select-menu .no-results{color:#7b8ba3;font-size:11px;padding:10px 12px}
.gx-select-menu .optgroup{border-top:1px solid #e9eef6;margin-top:4px;padding-top:4px}
.gx-number{position:relative;display:inline-flex;min-width:0;width:100%;vertical-align:middle;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);box-shadow:var(--control-shadow);transition:border-color .16s,box-shadow .16s}
.gx-number:hover{border-color:#b6c4de}.gx-number:focus-within{border-color:var(--control-focus);box-shadow:var(--control-ring)}
.gx-number>input[type="number"],.field .gx-number>input[type="number"]{appearance:textfield;-moz-appearance:textfield;width:100%!important;min-width:0;min-height:40px;padding:8px 32px 8px 11px!important;margin:0!important;border:0!important;border-radius:var(--control-radius);background:transparent!important;box-shadow:none!important;outline:none!important;font-variant-numeric:tabular-nums;color:var(--ink)}
.gx-number input::-webkit-inner-spin-button,.gx-number input::-webkit-outer-spin-button{appearance:none;-webkit-appearance:none;margin:0}
.gx-number-actions{position:absolute;right:3px;top:3px;bottom:3px;display:grid;grid-template-rows:1fr 1fr;width:24px;gap:1px}
.gx-number-actions button{display:grid;place-items:center;padding:0;background:#eff3fa;border-radius:4px;color:#7183a5;min-height:0;line-height:1;transition:background .15s,color .15s}
.gx-number-actions button:hover:not(:disabled){background:#e2e9fa;color:#4059be}.gx-number-actions button:active:not(:disabled){background:#d6e0f8}
.gx-number-actions svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gx-number.disabled{background:#f0f3f8;box-shadow:none}.gx-number.disabled input{color:#96a2b6}
.chapter-quota .gx-number>input[type="number"]{min-height:34px;font-size:12px;padding-left:8px!important}
.quota-summary .gx-number{margin-left:8px;min-width:85px}
.dialog{background:#f9fbff;border:1px solid #ffffffed;border-radius:22px;box-shadow:0 28px 90px -20px #182e5f55,0 3px 16px #233c6412}
.dialog:not(.detail-dialog){animation:gx-dialog-in .18s cubic-bezier(.2,.8,.2,1)}
.overlay-backdrop{background:#1e304e55;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dialog-head h2{font-size:20px;letter-spacing:-.4px}.dialog-head .icon-button{background:#eef2fa;border-color:#dce4f1}
.tag{border-radius:6px;font-weight:500}
.toast{border:1px solid #ffffff40;box-shadow:0 8px 30px #142c4d26;border-radius:12px}
details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;vertical-align:2px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .15s}
details[open]>summary::before{transform:rotate(45deg);vertical-align:3px}
@keyframes gx-menu-in{from{opacity:0;transform:translateY(-3px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gx-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){.btn{min-height:42px}.gx-select-menu .option{min-height:43px}.results-heading>.gx-select{flex-basis:142px;width:142px}.gx-select-menu.ts-dropdown{font-size:13px}.gx-number-actions{width:27px}}
@media(prefers-reduced-motion:reduce){.gx-select-menu.ts-dropdown,.dialog{animation:none!important}.gx-select .ts-control,.gx-select .ts-control:after,.gx-number,details>summary::before,.btn,.icon-button{transition:none!important}}
@media print{.gx-select-menu,.gx-number-actions{display:none!important}.gx-select .ts-control{box-shadow:none;border:0;background:none}}

/* Import batches are a compact source collection, never a page-height list. */
.catalog-layout>.filters{max-height:min(680px,calc(100dvh - 40px));overflow-y:auto}
.filters .source-label{font-size:10px;font-weight:inherit;min-width:0;overflow-wrap:anywhere}
.filters .source-count{font-size:9px;flex-shrink:0;margin-left:6px;font-variant-numeric:tabular-nums}
.library-source-group{width:100%;border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.library-source-group>summary{display:flex;align-items:center;gap:5px;min-height:35px;color:#61718b;font-size:10px;line-height:1.6}
.library-source-group>summary::before{flex:0 0 6px;margin-right:2px}
.library-source-group>summary .source-label{flex:1}
.library-source-group.active>summary{color:#4965b5;font-weight:600}
.library-source-picker{margin-top:8px;padding-bottom:4px}
.library-source-picker>label{display:block;color:#8a96ab;font-size:9px;margin-bottom:6px}
.library-source-picker .gx-select .ts-control{min-height:34px;padding:6px 26px 6px 8px;font-size:10px;border-radius:8px}
@media(max-width:650px){.catalog-layout>.filters{max-height:300px}.library-source-group{flex-basis:100%}.library-source-picker{max-width:100%}.filters .source-count{margin-left:2px}}
