/* Medio v3.4.1 category icon chooser: scoped layout only; original theme unchanged. */
.medio-category-layout { position:relative; display:flex; flex-direction:row; align-items:flex-start; gap:12px; width:min(675px,calc(100vw - 32px)); max-height:92dvh; transition:width .16s ease; }
.medio-category-layout--picker { width:min(1135px,calc(100vw - 32px)); align-items:flex-start; }
.medio-category-layout--picker .medio-category-form { flex:0 0 calc(100% - 458px); max-width:calc(100% - 458px); }
.medio-category-form { flex:1 1 670px; width:100%; min-width:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; background:rgba(255,255,255,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.medio-icon-panel { flex:0 0 446px; min-width:0; max-width:446px; min-height:0; height:auto; position:absolute; top:0; right:0; bottom:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.93); border-radius:24px; background:rgba(255,255,255,.88); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 15px 38px rgba(30,38,69,.12); color:#243047; }
.medio-icon-panel-head { display:flex; justify-content:space-between; align-items:start; gap:10px; padding:15px 15px 9px; }
.medio-icon-panel-tabs { padding:0 15px 10px; display:flex; flex-wrap:wrap; gap:7px; }
.medio-icon-panel-filters { padding:0 15px 10px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); gap:8px; }
.medio-icon-field-label { display:flex; flex-direction:column; gap:3px; font-size:11px; font-weight:600; color:#40516d; min-width:0; }
.medio-icon-panel-filters input,.medio-icon-panel-filters select { width:100%; min-width:0; }
.medio-icon-library-summary { margin:0 15px 7px; color:#52627e; font-size:10px; font-weight:600; }
.medio-icon-install { margin:0 15px 9px; border:1px solid rgba(99,102,241,.15); padding:6px 9px; border-radius:11px; background:rgba(255,255,255,.68); }
.medio-icon-pack-list { display:flex; flex-direction:column; gap:6px; padding-top:8px; }
.medio-icon-pack { display:flex; justify-content:space-between; align-items:center; gap:5px; font-size:10px; }
.medio-icon-upload { margin:0 15px 10px; display:flex; flex-direction:column; position:relative; gap:2px; border:1px dashed #a5b4fc; border-radius:12px; padding:9px 12px; background:rgba(238,242,255,.72); font-size:12px; color:#3730a3; cursor:pointer; }
.medio-icon-upload input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.medio-icon-gallery-scroll { flex:1 1 auto; min-height:145px; overflow-y:auto; overscroll-behavior:contain; padding:4px 15px 10px; scrollbar-width:thin; }
.medio-icon-grid { display:grid !important; grid-template-columns:repeat(7,minmax(0,1fr)) !important; gap:6px; align-content:start; max-width:460px; width:100%; margin-inline:auto; }
.medio-icon-tile { display:flex !important; flex-direction:column; justify-content:center; align-items:center; gap:4px; min-width:0; min-height:59px; padding:5px 3px; border:1px solid rgba(209,213,229,.9); border-radius:11px; background:rgba(255,255,255,.78); color:#25304c; cursor:pointer; transition:background .12s ease,border-color .12s ease,transform .12s ease; }
.medio-icon-tile img { width:23px; height:23px; object-fit:contain; flex-shrink:0; }
.medio-icon-tile .medio-icon-name { display:block; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; font-size:9px; font-weight:500; line-height:1.2; color:#53617a; }
.medio-icon-tile:hover,.medio-icon-tile:focus-visible { background:rgba(238,242,255,.95); border-color:#818cf8; outline-offset:1px; }
.medio-icon-tile--selected { border:2px solid #6546ed; background:rgba(238,242,255,.97); box-shadow:0 0 0 2px rgba(99,102,241,.10); }
.medio-icon-pagination { padding:8px 15px; display:flex; justify-content:space-between; align-items:center; gap:7px; border-top:1px solid rgba(226,232,240,.85); }
.medio-icon-panel-footer { border-top:1px solid rgba(226,232,240,.85); background:rgba(255,255,255,.65); padding:10px 15px; display:flex; align-items:center; justify-content:space-between; gap:9px; }
.medio-icon-selection { min-width:0; display:flex; gap:6px; align-items:center; }
.medio-icon-selection span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:160px; }
.medio-icon-selection img { object-fit:contain; flex-shrink:0; }
@media(max-width:1020px) {
 .medio-category-layout--picker { width:min(680px,calc(100vw - 24px)); flex-direction:column; overflow-y:auto; max-height:94dvh; }
 .medio-category-layout--picker .medio-category-form { flex:0 0 auto; max-width:none; max-height:38dvh !important; }
 .medio-category-layout--picker .medio-icon-panel { flex:0 0 auto; position:relative; top:auto; right:auto; bottom:auto; max-width:520px; width:100%; align-self:center; height:47dvh; max-height:47dvh; min-height:280px; }
}
@media(max-width:520px) {
 .medio-category-layout { width:calc(100vw - 20px); }
 .medio-category-form { padding:16px; }
 .medio-icon-grid { grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:5px; }
 .medio-icon-panel-head,.medio-icon-panel-tabs { padding-left:10px; padding-right:10px; }
 .medio-icon-panel-filters,.medio-icon-panel-footer { padding-left:10px; padding-right:10px; }
 .medio-icon-gallery-scroll { padding-left:10px; padding-right:10px; }
}
@media(prefers-reduced-motion:reduce) { .medio-category-layout,.medio-icon-tile { transition:none; } }

@media (min-width:521px) and (max-width:1020px) { .medio-icon-grid { grid-template-columns:repeat(7,minmax(0,1fr)) !important; } }
