* { box-sizing: border-box; }
body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; background: #f1efe8; margin: 0; color: #2c2c2a; }
.wrap { max-width: 720px; margin: 2rem auto; padding: 0 1rem; }
.card { background: #fff; border-radius: 12px; border: 0.5px solid #d3d1c7; overflow: hidden; }
.header-placeholder { height: 96px; background: #f1efe8; display: flex; align-items: center; justify-content: center; color: #888780; font-size: 13px; border-bottom: 0.5px solid #d3d1c7; }
.pad { padding: 1.25rem; }
.border-top { border-top: 0.5px solid #d3d1c7; }
.section-title { font-size: 15px; font-weight: 500; margin: 0 0 12px; }
.row { margin-bottom: 10px; }
.row.two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
label { display: block; font-size: 12px; color: #5f5e5a; margin-bottom: 4px; }
input[type=text], input[type=url], select, textarea {
  width: 100%; height: 36px; border: 0.5px solid #d3d1c7; border-radius: 8px; padding: 0 10px; font-size: 14px;
}
textarea { height: auto; min-height: 52px; padding: 8px 10px; }
.inline { display: flex; gap: 6px; align-items: center; }
.prefix { font-size: 13px; color: #888780; white-space: nowrap; }
.alias-box { background: #f1efe8; border-radius: 8px; padding: 10px; }
.hint { font-size: 11px; color: #888780; margin: 6px 0 0; }
.error { font-size: 12px; color: #a32d2d; margin: 4px 0 0; }
.icon-btn { border: 0.5px solid #b4b2a9; background: transparent; border-radius: 8px; padding: 6px 10px; font-size: 12px; cursor: pointer; }
.btn-primary { border: 0.5px solid #b4b2a9; background: #fff; border-radius: 8px; padding: 8px 14px; font-size: 14px; cursor: pointer; }
.btn-primary.full { width: 100%; }
.search-form { margin-bottom: 12px; }
.search-form input[type=text] { margin-bottom: 8px; }
.filter-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.pill { border: 0.5px solid #b4b2a9; background: #fff; border-radius: 8px; padding: 4px 12px; font-size: 12px; cursor: pointer; }
.pill.active { border-color: #185fa5; color: #185fa5; }
table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
th { text-align: left; font-weight: 400; color: #5f5e5a; padding: 6px 4px; }
td { padding: 6px 4px; border-top: 0.5px solid #d3d1c7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.accent { color: #185fa5; }
.muted { color: #888780; }
.flash { background: #eaf3de; color: #27500a; padding: 8px 12px; border-radius: 8px; margin-bottom: 12px; font-size: 13px; }
