*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f2f2f2;color:#222}.page{width:min(1180px,100%);margin:0 auto;padding:16px}.narrow{width:min(720px,100%)}h1,h2{margin-top:0}.card{background:#fff;border-radius:14px;padding:16px;margin:16px 0;box-shadow:0 2px 10px #0000000f}.topbar,.row{display:flex;justify-content:space-between;align-items:center;gap:16px}.muted,.footer,.status,small{color:#666}.status{background:#fff8dc;border-radius:8px;padding:8px 10px}label{display:block;font-weight:650}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px;font-size:16px;border:1px solid #ccc;border-radius:8px;background:#fff}textarea{min-height:90px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#222;color:#fff;padding:10px 14px;border-radius:8px;font-size:16px;cursor:pointer}button:hover{opacity:.9}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.tabs button{background:#e5e5e5;color:#222}.tabs button.active{background:#222;color:#fff}.form-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}.form-grid.small{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.wide{grid-column:1 / -1}.checkbox-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding:6px 0}.check{display:flex;align-items:center;gap:8px;font-weight:500}.check input{width:auto;margin:0}.preview{max-width:100%;max-height:320px;border-radius:8px;grid-column:1 / -1}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:12px}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.artwork-card{border:1px solid #ddd;border-radius:12px;padding:10px}.artwork-card:hover{background:#fafafa}.card-image-button{display:block;width:100%;padding:0;background:transparent;color:inherit;border-radius:8px}.card-image-button:hover{opacity:1}.artwork-card img,.no-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:#eee;display:flex;align-items:center;justify-content:center;color:#777;margin-bottom:8px}.artwork-card p{margin:6px 0}.card-actions{display:flex;gap:8px;margin-top:10px}.card-actions button{flex:1;padding:8px 10px;font-size:14px}.edit-card{border:2px solid #ddd}.photo-strip{display:flex;gap:10px;overflow-x:auto}.photo-strip img{height:160px;border-radius:8px}.footer{text-align:center;padding:18px;font-size:14px}.public-image{width:100%;max-height:520px;object-fit:contain;border-radius:10px;background:#eee}dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}dt{font-weight:700}dd{margin:0}@media(min-width:900px){.artwork-form{grid-template-columns:repeat(5,minmax(0,1fr))}.artwork-form .location-field{grid-column:span 3}}@media(max-width:650px){.topbar,.row{align-items:flex-start;flex-direction:column}.page{padding:10px}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{padding:9px}.checkbox-row{display:grid;grid-template-columns:1fr 1fr}}.hidden-file-input{display:none}.photo-picker{border:1px dashed #bbb;border-radius:10px;padding:12px;background:#fafafa}.photo-picker p{margin:6px 0 10px}.photo-buttons{display:flex;flex-wrap:wrap;gap:10px}.photo-buttons button{background:#444}.selected-photos,.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.selected-photos figure,.photo-gallery figure{margin:0;border:1px solid #ddd;border-radius:10px;padding:8px;background:#fff}.selected-photos img,.photo-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:#eee}.selected-photos figcaption,.photo-gallery figcaption{font-size:13px;color:#666;margin:6px 0;overflow-wrap:anywhere}.photo-actions{display:flex;gap:6px;flex-wrap:wrap}.photo-actions button,.selected-photos button{font-size:13px;padding:7px 9px}.detail-card{margin-top:18px}.user-list{display:grid;gap:10px;margin-top:16px}.user-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px auto;gap:10px;align-items:center;border:1px solid #ddd;border-radius:10px;padding:10px}@media(max-width:650px){.photo-buttons{display:grid;grid-template-columns:1fr}.user-row{grid-template-columns:1fr}}.lookup-editor{margin-top:18px}.lookup-table{display:grid;gap:8px}.lookup-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 90px auto;gap:8px;align-items:center;border:1px solid #ddd;border-radius:10px;padding:8px}.public-gallery{margin-bottom:16px}.public-gallery-stage{position:relative;overflow:hidden;border-radius:10px;background:#eee;touch-action:pan-y}.public-gallery-stage .public-image{display:block;border-radius:10px}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:56px;padding:0;border-radius:10px;background:#0000008c;color:#fff;font-size:34px;line-height:1}.gallery-nav.previous{left:8px}.gallery-nav.next{right:8px}.gallery-count{text-align:center;margin:8px 0}.public-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:6px 0}.public-gallery-thumbs button{padding:2px;border-radius:8px;background:#ddd;min-width:66px}.public-gallery-thumbs button.active{background:#222}.public-gallery-thumbs img{width:60px;height:46px;object-fit:cover;border-radius:6px;display:block}@media(max-width:650px){.lookup-row{grid-template-columns:1fr}.gallery-nav{width:38px;height:50px;font-size:30px}}.public-page dl{grid-template-columns:minmax(90px,140px) minmax(0,1fr)}.public-page dd,.public-page h1{min-width:0;overflow-wrap:anywhere;word-break:break-word}.form-status{margin:.5rem 0 0;padding:.75rem .9rem;border-radius:.7rem;border:1px solid rgba(0,0,0,.15);overflow-wrap:anywhere}.form-status.info{background:#f5f5f5}.form-status.success{background:#eef8ef}.form-status.error{background:#fff0f0;border-color:#a0000059}button:disabled{opacity:.65;cursor:not-allowed}
