/* Donleon CMS v3.9.0 — dedicated admin interface */
:root {
  --cms-ink:#141411;
  --cms-ink-2:#1d1d19;
  --cms-paper:#f2efe8;
  --cms-paper-2:#e9e4da;
  --cms-card:#fbfaf6;
  --cms-line:#d8d2c6;
  --cms-line-dark:#34332d;
  --cms-gold:#b58b49;
  --cms-gold-soft:#d9c59f;
  --cms-muted:#7d786f;
  --cms-green:#295f46;
  --cms-green-bg:#e1eee6;
  --cms-red:#8c3034;
  --cms-red-bg:#f3e1e1;
  --cms-amber:#7a5a20;
  --cms-amber-bg:#f3e7cf;
  --cms-blue:#355773;
  --cms-blue-bg:#e1e9f0;
  --cms-shadow:0 22px 70px rgba(24,23,20,.08);
  --cms-radius:18px;
  --cms-serif:"Iowan Old Style","Baskerville","Times New Roman",Georgia,serif;
  --cms-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
* { box-sizing:border-box; }
html { background:var(--cms-paper); }
body.donleon-admin { margin:0; min-height:100%; background:var(--cms-paper); color:var(--cms-ink); font-family:var(--cms-sans); -webkit-font-smoothing:antialiased; }
body.donleon-admin a { color:inherit; text-decoration:none; }
body.donleon-admin button,body.donleon-admin input,body.donleon-admin textarea,body.donleon-admin select { font:inherit; }
body.donleon-admin button,body.donleon-admin a,body.donleon-admin input,body.donleon-admin textarea,body.donleon-admin select { -webkit-tap-highlight-color:transparent; }
body.donleon-admin button:focus-visible,body.donleon-admin a:focus-visible,body.donleon-admin input:focus-visible,body.donleon-admin textarea:focus-visible,body.donleon-admin select:focus-visible,body.donleon-admin summary:focus-visible { outline:2px solid var(--cms-gold); outline-offset:3px; }
.cms-icon { width:20px; height:20px; flex:0 0 auto; }

.admin-app { min-height:100vh; display:grid; grid-template-columns:286px minmax(0,1fr); }
.admin-sidebar { position:sticky; top:0; z-index:80; height:100vh; padding:30px 22px 22px; display:flex; flex-direction:column; background:linear-gradient(180deg,#11110f 0%,#171713 100%); color:#f6f1e8; border-right:1px solid #292821; overflow:hidden; }
.admin-sidebar:after { content:""; position:absolute; width:250px; height:250px; left:-145px; top:38%; border:1px solid rgba(181,139,73,.14); border-radius:50%; pointer-events:none; }
.admin-sidebar-head { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; margin:0 7px 42px; }
.admin-brand { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.admin-brand>span { font:italic 41px/.82 var(--cms-serif); letter-spacing:-.06em; }
.admin-brand>small { color:#8e897f; font-size:8px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.admin-sidebar-close { display:none; width:42px; height:42px; place-items:center; padding:0; color:#fff; border:1px solid #383730; background:#1e1e1a; border-radius:50%; cursor:pointer; }
.admin-nav { position:relative; z-index:1; display:flex; flex-direction:column; gap:5px; }
.admin-nav-item { min-height:60px; padding:10px 10px; display:grid; grid-template-columns:38px minmax(0,1fr) 20px; gap:9px; align-items:center; color:#9f9a90; border:1px solid transparent; border-radius:12px; transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease; }
.admin-nav-item:hover { color:#f8f3e8; background:#1f1f1b; transform:translateX(2px); }
.admin-nav-item.active { color:#fff; background:linear-gradient(90deg,rgba(181,139,73,.17),rgba(181,139,73,.04)); border-color:rgba(181,139,73,.25); }
.admin-nav-icon { width:38px; height:38px; display:grid; place-items:center; color:#7f7b72; border:1px solid #34332d; border-radius:10px; background:#191916; }
.admin-nav-item.active .admin-nav-icon { color:#d3ad70; border-color:rgba(181,139,73,.4); background:#211f1a; }
.admin-nav-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.admin-nav-copy strong { font-size:12px; line-height:1.25; font-weight:600; color:inherit; }
.admin-nav-copy small { color:#6f6b63; font-size:8px; letter-spacing:.05em; }
.admin-nav-item.active .admin-nav-copy small { color:#9a9285; }
.admin-nav-arrow { color:#5f5b53; opacity:0; transform:translateX(-4px); transition:.2s ease; }
.admin-nav-item:hover .admin-nav-arrow,.admin-nav-item.active .admin-nav-arrow { opacity:1; transform:none; }
.admin-nav-arrow .cms-icon { width:15px; height:15px; }
.admin-sidebar-footer { position:relative; z-index:1; margin-top:auto; }
.admin-version { margin:0 7px 14px; padding-top:18px; border-top:1px solid #302f29; display:flex; justify-content:space-between; color:#67635c; font-size:8px; text-transform:uppercase; letter-spacing:.14em; }
.admin-version strong { color:#aaa397; font-weight:600; }
.admin-user-card { min-height:66px; display:grid; grid-template-columns:40px minmax(0,1fr) 34px; align-items:center; gap:11px; padding:10px; border:1px solid #302f29; border-radius:13px; background:#191916; }
.admin-avatar,.cms-mini-avatar { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,#c49b5a,#9d7135); color:#181713; font:700 13px var(--cms-sans); }
.admin-user-card>div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.admin-user-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.admin-user-card small { color:#777269; font-size:8px; }
.admin-signout { width:34px; height:34px; border:0; border-radius:9px; background:#24231e; color:#8d887f; cursor:pointer; transition:.2s ease; }
.admin-signout:hover { background:#332a21; color:#d0aa6e; }
.admin-sidebar-backdrop { display:none; }

.admin-main { min-width:0; padding:36px clamp(28px,4.1vw,72px) 90px; }
.admin-topbar { min-height:92px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:28px; }
.admin-menu-button { display:none; width:46px; height:46px; border:1px solid var(--cms-line); border-radius:12px; background:var(--cms-card); color:var(--cms-ink); place-items:center; cursor:pointer; }
.admin-heading { min-width:0; }
.admin-heading p,.cms-kicker { margin:0 0 8px; color:#926f3b; font-size:8px; font-weight:700; line-height:1.2; letter-spacing:.24em; text-transform:uppercase; }
.admin-heading h1 { margin:0; font:400 clamp(34px,3.1vw,50px)/.95 var(--cms-serif); letter-spacing:-.035em; }
.admin-heading>span { display:block; max-width:700px; margin-top:10px; color:var(--cms-muted); font:14px/1.55 var(--cms-serif); }
.admin-top-actions { display:flex; align-items:center; gap:9px; }
.admin-site-link,.cms-link-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:45px; padding:0 15px; border:1px solid #bdb6aa; border-radius:10px; background:rgba(255,255,255,.45); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transition:.2s ease; }
.admin-site-link:hover,.cms-link-button:hover { border-color:#89775c; background:#fff; }
.admin-site-link .cms-icon,.cms-link-button .cms-icon { width:15px; height:15px; }

.cms-alert { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) 30px; gap:13px; align-items:center; margin:0 0 24px; padding:14px 14px; border:1px solid; border-radius:12px; box-shadow:0 12px 35px rgba(20,20,17,.04); }
.cms-alert>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; font-weight:700; }
.cms-alert strong { display:block; margin-bottom:2px; font-size:11px; }
.cms-alert p { margin:0; font-size:11px; line-height:1.45; }
.cms-alert button { width:30px; height:30px; border:0; background:transparent; color:inherit; opacity:.55; cursor:pointer; font-size:20px; }
.cms-alert.success { background:#f4faf6; border-color:#c5ddce; color:#2c5f43; }
.cms-alert.success>span { background:#dcece2; }
.cms-alert.error { background:#fff6f5; border-color:#e6c5c3; color:#8c3034; }
.cms-alert.error>span { background:#f2dedd; }

.cms-dashboard-hero { position:relative; overflow:hidden; min-height:275px; padding:48px 50px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:end; border-radius:22px; background:#171713; color:#f7f1e8; box-shadow:var(--cms-shadow); }
.cms-dashboard-hero:before { content:"Donleon"; position:absolute; right:-20px; top:-14px; color:rgba(255,255,255,.025); font:italic 150px/.9 var(--cms-serif); letter-spacing:-.08em; pointer-events:none; }
.cms-dashboard-hero:after { content:""; position:absolute; right:6%; bottom:-220px; width:420px; height:420px; border:1px solid rgba(181,139,73,.14); border-radius:50%; }
.cms-dashboard-hero>div { position:relative; z-index:1; }
.cms-dashboard-hero h2 { margin:10px 0 13px; font:400 clamp(44px,5vw,76px)/.88 var(--cms-serif); letter-spacing:-.055em; }
.cms-dashboard-hero>div>p:last-child { max-width:600px; margin:0; color:#a7a196; font:16px/1.6 var(--cms-serif); }
.cms-dashboard-hero-actions { align-self:end; display:flex; gap:10px; }
.cms-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 16px; border:1px solid transparent; border-radius:10px; background:none; color:inherit; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease; }
.cms-button:hover { transform:translateY(-1px); }
.cms-button .cms-icon { width:16px; height:16px; }
.cms-button.primary { background:#191915; color:#fff; border-color:#191915; }
.cms-dashboard-hero .cms-button.primary { background:#c19859; border-color:#c19859; color:#161510; }
.cms-button.secondary { background:#fff; border-color:#c9c2b7; color:#22211d; }
.cms-button.ghost { border-color:#c9c2b7; background:transparent; color:#3e3b35; }
.cms-button.ghost-dark { border-color:#4a473f; color:#eee7dc; background:#22211d; }
.cms-button.danger { background:#7b282d; border-color:#7b282d; color:white; }
.cms-button.danger-outline { color:#8b3034; border-color:#d7b7b7; background:#fff8f7; }
.cms-button input[type=file] { display:none; }

.cms-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0; }
.cms-stats-grid article { min-height:155px; padding:22px; border:1px solid var(--cms-line); border-radius:16px; background:var(--cms-card); box-shadow:0 10px 30px rgba(24,23,20,.03); }
.cms-stats-grid article.attention { border-color:#d8c094; background:#f9f4e9; }
.cms-stat-top { display:flex; justify-content:space-between; align-items:center; color:#817b71; font-size:8px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.cms-stat-top .cms-icon { width:18px; height:18px; color:#a78753; }
.cms-stats-grid article>strong { display:block; margin:19px 0 7px; font:400 43px/.9 var(--cms-serif); letter-spacing:-.04em; }
.cms-stats-grid article>p { margin:0; color:#8c877e; font-size:10px; }
.cms-dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); gap:18px; margin-top:18px; }
.cms-panel { border:1px solid var(--cms-line); border-radius:18px; background:var(--cms-card); box-shadow:0 12px 35px rgba(24,23,20,.035); }
.cms-panel-head { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid #e5e0d7; }
.cms-panel-head.large { padding:24px 26px; }
.cms-panel-head h2,.cms-panel-head h3 { margin:0; font:400 25px/1 var(--cms-serif); letter-spacing:-.025em; }
.cms-panel-head>div>span { display:block; margin-top:6px; color:#8c877d; font-size:9px; }
.cms-panel-head>a { color:#80643b; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.cms-quick-actions { padding:8px; }
.cms-quick-actions>a { min-height:72px; display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:13px; padding:10px 12px; border-radius:12px; transition:.2s ease; }
.cms-quick-actions>a:hover { background:#f0ece4; }
.cms-quick-actions>a>span:first-child { width:42px; height:42px; display:grid; place-items:center; border:1px solid #ddd7cc; border-radius:11px; background:#fff; color:#8e6d3d; }
.cms-quick-actions>a>span:first-child .cms-icon { width:18px; height:18px; }
.cms-quick-actions>a>div { min-width:0; }
.cms-quick-actions strong,.cms-quick-actions small { display:block; }
.cms-quick-actions strong { font-size:11px; margin-bottom:4px; }
.cms-quick-actions small { color:#8c877d; font-size:9px; }
.cms-quick-actions>a>.cms-icon { width:14px; height:14px; color:#999287; }
.cms-mini-list { padding:8px; }
.cms-mini-list-row { min-height:68px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; padding:8px 10px; border-radius:11px; }
.cms-mini-list-row:hover { background:#f0ece4; }
.cms-mini-avatar { width:38px; height:38px; font-size:11px; }
.cms-mini-list-row>span:nth-child(2) { min-width:0; }
.cms-mini-list-row strong,.cms-mini-list-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cms-mini-list-row strong { font-size:10px; }
.cms-mini-list-row small { margin-top:4px; color:#8c877d; font-size:8px; }
.cms-status { display:inline-flex; align-items:center; justify-content:center; min-height:25px; padding:0 8px; border-radius:999px; background:#ece8df; color:#6d6961; font-style:normal; font-size:7px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.cms-status.available,.cms-status.qualified,.cms-status.closed { background:var(--cms-green-bg); color:var(--cms-green); }
.cms-status.new,.cms-status.private { background:#eee2cf; color:#755424; }
.cms-status.reserved,.cms-status.contacted { background:var(--cms-amber-bg); color:var(--cms-amber); }
.cms-status.sold,.cms-status.archived { background:#ebe9e4; color:#77736c; }
.cms-recent-works { margin-top:18px; }
.cms-work-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:#e4dfd5; border-radius:0 0 18px 18px; overflow:hidden; }
.cms-work-tile { min-width:0; padding:14px; background:var(--cms-card); }
.cms-work-thumb { height:150px; display:grid; place-items:center; overflow:hidden; background:#25231e; border-radius:10px; color:#fff; font-size:8px; }
.cms-work-thumb img { width:100%; height:100%; object-fit:contain; background:#1c1b18; }
.cms-work-tile>div:last-child { padding:11px 2px 2px; }
.cms-work-tile small,.cms-work-tile strong,.cms-work-tile span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cms-work-tile small { color:#9c7743; font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cms-work-tile strong { margin:5px 0; font:400 17px/1.1 var(--cms-serif); }
.cms-work-tile span { color:#8b867c; font-size:8px; }

.cms-workspace { display:grid; grid-template-columns:minmax(330px,390px) minmax(0,1fr); gap:18px; align-items:start; }
.cms-browser,.cms-editor-card,.cms-language-nav,.cms-language-editor,.cms-inquiry-panel,.cms-settings-main,.cms-security-card { border:1px solid var(--cms-line); border-radius:18px; background:var(--cms-card); box-shadow:0 12px 40px rgba(24,23,20,.035); }
.cms-browser { position:sticky; top:22px; overflow:hidden; }
.cms-browser-head { min-height:91px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px; border-bottom:1px solid #e2ddd3; }
.cms-browser-head h2 { margin:0; font:400 26px/1 var(--cms-serif); }
.cms-browser-head>div>span { display:block; margin-top:6px; color:#8d887e; font-size:8px; }
.cms-icon-button { width:42px; height:42px; display:grid; place-items:center; border:1px solid #cfc8bc; border-radius:11px; background:#fff; color:#312f2a; transition:.18s ease; }
.cms-icon-button:hover { background:#1a1a17; color:#fff; border-color:#1a1a17; }
.cms-icon-button .cms-icon { width:18px; height:18px; }
.cms-browser-tools { padding:13px; background:#f4f1ea; border-bottom:1px solid #e1dcd1; }
.cms-search-box { height:42px; display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid #cbc4b8; border-radius:10px; background:#fff; color:#817b71; }
.cms-search-box .cms-icon { width:16px; height:16px; }
.cms-search-box input { min-width:0; width:100%; border:0; outline:0; background:transparent; color:#22211d; font-size:11px; }
.cms-search-box input::placeholder { color:#aaa49a; }
.cms-filter-row { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:8px; }
.cms-filter-row select,.cms-inquiry-tools select { width:100%; height:38px; padding:0 30px 0 10px; border:1px solid #d1cabf; border-radius:9px; background:#fff; color:#5f5b54; font-size:9px; }
.cms-browser-list { max-height:calc(100vh - 276px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#bbb3a6 transparent; }
.cms-record-row { min-height:79px; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 12px; border-bottom:1px solid #ebe6dd; background:#fff; transition:.16s ease; }
.cms-record-row:hover { background:#f5f2eb; }
.cms-record-row.selected { position:relative; background:#eee8dc; }
.cms-record-row.selected:before { content:""; position:absolute; left:0; top:11px; bottom:11px; width:2px; background:#9f763a; }
.cms-record-thumb { width:58px; height:58px; display:grid; place-items:center; overflow:hidden; border-radius:9px; background:#2c2924; color:#eee7dc; font-size:7px; }
.cms-record-thumb img { width:100%; height:100%; object-fit:cover; }
.cms-record-thumb.series-thumb img { object-fit:cover; }
.cms-record-copy { min-width:0; }
.cms-record-copy small,.cms-record-copy strong,.cms-record-copy em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cms-record-copy small { color:#9b7846; font-size:7px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cms-record-copy strong { margin:4px 0 3px; font:400 15px/1.1 var(--cms-serif); }
.cms-record-copy em { color:#8c877e; font-size:8px; font-style:normal; }
.cms-record-row[hidden] { display:none!important; }
.cms-filter-empty { padding:35px 20px; color:#908a81; text-align:center; font:14px/1.5 var(--cms-serif); }
.cms-press-date { width:58px; color:#8b6a3a; font:400 13px var(--cms-serif); text-align:center; }

.cms-editor-card { min-width:0; overflow:hidden; }
.cms-editor-head { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border-bottom:1px solid #e1dcd2; }
.cms-editor-head h2 { margin:0; font:400 clamp(26px,2.2vw,36px)/1 var(--cms-serif); letter-spacing:-.03em; }
.cms-editor-head>div>span { display:block; margin-top:8px; color:#8b867d; font:12px/1.45 var(--cms-serif); }
.cms-editor-card>form,.cms-language-editor>form,.cms-settings-main>form { margin:0; }
.cms-form-section { padding:29px 30px 32px; border-bottom:1px solid #e5e0d7; }
.cms-section-title { display:grid; grid-template-columns:38px minmax(0,1fr); gap:13px; align-items:start; margin-bottom:23px; }
.cms-section-title>span { width:30px; height:30px; display:grid; place-items:center; border:1px solid #d2c4aa; border-radius:50%; color:#8c6939; font-size:7px; font-weight:700; }
.cms-section-title h3 { margin:1px 0 5px; font:400 22px/1 var(--cms-serif); }
.cms-section-title p { margin:0; color:#8a857c; font-size:9px; line-height:1.5; }
.cms-media-card { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:0; min-height:340px; overflow:hidden; border:1px solid #d7d0c4; border-radius:14px; background:#ece7de; }
.cms-media-preview { min-height:340px; display:grid; place-items:center; position:relative; overflow:hidden; background:#1d1c19; }
.cms-media-preview img { width:100%; height:100%; max-height:520px; object-fit:contain; background:#1b1a17; }
.cms-media-empty { display:flex; flex-direction:column; align-items:center; gap:9px; color:#a39c91; text-align:center; }
.cms-media-empty .cms-icon { width:27px; height:27px; opacity:.65; }
.cms-media-empty strong { color:#d9d1c4; font:400 18px var(--cms-serif); }
.cms-media-empty span { font-size:8px; }
.cms-media-actions { padding:22px; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; background:#f4f1ea; border-left:1px solid #d7d0c4; }
.cms-check { display:flex; align-items:flex-start; gap:9px; cursor:pointer; }
.cms-check input { margin-top:2px; accent-color:#2a2924; }
.cms-check span { color:#6f6a62; font-size:9px; line-height:1.45; }
.cms-fields { display:grid; gap:17px; }
.cms-fields.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cms-fields label,.cms-security-card form label { min-width:0; display:flex; flex-direction:column; gap:7px; }
.cms-fields label.full { grid-column:1/-1; }
.cms-fields label>span,.cms-security-card label>span { color:#5e5a53; font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.cms-fields label>span b { margin-left:5px; color:#9b5a43; font-size:6px; letter-spacing:.08em; }
.cms-fields input,.cms-fields textarea,.cms-fields select,.cms-security-card input,.cms-translation-fields textarea { width:100%; border:1px solid #cfc8bc; border-radius:9px; background:#fff; color:#1e1d1a; outline:0; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.cms-fields input,.cms-fields select,.cms-security-card input { min-height:44px; padding:0 12px; font-size:11px; }
.cms-fields textarea,.cms-translation-fields textarea { padding:12px; resize:vertical; font-size:11px; line-height:1.55; }
.cms-fields input:focus,.cms-fields textarea:focus,.cms-fields select:focus,.cms-security-card input:focus,.cms-translation-fields textarea:focus { border-color:#9b7a47; box-shadow:0 0 0 3px rgba(181,139,73,.09); }
.cms-fields label>small,.cms-security-card label>small { color:#999288; font-size:8px; line-height:1.45; }
.cms-char-count { align-self:flex-end; }
.cms-toggle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:20px; }
.cms-toggle-grid.one { grid-template-columns:minmax(0,380px); }
.cms-toggle { min-width:0; cursor:pointer; }
.cms-toggle>input { position:absolute; opacity:0; pointer-events:none; }
.cms-toggle>span { min-height:98px; display:block; position:relative; padding:15px 15px 15px 54px; border:1px solid #d6d0c5; border-radius:12px; background:#fff; transition:.18s ease; }
.cms-toggle>span>i { position:absolute; left:15px; top:16px; width:27px; height:16px; border-radius:999px; background:#d4d0c8; transition:.18s ease; }
.cms-toggle>span>i:after { content:""; position:absolute; left:2px; top:2px; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.18s ease; }
.cms-toggle strong,.cms-toggle small { display:block; }
.cms-toggle strong { font-size:9px; margin-bottom:5px; }
.cms-toggle small { color:#8b867d; font-size:8px; line-height:1.45; }
.cms-toggle>input:checked+span { border-color:#bfa67f; background:#f8f3e9; }
.cms-toggle>input:checked+span>i { background:#9d783e; }
.cms-toggle>input:checked+span>i:after { transform:translateX(11px); }
.cms-savebar { position:sticky; bottom:0; z-index:15; min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px 14px 30px; background:rgba(250,248,243,.94); border-top:1px solid #dcd6cc; backdrop-filter:blur(16px); }
.cms-savebar>div:first-child { min-width:0; }
.cms-savebar strong,.cms-savebar span { display:block; }
.cms-savebar strong { font-size:10px; }
.cms-savebar span { margin-top:3px; color:#908a81; font-size:8px; }
.cms-savebar>div:last-child { display:flex; gap:8px; }
.cms-savebar.is-dirty { background:rgba(248,241,227,.96); border-color:#d4bd91; }
.cms-savebar.is-dirty [data-dirty-label] { color:#875f26; }

.cms-demo-drawer { margin-bottom:18px; overflow:hidden; border:1px solid #37352f; border-radius:16px; background:#1b1b18; color:#f5efe5; }
.cms-demo-drawer summary { min-height:74px; padding:15px 19px; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; }
.cms-demo-drawer summary::-webkit-details-marker { display:none; }
.cms-demo-drawer summary>span:first-child { display:flex; flex-direction:column; gap:4px; }
.cms-demo-drawer summary b { font:400 17px var(--cms-serif); }
.cms-demo-drawer summary small { color:#8f8a80; font-size:8px; }
.cms-demo-drawer summary>span:last-child { color:#c39d63; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.cms-demo-content { padding:0 19px 19px; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; border-top:1px solid #302f2a; }
.cms-demo-content>p { max-width:700px; margin:18px 0 0; color:#aaa49a; font:13px/1.55 var(--cms-serif); }
.cms-demo-content>div { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.cms-demo-content .cms-button.secondary { background:#c39a5e; border-color:#c39a5e; color:#181713; }
.cms-demo-content .cms-button.ghost { border-color:#4b4941; color:#ddd5ca; }

.cms-language-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:18px; align-items:start; }
.cms-language-nav { position:sticky; top:22px; padding:26px; }
.cms-language-nav h2 { margin:0; font:400 29px var(--cms-serif); }
.cms-language-nav>p:not(.cms-kicker) { margin:13px 0 24px; color:#878178; font:13px/1.55 var(--cms-serif); }
.cms-language-tabs { display:flex; flex-direction:column; gap:6px; }
.cms-language-tabs a { min-height:58px; display:grid; grid-template-columns:38px minmax(0,1fr) 16px; gap:10px; align-items:center; padding:8px 10px; border:1px solid transparent; border-radius:11px; }
.cms-language-tabs a:hover { background:#f0ece4; }
.cms-language-tabs a.active { background:#1b1b18; color:white; }
.cms-language-tabs a>span { width:38px; height:38px; display:grid; place-items:center; border:1px solid #d7d0c5; border-radius:9px; color:#8f6f3e; font-size:8px; font-weight:700; }
.cms-language-tabs a.active>span { border-color:#454139; color:#c49a5b; }
.cms-language-tabs strong { font-size:10px; }
.cms-language-tabs .cms-icon { width:13px; height:13px; color:#918b82; }
.cms-language-editor { min-width:0; overflow:hidden; }
.language-search { width:min(310px,40%); }
.cms-translation-groups { padding:22px; background:#f4f1ea; }
.cms-translation-group { margin-bottom:14px; overflow:hidden; border:1px solid #dcd6cb; border-radius:13px; background:#fff; }
.cms-translation-group[hidden] { display:none; }
.cms-translation-group-head { min-height:64px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid #e7e2da; background:#faf8f4; }
.cms-translation-group-head>span { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:#eee9df; color:#8b6939; font-size:7px; font-weight:700; }
.cms-translation-group-head h3 { margin:0; font:400 19px var(--cms-serif); }
.cms-translation-group-head small { color:#969087; font-size:8px; }
.cms-translation-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.cms-translation-fields label { min-width:0; padding:16px; border-right:1px solid #eee9e0; border-bottom:1px solid #eee9e0; }
.cms-translation-fields label:nth-child(2n) { border-right:0; }
.cms-translation-fields label[hidden] { display:none; }
.cms-translation-fields label>span { min-height:31px; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; color:#5d5952; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.cms-translation-fields code { max-width:50%; overflow:hidden; text-overflow:ellipsis; color:#aaa399; font:7px var(--cms-sans); text-transform:none; letter-spacing:0; white-space:nowrap; }
.cms-translation-fields textarea { min-height:70px; }
.cms-translation-groups[dir="rtl"] .cms-translation-fields textarea { direction:rtl; text-align:right; font-size:13px; }

.cms-inquiry-panel { overflow:hidden; }
.cms-inquiry-tools { min-width:min(540px,48vw); display:grid; grid-template-columns:minmax(240px,1fr) 145px; gap:8px; }
.cms-inquiry-list { background:#f4f1ea; padding:14px; }
.cms-inquiry-card { display:grid; grid-template-columns:minmax(210px,.9fr) minmax(150px,.55fr) minmax(260px,1.35fr) 180px; gap:18px; align-items:start; padding:18px; margin-bottom:8px; border:1px solid #ddd7cc; border-radius:13px; background:#fff; }
.cms-inquiry-card.unread { border-left:3px solid #b18647; background:#fffdf8; }
.cms-inquiry-person { display:grid; grid-template-columns:40px minmax(0,1fr); gap:11px; align-items:start; }
.cms-inquiry-person>div { min-width:0; }
.cms-inquiry-person strong,.cms-inquiry-person a,.cms-inquiry-person small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cms-inquiry-person strong { font-size:11px; margin-bottom:4px; }
.cms-inquiry-person a { color:#7d5f34; font-size:9px; margin-bottom:4px; }
.cms-inquiry-person small { color:#918b82; font-size:8px; }
.cms-inquiry-interest small,.cms-inquiry-message small { display:block; margin-bottom:6px; color:#9d968c; font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cms-inquiry-interest strong { display:block; font:400 15px var(--cms-serif); }
.cms-inquiry-interest span { display:block; margin-top:5px; color:#7f7970; font-size:8px; }
.cms-inquiry-message p { max-height:82px; overflow:auto; margin:0; color:#59554e; font:12px/1.5 var(--cms-serif); }
.cms-inquiry-meta { display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.cms-inquiry-meta time { color:#9b958c; font-size:8px; }
.cms-status-form select { width:100%; min-height:38px; padding:0 9px; border:1px solid #d0c9bd; border-radius:9px; background:#f9f7f2; color:#4f4b45; font-size:9px; }

.cms-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start; }
.cms-settings-main { overflow:hidden; }
.portrait-card { grid-template-columns:minmax(0,1fr) 220px; }
.portrait-preview { min-height:400px; }
.portrait-preview img { object-fit:cover; object-position:center; }
.cms-security-card { position:sticky; top:22px; padding:28px; background:#1a1a17; color:#eee8dd; border-color:#33322c; }
.cms-security-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:27px; border:1px solid #464238; border-radius:13px; color:#c39a5d; background:#20201c; }
.cms-security-icon .cms-icon { width:22px; height:22px; }
.cms-security-card h2 { margin:0; font:400 28px/1.05 var(--cms-serif); }
.cms-security-card>p:not(.cms-kicker) { margin:13px 0 25px; color:#a19a8f; font:13px/1.55 var(--cms-serif); }
.cms-security-card form { display:grid; gap:15px; }
.cms-security-card label>span { color:#b4ada2; }
.cms-security-card input { border-color:#49473f; background:#22221e; color:#fff; }
.cms-security-card input:focus { border-color:#aa8650; }
.cms-security-card label>small { color:#706c64; }
.cms-security-card .cms-button.secondary { margin-top:4px; background:#c0975a; border-color:#c0975a; color:#171611; }
.cms-security-note { margin-top:26px; padding-top:20px; border-top:1px solid #34332d; }
.cms-security-note strong,.cms-security-note span { display:block; }
.cms-security-note strong { font-size:9px; margin-bottom:5px; }
.cms-security-note span { color:#777169; font-size:8px; line-height:1.5; }

.cms-empty-state { min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#8e887f; text-align:center; }
.cms-empty-state.compact { min-height:220px; }
.cms-empty-state>span { width:48px; height:48px; display:grid; place-items:center; margin-bottom:5px; border:1px solid #d6d0c5; border-radius:50%; color:#997444; }
.cms-empty-state>span .cms-icon { width:20px; height:20px; }
.cms-empty-state strong { color:#4d4943; font:400 18px var(--cms-serif); }
.cms-empty-state p { margin:0; font-size:9px; }

.cms-confirm[hidden] { display:none; }
.cms-confirm { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; }
.cms-confirm-backdrop { position:absolute; inset:0; background:rgba(10,10,9,.66); backdrop-filter:blur(6px); }
.cms-confirm-dialog { position:relative; z-index:1; width:min(440px,100%); padding:32px; border:1px solid #d6d0c5; border-radius:18px; background:#faf8f3; box-shadow:0 40px 120px rgba(0,0,0,.28); }
.cms-confirm-mark { width:42px; height:42px; display:grid; place-items:center; margin-bottom:22px; border-radius:50%; background:#f0dede; color:#872f33; font-weight:700; }
.cms-confirm-dialog h2 { margin:0; font:400 30px/1 var(--cms-serif); }
.cms-confirm-dialog>p:not(.cms-kicker) { margin:14px 0 25px; color:#766f66; font:14px/1.55 var(--cms-serif); }
.cms-confirm-dialog>div { display:flex; justify-content:flex-end; gap:8px; }
body.cms-modal-open { overflow:hidden; }

/* Palette fallback surfaces */
.cms-work-thumb.lapis,.cms-record-thumb.lapis,.cms-media-preview.lapis { background:#203452; }
.cms-work-thumb.ruby,.cms-record-thumb.ruby,.cms-media-preview.ruby { background:#782b35; }
.cms-work-thumb.emerald,.cms-record-thumb.emerald,.cms-media-preview.emerald { background:#255342; }
.cms-work-thumb.amber,.cms-record-thumb.amber,.cms-media-preview.amber { background:#98602e; }
.cms-work-thumb.violet,.cms-record-thumb.violet,.cms-media-preview.violet { background:#5c4667; }
.cms-work-thumb.pearl,.cms-record-thumb.pearl,.cms-media-preview.pearl { background:#898376; }

@media (max-width:1320px) {
  .admin-app { grid-template-columns:252px minmax(0,1fr); }
  .admin-sidebar { padding-left:17px; padding-right:17px; }
  .cms-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cms-work-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cms-work-tile:nth-child(n+4) { display:none; }
  .cms-inquiry-card { grid-template-columns:minmax(190px,.9fr) minmax(130px,.55fr) minmax(220px,1.2fr) 155px; gap:12px; }
}

@media (max-width:1080px) {
  .admin-app { display:block; }
  .admin-sidebar { position:fixed; left:0; top:0; width:min(310px,88vw); height:100vh; transform:translateX(-105%); transition:transform .28s cubic-bezier(.22,.8,.24,1); box-shadow:30px 0 80px rgba(0,0,0,.22); }
  body.admin-nav-open .admin-sidebar { transform:none; }
  .admin-sidebar-close { display:grid; }
  .admin-sidebar-backdrop { position:fixed; inset:0; z-index:70; width:100%; height:100%; border:0; background:rgba(13,13,11,.48); backdrop-filter:blur(3px); opacity:0; pointer-events:none; transition:opacity .25s ease; }
  body.admin-nav-open .admin-sidebar-backdrop { display:block; opacity:1; pointer-events:auto; }
  .admin-main { padding:22px 24px 70px; }
  .admin-menu-button { display:grid; }
  .admin-topbar { min-height:84px; grid-template-columns:auto minmax(0,1fr) auto; }
  .admin-heading>span { display:none; }
  .cms-dashboard-grid { grid-template-columns:1fr; }
  .cms-workspace,.cms-language-layout,.cms-settings-layout { grid-template-columns:1fr; }
  .cms-browser,.cms-language-nav,.cms-security-card { position:relative; top:auto; }
  .cms-browser-list { max-height:520px; }
  .cms-language-nav { padding:18px; }
  .cms-language-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .cms-language-tabs a { grid-template-columns:38px minmax(0,1fr); }
  .cms-language-tabs a>.cms-icon { display:none; }
  .cms-inquiry-card { grid-template-columns:1fr 1fr; }
  .cms-inquiry-message { grid-column:1/-1; }
  .cms-inquiry-meta { flex-direction:row; align-items:center; justify-content:space-between; grid-column:1/-1; }
  .cms-status-form { width:180px; }
  .cms-inquiry-tools { min-width:0; }
}

@media (max-width:760px) {
  .admin-main { padding:14px 12px 80px; }
  .admin-topbar { min-height:70px; margin-bottom:15px; grid-template-columns:44px minmax(0,1fr) 44px; gap:9px; }
  .admin-menu-button { width:44px; height:44px; border-radius:11px; }
  .admin-heading p { margin-bottom:4px; font-size:7px; }
  .admin-heading h1 { font-size:29px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .admin-site-link { width:44px; min-height:44px; padding:0; }
  .admin-site-link span { display:none; }
  .cms-dashboard-hero { min-height:330px; padding:31px 24px; grid-template-columns:1fr; align-items:end; }
  .cms-dashboard-hero h2 { font-size:52px; }
  .cms-dashboard-hero>div>p:last-child { font-size:14px; }
  .cms-dashboard-hero-actions { width:100%; align-self:end; display:grid; grid-template-columns:1fr 1fr; }
  .cms-dashboard-hero .cms-button { padding:0 10px; }
  .cms-stats-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .cms-stats-grid article { min-height:132px; padding:16px; }
  .cms-stats-grid article>strong { font-size:36px; }
  .cms-stat-top { font-size:7px; }
  .cms-panel { border-radius:14px; }
  .cms-panel-head { min-height:72px; padding:16px; }
  .cms-panel-head h3 { font-size:22px; }
  .cms-work-strip { grid-template-columns:1fr 1fr; }
  .cms-work-tile:nth-child(3) { display:none; }
  .cms-work-thumb { height:150px; }
  .cms-workspace { gap:12px; }
  .cms-browser,.cms-editor-card,.cms-language-nav,.cms-language-editor,.cms-inquiry-panel,.cms-settings-main,.cms-security-card { border-radius:14px; }
  .cms-browser { position:relative; }
  .cms-browser-head { min-height:78px; padding:14px; }
  .cms-browser-head h2 { font-size:23px; }
  .cms-browser-list { max-height:410px; }
  .cms-record-row { min-height:70px; grid-template-columns:51px minmax(0,1fr) auto; gap:9px; padding:9px; }
  .cms-record-thumb { width:51px; height:51px; }
  .cms-record-copy strong { font-size:14px; }
  .cms-status { padding:0 6px; font-size:6px; }
  .cms-editor-head { min-height:auto; padding:19px 16px; align-items:flex-start; flex-direction:column; }
  .cms-editor-head h2 { font-size:29px; }
  .cms-link-button { width:100%; }
  .cms-form-section { padding:23px 16px 26px; }
  .cms-section-title { grid-template-columns:32px minmax(0,1fr); gap:9px; }
  .cms-section-title>span { width:27px; height:27px; }
  .cms-section-title h3 { font-size:20px; }
  .cms-media-card,.portrait-card { grid-template-columns:1fr; min-height:0; }
  .cms-media-preview,.portrait-preview { min-height:280px; }
  .cms-media-actions { border-left:0; border-top:1px solid #d7d0c4; padding:14px; }
  .cms-fields.two { grid-template-columns:1fr; }
  .cms-fields label.full { grid-column:auto; }
  .cms-fields input,.cms-fields select,.cms-security-card input { min-height:48px; font-size:16px; }
  .cms-fields textarea,.cms-translation-fields textarea { font-size:16px; }
  .cms-toggle-grid,.cms-toggle-grid.one { grid-template-columns:1fr; }
  .cms-toggle>span { min-height:82px; }
  .cms-savebar { margin:0 -16px -26px; min-height:82px; padding:12px 14px; gap:10px; }
  .cms-savebar>div:first-child { display:none; }
  .cms-savebar>div:last-child,.cms-savebar>.cms-button { width:100%; display:grid; grid-template-columns:1fr 1.5fr; }
  .cms-savebar>button.cms-button { width:100%; display:flex; }
  .cms-savebar>div:last-child .cms-button { width:100%; }
  .cms-demo-drawer summary { padding:13px 14px; }
  .cms-demo-drawer summary>span:last-child { display:none; }
  .cms-demo-content { padding:0 14px 14px; flex-direction:column; align-items:stretch; gap:10px; }
  .cms-demo-content>div { display:grid; grid-template-columns:1fr; width:100%; }
  .cms-language-tabs { grid-template-columns:1fr 1fr; }
  .language-search { width:100%; }
  .cms-translation-groups { padding:10px; }
  .cms-translation-fields { grid-template-columns:1fr; }
  .cms-translation-fields label,.cms-translation-fields label:nth-child(2n) { border-right:0; }
  .cms-translation-group-head { grid-template-columns:42px minmax(0,1fr) auto; padding:10px; }
  .cms-inquiry-panel .cms-panel-head.large { flex-direction:column; align-items:stretch; }
  .cms-inquiry-tools { grid-template-columns:1fr; width:100%; }
  .cms-inquiry-tools select { min-height:44px; font-size:16px; }
  .cms-inquiry-card { grid-template-columns:1fr; padding:14px; }
  .cms-inquiry-message,.cms-inquiry-meta { grid-column:auto; }
  .cms-inquiry-meta { flex-direction:column; align-items:stretch; }
  .cms-status-form { width:100%; }
  .cms-status-form select { min-height:46px; font-size:16px; }
  .cms-security-card { padding:23px 18px; }
  .cms-confirm-dialog { padding:25px 20px; }
  .cms-confirm-dialog>div { display:grid; grid-template-columns:1fr 1fr; }
}

@media (max-width:440px) {
  .cms-stats-grid { grid-template-columns:1fr; }
  .cms-dashboard-hero-actions { grid-template-columns:1fr; }
  .cms-work-strip { grid-template-columns:1fr; }
  .cms-work-tile:nth-child(2) { display:none; }
  .cms-filter-row { grid-template-columns:1fr; }
  .cms-language-tabs { grid-template-columns:1fr; }
  .cms-record-row { grid-template-columns:48px minmax(0,1fr); }
  .cms-record-row>.cms-status { grid-column:2; justify-self:start; }
}

@media (prefers-reduced-motion:reduce) {
  .admin-sidebar,.admin-nav-item,.cms-button,.cms-toggle>span,.cms-toggle>span>i,.cms-toggle>span>i:after { transition:none!important; }
}
.cms-mobile-back { display:none; }
@media (max-width:760px) {
  .cms-mobile-back { display:flex; align-items:center; min-height:42px; padding:0 16px; border-bottom:1px solid #e3ddd3; color:#81643a; background:#f6f2ea; font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
  body.admin-editing[data-admin-tab="artworks"] .cms-workspace>.cms-browser,
  body.admin-editing[data-admin-tab="collections"] .cms-workspace>.cms-browser,
  body.admin-editing[data-admin-tab="press"] .cms-workspace>.cms-browser { display:none; }
  body:not(.admin-editing)[data-admin-tab="artworks"] .cms-workspace>.cms-editor-card,
  body:not(.admin-editing)[data-admin-tab="collections"] .cms-workspace>.cms-editor-card,
  body:not(.admin-editing)[data-admin-tab="press"] .cms-workspace>.cms-editor-card { display:none; }
}

/* v3.9.1 — Atelier CMS login */
body.cms-login-page { min-height:100vh; background:#11110f; overflow-x:hidden; }
.cms-login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(390px,.88fr) minmax(540px,1.12fr); background:var(--cms-paper); }
.cms-login-brand { min-width:0; min-height:100vh; position:relative; overflow:hidden; padding:46px clamp(34px,5vw,78px) 42px; display:flex; flex-direction:column; color:#f5efe4; background:
  radial-gradient(circle at 70% 34%,rgba(181,139,73,.12),transparent 31%),
  linear-gradient(145deg,#10100e 0%,#171713 62%,#12120f 100%); }
.cms-login-brand:before { content:""; position:absolute; width:min(46vw,670px); aspect-ratio:1; left:-30%; top:23%; border:1px solid rgba(181,139,73,.16); border-radius:50%; box-shadow:0 0 0 72px rgba(181,139,73,.025),0 0 0 144px rgba(181,139,73,.018); pointer-events:none; }
.cms-login-brand:after { content:"Donleon"; position:absolute; right:-9%; bottom:8%; font:italic clamp(110px,13vw,235px)/.72 var(--cms-serif); letter-spacing:-.085em; color:rgba(255,255,255,.018); pointer-events:none; white-space:nowrap; }
.cms-login-wordmark { position:relative; z-index:2; align-self:flex-start; color:#fff!important; font:italic 48px/.82 var(--cms-serif); letter-spacing:-.065em; }
.cms-login-brand-copy { position:relative; z-index:2; margin:auto 0; max-width:610px; }
.cms-login-eyebrow { margin:0 0 30px; color:#bd985f; font-size:8px; font-weight:700; letter-spacing:.27em; text-transform:uppercase; }
.cms-login-brand-copy h1 { max-width:610px; margin:0 0 29px; font:400 clamp(52px,5.8vw,94px)/.86 var(--cms-serif); letter-spacing:-.057em; }
.cms-login-brand-copy h1 em { color:#c59c5f; font-weight:400; }
.cms-login-brand-copy>p:last-child { max-width:520px; margin:0; color:#8e897f; font:15px/1.7 var(--cms-serif); }
.cms-login-brand-footer { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid rgba(255,255,255,.09); color:#6f6b63; font-size:7px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }

.cms-login-panel { min-width:0; min-height:100vh; position:relative; padding:clamp(38px,5vw,82px); display:grid; place-items:center; background:
  linear-gradient(rgba(20,20,17,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(20,20,17,.035) 1px,transparent 1px),
  var(--cms-paper); background-size:72px 72px; }
.cms-login-panel:before { content:""; position:absolute; inset:7% 7%; border:1px solid rgba(181,139,73,.12); pointer-events:none; }
.cms-login-card { width:min(100%,620px); position:relative; z-index:2; padding:clamp(34px,4vw,60px); border:1px solid var(--cms-line); border-radius:22px; background:rgba(251,250,246,.96); box-shadow:0 35px 90px rgba(31,29,24,.12); backdrop-filter:blur(14px); }
.cms-login-card-head { display:grid; grid-template-columns:42px minmax(0,1fr); gap:20px; align-items:start; margin-bottom:36px; }
.cms-login-index { width:36px; height:25px; display:grid; place-items:center; margin-top:3px; border:1px solid #cbb891; border-radius:999px; color:#946e34; font-size:7px; font-weight:700; letter-spacing:.12em; }
.cms-login-card-head p { margin:0 0 9px; color:#956f39; font-size:8px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.cms-login-card-head h2 { margin:0; font:400 clamp(40px,4.2vw,59px)/.9 var(--cms-serif); letter-spacing:-.045em; }
.cms-login-card-head div>span { display:block; margin-top:13px; color:#827d74; font:14px/1.55 var(--cms-serif); }
.cms-login-error { margin:-9px 0 25px; padding:13px 15px; display:grid; grid-template-columns:29px minmax(0,1fr); gap:11px; align-items:center; border:1px solid #dfc1bf; border-radius:11px; background:#fff5f4; color:#833238; }
.cms-login-error>span { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:#f0d9d7; font-size:11px; font-weight:800; }
.cms-login-error p { margin:0; font-size:10px; line-height:1.45; }
.cms-login-form { display:grid; gap:19px; }
.cms-login-form>label { display:flex; flex-direction:column; gap:8px; }
.cms-login-form>label>span:first-child { color:#5f5a52; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.cms-login-input { min-height:56px; display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:12px; align-items:center; padding:0 15px; border:1px solid #cfc8bc; border-radius:11px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.cms-login-input:focus-within { border-color:#a9854d; box-shadow:0 0 0 4px rgba(181,139,73,.095); background:#fffefa; }
.cms-login-input>svg { width:18px; height:18px; fill:none; stroke:#999187; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.cms-login-input input { min-width:0; width:100%; height:52px; padding:0; border:0; outline:0; background:transparent; color:#1e1d19; font-size:13px; }
.cms-login-input input::placeholder { color:#aaa49b; }
.cms-login-reveal { width:38px; height:38px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:#777168; cursor:pointer; transition:.18s ease; }
.cms-login-reveal:hover { background:#f1ede5; color:#2a2925; }
.cms-login-reveal svg { grid-area:1/1; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.cms-login-reveal .eye-closed { opacity:0; }
.cms-login-reveal[aria-pressed="true"] .eye-open { opacity:0; }
.cms-login-reveal[aria-pressed="true"] .eye-closed { opacity:1; }
.cms-login-submit { min-height:58px; margin-top:7px; padding:0 19px 0 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #171713; border-radius:11px; background:#171713; color:#f6f0e7; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:transform .18s ease,background .18s ease,border-color .18s ease; }
.cms-login-submit:hover { transform:translateY(-1px); background:#26241e; border-color:#26241e; }
.cms-login-submit svg { width:18px; height:18px; fill:none; stroke:#c79d60; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.cms-login-submit:hover svg { transform:translateX(3px); }
.cms-login-submit.is-loading { pointer-events:none; opacity:.74; }
.cms-login-card-foot { margin-top:30px; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #e2ddd4; }
.cms-login-card-foot a { display:inline-flex; align-items:center; gap:8px; color:#504d47!important; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cms-login-card-foot a svg { width:15px; height:15px; fill:none; stroke:#99723b; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.cms-login-card-foot>span { color:#aaa49a; font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

@media (max-width:980px) {
  .cms-login-shell { grid-template-columns:1fr; }
  .cms-login-brand { min-height:340px; padding:34px clamp(26px,7vw,62px); }
  .cms-login-brand-copy { margin:70px 0 50px; }
  .cms-login-brand-copy h1 { max-width:660px; font-size:clamp(48px,9vw,78px); }
  .cms-login-brand-copy>p:last-child { display:none; }
  .cms-login-brand-footer { padding-top:18px; }
  .cms-login-panel { min-height:auto; padding:55px clamp(24px,7vw,70px) 75px; }
}
@media (max-width:600px) {
  body.cms-login-page { background:var(--cms-paper); }
  .cms-login-brand { min-height:255px; padding:27px 22px 25px; }
  .cms-login-wordmark { font-size:39px; }
  .cms-login-brand-copy { margin:auto 0 22px; }
  .cms-login-eyebrow { margin-bottom:18px; font-size:7px; }
  .cms-login-brand-copy h1 { margin-bottom:0; font-size:45px; line-height:.88; }
  .cms-login-brand-footer { display:none; }
  .cms-login-panel { padding:22px 14px 42px; place-items:start stretch; background:var(--cms-paper); }
  .cms-login-panel:before { display:none; }
  .cms-login-card { width:100%; padding:27px 20px 24px; border-radius:16px; box-shadow:0 18px 55px rgba(31,29,24,.07); }
  .cms-login-card-head { grid-template-columns:32px minmax(0,1fr); gap:12px; margin-bottom:27px; }
  .cms-login-index { width:29px; height:22px; }
  .cms-login-card-head h2 { font-size:40px; }
  .cms-login-card-head div>span { margin-top:10px; font-size:13px; }
  .cms-login-input { min-height:54px; padding:0 13px; }
  .cms-login-input input { height:52px; font-size:16px; }
  .cms-login-submit { min-height:55px; }
  .cms-login-card-foot { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .cms-login-submit,.cms-login-submit svg,.cms-login-input,.cms-login-reveal { transition:none!important; }
}
