@font-face{font-family:Manrope;src:url('/assets/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--red:#b51f32;--ink:#1d262b;--muted:#5c676d;--line:#d8dfe2;--radius:4px;--shadow:none}
*,*::before,*::after{box-sizing:border-box;letter-spacing:0!important}
.admin-body{margin:0;background:#f4f6f7;color:var(--ink);font:14px/1.65 Manrope,Arial,sans-serif}
button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}
.admin-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;padding:0;box-shadow:none}
.admin-header-inner{max-width:1420px;width:calc(100% - 64px);margin:auto;padding:16px 0;min-height:82px;gap:20px;align-items:center}
.admin-header strong{font-size:20px;color:var(--ink)}.admin-header-inner>div>div{font-size:11px;color:var(--muted)}
.admin-shell{max-width:1420px;width:calc(100% - 64px);margin:35px auto 90px;padding:0}
.admin-panel{background:none;border:0;box-shadow:none;padding:0}.admin-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:0;background:none;overflow:auto;border-radius:0;margin:0;white-space:nowrap}
.tab-button{padding:14px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:14px;font-weight:650;border-radius:0;box-shadow:none}.tab-button.active{background:none;color:var(--red);border-bottom-color:var(--red)}
.admin-savebar{position:sticky;top:81px;background:#f4f6f7f5;backdrop-filter:blur(12px);padding:18px 0;border-bottom:1px solid var(--line);z-index:40;gap:18px;min-height:82px}
.admin-section{padding-top:26px}.editor-grid{display:block}.editor-card{background:white;box-shadow:none;border:1px solid var(--line);border-radius:4px;padding:30px;margin-bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.editor-card>h3,.editor-card>p,.editor-card>.array-list,.editor-card>.mini-actions,.editor-card>.btn,.editor-card>.editor-toggle{grid-column:1/-1}
.editor-card h3{font-size:20px;line-height:1.4;margin:0}.editor-card p,.admin-section>p{font-size:13px;color:var(--muted)}
.field{min-width:0}.field label{font-size:13px;font-weight:650;color:var(--ink);margin-bottom:8px}.field input,.field textarea,.field select,.page-selector{width:100%;background:#fff;border:1px solid #bdc9cf;padding:11px 13px;border-radius:3px;font-size:15px;color:var(--ink);min-height:45px;box-shadow:none}
.field textarea{min-height:150px;resize:vertical;line-height:1.7}.field input[readonly]{background:#f1f4f5;color:#67737a}.field-hint{font-size:11px;line-height:1.6;margin-top:6px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;min-height:42px;padding:10px 16px;border-radius:3px;box-shadow:none;line-height:1.4;white-space:normal;text-align:center;transform:none}
.btn-primary{background:var(--red);color:#fff;border:1px solid var(--red)}.btn-primary:hover{background:#96192a;box-shadow:none}.btn-secondary{background:#fff;color:var(--ink);border:1px solid #c7d0d4}.btn-secondary:hover{background:#eaf0f2}.btn.danger{color:#a7192b;border-color:#e3b7bd;background:#fff}.btn:disabled{opacity:.55;cursor:wait}
.icon-button{width:42px;height:42px;padding:10px}.icon-button svg{width:18px;height:18px}.mini-actions{display:flex;flex-wrap:wrap;gap:10px}.copy-block{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;gap:20px}.copy-block>.mini-actions,.copy-block>.btn{grid-column:1/-1;justify-self:start}.array-list{display:block}.copy-block:last-child{padding-bottom:0}
.image-preview{display:block;width:100%;max-height:230px;aspect-ratio:16/9;object-fit:contain;background:#edf1f3;border:1px solid var(--line);border-radius:3px;margin-bottom:12px}.drop-zone{min-height:105px;padding:18px;border:1px dashed #8b9ba4;border-radius:3px;background:#f7f9fa;color:var(--ink);font-size:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px}.drop-zone span{font-size:11px;color:var(--muted)}.drop-zone.drag-over{border-color:var(--red);background:#f9e9ec}.upload-status{font-size:12px;margin-top:8px}.editor-toggle{display:flex;gap:12px;align-items:center;font-size:14px}.editor-toggle input{width:18px;height:18px;accent-color:var(--red)}
.page-toolbar{display:flex;gap:18px;align-items:center;margin:24px 0}.page-selector{flex:1}.page-toolbar .btn{flex:none}.login-panel{margin:85px auto;max-width:440px;padding:38px;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 35px #23333a0a}.login-panel h1{font-size:29px;line-height:1.35;margin:22px 0 28px}.admin-brand-logo{width:50px;height:56px;object-fit:contain}.login-panel .form-grid{gap:20px}.login-panel .btn{min-height:47px}.form-status{font-size:13px;overflow-wrap:anywhere}.json-editor{min-height:600px;width:100%;font:13px/1.7 monospace;padding:25px;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:#fff}.message-item{background:white;border:1px solid var(--line);border-radius:4px;padding:25px;margin:20px 0}.message-item pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
.hidden,[hidden]{display:none!important}:focus-visible{outline:3px solid #25718b;outline-offset:3px}
@media(max-width:800px){.admin-header-inner,.admin-shell{width:calc(100% - 36px)}.admin-header-inner{min-height:80px}.admin-header strong{font-size:17px}.editor-card{grid-template-columns:1fr;padding:23px}.copy-block{grid-template-columns:1fr}.admin-tabs{gap:22px}.admin-savebar{top:79px}.page-toolbar{flex-wrap:wrap}.page-selector{flex-basis:100%}.admin-header .button-row{gap:8px}.admin-header .btn{font-size:11px;padding:9px 11px}.admin-shell{margin-top:22px}.admin-savebar .btn{font-size:12px}.admin-savebar .form-status{font-size:11px;flex:1}.login-panel{margin:45px auto;padding:27px}.login-panel h1{font-size:27px}.field input,.field textarea,.field select{font-size:16px}.editor-card>h3{font-size:19px}}
@media(max-width:400px){.admin-header-inner,.admin-shell{width:calc(100% - 28px)}.admin-header-inner{gap:12px}.admin-header .btn{font-size:10px}.admin-header-inner>div>div{font-size:10px}.admin-header strong{font-size:15px}.editor-card{padding:18px}.tab-button{font-size:12px}.admin-savebar{gap:10px}.admin-savebar .btn{max-width:175px}.form-status{font-size:12px}}
/* Keep short fields aligned with the top of adjacent text areas. */
.editor-card > .field { align-self: start; }
