@import url('https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600&family=DM+Sans:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--bg:#FAF6F1;--card:#F0E8DF;--primary:#B85C38;--text:#2C1A0E;--muted:#7A6558;--border:#E2D6CC;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--green:#3a8a4a;--red:#c0392b;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);min-height:100vh;}
a{color:inherit;text-decoration:none;}
.admin-topbar{position:sticky;top:0;z-index:100;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 28px;gap:16px;}
.topbar-left{display:flex;align-items:center;gap:16px;}
.topbar-back{font-size:13px;color:var(--muted);transition:color .2s;}
.topbar-back:hover{color:var(--text);}
.topbar-sep{color:var(--border);}
.topbar-title{font-family:var(--serif);font-size:20px;}
.topbar-right{display:flex;align-items:center;gap:12px;}
.save-msg{font-size:13px;font-weight:500;}
.save-msg.ok{color:var(--green);}
.save-msg.err{color:var(--red);}
.btn-save{background:var(--primary);color:#fff;border:none;padding:9px 22px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s;}
.btn-save:hover{opacity:.85;}
.btn-save:disabled{opacity:.5;cursor:not-allowed;}
.btn-logout{border:1px solid var(--border);background:transparent;color:var(--muted);padding:9px 18px;font-size:13px;cursor:pointer;transition:all .2s;}
.btn-logout:hover{border-color:var(--text);color:var(--text);}
.admin-body{max-width:1000px;margin:0 auto;padding:40px 24px 80px;}
.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:40px;overflow-x:auto;}
.tab-btn{padding:12px 22px;font-size:14px;font-weight:500;border:none;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s;border-bottom:2px solid transparent;margin-bottom:-1px;}
.tab-btn:hover{color:var(--text);}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.panel-title{font-family:var(--serif);font-size:26px;margin-bottom:6px;}
.panel-sub{font-size:14px;color:var(--muted);margin-bottom:36px;}
.field{margin-bottom:28px;}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=password],.field textarea{width:100%;padding:12px 16px;border:1px solid var(--border);background:var(--bg);font-family:var(--sans);font-size:14px;color:var(--text);outline:none;transition:border-color .2s;}
.field input:focus,.field textarea:focus{border-color:var(--primary);}
.field textarea{resize:vertical;min-height:80px;}
.field-hint{font-size:12px;color:var(--muted);margin-top:5px;}
.img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.img-card{border:1px solid var(--border);padding:16px;}
.img-label{font-size:13px;font-weight:600;margin-bottom:10px;}
.img-preview{aspect-ratio:16/10;background:var(--card);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px;font-size:12px;color:var(--muted);}
.img-preview img{width:100%;height:100%;object-fit:cover;}
.img-btns{display:flex;gap:8px;}
.btn-upload{flex:1;border:1px solid var(--text);background:transparent;color:var(--text);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px;cursor:pointer;transition:all .2s;}
.btn-upload:hover{background:var(--text);color:var(--bg);}
.btn-upload:disabled{opacity:.5;cursor:not-allowed;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;}
.login-box{width:100%;max-width:380px;}
.login-back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:32px;transition:color .2s;}
.login-back:hover{color:var(--text);}
.login-title{font-family:var(--serif);font-size:34px;margin-bottom:6px;}
.login-sub{font-size:14px;color:var(--muted);margin-bottom:32px;}
.login-field{margin-bottom:16px;}
.login-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;}
.login-field input{width:100%;padding:14px 16px;border:1px solid var(--border);background:var(--bg);font-family:var(--sans);font-size:14px;color:var(--text);outline:none;transition:border-color .2s;}
.login-field input:focus{border-color:var(--primary);}
.btn-login{width:100%;padding:14px;background:var(--text);color:var(--bg);border:none;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-top:8px;}
.btn-login:hover{background:var(--primary);}
.login-error{font-size:13px;color:var(--red);margin-top:10px;}
.pw-form{max-width:400px;}
.btn-pw{margin-top:4px;padding:12px 28px;background:var(--text);color:var(--bg);border:none;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s;}
.btn-pw:hover{background:var(--primary);}
.pw-msg{font-size:13px;margin-top:10px;}
.pw-msg.ok{color:var(--green);}
.pw-msg.err{color:var(--red);}
@media(max-width:600px){.img-grid{grid-template-columns:1fr;}.admin-topbar{flex-wrap:wrap;gap:10px;}}
