:root{font-family:system-ui,sans-serif;color:#0b1f3a;background:#f5f3ed;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,.btn{border:1px solid #ccd3db;border-radius:8px;background:white;color:#0b1f3a;padding:11px 16px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover{background:#edf3e6}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#a6e01a;border-color:#a6e01a;font-weight:750}.danger{color:#9b2c2c}input,select,textarea{width:100%;border:1px solid #bec7d1;border-radius:7px;padding:11px;background:white;color:#0b1f3a}textarea{min-height:180px;resize:vertical}input[type=checkbox]{width:20px;height:20px;accent-color:#547e0c}label{display:block;font-weight:650;margin:15px 0 7px}h1{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:0 0 12px}h2{font-size:24px}p{line-height:1.6}.muted,small{color:#526274}.login{max-width:450px;margin:9vh auto;padding:34px;background:white;border:1px solid #dfe3da;border-radius:18px}.brand{font-weight:800;letter-spacing:.07em;color:#547d0d;margin-bottom:32px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{background:#0b1f3a;color:white;padding:26px 18px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand{color:#a6e01a}.sidebar button{width:100%;text-align:left;justify-content:flex-start;margin:3px 0;background:transparent;color:#dde6f0;border-color:transparent;font-size:13px}.sidebar button.active{background:#a6e01a;color:#0b1f3a;font-weight:750}.sidebar input{margin-bottom:12px}.sidebar a{display:block;padding:14px 10px}.main{padding:30px clamp(18px,4vw,55px);min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #d4dbd1;padding-bottom:20px;margin-bottom:28px;flex-wrap:wrap}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.panel{background:white;border:1px solid #dce1d7;padding:26px;border-radius:14px;margin:20px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e4e7df;vertical-align:top}th{font-size:12px;color:#526274}td button{min-height:36px;padding:6px 12px}.badge{display:inline-block;background:#eef3e4;border-radius:30px;padding:5px 10px;font-size:12px}.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inline{display:flex;align-items:center;gap:10px;font-weight:500}.field-help{display:block;margin-top:6px}#notice{position:fixed;bottom:20px;right:20px;max-width:min(440px,90vw);padding:15px 22px;background:#0b1f3a;color:white;border-radius:10px;z-index:10;box-shadow:0 8px 25px #0002}#notice:empty{display:none}#notice.error{background:#962c2c}.permissions{min-width:800px}.permissions th{position:sticky;top:0;background:#f5f3ed}.permissions td:first-child{min-width:240px}.permissions label{margin:0}.empty{padding:40px;text-align:center;color:#526274}.loading{padding:40px}.image-preview{max-width:260px;max-height:170px;object-fit:contain;display:block;margin:15px 0}.content-text{white-space:pre-wrap;overflow-wrap:anywhere}dialog{max-width:760px;width:90%;border:0;border-radius:16px;padding:30px}dialog::backdrop{background:#0b1f3a99}dialog img{max-width:100%}.hidden{display:none!important}:focus-visible{outline:3px solid #739f13;outline-offset:3px}.permission-scroll{max-height:60vh;overflow:auto}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.summary strong{font-size:34px;display:block}.hint{border-left:4px solid #a6e01a;padding:14px 20px;background:#f1f6e8}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.section-list{max-height:240px;overflow:auto}.main{padding:22px 5vw}.row{grid-template-columns:1fr}.login{margin:5vh 5vw}.summary{grid-template-columns:1fr}.topbar{align-items:flex-start}}

.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.page-heading p{max-width:750px;margin-bottom:8px}.eyebrow{display:block;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:#547d0d;margin-bottom:10px}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 28px}.quick-link{padding:24px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;border-radius:14px;min-height:140px}.quick-link strong{font-size:18px}.quick-link span{line-height:1.6;color:#526274}.content-filters{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;margin:16px 0}.content-filters label{margin-top:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-card{background:#fff;border:1px solid #dce1d7;border-radius:16px;overflow:hidden}.photo-card>img,.photo-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e9ede4}.photo-placeholder{display:grid;place-items:center;color:#526274}.photo-card-body{padding:20px}.photo-card-body h2{font-size:19px;overflow-wrap:anywhere}.photo-card-body p{font-size:14px;color:#526274;white-space:pre-wrap;overflow-wrap:anywhere}.photo-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#526274}.status-published{background:#e3f4c8;color:#365608}.status-draft{background:#edf0f4;color:#526274}.status-review{background:#fff0cc;color:#795300}.status-archived{background:#f2e8e8;color:#7a4343}.photo-preview{margin:14px 0;background:#f5f3ed;border:1px dashed #bac5b2;border-radius:12px;padding:14px;max-width:620px}.photo-preview img{max-width:100%;max-height:300px;object-fit:contain;display:block;margin:auto}.photo-preview img[hidden],.photo-preview p[hidden]{display:none}.photo-preview p{text-align:center;color:#526274}.photo-preview+button{margin-bottom:8px}fieldset{border:0;padding:0;margin:0;min-width:0}@media(max-width:1200px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links{grid-template-columns:1fr}}@media(max-width:600px){.photo-grid,.content-filters{grid-template-columns:1fr}.photo-card-body{padding:16px}}

.photo-card-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
