:root{
  --admin-bg:#f3f0eb;
  --admin-paper:#fff;
  --admin-ink:#171717;
  --admin-muted:#77736d;
  --admin-line:rgba(23,23,23,.09);
  --admin-dark:#111;
  --admin-dark-2:#191919;
  --admin-accent:#d97a16;
  --admin-accent-deep:#8e4b08;
  --admin-radius:22px;
  --admin-shadow:0 18px 55px rgba(20,20,20,.08);
}
*{box-sizing:border-box}
html{background:var(--admin-bg)}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--admin-bg);color:var(--admin-ink);line-height:1.55}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.small{font-size:12px;color:var(--admin-muted)}
.admin-kicker{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--admin-accent-deep);font-weight:800}

/* Login */
.login{min-height:100vh;background:radial-gradient(circle at 10% 20%,rgba(217,122,22,.16),transparent 28%),linear-gradient(135deg,#101010 0%,#191919 100%);display:grid;place-items:center;padding:28px}
.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(255,255,255,.1);border-radius:34px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.34);background:#fff}
.login-brand-panel{min-height:620px;padding:52px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 30%),linear-gradient(160deg,#1c1c1c,#0d0d0d);color:#fff}
.login-logo{width:min(280px,75%);height:auto}
.login-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#f1b277;font-weight:700}
.login-brand-panel h1{font-family:Georgia,serif;font-size:58px;line-height:.95;font-weight:400;margin:10px 0 18px}
.login-brand-panel p{max-width:410px;color:rgba(255,255,255,.72);font-size:17px}
.login-card{padding:56px;align-self:center}
.login-card h2{font-family:Georgia,serif;font-size:44px;line-height:1;font-weight:400;margin:8px 0 12px}
.login-card>p{margin:0 0 28px;color:var(--admin-muted)}
.login-card label{display:block;margin:18px 0 7px;font-size:13px;font-weight:700}
.login-card input{margin:0}
.login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;padding:14px 18px;border:0;border-radius:999px;background:var(--admin-dark);color:#fff;font-weight:700}
.login-submit span{font-size:16px}
.login-card small{display:block;margin-top:20px;text-align:center;color:#999}

/* Main admin shell */
.admin{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px 20px;background:radial-gradient(circle at 20% 0%,rgba(217,122,22,.18),transparent 22%),linear-gradient(180deg,#151515 0%,#0f0f0f 100%);color:#eee;display:flex;flex-direction:column;overflow-y:auto}
.admin-brand{display:flex;align-items:center;gap:12px;min-height:66px;margin:0 6px 28px;text-decoration:none}
.admin-brand img{width:178px;height:auto;max-height:58px;object-fit:contain;object-position:left center}
.admin-brand>span{padding:5px 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#cfc8bf;font-size:10px;letter-spacing:.16em}
.sidebar-label{margin:0 12px 8px;color:#79736d;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.sidebar-label--spaced{margin-top:22px}
.admin-nav{display:grid;gap:4px}
.admin-nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 13px;border-radius:13px;color:#cfcfcf;text-decoration:none;font-size:14px;transition:background .2s ease,color .2s ease,transform .2s ease}
.admin-nav a::before{content:'';width:5px;height:5px;border-radius:50%;margin-right:11px;background:#575757;transition:.2s ease}
.admin-nav a:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}
.admin-nav a.active{background:linear-gradient(90deg,rgba(217,122,22,.21),rgba(255,255,255,.06));color:#fff}
.admin-nav a.active::before{background:var(--admin-accent);box-shadow:0 0 0 4px rgba(217,122,22,.12)}
.sidebar-footer{margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px}
.sidebar-footer a{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-radius:12px;color:#b8b8b8;text-decoration:none;font-size:13px}
.sidebar-footer a:hover{background:rgba(255,255,255,.06);color:#fff}

.main{width:100%;max-width:1680px;padding:34px 38px 60px}
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.top-title h1{font-family:Georgia,serif;font-size:42px;line-height:1;font-weight:400;margin:5px 0 8px}
.admin-user{display:flex;align-items:center;gap:11px;padding:8px 12px 8px 8px;border:1px solid var(--admin-line);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(20,20,20,.05)}
.admin-user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--admin-dark);color:#fff;font-weight:800}
.admin-user div{display:flex;flex-direction:column;line-height:1.2}.admin-user strong{font-size:13px}.admin-user div span{margin-top:4px;color:var(--admin-muted);font-size:10px;text-transform:capitalize}

.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card,.panel{background:var(--admin-paper);border:1px solid var(--admin-line);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow)}
.card{padding:22px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between}
.card span{color:var(--admin-muted);font-size:12px}.card strong{display:block;font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:1;margin-top:14px}
.panel{padding:24px}
.panel h2,.panel h3{margin-top:0}.panel h2{font-size:22px}.panel h3{font-size:17px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.alert,.ok{padding:13px 16px;margin:0 0 18px;border-radius:14px;border:1px solid transparent;font-size:13px}
.alert{background:#fff1f1;border-color:#f0caca;color:#8a2828}.ok{background:#eef9f1;border-color:#cce8d4;color:#2f6c3e}

input,textarea,select{width:100%;padding:12px 14px;border:1px solid #dcd8d2;border-radius:13px;background:#fff;color:var(--admin-ink);margin:5px 0 14px;transition:border-color .2s ease,box-shadow .2s ease}
input:focus,textarea:focus,select:focus{outline:none;border-color:rgba(217,122,22,.55);box-shadow:0 0 0 4px rgba(217,122,22,.10)}
textarea{min-height:180px;resize:vertical}
label{font-size:12px;font-weight:700;color:#4d4a46}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 15px;border:0;border-radius:12px;background:var(--admin-dark);color:#fff;text-decoration:none;font-weight:700;font-size:13px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(20,20,20,.12)}
.btn.secondary,.btn-small.secondary{background:#6d6a66}.btn-small.danger{background:#a74343}

.table-scroll{overflow:auto;border-radius:16px}
.panel table{width:100%;border-collapse:separate;border-spacing:0}
.panel th{padding:11px 12px;border-bottom:1px solid var(--admin-line);background:#faf8f5;color:#7d7973;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap}
.panel td{padding:14px 12px;border-bottom:1px solid #efede9;text-align:left;vertical-align:middle;font-size:13px}.panel tr:last-child td{border-bottom:0}
.thumb{width:120px;height:78px;object-fit:cover;border-radius:10px}.thumb-empty{display:grid;place-items:center;background:#f0eeea;color:#999;font-size:10px}

/* Reference editor */
.panel-head-row,.reference-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.reference-overview-head{margin-bottom:18px;padding:8px 2px}.reference-overview-head h2,.panel-head-row h2,.panel-head-row h3{margin:.2rem 0 .35rem}
.reference-editor{padding:30px}.reference-form{max-width:1080px}.reference-form textarea{min-height:120px}
.dropzone{position:relative;display:flex;min-height:235px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:26px;border:2px dashed #d5cfc7;border-radius:22px;background:linear-gradient(180deg,#fbfaf8,#f7f3ed);text-align:center;cursor:pointer;transition:.25s ease}
.dropzone:hover,.dropzone.is-dragging{border-color:var(--admin-accent);background:#fff8f0;transform:translateY(-2px);box-shadow:0 18px 45px rgba(217,122,22,.08)}
.dropzone.has-files{border-color:#70a27c;background:#f4fbf6}.dropzone-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.dropzone-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--admin-dark);color:#fff;font-size:32px;line-height:1;box-shadow:0 12px 30px rgba(20,20,20,.15)}
.dropzone strong{font-size:17px}.dropzone span{color:#5f5c57}.dropzone small{color:#999}
.upload-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 22px}.upload-preview:empty{display:none}
.upload-preview-card{overflow:hidden;border:1px solid var(--admin-line);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.05)}.upload-preview-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.upload-preview-card div{display:flex;flex-direction:column;gap:3px;padding:10px}.upload-preview-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-preview-card span{font-size:11px;color:#777}
.reference-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.check-row{display:flex;align-items:center;gap:10px;margin:0}.check-row input{width:auto;margin:0}
.existing-gallery{margin-top:34px;padding-top:28px;border-top:1px solid #ece8e2}.gallery-admin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-admin-card{overflow:hidden;border:1px solid var(--admin-line);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.05)}.gallery-admin-image{position:relative}.gallery-admin-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.cover-badge{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:#111;color:#fff;font-size:10px}.gallery-admin-actions{display:flex;gap:7px;justify-content:space-between;padding:8px}.gallery-admin-actions form{margin:0}.btn-small{min-height:32px;padding:7px 9px;font-size:11px;border-radius:9px}.empty-state{padding:28px;border:1px dashed #d3cec7;border-radius:16px;background:#faf8f5;color:#777;text-align:center}
.update-upload-form input[type=file]{background:#faf8f5;padding:18px;border:1px dashed #c9c2b8}
code{padding:2px 6px;border-radius:6px;background:#f3f0eb;font-size:12px}

@media(max-width:1100px){.admin{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.main{padding:28px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.gallery-admin,.upload-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){
 .login{padding:0}.login-shell{grid-template-columns:1fr;border-radius:0;min-height:100vh}.login-brand-panel{min-height:240px;padding:28px}.login-logo{width:210px}.login-brand-panel h1{font-size:42px}.login-card{padding:34px 26px}
 .admin{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.admin-brand{margin-bottom:15px}.admin-brand img{width:170px}.sidebar-label{display:none}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.admin-nav a{min-height:40px}.sidebar-footer{margin-top:8px;grid-template-columns:1fr 1fr}.main{padding:22px 16px 40px}.top{align-items:flex-start}.top-title h1{font-size:34px}.admin-user div{display:none}.cards{grid-template-columns:1fr 1fr}.panel-head-row,.reference-overview-head,.reference-form-footer{flex-direction:column;align-items:stretch}.upload-preview,.gallery-admin{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.admin-nav{grid-template-columns:1fr}.sidebar-footer{grid-template-columns:1fr}.top{gap:12px}.main{padding-left:12px;padding-right:12px}.panel,.reference-editor{padding:18px}.upload-preview,.gallery-admin{grid-template-columns:1fr}.login-card h2{font-size:36px}}

/* 1.0.11 Header image management */
.header-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.header-image-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.header-image-preview{height:190px;background:#e9e5df;overflow:hidden;display:grid;place-items:center;color:#999;font-size:12px}
.header-image-preview img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.header-image-card:hover .header-image-preview img{transform:scale(1.035)}
.header-image-meta{padding:20px 20px 4px}
.header-image-meta h3{margin:5px 0 7px;font-family:Georgia,serif;font-size:25px;font-weight:400}
.header-custom-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff3e6;color:var(--admin-accent-deep);font-size:10px;font-weight:800}
.header-upload-form{padding:14px 20px 20px;margin-top:auto}
.header-upload-form input[type=file]{padding:13px;background:#faf8f5;border-style:dashed}
.header-upload-form button{width:100%}
.header-reset-form{padding:0 20px 20px;margin-top:-8px}.header-reset-form button{width:100%}
@media(max-width:1250px){.header-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.header-image-grid{grid-template-columns:1fr}.header-image-preview{height:210px}}

/* 1.0.12 unified page content editor */
.content-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.content-page-card{display:block;overflow:hidden;border:1px solid var(--admin-line);border-radius:22px;background:#fff;box-shadow:var(--admin-shadow);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.content-page-card:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(20,20,20,.12);border-color:rgba(217,122,22,.24)}
.content-page-image{height:170px;overflow:hidden;background:linear-gradient(135deg,#e9e5df,#f5f2ed)}
.content-page-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.content-page-card:hover .content-page-image img{transform:scale(1.04)}
.content-page-body{padding:20px}.content-page-body h3{margin:5px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:400}.content-page-body p{min-height:42px;margin:0 0 16px;color:var(--admin-muted);font-size:12px}.content-page-edit{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--admin-line);font-size:12px;font-weight:800}.content-page-edit b{font-size:16px;font-weight:400}
.content-editor{padding:30px}.content-editor-form{margin-top:26px}.content-editor-section{margin-top:18px;padding:24px;border:1px solid var(--admin-line);border-radius:20px;background:#fbfaf8}.content-editor-section:first-of-type{margin-top:0}.content-editor-header{display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);gap:28px;align-items:center}.content-editor-header input[type=file]{padding:15px;border-style:dashed;background:#fff}.content-editor-preview{height:250px;overflow:hidden;border-radius:16px;background:#ebe7e1;display:grid;place-items:center;color:#999;font-size:12px}.content-editor-preview img{width:100%;height:100%;object-fit:cover}.content-editor-section-head{margin-bottom:18px}.content-editor-section-head h3{margin:4px 0 4px;font-family:Georgia,serif;font-size:28px;font-weight:400}.content-editor-section-head p{margin:0}.content-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.content-fields-grid .field-wide{grid-column:1/-1}.content-long-text{min-height:320px}.content-editor-actions{display:flex;align-items:center;gap:10px;margin-top:22px}.content-reset-form{margin-top:12px;padding-top:18px;border-top:1px solid var(--admin-line)}
@media(max-width:1250px){.content-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-editor-header{grid-template-columns:1fr}.content-editor-preview{height:300px}}
@media(max-width:780px){.content-page-grid{grid-template-columns:1fr}.content-fields-grid{grid-template-columns:1fr}.content-fields-grid .field-wide{grid-column:auto}.content-editor{padding:20px}.content-editor-section{padding:18px}.content-editor-actions{flex-direction:column;align-items:stretch}.content-editor-actions>*{width:100%}.content-editor-preview{height:220px}}


/* SimplySign WebBase additions */
.admin-brand strong{font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.05;color:#fff;max-width:180px}
.admin-simplysign{margin-top:8px!important;padding:14px 10px!important;border-top:1px solid rgba(255,255,255,.08);display:flex!important;flex-direction:column;align-items:flex-start!important;gap:8px;color:#777!important;font-size:8px!important;letter-spacing:.16em;text-transform:uppercase}
.admin-simplysign img{display:block;width:auto;height:18px;max-width:105px;object-fit:contain}
.login-brand-panel .login-logo{max-height:92px;object-fit:contain;object-position:left center}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}
.media-card{overflow:hidden;border:1px solid var(--admin-line);border-radius:18px;background:#fff;box-shadow:var(--admin-shadow)}
.media-card-preview{height:170px;display:grid;place-items:center;background:#ece8e2;color:#777;font-size:18px;font-weight:800;overflow:hidden}
.media-card-preview img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.media-card:hover .media-card-preview img{transform:scale(1.035)}
.media-card-body{padding:14px}.media-card-body>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.media-card-body form{margin-top:10px}.media-card-body input{margin-bottom:8px}
@media(max-width:1250px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.media-grid{grid-template-columns:1fr}}
.upload-preview-filetype{display:grid;place-items:center;aspect-ratio:4/3;background:#ece8e2;font-weight:900;color:#716b63;letter-spacing:.12em}
.upload-preview-remove{min-height:0!important;margin-top:6px;padding:5px 7px!important;border-radius:7px!important;background:#eee9e2!important;color:#6c3a30!important;font-size:10px!important;box-shadow:none!important}
