.monster-search-modal{
background:var(--color-card);
border-radius:8px;
width:95vw;
max-width:1200px;
height:85vh;
display:flex;
flex-direction:column;
overflow:hidden;
}

.monster-search-modal__header{
display:flex;
align-items:center;
justify-content:space-between;
padding:12px 16px;
border-bottom:1px solid var(--color-border);
}

.monster-search-modal__header h3{
margin:0;
font-size:1.1rem;
color:var(--color-text);
}

.monster-search-modal__content{
flex:1;
display:flex;
overflow:hidden;
min-height:0;
}

.monster-search__list-panel{
flex:1;
overflow-y:auto;
min-width:0;
}

.monster-search__preview-panel{
width:320px;
flex-shrink:0;
overflow-y:auto;
border-left:1px solid var(--color-border);
background:var(--color-background);
}

.monster-search__preview-panel[hidden]{
display:none;
}

.monster-search__bar{
display:flex;
gap:8px;
padding:10px 16px;
border-bottom:1px solid var(--color-border);
position:sticky;
top:0;
background:var(--color-card);
z-index:2;
}

.monster-search__input{
flex:1;
padding:6px 10px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
font-size:0.85rem;
}

.monster-search__input::placeholder{
color:var(--color-muted);
}

.monster-search__filter-btn{
padding:6px 12px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
cursor:pointer;
font-size:0.8rem;
white-space:nowrap;
}

.monster-search__filter-btn:hover{
border-color:var(--color-primary);
}

.monster-search__filter-btn .filter-count{
background:var(--color-primary);
color:#fff;
font-size:0.65rem;
padding:1px 5px;
border-radius:8px;
margin-left:4px;
}

.monster-search__filters{
padding:10px 16px;
border-bottom:1px solid var(--color-border);
background:var(--color-background);
display:grid;
grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
gap:8px;
}

.monster-search__filter-group label{
display:block;
font-size:0.7rem;
font-weight:600;
color:var(--color-muted);
margin-bottom:3px;
text-transform:uppercase;
letter-spacing:0.03em;
}

.monster-search__filter-group select,
.monster-search__filter-group input{
width:100%;
padding:4px 6px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
font-size:0.8rem;
}

.monster-search__filter-range{
display:flex;
gap:4px;
}

.monster-search__filter-range input{
width:50%;
}

.monster-search__filter-actions{
grid-column:1 / -1;
display:flex;
gap:8px;
justify-content:flex-end;
padding-top:4px;
}

.monster-search__filter-actions button{
padding:4px 12px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
cursor:pointer;
font-size:0.75rem;
}

.monster-search__filter-actions button:hover{
border-color:var(--color-primary);
}

.monster-search__toggle{
display:inline-flex;
align-items:center;
gap:4px;
cursor:pointer;
font-size:0.8rem;
color:var(--color-text);
padding:3px 0;
}

.monster-search__toggle-indicator{
display:inline-block;
width:14px;
height:14px;
border:1px solid var(--color-border);
border-radius:3px;
text-align:center;
line-height:14px;
font-size:10px;
font-weight:700;
}

.monster-search__toggle[data-state="include"] .monster-search__toggle-indicator{
background:var(--color-primary);
color:#fff;
border-color:var(--color-primary);
}

.monster-search__toggle[data-state="exclude"] .monster-search__toggle-indicator{
background:#c44;
color:#fff;
border-color:#c44;
}

.monster-search__sort-header{
display:flex;
padding:4px 16px;
border-bottom:1px solid var(--color-border);
font-size:0.7rem;
font-weight:600;
color:var(--color-muted);
text-transform:uppercase;
letter-spacing:0.03em;
position:sticky;
top:0;
background:var(--color-card);
z-index:1;
}

.monster-search__sort-col{
cursor:pointer;
user-select:none;
padding:4px 0;
}

.monster-search__sort-col:hover{
color:var(--color-text);
}

.monster-search__sort-col--name{flex:1;}

.monster-search__sort-col--cr{width:60px;text-align:center;}

.monster-search__sort-col--type{width:120px;}

.monster-search__sort-col--size{width:80px;}

.monster-search__sort-col--source{width:120px;}

.monster-search__row{
display:flex;
align-items:center;
padding:6px 16px;
border-bottom:1px solid var(--color-border);
cursor:pointer;
transition:background 0.1s;
gap:8px;
}

.monster-search__row:hover{
background:var(--color-input-bg);
}

.monster-search__row.is-selected{
background:var(--color-input-bg);
border-left:3px solid var(--color-primary);
padding-left:13px;
}

.monster-search__row-avatar{
width:32px;
height:32px;
border-radius:4px;
overflow:hidden;
flex-shrink:0;
display:flex;
align-items:center;
justify-content:center;
font-size:0.75rem;
font-weight:700;
color:#fff;
}

.monster-search__row-avatar img{
width:100%;
height:100%;
object-fit:cover;
}

.monster-search__row-name{
flex:1;
font-size:0.85rem;
color:var(--color-text);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.monster-search__row-badge{
font-size:0.6rem;
padding:1px 5px;
border-radius:8px;
background:var(--color-primary);
color:#fff;
margin-left:6px;
white-space:nowrap;
}

.monster-search__row-cr{
width:60px;
text-align:center;
font-size:0.8rem;
font-weight:600;
color:var(--color-text);
}

.monster-search__row-type{
width:120px;
font-size:0.78rem;
color:var(--color-muted);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.monster-search__row-size{
width:80px;
font-size:0.78rem;
color:var(--color-muted);
}

.monster-search__row-source{
width:120px;
font-size:0.7rem;
color:var(--color-muted);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.monster-search__pagination{
display:flex;
align-items:center;
justify-content:space-between;
padding:8px 16px;
border-top:1px solid var(--color-border);
font-size:0.75rem;
color:var(--color-muted);
}

.monster-search__pagination-controls{
display:flex;
align-items:center;
gap:4px;
}

.monster-search__pagination-controls button{
padding:3px 8px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
cursor:pointer;
font-size:0.75rem;
}

.monster-search__pagination-controls button:disabled{
opacity:0.3;
cursor:not-allowed;
}

.monster-search__pagination-controls button:hover:not(:disabled){
border-color:var(--color-primary);
}

.monster-search__page-size select{
padding:3px 6px;
border:1px solid var(--color-border);
border-radius:var(--radius,4px);
background:var(--color-input-bg);
color:var(--color-text);
font-size:0.75rem;
}

.monster-search__empty{
text-align:center;
padding:40px 16px;
color:var(--color-muted);
font-size:0.9rem;
}

.monster-search__loading{
text-align:center;
padding:40px 16px;
color:var(--color-muted);
font-size:0.9rem;
}

.monster-search__type-icon{
width:60%;
height:60%;
object-fit:contain;
opacity:0.9;
}

