:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#27332d;background:#f7f6f1;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}header{background:#254b3c;color:#fff;display:flex;align-items:center;padding:17px max(24px,calc((100% - 1200px)/2));gap:55px}.brand{font-family:Georgia,serif;font-size:21px;line-height:1.1;white-space:nowrap}.brand small{display:block;font-family:inherit;font-size:11px;letter-spacing:.13em;text-transform:uppercase;opacity:.75;margin-top:5px}nav{display:flex;gap:6px;align-self:stretch;align-items:center}nav a{padding:8px 11px;border-radius:5px;font-size:14px;opacity:.83}nav a.active,nav a:hover{background:#f5f0e6;color:#254b3c;opacity:1}.demo{background:#f3e7bd;color:#554512;padding:9px max(24px,calc((100% - 1200px)/2));font-size:13px}.demo strong{margin-right:8px}main{max-width:1200px;margin:auto;padding:42px 24px 70px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:500}h1{font-size:37px;margin-bottom:8px}h2{font-size:22px;margin-bottom:18px}h3{font-size:14px;margin:25px 0 5px}.title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:#687168;margin-bottom:7px}.muted,small{color:#6b736c}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#255b46;color:#fff;border:0;border-radius:6px;padding:11px 15px;font:inherit;font-weight:600;cursor:pointer}.button svg{width:17px}.button:hover{background:#1c4535}.button.small{font-size:12px;padding:7px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.stat{background:#fff;border:1px solid #deded6;border-radius:8px;padding:20px}.stat strong{font:36px Georgia,serif;display:block;color:#255b46}.stat span{font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid #deded6;border-radius:8px;padding:23px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ecece6;padding:13px 0}.row:first-of-type{border-top:0}.row span:first-child{display:flex;flex-direction:column;gap:2px}.row strong{font-size:14px}.row svg{width:18px;color:#a86e1f}.badge{display:inline-block;font-size:11px;font-weight:700;white-space:nowrap;padding:4px 7px;border-radius:99px;background:#e8eee9;color:#315e47}.badge.expiring-soon{background:#fbefd4;color:#8a5b09}.badge.expired{background:#f8dddd;color:#963c32}.badge.does-not-expire{background:#e8e7ef;color:#554f7a}.badge.on-display,.badge.displaying-artwork{background:#deefe6;color:#16603c}.text-link{display:block;margin-top:15px;font-size:13px;color:#255b46;font-weight:600}.search{display:flex;max-width:490px;align-items:center;gap:9px;background:#fff;border:1px solid #d8d9d1;border-radius:6px;padding:0 12px;margin-bottom:20px}.search svg{width:18px;color:#687168}.search input{border:0;outline:0;width:100%;padding:12px 0}.table{background:#fff;border:1px solid #deded6;border-radius:8px;overflow:hidden}.thead,.trow{display:grid;grid-template-columns:2fr 1.5fr 1fr 42px;gap:16px;align-items:center;padding:14px 18px}.thead{background:#f0f1eb;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#657067}.trow{border-top:1px solid #ecece6;font-size:14px}.trow span{display:flex;flex-direction:column;gap:3px}.icon{background:transparent;border:0;cursor:pointer;color:#6d756e;padding:7px}.icon:hover{color:#9b3d35}.back{font-size:13px;color:#255b46;display:block;margin-bottom:15px}.form-page{max-width:850px}.form-page form{background:#fff;border:1px solid #deded6;padding:25px;border-radius:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:26px}label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}input,textarea,select{font:inherit;font-size:14px;border:1px solid #ced2cb;border-radius:5px;padding:10px;background:#fff;color:#27332d}textarea{min-height:85px;resize:vertical}.upload{margin:-5px 0 23px;padding:15px;border:1px dashed #b7c2b9;background:#f6f8f5;border-radius:6px;display:flex;gap:10px;font-size:13px;color:#607067}.upload svg{width:22px;min-width:22px}.profile{align-items:start}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.art-card{background:#fff;border:1px solid #deded6;border-radius:8px;overflow:hidden}.art-card>div:last-child{padding:14px}.art-image{height:142px;background:#e2e5dc;display:flex;align-items:center;justify-content:center;color:#87948b}.art-image svg{width:27px}.split{display:flex;justify-content:space-between;gap:8px;align-items:start}.art-card p{font-size:13px;margin:7px 0 0}.warning{font-size:12px;color:#965c13;display:flex;gap:5px;align-items:center;margin-top:10px}.warning svg{width:14px}.empty{color:#727b73;font-size:14px;padding:12px 0}.success{font-size:13px;color:#17623e;margin:14px 0 0}.loading{color:#687168}@media(max-width:720px){header{padding:14px 17px;display:block}.brand{margin-bottom:13px}nav{overflow-x:auto;gap:2px}nav a{white-space:nowrap;padding:7px 9px}main{padding:28px 16px}.title{gap:14px}.title h1{font-size:31px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.table{overflow:auto}.thead,.trow{min-width:650px}.form-grid{grid-template-columns:1fr}.art-grid{grid-template-columns:1fr 1fr}.profile{grid-template-columns:1fr}.demo{padding:9px 17px}}@media(max-width:420px){.art-grid{grid-template-columns:1fr}.title .button{font-size:13px;padding:10px}.stats{gap:9px}.stat{padding:15px}}:root{color:#362b40;background:#faf9f6}header{background:#b9a3d3;color:#382b48;gap:18px;border-bottom:1px solid #a48bc2}.brand small{opacity:.82}.wildflower{width:38px;height:38px;fill:none;stroke:#594471;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}nav{margin-left:auto}nav a{font-weight:600;opacity:.9}nav a.active,nav a:hover{background:#f3eff8;color:#594471}.demo{background:#f3eff8;color:#594471;border-bottom:1px solid #ddd2ed}.button{background:#594471}.button:hover{background:#443357}.eyebrow,.text-link,.stat strong{color:#594471}.card,.stat,.table,.art-card,.form-page form{border-color:#e4ddeb}.thead{background:#f3eff8}.badge{background:#eee9f5;color:#594471}.badge.on-display,.badge.displaying-artwork{background:#e5efe8;color:#356047}.search{border-color:#d8cce5}.member-dates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:-8px 0 24px}.member-dates>div{background:#f3eff8;border:1px solid #e2d8ed;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:5px}.member-dates strong{font-size:14px;color:#594471}.members-head,.members-row{grid-template-columns:1.7fr 1fr 1.4fr 1fr 42px}@media(max-width:720px){.member-dates{grid-template-columns:1fr 1fr}.members-head,.members-row{min-width:780px}header .wildflower{display:none}}.login{max-width:420px;margin:12vh auto;padding:30px;background:#fff;border:1px solid #e4ddeb;border-radius:10px}.login form{display:grid;gap:15px;margin-top:22px}.logout{position:static;margin-left:12px;flex:0 0 auto;min-height:42px;border:1px solid #594471;background:#f3eff8;color:#594471;border-radius:6px;padding:8px 12px;cursor:pointer}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions .button{min-height:42px;padding:9px 12px}@media(max-width:720px){header{flex-wrap:wrap}header nav{order:3;width:100%;margin-left:0;overflow-x:auto}.logout{margin-left:auto}.actions{width:100%}.actions .button{flex:1 1 130px}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:14px}.photo-grid figure{margin:0;border:1px solid #e4ddeb;border-radius:8px;padding:6px;background:#fff;min-width:0}.photo-grid img{display:block;max-width:100%;border-radius:5px}.photo-grid figcaption{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.photo-grid .button{min-height:32px;padding:5px 7px}.photo-field .photo-grid img{width:100%;height:120px;object-fit:contain;background:#f3eff8}.artwork-detail-photos{grid-template-columns:1fr}.artwork-detail-photos img{width:100%;height:auto;max-height:min(65vh,560px);object-fit:contain;background:#f3eff8}.art-image img{display:block;width:100%;height:100%;object-fit:contain;background:#f3eff8}.stat{transition:background-color .15s ease}.stat:hover,.art-card:hover{background:#f3eff8}.member-dates>.renewal-date{position:relative}.renewal-date>.button{position:absolute;left:0;bottom:calc(100% + 6px);z-index:1}
