*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#f3f5fb;color:#1f2937}
button,input,select,a.btn{font:inherit}
a{color:inherit}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 24px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:5}
.topbar h1{margin:0;font-size:24px}
.topbar p{margin:4px 0 0;color:#667085}
.topbar nav{display:flex;gap:10px;align-items:center}
button,.btn{border:1px solid #cfd5e1;background:#fff;border-radius:10px;padding:9px 13px;cursor:pointer;text-decoration:none;display:inline-block}
button.primary,.btn.primary{background:#4f46c6;color:#fff;border-color:#4f46c6}
button.add{width:100%;margin-top:12px;border-style:dashed;background:#f8fafc}
button.danger,.btn.danger{color:#b42318;border-color:#f3b8b1}
.container{padding:24px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.card,.empty{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.card h2{margin:0 0 12px;font-size:20px}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.login{min-height:100vh;display:grid;place-items:center}
.loginbox{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:26px;width:min(420px,92vw);box-shadow:0 10px 30px rgba(15,23,42,.1)}
.loginbox h1{margin:0 0 4px}
.alert,.success{padding:10px 12px;border-radius:10px;margin:10px 0}
.alert{background:#fff1f0;color:#b42318;border:1px solid #f3b8b1}
.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
label{display:block;font-weight:700;font-size:13px;color:#344054;margin-bottom:10px}
input,select{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:9px;margin-top:6px;background:#fff}
input[type=color]{height:40px;padding:4px}
.editor-layout{display:grid;grid-template-columns:560px 1fr;gap:22px;padding:22px}
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.06);height:calc(100vh - 108px);overflow:auto}
.panel h2{margin:18px 0 12px;font-size:18px}
.panel h2:first-child{margin-top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.grid4{display:grid;grid-template-columns:1.2fr .6fr .6fr 1.2fr;gap:10px}
.ctaEditor{display:grid;grid-template-columns:1.1fr 1.3fr .65fr 42px;gap:8px;align-items:end;border:1px dashed #d7dce6;border-radius:12px;padding:10px;margin-bottom:10px}.footerLinkEditor{display:grid;grid-template-columns:1.1fr 1.5fr 42px;gap:8px;align-items:end;border:1px dashed #d7dce6;border-radius:12px;padding:10px;margin-bottom:10px}
.ctaEditor .removeCta{height:39px;padding:0}.footerLinkEditor .removeFooterLink{height:39px;padding:0}
.sectionEditor{border:1px solid #e5e7eb;border-radius:14px;padding:14px;margin-bottom:14px;background:#fcfcfd}
.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.sectionHead button{padding:6px 9px;border-radius:8px}
.itemEditor{display:grid;grid-template-columns:52px 1.2fr 1.4fr .65fr 42px;gap:8px;align-items:end;border-top:1px dashed #d7dce6;margin-top:12px;padding-top:12px}
.itemEditor .removeItem{height:39px;padding:0}.sortButtons{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sortButtons button{height:39px;padding:0;border-radius:8px}
.addItem{margin-top:12px;width:100%;padding:8px}
.previewWrap{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;height:calc(100vh - 108px);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.previewToolbar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e5e7eb}
.preview{height:calc(100% - 54px);overflow:auto;background:white}
.iconSelectWrap{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:end}
.iconPreview{height:38px;border:1px solid #d0d5dd;border-radius:9px;display:grid;place-items:center;background:#fff;font-size:18px;margin-top:6px}
@media(max-width:1100px){.editor-layout{grid-template-columns:1fr}.panel,.previewWrap{height:auto}.previewWrap{height:760px}.topbar{flex-direction:column;align-items:flex-start}.grid2,.grid3,.grid4,.itemEditor,.ctaEditor,.footerLinkEditor{grid-template-columns:1fr}.sortButtons{grid-template-columns:1fr 1fr}}