:root{color:#1d2730;background:#f5f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{align-items:center;background:#0b6b5c;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.55rem;justify-content:center;min-height:44px;padding:.75rem 1rem}button:hover:not(:disabled){background:#084f45}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #dfe6de;display:flex;gap:1rem;justify-content:space-between;padding:.85rem clamp(1rem,4vw,3rem);position:sticky;top:0;z-index:4}.brand,.topbar nav,.brand-mark{align-items:center;display:flex}.brand{color:#113128;font-size:clamp(1rem,3vw,1.18rem);font-weight:900;gap:.65rem}.brand-mark{background:#d4f3df;border-radius:8px;color:#0b6b5c;height:42px;justify-content:center;width:42px}.topbar nav{gap:.35rem}.topbar nav a{border-radius:8px;color:#53625e;font-weight:800;padding:.65rem .85rem}.topbar nav a.active,.topbar nav a:hover{background:#eaf1ea;color:#113128}.public-view,.admin-view,.login-view{margin:0 auto;max-width:1180px;padding:clamp(1.2rem,4vw,3rem)}.intro,.admin-heading{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.eyebrow{color:#be5a2b;font-size:.76rem;font-weight:900;letter-spacing:0;margin:0 0 .35rem;text-transform:uppercase}h1,h2,p{margin-top:0}h1{color:#112923;font-size:clamp(2rem,6vw,4.4rem);line-height:.98;margin-bottom:0;max-width:820px}h2{color:#132e29;font-size:1.05rem;margin-bottom:0}.regulation-link{align-items:center;background:#eaf1ea;border-radius:8px;color:#113128;display:inline-flex;font-weight:850;gap:.5rem;margin-top:1rem;min-height:42px;padding:.65rem .85rem}.regulation-link:hover{background:#dbe8dc}.status-badge{border:1px solid #cdd8cd;border-radius:8px;color:#344540;display:inline-flex;font-weight:850;line-height:1.25;max-width:360px;padding:.65rem .8rem}.status-badge.open{background:#def8e9;border-color:#9dddbb;color:#0b5c32}.status-badge.closed{background:#ffe2dc;border-color:#f3b4a7;color:#8b2d1a}.status-badge.waiting,.status-badge.neutral{background:#fff4d8;border-color:#ead290;color:#72510d}.artwork-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.artwork-card,.panel,.login-panel{background:#fff;border:1px solid #dfe6de;border-radius:8px;box-shadow:0 18px 42px #232e2614}.artwork-card{overflow:hidden}.artwork-image-wrap{position:relative}.artwork-card img,.artwork-image-wrap img{aspect-ratio:4 / 3;background:#e6ece4;display:block;object-fit:cover;width:100%}.zoom-button{background:#fffffff0;border:1px solid #dfe6de;border-radius:8px;bottom:.75rem;color:#113128;min-height:42px;padding:0;position:absolute;right:.75rem;width:42px}.zoom-button:hover:not(:disabled){background:#fff}.artwork-info{display:grid;gap:.85rem;padding:1rem}.notice,.empty-state,.form-error,.form-success{border-radius:8px;font-weight:800;padding:.85rem 1rem}.notice,.empty-state{background:#fff;border:1px solid #dfe6de;color:#35443f}.image-modal{align-items:center;background:#112923d1;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:clamp(1rem,4vw,2rem);position:fixed;z-index:20}.image-modal-content{background:#fff;border-radius:8px;display:grid;gap:.75rem;max-height:92vh;max-width:980px;padding:.75rem;position:relative;width:min(100%,980px)}.image-modal-content img{border-radius:8px;max-height:76vh;object-fit:contain;width:100%}.image-modal-content strong{color:#132e29;font-size:1rem;padding:0 .25rem .15rem}.modal-close-button{position:absolute;right:1rem;top:1rem;z-index:2}.login-view{display:grid;min-height:calc(100vh - 78px);place-items:center}.login-panel{display:grid;gap:1rem;max-width:420px;padding:1.35rem;width:100%}.login-panel h1{font-size:1.8rem}.restricted-copy{color:#52615c;font-weight:750;line-height:1.45;margin-bottom:0}.admin-layout{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.panel{padding:1.1rem}.stack-form{display:grid;gap:1rem}.section-title{align-items:center;display:flex;gap:.6rem}label{color:#52615c;display:grid;font-size:.9rem;font-weight:800;gap:.35rem}input{background:#fbfcfb;border:1px solid #cbd8d0;border-radius:8px;color:#14251f;min-height:44px;padding:.7rem .8rem;width:100%}input:focus{border-color:#0b6b5c;outline:3px solid rgba(11,107,92,.14)}.file-input input{padding:.56rem .8rem}.drive-link{align-items:center;background:#eaf1ea;border-radius:8px;color:#113128;display:inline-flex;font-weight:850;justify-content:center;min-height:42px;padding:.65rem .85rem}.drive-link:hover{background:#dbe8dc}.ghost-button{background:#eaf1ea;color:#113128}.ghost-button:hover:not(:disabled){background:#dbe8dc}.form-error{background:#ffe2dc;color:#8b2d1a}.form-success{background:#def8e9;color:#0b5c32}.results{display:grid;gap:1rem}.admin-table{display:grid;gap:.7rem}.admin-row{align-items:center;border:1px solid #e3e9e2;border-radius:8px;display:grid;gap:.85rem;grid-template-columns:70px minmax(140px,1fr) auto auto;min-height:86px;padding:.5rem}.admin-row.is-hidden{background:#f6f7f4;opacity:.78}.admin-row img{aspect-ratio:1;border-radius:8px;object-fit:cover;width:70px}.admin-row span{color:#0b6b5c;font-weight:900}.artwork-admin-info{display:grid;gap:.2rem;min-width:0}.artwork-admin-info strong{overflow-wrap:anywhere}.artwork-admin-info small{color:#6a756f;font-weight:800}.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.edit-fields{display:grid;gap:.65rem}.admin-row-editing{align-items:start}.icon-button{min-height:44px;padding:0;width:44px}.secondary-button{background:#eaf1ea;color:#113128}.secondary-button:hover:not(:disabled){background:#dbe8dc}.danger-button{background:#ffe2dc;color:#8b2d1a}.danger-button:hover:not(:disabled){background:#f3c5bb}@media(max-width:760px){.topbar,.intro,.admin-heading{align-items:stretch;flex-direction:column}.topbar nav a{flex:1;text-align:center}.admin-layout{grid-template-columns:1fr}.admin-row{grid-template-columns:58px 1fr}.admin-row img{width:58px}.admin-row span{grid-column:2 / 3}.row-actions,.edit-fields{grid-column:1 / 3}.row-actions{justify-content:stretch}.row-actions .icon-button{flex:1}}
