@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400,600&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--gold:#C9A84C;--gold-d:#8B6914;--bg:#fff;--d1:#F8F8F8;--d2:#F0F0F0;--cr:#1A1A1A;--tm:#555;--tf:#999;--danger:#b81414}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',sans-serif;color:var(--cr);background:var(--d1)}
button,input,select,textarea{font-family:inherit;font-size:13px}
a{color:inherit}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--d1)}
.login-box{background:#fff;padding:40px 34px;width:100%;max-width:360px;border:1px solid rgba(180,140,20,.2);box-shadow:0 20px 60px rgba(0,0,0,.08)}
.login-box h1{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold-d);margin-bottom:6px;text-align:center}
.login-box p{font-size:11px;color:var(--tf);text-align:center;margin-bottom:24px}
.login-box input{width:100%;padding:11px 13px;border:1px solid #ddd;margin-bottom:12px}
.login-box button{width:100%;padding:12px;background:var(--gold-d);color:#fff;border:none;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:11px;cursor:pointer}
.login-err{color:var(--danger);font-size:11px;margin-bottom:10px;text-align:center}

.shell{display:flex;min-height:100vh}
.sidebar{width:210px;background:#1c1c1c;color:#eee;flex-shrink:0;display:flex;flex-direction:column}
.sidebar-logo{padding:20px 18px;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold);border-bottom:1px solid #333}
.sidebar-logo span{display:block;font-size:9px;color:#999;letter-spacing:2px;font-family:'Montserrat',sans-serif}
.sidebar nav{flex:1;padding:10px 0}
.sidebar button{display:block;width:100%;text-align:left;padding:12px 18px;background:none;border:none;color:#bbb;cursor:pointer;font-size:12px;letter-spacing:.5px}
.sidebar button:hover{background:#2a2a2a;color:#fff}
.sidebar button.act{background:#2a2a2a;color:var(--gold);border-left:3px solid var(--gold)}
.sidebar-foot{padding:14px 18px;border-top:1px solid #333;font-size:10px;color:#888}
.sidebar-foot button{color:var(--gold);background:none;border:none;cursor:pointer;font-size:10px;padding:0;margin-top:6px}

.main{flex:1;min-width:0;padding:26px 30px;overflow-x:auto}
.main h2{font-family:'Cormorant Garamond',serif;font-size:26px;margin-bottom:4px}
.main .sub{font-size:11px;color:var(--tf);margin-bottom:20px}
.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
.btn{padding:9px 16px;background:var(--gold-d);color:#fff;border:none;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px}
.btn.secondary{background:#eee;color:#333}
.btn.danger{background:var(--danger);color:#fff}
a.btn{text-decoration:none;display:inline-flex;align-items:center}
.import-ok{background:#e6f4ea;color:#1e7a34;padding:10px 14px;font-size:12px;margin-bottom:14px;border-radius:4px}
.import-errs{background:#fdf3e6;color:#8a5a00;padding:10px 14px;font-size:11.5px;margin-bottom:14px;border-radius:4px;max-height:220px;overflow-y:auto}
.import-errs ul{margin:6px 0 0 18px;padding:0}
.img-upload-row{display:flex;gap:14px;align-items:flex-start}
.img-preview{width:84px;height:84px;flex:0 0 auto;border:1px dashed #ccc;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#999;text-align:center;overflow:hidden;background:#fafafa}
.img-preview img{width:100%;height:100%;object-fit:cover}
.img-upload-actions{flex:1;display:flex;flex-direction:column;gap:6px}
.btn.small{padding:6px 12px;font-size:10px;align-self:flex-start}
.img-upload-actions .hint{min-height:14px}
.btn.small{padding:5px 10px;font-size:10px}

table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}
th,td{padding:9px 10px;border-bottom:1px solid #eee;text-align:left;vertical-align:middle}
th{background:var(--d2);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--tm)}
tr:hover td{background:#fafafa}
.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.5px}
.pill.on{background:#e6f4ea;color:#1e7a34}
.pill.off{background:#f4e6e6;color:#a31e1e}

.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:flex-start;justify-content:center;z-index:9000;overflow-y:auto;padding:40px 16px}
.modal-ov.open{display:flex}
.modal{background:#fff;width:100%;max-width:560px;padding:26px 28px;margin-bottom:40px}
.modal h3{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:16px}
.frow{margin-bottom:12px}
.frow label{display:block;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--tm);margin-bottom:5px}
.frow input,.frow select,.frow textarea{width:100%;padding:9px 11px;border:1px solid #ddd}
.frow-inline{display:flex;gap:10px}
.frow-inline .frow{flex:1}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 12px;border:1px solid #ddd;cursor:pointer;font-size:11px}
.chip.sel{border-color:var(--gold-d);background:rgba(180,140,20,.08);color:var(--gold-d)}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.hint{font-size:10px;color:var(--tf);margin-top:4px}
.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.reqs-box{background:var(--d1);padding:12px;font-size:11px;line-height:1.9;white-space:pre-line;margin-top:10px}
.hidden{display:none !important}
