/* A viewport-sized catalogue: pagination keeps every card and control reachable. */
html,body{height:100%;overflow:hidden}
.shell{height:100dvh;min-height:0;grid-template-columns:190px minmax(0,1fr)}
.sidebar{height:100%;min-height:0;position:static;overflow:hidden;padding:20px 13px}
.brand{margin-bottom:18px;font-size:21px;flex-shrink:0}
.workspace-label{margin:13px 9px 8px;flex-shrink:0}
.nav{height:32px;margin:2px 0;padding:7px 9px;flex-shrink:0;font-size:12px;gap:8px}
.nav span{white-space:nowrap}.nav b{flex-shrink:0}
#areas{flex:1;min-height:0;overflow:hidden}
.area-pager{display:flex;align-items:center;justify-content:space-between;height:28px;flex-shrink:0;color:#8b9f92;font-size:10px;margin-top:5px}
.area-pager button{padding:2px 11px;font-size:17px}
.side-bottom{margin:0;padding:15px 7px 0;flex-shrink:0;font-size:11px}.side-bottom small{font-size:9px}
main{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
header{height:54px;flex-shrink:0;padding:0 24px}
.content{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:18px 24px 12px;gap:10px;overflow:hidden}
.heading{flex-shrink:0;margin:0;min-height:46px}.heading h1{font-size:23px;margin:0 0 6px}.heading p{font-size:11px}.eyebrow{display:none}
.metrics{flex-shrink:0;margin:0;border-radius:8px;height:64px}
.metrics>div{padding:9px 16px;display:flex;flex-direction:column;justify-content:center}.metrics strong{font-size:23px;line-height:1.3}.metrics small{font-size:10px}.metrics span{display:none}
.banner{flex-shrink:0;margin:0;padding:7px 11px;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar{flex-shrink:0;flex-wrap:nowrap;min-height:35px}.search{min-width:0}.search input{padding:8px 10px;font-size:12px}.toolbar select{padding:7px;font-size:11px;max-width:145px}.search{flex-basis:auto}
.filter-row{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-shrink:0;flex-wrap:wrap}
.segments{display:flex;gap:4px;align-items:center}.segments button{font-size:11px;padding:6px 10px;white-space:nowrap;background:#1a2420;border-color:#364b3d;color:#8da796}.segments button.active{background:#324c3b;border-color:#729780;color:#d1e7d9}.segments button[data-selection="rejected"].active,.segments button[data-value="rejected"].active{background:#49342e;color:#e0b1a1;border-color:#946855}
.star-control{display:flex;align-items:center;gap:2px}.star-control>span{font-size:10px;color:#869c8d;margin-right:7px}.star-control button{border:0;background:transparent;padding:0 2px;line-height:26px;min-width:24px;font-size:22px;color:#607769}.star-control button.lit{color:#dfc987}.star-control button:hover{color:#f4dd92;background:#3b49302e}.star-control .clear-rating{font-size:10px;color:#869c8d;min-width:32px;margin-left:5px;padding:0 4px}.star-control button:disabled,.card-selection button:disabled{opacity:1;cursor:default}
.folder-row{flex-shrink:0;margin:0;gap:10px;min-height:30px}.folder-row select{padding:6px 8px;max-width:75%;min-width:0}.folder-row>span{white-space:nowrap;font-size:10px}
.grid{flex:1;min-height:0;overflow:hidden;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));grid-template-rows:repeat(var(--rows,1),minmax(0,1fr));gap:12px;align-content:stretch}
.card{height:100%;min-height:0;display:flex;flex-direction:column;cursor:default;transition:border-color .15s}.card:hover{transform:none}
.card .thumb{flex:1;min-height:0;height:auto;width:100%;border:0;border-radius:0;padding:0;cursor:pointer}
.card .thumb:focus-visible{outline:2px solid #b6d8c2;outline-offset:-3px}
.card-body{flex-shrink:0;padding:9px 11px;display:flex;flex-direction:column;gap:4px}
.card-title{display:block;text-align:left;background:transparent;border:0;padding:0;font-size:11px;border-radius:2px;line-height:1.6;max-width:100%;flex-shrink:0}.card-title:hover{background:transparent;color:#d2efdd}
.card-folder{margin:0;font-size:10px;line-height:1.5}.card-meta{font-size:9px;line-height:1.4}.card-rating button{font-size:21px;line-height:24px}.card-selection{gap:4px}.card-selection button{flex:1;font-size:10px;padding:4px 6px}
.card-note{font-size:10px;color:#a8c2b0;text-align:left;border:0;border-top:1px solid #344138;background:transparent;border-radius:0;margin-top:3px;padding:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}.card-note:hover{background:transparent;color:#d0e6d7}
.hover-video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;z-index:3;background:#0a110e;pointer-events:none}
.preview-status{position:absolute;bottom:8px;left:8px;right:8px;z-index:4;color:#d8ecdf;font-size:10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#11251bbb;border-radius:4px;padding:4px 6px;pointer-events:none}
.pagination{flex-shrink:0;margin:0;height:32px;gap:15px}.pagination button{padding:6px 11px}.pagination span{font-size:11px;white-space:nowrap}
footer{flex-shrink:0;margin:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:12px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:11px;color:#acbcb1}#detailStars button{font-size:29px;min-width:33px;line-height:36px}#detailStars .clear-rating{font-size:11px}
#notesDialog{max-width:560px}#notesDialog textarea{resize:vertical;max-height:45vh;min-height:90px}
.empty{padding:15px;display:grid;place-items:center;grid-row:1/-1}.login{height:100dvh;min-height:0;overflow:auto}
@media(max-width:950px){.shell{grid-template-columns:156px minmax(0,1fr)}header{padding:0 16px}.content{padding:14px 16px 10px;gap:8px}.sidebar{padding:18px 9px}.brand{gap:8px}.brand small{font-size:9px;letter-spacing:0}.brandmark{width:36px;height:36px}.metrics>div{padding:8px 10px}.metrics strong{font-size:21px}}
@media(max-width:640px){.shell{grid-template-columns:1fr}.sidebar{display:none}header{height:44px;padding:0 12px}.content{padding:10px 12px 8px;gap:7px}.heading{min-height:34px}.heading h1{font-size:20px;margin:0}.heading p{display:none}.heading button{font-size:10px}.metrics{grid-template-columns:repeat(4,1fr);height:54px}.metrics>div{padding:6px 7px;border-bottom:0}.metrics>div:nth-child(2){border-right:1px solid #303a38}.metrics strong{font-size:19px}.metrics small{font-size:9px}.filter-row{justify-content:flex-start;gap:5px 12px}.segments button{padding:5px 9px}.toolbar select{max-width:110px}.toolbar .search{flex-basis:0}.pagination{gap:8px}.pagination button{font-size:10px}.pagination span{font-size:10px}footer{display:none}.state{top:8px;bottom:auto}.thumb-caption{display:block}}
@media(max-height:680px){header{height:42px}.content{padding-top:10px;gap:6px}.heading{min-height:30px}.heading p{display:none}.heading h1{font-size:20px;margin:0}.metrics{height:48px}.metrics strong{font-size:18px}.metrics>div{padding:4px 10px}.banner{padding:5px 8px;font-size:9px}footer{display:none}.sidebar{padding-top:14px}.brand{margin-bottom:10px}.side-bottom small{display:none}}
@media(max-height:520px){.metrics,.heading,.banner{display:none}.card-body{gap:2px;padding:5px 9px}.card-folder,.card-meta{display:none}.card-rating button{line-height:21px}.card-selection button{padding:3px 5px}.card-note{padding-top:2px;margin-top:1px}.content{gap:5px}}
