.admin-body{background:#f7f8fa;color:#222;font-size:14px}
.customer-nav-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #d1d5dc;border-radius:2px;background:#fff;color:#222;text-decoration:none;padding:0 12px;min-height:38px;font-size:12px;white-space:nowrap}.customer-nav-link svg{width:16px;height:16px}.customer-nav-link[hidden]{display:none}
.admin-header{display:flex;align-items:center;gap:24px;padding:16px 28px;background:#fff;border-bottom:1px solid #ddd}
.admin-header img{object-fit:contain;display:block}
.admin-header>a:first-child{margin-left:0}
.admin-header>.admin-sign-out{margin-left:auto}
.admin-header h1{font-size:22px;font-weight:400;margin:0 0 4px}
.admin-header span{font-size:12px;color:#666}
.admin-library-link{display:flex;align-items:center;gap:8px;margin-left:auto;color:#006bb4;text-decoration:none;font-size:13px}
.admin-library-link svg{width:18px;height:18px}
.admin-sign-out{display:inline-flex;gap:7px;padding:0 12px;font-size:13px;border:1px solid #d1d5dc;border-radius:2px;background:#fff;white-space:nowrap;flex-shrink:0}.admin-sign-out:hover{background:#f4f5f6}.admin-sign-out svg{width:17px;height:17px}
.admin-commands{display:flex;align-items:center;justify-content:flex-end;gap:10px;max-width:1440px;margin:0 auto 16px;padding:0 28px}.admin-commands>span{margin-right:auto;font-size:12px;color:#666}.admin-commands button{font-size:12px;min-height:38px;padding:0 12px}.admin-commands svg{width:16px;height:16px}
.admin-modal{width:min(760px,calc(100vw - 32px));max-height:90vh}.admin-modal h2{font-size:22px;font-weight:400}.admin-modal h3{font-size:13px;font-weight:600;margin:18px 0 10px}.modal-body{padding:0 26px 24px}.modal-body>label,.modal-body div>label{display:block;font-size:12px;font-weight:600;margin:12px 0 6px}.modal-body input:not([type=checkbox]),.modal-body select{width:100%;height:40px;padding:0 10px;font:13px var(--sans)}.modal-body input[type=file]{height:auto;min-height:42px;padding:8px;font-size:12px}.upload-item-row{display:flex;align-items:flex-end;gap:12px}.upload-item-row>div{flex:1;min-width:0}.upload-item-row button{font-size:12px;min-height:40px;white-space:nowrap}.upload-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.upload-preview-grid>div:only-child{grid-column:1/-1}.upload-preview-grid img{display:block;width:100%;height:200px;object-fit:contain;background:#fafafa}.upload-match{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;font-size:12px;margin:20px 0}.upload-match dt{color:#666}.upload-match dd{margin:0;overflow-wrap:anywhere}#replacement-warning{border-left:3px solid #ba791c;background:#fff8ec;padding:14px;font-size:12px}#replacement-warning p{margin:8px 0}#replacement-warning label{display:flex;align-items:flex-start;gap:8px;font-weight:400}#replacement-warning input{width:16px;height:16px;margin:1px 0 0;flex-shrink:0;accent-color:#1979c3}.modal-status{font-size:12px;line-height:1.6;min-height:20px;color:#a52727}.modal-actions{display:flex;justify-content:flex-end;border-top:1px solid #eee;padding-top:14px}.modal-actions button{font-size:13px}.backend-user{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.backend-user>div:first-child{flex:1;min-width:0}.backend-user strong{display:block;font-size:13px;overflow-wrap:anywhere}.backend-user small{font-size:11px;color:#666}.backend-user .icon-button{width:36px;min-height:36px}.invite-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#invite-form{margin-top:24px}#invite-form>button{font-size:12px;margin-top:14px}.invite-link-row{display:flex;align-items:center;gap:8px}.invite-link-row input{min-width:0}#invite-expiry{font-size:11px;color:#666}.image-version{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #eee}.image-version img{width:110px;height:100px;object-fit:contain}.image-version div{font-size:12px;overflow-wrap:anywhere}.image-version small{display:block;color:#666;margin-top:6px}.image-version button{font-size:12px;padding:0 12px}
@media(max-width:700px){.admin-commands{padding:0 16px;flex-wrap:wrap;gap:8px}.admin-commands>span{flex-basis:100%}.modal-body{padding:0 18px 20px}.admin-modal .dialog-heading{padding:18px}.upload-preview-grid{gap:10px}.upload-preview-grid img{height:150px}.invite-fields{grid-template-columns:1fr}.image-version{grid-template-columns:80px minmax(0,1fr);gap:10px}.image-version img{width:80px;height:80px}.image-version button{grid-column:2;justify-self:start}.upload-item-row{flex-wrap:wrap}.upload-match{grid-template-columns:95px minmax(0,1fr)}}
.admin-bar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #ddd}
.admin-tabs{display:flex;gap:24px}.admin-tabs button{min-height:50px;border:0;border-bottom:3px solid transparent;background:none;padding:0 2px;color:#555;font-size:13px;cursor:pointer}
.admin-tabs button[aria-pressed=true]{border-bottom-color:#1979c3;color:#006bb4;font-weight:600}
.admin-tabs span{margin-left:5px;font-size:11px;color:#777}.admin-tools{display:flex;gap:6px}
#admin-status{min-height:36px;padding:8px 28px;color:#236348;font-size:13px}#admin-status.error{color:#a52727}
.admin-main{display:grid;grid-template-columns:minmax(300px, .9fr) minmax(440px,1.1fr);gap:24px;max-width:1440px;min-height:0;padding:0 28px 28px;margin:0 auto}
.admin-browser,.admin-editor{background:#fff;border:1px solid #ddd;border-radius:4px;min-width:0}
.admin-search{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid #e5e7eb}.admin-search svg{width:18px;height:18px;color:#777;flex-shrink:0}.admin-search input{width:100%;min-width:0;border:0;font:inherit;outline:none;padding:8px 0}
.list-summary{display:flex;justify-content:space-between;align-items:center;padding:5px 14px;font-size:12px;color:#666;border-bottom:1px solid #eee}.list-summary>div{display:flex;align-items:center;gap:8px}.list-summary button{width:32px;height:34px}.list-summary button:disabled{opacity:.3}
#admin-list{height:calc(100vh - 315px);min-height:380px;overflow-y:auto}
.admin-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 14px;min-height:76px;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;cursor:pointer}
.admin-row:hover{background:#f5f8fa}.admin-row[aria-pressed=true]{background:#edf5fb;box-shadow:inset 3px 0 #1979c3}.admin-row img{width:52px;height:52px;object-fit:contain;background:#fff}.admin-row strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.admin-row small{display:block;font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.admin-row .row-status{font-size:10px;color:#666}.admin-row .row-status.corrected{color:#236348}
.admin-editor{padding:20px 24px}#editor-empty{padding:100px 0;text-align:center;color:#777}.editor-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.editor-heading h2{font-size:20px;font-weight:400;margin:0;overflow-wrap:anywhere}.editor-heading span{font-size:11px;color:#666}
.admin-image{height:230px;display:flex;align-items:center;justify-content:center;background:#fafafa;margin:16px 0}.admin-image img{width:100%;height:100%;object-fit:contain}
.file-details{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;font-size:12px;margin:14px 0 20px}.file-details dt{color:#777}.file-details dd{margin:0;overflow-wrap:anywhere}
#edit-form>label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}#edit-form>input{width:100%;height:40px;border:1px solid #c9cdd2;border-radius:2px;padding:0 10px;font:inherit}
.category-fieldset{margin:22px 0 0;border:0;padding:0;min-width:0}.category-fieldset legend{font-size:12px;font-weight:600;margin-bottom:8px}.category-search input{width:100%;height:36px;border:1px solid #c9cdd2;padding:0 10px;font:12px var(--sans);border-radius:2px}
#assigned-categories{font-size:11px;color:#555;margin:10px 0;line-height:1.6;overflow-wrap:anywhere}
#category-options{max-height:180px;overflow-y:auto;border:1px solid #e5e7eb}.category-option{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;font-size:12px;line-height:1.5;cursor:pointer}.category-option:hover{background:#f7f8fa}.category-option input{width:15px;height:15px;margin:2px 0 0;accent-color:#1979c3;flex-shrink:0}
.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;border-top:1px solid #eee;padding:12px 0;position:sticky;bottom:0;background:#fff;z-index:2}.editor-actions button{font-size:12px;min-height:40px}.editor-actions svg,#undo svg{width:16px;height:16px}button:disabled{opacity:.45;cursor:default}
#history-dialog{width:min(680px,calc(100vw - 32px));max-height:85vh;border:1px solid #ddd;border-radius:4px;padding:24px}#history-dialog h2{font-size:20px;margin:0}#history-list{max-height:55vh;overflow-y:auto;margin:20px 0}.history-entry{padding:12px 0;border-bottom:1px solid #eee;line-height:1.7;font-size:12px;overflow-wrap:anywhere}.history-entry small{color:#777}#undo{font-size:12px}
@media(max-width:850px){.admin-main{grid-template-columns:1fr;padding:0 16px 24px;gap:16px}#admin-list{height:300px;min-height:0}.admin-header{padding:14px 16px;gap:14px}.admin-header h1{font-size:18px}.admin-header img{width:100px;height:48px}.admin-library-link{font-size:12px}.admin-bar{padding:0 16px}.admin-tabs{gap:14px}.admin-tabs button{font-size:12px}.admin-tabs span{display:none}#admin-status{padding:8px 16px}.admin-editor{padding:18px}.admin-image{height:240px}}
@media(max-width:480px){.admin-header{flex-wrap:wrap}.admin-library-link{margin-left:auto}.admin-header h1{font-size:16px}.editor-actions{flex-wrap:wrap}.admin-tools .icon-button{width:32px}.admin-tabs{gap:10px}}
/* Backend access controls stay readable alongside the protected owner row. */
.backend-user{flex-wrap:wrap}.backend-user>select{width:220px;max-width:100%;flex:0 1 220px}.backend-user>button.secondary{padding:0 12px;font-size:12px;white-space:nowrap}.backend-user>span{font-size:11px;color:#666}
@media(max-width:700px){.backend-user>div:first-child{flex-basis:100%}.backend-user>select{flex:1 1 170px}}
