/* Content studio uses the same locally hosted Inter, Syne and Bauhaus fonts as the website. */
.admin-shell { min-height:100svh; background:#f6f6ec; color:#181a16; display:grid; grid-template-columns:242px minmax(0,1fr); font-size:14px; line-height:1.6; }
.admin-sidebar { background:#11130f; color:#e8eadf; padding:34px 22px 24px; position:sticky; top:0; height:100svh; display:flex; flex-direction:column; border-right:1px solid #ffffff12; overflow-y:auto; }
.admin-brand img { width:145px; height:42px; object-fit:contain; }
.admin-brand>span { display:block; margin:12px 0 38px; font-size:9px; letter-spacing:.23em; color:#8a9180; }
.admin-nav-label { font-size:9px; letter-spacing:.13em; color:#7d8573; margin:0 12px 12px; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:5px; }
.admin-sidebar nav a { font-size:12px; display:flex; align-items:center; gap:13px; border-radius:9px; padding:12px 14px; color:#aeb4a4; transition:background .2s,color .2s; }
.admin-sidebar nav a>span { font-size:19px; width:22px; line-height:1; font-weight:400; }
.admin-sidebar nav a.active { background:#bff747; color:#161c0b; }
.admin-sidebar nav a:hover:not(.active) { background:#ffffff09; color:#fdfde1; }
.admin-sidebar-bottom { margin-top:auto; padding:34px 12px 0; display:flex; flex-direction:column; gap:16px; }
.admin-sidebar-bottom>a,.admin-sidebar-bottom button { font-size:11px; background:none; border:0; color:#c4cbba; padding:0; }
.admin-sidebar-bottom .footer-credit { color:#7f8872; font-size:9px; margin-top:12px; }
.admin-sidebar-bottom .footer-credit a { color:#dce3cf; font-size:19px; }
.admin-main { min-width:0; }
.admin-topbar { height:85px; border-bottom:1px solid #1b241014; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#ffffff75; }
.admin-topbar>span { display:flex; align-items:center; gap:10px; color:#737c66; font-size:11px; }
.admin-topbar .status-dot { width:6px; height:6px; background:#6f9636; }
.admin-user { max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-content { max-width:1500px; margin:0 auto; padding:42px 40px 80px; }
.admin-heading { display:flex; gap:25px; justify-content:space-between; align-items:center; margin-bottom:36px; }
.admin-kicker { font-size:9px; letter-spacing:.15em; color:#7a826e; font-weight:600; margin:0 0 12px; }
.admin-heading h1 { font-size:clamp(32px,3.6vw,52px); letter-spacing:-.045em; line-height:1.05; }
.admin-heading h1>span { color:#91bb40; }
.admin-heading p:not(.admin-kicker) { margin:13px 0 0; color:#818774; font-size:12px; }
.admin-button { padding:12px 19px; border:1px solid #202718; background:#202718; border-radius:8px; color:#f3f6e9; display:inline-flex; align-items:center; justify-content:center; gap:26px; font-size:11px; font-weight:500; cursor:pointer; white-space:nowrap; line-height:1.7; transition:background .2s,transform .2s; }
.admin-button:hover { background:#3d4b2d; transform:translateY(-1px); }
.admin-button.secondary { background:transparent; color:#49533c; border-color:#cbd1be; }
.admin-button.secondary:hover { background:#e8eddd; }
.admin-shell button:disabled,.admin-shell input:disabled,.admin-shell select:disabled,.admin-shell textarea:disabled { cursor:not-allowed; opacity:.55; }
.admin-shell :is(a,button,input,textarea,select,summary):focus-visible { outline:2px solid #5d8b22; outline-offset:3px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; margin-bottom:26px; }
.admin-stat-grid>a { background:#fffef8; border:1px solid #dde0d2; border-radius:12px; padding:28px 24px 22px; display:flex; flex-direction:column; transition:border-color .2s,transform .2s; }
.admin-stat-grid>a:hover { border-color:#76974d; transform:translateY(-3px); }
.admin-stat-grid strong { font:700 54px/1 Syne,sans-serif; letter-spacing:-.07em; }
.admin-stat-grid>a>span { font-size:11px; color:#818875; margin-top:20px; display:flex; justify-content:space-between; gap:10px; }
.admin-stat-grid b { color:#536c34; font-size:18px; font-weight:400; }
.admin-dashboard-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:22px; }
.admin-panel { background:#fffef8; border:1px solid #dde0d2; border-radius:12px; padding:28px; margin-bottom:22px; min-width:0; }
.admin-panel h2 { font-size:23px; line-height:1.15; letter-spacing:-.035em; margin:0 0 12px; }
.admin-panel h3 { font-size:19px; letter-spacing:-.025em; }
.admin-panel p { font-size:12px; color:#7a826e; max-width:570px; }
.admin-dashboard-grid .admin-panel { padding:35px; min-height:310px; }
.admin-dashboard-grid h2 { font-size:37px; margin-bottom:25px; }
.admin-inline-links { display:flex; gap:22px; margin-top:30px; font-size:11px; font-weight:600; }
.admin-inline-links a { border-bottom:1px solid #b9c3aa; padding-bottom:5px; }
.admin-panel.lime-panel { background:#c5ee84; border-color:#b8df7c; }
.admin-panel.lime-panel p,.lime-panel .admin-kicker { color:#3c542a; }
.lime-panel ul { padding-left:16px; margin:22px 0 0; }
.lime-panel li { font-size:12px; color:#4a6235; margin:11px 0; }
.admin-loading { padding:65px; text-align:center; border:1px dashed #c2cbb6; color:#718064; border-radius:12px; }
.admin-notice { padding:15px 19px; border-radius:9px; border:1px solid; font-size:12px; margin-bottom:24px; }
.admin-notice.success { background:#e9f4dc; border-color:#c4dcb0; color:#43602e; }
.admin-notice.error { background:#fff0eb; border-color:#e9c6bb; color:#8b3b29; }
.admin-notice.warning { background:#fff6df; border-color:#e6d7ab; color:#826b30; }
.admin-notice .admin-text-button { margin-left:15px; }
.admin-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) 285px; align-items:start; gap:24px; }
.admin-editor-aside { position:sticky; top:24px; }
.admin-editor-aside .admin-panel { padding:21px; }
.admin-help { font-size:11px!important; color:#8a927d!important; line-height:1.7; font-weight:400; }
.admin-fields { display:grid; grid-template-columns:1fr; gap:22px; margin-top:24px; }
.admin-fields.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.admin-fields .wide { grid-column:1/-1; }
.admin-fields label,.admin-image-card label { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:600; color:#535f45; min-width:0; }
.admin-fields label small { font-size:10px; line-height:1.6; color:#98a08d; font-weight:400; }
.admin-content :is(input:not([type=checkbox]),textarea,select) { min-height:43px; width:100%; background:#fffffc; color:#2c3524; border:1px solid #d6ddcb; border-radius:7px; padding:11px 12px; font-size:12px; font-weight:400; line-height:1.6; }
.admin-content textarea { min-height:70px; resize:vertical; }
.admin-content :is(input,textarea,select):focus { outline:2px solid #93ae6f; outline-offset:1px; border-color:#9bb27b; }
.admin-content .validation-message { font-size:11px; color:#a4482f; margin-top:4px; }
.admin-content .validation-errors { color:#943d29; background:#fff1eb; padding:18px 18px 18px 34px; border-radius:8px; font-size:12px; margin-bottom:25px; }
.admin-field-group { border-bottom:1px solid #e4e7dc; padding:15px 0 24px; }
.admin-field-group>summary { font-size:13px; font-weight:600; color:#465b32; cursor:pointer; padding:6px 0; }
.admin-field-group:not([open]) { padding-bottom:15px; }
.admin-save-bar { border:1px solid #d9dfce; background:#edf1e5; padding:19px; border-radius:9px; display:flex; flex-direction:column; gap:12px; }
.admin-save-bar>span { color:#8a937e; font-size:10px; }
.admin-save-bar.horizontal { flex-direction:row; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.admin-section-label { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:15px; }
.admin-section-label h2,.admin-section-label h3 { margin:0; }
.admin-section-label>span { color:#9aa48d; font-size:11px; }
.admin-section-label>a { font-size:10px; color:#5a7840; white-space:nowrap; }
.admin-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-editor-aside .admin-gallery-grid { grid-template-columns:1fr; }
.admin-image-card { border:1px solid #dce2d2; border-radius:9px; padding:12px; min-width:0; }
.admin-image-card>img { width:100%; height:145px; object-fit:contain; border-radius:5px; margin-bottom:15px; background:repeating-conic-gradient(#e3e7db 0% 25%,#f1f3eb 0% 50%) 50% / 16px 16px; }
.admin-image-card label { margin-top:10px; font-size:10px; }
.admin-image-card input { font-size:11px!important; }
.admin-image-actions { display:flex; gap:7px; margin-top:14px; justify-content:space-between; }
.admin-image-actions button { font-size:10px; background:#f0f4e8; border:1px solid #d8e0cb; color:#5b6c47; padding:5px 9px; border-radius:5px; min-width:28px; }
.admin-upload { display:flex; align-items:center; justify-content:center; width:100%; min-height:90px; border:1px dashed #aebf98; border-radius:9px; background:#f3f7ec; margin:18px 0 10px; position:relative; cursor:pointer; font-size:11px; font-weight:600; color:#668344; }
.admin-upload input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.admin-upload:focus-within { outline:2px solid #719449; outline-offset:3px; }
.admin-collection-grid { display:grid; grid-template-columns:235px minmax(0,1fr); align-items:start; gap:24px; }
.admin-list-panel { padding:19px; position:sticky; top:24px; max-height:calc(100vh - 48px); overflow-y:auto; }
.admin-list-panel h2 { font-size:17px; }
.admin-list-panel>.admin-button { width:100%; margin:10px 0 18px; font-size:10px; padding:10px; gap:10px; }
.admin-record-list { display:flex; flex-direction:column; gap:6px; }
.admin-record-list>button { width:100%; border:1px solid transparent; background:transparent; border-radius:8px; padding:12px 8px; display:flex; align-items:center; text-align:left; gap:10px; color:#536244; }
.admin-record-list>button.selected,.admin-record-list>button:hover { background:#edf3e3; border-color:#d4e1c3; }
.admin-record-list>button>span { font-size:12px; color:#91a57b; }
.admin-record-list>button>div { flex:1; min-width:0; }
.admin-record-list b { display:block; font-size:11px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.admin-record-list small { display:block; font-size:9px; color:#98a78a; margin-top:4px; overflow-wrap:anywhere; }
.admin-empty { padding:55px 35px; min-height:340px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.admin-empty>span { font-size:50px; color:#9dc65b; display:block; margin-bottom:25px; }
.admin-empty h2 { font-size:34px; }
.admin-empty p { margin:20px 0 0; max-width:300px; }
.admin-text-button { padding:0; background:transparent; color:#627d47; border:0; font-size:10px; font-weight:500; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.admin-text-button.danger { color:#a15a42; }
.admin-offering-row { border-top:1px solid #e1e7d8; padding:20px 0; }
.admin-offering-row .admin-fields { margin-top:0; margin-bottom:15px; }
.admin-check-list { display:grid; grid-template-columns:1fr; gap:12px; margin-top:25px; }
.admin-check-list label { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #dde5d4; border-radius:7px; font-size:12px; }
.admin-content input[type=checkbox] { width:16px; height:16px; min-height:16px; padding:0; accent-color:#5f7f3f; flex-shrink:0; }
.admin-fields .admin-checkbox { display:flex; flex-direction:row; align-items:center; gap:10px; }
.admin-confirm { border:1px solid #d3b5a5; background:#fff3ec; border-radius:10px; padding:26px; margin-top:25px; }
.admin-confirm h3 { font-size:23px; margin-bottom:15px; }
.admin-confirm p { font-size:12px; color:#9b6b55; }
.admin-confirm>div { display:flex; gap:15px; margin-top:20px; flex-wrap:wrap; }
.admin-button.danger-button { background:#97462f; border-color:#97462f; }
.admin-client-editor { border-top:1px solid #e0e6d7; margin-top:28px; padding-top:12px; }
.admin-client-editor .admin-gallery-editor { max-width:440px; margin:22px 0; }
.admin-initials { width:32px; height:32px; display:grid; place-items:center; background:#dce9cc; border-radius:50%; font:600 11px Syne,sans-serif; }
.editor-identity { display:flex; align-items:center; gap:11px; text-decoration:none; }
.editor-identity img,.editor-identity .profile-initials { width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.profile-initials { display:grid; place-items:center; background:#dce9cb; color:#54713a; font-size:12px; font-weight:600; }
.editor-identity strong { display:block; font:500 11px Inter,sans-serif; color:#536545; }
.editor-identity small { display:block; font-size:9px; color:#929d84; max-width:250px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-profile-photo { width:110px; height:110px; object-fit:cover; border-radius:50%; background:#e3ecd7; margin:20px 0; }
.admin-profile-photo.profile-initials { font-size:32px; }
@media(min-width:1600px) { .admin-content{padding-top:55px}.admin-editor-grid{grid-template-columns:minmax(0,1fr) 340px}.admin-collection-grid{grid-template-columns:270px minmax(0,1fr)} }
@media(max-width:1150px) { .admin-shell{grid-template-columns:205px minmax(0,1fr)}.admin-sidebar{padding:28px 15px 20px}.admin-content{padding:30px 25px 70px}.admin-topbar{padding:0 25px}.admin-heading{align-items:flex-start}.admin-heading>.admin-button{font-size:9px;padding:10px 13px}.admin-stat-grid{gap:12px}.admin-stat-grid>a{padding:22px 18px}.admin-dashboard-grid{grid-template-columns:1fr}.admin-editor-grid{grid-template-columns:1fr}.admin-editor-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-editor-aside .admin-save-bar{grid-column:1/-1}.admin-collection-grid{grid-template-columns:190px minmax(0,1fr);gap:18px}.admin-panel{padding:22px}.admin-fields.two-columns{grid-template-columns:1fr}.admin-list-panel{padding:15px}.admin-gallery-grid{grid-template-columns:1fr 1fr} }
@media(max-width:850px) { .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:20px 25px;overflow:visible}.admin-brand{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-brand>span{margin:0;font-size:8px}.admin-brand img{width:125px;height:34px}.admin-nav-label,.admin-sidebar-bottom{display:none}.admin-sidebar nav{flex-direction:row;gap:7px;overflow-x:auto;padding-top:20px;padding-bottom:3px}.admin-sidebar nav a{white-space:nowrap;font-size:10px;padding:8px 12px;gap:6px}.admin-sidebar nav a>span{font-size:14px;width:16px}.admin-topbar{height:65px}.admin-content{padding:30px 25px 65px}.admin-heading h1{font-size:39px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-collection-grid{grid-template-columns:210px minmax(0,1fr)}.admin-list-panel{top:16px}.admin-dashboard-grid h2{font-size:34px}.editor-identity strong{font-size:10px}.editor-identity small{font-size:8px}.admin-topbar>span{font-size:9px} }
@media(max-width:600px) { .admin-sidebar{padding:20px}.admin-topbar{padding:12px 20px;height:auto;min-height:67px}.admin-topbar>span{display:none}.admin-topbar .editor-identity{margin-left:auto}.admin-content{padding:28px 20px 60px}.admin-heading{display:block}.admin-heading h1{font-size:37px}.admin-heading>.admin-button{margin-top:23px;font-size:10px}.admin-heading p:not(.admin-kicker){font-size:11px}.admin-stat-grid>a{padding:23px 19px}.admin-stat-grid strong{font-size:47px}.admin-stat-grid>a>span{font-size:10px}.admin-panel{padding:22px}.admin-dashboard-grid .admin-panel{padding:27px;min-height:270px}.admin-dashboard-grid h2{font-size:31px}.admin-inline-links{flex-wrap:wrap;gap:15px}.admin-collection-grid{grid-template-columns:1fr}.admin-list-panel{position:static;max-height:340px}.admin-list-panel .admin-record-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-record-list>button{padding:12px 9px}.admin-editor-aside{grid-template-columns:1fr;gap:0}.admin-gallery-grid{grid-template-columns:1fr}.admin-content :is(input:not([type=checkbox]),textarea,select){font-size:16px}.admin-image-card input{font-size:16px!important}.admin-save-bar.horizontal{gap:20px}.admin-button{font-size:11px}.admin-section-label{gap:12px}.admin-section-label>button{font-size:9px}.admin-empty{min-height:230px}.admin-empty h2{font-size:29px}.admin-check-list label{font-size:11px}.admin-confirm>div{gap:12px} }
.editor-initials{display:grid;place-items:center;background:#dce9cb;color:#54713a;font-size:12px;font-weight:600}.editor-identity-text>span{display:block;font-size:9px;color:#929d84;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-editor{background:#fffef8;border:1px solid #dde0d2;border-radius:12px;padding:32px}.profile-editor h2{font-size:28px;margin-bottom:15px}.profile-editor h3{font-size:23px}.profile-editor p{font-size:12px;color:#7a826e}.profile-summary{display:flex;align-items:center;gap:28px;padding:35px 0;border-bottom:1px solid #dde0d2}.profile-photo{width:110px;height:110px;object-fit:cover;border-radius:50%;flex-shrink:0}.profile-summary .profile-initials{font-size:30px}.profile-summary h3{margin-bottom:10px}.profile-summary p{margin-bottom:7px}.profile-upload{padding-top:30px;max-width:600px}.profile-upload h3{margin-bottom:18px}.profile-upload .admin-field{font-size:11px;display:block;color:#5d6d4e}.profile-upload input{margin-top:10px}@media(max-width:600px){.profile-summary{display:block}.profile-photo{margin-bottom:25px}.profile-editor{padding:24px}.editor-identity-text>span{max-width:200px}}
.editor-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex-shrink:0}.admin-help{font-size:12px!important}.admin-fields label{font-size:12px}.admin-content input:not([type=checkbox]),.admin-content textarea,.admin-content select{font-size:13px}.editor-identity strong{font-size:12px}.editor-identity-text>span{font-size:10px}@media(max-width:600px){.admin-content input:not([type=checkbox]),.admin-content textarea,.admin-content select{font-size:16px}}

/* Let each workspace shrink to the viewport; only the navigation strip scrolls sideways. */
.admin-shell :is(.admin-sidebar,.admin-content,.admin-brand,.admin-sidebar nav,.admin-heading>div,.admin-editor-grid>*,.admin-collection-grid>*,.admin-editor-aside,.admin-record-list>button,form,fieldset) { min-width:0; }
.admin-content { width:100%; }
.admin-content :is(input,textarea,select) { min-width:0; max-width:100%; }
.admin-fields,.admin-check-list { grid-template-columns:minmax(0,1fr); }
.admin-section-label { flex-wrap:wrap; }
.admin-section-label :is(h2,h3) { overflow-wrap:anywhere; }
.admin-content :is(.admin-notice,.admin-help,.profile-summary p) { overflow-wrap:anywhere; }
.editor-identity { min-width:0; max-width:100%; }
.editor-identity-text { min-width:0; }
.editor-identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-loading { min-height:220px; padding:44px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:19px; }
.admin-loading-mark { width:43px; height:57px; object-fit:contain; animation:admin-mark-breathe 1.4s ease-in-out infinite; }
.admin-loading-copy { margin:0; font-size:12px; }
@keyframes admin-mark-breathe { 0%,100% { opacity:.6; transform:translateY(0) scale(.94); } 50% { opacity:1; transform:translateY(-4px) scale(1); } }
@media(max-width:1150px) {
    .admin-dashboard-grid,.admin-editor-grid,.admin-fields.two-columns { grid-template-columns:minmax(0,1fr); }
    .admin-editor-aside,.admin-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:850px) {
    .admin-shell { grid-template-columns:minmax(0,1fr); }
    .admin-sidebar nav { max-width:100%; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#647147 transparent; }
    .admin-sidebar nav a { flex-shrink:0; }
    .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .admin-collection-grid,.admin-editor-aside,.admin-gallery-grid { grid-template-columns:minmax(0,1fr); }
    .admin-list-panel { scrollbar-width:thin; scrollbar-color:#b5bfa8 transparent; }
    .admin-list-panel .admin-record-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-brand { gap:12px; }
    .admin-brand>span { flex-shrink:0; letter-spacing:.13em; }
    .admin-topbar .editor-identity { max-width:100%; }
    .editor-identity-text>span { max-width:100%; }
    .admin-panel { padding:20px; }
    .admin-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; gap:12px; }
    .admin-section-label { align-items:flex-start; }
    .admin-section-label>.admin-button { flex-shrink:0; }
    .admin-empty { padding:32px 24px; }
    .admin-save-bar.horizontal>* { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .admin-loading-mark { animation:none; } }
