.sm-theme, .sm-theme * { box-sizing: border-box; }
.sm-theme { color: var(--sm-text); font-family: var(--sm-font); background: var(--sm-bg); }
.sm-card { background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-radius-lg); box-shadow: var(--sm-shadow-sm); }
.sm-btn { min-height: 44px; border: 0; border-radius: 12px; padding: 0 18px; font: inherit; font-weight: 800; cursor: pointer; }
.sm-btn--primary { background: linear-gradient(135deg, var(--sm-primary), #3983ff); color: #fff; box-shadow: 0 10px 24px rgba(47,109,246,.24); }
.sm-btn--secondary { background: #fff; color: var(--sm-text); border: 1px solid var(--sm-line); }
.sm-iconbox { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 20px; background: #eef4ff; color: var(--sm-primary); }
.sm-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; border-radius: 999px; padding: 0 10px; background: #eef8f6; color: #198a78; font-size: 12px; font-weight: 800; }
.sm-field { width: 100%; min-height: 52px; border: 1px solid var(--sm-line); border-radius: 13px; background: #fff; padding: 0 14px; color: var(--sm-text); font: inherit; outline: none; }
.sm-field:focus { border-color: #8eb2ff; box-shadow: 0 0 0 4px rgba(47,109,246,.09); }
.sm-kpi { padding: 18px; display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 12px; }
.sm-kpi strong { display: block; font-size: 30px; line-height: 1; margin-top: 3px; }
.sm-kpi small { color: var(--sm-muted); }
.sm-list { list-style: none; padding: 0; margin: 0; }
.sm-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:10px 4px; border-bottom:1px solid var(--sm-line); }
.sm-list li:last-child { border-bottom:0; }
.sm-list .meta { color: var(--sm-muted); font-size: 12px; }
