/* R69 · material-library/picker presentation only; data and native dialog lifecycle belong to UE/server. */
.material-library {--material-bg:#15131b;--material-surface:#1d1926;--material-raised:#282231;--material-text:#e6deee;--material-muted:#a49aae;--material-accent:#c7b0e6;--material-border:#c7b0e624;box-sizing:border-box;width:100%;max-width:1280px;min-width:0;margin:0 auto;padding:20px 16px;color:var(--material-text);font-size:13px;line-height:1.6;container-name:material-library;container-type:inline-size;}
.material-library[data-scope=private] {--material-accent:#dbc08d;--material-border:#dbc08d29;}
.material-library>header {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;min-width:0;margin:0 0 14px;}
.material-library :is(h2,h3) {min-width:0;margin:0;color:var(--material-text);font-size:17px;font-weight:550;line-height:1.6;overflow-wrap:anywhere;}
.material-library>p {min-width:0;margin:8px 0;color:var(--material-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
:is(.material-library,dialog.material-picker) :is(button,a,select,input) {font-family:inherit;-webkit-tap-highlight-color:transparent;}
:is(.material-library,dialog.material-picker) button {display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-width:44px;max-width:100%;min-height:44px;margin:0;padding:9px 12px;border:1px solid #c7b0e629;border-radius:10px;background:#26212f;color:#d9c8ed;font-size:12px;font-weight:500;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;}
:is(.material-library,dialog.material-picker) :is(button,a,select,input):focus-visible {outline:2px solid #cbb3eb;outline-offset:3px;}
:is(.material-library,dialog.material-picker) button:is(:disabled,[aria-disabled=true]) {opacity:.5;cursor:not-allowed;}

/* Standalone picker also receives exactly the approved capsule, without changing shared CSS. */
.material-library nav.material-tabs.mode-pill {position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;box-sizing:border-box;width:min(320px,100%);max-width:100%;min-width:0;margin:0 auto 16px;padding:3px;border:1px solid #ffffff04;border-radius:999px;background:#252729;overflow:visible;}
.material-library nav.material-tabs.mode-pill::before {content:"";position:absolute;inset:-18px -10px;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M15 10 16.5 13.5 20 15 16.5 16.5 15 20 13.5 16.5 10 15 13.5 13.5Z' fill='%23a5afb5'/%3E%3C/svg%3E");background-position:center;opacity:.09;mask-image:radial-gradient(ellipse at center,#000 25%,transparent 76%);pointer-events:none;}
.material-library nav.material-tabs.mode-pill>.mode-pill-indicator {position:absolute;left:3px;top:3px;bottom:3px;z-index:1;width:calc((100% - 6px)/2);border:0;border-radius:999px;background:radial-gradient(ellipse 34% 86% at 25% 50%,#fee4d3 0%,#fee4d399 38%,transparent 100%),radial-gradient(ellipse 43% 86% at 68% 52%,#a7f0fd 0%,#a7f0fdb3 50%,transparent 100%),#fafcfc;box-shadow:0 1px 3px #00000014;transform:translateX(0);transition:transform 360ms cubic-bezier(.22,1,.36,1);pointer-events:none;}
.material-library nav.material-tabs.mode-pill[data-selected=private]>.mode-pill-indicator {transform:translateX(100%);}
.material-library nav.material-tabs.mode-pill>button {position:relative;z-index:2;min-width:0;min-height:44px;padding:7px 12px;border:0;border-radius:999px;background:transparent;color:#e6e8e9;box-shadow:none;font-size:13px;font-weight:500;line-height:1.5;}
.material-library nav.material-tabs.mode-pill>button:is([aria-selected=true],.is-active) {border:0;background:transparent;color:#172528;box-shadow:none;}
.material-library .material-toolbar {display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;min-width:0;margin:0 0 14px;}
.material-library .material-toolbar>label {display:grid;align-content:end;flex:1 1 140px;gap:5px;min-width:0;max-width:100%;color:var(--material-muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere;}
.material-library .material-toolbar :is(select,input:not([type=file])) {box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;margin:0;padding:8px 10px;border:1px solid var(--material-border);border-radius:10px;background:var(--material-surface);color:var(--material-text);font-size:13px;line-height:1.5;}
.material-library .material-toolbar>label>:is(select,input) {width:100%;}
.material-library .material-toolbar>button {flex:0 1 auto;}
/* Equal outer control heights align both label rows; hidden upload labels consume no flex space. */
.material-library .material-toolbar :is(select,input) {height:44px;}
.material-library .material-toolbar input[type=file] {height:44px;line-height:42px;}
.material-library .material-toolbar input[type=file]::file-selector-button {height:42px;min-height:42px;line-height:1.6;}

/* Columns follow this library's width, including a narrow dialog on a wide screen. */
.material-library .material-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;min-width:0;margin:0;padding:0;}
.material-library .material-card {display:flex;flex-direction:column;gap:7px;box-sizing:border-box;min-width:0;margin:0;padding:7px;border:1px solid var(--material-border);border-radius:12px;background:var(--material-surface);box-shadow:inset 0 1px #ffffff03;}
.material-library .material-card .material-preview {position:relative;display:grid;place-items:center;box-sizing:border-box;flex:0 0 auto;width:100%;min-width:0;min-height:44px;aspect-ratio:4/5;margin:0;padding:0;overflow:hidden;border:0;border-radius:8px;background:var(--material-raised);color:var(--material-accent);font-size:24px;line-height:1;}
.material-library .material-card .material-preview>:is(img,video) {position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:contain;object-position:center;}
.material-library .material-card .material-preview>video[controls],.material-library .material-card .material-preview>video[src] {object-fit:contain;background:#0e0d13;}
.material-library .material-card .material-preview>:is(span,i) {max-width:100%;pointer-events:none;}
.material-library .material-card .material-preview>:is(svg,.icon) {width:26px;height:26px;pointer-events:none;}
.material-library .material-card :is(h3,strong) {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-width:0;min-height:0;margin:0;overflow:hidden;color:var(--material-text);font-size:12px;font-weight:500;line-height:18px;overflow-wrap:anywhere;}
.material-library .material-card small {display:block;min-width:0;margin:0;color:var(--material-muted);font-size:10px;line-height:1.6;overflow-wrap:anywhere;}
.material-library .material-card .material-meta {display:flex;flex-direction:column;gap:2px;min-width:0;}
.material-library .material-actions {display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;}
.material-library .material-card .material-actions {margin-top:auto;}
.material-library .material-card .material-actions>button {flex:1 1 44px;min-width:44px;min-height:44px;padding:8px 6px;font-size:11px;}
.material-library .material-error {display:flex;flex-wrap:wrap;align-items:center;gap:8px;box-sizing:border-box;min-width:0;margin:12px 0;padding:11px 12px;border:1px solid #dc94a33b;border-radius:10px;background:#622b361f;color:#e2aab5;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.material-library .material-empty {display:grid;place-items:center;gap:7px;box-sizing:border-box;min-width:0;min-height:144px;margin:12px 0;padding:22px 14px;border:1px dashed var(--material-border);border-radius:12px;background:#1d192680;color:var(--material-muted);font-size:12px;line-height:1.7;text-align:center;overflow-wrap:anywhere;}
.material-library .material-empty>strong {color:var(--material-text);font-size:13px;font-weight:500;}
.material-library .material-more {width:100%;min-width:0;min-height:44px;margin-top:14px;background:#c7b0e60c;color:var(--material-accent);}

dialog.material-picker {position:fixed;inset:0;box-sizing:border-box;width:min(960px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:min(840px,calc(100vh - 24px));max-height:min(840px,calc(100dvh - 24px));margin:auto;padding:0;overflow:hidden;border:1px solid #c7b0e63b;border-radius:18px;background:#15131b;color:#e6deee;box-shadow:0 20px 72px #0008;color-scheme:dark;z-index:90;}
dialog.material-picker[open] {display:flex;flex-direction:column;}
dialog.material-picker::backdrop {background:#08070bbd;}
dialog.material-picker>header {display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border-bottom:1px solid #c7b0e61f;}
dialog.material-picker>header :is(h2,h3,strong) {min-width:0;margin:0;color:#e6deee;font-size:15px;font-weight:550;line-height:1.6;overflow-wrap:anywhere;}
dialog.material-picker>button {flex:0 0 auto;align-self:flex-end;margin:10px 12px 0;}
dialog.material-picker>.material-library {flex:1 1 auto;min-height:0;max-height:100%;padding:16px 12px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#a49aae59 transparent;}
dialog.material-picker>.material-preview {display:grid;place-items:center;flex:1 1 auto;min-width:0;min-height:0;padding:12px;overflow:hidden;background:#0e0d13;}
dialog.material-picker>.material-preview>:is(img,video) {display:block;max-width:100%;max-height:60vh;max-height:60dvh;width:100%;height:auto;margin:0;object-fit:contain;}
dialog.material-picker>.material-actions {display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;padding:12px 14px;border-top:1px solid #c7b0e61f;}
.material-library[hidden],.material-library [hidden],dialog.material-picker[hidden],dialog.material-picker:not([open]),dialog.material-picker [hidden] {display:none!important;}
@container material-library (min-width:560px) {.material-library .material-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}
@container material-library (min-width:800px) {.material-library .material-grid {grid-template-columns:repeat(4,minmax(0,1fr));}}
@container material-library (min-width:1080px) {.material-library .material-grid {grid-template-columns:repeat(5,minmax(0,1fr));}}
@supports not (container-type:inline-size) {
 @media(min-width:760px) {.material-library .material-grid {grid-template-columns:repeat(3,minmax(0,1fr));}}
 @media(min-width:1100px) {.material-library .material-grid {grid-template-columns:repeat(4,minmax(0,1fr));}}
}
@media(hover:hover) {.material-library .material-card:hover {border-color:#c7b0e652;}.material-library .material-actions>button:not(:disabled):not([aria-disabled=true]):hover {background:#342a43;}}
@media(max-width:700px) {.material-library .material-toolbar :is(select,input:not([type=file])) {font-size:16px;}}
@media(prefers-reduced-motion:reduce) {.material-library,.material-library *,dialog.material-picker,dialog.material-picker * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Existing protected admin form only; no admin-shell or business changes. */
.material-library.material-admin>header {display:grid;gap:5px;margin-bottom:12px;}
.material-library.material-admin>header h2 {font-size:18px;}
.material-library.material-admin>header p {min-width:0;margin:0;color:var(--material-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.material-library.material-admin form.account-form {display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;box-sizing:border-box;min-width:0;margin:14px 0;padding:14px;border:1px solid var(--material-border);border-radius:12px;background:#1d192680;}
.material-library.material-admin form.account-form>label {display:grid;align-content:start;gap:5px;min-width:0;max-width:100%;color:var(--material-muted);font-size:11px;line-height:1.6;}
.material-library.material-admin form.account-form :is(input,textarea,select) {box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;margin:0;padding:9px 10px;border:1px solid var(--material-border);border-radius:10px;background:var(--material-surface);color:var(--material-text);font:inherit;font-size:13px;line-height:1.6;}
.material-library.material-admin form.account-form textarea {min-height:88px;resize:vertical;}
.material-library.material-admin form.account-form>:is(button,small),.material-library.material-admin form.account-form>label:has(>input[type=file]) {grid-column:1/-1;min-width:0;overflow-wrap:anywhere;}
.material-library.material-admin form.account-form>small {color:var(--material-muted);font-size:11px;line-height:1.6;}
.material-library input[type=file] {display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;margin:0;padding:0;border:1px solid var(--material-border);border-radius:10px;background:var(--material-surface);color:var(--material-muted);font-size:11px;line-height:1.6;}
.material-library input[type=file]::file-selector-button {box-sizing:border-box;max-width:100%;min-height:44px;margin:0 8px 0 0;padding:8px 10px;border:0;border-radius:8px;background:#c7b0e614;color:#d9c8ed;font:inherit;font-size:11px;line-height:1.6;cursor:pointer;}
.material-library .material-error:empty {display:none;}
/* Protected admin thumbnail feedback changes only its own card, preserving the edit form. */
.material-library.material-admin .material-preview>.material-admin-preview-feedback {position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;padding:12px;background:var(--material-raised);color:var(--material-muted);font-size:12px;line-height:1.6;text-align:center;overflow-wrap:anywhere;}
.material-library.material-admin .material-admin-preview-feedback>span {max-width:100%;}
.material-library.material-admin .material-admin-preview-feedback>button {flex:0 0 auto;min-height:44px;}
@container material-library (min-width:640px) {.material-library.material-admin form.account-form {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px) {.material-library.material-admin form.account-form :is(input:not([type=file]),textarea,select) {font-size:16px;}}
