*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Roboto,Arial,Helvetica,sans-serif;background:#fff;color:#222}.layout{display:flex;min-height:100vh}.sidebar{width:270px;flex:0 0 270px;background:#fcfcf0;border-right:1px solid #ddd;padding:18px 14px}.sidebar img{max-width:170px;display:block;margin:0 auto 12px}.site-title{font-size:19px;font-weight:bold;padding:10px 8px}.site-subtitle{background:#f44336;color:#fff;display:inline-block;padding:6px 8px;margin:0 0 16px 8px;font-size:14px}.side-nav a{display:block;padding:10px 8px;color:#111;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.08)}.caret{color:#f44336;margin-right:8px}.side-info{margin-top:22px;padding:12px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:14px}.main{flex:1;padding:24px;max-width:1250px}h1{font-size:30px;margin:0 0 8px;color:#09264a}h2{font-size:20px;margin:12px 0 8px;color:#09264a}.intro,.note{color:#666;margin-bottom:20px}.box{padding:16px;border:1px solid #ddd;border-radius:8px;background:#f8f8f8;margin:18px 0}label{display:block;font-weight:bold;margin:12px 0 5px}.checkline{font-weight:normal;display:flex;gap:8px;align-items:center;margin-top:14px}input,select,button{font-size:15px}input[type=text],input[type=file],input[type=search],select{width:100%;max-width:620px;padding:8px;border:1px solid #bbb;border-radius:4px;background:#fff}button{padding:9px 13px;margin:0 8px 0 0;border:0;border-radius:6px;background:#333;color:#fff;cursor:pointer}button.primary{background:#123d66;margin-top:10px}button:disabled{opacity:.45;cursor:not-allowed}.status{margin-top:12px;padding:9px 12px;background:#fff;border:1px solid #ddd;border-radius:6px;max-width:900px}.status.ok{border-color:#8ebd8e;background:#f0fff0}.status.err{border-color:#d68a8a;background:#fff3f3}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:12px;align-items:center}.browser-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}#resultInfo{color:#666;font-size:13px}.image-table{display:block;background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;min-height:220px}.image-row{display:grid;grid-template-columns:34px 1fr 106px;gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid #e5e5e5;cursor:pointer;background:#fff;min-height:90px}.image-row:hover{background:#edf3f9}.image-row.selected{background:#dfeaf4}.image-row input{width:18px;height:18px;max-width:none}.image-row img.thumb{width:96px!important;height:72px!important;max-width:96px!important;max-height:72px!important;object-fit:cover!important;border:1px solid #ccc;background:#eee;display:block!important}.image-title{font-weight:bold;color:#123d66;font-size:14px}.image-small{color:#666;font-size:12px;margin-top:3px}.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.selection-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.sel-block{background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px;min-height:80px}.sel-block h4{margin:0 0 6px;color:#09264a}.sel-item{display:flex;align-items:center;gap:8px;margin:5px 0;padding:4px;background:#fcfcf0;border:1px solid #eee;border-radius:5px;font-size:12px}.sel-item img{width:70px!important;height:52px!important;object-fit:cover!important}.sel-item button{margin:0 0 0 auto;padding:3px 6px;font-size:11px;background:#777}code{background:#fff;border:1px solid #ddd;border-radius:4px;padding:1px 4px}@media(max-width:900px){.layout{display:block}.sidebar{width:auto;border-right:0;border-bottom:1px solid #ddd}.main{padding:16px}.filters{grid-template-columns:1fr}.image-row{grid-template-columns:34px 1fr 64px}}
.capacity-warning{
  color:#b00020!important;
  font-weight:bold;
}

.layout-warning{
  display:none;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid #b00020;
  border-radius:6px;
  background:#fff0f2;
  color:#b00020;
  font-weight:bold;
}
.layout-warning.show{display:block}

.personal-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}.family-photo-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.family-photo-card{display:grid;grid-template-columns:110px 1fr;gap:10px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px}.family-photo-card img{width:110px;height:90px;object-fit:cover;border:1px solid #ccc}.family-photo-fields label{margin:0 0 4px;font-size:12px}.family-photo-fields input{width:100%;max-width:none;margin-bottom:8px}.remove-family-photo{grid-column:1/-1;justify-self:start;background:#777}

.image-counters{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:10px 0 14px;
}
.image-counters span{
  background:#fff;
  border:1px solid #d6d6d6;
  border-radius:7px;
  padding:8px 10px;
}
.library-details{
  padding:0;
  overflow:hidden;
}
.library-details summary{
  cursor:pointer;
  font-size:20px;
  font-weight:bold;
  color:#09264a;
  padding:16px;
  list-style:none;
}
.library-details summary::-webkit-details-marker{display:none}
.library-details summary::before{
  content:"▶";
  display:inline-block;
  margin-right:9px;
  color:#f44336;
  transition:transform .15s ease;
}
.library-details[open] summary::before{transform:rotate(90deg)}
.library-details[open] summary{
  border-bottom:1px solid #ddd;
}
.library-inner{
  padding:16px;
}

.library-inner{padding-top:8px}
#imageSearch{max-width:none}

.family-dimensions{
  font-size:12px;
  color:#666;
  margin-top:2px;
}
