:root{--bg:#f3f1eb;--panel:#fff;--text:#1d1913;--muted:#786f63;--sage:#59663f;--sage-dark:#3f4a2d;--sage-light:#eef1e6;--brown:#6b4a28;--border:#dfd9cd;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif;--shadow:0 12px 40px rgba(28,22,14,.12)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans)}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,#fff 0,transparent 40%),linear-gradient(145deg,var(--bg),var(--sage-light))}.login-card{width:min(430px,100%);padding:38px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:8px;margin-bottom:30px}.login-brand img:first-child{width:36px}.login-brand img:last-child{width:135px}.kicker{display:block;margin-bottom:8px;color:var(--brown);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.login-card h1,.panel h2{margin:0;font-family:var(--serif);line-height:1}.login-card h1{font-size:2.6rem}.login-card p,.hint{color:var(--muted);font-size:.82rem;line-height:1.55}.login-card label,.panel label{display:flex;flex-direction:column;gap:6px;margin-top:15px;color:var(--muted);font-size:.72rem;font-weight:600}.login-card input,.panel input,.panel textarea,.panel select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);outline:none}.login-card input:focus,.panel input:focus,.panel textarea:focus,.panel select:focus{border-color:var(--sage)}.primary,.secondary,.danger{width:100%;margin-top:14px;padding:11px 14px;border:0;border-radius:9px;font-weight:600}.primary{background:var(--sage);color:#fff}.primary:hover{background:var(--sage-dark)}.secondary{border:1px solid var(--border);background:#fff;color:var(--text)}.danger{border:1px solid #e5c8c3;background:#fff6f4;color:#9b3c30}.login-card small{display:block;margin-top:18px;color:#9a9287;font-size:.66rem;line-height:1.5}.admin-app{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.95);backdrop-filter:blur(14px)}.admin-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.18rem;font-weight:700}.admin-brand img{width:30px;height:40px;object-fit:contain}.admin-brand small{display:block;color:var(--muted);font:500 .58rem var(--sans);letter-spacing:.1em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}.top-actions span{color:var(--muted);font-size:.7rem}.top-actions a,.top-actions button{padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:.72rem;text-decoration:none}.workspace{height:calc(100vh - 64px);display:grid;grid-template-columns:360px 1fr}.sidebar{overflow:auto;border-right:1px solid var(--border);background:#fff}.tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);padding:9px;border-bottom:1px solid var(--border);background:#fff}.tab{padding:9px 4px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.68rem}.tab.active{background:var(--sage-light);color:var(--sage-dark);font-weight:600}.panel{display:none;padding:24px}.panel.active{display:block}.panel h2{font-size:2rem}.empty-state{margin-top:22px;padding:28px 18px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:.78rem;text-align:center}.selector-label{overflow:hidden;margin-top:8px;color:#a09990;font:500 .6rem monospace;text-overflow:ellipsis;white-space:nowrap}.preview-area{min-width:0;display:flex;flex-direction:column;overflow:hidden}.preview-toolbar{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border);background:#faf9f6;font-size:.75rem}.viewport-buttons{display:flex;gap:4px}.viewport-buttons button,.ratio-tools button{padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--muted);font-size:.65rem}.viewport-buttons button.active,.ratio-tools button.active{border-color:var(--sage);background:var(--sage-light);color:var(--sage-dark)}.preview-shell{flex:1;overflow:auto;padding:18px;text-align:center}.preview-shell iframe{width:100%;height:100%;min-height:720px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 4px 22px rgba(30,20,10,.08);transition:width .25s}.ratio-tools{display:flex;align-items:center;gap:5px;margin:18px 0 10px}.ratio-tools span{margin-right:auto;color:var(--muted);font-size:.68rem}.crop-preview{position:relative;overflow:hidden;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:#ebe8e0;color:var(--muted);font-size:.7rem}.crop-preview.wide{aspect-ratio:16/7}.crop-preview.card{aspect-ratio:4/3}.crop-preview.square{aspect-ratio:1}.crop-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-list{display:flex;gap:7px;overflow-x:auto;margin-top:16px;padding-bottom:4px}.gallery-thumb{position:relative;flex:0 0 60px;height:60px;padding:0;border:2px solid transparent;border-radius:8px;background:#eee;overflow:hidden}.gallery-thumb.active{border-color:var(--sage)}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb .remove-image{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(20,15,8,.75);color:#fff;font-size:.65rem}.upload-button{align-items:center!important;padding:11px!important;border:1px dashed var(--sage)!important;border-radius:9px!important;color:var(--sage-dark)!important;cursor:pointer}.replace-button{display:block;text-align:center;cursor:pointer}.gallery-thumb{touch-action:none}.gallery-thumb.dragging{opacity:.55;z-index:2;box-shadow:0 4px 14px rgba(20,15,8,.28)}.limit-note{color:var(--muted);font-size:.65rem;text-align:right}.date-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.date-row strong{display:block;font-size:.78rem}.date-row small{color:var(--muted)}.date-row button{border:0;background:transparent;color:#9b3c30}.date-form{margin-top:16px;padding-top:4px}.admin-highlight{outline:3px solid #8ba05e!important;outline-offset:3px!important}.admin-hover{outline:2px dashed #8ba05e!important;outline-offset:2px!important}
@media(max-width:850px){.workspace{grid-template-columns:1fr;height:auto}.sidebar{max-height:none;border-right:0}.preview-area{height:760px}.top-actions span{display:none}}
.page-buttons{display:inline-flex;gap:3px;margin-left:12px}.page-buttons button{padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--muted);font-size:.65rem}.page-buttons button.active{border-color:var(--sage);background:var(--sage-light);color:var(--sage-dark)}
.back-site{display:flex;align-items:center;justify-content:center;width:100%;margin-top:9px;padding:10px 14px;border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:.78rem;font-weight:600;text-decoration:none}.back-site:hover{border-color:var(--sage);background:var(--sage-light);color:var(--sage-dark)}
.gallery-thumb .primary-badge{position:absolute;right:3px;bottom:3px;left:3px;overflow:hidden;padding:2px 4px;border-radius:4px;background:var(--sage-dark);color:#fff;font-size:.46rem;font-weight:600;text-align:center;text-overflow:ellipsis;white-space:nowrap}.secondary:disabled{cursor:default;opacity:.65}
.admin-toast{position:fixed;right:18px;bottom:18px;z-index:100;padding:12px 16px;border-radius:10px;background:var(--sage-dark);color:#fff;box-shadow:var(--shadow);font-size:.76rem;font-weight:600}.admin-toast.error{background:#9b3c30}
@media(max-width:700px){
  .login-screen{align-items:start;padding:14px;padding-top:34px}.login-card{padding:25px 20px;border-radius:17px}.login-brand{margin-bottom:22px}.login-card h1{font-size:2.15rem}
  .topbar{position:relative;height:auto;min-height:60px;padding:9px 13px;gap:10px}.admin-brand{font-size:1rem}.admin-brand img{width:25px;height:34px}.top-actions{gap:6px}.top-actions a,.top-actions button{padding:8px 9px;font-size:.67rem}.top-actions span{display:none}
  .workspace{display:flex;height:auto;min-height:calc(100vh - 60px);flex-direction:column}.sidebar{order:1;width:100%;overflow:visible;border-right:0}.tabs{top:0;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 5px}.tab{min-height:42px;padding:7px 2px;font-size:.62rem}.panel{padding:20px 16px 24px}.panel h2{font-size:1.75rem}.panel label{font-size:.74rem}.panel input,.panel textarea,.panel select{min-height:44px;font-size:16px}.panel textarea{min-height:130px}
  .ratio-tools{flex-wrap:wrap}.ratio-tools span{width:100%;margin-bottom:3px}.ratio-tools button{flex:1;min-height:38px}.crop-preview.wide{aspect-ratio:4/3}.gallery-list{gap:9px}.gallery-thumb{flex-basis:74px;height:74px}.upload-button{min-height:48px}
  .preview-area{order:2;height:720px;min-height:720px;border-top:1px solid var(--border)}.preview-toolbar{height:auto;min-height:92px;align-items:stretch;flex-direction:column;padding:10px 12px;gap:8px}.preview-toolbar>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.page-buttons{margin-left:0}.page-buttons button,.viewport-buttons button{min-height:34px;padding:6px 8px}.viewport-buttons{justify-content:flex-end}.preview-shell{padding:8px}.preview-shell iframe{width:100%!important;min-height:610px;border-radius:8px}
  .date-row{padding:13px 0}.date-row button{min-width:42px;min-height:42px;font-size:1.1rem}.primary,.secondary,.danger{min-height:46px}
  .admin-toast{right:12px;bottom:12px;left:12px;text-align:center}
}
