:root { color-scheme: light; font-family: Inter, "Segoe UI", Arial, sans-serif; color: #18332e; background: #f3f7f6; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 920px; margin: 0 auto; padding: 28px 22px 44px; }
h1 { margin: 8px 0; font-size: 25px; line-height: 1.15; }
h2 { margin: 26px 0 12px; font-size: 18px; }
p { line-height: 1.5; }
.muted, .help { color: #60736f; }
.help { font-size: 12px; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #176b5b; color: white; font-size: 20px; }
.preview-card, .card { background: white; border: 1px solid #dce7e4; border-radius: 14px; padding: 22px; box-shadow: 0 4px 18px rgba(23,107,91,.06); }
.preview-card { margin: 18px 0; overflow-x: auto; }
.status { margin-top: 14px; padding: 9px 11px; border-radius: 8px; background: #e6f0ee; font-size: 13px; }
.status.error { color: #8a2525; background: #fde9e9; }
.status.success { color: #145b4e; background: #e2f2ed; }
button { border: 0; border-radius: 8px; padding: 10px 15px; background: #176b5b; color: white; font: inherit; font-weight: 650; cursor: pointer; }
button:disabled { opacity: .45; cursor: default; }
button.secondary { color: #176b5b; background: #e3eeeb; }
label { display: block; margin: 0 0 5px; font-size: 13px; font-weight: 650; }
input, textarea { width: 100%; padding: 9px 10px; border: 1px solid #bdcfca; border-radius: 7px; background: white; color: #18332e; font: inherit; }
textarea { min-height: 76px; resize: vertical; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.full { grid-column: 1 / -1; }
.actions { display: flex; gap: 9px; margin-top: 18px; }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.admin main { max-width: 1000px; }
.user-row { display: grid; grid-template-columns: 2fr 1.3fr 1.2fr auto; gap: 8px; margin: 8px 0; align-items: end; }
@media (max-width: 650px) { .grid, .user-row { grid-template-columns: 1fr; } .admin-header { align-items: flex-start; flex-direction: column; } }
.auth-box { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.button-link { display:inline-block; border-radius:8px; padding:10px 15px; background:#176b5b; color:white; text-decoration:none; font-weight:650; }
.secondary-link { background:#e3eeeb; color:#176b5b; }
select { width:100%; padding:9px 10px; border:1px solid #bdcfca; border-radius:7px; background:white; color:#18332e; font:inherit; }
.management-toolbar, .section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-top:18px; }
.management-toolbar > div:first-child { min-width:300px; flex:1; }
.management-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:18px; margin-top:18px; }
.sticky-preview { align-self:start; position:sticky; top:18px; }
.rule-card { padding:14px 0; border-top:1px solid #dce7e4; }
.rule-grid { display:grid; grid-template-columns:2fr .7fr 1.3fr .7fr; gap:10px; align-items:end; }
.rule-grid .full { grid-column:1 / -1; }
.rule-types { display:flex; gap:14px; grid-column:1 / -2; }
.rule-types label { display:flex; align-items:center; gap:6px; margin:0; }
.rule-types input { width:auto; }
.compact-list > div { padding:8px 0; border-bottom:1px solid #e7efed; font-size:12px; }
@media (max-width:850px) { .management-columns, .rule-grid { grid-template-columns:1fr; } .sticky-preview { position:static; } .rule-types { grid-column:auto; } .management-toolbar, .section-heading { align-items:flex-start; flex-direction:column; } }
