:root{font-family:system-ui,Arial,sans-serif;color:#183148;background:#eef3f8}*{box-sizing:border-box}body{margin:0}header{background:#173d63;color:white;padding:18px max(18px,calc((100vw - 1100px)/2))}h1{margin:0}header small{opacity:.8}main{max-width:1100px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 12px;align-items:start}.card{background:white;border-radius:12px;padding:18px;box-shadow:0 2px 12px #173d6314}h2{margin-top:0;font-size:1.25rem}label{display:block;margin:10px 0;font-weight:600;font-size:.9rem}input,select,button{font:inherit;border-radius:7px;padding:10px;max-width:100%}input,select{width:100%;border:1px solid #a9bac8;background:white}button{border:0;background:#1466a3;color:white;cursor:pointer;font-weight:600}button.secondary{background:#687e90}.controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:8px 0}.controls>*{flex:1;min-width:0}.controls button{flex:0 0 auto}#bookform>button{width:100%;margin-top:10px}#video{width:100%;max-height:260px;background:#111}.book{display:flex;gap:12px;padding:12px 0;border-top:1px solid #e3e9ef}.book>img{width:70px;height:95px;object-fit:cover;border-radius:4px}.bookinfo{flex:1;min-width:0}.bookinfo strong{display:block}.bookinfo small{display:block;color:#5b6d7b;overflow-wrap:anywhere}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.actions button{padding:6px;font-size:.8rem}p{line-height:1.5;color:#506779}#message,#syncStatus{overflow-wrap:anywhere}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-grid label{background:#f3f7fb;border:1px solid #dae4ef;padding:9px;border-radius:8px}.photo-grid input{font-size:.78rem}.photo-grid img{display:block;width:100%;height:110px;object-fit:contain;margin-top:8px}.photo-grid img[hidden]{display:none}.hint{font-size:.82rem}.notice{font-size:.86rem;padding:7px 9px;background:#f0f5fa;border-radius:7px}.thumbnails{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0}.thumbnails img{width:42px;height:48px;object-fit:cover;border-radius:3px;cursor:pointer}@media(max-width:750px){main{grid-template-columns:1fr}.controls button{flex:1 1 auto}header{padding:18px}}

#typeFilter{min-width:145px} #items .book strong{overflow-wrap:anywhere}

/* V1.4.2: hidden attribute must override label/display layout rules */
[hidden] { display: none !important; }
