:root { --ink:#33261c; --muted:#74695f; --sand:#e9dfd2; --paper:#f7f3ed; --white:#fff; --gold:#bd8a4d; --green:#55715a; --red:#a04a3e; --line:#ddd1c4; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font:15px/1.5 Arial,sans-serif; }
a { color:inherit; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; width:250px; padding:34px 24px; background:var(--ink); color:#f7f0e7; display:flex; flex-direction:column; }
.admin-brand { display:grid; text-decoration:none; margin-bottom:48px; }
.admin-brand strong { font:44px/1 Georgia,serif; }
.admin-brand span { color:#cdbdab; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.admin-sidebar nav { display:grid; gap:8px; }
.admin-sidebar nav a,.coming-soon { padding:11px 13px; border-radius:8px; text-decoration:none; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { background:#59483a; }
.coming-soon { color:#988a7d; display:flex; justify-content:space-between; }
.coming-soon small { border:1px solid #716254; border-radius:20px; padding:0 7px; }
.admin-sidebar form { margin-top:auto; }
.link-button,.danger-link { border:0; padding:0; background:none; color:inherit; cursor:pointer; text-decoration:underline; }
.admin-main { margin-left:250px; padding:40px clamp(28px,5vw,76px) 80px; }
.admin-topbar { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:34px; }
.admin-topbar h1 { margin:0; font:clamp(42px,6vw,78px)/1 Georgia,serif; }
.eyebrow { margin:0 0 10px; color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.metric-grid>a,.metric-grid>div { min-height:150px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:16px; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; }
.metric-grid strong { font:52px/1 Georgia,serif; }
.panel,.table-card { background:var(--white); border:1px solid var(--line); border-radius:18px; }
.welcome-panel { padding:clamp(28px,5vw,58px); }
.welcome-panel h2 { max-width:720px; margin:.2em 0; font:clamp(30px,4vw,52px)/1.05 Georgia,serif; }
.page-actions { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:20px; }
.primary-button,.secondary-button { display:inline-block; border:0; border-radius:8px; padding:13px 18px; cursor:pointer; text-decoration:none; font-weight:700; }
.primary-button { background:var(--gold); color:#21170f; }
.secondary-button { background:var(--sand); color:var(--ink); }
.button-row { display:flex; gap:12px; margin-top:26px; }
.table-card { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:16px 18px; border-bottom:1px solid #eee5dc; text-align:left; white-space:nowrap; }
th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
td strong,td small { display:block; }
td small { color:var(--muted); }
.row-actions { display:flex; justify-content:flex-end; gap:14px; }
.status { display:inline-block; border-radius:99px; padding:5px 10px; background:#e5e0da; font-size:12px; }
.status.active { background:#dce9dd; color:#35523a; }
.danger-link { color:var(--red); }
.alert { margin-bottom:20px; padding:14px 18px; border-radius:10px; }
.alert.success { background:#dce9dd; color:#29482e; }
.alert.error,.validation-box { background:#f4ded9; color:#77372f; }
.editor-form { max-width:950px; padding:32px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
label { display:grid; gap:7px; font-weight:700; }
label small { color:var(--muted); font-weight:400; }
input,select,textarea { width:100%; border:1px solid #cdbfb1; border-radius:8px; background:#fff; padding:12px 13px; color:var(--ink); font:inherit; }
textarea { resize:vertical; }
.full { grid-column:1/-1; }
.check-card,.check-row { display:flex; align-items:center; gap:10px; }
.check-card { padding:14px; background:var(--paper); border-radius:10px; }
.check-card input,.check-row input { width:auto; }
.validation-box { margin-top:22px; padding:14px 18px; border-radius:10px; }
.inline-filter select { min-width:250px; }
.login-page { display:grid; place-items:center; background:var(--sand); }
.login-card { width:min(440px,calc(100% - 36px)); padding:46px; background:var(--white); border-radius:22px; box-shadow:0 20px 60px #6f5a4730; }
.login-card h1 { margin:0; font:74px/1 Georgia,serif; }
.login-card form { display:grid; gap:18px; margin-top:32px; }
.field-error { color:var(--red); font-size:13px; }

@media(max-width:900px){
 .admin-sidebar{position:static;width:auto;padding:18px}.admin-brand{margin-bottom:18px}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar form{position:absolute;top:22px;right:18px}.admin-main{margin:0;padding:28px 18px}.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.page-actions,.admin-topbar{align-items:stretch;flex-direction:column}.login-card{padding:30px}.table-card{border-radius:10px}}

.product-filters { display:flex; flex-wrap:wrap; gap:10px; flex:1; }
.product-filters input { min-width:240px; }
.product-filters select { width:auto; min-width:180px; }
.button-row.compact { margin-top:0; white-space:nowrap; }
.admin-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; }
.admin-product-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; }
.admin-product-card__image { display:grid; place-items:center; aspect-ratio:1; background:#eee7df; color:var(--muted); }
.admin-product-card__image img { width:100%; height:100%; object-fit:cover; }
.admin-product-card__copy { display:grid; padding:14px 14px 8px; }
.admin-product-card__copy strong { font:24px/1.2 Georgia,serif; }
.admin-product-card__copy span,.admin-product-card__copy small { overflow-wrap:anywhere; }
.admin-product-card__copy small { color:var(--green); }
.admin-product-card>.row-actions { justify-content:flex-start; padding:10px 14px 15px; }
.empty-state { grid-column:1/-1; padding:48px; text-align:center; }
.empty-state h2,.import-intro h2,.issue-panel h2 { font:36px/1.1 Georgia,serif; margin:.2em 0; }
.import-form { max-width:1050px; }
.import-intro { margin-bottom:28px; }
.upload-card { min-height:150px; padding:24px; border:1px dashed #bca990; border-radius:14px; background:var(--paper); align-content:center; }
.upload-card input { border:0; padding:10px 0 0; background:transparent; }
.import-metrics .text-metric { font-size:26px; line-height:1.1; overflow-wrap:anywhere; }
.preview-panel,.issue-panel,.extra-panel { margin-top:20px; padding:28px; }
.summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.summary-grid>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; background:var(--paper); border-radius:10px; }
.summary-grid strong { font:28px/1 Georgia,serif; }
.issue-panel { border-color:#d5a198; background:#fff9f7; }
.issue-panel li,.extra-panel li { margin:7px 0; overflow-wrap:anywhere; }
.extra-panel summary { cursor:pointer; font-weight:700; }

@media(max-width:900px){.product-filters>*{width:100%!important}.button-row.compact{width:100%}.import-metrics{grid-template-columns:1fr 1fr}}

.inquiry-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:22px; }
.inquiry-card,.status-form { padding:32px; }.inquiry-card h2 { margin:.1em 0; font:46px/1.1 Georgia,serif; }
.inquiry-card dl div { display:grid; grid-template-columns:120px minmax(0,1fr); padding:12px 0; border-bottom:1px solid var(--line); }
.inquiry-card dt { color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.08em; }.inquiry-card dd { margin:0; overflow-wrap:anywhere; }
.inquiry-message { white-space:pre-wrap; padding:20px; background:var(--paper); border-radius:10px; }
.inquiry-product { overflow:hidden; margin-bottom:18px; }.inquiry-product img { width:100%; aspect-ratio:1; object-fit:cover; }.inquiry-product div { padding:18px; }.inquiry-product h3 { margin:.1em 0; font:36px Georgia,serif; }
.status-form { display:grid; gap:16px; }
nav[role="navigation"] svg { width:20px; height:20px; }
@media(max-width:900px){.inquiry-layout{grid-template-columns:1fr}}

.gallery-upload-panel { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:32px; margin-bottom:26px; }
.gallery-upload-panel h2 { margin:.15em 0; font:40px/1.1 Georgia,serif; }.gallery-upload-panel form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.gallery-upload-panel form .full,.gallery-upload-panel form button { grid-column:1/-1; }
.gallery-admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.gallery-admin-card { overflow:hidden; padding-bottom:16px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.gallery-admin-card>img { width:100%; height:190px; object-fit:cover; }.gallery-admin-card form { display:grid; gap:12px; padding:16px 16px 0; }.gallery-admin-card>form:last-child { padding-top:10px; }
.gallery-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:900px){.gallery-upload-panel{grid-template-columns:1fr}.gallery-upload-panel form{grid-template-columns:1fr}.gallery-upload-panel form .full,.gallery-upload-panel form button{grid-column:auto}}

.annual-badge { align-self:start; width:max-content; margin-top:6px; padding:4px 8px; border-radius:999px; background:#f1dfb9; color:#5d431f; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

.site-settings-form { max-width:1150px; }.settings-section-title { margin-top:42px; padding-top:28px; border-top:1px solid var(--line); }.settings-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.settings-photo-card { align-content:start; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }.settings-photo-card img,.settings-photo-placeholder { width:100%; aspect-ratio:4/3; margin:6px 0; border-radius:10px; object-fit:cover; }.settings-photo-placeholder { display:grid; place-items:center; background:#ddd1c4; color:var(--muted); font-size:12px; }.settings-photo-card input { background:#fff; }
@media(max-width:900px){.settings-photo-grid{grid-template-columns:1fr}}
