:root{
  --bg:#ffffff;
  --bg2:#f4f4f2;
  --text:#0b0c0f;
  --muted:#3b3f4a;
  --line:#0b0c0f;
  --line2:rgba(11,12,15,.18);
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg2);color:var(--text);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:18px}
.topbar{
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  background:var(--bg);
  border:1px solid var(--line);
  padding:14px 16px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.02em}
.mark{width:10px;height:10px;background:var(--text);display:inline-block}
.nav a{
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-right:14px;
  border-bottom:1px solid transparent;
  padding:4px 0;
}
.nav a:hover{border-bottom-color:var(--text)}
.btn{
  display:inline-block;
  padding:10px 12px;
  border:1px solid var(--text);
  background:transparent;
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.btn:hover{background:var(--text);color:var(--bg)}
.btn.primary{background:var(--text);color:var(--bg)}
.btn.primary:hover{background:transparent;color:var(--text)}
h1{margin:18px 0 12px 0;font-size:28px;line-height:1.1}
h2{margin:0 0 10px 0;font-size:18px}
p{margin:0 0 12px 0;color:var(--muted)}
.table{width:100%;border-collapse:collapse;background:var(--bg);border:1px solid var(--line)}
.table th,.table td{padding:10px 10px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:top}
.table th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text);border-bottom:1px solid var(--line)}
.panel{
  background:var(--bg);
  border:1px solid var(--line);
  padding:14px;
  margin-top:14px;
}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.grid.two{grid-template-columns:1fr}}
label{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px 0}
input,textarea,select{
  width:100%;
  padding:10px 10px;
  border:1px solid var(--text);
  background:transparent;
  font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial;
  outline:none;
}
textarea{min-height:120px;resize:vertical}
.field{margin:0 0 12px 0}
.notice{padding:12px;border:1px solid var(--line);background:var(--bg);margin:14px 0}
.muted{color:var(--muted)}
/* Builder */
.builder{
  background:var(--bg);
  border:1px solid var(--line);
}
.builder-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.builder-body{display:grid;grid-template-columns: 360px 1fr;min-height:72vh}
@media(max-width:1100px){.builder-body{grid-template-columns:1fr}}
.sidebar{border-right:1px solid var(--line);padding:14px;background:var(--bg2)}
.canvas{padding:0;background:var(--bg)}
.widget-item{
  border:1px solid var(--line);
  padding:10px 10px;
  margin:0 0 10px 0;
  background:var(--bg);
}
.widget-item .meta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.widget-item .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pill{border:1px solid var(--line);padding:2px 6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
