:root{--ink:#17231d;--muted:#64736b;--paper:#f5f3ed;--card:#fff;--green:#1d6048;--line:#dfe4de;--gold:#c59a52;--danger:#a13b32}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{min-height:72px;padding:14px max(4vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{font:700 21px Georgia,serif;color:var(--ink);text-decoration:none}.brand span{color:var(--green)}nav{display:flex;gap:8px;flex-wrap:wrap}nav a,.button,button{display:inline-block;border:0;border-radius:8px;padding:10px 14px;background:var(--green);color:#fff;text-decoration:none;font-weight:650;cursor:pointer}nav a{background:transparent;color:var(--ink)}main{max-width:1180px;margin:0 auto;padding:32px 24px 56px}h1,h2{font-family:Georgia,serif;margin-top:0}h1{font-size:clamp(28px,4vw,42px)}.hero,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 30px #203b2d0a}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.total{font:700 32px Georgia,serif;color:var(--green)}.muted{color:var(--muted)}.filters,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.filters{margin-bottom:20px}.form-grid .wide{grid-column:span 2}.form-grid .full{grid-column:1/-1}label{font-weight:650;display:block}input,select,textarea{margin-top:6px;width:100%;padding:11px;border:1px solid #cbd4cd;border-radius:8px;background:#fff;font:inherit}textarea{min-height:110px;resize:vertical}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.secondary{background:#e6ece8!important;color:var(--ink)!important}.danger{background:var(--danger)!important}.notice{padding:13px 16px;border-radius:8px;margin-bottom:18px;background:#dceee5}.notice.error{background:#f6deda}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td.name{white-space:normal;font-weight:700;min-width:200px}.thumb{width:64px;height:50px;border-radius:7px;object-fit:contain;background:#e5e8e5}.badge{padding:4px 8px;border-radius:99px;background:#e3eee8;color:var(--green);font-size:12px}.badge.off{background:#eee;color:#777}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:16px}.photo{position:relative}.photo img{width:100%;height:180px;object-fit:contain;border-radius:10px;background:#eef1ee}.zoomable{cursor:zoom-in}.zoomable:focus{outline:3px solid var(--gold);outline-offset:2px}.photo-viewer{width:min(94vw,1200px);height:min(92vh,900px);padding:42px 18px 18px;border:0;border-radius:14px;background:#111;box-shadow:0 24px 80px #0008}.photo-viewer::backdrop{background:#000c}.photo-viewer img{display:block;width:100%;height:100%;object-fit:contain}.photo-viewer-close{position:absolute;right:10px;top:8px;width:36px;height:36px;padding:0;border-radius:50%;background:#fff;color:#111;font-size:25px;line-height:1}.photo form{display:flex;gap:5px;margin-top:5px}.photo button{font-size:12px;padding:6px 8px}.login{max-width:440px;margin:8vh auto}footer{text-align:center;padding:24px;color:var(--muted)}@media(max-width:800px){header{align-items:flex-start;flex-direction:column}.filters,.form-grid{grid-template-columns:1fr 1fr}.hero{align-items:flex-start;flex-direction:column}}@media(max-width:520px){main{padding:22px 14px}.filters,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}nav a{padding:8px}.hero{padding:18px}}
.missing-filters{border:1px solid #d8dfdb;border-radius:8px;padding:9px 12px;display:flex;gap:14px;align-items:center}.missing-filters legend{font-size:12px;color:#65736e;padding:0 4px}.missing-filters label{display:flex;gap:6px;align-items:center;white-space:nowrap}.missing-filters input{width:auto}.tabs{display:flex;gap:8px;margin:20px 0}.inline-form{display:flex;gap:10px;max-width:600px;margin-bottom:20px}.inline-form input{flex:1}.reference-list{display:grid;gap:8px}.reference-list form{display:flex;gap:8px;align-items:center;padding:10px;background:#f6f8f6;border-radius:8px}.reference-list input[name=value]{flex:1}.inactive-value{text-decoration:line-through;color:#7c8783}@media(max-width:760px){.missing-filters{width:100%;flex-wrap:wrap}.reference-list form,.inline-form{flex-wrap:wrap}.reference-list input[name=value],.inline-form input{flex-basis:100%}}


