/**
 * Flow – Mini tervező (a Flow Solo stílusából)
 * Silvermoon arculat: vezérszín #223a5e, világos háttér #E2E5F6, kiemelő #FFC300 (piros nem használt).
 * @version 1.0.0
 */

#smp-app {
	--smp-navy: #223a5e;
	--smp-navy-d: #182a45;
	--smp-bg: #F4F5FB;
	--smp-soft: #E2E5F6;
	--smp-gold: #FFC300;
	--smp-text: #1b2433;
	--smp-muted: #5a6478;
	--smp-line: #D9DDEE;
	--smp-line-l: #E8EBF5;
	--smp-green: #1d6b3a;
	--smp-green-bg: #DDF3E4;
	--smp-part-bg: #FFF3C4;
	--smp-part-fg: #6b4a00;
	--smp-radius: 14px;

	color: var(--smp-text);
	font-variant-numeric: tabular-nums;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
#smp-app *, #smp-app *::before, #smp-app *::after { box-sizing: border-box; }
/* ---- téma / Elementor gomb- és mező-stílusok semlegesítése (ID-specifitás) ---- */
#smp-app button { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; line-height: 1.2; text-transform: none; letter-spacing: normal; text-decoration: none; box-shadow: none; transition: none; white-space: normal; }
#smp-app input, #smp-app select, #smp-app textarea { margin: 0; box-shadow: none; transition: none; }
#smp-app .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
body.smp-no-scroll { overflow: hidden; }
#smp-app [hidden] { display: none !important; }

/* ---- fejléc ---- */
#smp-app .smp-head { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
#smp-app .smp-head-text { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
#smp-app .smp-head-actions { display: flex; gap: 10px; flex-wrap: wrap; }
#smp-app .smp-title { margin: 0; font-size: 28px; font-weight: 800; color: var(--smp-navy); letter-spacing: -0.4px; }
#smp-app .smp-lead { margin: 0; color: var(--smp-muted); }
#smp-app .smp-back { color: var(--smp-muted); text-decoration: none; font-size: 13px; }
#smp-app .smp-back:hover { color: var(--smp-navy); }
#smp-app .smp-limit-note { font-size: 13px; color: var(--smp-muted); }

/* ---- gombok ---- */
#smp-app .smp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 18px; border-radius: 10px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; border: 1.5px solid transparent; text-decoration: none; line-height: 1; }
#smp-app .smp-btn-primary { background: var(--smp-gold); color: var(--smp-navy); }
#smp-app .smp-btn-primary:hover { background: #f0b800; }
#smp-app .smp-btn-ghost { background: #fff; color: var(--smp-navy); border-color: var(--smp-navy); }
#smp-app .smp-btn-ghost:hover { background: var(--smp-bg); }
#smp-app .smp-btn-dashed { background: #fff; color: var(--smp-navy); border: 1px dashed var(--smp-navy); min-height: 38px; padding: 0 12px; font-size: 13px; }
#smp-app .smp-btn-link { background: none; border: 0; color: var(--smp-muted); text-decoration: underline; padding: 0 6px; }
#smp-app .smp-btn-link:hover { color: var(--smp-navy); }
#smp-app .smp-btn:disabled { opacity: .6; cursor: wait; }
#smp-app .smp-icon-btn { width: 36px; height: 36px; border: 0; background: transparent; border-radius: 8px; color: var(--smp-muted); cursor: pointer; font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
#smp-app .smp-icon-btn:hover { background: var(--smp-bg); color: var(--smp-navy); }
#smp-app .smp-btn:focus-visible, #smp-app .smp-icon-btn:focus-visible, #smp-app button:focus-visible { outline: 2px solid var(--smp-navy); outline-offset: 2px; }

/* ---- tervlista ---- */
#smp-app .smp-slot-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
#smp-app .smp-slot { min-height: 170px; border-radius: var(--smp-radius); }
#smp-app .smp-slot-new, #smp-app .smp-slot-empty, #smp-app .smp-slot-locked { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px; text-align: center; text-decoration: none; }
#smp-app .smp-slot-new { border: 2px dashed var(--smp-navy); background: #fff; color: var(--smp-navy); cursor: pointer; }
#smp-app .smp-slot-new:hover, #smp-app .smp-slot-new:focus-visible { background: #FFF8DB; border-color: var(--smp-navy); color: var(--smp-navy); }
#smp-app .smp-slot-plus { font-size: 34px; font-weight: 300; line-height: 1; }
#smp-app .smp-slot-label { font-size: 14px; font-weight: 700; }
#smp-app .smp-slot-empty { border: 1px dashed var(--smp-line); color: var(--smp-muted); background: transparent; }
#smp-app .smp-slot-locked { border: 1px solid var(--smp-line); background: #EEF0F6; color: #7a8295; }
#smp-app .smp-slot-locked:hover { background: var(--smp-soft); color: var(--smp-navy); }
#smp-app .smp-slot-locked .smp-slot-label { font-size: 12px; font-weight: 600; }
#smp-app .smp-slot-plan { position: relative; }
#smp-app .smp-slot-plan > .smp-plan-card { height: 100%; padding-right: 48px; }
#smp-app .smp-slot-del { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: transparent; color: #8a92a5; cursor: pointer; }
#smp-app .smp-slot-del:hover, #smp-app .smp-slot-del:focus-visible { background: var(--smp-soft); color: var(--smp-navy); }
#smp-app .smp-pill.st-over { background: #fff; color: var(--smp-navy); box-shadow: inset 0 0 0 1.5px var(--smp-navy); }
#smp-app .smp-slot-count { font-size: 14px; color: var(--smp-muted); }
#smp-app .smp-slot-count strong { color: var(--smp-navy); font-size: 18px; }
#smp-app .smp-slot-note { margin: 0; font-size: 13px; color: var(--smp-muted); }
#smp-app .smp-slot-note a { color: var(--smp-navy); font-weight: 700; }
#smp-app .smp-plan-card .smp-plan-card-budget { flex-direction: column; gap: 0; font-size: 13px; }
@media (max-width: 1100px) { #smp-app .smp-slot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { #smp-app .smp-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #smp-app .smp-slot { min-height: 130px; } }
#smp-app .smp-plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
#smp-app .smp-plan-card { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; background: #fff; border: 1px solid var(--smp-line); border-radius: var(--smp-radius); text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s; }
#smp-app .smp-plan-card:hover { border-color: var(--smp-navy); box-shadow: 0 4px 16px rgba(34, 58, 94, .1); }
#smp-app .smp-plan-card-title { font-size: 18px; font-weight: 800; color: var(--smp-navy); }
#smp-app .smp-plan-card-meta { font-size: 12px; color: var(--smp-muted); }
#smp-app .smp-plan-card-budgets { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
#smp-app .smp-plan-card-budget { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
#smp-app .smp-plan-card-budget span { color: var(--smp-muted); }
#smp-app .smp-empty { padding: 36px; background: #fff; border: 1px dashed var(--smp-line); border-radius: var(--smp-radius); text-align: center; color: var(--smp-muted); }
#smp-app .smp-empty-title { font-size: 18px; font-weight: 800; color: var(--smp-navy); margin: 0 0 6px; }

/* ---- összesítő ---- */
#smp-app .smp-summary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
#smp-app .smp-sum { background: #fff; border: 1px solid var(--smp-line); border-radius: var(--smp-radius); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
#smp-app .smp-sum-label { font-size: 13px; font-weight: 700; color: var(--smp-muted); display: flex; align-items: center; gap: 6px; }
#smp-app .smp-sum-big { font-size: 22px; font-weight: 800; color: var(--smp-navy); }
#smp-app .smp-sum-sub { font-size: 13px; color: var(--smp-muted); }
#smp-app .smp-sum-empty { margin: 0; font-size: 13px; }
#smp-app .smp-sum-budget { background: var(--smp-navy); border-color: var(--smp-navy); color: #fff; }
#smp-app .smp-sum-budget .smp-sum-label, #smp-app .smp-sum-budget .smp-sum-sub, #smp-app .smp-sum-budget .smp-sum-empty { color: #c9d1e6; }
#smp-app .smp-sum-budget .smp-sum-big { color: #fff; }
#smp-app .smp-sum-budget .smp-sum-sub.smp-neg { color: var(--smp-gold); font-weight: 700; }
#smp-app .smp-sum-cur { display: flex; flex-direction: column; gap: 6px; }
#smp-app .smp-sum-cur + .smp-sum-cur { padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .15); }
#smp-app .smp-sum-in .smp-sum-big { color: var(--smp-green); }
#smp-app .smp-bar { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .18); overflow: hidden; }
#smp-app .smp-bar span { display: block; height: 100%; background: var(--smp-gold); border-radius: 99px; }
#smp-app .smp-bar-over span { background: #fff; }

/* ---- kártya, eszköztár ---- */
#smp-app .smp-card { background: #fff; border: 1px solid var(--smp-line); border-radius: var(--smp-radius); overflow: hidden; }
#smp-app .smp-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--smp-line); }
#smp-app .smp-search input { width: 260px; max-width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--smp-line); border-radius: 9px; background: #F8F9FD; font: inherit; font-size: 14px; }
#smp-app .smp-seg { display: flex; gap: 4px; padding: 4px; background: #F0F2FA; border-radius: 10px; }
#smp-app .smp-seg button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--smp-muted); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
#smp-app .smp-seg button[aria-pressed="true"] { background: #fff; color: var(--smp-navy); box-shadow: 0 1px 3px rgba(34, 58, 94, .18); }

/* ---- táblázat ---- */
#smp-app .smp-table-wrap { overflow-x: auto; }
#smp-app .smp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
#smp-app .smp-table th { text-align: left; font-size: 12px; font-weight: 700; color: var(--smp-muted); text-transform: uppercase; letter-spacing: .3px; background: #F8F9FD; border-bottom: 1px solid var(--smp-line); padding: 0 8px; height: 44px; white-space: nowrap; }
#smp-app .smp-table th button { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; }
#smp-app .smp-table th button.is-sorted { color: var(--smp-navy); }
#smp-app .smp-table th button::after { content: attr(data-arrow); font-size: 10px; margin-left: 4px; }
#smp-app .smp-table th.smp-num { text-align: right; }
#smp-app .smp-table td { padding: 10px 8px; border-bottom: 1px solid var(--smp-line-l); vertical-align: middle; }
#smp-app .smp-table .smp-num { text-align: right; }
#smp-app .smp-table .smp-split-l { padding-right: 3px; }
#smp-app .smp-table .smp-split-r { padding-left: 3px; color: var(--smp-muted); white-space: nowrap; }
#smp-app .smp-nowrap { white-space: nowrap; }
#smp-app .smp-strong { font-weight: 700; }
#smp-app .smp-block { display: block; font-size: 11px; color: var(--smp-muted); font-weight: 500; }
#smp-app .smp-block.smp-pos, #smp-app .smp-pos { color: var(--smp-green); }
#smp-app .smp-muted { color: var(--smp-muted); }
#smp-app .smp-neg { color: var(--smp-navy); font-weight: 700; }
#smp-app .smp-col-exp { width: 40px; }
#smp-app .smp-col-act { width: 44px; }
#smp-app .smp-exp { padding: 0; width: 32px; height: 32px; border: 0; background: transparent; border-radius: 6px; color: var(--smp-muted); font-size: 20px; line-height: 1; cursor: pointer; transition: transform .15s; }
#smp-app .smp-exp[aria-expanded="true"] { transform: rotate(90deg); }
#smp-app .smp-tr.is-open td { background: #FBFBFE; border-bottom-color: transparent; }
#smp-app .smp-name { display: flex; align-items: center; gap: 10px; min-width: 220px; }
#smp-app .smp-name-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#smp-app .smp-name-text small { font-size: 12px; color: var(--smp-muted); }
#smp-app .smp-kind-dot { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--smp-soft); color: var(--smp-navy); }
#smp-app .smp-kind-in .smp-kind-dot { background: var(--smp-green-bg); color: var(--smp-green); }
#smp-app .smp-kind-in .smp-name-text small { color: var(--smp-green); }
#smp-app .smp-kind-fx .smp-kind-dot { background: var(--smp-part-bg); color: var(--smp-part-fg); }
#smp-app .smp-empty-row { text-align: center; color: var(--smp-muted); padding: 32px !important; }
#smp-app .smp-table-foot { padding: 12px 18px; background: var(--smp-soft); color: var(--smp-muted); font-size: 13px; font-weight: 600; }

#smp-app .smp-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; background: #EEF0F5; color: #3d4658; }
#smp-app .smp-pill:empty { display: none; }
#smp-app .smp-pill.st-part { background: var(--smp-part-bg); color: var(--smp-part-fg); }
#smp-app .smp-pill.st-done { background: var(--smp-green-bg); color: var(--smp-green); }
#smp-app .smp-pill.st-fx { background: var(--smp-soft); color: var(--smp-navy); }

#smp-app .smp-detail-row td { padding: 0 18px 14px 48px; background: #FBFBFE; }
#smp-app .smp-detail { display: flex; flex-wrap: wrap; gap: 28px; padding: 14px 16px; background: var(--smp-bg); border-radius: 10px; font-size: 13px; }
#smp-app .smp-detail-calc, #smp-app .smp-detail-pays { flex: 1 1 320px; display: flex; flex-direction: column; gap: 6px; }
#smp-app .smp-detail-h { font-size: 11px; font-weight: 800; color: var(--smp-muted); text-transform: uppercase; letter-spacing: .5px; }
#smp-app .smp-detail-line, #smp-app .smp-detail-pay { display: flex; justify-content: space-between; gap: 16px; }
#smp-app .smp-detail-line span { color: var(--smp-muted); }
#smp-app .smp-detail-pay { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; }
#smp-app .smp-detail-pay strong { color: var(--smp-green); text-align: right; }

/* ---- modal ---- */
#smp-app .smp-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
#smp-app .smp-modal[hidden] { display: none; }
#smp-app .smp-modal-backdrop { position: fixed; inset: 0; background: rgba(24, 42, 69, .55); }
#smp-app .smp-modal-box { position: relative; width: 100%; max-width: 760px; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(18, 30, 52, .35); display: flex; flex-direction: column; }
#smp-app .smp-modal-sm { max-width: 520px; }
#smp-app .smp-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid var(--smp-line-l); }
#smp-app .smp-modal-head h2 { margin: 0; font-size: 21px; font-weight: 800; color: var(--smp-navy); }
#smp-app .smp-modal-body { padding: 20px 24px; display: flex; flex-direction: column; gap: 16px; }
#smp-app .smp-modal-foot { display: flex; align-items: center; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--smp-line-l); background: #F8F9FD; border-radius: 0 0 18px 18px; }
#smp-app .smp-spacer { flex: 1; }

/* ---- űrlap ---- */
#smp-app .smp-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: #3d4658; }
#smp-app .smp-field em { font-style: normal; font-weight: 500; color: var(--smp-muted); }
#smp-app .smp-field input, #smp-app .smp-split input, #smp-app .smp-split select, #smp-app .smp-pay-add input { height: 44px; padding: 0 12px; border: 1px solid #C9CFE3; border-radius: 10px; font: inherit; font-size: 15px; font-weight: 500; color: var(--smp-text); background: #fff; width: 100%; }
#smp-app .smp-field input:focus, #smp-app .smp-split input:focus, #smp-app .smp-split select:focus, #smp-app .smp-pay-add input:focus { outline: 2px solid var(--smp-navy); outline-offset: -1px; }
#smp-app .smp-invalid { border-color: var(--smp-navy) !important; background: #FFF8DB !important; }
#smp-app .smp-err { color: var(--smp-navy); font-weight: 700; font-size: 12px; }
#smp-app .smp-err:empty { display: none; }
#smp-app .smp-hint { font-size: 12px; font-weight: 500; color: var(--smp-muted); }
#smp-app .smp-form-msg { margin: 0; font-size: 13px; font-weight: 700; color: var(--smp-navy); }
#smp-app .smp-form-msg:empty { display: none; }
#smp-app .smp-row { display: grid; gap: 12px; }
#smp-app .smp-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#smp-app .smp-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#smp-app .smp-row-2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }

/* osztott mező: szám | szöveg */
#smp-app .smp-split { display: flex; }
#smp-app .smp-split > .smp-split-num { flex: 1 1 auto; min-width: 0; text-align: right; border-radius: 10px 0 0 10px; }
#smp-app .smp-split > .smp-split-unit { flex: 0 0 96px; border-left: 0; border-radius: 0 10px 10px 0; background: #F8F9FD; }

#smp-app .smp-split-wide > .smp-split-unit { flex-basis: 150px; }
#smp-app .smp-btn-inline { display: inline; padding: 0; border: 0; background: none; color: var(--smp-navy); font-weight: 800; text-decoration: underline; cursor: pointer; }
#smp-app .smp-form-msg { line-height: 1.5; }
#smp-app .smp-kind { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 5px; margin: 0; border: 0; background: #F0F2FA; border-radius: 12px; }
#smp-app .smp-kind label { position: relative; }
#smp-app .smp-kind input { position: absolute; opacity: 0; inset: 0; }
#smp-app .smp-kind span { display: flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 9px; font-size: 14px; font-weight: 800; color: var(--smp-muted); cursor: pointer; text-align: center; }
#smp-app .smp-kind input:checked + span { background: #fff; color: var(--smp-navy); box-shadow: 0 1px 3px rgba(34, 58, 94, .18); }
#smp-app .smp-kind input[value="in"]:checked + span { color: var(--smp-green); }
#smp-app .smp-kind input:focus-visible + span { outline: 2px solid var(--smp-navy); outline-offset: 1px; }

#smp-app .smp-box { border: 1px solid var(--smp-line); border-radius: 12px; margin: 0; padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 10px; }
#smp-app .smp-box legend { padding: 0 6px; font-size: 13px; font-weight: 800; color: var(--smp-navy); }
#smp-app .smp-tip { margin: 0; padding: 10px 14px; background: #FFF8DB; border-radius: 10px; font-size: 13px; color: #4d3a00; line-height: 1.5; }
#smp-app .smp-tip:empty { display: none; }

#smp-app .smp-preview { border: 1.5px solid var(--smp-navy); border-radius: 12px; padding: 12px 14px; }
#smp-app .smp-preview p { margin: 0; font-size: 13px; }
#smp-app .smp-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#smp-app .smp-preview-cell { display: flex; flex-direction: column; gap: 2px; }
#smp-app .smp-preview-cell span { font-size: 11px; font-weight: 800; color: var(--smp-muted); text-transform: uppercase; letter-spacing: .4px; }
#smp-app .smp-preview-cell strong { font-size: 17px; color: var(--smp-navy); }
#smp-app .smp-preview-cell small { font-size: 11px; color: var(--smp-muted); }
#smp-app .smp-preview-cell.is-main strong { font-size: 20px; }
#smp-app .smp-preview-cell.is-wide { grid-column: 1 / -1; padding-top: 8px; border-top: 1px solid var(--smp-line-l); }

/* ---- fizetések a modalban ---- */
#smp-app .smp-payments { margin: 0 24px 16px; padding: 14px 16px; background: var(--smp-bg); border-radius: 12px; display: flex; flex-direction: column; gap: 10px; }
#smp-app .smp-payments[hidden] { display: none; }
#smp-app .smp-payments-head { display: flex; align-items: center; justify-content: space-between; }
#smp-app .smp-payments-head h3 { margin: 0; font-size: 14px; font-weight: 800; color: var(--smp-navy); }
#smp-app .smp-pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
#smp-app .smp-pay { display: grid; grid-template-columns: minmax(0, 1fr) 120px 140px 36px; gap: 10px; align-items: center; }
#smp-app .smp-pay strong.smp-num { color: var(--smp-green); text-align: right; }
#smp-app .smp-pay-total { padding-top: 6px; border-top: 1px solid var(--smp-line); }
#smp-app .smp-pay-total strong.smp-num { color: var(--smp-navy); }
#smp-app .smp-pay-add { display: grid; grid-template-columns: minmax(0, 1fr) 150px 120px auto auto; gap: 8px; align-items: center; }
#smp-app .smp-pay-add[hidden] { display: none; }
#smp-app .smp-pay-add input[name="amount"] { text-align: right; }
#smp-app .smp-pay-cur { font-size: 13px; color: var(--smp-muted); }

#smp-app .smp-budget-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
#smp-app .smp-budget { display: flex; gap: 8px; align-items: center; }
#smp-app .smp-budget .smp-split { flex: 1; }

/* ---- keskeny kijelző ---- */
@media (max-width: 900px) {
	#smp-app .smp-summary { grid-template-columns: 1fr; }
	#smp-app .smp-row-2, #smp-app .smp-row-3, #smp-app .smp-row-2-1 { grid-template-columns: 1fr; }
	#smp-app .smp-kind { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#smp-app .smp-preview-grid { grid-template-columns: 1fr; }
	#smp-app .smp-pay-add { grid-template-columns: 1fr 1fr; }
	#smp-app .smp-pay { grid-template-columns: minmax(0, 1fr) auto 36px; }
	#smp-app .smp-pay > .smp-muted { display: none; }
	#smp-app .smp-modal { padding: 12px 8px; }
}
/* =====================================================================
   Flow-specifikus kiegészítések: értesítők, csak olvasható mód, szerkesztési zár
   ===================================================================== */
#smp-app .smp-notice { padding: 12px 16px; border-radius: 12px; background: var(--smp-soft); color: var(--smp-navy); font-size: 14px; line-height: 1.5; }
#smp-app .smp-notice p { margin: 0; }
#smp-app .smp-notice a { color: var(--smp-navy); font-weight: 700; }
#smp-app .smp-notice-warning { background: #FFF8DB; color: #4d3a00; }
#smp-app .smp-notice-error { background: #fff; box-shadow: inset 0 0 0 1.5px var(--smp-navy); }

/* Csak olvasható mód (más szerkeszti / tétlenség / limit / szerepkör): a szerkesztő elemek eltűnnek */
#smp-app.smp-ro [data-edit-only] { display: none !important; }

#smp-app .smp-lockbar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 18px; border-radius: 12px; background: var(--smp-navy); color: #fff; }
#smp-app .smp-lockbar[hidden] { display: none; }
#smp-app .smp-lockbar p { margin: 0; flex: 1 1 320px; font-size: 14px; line-height: 1.5; }
#smp-app .smp-lockbar .smp-btn-ghost { background: var(--smp-gold); border-color: var(--smp-gold); color: var(--smp-navy); }

/* Kártya-jelvények a rácsban */
#smp-app .smp-badge { align-self: flex-start; padding: 3px 9px; border-radius: 999px; background: #EEF0F5; color: #3d4658; font-size: 11px; font-weight: 700; }
#smp-app .smp-badge-lock { background: var(--smp-part-bg); color: var(--smp-part-fg); }
#smp-app .smp-slot-plan.is-readonly .smp-plan-card { background: #F8F9FD; border-style: dashed; }
