:root{--ink:#0f2744;--ink-soft:#1e3a5f;--paper:#faf6f0;--paper-2:#f4ede0;--paper-3:#ebe3d3;--rule:#d9cfb8;--garnet:#722f37;--garnet-d:#5a242b;--brass:#b87333;--brass-l:#e2c4a4;--moss:#3d6b45;--moss-l:#e5f0e7;--moss-d:#2f5236;--rust:#a85432;--rust-l:#f5e6dc;--slate:#5b6573;--slate-l:#8a93a0;--warm-cream:#f8f3ec;--soft-sage:#d5e0d0;--peach:#f4d5c1;--peach-l:#faead9;--shadow-1:0 1px 0 rgba(15,39,68,.04),0 2px 8px -2px rgba(15,39,68,.08);--shadow-2:0 4px 12px -4px rgba(15,39,68,.18);--shadow-3:0 12px 32px -8px rgba(15,39,68,.25);--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px;--serif:var(--font-playfair),"Playfair Display",Georgia,serif;--sans:var(--font-inter),"Inter",system-ui,sans-serif;--mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,monospace}
*{box-sizing:border-box}[x-cloak]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);background-image:radial-gradient(1200px 600px at 10% -10%,rgba(176,141,87,.08),transparent 60%),radial-gradient(900px 500px at 95% 30%,rgba(74,107,61,.05),transparent 65%);-webkit-font-smoothing:antialiased}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0}
h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05;font-weight:500}
h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;font-weight:500}
h3{font-size:1.2rem;font-weight:600}h4{font-size:1rem;font-weight:600}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--brass);margin-bottom:.5rem;display:inline-block}
.eyebrow-moss{color:var(--moss)}.eyebrow-garnet{color:var(--garnet)}
.lede{font-family:var(--serif);font-size:1.25rem;line-height:1.5;font-style:italic;color:var(--slate)}
.mono,.numeric{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
small,.small{font-size:13.5px;color:var(--slate);line-height:1.55}.muted{color:var(--slate);line-height:1.55}.muted-2{color:var(--slate-l);line-height:1.55}
.skip{position:absolute;top:-100px;left:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:var(--r-sm);text-decoration:none;font-size:13px;z-index:200}
.skip:focus{top:8px}
*:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:3px}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:780px;margin:0 auto;padding:0 24px}
.stack>*+*{margin-top:1rem}.stack-lg>*+*{margin-top:2rem}
.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
@media(max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-1)}
.card-quiet{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem}
.card-accent{background:linear-gradient(180deg,#fff,var(--paper-2));border:1px solid var(--rule);border-left:3px solid var(--brass);border-radius:var(--r-md);padding:1.25rem}
.card-warn{background:var(--rust-l);border:1px solid #e6c4a8;border-left:3px solid var(--rust);border-radius:var(--r-md);padding:1rem 1.25rem;color:#6b3115;font-size:13px;line-height:1.55}
.card-info{background:#eef1f7;border:1px solid #d4dbe6;border-left:3px solid var(--ink);border-radius:var(--r-md);padding:1rem 1.25rem;color:var(--ink);font-size:13px;line-height:1.55}
.card-success{background:var(--moss-l);border:1px solid #cad9bd;border-left:3px solid var(--moss);border-radius:var(--r-md);padding:1rem 1.25rem;color:#2e4624;font-size:13px;line-height:1.55}
.rule{border:0;border-top:1px solid var(--rule);margin:1.5rem 0}
label.field{display:block}
label.field>span{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:.4rem;text-transform:uppercase}
.inp,select.inp,textarea.inp{width:100%;padding:.7rem .9rem;font-family:var(--sans);font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);outline:none;transition:border-color .15s,box-shadow .15s}
.inp:focus{border-color:var(--brass);box-shadow:0 0 0 3px rgba(176,141,87,.18)}
.inp-num{font-family:var(--mono);text-align:right}
.help{font-size:11px;color:var(--slate);margin-top:.3rem}
.choices{display:flex;gap:.5rem;flex-wrap:wrap}
.choice{border:1px solid var(--rule);background:#fff;border-radius:var(--r-sm);padding:.55rem .9rem;font-size:13px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:all .15s;font-family:inherit}
.choice:hover{border-color:var(--brass-l)}
.choice[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.checkbox{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;padding:.65rem;border-radius:var(--r-sm)}
.checkbox input{margin-top:.2rem;accent-color:var(--garnet);width:16px;height:16px;flex-shrink:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.4rem;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.01em;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;text-decoration:none}
.btn-spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:hv-spin .7s linear infinite}
@keyframes hv-spin{to{transform:rotate(360deg)}}
.btn[aria-busy="true"]{pointer-events:none;opacity:.85}
.btn-primary{background:var(--garnet);color:#fff;border-color:var(--garnet-d);box-shadow:var(--shadow-2)}
.btn-primary:hover{background:var(--garnet-d);transform:translateY(-1px)}
.btn-moss{background:var(--moss);color:#fff;border-color:var(--moss-d);box-shadow:var(--shadow-2)}
.btn-moss:hover{background:var(--moss-d);transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{background:var(--ink-soft)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--rule)}
.btn-outline:hover{border-color:var(--ink);background:var(--paper-2)}
.btn-ghost{background:transparent;color:var(--slate);border:none;padding:.5rem 1rem}
.btn-ghost:hover{color:var(--ink)}
.btn-link{background:transparent;color:var(--garnet);border:none;padding:0;text-decoration:underline;font-weight:500;cursor:pointer;font-size:inherit}
.btn-large{padding:1rem 2rem;font-size:15px}.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.topbar{position:sticky;top:0;z-index:50;background:rgba(250,246,240,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:1rem}
.brand{display:flex;align-items:baseline;gap:.5rem;background:none;border:none;cursor:pointer;padding:0;color:var(--ink)}
.brand-mark{font-family:var(--serif);font-size:1.5rem;font-weight:600}
.brand-dot{color:var(--brass);font-size:1.5rem;line-height:1}
.brand-tag{font-size:10px;color:var(--slate-l);letter-spacing:.18em;text-transform:uppercase;font-weight:600;display:none}
@media(min-width:780px){.brand-tag{display:inline}}
.top-nav{display:none;gap:1.4rem;align-items:center}
@media(min-width:880px){.top-nav{display:flex}}
.top-nav a{font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;padding:.2rem 0;cursor:pointer}
.top-nav a:hover{color:var(--garnet);border-bottom-color:var(--garnet)}
.disclaimer-strip{background:var(--ink);color:var(--paper);text-align:center;font-size:12px;padding:.5rem 1rem}
.disclaimer-strip button{background:none;border:none;color:var(--brass-l);text-decoration:underline;cursor:pointer;font:inherit;padding:0;margin-left:.5rem}
.hero{padding:5rem 0 3rem;position:relative;overflow:hidden}
@media(max-width:640px){.hero{padding:2.5rem 0 2rem}}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}
.hero-grid > .reveal > .eyebrow{margin-top:0}
.hero-grid > .reveal > .eyebrow:first-child{margin-top:0}
.hero-grid > div:first-child{padding-top:0}
.hero-grid > div:first-child > *:first-child{margin-top:0}
.hero-display{margin-top:.5rem !important;margin-bottom:0}
.hero .card{margin-top:0}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:2rem}}
.hero-display{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1;letter-spacing:-.015em}
.hero-display em{font-style:italic;color:var(--garnet);font-weight:500}
.hero-display .moss{color:var(--moss);font-style:italic;font-weight:500}
.hero-display .ornament{color:var(--brass);font-size:.7em;margin:0 .15em}
.hero-side .corner-tag{position:absolute;top:-12px;right:-12px;background:var(--moss);color:#fff;padding:.4rem .9rem;border-radius:var(--r-sm);font-size:11px;font-weight:600;box-shadow:var(--shadow-2);transform:rotate(2deg)}
.hero-side{position:relative}
.tag{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:11px;font-weight:600;letter-spacing:.04em;border-radius:99px;border:1px solid currentColor;text-transform:uppercase}
.tag-brass{color:var(--brass);background:rgba(176,141,87,.06)}
.tag-moss{color:var(--moss);background:rgba(74,107,61,.06)}
.tag-garnet{color:var(--garnet);background:rgba(114,47,55,.05)}
.tag-ink{color:var(--ink);background:rgba(26,35,50,.04)}
.tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--paper-2);color:var(--slate);font-size:10px;font-weight:700;cursor:help;border:1px solid var(--rule)}
.tip:hover::after,.tip:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.55rem .8rem;border-radius:var(--r-sm);font-size:11px;font-weight:400;white-space:normal;width:max-content;max-width:240px;line-height:1.4;z-index:80;text-transform:none;box-shadow:var(--shadow-2)}
.calc-line{display:flex;justify-content:space-between;align-items:baseline;padding:.55rem 0;border-bottom:1px dashed var(--rule);font-size:13px}
.calc-line:last-child{border-bottom:none}
.calc-line .lbl{color:var(--slate)}
.calc-line .val{font-family:var(--mono);font-weight:500;color:var(--ink)}
.calc-line.sum{border-top:2px solid var(--ink);border-bottom:none;padding-top:.7rem;margin-top:.3rem}
.calc-line.sum .lbl{font-weight:600;color:var(--ink)}
.calc-line.sum .val{font-size:1rem;font-weight:600}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
@media(max-width:760px){.kpi-row{grid-template-columns:repeat(2,1fr)}}
.kpi{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1rem 1.1rem}
.kpi-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:600}
.kpi-value{font-family:var(--mono);font-size:1.3rem;font-weight:600;color:var(--ink);margin-top:.3rem}
.kpi-sub{font-size:11px;color:var(--slate-l);margin-top:.15rem}
.kpi-accent .kpi-value{color:var(--garnet)}
.kpi-moss .kpi-value{color:var(--moss)}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:2rem}
@media(max-width:900px){.calc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.calc-grid{grid-template-columns:1fr}}
.calc-tile{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.1rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;text-align:left;font-family:inherit}
.calc-tile::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--brass);transform:translateX(-3px);transition:transform .2s}
.calc-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--brass-l)}
.calc-tile:hover::before{transform:translateX(0)}
.calc-tile-num{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--brass);line-height:1}
.calc-tile h4{margin-top:.4rem;font-family:var(--serif);font-size:1.1rem}
.calc-tile p{font-size:12px;color:var(--slate);margin:.3rem 0 0;line-height:1.5}
.calc-tile .calc-time{display:inline-block;font-family:var(--mono);font-size:10px;color:var(--moss);margin-top:.7rem;padding:.15rem .5rem;background:var(--moss-l);border-radius:99px}
.calc-tile.full{grid-column:span 2;background:linear-gradient(135deg,var(--ink),#283750);color:#fff;border-color:var(--ink)}
@media(max-width:520px){.calc-tile.full{grid-column:span 1}}
.calc-tile.full .calc-tile-num{color:var(--brass-l)}
.calc-tile.full h4{color:#fff}
.calc-tile.full p{color:rgba(255,255,255,.75)}
.calc-tile.full .calc-time{background:rgba(176,141,87,.2);color:var(--brass-l)}
.wizard-bar{padding:1rem 0;background:var(--paper-2);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40}
.step-pill{width:32px;height:32px;border-radius:50%;border:1px solid var(--rule);background:#fff;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--slate-l);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0;flex-shrink:0}
.step-pill:hover{border-color:var(--brass-l)}
.step-pill[data-state="done"]{background:var(--moss-l);color:var(--moss-d);border-color:var(--moss)}
.step-pill[data-state="active"]{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 0 0 3px rgba(26,35,50,.12)}
.step-pill[data-state="locked"]{cursor:not-allowed;opacity:.5}
.step-connector{flex:1;height:1px;background:var(--rule);min-width:8px;max-width:30px}
.compare-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden}
.compare-table th,.compare-table td{padding:.85rem 1rem;text-align:left;font-size:14px;border-bottom:1px solid var(--rule)}
.compare-table th{background:var(--paper-2);font-family:var(--serif);font-weight:600;font-size:1rem}
.compare-table tr:last-child td{border-bottom:none}
.compare-table .col-peace{background:rgba(74,107,61,.04)}
.compare-table .col-war{background:rgba(114,47,55,.04)}
.compare-table .num{font-family:var(--mono);font-weight:600}
.compare-table .num.good{color:var(--moss)}
.compare-table .num.bad{color:var(--garnet)}
.mediator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
@media(max-width:880px){.mediator-grid{grid-template-columns:1fr}}
.mediator-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:all .2s}
.mediator-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.mediator-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--brass-l),var(--brass));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.4rem;color:#fff;font-weight:600}
.mediator-name{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin:0}
.mediator-title{font-size:11px;color:var(--brass);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.mediator-meta{font-size:13px;color:var(--slate);margin:0;line-height:1.55}
.mediator-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.3rem}
.mediator-tags .tag{font-size:10px;padding:.15rem .5rem}
.child-impact{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2rem;border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden}
@media(max-width:760px){.child-impact{grid-template-columns:1fr}}
.child-impact-side{padding:2rem;background:#fff}
.child-impact-side.peace{background:linear-gradient(180deg,var(--moss-l),#fff);border-right:1px solid var(--rule)}
.child-impact-side.war{background:linear-gradient(180deg,var(--rust-l),#fff)}
@media(max-width:760px){.child-impact-side.peace{border-right:none;border-bottom:1px solid var(--rule)}}
.impact-list{margin:1rem 0 0;padding:0;list-style:none}
.impact-list li{padding:.5rem 0;border-bottom:1px dashed var(--rule);font-size:14px;display:flex;gap:.7rem;align-items:start}
.impact-list li:last-child{border-bottom:none}
.impact-list .icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.impact-list .icon.good{background:var(--moss);color:#fff}
.impact-list .icon.bad{background:var(--garnet);color:#fff}
.timeline{position:relative;padding-left:2rem;margin-top:1.5rem}
.timeline::before{content:'';position:absolute;left:6px;top:.3rem;bottom:.3rem;width:1px;background:var(--rule)}
.tl-item{position:relative;padding-bottom:1.2rem}
.tl-item::before{content:'';position:absolute;left:-2rem;top:.3rem;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--brass)}
.tl-item.warning::before{border-color:var(--garnet);background:var(--garnet)}
.tl-time{font-family:var(--mono);font-size:11px;color:var(--brass);letter-spacing:.06em;font-weight:600;text-transform:uppercase}
.tl-text{font-size:14px;margin-top:.2rem;color:var(--ink-soft);line-height:1.5}
.assets-list .asset-row{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:1rem;margin-bottom:.7rem}
.asset-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}
.asset-row-head .name{font-weight:600;font-family:var(--serif);font-size:1.05rem}
.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
@media(max-width:760px){.asset-grid{grid-template-columns:repeat(2,1fr)}}
.asset-grid label.field>span{font-size:10px;letter-spacing:.06em}
.asset-grid .inp{padding:.45rem .55rem;font-size:13px}
.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.7rem}
@media(max-width:760px){.preset-grid{grid-template-columns:repeat(2,1fr)}}
.preset-btn{text-align:left;background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:.7rem .9rem;cursor:pointer;transition:all .15s;font-family:inherit}
.preset-btn:hover{border-color:var(--brass);background:var(--paper-2)}
.preset-btn .pn{font-size:13px;font-weight:500;color:var(--ink);display:block}
.preset-btn .pp{font-family:var(--mono);font-size:11px;color:var(--slate);margin-top:.2rem;display:block}
.room-tabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:.7rem}
.room-tab{background:transparent;border:none;padding:.5rem .9rem;font-size:13px;color:var(--slate);cursor:pointer;border-radius:var(--r-sm);font-family:inherit;font-weight:500}
.room-tab[aria-pressed="true"]{background:var(--ink);color:#fff}
.room-tab:hover:not([aria-pressed="true"]){background:var(--paper-2);color:var(--ink)}
.doc-row{display:flex;align-items:start;gap:.85rem;padding:1rem;border:1px solid var(--rule);border-radius:var(--r-md);background:#fff;margin-bottom:.5rem;cursor:pointer}
.doc-row.done{background:var(--moss-l);border-color:#cad9bd}
.doc-row.done .doc-name{color:var(--moss)}
.doc-name{font-weight:600;font-size:14px;color:var(--ink)}
.doc-note{font-size:12px;color:var(--slate);margin-top:.2rem}
.modal-veil{position:fixed;inset:0;background:rgba(26,35,50,.55);backdrop-filter:blur(4px);z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-card{background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-3);animation:rise .3s}
.modal-card-wide{max-width:760px}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.modal-head{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:start;gap:1rem}
.modal-head h2{margin:0}
.modal-body{padding:1.5rem}
.modal-foot{padding:1rem 1.5rem;border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:.5rem;background:var(--paper-2);border-radius:0 0 var(--r-lg) var(--r-lg);flex-wrap:wrap}
.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--slate)}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.toast-zone{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}
.toast{background:var(--ink);color:#fff;padding:.7rem 1.2rem;border-radius:var(--r-sm);font-size:13px;box-shadow:var(--shadow-3);opacity:0;transform:translateY(8px);transition:all .25s}
.toast.show{opacity:1;transform:translateY(0)}
.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-3);z-index:85}
.cookie-options{display:grid;gap:.5rem;margin:1rem 0}
.lead-strip{background:linear-gradient(135deg,var(--ink),#283750);color:#fff;padding:2rem;border-radius:var(--r-lg);display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}
@media(max-width:760px){.lead-strip{grid-template-columns:1fr}}
.lead-strip h3{color:#fff;font-size:1.4rem}
.lead-strip p{color:rgba(255,255,255,.75);font-size:14px;margin:.5rem 0 0}
.lead-strip .inp{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.lead-strip .inp::placeholder{color:rgba(255,255,255,.4)}
.lead-strip .btn-primary{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.lead-strip .btn-primary:hover{background:var(--brass-l)}
.risk-meter{position:relative;height:8px;background:var(--paper-3);border-radius:99px;overflow:hidden}
.risk-meter-fill{height:100%;border-radius:99px;transition:width .6s ease}
.wizard-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}
@media(max-width:1000px){.wizard-layout{grid-template-columns:1fr}}
.live-summary{position:sticky;top:90px;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.25rem}
.live-summary h4{font-family:var(--serif);font-size:1.1rem;margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule)}
.joint-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;background:var(--moss-l);border:1px solid var(--moss);border-radius:99px;font-size:11px;font-weight:600;color:var(--moss);letter-spacing:.04em}
.joint-badge::before{content:'●';animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.save-indicator{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;color:var(--slate-l)}
.save-indicator.saving{color:var(--brass)}
.save-indicator.saved{color:var(--moss)}
.save-indicator::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
details{border-bottom:1px solid var(--rule);padding:1.1rem 0}
details summary{cursor:pointer;font-family:var(--serif);font-size:1.15rem;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
details summary::-webkit-details-marker{display:none}
details summary::after{content:'+';color:var(--brass);font-size:1.4rem;font-weight:300;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:.7rem 0 0;color:var(--slate);font-size:14px}
@media print{.topbar,.disclaimer-strip,footer,.cookie-banner,.toast-zone,.modal-veil,.wizard-bar,.hv-safefabs{display:none!important}body{background:#fff;color:#000}}
.privacy-on .sensitive{filter:blur(6px);transition:filter .25s;cursor:pointer}
.privacy-on .sensitive:hover{filter:blur(0)}
.reveal{animation:revealUp .5s ease both}
@keyframes revealUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.quick-calc{background:linear-gradient(180deg,#fff,var(--paper-2));border:1px solid var(--rule);border-radius:var(--r-xl);padding:2.5rem;box-shadow:var(--shadow-2)}
.quick-result{background:linear-gradient(135deg,var(--moss-l),#fff);border:1px solid var(--moss);border-radius:var(--r-lg);padding:2rem;margin-top:1.5rem}
footer{background:var(--ink);color:rgba(255,255,255,.7);padding:3rem 0 1.5rem;margin-top:4rem;font-size:13px;line-height:1.65}
footer h4{color:#fff;font-family:var(--serif);font-size:1rem;margin-bottom:.5rem}
footer a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.15);cursor:pointer}
footer a:hover{color:var(--brass-l);border-color:var(--brass-l)}
footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:760px){footer .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}
.footer-bottom{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:11px;color:rgba(255,255,255,.5)}
.lead-magnet{background:linear-gradient(135deg,var(--brass),var(--brass-l));color:var(--ink);padding:2rem;border-radius:var(--r-lg);display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;box-shadow:var(--shadow-2)}
@media(max-width:760px){.lead-magnet{grid-template-columns:1fr}}
.lead-magnet-icon{font-family:var(--serif);font-size:3rem;font-style:italic;line-height:1;font-weight:500}
.mobile-toggle{display:none;background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;padding:.4rem}
@media(max-width:880px){.mobile-toggle{display:block}}
.mobile-menu{display:none;background:#fff;border-bottom:1px solid var(--rule);padding:1rem;box-shadow:var(--shadow-2)}
.mobile-menu.show{display:block}
.mobile-menu a{display:block;padding:.7rem 0;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:1px solid var(--rule);cursor:pointer}
.mobile-menu a:last-child{border-bottom:none}
.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.7rem}
@media(max-width:480px){.time-grid{grid-template-columns:repeat(3,1fr)}}
.time-slot{padding:.55rem;font-family:var(--mono);font-size:13px;background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;transition:all .12s}
.time-slot:hover{border-color:var(--brass)}
.time-slot[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.exit-intent{position:fixed;inset:0;background:rgba(26,35,50,.7);backdrop-filter:blur(8px);z-index:130;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s}

/* v4: Vagyon-kalkulátor */
.cat-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.5rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.cat-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:13px;font-weight:500;background:#fff;border:1px solid var(--rule);border-radius:99px;cursor:pointer;font-family:inherit;color:var(--ink-soft);transition:all .15s}
.cat-chip:hover{border-color:var(--brass-l)}
.cat-chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-chip .badge{background:var(--brass);color:#fff;border-radius:99px;padding:0 .4rem;font-size:10px;font-weight:600;min-width:18px;text-align:center}
.cat-chip[aria-pressed="true"] .badge{background:var(--brass-l);color:var(--ink)}
.item-row{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1rem 1.25rem;margin-bottom:.5rem;transition:all .15s}
.item-row:hover{border-color:var(--brass-l);box-shadow:var(--shadow-1)}
.item-row-head{display:flex;justify-content:space-between;align-items:start;gap:.7rem;flex-wrap:wrap}
.item-row-title{font-weight:600;font-size:15px;color:var(--ink)}
.item-row-sub{font-size:12px;color:var(--slate);margin-top:.2rem}
.item-row-val{font-family:var(--mono);font-weight:600;font-size:15px;color:var(--garnet);text-align:right}
.item-row-actions{display:flex;gap:.5rem;align-items:center}
.detail-toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;color:var(--brass);background:none;border:none;cursor:pointer;padding:.3rem 0;font-family:inherit;font-weight:500;text-decoration:underline}
.item-form{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;margin-bottom:1rem}
.item-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(max-width:640px){.item-form-grid{grid-template-columns:1fr}}
.item-form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:640px){.item-form-grid.three{grid-template-columns:1fr}}
.item-form-grid label.field>span{font-size:11px;letter-spacing:.04em}
.item-form-grid .inp{padding:.55rem .7rem;font-size:13px}
.req-mark{color:var(--garnet);font-weight:700;font-size:13px}
.opt-mark{color:var(--slate-l);font-size:10px;font-weight:500;text-transform:none;letter-spacing:0}
.detail-section{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--rule)}
.detail-section h5{font-size:11px;letter-spacing:.1em;color:var(--brass);text-transform:uppercase;font-weight:600;margin:0 0 .5rem}
.cat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}
@media(max-width:640px){.cat-summary{grid-template-columns:1fr}}
.cat-sum-box{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:.85rem 1rem}
.cat-sum-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:600}
.cat-sum-value{font-family:var(--mono);font-size:1.1rem;font-weight:600;color:var(--ink);margin-top:.2rem}
.empty-cat{text-align:center;padding:2rem 1rem;background:var(--paper-2);border:1px dashed var(--rule);border-radius:var(--r-md);color:var(--slate)}
.empty-cat-icon{font-family:var(--serif);font-style:italic;color:var(--brass);font-size:2rem;line-height:1}
.add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.1rem;background:var(--ink);color:#fff;border:none;border-radius:var(--r-sm);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.add-btn:hover{background:var(--ink-soft);transform:translateY(-1px)}
.add-btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--rule)}
.add-btn-secondary:hover{background:var(--paper-2);border-color:var(--ink)}
.master-summary{background:linear-gradient(135deg,var(--paper-2),#fff);border:1px solid var(--brass);border-radius:var(--r-lg);padding:1.5rem;margin-top:2rem}
.master-summary h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:.7rem}
.summary-line{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px dashed var(--rule);font-size:14px}
.summary-line:last-child{border-bottom:none}
.summary-line.total{font-weight:600;font-size:1.05rem;border-top:2px solid var(--ink);border-bottom:none;padding-top:.7rem;margin-top:.3rem}
.summary-line.total .val{color:var(--garnet);font-family:var(--mono)}

/* Tartásdíj kalk — gyermek-adatlap */
.child-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;margin-bottom:.7rem}
.child-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;padding-bottom:.7rem;border-bottom:1px solid var(--rule)}
.child-card-title{font-family:var(--serif);font-size:1.1rem;font-weight:600}
.need-row{display:grid;grid-template-columns:1fr 140px;gap:.5rem;align-items:center;padding:.45rem 0;border-bottom:1px dashed var(--rule)}
.need-row:last-child{border-bottom:none}
.need-row .lbl{font-size:13px;color:var(--ink-soft)}
.need-row .help{font-size:11px;color:var(--slate-l);display:block;margin-top:.1rem}

/* v4.1 — Kapcsolattartási naptár */
.parenting-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
@media(max-width:640px){.parenting-calendar{grid-template-columns:repeat(7,1fr);gap:.2rem}}
.cal-day{background:#fff;border:1.5px solid var(--rule);border-radius:var(--r-sm);padding:.8rem .4rem;text-align:center;cursor:pointer;transition:all .15s;user-select:none}
.cal-day:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}
.cal-day[data-who="A"]{background:linear-gradient(135deg,var(--moss-l),#fff);border-color:var(--moss)}
.cal-day[data-who="B"]{background:linear-gradient(135deg,var(--rust-l),#fff);border-color:var(--garnet)}
.cal-day[data-who="shared"]{background:linear-gradient(135deg,#fff,var(--paper-2));border-color:var(--brass);border-style:dashed}
.cal-day-name{font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--ink)}
.cal-day-who{font-size:10px;margin-top:.3rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft)}
.parenting-stats{display:flex;gap:.4rem;flex-wrap:wrap}
.holiday-grid{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.5rem}
.holiday-row{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:.7rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}
.holiday-row .help{font-size:11px;color:var(--slate);margin:.1rem 0 0}

/* v4.2 — Iratok és sablonok */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}
.doc-card{background:#fff !important;border:2px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;display:flex;flex-direction:column;transition:all .15s;box-shadow:0 2px 8px -2px rgba(0,0,0,.08);color:var(--ink)}
.doc-card *{color:var(--ink)}
.doc-card .tag{color:#fff !important}
.doc-card.ready{border-color:var(--moss);background:linear-gradient(180deg,var(--moss-l),#fff) !important}
.doc-card:hover{box-shadow:0 6px 20px -4px rgba(176,141,87,.35);transform:translateY(-3px);border-color:var(--brass)}
.doc-card-head{display:flex;justify-content:space-between;align-items:start;gap:.5rem;margin-bottom:.75rem}
.doc-card-head h4{margin:0;font-size:16px;line-height:1.3;color:var(--ink) !important;font-family:var(--serif);font-weight:600}
.doc-card-head .tag{font-size:10px;flex-shrink:0;white-space:nowrap;background:var(--brass);color:#fff !important;padding:.25rem .6rem;border-radius:99px;font-weight:700;letter-spacing:.05em}
.doc-desc{font-size:14px;color:var(--ink) !important;line-height:1.55;flex:1;margin:0 0 .85rem}
.doc-desc strong{color:var(--ink) !important;font-weight:600}
.doc-meta{font-size:12px;color:var(--slate) !important;font-family:var(--mono);margin:0 0 .7rem;padding-top:.5rem;border-top:1px dashed var(--rule)}
.doc-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}
.doc-actions .btn-sm{font-size:13px;padding:.55rem .9rem;font-weight:500}
.doc-actions .btn-primary{color:#fff !important}
.doc-need{font-size:11px;color:var(--rust) !important;display:block;margin-top:.3rem}

/* v4.3 — PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;margin-top:2.5rem}
@media(max-width:1200px){.pricing-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}
@media(max-width:768px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.pricing-grid{grid-template-columns:1fr}}
.pricing-card{background:#fff;border:1.5px solid var(--rule);border-radius:var(--r-md);padding:0;display:flex;flex-direction:column;position:relative;transition:all .2s;overflow:hidden}
.pricing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.pc-header{padding:1.4rem 1.2rem 1.1rem;background:linear-gradient(180deg,var(--warm-cream),#fff);border-bottom:1px solid var(--rule)}
.pc-body{padding:1rem 1.2rem;flex:1;display:flex;flex-direction:column;gap:.75rem;font-size:13px;line-height:1.5}
.pc-footer{padding:.9rem 1.2rem 1.2rem}
.pc-content{font-size:13px;color:var(--ink-soft);line-height:1.55}
.pc-content ul{margin:.4rem 0 0;padding-left:1rem;list-style:none}
.pc-content ul li{padding:.2rem 0;position:relative;padding-left:.85rem}
.pc-content ul li::before{content:'✓';color:var(--moss);font-weight:700;position:absolute;left:0}
.pc-content ul li.bonus{color:var(--ink);font-weight:500}
.pc-content ul li.bonus::before{content:'+';color:var(--garnet);font-weight:700}
.pricing-card.featured{border-color:var(--brass);border-width:2px;box-shadow:0 6px 24px -8px rgba(176,141,87,.25)}
.pricing-card.featured .pc-header{background:linear-gradient(180deg,var(--warm-cream),var(--peach-l))}
.pricing-card.highlighted{border-color:var(--brass);border-width:3px;box-shadow:0 8px 32px -4px rgba(176,141,87,.35);z-index:2;background:linear-gradient(180deg,#fff,#fefbf4)}
.pricing-card.highlighted:hover{transform:translateY(-4px)}
.pricing-card.current{border-color:var(--moss)}
.pricing-card.current::before{content:'✓ Jelenlegi';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--moss);color:#fff;font-size:11px;font-weight:600;padding:.3rem .9rem;border-radius:99px;z-index:3}
.pricing-tier{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin:0}
.pricing-price{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--ink);margin:.5rem 0 .2rem;line-height:1}
.pricing-price .unit{font-family:var(--sans);font-size:.7rem;font-weight:500;color:var(--slate);text-transform:uppercase;letter-spacing:.05em}
.pricing-tagline{font-size:13px;color:var(--ink-soft);margin:.3rem 0 .8rem;line-height:1.4;min-height:2.6em}
.pricing-savings{background:linear-gradient(135deg,var(--moss-l),#fff);border-left:3px solid var(--moss);padding:.7rem .85rem;border-radius:var(--r-sm);margin:.6rem 0}
.pricing-savings-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);font-weight:700;margin-bottom:.2rem}
.pricing-savings-value{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}
.pricing-savings-value strong{color:var(--moss);font-family:var(--serif)}
.pricing-features{list-style:none;padding:0;margin:.5rem 0;flex:1}
.pricing-features li{font-size:13px;padding:.35rem 0;color:var(--ink-soft);line-height:1.45;display:flex;gap:.45rem;align-items:flex-start}
.pricing-features li::before{content:'✓';color:var(--moss);font-weight:700;flex-shrink:0;margin-top:1px}
.pricing-features li.bonus::before{content:'+';color:var(--garnet);font-weight:700}
.pricing-features li.bonus{font-weight:500;color:var(--ink)}
.pricing-cta{margin-top:1rem;display:block;text-align:center;width:100%}
.pricing-meta{font-size:11px;color:var(--slate);margin-top:.5rem;text-align:center;font-style:italic}
/* v6 újratervezés — megtakarítási kalkuláció responsive */
@media(max-width:768px){
  .value-grid{grid-template-columns:1fr !important;gap:1rem !important}
  .value-arrow{transform:rotate(90deg);font-size:1.6rem !important}
  .benefits-mini{grid-template-columns:1fr !important;gap:.75rem !important;text-align:center}
}

/* v4.4 — Benefits section + free docs */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
@media(max-width:768px){.benefits-grid{grid-template-columns:1fr}}
.benefit-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;display:flex;gap:.9rem}
@media(max-width:640px){.benefit-card{padding:1rem;gap:.7rem}}
.benefit-icon{font-size:1.8rem;flex-shrink:0;line-height:1}
.benefit-card h4{font-family:var(--serif);font-size:1.05rem;margin:0 0 .3rem}
.benefit-card p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.5}

.freedocs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin-top:1.5rem}
.freedoc-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.1rem;display:flex;flex-direction:column;gap:.4rem;transition:all .15s;cursor:pointer}
.freedoc-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-1);border-color:var(--brass-l)}
.freedoc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.freedoc-icon{font-size:1.3rem;line-height:1}
.freedoc-card h4{font-family:var(--serif);font-size:14px;margin:0;line-height:1.3;font-weight:600}
.freedoc-card p{font-size:12px;color:var(--ink-soft);margin:.2rem 0 .5rem;line-height:1.45;flex:1}
.freedoc-card .freedoc-action{font-size:11px;color:var(--brass);font-weight:600;letter-spacing:.04em;text-transform:uppercase}

/* v5.1 — Empátia-doboz */
.empathy-box{background:linear-gradient(135deg,var(--warm-cream),#fff);border-left:3px solid var(--peach);border-radius:var(--r-sm);padding:.85rem 1rem;margin:1rem 0 1.25rem;font-size:13px;line-height:1.55;display:flex;gap:.7rem;align-items:flex-start}
.empathy-box .emp-icon{font-size:1.15rem;line-height:1;flex-shrink:0;margin-top:.05rem}
.empathy-box .emp-text{color:var(--ink-soft)}
.empathy-box strong{color:var(--ink)}

/* v5.1 — Perspektíva-doboz (nem büntetés / méltányossági) */
.perspective-box{background:linear-gradient(135deg,var(--moss-l),#fff);border-left:3px solid var(--moss);border-radius:var(--r-sm);padding:.85rem 1rem;margin:1rem 0;font-size:13px;line-height:1.6}
.perspective-box .persp-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);font-weight:700;margin-bottom:.35rem}
.perspective-box.male{background:linear-gradient(135deg,var(--moss-l),#fff);border-left-color:var(--moss)}
.perspective-box.female{background:linear-gradient(135deg,var(--peach-l),#fff);border-left-color:var(--peach)}
.perspective-box .persp-label.male{color:var(--moss-d)}
.perspective-box .persp-label.female{color:var(--rust)}

/* v5.2 — Komplexitás-mérő */
.complexity-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:99px;font-size:12px;font-weight:600;background:#fff;border:1px solid var(--rule);cursor:pointer;transition:all .15s}
.complexity-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}
.complexity-pill .cp-dot{font-size:.9rem;line-height:1}
.complexity-pill .cp-label{color:var(--ink)}
.complexity-pill .cp-count{color:var(--slate);font-family:var(--mono);font-size:11px;padding-left:.4rem;border-left:1px solid var(--rule);margin-left:.3rem}
.complexity-bar{background:linear-gradient(180deg,#fff,var(--warm-cream));border:1px solid var(--rule);border-radius:var(--r-md);padding:.85rem 1rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin:1rem 0}
.complexity-bar .cb-left{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.complexity-bar .cb-hours{background:var(--moss);color:#fff;padding:.35rem .7rem;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.04em}
.complexity-bar .cb-savings{font-size:12px;color:var(--ink-soft)}
.complexity-bar .cb-savings strong{color:var(--moss);font-family:var(--mono)}
.complexity-bar a{color:var(--brass);font-size:11px;cursor:pointer;text-decoration:underline}
.recommended-banner{position:absolute;top:-10px;right:12px;background:var(--moss);color:#fff;font-size:9px;font-weight:600;padding:.2rem .6rem;border-radius:99px;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-1);z-index:2}

/* v5.6 — Hogyan segítünk? szekció */
.hiw-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1.5rem;align-items:stretch;margin-bottom:3.5rem}
@media(max-width:900px){.hiw-diagram{grid-template-columns:1fr;gap:1rem}.hiw-arrow{transform:rotate(90deg);margin:.5rem auto;width:60px}}
.hiw-column{background:#fff;border-radius:var(--r-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow-2);position:relative;text-align:center;border:1px solid var(--rule);transition:transform .2s}
.hiw-column:hover{transform:translateY(-4px);box-shadow:var(--shadow-3)}
.hiw-column h3{font-family:var(--serif);font-size:1.25rem;margin:.5rem 0 .5rem;color:var(--ink)}
.hiw-column p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0 0 1rem}
.hiw-you{border-top:4px solid var(--garnet);background:linear-gradient(180deg,#fff,rgba(180,60,60,.03))}
.hiw-daas{border-top:4px solid var(--brass);background:linear-gradient(180deg,#fff,var(--warm-cream));transform:scale(1.03)}
.hiw-daas:hover{transform:scale(1.03) translateY(-4px)}
.hiw-solution{border-top:4px solid var(--moss);background:linear-gradient(180deg,#fff,rgba(120,150,110,.04))}
.hiw-badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:34px;height:34px;background:var(--ink);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--serif);font-size:1.05rem;box-shadow:var(--shadow-1)}
.hiw-you .hiw-badge{background:var(--garnet)}
.hiw-daas .hiw-badge{background:var(--brass)}
.hiw-solution .hiw-badge{background:var(--moss)}
.hiw-icon{font-size:2.75rem;margin-top:.25rem;line-height:1}
.hiw-list{list-style:none;padding:0;margin:0;text-align:left;font-size:12.5px;color:var(--ink-soft);line-height:1.7}
.hiw-list li{padding:.15rem 0}
.hiw-arrow{color:var(--slate-l);display:flex;align-items:center;justify-content:center;min-width:60px}
.hiw-arrow svg{width:60px;height:20px}

/* Peres vs békés összehasonlító sáv */
.hiw-compare{background:#fff;border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-1);border:1px solid var(--rule)}
.hiw-track{margin-bottom:1.5rem}
.hiw-track:last-child{margin-bottom:0}
.hiw-track-lbl{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:.5rem}
.hiw-track-bar{position:relative;height:56px;border-radius:99px;margin-bottom:.4rem}
.hiw-track-bar span{position:absolute;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:600;text-align:center;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.hiw-track-bar span small{font-size:9.5px;opacity:.85;font-weight:400}
.hiw-track-time{text-align:right;font-size:12px;font-weight:600;color:var(--ink-soft)}
.hiw-track-war .hiw-track-time{color:var(--garnet)}
.hiw-track-peace .hiw-track-time{color:var(--moss)}

/* 4 fő előny */
.hiw-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2rem}
.hiw-benefit{display:flex;align-items:center;gap:.85rem;background:#fff;border-radius:var(--r-md);padding:1rem 1.25rem;border:1px solid var(--rule);transition:all .15s}
.hiw-benefit:hover{border-color:var(--brass);transform:translateY(-2px);box-shadow:var(--shadow-1)}
.hiw-b-icon{font-size:1.75rem;line-height:1}
.hiw-benefit strong{display:block;font-family:var(--serif);font-size:1rem;color:var(--ink);margin-bottom:.15rem}
.hiw-benefit span{font-size:12px;color:var(--ink-soft);line-height:1.4}

/* v5.6 — GYIK / FAQ */
.faq-cat-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;justify-content:center}
.faq-cat-btn{padding:.5rem 1rem;background:#fff;border:1px solid var(--rule);border-radius:99px;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:all .15s;font-family:inherit}
.faq-cat-btn:hover{border-color:var(--brass);color:var(--ink)}
.faq-cat-btn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.faq-group{margin-bottom:2rem}
.faq-group-title{font-family:var(--serif);font-size:1.2rem;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.faq-item{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);margin-bottom:.75rem;overflow:hidden;transition:box-shadow .15s}
.faq-item:hover{box-shadow:var(--shadow-1)}
.faq-item.open{border-color:var(--brass);box-shadow:var(--shadow-2)}
.faq-q{padding:1.15rem 1.35rem;cursor:pointer;font-weight:500;font-size:14.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;line-height:1.4}
.faq-q:hover{color:var(--brass)}
.faq-q-icon{font-size:1.25rem;color:var(--brass);flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-q-icon{transform:rotate(45deg)}
.faq-a{padding:0 1.35rem 1.15rem;font-size:13.5px;line-height:1.65;color:var(--ink-soft);border-top:1px solid var(--paper-3)}
.faq-a p{margin:0 0 .5rem}
.faq-a p:last-child{margin-bottom:0}
.faq-a strong{color:var(--ink)}
.faq-a code{background:var(--warm-cream);padding:.1rem .4rem;border-radius:4px;font-family:var(--mono);font-size:12px}

/* v6 — SCROLL PROGRESS BAR */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--moss),var(--brass),var(--rust));z-index:9999;transition:width .1s ease-out;box-shadow:0 1px 3px rgba(0,0,0,.1)}

/* v6 — NAV COLOR CODING */
.top-nav a.nav-active{border-bottom:2px solid currentColor;padding-bottom:.15rem}
.top-nav a[data-nav="kalkulator"]{color:var(--moss-d,#4a6b3d)}
.top-nav a[data-nav="kalkulator"]:hover, .top-nav a[data-nav="kalkulator"].nav-active{color:var(--moss)}
.top-nav a[data-nav="tudastar"]{color:#a0722d}
.top-nav a[data-nav="tudastar"]:hover, .top-nav a[data-nav="tudastar"].nav-active{color:var(--brass)}
.top-nav a[data-nav="szakerto"]{color:#a04a2b}
.top-nav a[data-nav="szakerto"]:hover, .top-nav a[data-nav="szakerto"].nav-active{color:var(--rust)}
.top-nav a[data-nav="csomagok"]{color:#8a2b2b}
.top-nav a[data-nav="csomagok"]:hover, .top-nav a[data-nav="csomagok"].nav-active{color:var(--garnet)}
.top-nav a[data-nav="gyik"]{color:var(--ink-soft)}
.top-nav a[data-nav="gyik"]:hover, .top-nav a[data-nav="gyik"].nav-active{color:var(--ink)}

/* v6 — SECTION CHIPS */
.section-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}
.section-chip-kalkulator{background:var(--moss-l);color:#4a6b3d;border:1px solid rgba(120,150,110,.3)}
.section-chip-tudastar{background:var(--warm-cream);color:#8a5a1e;border:1px solid rgba(196,150,80,.35)}
.section-chip-szakerto{background:var(--peach-l);color:var(--rust);border:1px solid rgba(200,120,80,.3)}
.section-chip-csomagok{background:rgba(180,60,60,.08);color:var(--garnet);border:1px solid rgba(180,60,60,.25)}

/* v6 — SZEKCIÓ HÁTTÉR-VARIÁNSOK */
.section-bg-kalkulator{background:linear-gradient(180deg,#fff 0%, #f7fbf5 100%)}
.section-bg-tudastar{background:linear-gradient(180deg,#fff 0%, #fdf9ec 100%)}
.section-bg-szakerto{background:linear-gradient(180deg,#fff 0%, #fbf3ee 100%)}
.section-bg-csomagok{background:linear-gradient(180deg,#fff 0%, #fef5f5 100%)}

/* v6 — BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--slate);margin-bottom:1.5rem;flex-wrap:wrap}
.breadcrumb a{color:var(--brass);cursor:pointer;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb-sep{color:var(--slate-l);margin:0 .1rem}
.breadcrumb-current{color:var(--ink);font-weight:500}

/* v6 — TUDÁSTÁR */
.knowledge-hero{background:linear-gradient(135deg,var(--warm-cream),#fef8ea);padding:3rem 0 2rem;border-bottom:1px solid rgba(196,150,80,.2)}
.kb-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}
.kb-cat-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}
.kb-cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--brass)}
.kb-cat-card:before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--brass)}
.kb-cat-card h3{margin:0 0 .3rem;font-family:var(--serif);font-size:1.05rem;padding-left:.4rem}
.kb-cat-card .kb-cat-icon{font-size:1.6rem;margin-bottom:.4rem}
.kb-cat-card .kb-cat-count{font-size:11px;color:var(--slate);padding-left:.4rem}

.kb-article-list{display:grid;gap:.75rem;margin-top:1.5rem}
.kb-article-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.15rem 1.35rem;cursor:pointer;transition:all .15s;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.kb-article-card:hover{transform:translateX(3px);box-shadow:var(--shadow-1);border-color:var(--brass)}
.kb-article-card h4{margin:0 0 .2rem;font-size:1rem;color:var(--ink);line-height:1.35}
.kb-article-card .kb-teaser{font-size:12.5px;color:var(--slate);line-height:1.5}
.kb-article-card .kb-arrow{color:var(--brass);font-size:1.3rem;flex-shrink:0}

.kb-article{max-width:720px;margin:0 auto;padding:2rem 0}
.kb-article h1{font-family:var(--serif);font-size:2rem;line-height:1.25;margin:1rem 0 .5rem}
.kb-article .kb-tldr{background:linear-gradient(135deg,var(--moss-l),#fff);border-left:4px solid var(--moss);padding:1rem 1.25rem;border-radius:var(--r-sm);margin:1.5rem 0}
.kb-article .kb-tldr strong{color:#4a6b3d;text-transform:uppercase;font-size:11px;letter-spacing:.08em;display:block;margin-bottom:.4rem}
.kb-article h2{font-family:var(--serif);font-size:1.4rem;margin:2rem 0 .75rem;color:var(--ink)}
.kb-article h3{font-family:var(--serif);font-size:1.15rem;margin:1.5rem 0 .5rem;color:var(--ink)}
.kb-article p{font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 1rem}
.kb-article ul, .kb-article ol{font-size:15px;line-height:1.75;color:var(--ink);padding-left:1.5rem}
.kb-article li{margin-bottom:.4rem}
.kb-article strong{color:var(--ink)}
.kb-article .kb-example{background:var(--warm-cream);border-radius:var(--r-sm);padding:1.25rem 1.5rem;margin:1.5rem 0;border-left:4px solid var(--brass)}
.kb-article .kb-example strong{display:block;margin-bottom:.5rem;color:var(--ink);font-family:var(--serif);font-size:1.05rem}
.kb-article .kb-cta{background:linear-gradient(135deg,var(--moss-l),#fff);border-radius:var(--r-md);padding:1.5rem;margin:2rem 0;text-align:center;border:1px solid var(--moss)}
.kb-article .kb-cta h3{margin:0 0 .5rem;color:#4a6b3d}
.kb-article .kb-laws{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:1rem 1.25rem;margin:1.5rem 0}
.kb-article .kb-laws h4{margin:0 0 .5rem;font-family:var(--serif);font-size:1rem;color:var(--ink)}
.kb-article .kb-laws ul{padding-left:1.2rem;font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0}
.kb-article .kb-sources{background:#fbfaf7;border:1px dashed var(--rule);border-radius:var(--r-sm);padding:1rem 1.25rem;margin:2rem 0 1rem;font-size:13px}
.kb-article .kb-sources h4{margin:0 0 .5rem;font-size:.95rem;font-family:var(--serif);color:var(--ink)}
.kb-article .kb-sources ul{padding-left:1.2rem;color:var(--ink-soft);line-height:1.7;margin:0}
.kb-article .kb-sources a{color:var(--brass);text-decoration:none;border-bottom:1px dotted var(--brass)}
.kb-article .kb-sources a:hover{border-bottom:1px solid var(--brass)}
.kb-article .kb-updated{font-size:11px;color:var(--slate);font-style:italic;text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--paper-3)}
.kb-article .kb-back{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;color:var(--brass);cursor:pointer;margin-bottom:1rem;text-decoration:none}
.kb-article .kb-back:hover{text-decoration:underline}

.kb-related{background:#fbfaf7;border-radius:var(--r-md);padding:1.5rem;margin-top:2.5rem}
.kb-related h3{margin:0 0 .75rem;font-family:var(--serif);font-size:1.05rem}
.kb-related-list{display:grid;gap:.5rem}
.kb-related-list a{padding:.55rem .85rem;background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);color:var(--ink);font-size:13.5px;cursor:pointer;text-decoration:none;transition:all .15s}
.kb-related-list a:hover{border-color:var(--brass);color:var(--brass);transform:translateX(2px)}
@media(max-width:768px){.kb-promo-grid{grid-template-columns:1fr !important;gap:2rem !important}}

/* v5.4 — Kalkulátor-csomag mátrix */
.matrix-wrap{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}
.calc-matrix{width:100%;border-collapse:collapse;font-size:13px}
.calc-matrix thead{background:var(--paper-2);border-bottom:2px solid var(--rule)}
.calc-matrix th{padding:.75rem .5rem;text-align:center;font-weight:600;font-size:12px;color:var(--ink);letter-spacing:.02em;border-bottom:1px solid var(--rule)}
.calc-matrix td{padding:.55rem .5rem;text-align:center;border-bottom:1px solid var(--paper-3);color:var(--ink-soft)}
.calc-matrix td:first-child{text-align:left;font-weight:500;color:var(--ink);padding-left:1rem}
.calc-matrix tr:nth-child(even) td{background:rgba(248,243,236,.35)}
.calc-matrix tr:hover td{background:var(--warm-cream)}
.calc-matrix tr.section-divider td{background:var(--warm-cream) !important;font-weight:600;color:var(--ink);text-align:left;padding-left:1rem;border-top:1px solid var(--rule)}
@media(max-width:768px){
  .matrix-wrap{overflow-x:auto}
  .calc-matrix{min-width:640px;font-size:12px}
  .calc-matrix th, .calc-matrix td{padding:.4rem .3rem}
}

/* v5.4 — Ajánlások grid */
.recommendation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
@media(max-width:1024px){.recommendation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.recommendation-grid{grid-template-columns:1fr}}
.rec-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:1rem;transition:transform .15s}
.rec-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-1)}
.rec-card h4{font-family:var(--serif);font-size:1.05rem;margin:0}
.rec-card .rec-desc{font-size:12px;color:var(--slate);margin:.4rem 0 .75rem;line-height:1.5}
.rec-card .rec-plan{font-size:13px;color:var(--ink);padding-top:.5rem;border-top:1px dashed var(--rule)}

/* v5.1 — Mobile utility */
@media(max-width:640px){
  .hide-mobile{display:none !important}
  .partner-tabs{gap:.15rem}
  .partner-tab{padding:.5rem .7rem;font-size:12px}
  .pricing-savings{padding:.6rem .7rem}
  .pricing-savings-value{font-size:12px}
  .empathy-box{padding:.7rem .8rem;font-size:12px}
  .perspective-box{padding:.7rem .8rem;font-size:12px}
}

/* v4.3 — PARTNER TABS */
.partner-tabs{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--rule);scrollbar-width:thin}
.partner-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;font-family:inherit;font-size:13px;font-weight:500;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--slate);transition:all .15s;white-space:nowrap}
.partner-tab:hover{color:var(--ink)}
.partner-tab[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--garnet);font-weight:600}
.partner-tab .badge{background:var(--paper-2);color:var(--slate);font-size:10px;padding:.1rem .35rem;border-radius:99px;font-weight:600;min-width:18px;text-align:center}
.partner-tab[aria-pressed="true"] .badge{background:var(--garnet);color:#fff}

/* Smart layout — 1, 2, 3, 4+ partner */
.partners-grid{display:grid;gap:1rem}
.partners-grid.layout-1{grid-template-columns:1fr;max-width:580px;margin:0 auto}
.partners-grid.layout-2{grid-template-columns:repeat(2,1fr);max-width:880px;margin:0 auto}
.partners-grid.layout-3{grid-template-columns:repeat(3,1fr)}
.partners-grid.layout-many{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
@media(max-width:768px){
  .partners-grid.layout-2,.partners-grid.layout-3{grid-template-columns:1fr;max-width:480px;margin:0 auto}
}

.partner-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:all .2s}
.partner-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--brass-l)}
.partner-card-head{display:flex;gap:.85rem;align-items:flex-start}
.partner-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--brass-l),var(--paper-2));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink);flex-shrink:0;border:1.5px solid var(--brass-l)}
.partner-name{margin:0;font-family:var(--serif);font-size:1.05rem;font-weight:600}
.partner-title{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:.2rem}
.partner-meta{font-size:13px;color:var(--ink-soft);margin:.3rem 0 .5rem;line-height:1.5}
.partner-tags{display:flex;gap:.3rem;flex-wrap:wrap}
.partner-tags .tag{font-size:10px;padding:.15rem .5rem}
.partner-rate{font-size:12px;font-family:var(--mono);color:var(--slate);margin-top:auto;padding-top:.7rem;border-top:1px dashed var(--rule);display:flex;justify-content:space-between;align-items:center}
.partner-rate .discount{color:var(--moss);font-weight:600}

/* "Üres" típus */
.empty-partner-type{background:linear-gradient(180deg,var(--paper-2),#fff);border:1.5px dashed var(--rule);border-radius:var(--r-md);padding:2rem;text-align:center}
.empty-partner-type h3{font-family:var(--serif);font-size:1.2rem;margin:0 0 .5rem}
.empty-partner-type p{font-size:13px;color:var(--slate);margin:0 0 1rem}

/* Partner-CTA (csatlakozz) */
.partner-cta-box{margin-top:2.5rem;padding:1.75rem;background:linear-gradient(135deg,var(--ink),var(--ink-soft));color:#fff;border-radius:var(--r-lg);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.partner-cta-box h3{font-family:var(--serif);margin:0;font-size:1.3rem;color:#fff}
.partner-cta-box p{margin:.3rem 0 0;font-size:13px;opacity:.85;color:#fff;line-height:1.5;max-width:520px}
.partner-cta-box .btn-brass{background:var(--brass);color:#fff;border:none}
.partner-cta-box .btn-brass:hover{background:var(--brass-l);color:var(--ink)}

/* PAYWALL */
.paywall-content{max-width:540px}
.paywall-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--brass),var(--garnet));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem}
.paywall-value{background:linear-gradient(135deg,var(--moss-l),#fff);border:1px solid var(--moss);border-radius:var(--r-sm);padding:.85rem 1rem;margin:1rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.paywall-value strong{font-family:var(--serif);font-size:1.1rem;color:var(--moss)}

/* ===== v15 KALKULÁTOROK — átlátható, előre kitöltött (calc-) ===== */
:root{ --c-a:#4a7c59; --c-a-l:#eef4ef; --c-b:#3d5a80; --c-b-l:#eef2f7;
       --c-line:#e0d8c8; --c-warm:#f7f2e8; --c-rose:#a85432; --c-ink:#16202e; }

/* --- Választórács --- */
.calcgrid{max-width:1080px;margin:0 auto}
.calcgrid-head{text-align:center;margin-bottom:2rem}
.calcgrid-head h2{font-family:var(--serif);font-size:2.2rem;margin:.4rem 0 .6rem;color:var(--ink);font-weight:500}
.calcgrid-head .lede{max-width:56ch;margin:0 auto;font-size:15px;line-height:1.65;color:var(--ink-soft)}
.calcgrid-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.9rem}
.calccard{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;
  border:1.5px solid var(--c-line);border-radius:18px;padding:1.5rem;cursor:pointer;transition:all .17s}
.calccard:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:var(--shadow-2)}
.calccard-i{font-size:1.9rem;line-height:1;margin-bottom:.6rem}
.calccard h3{font-family:var(--serif);font-size:1.28rem;margin:0 0 .5rem;color:var(--ink);font-weight:600}
.calccard-q{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0 0 1rem;font-style:italic;flex:1}
.calccard-t{display:inline-flex;align-items:center;gap:.35rem;background:var(--c-a-l);color:var(--c-a);
  border-radius:99px;padding:.3rem .7rem;font-size:11.5px;font-weight:700}
.calcgrid-foot{text-align:center;font-size:13px;color:var(--slate);margin-top:1.5rem;line-height:1.6}

/* ===== KÉTOSZLOPOS VÁZ ===== */
.cx{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start;max-width:1120px;margin:0 auto}
.cx-in{min-width:0}
.cx-out{position:sticky;top:1.25rem}

/* --- Fejléc --- */
.cx-head{margin-bottom:1.5rem}
.cx-head h1{font-family:var(--serif);font-size:2.1rem;margin:.35rem 0 .55rem;color:var(--ink);font-weight:500;line-height:1.15}
.cx-head p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin:0;max-width:62ch}
.cx-pre{display:inline-flex;align-items:center;gap:.45rem;background:var(--c-warm);border:1px solid var(--c-line);
  border-radius:99px;padding:.4rem .85rem;font-size:12.5px;color:#7a5a26;margin-top:1rem;font-weight:600}

/* ===== SZIGNATÚRA: A SEGÍTŐ TÁRS BUBORÉK ===== */
.tip{display:flex;gap:.65rem;align-items:flex-start;margin:.6rem 0 1rem}
.tip-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,#4a7c59,#3d5a80);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}
.tip-b{position:relative;background:var(--c-warm);border:1px solid var(--c-line);border-radius:4px 14px 14px 14px;
  padding:.7rem .95rem;font-size:13px;line-height:1.6;color:#5e4a2a;flex:1}
.tip-b::before{content:'';position:absolute;left:-7px;top:0;width:0;height:0;
  border-right:8px solid var(--c-line);border-bottom:8px solid transparent}
.tip-b b{color:#3d2f16}
.tip.ok .tip-b{background:var(--c-a-l);border-color:rgba(74,124,89,.35);color:#2f5138}
.tip.ok .tip-b::before{border-right-color:rgba(74,124,89,.35)}
.tip.warn .tip-b{background:#fdf3e4;border-color:rgba(176,141,87,.5);color:#7a5a26}
.tip.warn .tip-b::before{border-right-color:rgba(176,141,87,.5)}
.tip.bad .tip-b{background:#fbeee8;border-color:rgba(168,84,50,.4);color:#7e3d22}
.tip.bad .tip-b::before{border-right-color:rgba(168,84,50,.4)}

/* --- Blokkok: sorszám + cím, MINDIG NYITVA --- */
.blk{background:#fff;border:1.5px solid var(--c-line);border-radius:16px;padding:1.4rem 1.5rem;margin-bottom:1rem}
.blk-h{display:flex;align-items:center;gap:.7rem;margin-bottom:.35rem}
.blk-h span{font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;background:var(--c-ink);
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.blk-h h2{font-family:var(--serif);font-size:1.3rem;margin:0;color:var(--ink);font-weight:600;flex:1}
.blk-h em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--slate);background:var(--paper-2);border-radius:99px;padding:.25rem .6rem;white-space:nowrap}
.blk-s{font-size:13.5px;color:var(--slate);line-height:1.6;margin:0 0 1rem 2.25rem}

/* --- Mezők --- */
.fld{margin-bottom:1.15rem}
.fld:last-child{margin-bottom:0}
.fld-l{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;flex-wrap:wrap}
.fld-l b{font-size:14px;color:var(--ink);font-weight:700}
.fld-l i{font-style:normal;font-size:11.5px;color:var(--slate)}
.mn{display:flex;border:2px solid var(--c-line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s}
.mn:focus-within{border-color:var(--brass);box-shadow:0 0 0 4px rgba(176,141,87,.13)}
.mn input{flex:1;width:100%;border:none;padding:.8rem 1rem;font-family:var(--mono);font-size:18px;font-weight:700;
  text-align:right;color:var(--ink);background:transparent;min-height:54px;-moz-appearance:textfield}
.mn input:focus{outline:none}
.mn input::-webkit-outer-spin-button,.mn input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mn span{display:flex;align-items:center;padding:0 1rem;background:var(--paper-2);font-family:var(--mono);
  font-size:12.5px;color:var(--slate);font-weight:600;border-left:1.5px solid var(--c-line);white-space:nowrap}
.mn.a{border-color:rgba(74,124,89,.5)} .mn.a input{color:var(--c-a)}
.mn.b{border-color:rgba(61,90,128,.5)} .mn.b input{color:var(--c-b)}
.txt{width:100%;border:2px solid var(--c-line);border-radius:12px;padding:.75rem 1rem;font-family:var(--sans);
  font-size:15px;color:var(--ink);background:#fff;min-height:52px}
.txt:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 4px rgba(176,141,87,.13)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* --- NAGY, FELIRATOZOTT SZEGMENSGOMB (a pici ikonok helyett) --- */
.seg{display:grid;gap:.4rem;margin-top:.5rem}
.seg.s2{grid-template-columns:1fr 1fr} .seg.s3{grid-template-columns:1fr 1fr 1fr} .seg.s4{grid-template-columns:repeat(4,1fr)}
.seg button{border:2px solid var(--c-line);background:#fff;border-radius:11px;padding:.7rem .5rem;cursor:pointer;
  font-size:13.5px;font-weight:700;color:var(--slate);min-height:50px;transition:all .15s;line-height:1.25}
.seg button:hover{border-color:var(--brass)}
.seg button small{display:block;font-size:10.5px;font-weight:400;opacity:.75;margin-top:.1rem}
.seg button.on{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.seg button.on-a{background:var(--c-a);border-color:var(--c-a);color:#fff}
.seg button.on-b{background:var(--c-b);border-color:var(--c-b);color:#fff}
.seg button.on-x{background:var(--brass);border-color:var(--brass);color:#fff}

/* --- Vagyontétel-kártya --- */
.itm{border:1.5px solid var(--c-line);border-radius:14px;padding:1rem;margin-bottom:.7rem;background:#fff}
.itm.a{border-left:5px solid var(--c-a)} .itm.b{border-left:5px solid var(--c-b)} .itm.x{border-left:5px solid var(--brass)}
.itm-top{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.75rem}
.itm-top .txt{flex:1;min-height:46px;font-size:14.5px;font-weight:600}
.itm-del{background:transparent;border:1.5px solid var(--c-line);color:var(--slate);cursor:pointer;font-size:16px;
  width:46px;height:46px;border-radius:11px;flex-shrink:0;line-height:1}
.itm-del:hover{background:#fbeee8;border-color:var(--c-rose);color:var(--c-rose)}
.itm-g{display:grid;grid-template-columns:1fr 130px;gap:.7rem;margin-bottom:.75rem}
.itm-lab{font-size:11.5px;color:var(--slate);font-weight:700;display:block;margin-bottom:.25rem}
.itm-amo{background:var(--c-warm);border-radius:9px;padding:.55rem .8rem;font-size:12.5px;color:#7a5a26;
  line-height:1.5;margin-bottom:.75rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.itm-amo b{font-family:var(--mono);color:#3d2f16;white-space:nowrap}
.itm-who{font-size:11.5px;color:var(--slate);font-weight:700;display:block;margin-bottom:.1rem}

/* --- Katalógus-gombok --- */
.cat{background:linear-gradient(180deg,var(--c-warm),#fff);border:1.5px solid var(--c-line);
  border-radius:14px;padding:1.1rem;margin-bottom:1rem}
.cat-h{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:.6rem}
.cat-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.45rem}
.cat-b{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1.5px solid var(--c-line);
  border-radius:10px;padding:.6rem .75rem;cursor:pointer;text-align:left;min-height:52px}
.cat-b:hover{border-color:var(--c-a);background:var(--c-a-l)}
.cat-b b{font-size:12.5px;color:var(--ink);font-weight:600;line-height:1.25}
.cat-b span{font-family:var(--mono);font-size:10.5px;color:var(--slate);margin-top:.1rem}
.addbtn{width:100%;background:#fff;border:2px dashed var(--c-line);color:var(--brass);padding:.85rem;
  border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;min-height:52px}
.addbtn:hover{border-color:var(--brass);background:var(--c-warm);border-style:solid}

/* --- Csúszka --- */
.sl{margin-bottom:1.25rem}
.sl-t{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.2rem;flex-wrap:wrap}
.sl-t b{font-size:14px;color:var(--ink);font-weight:700}
.sl-t span{font-family:var(--mono);font-size:1.25rem;font-weight:700;color:var(--brass)}
.sl input[type=range]{width:100%;height:42px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0}
.sl input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:#e8e1d2;margin-top:17px}
.sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;
  background:#fff;border:5px solid var(--c-ink);box-shadow:0 2px 8px rgba(0,0,0,.22);margin-top:-10px}
.sl input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:#e8e1d2}
.sl input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:5px solid var(--c-ink)}
.sl-e{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--slate);margin-top:-.3rem}

/* ===== EREDMÉNYKÁRTYA ===== */
.res{background:linear-gradient(165deg,var(--c-ink),#22314a);border-radius:20px;padding:1.5rem 1.4rem;overflow:hidden;position:relative}
.res::after{content:'';position:absolute;inset:0;background:radial-gradient(420px 170px at 82% -12%,rgba(176,141,87,.24),transparent 62%);pointer-events:none}
.res>*{position:relative;z-index:1}
.res-l{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700;display:block}
.res-v{font-family:var(--mono);font-size:2.15rem;font-weight:700;color:#fff;line-height:1.08;display:block;
  margin:.35rem 0 .4rem;letter-spacing:-.025em;word-break:break-word}
.res-v.warn{color:#e8c98d} .res-v.bad{color:#e59878}
.res-s{font-size:12.5px;color:rgba(255,255,255,.7);line-height:1.55;display:block}
.res-hr{border:none;border-top:1px solid rgba(255,255,255,.13);margin:1.1rem 0}
.res-r{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:12.5px;
  color:rgba(255,255,255,.62);padding:.32rem 0}
.res-r b{font-family:var(--mono);color:#fff;font-weight:700;white-space:nowrap}
.res-r.big{font-size:13.5px;padding-top:.6rem;margin-top:.3rem;border-top:1px solid rgba(255,255,255,.13)}
.res-r.big b{font-size:1.05rem;color:#e8c98d}
.res-r .a{color:#8fc79f} .res-r .b{color:#9dbbdd}
.res-tip{background:rgba(255,255,255,.08);border-left:2px solid var(--brass);border-radius:0 10px 10px 0;
  padding:.75rem .85rem;font-size:12px;line-height:1.6;color:rgba(255,255,255,.82);margin-top:1.1rem}
.res-btn{width:100%;background:#fff;color:var(--c-ink);border:none;padding:.8rem;border-radius:11px;
  cursor:pointer;font-size:14px;font-weight:700;min-height:50px;margin-top:1.1rem}
.res-btn:hover{background:#f0ece3}
.res-alt{width:100%;background:transparent;color:rgba(255,255,255,.6);border:1.5px solid rgba(255,255,255,.2);
  padding:.6rem;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;min-height:42px;margin-top:.5rem}
.res-alt:hover{color:#fff;border-color:rgba(255,255,255,.45)}

/* --- Táblázat --- */
.tb{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:.5rem}
.tb th{background:var(--paper-2);padding:.6rem .75rem;text-align:left;font-size:10.5px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--slate);font-weight:700;border-bottom:1.5px solid var(--c-line)}
.tb th.r,.tb td.r{text-align:right}
.tb td{padding:.6rem .75rem;border-bottom:1px solid var(--rule);color:var(--ink)}
.tb td.n{font-family:var(--mono);font-weight:600;white-space:nowrap}
.tb td.n.a{color:var(--c-a)} .tb td.n.b{color:var(--c-b)} .tb td.n.ro{color:var(--c-rose)}
.tb tr.tot td{background:var(--paper-2);font-weight:700;border-top:2px solid var(--c-line)}
.tb input{width:100%;max-width:120px;border:1.5px solid var(--c-line);border-radius:8px;padding:.45rem .55rem;
  font-family:var(--mono);font-size:13.5px;text-align:right;min-height:42px;-moz-appearance:textfield}
.tb input::-webkit-outer-spin-button,.tb input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tb input:focus{outline:none;border-color:var(--brass)}

/* --- Sáv --- */
.band{position:relative;height:52px;margin:.8rem 0 .2rem}
.band-bg{position:absolute;top:21px;left:0;right:0;height:10px;border-radius:5px;background:#e8e1d2}
.band-z{position:absolute;top:21px;height:10px;background:rgba(74,124,89,.3);border-top:2px solid var(--c-a);border-bottom:2px solid var(--c-a);box-sizing:border-box}
.band-m{position:absolute;top:14px;width:3px;height:24px;background:var(--c-ink);border-radius:2px;transition:left .25s}
.band-m::after{content:'';position:absolute;top:-6px;left:-5px;width:13px;height:13px;border-radius:50%;
  background:var(--c-ink);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.band-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--slate)}
.band-l b{color:var(--c-a)}
.bar{display:flex;height:46px;border-radius:12px;overflow:hidden;margin:.8rem 0}
.bar div{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;
  font-weight:700;color:#fff;transition:flex-basis .25s;min-width:0;white-space:nowrap;overflow:hidden}
.bar .a{background:var(--c-a)} .bar .b{background:var(--c-b)}

.cht{background:#fff;border:1.5px solid var(--c-line);border-radius:14px;padding:1.1rem;margin-top:1rem}
.cht h4{font-family:var(--serif);font-size:1.05rem;margin:0 0 .15rem;color:var(--ink);font-weight:600}
.cht p{font-size:12px;color:var(--slate);margin:0 0 .8rem}
.cht-c{position:relative;height:210px}

.cx-nav{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rule)}
.cx-nav .btn{min-height:48px}

@media(max-width:900px){
  .cx{grid-template-columns:1fr;gap:1.25rem}
  .cx-out{position:sticky;top:0;order:-1;z-index:20;padding-top:.5rem;background:linear-gradient(180deg,var(--paper) 70%,transparent)}
  .res{padding:1.15rem 1.2rem}
  .res-v{font-size:1.75rem}
  .res-hr,.res-r,.res-tip,.res-alt{display:none}
  .res.open .res-hr,.res.open .res-r,.res.open .res-tip,.res.open .res-alt{display:block}
  .res.open .res-r{display:flex}
  .cx-head h1{font-size:1.6rem}
  .blk{padding:1.15rem;border-radius:14px}
  .blk-s{margin-left:0}
  .two,.itm-g{grid-template-columns:1fr}
  .seg.s3,.seg.s4{grid-template-columns:1fr}
  .cat-g{grid-template-columns:1fr 1fr}
  .cx-nav .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){ .calccard,.band-m,.bar div,.seg button{transition:none} }
/* ===== v16 MUNKAFELÜLET — 1/4 · 1/2 · 1/4 ===== */
.ws{display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:1.5rem;align-items:start;
  max-width:1420px;margin:0 auto;padding:0 1rem}

/* ---------- BAL: kalkulátor-lista ---------- */
.ws-nav{position:sticky;top:1rem}
.ws-prog{background:linear-gradient(160deg,var(--c-ink),#22314a);border-radius:16px;padding:1.15rem 1.2rem;
  margin-bottom:.9rem;position:relative;overflow:hidden}
.ws-prog::after{content:'';position:absolute;inset:0;
  background:radial-gradient(300px 120px at 80% -20%,rgba(176,141,87,.28),transparent 62%);pointer-events:none}
.ws-prog>*{position:relative;z-index:1}
.ws-prog-t{display:flex;align-items:center;gap:.8rem}
.ws-prog svg{width:52px;height:52px;flex-shrink:0;transform:rotate(-90deg)}
.ws-prog-n b{display:block;font-family:var(--mono);font-size:1.15rem;color:#fff;font-weight:700;line-height:1}
.ws-prog-n span{display:block;font-size:10.5px;color:rgba(255,255,255,.55);margin-top:.2rem;letter-spacing:.04em}
.ws-prog-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.14);margin-top:.9rem;overflow:hidden}
.ws-prog-bar i{display:block;height:100%;background:linear-gradient(90deg,#4a7c59,#b08d57);
  border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.ws-prog-s{display:block;font-size:11px;color:rgba(255,255,255,.6);margin-top:.6rem;line-height:1.5}
.ws-prog-s b{color:#e8c98d;font-family:var(--mono)}

.ws-list{display:flex;flex-direction:column;gap:.4rem}
.ws-i{display:flex;align-items:center;gap:.65rem;background:#fff;border:1.5px solid var(--c-line);
  border-radius:12px;padding:.7rem .8rem;cursor:pointer;text-align:left;width:100%;transition:all .15s;position:relative}
.ws-i:hover{border-color:var(--brass);transform:translateX(2px)}
.ws-i.on{background:var(--c-ink);border-color:var(--c-ink)}
.ws-i.on .ws-i-n{color:#fff} .ws-i.on .ws-i-s{color:rgba(255,255,255,.55)}
.ws-i-ic{font-size:1.15rem;line-height:1;flex-shrink:0;width:26px;text-align:center}
.ws-i-t{flex:1;min-width:0}
.ws-i-n{display:block;font-size:13px;font-weight:700;color:var(--ink);line-height:1.25}
.ws-i-s{display:block;font-size:10.5px;color:var(--slate);margin-top:.1rem}
.ws-i-b{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:700;border:2px solid var(--c-line);color:transparent}
.ws-i-b.done{background:var(--c-a);border-color:var(--c-a);color:#fff}
.ws-i-b.part{border-color:var(--brass);background:#fff}
.ws-i-b.part::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--brass)}
.ws-back{width:100%;background:transparent;border:1.5px solid var(--c-line);color:var(--slate);
  padding:.6rem;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;margin-top:.7rem;min-height:42px}
.ws-back:hover{border-color:var(--brass);color:var(--brass)}

/* ---------- KÖZÉP ---------- */
.ws-mid{min-width:0}

/* ---------- JOBB: amit kitöltöttél ---------- */
.ws-out{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.7rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding-right:.2rem}
.ws-out::-webkit-scrollbar{width:5px}
.ws-out::-webkit-scrollbar-thumb{background:var(--c-line);border-radius:3px}
.ws-hero{background:linear-gradient(165deg,var(--c-ink),#22314a);border-radius:16px;padding:1.2rem 1.15rem;
  position:relative;overflow:hidden}
.ws-hero::after{content:'';position:absolute;inset:0;
  background:radial-gradient(320px 130px at 82% -15%,rgba(176,141,87,.26),transparent 60%);pointer-events:none}
.ws-hero>*{position:relative;z-index:1}
.ws-hero-l{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700;display:block}
.ws-hero-v{font-family:var(--mono);font-size:1.65rem;font-weight:700;color:#fff;line-height:1.1;display:block;
  margin:.3rem 0 .3rem;letter-spacing:-.02em;word-break:break-word}
.ws-hero-v.bad{color:#e59878} .ws-hero-v.warn{color:#e8c98d}
.ws-hero-s{font-size:11.5px;color:rgba(255,255,255,.68);line-height:1.5;display:block}
.ws-hero-btn{width:100%;background:#fff;color:var(--c-ink);border:none;padding:.65rem;border-radius:10px;
  cursor:pointer;font-size:12.5px;font-weight:700;min-height:44px;margin-top:.9rem}
.ws-hero-btn:hover{background:#f0ece3}

.ws-card{background:#fff;border:1.5px solid var(--c-line);border-radius:14px;padding:.9rem 1rem;position:relative}
.ws-card.dim{opacity:.55;background:var(--paper-2);border-style:dashed}
.ws-card-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem}
.ws-card-h i{font-style:normal;font-size:14px}
.ws-card-h b{font-size:11.5px;font-weight:700;color:var(--ink);flex:1;letter-spacing:.01em}
.ws-card-h u{text-decoration:none;font-size:9.5px;color:var(--c-a);font-weight:700;background:var(--c-a-l);
  border-radius:99px;padding:.15rem .45rem}
.ws-card-h u.no{color:var(--slate);background:var(--paper-2)}
.ws-card-v{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.15;display:block}
.ws-card-v.a{color:var(--c-a)} .ws-card-v.b{color:var(--c-b)} .ws-card-v.ro{color:var(--c-rose)}
.ws-card-s{font-size:11px;color:var(--slate);line-height:1.5;display:block;margin-top:.25rem}
.ws-card-r{display:flex;justify-content:space-between;gap:.6rem;font-size:11.5px;color:var(--slate);padding:.2rem 0}
.ws-card-r b{font-family:var(--mono);color:var(--ink);font-weight:700;white-space:nowrap}
.ws-card-go{position:absolute;inset:0;background:transparent;border:none;cursor:pointer}
.ws-card.dim .ws-card-p{font-size:11.5px;color:var(--slate);line-height:1.55;margin:0}

/* Gamifikációs jutalom-doboz */
.ws-win{background:linear-gradient(135deg,#eef4ef,#f7f2e8);border:1.5px solid rgba(74,124,89,.35);
  border-radius:14px;padding:.9rem 1rem;font-size:12px;line-height:1.6;color:#2f5138}
.ws-win b{display:block;font-size:12.5px;margin-bottom:.2rem}
.ws-win.gold{background:linear-gradient(135deg,#fdf6e8,#f7f2e8);border-color:rgba(176,141,87,.45);color:#7a5a26}

@media(max-width:1180px){
  .ws{grid-template-columns:210px minmax(0,1fr) 250px;gap:1rem}
}
@media(max-width:980px){
  .ws{grid-template-columns:1fr;gap:1rem}
  .ws-nav{position:sticky;top:0;z-index:30;background:var(--paper);padding:.6rem 0;margin:0 -1rem;padding-left:1rem;padding-right:1rem}
  .ws-prog{padding:.85rem 1rem;margin-bottom:.6rem}
  .ws-prog svg{width:42px;height:42px}
  .ws-prog-s{display:none}
  .ws-list{flex-direction:row;overflow-x:auto;gap:.4rem;padding-bottom:.3rem;scrollbar-width:none}
  .ws-list::-webkit-scrollbar{display:none}
  .ws-i{flex-direction:column;align-items:center;text-align:center;min-width:96px;padding:.6rem .5rem;gap:.3rem}
  .ws-i-s{display:none}
  .ws-i-n{font-size:11px}
  .ws-i-b{position:absolute;top:5px;right:5px;width:15px;height:15px;font-size:9px;border-width:1.5px}
  .ws-back{display:none}
  .ws-out{position:static;order:-1;max-height:none;overflow:visible}
  .ws-out .ws-card{display:none}
  .ws-out .ws-hero{padding:1rem}
  .ws-out .ws-win{display:none}
}
/* ===== /v16 WS ===== */
/* ===== v17 ASSZISZTENS · SZÁMJÁTSZÓTÉR · JOGI HÁTTÉR ===== */

/* --- Az asszisztens 3 füles buborékja --- */
.as{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 1.15rem}
.as-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(150deg,#4a7c59,#3d5a80);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;
  box-shadow:0 2px 6px rgba(22,32,46,.18)}
.as-w{flex:1;min-width:0}
.as-tabs{display:flex;gap:.25rem;margin-bottom:.4rem}
.as-tab{background:transparent;border:1.5px solid var(--c-line);border-radius:99px;padding:.28rem .7rem;
  cursor:pointer;font-size:11px;font-weight:700;color:var(--slate);min-height:32px;transition:all .14s}
.as-tab:hover{border-color:var(--brass);color:var(--brass)}
.as-tab.on{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.as-b{position:relative;background:var(--c-warm);border:1px solid var(--c-line);border-radius:4px 14px 14px 14px;
  padding:.8rem 1rem;font-size:13.5px;line-height:1.65;color:#5e4a2a;min-height:62px}
.as-b::before{content:'';position:absolute;left:-7px;top:0;width:0;height:0;
  border-right:8px solid var(--c-line);border-bottom:8px solid transparent}
.as-b b{color:#3d2f16}
.as-b.st{background:#eef2f7;border-color:rgba(61,90,128,.3);color:#2c4460}
.as-b.st::before{border-right-color:rgba(61,90,128,.3)}
.as-b.re{background:var(--c-a-l);border-color:rgba(74,124,89,.3);color:#2f5138}
.as-b.re::before{border-right-color:rgba(74,124,89,.3)}
.as-step{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;color:#fff;
  background:var(--brass);border-radius:99px;padding:.14rem .55rem;margin-bottom:.4rem}

/* --- Fókusz mód --- */
.fm{display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid var(--c-line);
  border-radius:12px;padding:.6rem .85rem;margin-bottom:1rem;font-size:12.5px;color:var(--slate)}
.fm b{color:var(--ink);font-size:13px}
.fm-sw{margin-left:auto;width:44px;height:25px;border-radius:99px;background:#ddd5c4;border:none;
  cursor:pointer;position:relative;flex-shrink:0;transition:background .18s}
.fm-sw.on{background:var(--c-a)}
.fm-sw::after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;
  background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.fm-sw.on::after{transform:translateX(19px)}
.fm-nav{display:flex;gap:.5rem;margin-top:1rem}
.fm-nav button{flex:1;border:1.5px solid var(--c-line);background:#fff;color:var(--slate);border-radius:11px;
  padding:.7rem;cursor:pointer;font-size:13.5px;font-weight:700;min-height:50px}
.fm-nav button.pri{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.fm-nav button:disabled{opacity:.35;cursor:not-allowed}

/* --- Jogi háttér accordion --- */
.lex{border:1.5px solid var(--c-line);border-radius:12px;background:var(--paper-2);margin-top:1rem;overflow:hidden}
.lex-h{display:flex;align-items:center;gap:.55rem;width:100%;background:transparent;border:none;
  padding:.75rem .95rem;cursor:pointer;text-align:left;font-size:12.5px;font-weight:700;color:var(--slate);min-height:46px}
.lex-h:hover{color:var(--brass)}
.lex-h i{font-style:normal;font-size:13px}
.lex-h u{text-decoration:none;margin-left:auto;font-size:15px;transition:transform .2s;display:inline-block}
.lex-h u.op{transform:rotate(45deg)}
.lex-b{padding:0 .95rem .95rem;font-size:12.5px;line-height:1.7;color:var(--ink-soft)}
.lex-b p{margin:0 0 .6rem} .lex-b p:last-child{margin:0}
.lex-b code{font-family:var(--mono);font-size:11.5px;background:#fff;border:1px solid var(--c-line);
  border-radius:5px;padding:.1rem .35rem;color:var(--ink)}

/* --- Dinamikus felelősségkizárás --- */
.disc{border-left:3px solid var(--brass);background:#fdf6e8;border-radius:0 12px 12px 0;
  padding:.85rem 1.05rem;font-size:12.5px;line-height:1.65;color:#7a5a26;margin-top:1rem}
.disc b{display:block;margin-bottom:.25rem;color:#5c421a}
.disc ul{margin:.4rem 0 0;padding-left:1.1rem}
.disc li{margin-bottom:.25rem}

/* --- Számjátszótér --- */
.sbx{background:#fff;border:1.5px solid var(--c-line);border-radius:14px;padding:1rem}
.sbx-h{display:flex;align-items:center;gap:.45rem;font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:.15rem}
.sbx-s{font-size:10.5px;color:var(--slate);line-height:1.5;margin:0 0 .8rem}
.sbx-sl{margin-bottom:.85rem}
.sbx-sl-t{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:-.15rem}
.sbx-sl-t span{font-size:11px;color:var(--slate);font-weight:600}
.sbx-sl-t b{font-family:var(--mono);font-size:12.5px;color:var(--brass);font-weight:700}
.sbx-sl input[type=range]{width:100%;height:30px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0}
.sbx-sl input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:#e8e1d2;margin-top:12px}
.sbx-sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;
  background:#fff;border:4px solid var(--c-ink);box-shadow:0 1px 4px rgba(0,0,0,.22);margin-top:-7px}
.sbx-sl input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:#e8e1d2}
.sbx-sl input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:4px solid var(--c-ink)}
.sbx-r{display:flex;justify-content:space-between;gap:.5rem;font-size:11.5px;color:var(--slate);
  padding:.3rem 0;border-top:1px dotted var(--rule)}
.sbx-r b{font-family:var(--mono);color:var(--ink);font-weight:700;white-space:nowrap}
.sbx-r b.up{color:var(--c-a)} .sbx-r b.dn{color:var(--c-rose)}
.sbx-d{font-family:var(--mono);font-size:10px;font-weight:700;padding:.05rem .3rem;border-radius:4px;margin-left:.25rem}
.sbx-d.up{background:var(--c-a-l);color:var(--c-a)} .sbx-d.dn{background:#fbeee8;color:var(--c-rose)}
.sbx-reset{width:100%;background:transparent;border:1.5px solid var(--c-line);color:var(--slate);
  border-radius:9px;padding:.45rem;cursor:pointer;font-size:11px;font-weight:600;min-height:36px;margin-top:.5rem}
.sbx-reset:hover{border-color:var(--brass);color:var(--brass)}
.sbx-c{position:relative;height:140px;margin-bottom:.5rem}

/* --- Kontextuális CTA --- */
.cta{background:linear-gradient(150deg,#22314a,var(--c-ink));border-radius:14px;padding:1rem;position:relative;overflow:hidden}
.cta::after{content:'';position:absolute;inset:0;
  background:radial-gradient(260px 110px at 85% -20%,rgba(176,141,87,.3),transparent 60%);pointer-events:none}
.cta>*{position:relative;z-index:1}
.cta-l{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#e8c98d;font-weight:700;display:block;margin-bottom:.35rem}
.cta-t{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.86);margin:0 0 .75rem}
.cta-t b{color:#fff}
.cta-b{width:100%;background:#b08d57;color:#fff;border:none;padding:.65rem;border-radius:10px;
  cursor:pointer;font-size:12.5px;font-weight:700;min-height:44px}
.cta-b:hover{background:#c19d63}
.cta-b.gh{background:transparent;border:1.5px solid rgba(255,255,255,.25);margin-top:.4rem}
.cta-b.gh:hover{background:rgba(255,255,255,.08)}

/* --- Zárolt tartalom (lead-mágnes) --- */
.lock{position:relative;border:1.5px dashed var(--c-line);border-radius:12px;padding:1rem;background:var(--paper-2);text-align:center}
.lock-i{font-size:1.3rem;display:block;margin-bottom:.3rem}
.lock b{display:block;font-size:12.5px;color:var(--ink);margin-bottom:.25rem}
.lock p{font-size:11.5px;color:var(--slate);line-height:1.55;margin:0 0 .7rem}

@media(max-width:980px){
  .as-b{font-size:13px;padding:.7rem .85rem}
  .sbx,.cta{display:none}
  .ws-out .cta{display:block}
}
/* ===== /v17 ===== */


/* ===== /v15 CALC ===== */



.dash-view{background:var(--paper);min-height:100vh;padding-bottom:3rem}
.dash-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:60;background:linear-gradient(135deg,var(--moss),#3a5430);color:#fff;border:none;padding:.85rem 1.25rem;border-radius:99px;box-shadow:0 8px 24px -4px rgba(74,107,61,.45);cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:transform .2s}
.dash-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px -6px rgba(74,107,61,.6)}
.dash-fab .dash-fab-badge{background:var(--brass);color:#fff;font-size:10px;padding:.1rem .45rem;border-radius:99px;font-weight:700}
.dash-topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--rule);padding:.85rem 1.5rem;display:flex;gap:1.5rem;align-items:center;z-index:50;box-shadow:0 2px 6px -2px rgba(0,0,0,.05);flex-wrap:wrap}
.dash-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink)}
.dash-caseid{background:var(--paper-2);color:var(--slate);padding:.2rem .55rem;border-radius:99px;font-family:var(--mono);font-size:11px;letter-spacing:.03em}
.dash-parties-names{font-family:var(--sans);font-size:12.5px;font-weight:400;color:var(--slate);font-style:italic}
.dash-progress-wrap{display:flex;align-items:center;gap:.75rem;flex:1;min-width:200px}
.dash-progress-bar{width:100%;max-width:220px;height:8px;background:var(--paper-2);border-radius:99px;overflow:hidden}
.dash-progress-fill{background:linear-gradient(90deg,var(--moss),var(--brass));height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:99px}
.dash-progress-label{font-family:var(--mono);font-weight:600;font-size:13px;color:var(--ink);min-width:44px}
.dash-role-switch{display:flex;gap:2px;background:var(--paper-2);padding:3px;border-radius:99px;border:1px solid var(--rule)}
.dash-role-switch button{padding:.4rem .85rem;border:none;background:transparent;border-radius:99px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--slate);transition:all .15s}
.dash-role-switch button.active{background:var(--brass);color:#fff;box-shadow:0 2px 6px -1px rgba(176,141,87,.4)}
.dash-exit-btn{background:transparent;border:1px solid var(--rule);color:var(--slate);padding:.45rem .85rem;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px}
.dash-exit-btn:hover{border-color:var(--rust);color:var(--rust)}
.dash-layout{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.5rem;max-width:1240px;margin:0 auto}
.dash-sidebar{display:flex;flex-direction:column;gap:.35rem;position:sticky;top:calc(60px + 1rem);align-self:start}
.dash-nav-btn{text-align:left;padding:.75rem .95rem;border:1px solid var(--rule);background:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:.6rem;transition:all .15s}
.dash-nav-btn:hover{border-color:var(--brass);background:var(--paper)}
.dash-nav-btn.active{background:var(--moss);color:#fff;border-color:var(--moss)}
.dash-nav-btn.active .dash-nav-check{color:#fff}
.dash-nav-num{background:var(--paper-2);color:var(--slate);width:22px;height:22px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700;flex-shrink:0}
.dash-nav-btn.active .dash-nav-num{background:rgba(255,255,255,.25);color:#fff}
.dash-nav-check{margin-left:auto;color:var(--moss);font-size:14px}
.dash-main{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:2rem;box-shadow:0 2px 8px -4px rgba(0,0,0,.06)}
.dash-step h2{font-family:var(--serif);font-size:1.65rem;margin:0 0 .35rem;color:var(--ink)}
.dash-step-sub{color:var(--slate);font-size:14px;margin:0 0 1.5rem;line-height:1.55}
.dash-form{display:grid;gap:1rem;margin-top:1rem}
.dash-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dash-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem}
.dash-field{display:flex;flex-direction:column;gap:.35rem}
.dash-field label{font-size:12.5px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}
.dash-field input,.dash-field select,.dash-field textarea{padding:.65rem .8rem;border:1.5px solid var(--rule);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;color:var(--ink);background:#fff;transition:border-color .15s}
.dash-field input:focus,.dash-field select:focus,.dash-field textarea:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(176,141,87,.15)}
.dash-help{font-size:11px;color:var(--slate);font-style:italic}
.dash-section{border:1px solid var(--rule);border-radius:var(--r-sm);padding:1.25rem;background:linear-gradient(180deg,var(--paper),#fff);margin-bottom:1rem}
.dash-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule)}
.dash-section-head h3{margin:0;font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.dash-save-chip{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;font-size:12px;color:var(--slate);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:.35rem .75rem;min-height:32px}
.dash-save-chip.saving{color:var(--moss)}
.dash-role-hint{display:block;font-size:12px;color:var(--slate);font-weight:400;margin-top:.2rem}
.dash-add-btn{background:var(--moss);color:#fff;border:none;padding:.55rem 1rem;border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:.4rem}
.dash-add-btn:hover{background:#3a5430}
.dash-item-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:1rem;margin-bottom:.75rem}
.dash-item-card .dash-item-title{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}
.dash-remove-btn{background:transparent;border:none;color:var(--rust);cursor:pointer;font-size:14px;padding:.25rem}
.dash-remove-btn:hover{color:var(--garnet)}
.dash-conflict-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem}
.dash-conflict-stat{background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);padding:1rem;text-align:center}
.dash-conflict-stat .dash-stat-num{font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1}
.dash-conflict-stat .dash-stat-label{font-size:12px;color:var(--slate);margin-top:.35rem;text-transform:uppercase;letter-spacing:.05em}
.dash-conflict-stat.match{border-left:4px solid var(--moss)} .dash-conflict-stat.match .dash-stat-num{color:var(--moss)}
.dash-conflict-stat.warn{border-left:4px solid #d4a017} .dash-conflict-stat.warn .dash-stat-num{color:#b45309}
.dash-conflict-stat.danger{border-left:4px solid var(--rust)} .dash-conflict-stat.danger .dash-stat-num{color:var(--rust)}
.dash-conflict-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:13.5px;background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}
.dash-conflict-table th{background:var(--paper-2);padding:.75rem 1rem;text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);border-bottom:1px solid var(--rule)}
.dash-conflict-table td{padding:.75rem 1rem;border-bottom:1px solid var(--paper-2);color:var(--ink);vertical-align:middle}
.dash-conflict-table tr:last-child td{border-bottom:none}
.dash-conflict-table tr.match-row{background:linear-gradient(90deg,rgba(74,107,61,.05),#fff)}
.dash-conflict-table tr.warn-row{background:linear-gradient(90deg,rgba(212,160,23,.08),#fff)}
.dash-conflict-table tr.danger-row{background:linear-gradient(90deg,rgba(168,84,50,.08),#fff)}
.dash-badge{padding:.2rem .6rem;border-radius:99px;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}
.dash-badge-match{background:var(--moss-l);color:#3a5430}
.dash-badge-warn{background:#fef3c7;color:#92400e}
.dash-badge-danger{background:var(--rust-l);color:var(--rust)}
.dash-value-cell{font-family:var(--mono);font-size:13px;font-weight:500}
.dash-empty-state{text-align:center;padding:3rem 1rem;color:var(--slate)}
.dash-empty-state .dash-empty-icon{font-size:3rem;margin-bottom:.5rem;opacity:.6}
.dash-cta-panel{background:linear-gradient(135deg,var(--warm-cream),#fff);border:2px solid var(--brass);border-radius:var(--r-md);padding:1.5rem;margin-top:1.5rem}
.dash-cta-panel h3{margin:0 0 .5rem;font-family:var(--serif);color:var(--brass)}
.dash-cta-panel p{margin:0 0 1rem;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.dash-cta-btn{background:var(--brass);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--r-sm);cursor:pointer;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}
.dash-cta-btn:hover{background:#a0722d}
.dash-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
.dash-prev-btn,.dash-next-btn{padding:.7rem 1.25rem;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;border:none}
.dash-prev-btn{background:transparent;border:1px solid var(--rule);color:var(--slate)}
.dash-prev-btn:hover{border-color:var(--brass);color:var(--brass)}
.dash-next-btn{background:var(--moss);color:#fff}
.dash-next-btn:hover{background:#3a5430}
.dash-info-box{background:linear-gradient(135deg,var(--moss-l),#fff);border-left:3px solid var(--moss);padding:1rem 1.25rem;border-radius:var(--r-sm);margin:1rem 0;font-size:13.5px;line-height:1.55;color:var(--ink)}
.dash-warn-box{background:linear-gradient(135deg,#fef3c7,#fff);border-left:3px solid #d4a017;padding:1rem 1.25rem;border-radius:var(--r-sm);margin:1rem 0;font-size:13.5px;line-height:1.55;color:var(--ink)}
.dash-role-indicator{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;color:var(--slate);background:var(--paper-2);padding:.3rem .7rem;border-radius:99px;margin-bottom:1rem}
.dash-role-a{color:var(--brass)} .dash-role-b{color:var(--rust)}
.dash-action-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.dash-footer-note{font-size:11.5px;color:var(--slate);line-height:1.5;flex:1;min-width:220px;margin:0;font-style:italic}
.dash-footer-cta{background:linear-gradient(135deg,var(--moss),#3a5430);color:#fff;border:none;padding:.75rem 1.35rem;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px;font-weight:600;white-space:nowrap;transition:transform .15s}
.dash-footer-cta:hover{transform:translateY(-1px)}
.dash-docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.dash-doc-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:1.5rem;display:flex;flex-direction:column;transition:all .15s;box-shadow:0 2px 8px -4px rgba(0,0,0,.06)}
.dash-doc-card:hover{border-color:var(--brass);box-shadow:0 6px 18px -6px rgba(176,141,87,.3);transform:translateY(-2px)}
.dash-doc-icon{font-size:2.25rem;margin-bottom:.5rem}
.dash-doc-card h3{margin:0 0 .5rem;font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.dash-doc-card p{margin:0 0 1rem;font-size:13px;line-height:1.55;color:var(--ink-soft);flex:1}
.dash-doc-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.dash-doc-meta span{background:var(--paper-2);color:var(--slate);font-size:11px;padding:.2rem .55rem;border-radius:99px;font-family:var(--mono)}
/* v10.2 — Megjegyzés widget */
.dash-note-toggle{background:transparent;border:1px dashed var(--brass);color:var(--brass);padding:.4rem .75rem;border-radius:var(--r-sm);cursor:pointer;font-size:12px;font-weight:500;margin-top:.6rem;min-height:36px}
.dash-note-toggle:hover{background:var(--warm-cream)}
.dash-note-area{margin-top:.6rem}
.dash-note-area textarea{width:100%;padding:.65rem .8rem;border:1.5px solid var(--brass);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--warm-cream);min-height:70px;resize:vertical}
.dash-note-area textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(176,141,87,.15)}
.dash-note-label{font-size:11.5px;color:var(--slate);font-style:italic;margin-bottom:.3rem;display:block}
/* v10.2 — Autofill gombsor */
.dash-autofill-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0;padding:.85rem;background:linear-gradient(135deg,var(--moss-l),#fff);border:1px dashed var(--moss);border-radius:var(--r-sm)}
.dash-autofill-bar .dash-autofill-label{font-size:12px;color:var(--moss);font-weight:600;width:100%;margin-bottom:.2rem}
.dash-autofill-btn{background:#fff;border:1px solid var(--moss);color:var(--moss);padding:.5rem .85rem;border-radius:99px;cursor:pointer;font-size:12.5px;min-height:38px;transition:all .15s}
.dash-autofill-btn:hover{background:var(--moss);color:#fff}
/* v10.2 — Checkout + upsell */
.dash-checkout-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0}
.dash-pkg-card{background:#fff;border:2px solid var(--rule);border-radius:var(--r-md);padding:1.5rem;cursor:pointer;transition:all .15s;position:relative}
.dash-pkg-card:hover{border-color:var(--brass)}
.dash-pkg-card.selected{border-color:var(--moss);background:linear-gradient(180deg,var(--moss-l),#fff);box-shadow:0 4px 14px -4px rgba(74,107,61,.3)}
.dash-pkg-card .dash-pkg-check{position:absolute;top:1rem;right:1rem;width:24px;height:24px;border-radius:50%;border:2px solid var(--rule);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.dash-pkg-card.selected .dash-pkg-check{background:var(--moss);border-color:var(--moss)}
.dash-pkg-name{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink);margin:0 0 .3rem;padding-right:2rem}
.dash-pkg-price{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--moss);margin:.3rem 0}
.dash-pkg-desc{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:.5rem 0 0}
.dash-upsell{margin:1.5rem 0}
.dash-upsell-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--rule);border-radius:var(--r-sm);margin-bottom:.6rem;cursor:pointer;min-height:44px}
.dash-upsell-item:hover{border-color:var(--brass)}
.dash-upsell-item input{width:20px;height:20px;accent-color:var(--moss);flex-shrink:0}
.dash-upsell-info{flex:1}
.dash-upsell-info strong{font-size:14px;color:var(--ink);display:block}
.dash-upsell-info span{font-size:12.5px;color:var(--slate)}
.dash-upsell-price{font-family:var(--mono);font-weight:700;color:var(--brass);white-space:nowrap}
.dash-checkout-total{background:linear-gradient(135deg,var(--warm-cream),#fff);border:2px solid var(--brass);border-radius:var(--r-md);padding:1.5rem;margin-top:1.5rem;text-align:center}
.dash-checkout-total .dash-total-num{font-family:var(--mono);font-size:2.5rem;font-weight:700;color:var(--moss);line-height:1}
.dash-checkout-btn{background:linear-gradient(135deg,var(--moss),#3a5430);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--r-sm);cursor:pointer;font-size:16px;font-weight:600;margin-top:1rem;width:100%;min-height:52px}
.dash-checkout-btn:hover{transform:translateY(-1px)}
@media(max-width:900px){
  .dash-layout{grid-template-columns:1fr;padding:1rem}
  .dash-sidebar{position:static;flex-direction:row;overflow-x:auto;padding-bottom:.5rem}
  .dash-nav-btn{flex-shrink:0;font-size:12px;padding:.5rem .75rem}
  .dash-form-row,.dash-form-row-3{grid-template-columns:1fr}
  .dash-main{padding:1.25rem}
  .dash-topbar{padding:.75rem 1rem;gap:.75rem}
  .dash-progress-wrap{min-width:100%;order:99}
  .dash-conflict-table{font-size:12px}
  .dash-conflict-table th,.dash-conflict-table td{padding:.5rem .55rem}
}
/* ===== /v10 DASHBOARD MODUL ===== */

/* ===== v20 UX-JAVÍTÁSOK ===== */

/* 1. Behúzás megszüntetése — a magyarázó szöveg a tartalommal egy vonalban */
.blk-s{margin:0 0 1.1rem 0 !important}
.blk-h{margin-bottom:.5rem}

/* 2. Táblázatok: görgethető keret, biztonságos térköz, tördelés */
.tbw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.1rem 0 0;
  border:1px solid var(--c-line);border-radius:12px;background:#fff}
.tbw .tb{margin:0;min-width:100%}
.tbw .tb th:first-child,.tbw .tb td:first-child{padding-left:.9rem;word-break:break-word;min-width:120px}
.tbw .tb th:last-child,.tbw .tb td:last-child{padding-right:.9rem}
.tbw .tb tr:last-child td{border-bottom:none}
.tb-cmp th:first-child{min-width:130px}
.tbw .tb input{max-width:104px}

/* 3. Csúszka-feliratok: nem lógnak egymásba */
.sl-e{margin-top:.2rem !important;gap:.6rem;flex-wrap:wrap;line-height:1.4}
.sl-e span:nth-child(2){flex:1;text-align:center;min-width:0}
.sl-e span:last-child{text-align:right}
.sbx-sl input[type=range]{margin-bottom:.1rem}

/* 4. Sávdiagram feliratai: külön sorba törnek, ha kell */
.band-l{flex-wrap:wrap;gap:.35rem .8rem;line-height:1.5;align-items:baseline}
.band-l b{flex:1 0 auto;text-align:center;order:2;width:100%}
.band-l span:first-child{order:1} .band-l span:last-child{order:1;margin-left:auto}
.band{margin-bottom:.4rem}

/* 5. Buborék: nincs üres hely rövid szövegnél */
.as-b{min-height:0}
.as{margin-bottom:1.25rem}
.as-tabs{flex-wrap:wrap}

/* 6. Beviteli mezők: nagy számoknál sem lógnak ki */
.mn input{font-size:16px;min-width:0}
.mn span{font-size:11.5px;padding:0 .75rem}
.fld-l{gap:.5rem 1rem}
.fld-l i{flex-shrink:0}

/* 7. Szegmensgombok: a kétsoros felirat nem csúszik össze */
.seg button{line-height:1.3;padding:.65rem .45rem;word-break:break-word}
.seg button small{margin-top:.2rem;line-height:1.25;display:block}
.seg.s3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg.s2{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg.s4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* 8. Tételkártya: szűk helyen sem törik el */
.itm-g{grid-template-columns:minmax(0,1fr) 118px}
.itm-top .txt{min-width:0}
.itm-amo{flex-wrap:wrap;gap:.3rem .8rem}

/* 9. Jobb oszlop: hosszú számok tördelése */
.ws-card-v{font-size:1.05rem;word-break:break-word;line-height:1.2}
.ws-card-r{flex-wrap:wrap}
.ws-card-r span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ws-hero-v{font-size:1.5rem}
.sbx-r{flex-wrap:wrap;line-height:1.45}
.sbx-sl-t{flex-wrap:wrap;gap:.2rem .5rem}

/* 10. Bal oszlop: hosszú nevek nem törnek szét */
.ws-i-n{word-break:break-word;line-height:1.3}
.ws-i-t{min-width:0}

/* 11. ÚJ TÖRÉSPONT — 1240px alatt a jobb oszlop a középső ALÁ kerül,
       nem szorul össze mindhárom. Ez volt a fő oka az összecsúszásnak. */
@media(max-width:1240px) and (min-width:981px){
  .ws{grid-template-columns:230px minmax(0,1fr);gap:1.5rem}
  .ws-out{grid-column:2;position:static;max-height:none;overflow:visible;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.7rem;
    align-items:start;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
  .ws-out .ws-hero{grid-column:1/-1}
  .ws-nav{grid-row:1/3}
}

/* 12. Blokkok közti levegő */
.blk{margin-bottom:1.15rem;padding:1.5rem}
.blk .tip,.blk .lex,.blk .disc{margin-top:1.1rem}
.fld{margin-bottom:1.3rem}

/* 13. Sticky oszlopok ne fedjék egymást hosszú tartalomnál */
.ws-nav{max-height:none;overflow:visible}
.ws-nav::-webkit-scrollbar{width:5px}
.ws-nav::-webkit-scrollbar-thumb{background:var(--c-line);border-radius:3px}

@media(max-width:980px){
  .tbw{margin-top:.9rem}
  .blk{padding:1.15rem}
  .band-l b{font-size:10.5px}
}
/* ===== /v20 ===== */

/* --- v20b: grid/flex gyerekek védelme a kilógás ellen --- */
.ws-out,.ws-nav,.ws-mid{min-width:0}
.two>*,.seg>*,.itm-g>*,.fld>*,.sl>*{min-width:0}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ws-card,.sbx,.cta,.res,.ws-hero{min-width:0;overflow-wrap:anywhere}
.blk,.itm,.tbw{max-width:100%}
.as-w{min-width:0}
.tip-b,.as-b,.res-tip,.ws-win{overflow-wrap:anywhere}

/* ===== v21: eredménysáv · egysoros buborék · tömör tételek ===== */

/* ① Ragadós eredménysáv — akkor jelenik meg, ha a jobb oszlop nincs oldalt */
.midbar{display:none;position:sticky;top:0;z-index:18;align-items:center;gap:1rem;
  background:linear-gradient(150deg,var(--c-ink),#22314a);border-radius:0 0 14px 14px;
  padding:.7rem 1rem;margin:0 0 1rem;box-shadow:0 4px 14px rgba(22,32,46,.18)}
.midbar-t{flex:1;min-width:0}
.midbar-l{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.55);font-weight:700}
.midbar-v{display:block;font-family:var(--mono);font-size:1.35rem;font-weight:700;color:#fff;
  line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}
.midbar-v.warn{color:#e8c98d} .midbar-v.bad{color:#e59878}
.midbar-s{display:block;font-size:11px;color:rgba(255,255,255,.6);line-height:1.4;margin-top:.1rem}
.midbar-x{background:rgba(255,255,255,.12);border:none;color:#fff;width:42px;height:42px;
  border-radius:11px;cursor:pointer;font-size:16px;flex-shrink:0}
.midbar-x:hover{background:rgba(255,255,255,.22)}
@media(max-width:1240px){ .midbar{display:flex} }

/* ④ Névsáv */
.names{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#fff;
  border:1.5px solid var(--c-line);border-radius:12px;padding:.55rem .8rem;margin-bottom:1.25rem}
.names-l{font-size:11px;font-weight:700;color:var(--slate);letter-spacing:.06em;text-transform:uppercase}
.names input{flex:1;min-width:110px;border:1.5px solid var(--c-line);border-radius:9px;
  padding:.45rem .65rem;font-size:13.5px;color:var(--ink);min-height:40px}
.names input:focus{outline:none;border-color:var(--brass)}
.names-h{flex-basis:100%;font-size:11px;color:var(--slate);line-height:1.4}

/* ② Egysoros buborék */
.as.as-in{margin-bottom:1.1rem}
.as-do{margin:0;font-size:13.5px;line-height:1.6;color:#5e4a2a;background:var(--c-warm);
  border:1px solid var(--c-line);border-radius:4px 14px 14px 14px;padding:.65rem .9rem}
.as-do b{color:#3d2f16}
.as-why{background:transparent;border:none;color:var(--brass);cursor:pointer;font-size:12px;
  font-weight:700;padding:.4rem .2rem;min-height:34px;display:inline-flex;align-items:center;gap:.3rem}
.as-why:hover{text-decoration:underline}
.as-why u{text-decoration:none;transition:transform .18s;display:inline-block;font-size:11px}
.as-why u.op{transform:rotate(180deg)}
.as-re{background:var(--c-a-l);border-left:3px solid var(--c-a);border-radius:0 11px 11px 0;
  padding:.75rem .95rem;font-size:12.5px;line-height:1.65;color:#2f5138;margin-top:.15rem}
.as-re b{font-weight:700}

/* ③ Tömör vagyontétel */
.itm-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 46px;gap:.5rem;align-items:center;margin-bottom:.75rem}
.itm-name{min-height:46px;font-size:14.5px;font-weight:600}
.itm-val input{font-size:15px;padding:.6rem .7rem;min-height:46px}
.itm-val span{padding:0 .6rem;font-size:11px}
.itm-del{width:46px;height:46px}
.itm-more{width:100%;background:transparent;border:none;border-top:1px solid var(--rule);
  color:var(--slate);cursor:pointer;font-size:11.5px;font-weight:600;padding:.55rem .2rem 0;
  margin-top:.75rem;min-height:38px;display:flex;align-items:center;justify-content:center;gap:.35rem}
.itm-more:hover{color:var(--brass)}
.itm-more u{text-decoration:none;transition:transform .18s;display:inline-block;font-size:10px}
.itm-more u.op{transform:rotate(180deg)}
.itm-det{padding-top:.85rem}
.itm-who{margin-bottom:.15rem}

/* MOBIL HIBA: eddig a jobb oszlop kártyái el voltak rejtve telefonon */
@media(max-width:980px){
  .ws-out .ws-card{display:block}
  .ws-out .sbx,.ws-out .cta,.ws-out .ws-win{display:block}
  .ws-out{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:1.5rem;
    padding-top:1.25rem;border-top:1px solid var(--rule);order:0}
  .itm-row{grid-template-columns:minmax(0,1fr) 46px}
  .itm-val{grid-column:1/-1}
  .names input{min-width:calc(50% - .5rem)}
  .midbar{margin-left:-1rem;margin-right:-1rem;border-radius:0;padding-left:1rem;padding-right:1rem}
}
/* ===== /v21 ===== */

/* ===== v22: JÁTÉKOS SZERKEZET ===== */

/* --- Magyarázó doboz: EGYSZERŰ BLOKK, nincs flex, nem tud összepréselődni --- */
.gd{background:var(--c-warm);border:1px solid var(--c-line);border-left:3px solid var(--brass);
  border-radius:0 12px 12px 0;padding:.85rem 1rem;margin:0 0 1.2rem}
.gd-do{margin:0;font-size:13.5px;line-height:1.65;color:#5e4a2a;overflow-wrap:anywhere}
.gd-do b{color:#3d2f16}
.gd-why{background:transparent;border:none;color:#8a6a2f;cursor:pointer;font-size:12px;font-weight:700;
  padding:.45rem 0 0;min-height:32px;display:block;text-align:left}
.gd-why u{text-decoration:none;display:inline-block;margin-left:.3rem;font-size:10px;transition:transform .18s}
.gd-why u.op{transform:rotate(180deg)}
.gd-why:hover{text-decoration:underline}
.gd-re{margin-top:.5rem;padding-top:.7rem;border-top:1px dashed rgba(176,141,87,.45);
  font-size:12.5px;line-height:1.7;color:#5e4a2a;overflow-wrap:anywhere}
.gd-re b{color:#3d2f16}

/* --- Jegyzetdoboz (a régi tipp helyett) --- */
.note{margin:1.1rem 0 0}
.note-b{background:var(--c-a-l);border-left:3px solid var(--c-a);border-radius:0 12px 12px 0;
  padding:.85rem 1rem;font-size:13px;line-height:1.65;color:#2f5138;overflow-wrap:anywhere}
.note.warn .note-b{background:#fdf3e4;border-color:var(--brass);color:#7a5a26}
.note.bad .note-b{background:#fbeee8;border-color:var(--c-rose);color:#7e3d22}
.note.ok .note-b{background:var(--c-a-l);border-color:var(--c-a);color:#2f5138}

/* --- Felső sáv: „Készen vagyok" --- */
.midbar-ok{background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);color:#fff;
  padding:.5rem .85rem;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:700;
  min-height:42px;flex-shrink:0;white-space:nowrap}
.midbar-ok:hover{background:rgba(255,255,255,.24)}
.midbar-ok.on{background:#4a7c59;border-color:#4a7c59}
@media(min-width:1241px){ .midbar{display:flex} }

/* --- Névsáv --- */
.names-seg{display:flex;gap:.3rem}
.names-seg button{border:1.5px solid var(--c-line);background:#fff;border-radius:99px;padding:.35rem .7rem;
  cursor:pointer;font-size:11.5px;font-weight:700;color:var(--slate);min-height:36px;white-space:nowrap}
.names-seg button.on{background:var(--c-ink);border-color:var(--c-ink);color:#fff}

/* --- Bal oszlop: szekciócím + minden kész --- */
.ws-sec{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);
  font-weight:700;margin:0 0 .45rem;padding-left:.2rem}
.ws-sec span{color:var(--brass)}
.ws-allok{text-align:center;padding:1.2rem .9rem;border:1.5px dashed rgba(74,124,89,.45);
  border-radius:14px;background:var(--c-a-l)}
.ws-allok span{font-size:1.7rem;display:block}
.ws-allok b{display:block;font-size:13.5px;color:#2f5138;margin:.3rem 0 .2rem}
.ws-allok p{font-size:11.5px;color:#4a7c59;line-height:1.5;margin:0}

/* --- Jobb oszlop: trófeasáv + kész dokumentumok --- */
.ws-trophy{background:linear-gradient(160deg,var(--c-ink),#22314a);border-radius:16px;padding:1.1rem 1.15rem;
  position:relative;overflow:hidden}
.ws-trophy::after{content:'';position:absolute;inset:0;
  background:radial-gradient(300px 120px at 82% -18%,rgba(176,141,87,.3),transparent 62%);pointer-events:none}
.ws-trophy>*{position:relative;z-index:1}
.ws-trophy-l{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);font-weight:700}
.ws-trophy-n{display:block;font-family:var(--mono);font-size:1.5rem;color:rgba(255,255,255,.5);
  font-weight:700;line-height:1.1;margin:.2rem 0 .55rem}
.ws-trophy-n b{color:#fff;font-size:2rem}
.ws-trophy-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.ws-trophy-bar i{display:block;height:100%;background:linear-gradient(90deg,#4a7c59,#e8c98d);
  border-radius:3px;transition:width .55s cubic-bezier(.4,0,.2,1)}
.ws-trophy-s{display:block;font-size:11px;color:rgba(255,255,255,.62);line-height:1.5;margin-top:.6rem}
.ws-trophy-s b{color:#e8c98d;font-family:var(--mono)}

.ws-empty{text-align:center;padding:1.4rem 1rem;border:1.5px dashed var(--c-line);
  border-radius:14px;background:var(--paper-2)}
.ws-empty span{font-size:1.5rem;display:block;opacity:.6}
.ws-empty b{display:block;font-size:12.5px;color:var(--ink);margin:.35rem 0 .25rem}
.ws-empty p{font-size:11.5px;color:var(--slate);line-height:1.55;margin:0}

.ws-done{background:#fff;border:1.5px solid rgba(74,124,89,.4);border-radius:14px;padding:.9rem 1rem;
  position:relative;animation:wsIn .35s ease}
@keyframes wsIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ws-done-h{display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem}
.ws-done-h span{font-size:14px} 
.ws-done-h b{flex:1;min-width:0;font-size:11.5px;font-weight:700;color:var(--ink)}
.ws-done-h u{text-decoration:none;width:19px;height:19px;border-radius:50%;background:var(--c-a);color:#fff;
  font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ws-done-v{display:block;font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--c-a);
  line-height:1.2;overflow-wrap:anywhere}
.ws-done-s{display:block;font-size:11px;color:var(--slate);line-height:1.5;margin-top:.2rem}
.ws-done-a{display:flex;gap:.35rem;margin-top:.7rem}
.ws-done-a button{flex:1;background:var(--paper-2);border:1.5px solid var(--c-line);color:var(--slate);
  border-radius:8px;padding:.4rem;cursor:pointer;font-size:11px;font-weight:600;min-height:36px}
.ws-done-a button:hover{border-color:var(--brass);color:var(--brass)}

/* --- „Mi következik" --- */
.nxt{background:linear-gradient(150deg,#eef4ef,#f7f2e8);border:1.5px solid rgba(74,124,89,.3);
  border-radius:14px;padding:1.1rem;margin-top:1.5rem}
.nxt-t{margin:0 0 .8rem;font-size:13.5px;line-height:1.65;color:#2f5138}
.nxt-t b{color:#1f3d28}
.nxt-b{width:100%;background:var(--c-a);color:#fff;border:none;padding:.75rem;border-radius:11px;
  cursor:pointer;font-size:14px;font-weight:700;min-height:50px}
.nxt-b:hover{background:#3f6b4c}

@media(max-width:980px){
  .names-seg{flex-basis:100%}
  .midbar-ok{padding:.5rem .6rem;font-size:11.5px;min-height:38px}
}
/* ===== /v22 ===== */

/* ===== v23: ALOLDAL · EGYSÉGES FORMANYELV · KALKULÁTOR-JELLEG ===== */
.cpage{max-width:1460px;margin:0 auto;background:var(--paper-2);border:1.5px solid var(--c-line);
  border-radius:24px;overflow:hidden;box-shadow:0 10px 40px rgba(22,32,46,.07)}
.cpage-top{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.25rem;background:#fff;
  border-bottom:1.5px solid var(--c-line)}
.cpage-back{width:38px;height:38px;border-radius:11px;border:1.5px solid var(--c-line);background:#fff;
  cursor:pointer;font-size:16px;color:var(--slate);flex-shrink:0;line-height:1}
.cpage-back:hover{border-color:var(--brass);color:var(--brass)}
.cpage-crumb{flex:1;min-width:0;font-size:12.5px;color:var(--slate);display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.cpage-crumb i{font-style:normal;opacity:.45}
.cpage-crumb b{color:var(--ink);font-size:13.5px;font-family:var(--serif);font-weight:600}
.cpage-badge{font-family:var(--mono);font-size:11.5px;font-weight:700;color:#fff;background:var(--c-ink);
  border-radius:99px;padding:.35rem .75rem;white-space:nowrap;flex-shrink:0}
.cpage-body{padding:1.5rem 1.25rem}
.cpage-body .ws{padding:0;max-width:none}

/* egységes lekerekítés minden panelen */
.blk,.calcbox,.nxt,.ws-trophy,.ws-prog,.ws-done,.ws-empty,.ws-allok,.sbx,.gd,.note-b,.tbw{border-radius:16px}
.gd,.note-b{border-radius:0 16px 16px 0}
.ws-i{border-radius:12px}
.blk{border:1.5px solid var(--c-line);background:#fff}

/* kalkulátor-kijelző */
.calcbox{background:#fff;border:1.5px solid var(--c-line);overflow:hidden;margin-bottom:1.15rem;
  position:sticky;top:.5rem;z-index:18;box-shadow:0 4px 18px rgba(22,32,46,.08)}
.calcbox-h{display:flex;align-items:center;gap:.55rem;padding:.65rem .95rem;background:var(--paper-2);
  border-bottom:1.5px solid var(--c-line)}
.calcbox-ic{font-size:1.05rem;line-height:1}
.calcbox-n{flex:1;min-width:0;font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--ink)}
.calcbox-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--slate);border:1px solid var(--c-line);border-radius:99px;padding:.2rem .5rem;background:#fff}
.calcbox-disp{background:linear-gradient(165deg,var(--c-ink),#22314a);padding:.95rem 1.1rem;position:relative;overflow:hidden}
.calcbox-disp::after{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);pointer-events:none}
.calcbox-disp>*{position:relative;z-index:1}
.calcbox-l{display:block;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700}
.calcbox-v{display:block;font-family:var(--mono);font-size:1.85rem;font-weight:700;color:#8fe0a8;
  line-height:1.15;margin:.2rem 0 .15rem;overflow-wrap:anywhere;text-shadow:0 0 18px rgba(143,224,168,.28)}
.calcbox-v.warn{color:#e8c98d;text-shadow:0 0 18px rgba(232,201,141,.28)}
.calcbox-v.bad{color:#f0937a;text-shadow:0 0 18px rgba(240,147,122,.28)}
.calcbox-s{display:block;font-size:11.5px;color:rgba(255,255,255,.62);line-height:1.45}
.calcbox-a{display:flex;gap:.5rem;padding:.7rem .95rem;background:#fff}
.calcbox-ok{flex:1;background:var(--c-ink);border:none;color:#fff;padding:.6rem;border-radius:11px;
  cursor:pointer;font-size:13px;font-weight:700;min-height:44px}
.calcbox-ok:hover{background:#22314a}
.calcbox-ok.on{background:var(--c-a)}
.calcbox-pdf{background:#fff;border:1.5px solid var(--c-line);color:var(--slate);padding:.6rem .9rem;
  border-radius:11px;cursor:pointer;font-size:12.5px;font-weight:700;min-height:44px;white-space:nowrap}
.calcbox-pdf:hover{border-color:var(--brass);color:var(--brass)}

/* táblázatos, számolólapos jelleg */
.blk-h{border-bottom:1px solid var(--rule);padding-bottom:.6rem;margin-bottom:.75rem}
.blk-h span{background:var(--paper-2);color:var(--slate);border:1.5px solid var(--c-line)}
.blk-h h2{font-size:1.15rem}
.mn input,.tb td.n,.itm-val input,.calcbox-v{font-variant-numeric:tabular-nums}
.tb th{font-family:var(--mono);letter-spacing:.08em}

.midbar{display:none !important}
@media(max-width:980px){
  .cpage{border-radius:0;border-left:none;border-right:none}
  .cpage-body{padding:1rem .85rem}
  .calcbox-v{font-size:1.5rem}
}
/* ===== /v23 ===== */

/* ===== v24: PONTOS IGAZÍTÁS · EGYSÉGES RITMUS ===== */

/* A három oszlop azonos rácsvonalról indul */
.ws{align-items:start;gap:1.25rem}
.ws-nav,.ws-mid,.ws-out{display:flex;flex-direction:column;gap:1rem}
.ws-nav>*,.ws-out>*,.ws-mid>*{margin:0 !important}

/* --- A FEJLÉCSOR: mindhárom doboz PONTOSAN azonos magas --- */
.colhead,.calcbox{min-height:150px;box-sizing:border-box}
.colhead{background:linear-gradient(160deg,var(--c-ink),#22314a);border-radius:16px;
  padding:1.15rem 1.2rem;display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden}
.colhead::after{content:'';position:absolute;inset:0;
  background:radial-gradient(280px 110px at 82% -20%,rgba(176,141,87,.26),transparent 62%);pointer-events:none}
.colhead>*{position:relative;z-index:1}
.colhead.done::after{background:radial-gradient(280px 110px at 82% -20%,rgba(74,124,89,.34),transparent 62%)}
.colhead-l{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700}
.colhead-n{font-family:var(--mono);font-size:1.45rem;color:rgba(255,255,255,.45);font-weight:700;
  line-height:1.1;margin:.25rem 0 .6rem}
.colhead-n b{color:#fff;font-size:2.1rem}
.colhead.done .colhead-n b{color:#8fe0a8}
.colhead-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}
.colhead-bar i{display:block;height:100%;background:linear-gradient(90deg,#4a7c59,#e8c98d);
  border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.colhead-s{font-size:11px;color:rgba(255,255,255,.6);line-height:1.5;margin-top:.6rem}
.colhead-s b{color:#e8c98d;font-family:var(--mono)}

/* --- A középső kijelző ugyanabba a magasságba --- */
.calcbox{position:sticky;top:.75rem;z-index:18;display:flex;flex-direction:column;
  background:#fff;border:1.5px solid var(--c-line);border-radius:16px;overflow:hidden;
  box-shadow:0 4px 18px rgba(22,32,46,.07)}
.calcbox-h{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;background:var(--paper-2);
  border-bottom:1.5px solid var(--c-line);flex-shrink:0}
.calcbox-ic{font-size:1rem;line-height:1;flex-shrink:0}
.calcbox-n{flex:1;min-width:0;font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calcbox-ok{background:#fff;border:1.5px solid var(--c-line);color:var(--slate);padding:.4rem .8rem;
  border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;min-height:38px;white-space:nowrap;flex-shrink:0}
.calcbox-ok:hover{border-color:var(--c-a);color:var(--c-a)}
.calcbox-ok.on{background:var(--c-a);border-color:var(--c-a);color:#fff}
.calcbox-pdf{background:#fff;border:1.5px solid var(--c-line);color:var(--slate);width:38px;height:38px;
  border-radius:9px;cursor:pointer;font-size:14px;flex-shrink:0;line-height:1;padding:0}
.calcbox-pdf:hover{border-color:var(--brass)}
.calcbox-disp{flex:1;background:linear-gradient(165deg,var(--c-ink),#22314a);padding:.95rem 1.1rem;
  display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.calcbox-a{display:none}

/* --- Egységes ritmus a blokkokban --- */
.blk{padding:1.35rem 1.4rem;border-radius:16px}
.blk-h{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--rule);
  padding-bottom:.65rem;margin-bottom:.85rem}
.blk-h span{width:24px;height:24px;font-size:11.5px}
.blk-h h2{font-size:1.12rem;font-family:var(--serif);font-weight:600}
.blk-s{font-size:13px;line-height:1.6;color:var(--slate);margin:0 0 1rem !important}
.gd{margin:0 0 1.15rem}
.blk>*:last-child{margin-bottom:0 !important}

/* --- Bal oszlop tiszta lista --- */
.ws-list{gap:.4rem}
.ws-sec{margin:0 0 .1rem;padding-left:.15rem}
.ws-i{padding:.75rem .85rem}
.ws-back{margin-top:.3rem}

/* --- Jobb oszlop --- */
.ws-done,.ws-empty,.sbx,.ws-win{border-radius:16px}
.ws-empty{padding:1.5rem 1.1rem}

/* --- Fejléc egyszerűsítve --- */
.cpage-top{padding:.8rem 1.25rem}
.cpage-body{padding:1.35rem 1.25rem}

@media(max-width:1240px) and (min-width:981px){
  .ws-out{margin-top:0 !important;padding-top:1.25rem;border-top:1px solid var(--rule)}
  .colhead,.calcbox{min-height:0}
}
@media(max-width:980px){
  .colhead,.calcbox{min-height:0}
  .ws-nav,.ws-mid,.ws-out{gap:.8rem}
  .calcbox-n{font-size:.98rem}
  .calcbox-ok{padding:.4rem .6rem;font-size:11.5px}
}
/* ===== /v24 ===== */

/* ===== v25: WCAG KONTRASZT · RAGADÓS POZÍCIÓK · FEHÉR TÉR ===== */

/* 1. KONTRASZT — a négy elbukott apró szöveg világosítva (AA 4.5 fölé) */
.calcbox-l{color:rgba(255,255,255,.72) !important}     /* 4.15 → 8.9 */
.colhead-l{color:rgba(255,255,255,.72) !important}     /* 4.15 → 8.9 */
.gd-why{color:#6f5320 !important}                       /* 4.50 → 6.3 */
.tb th{color:#5a6270 !important}                        /* 4.29 → 5.6 */
.calcbox-tag{color:#5a6270}
.ws-i-s{color:#5a6270}

/* 2. RAGADÓS ELEMEK: a lap fejlécsávja alá csúsztak (topbar z=50, ~62px) */
:root{--sticky-top:74px}
.calcbox{top:var(--sticky-top) !important;z-index:20}
.ws-nav{top:var(--sticky-top) !important;z-index:19}
.ws-out{top:var(--sticky-top) !important;z-index:19}
.ws-out{max-height:calc(100vh - var(--sticky-top) - 1rem)}
.ws-nav{max-height:none;overflow:visible}

/* 3. FEHÉR TÉR — a kevesebb több */
.blk{padding:1.6rem 1.6rem}
.ws-nav,.ws-mid,.ws-out{gap:1.1rem}
.cpage-body{padding:1.6rem 1.4rem}
.gd{padding:.95rem 1.15rem;line-height:1.7}
.gd-do{line-height:1.7}
.note-b{padding:.95rem 1.15rem;line-height:1.7}
.fld{margin-bottom:1.45rem}
.blk-h{padding-bottom:.75rem;margin-bottom:1rem}
.tbw{margin-top:1.25rem}
.sl{margin-bottom:1.45rem}

/* 4. Hosszabb jegyzet: kisebb súly, hogy ne versenyezzen a mezőkkel */
.note-long{font-size:12.5px;background:var(--paper-2) !important;
  border-left-color:var(--c-line) !important;color:#5a6270 !important}

/* 5. Mobil: minden mező teljes szélességű, egymás alatt */
@media(max-width:640px){
  .two,.itm-g,.seg.s2,.seg.s3,.seg.s4{grid-template-columns:1fr !important}
  .itm-row{grid-template-columns:minmax(0,1fr) 46px}
  .itm-val{grid-column:1/-1}
  .mn input,.txt{font-size:16px}          /* iOS: 16px alatt ránagyít */
  .blk{padding:1.15rem 1rem}
  .cpage-body{padding:1rem .8rem}
  :root{--sticky-top:8px}
}
/* ===== /v25 ===== */


/* ===== v27: EGYSÉGES TUDÁSTÁR-TIPOGRÁFIA ===== */
/* Egyetlen méretskála. Minden cikk ugyanúgy néz ki. */
.kb-body{font-size:16px;line-height:1.75;color:var(--ink-soft);max-width:72ch}
.kb-body h1{font-family:var(--serif);font-size:2.15rem;line-height:1.22;color:var(--ink);
  font-weight:600;margin:0 0 1.1rem;letter-spacing:-.01em}
.kb-body h2{font-family:var(--serif);font-size:1.5rem;line-height:1.3;color:var(--ink);
  font-weight:600;margin:2.5rem 0 .85rem;padding-top:1.25rem;border-top:1px solid var(--rule)}
.kb-body h2:first-of-type{border-top:none;padding-top:0}
.kb-body h3{font-family:var(--sans);font-size:1.12rem;line-height:1.4;color:var(--ink);
  font-weight:700;margin:1.85rem 0 .6rem}
.kb-body p{margin:0 0 1.15rem;font-size:16px;line-height:1.75}
.kb-body ul,.kb-body ol{margin:0 0 1.25rem;padding-left:1.35rem}
.kb-body li{margin-bottom:.55rem;line-height:1.7;font-size:16px}
.kb-body li::marker{color:var(--brass)}
.kb-body strong{color:var(--ink);font-weight:700}
.kb-body a{color:var(--brass);text-underline-offset:3px}
.kb-body table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:14.5px}
.kb-body th{background:var(--paper-2);padding:.65rem .8rem;text-align:left;font-size:11px;
  letter-spacing:.07em;text-transform:uppercase;color:#5a6270;font-weight:700;border-bottom:1.5px solid var(--rule)}
.kb-body td{padding:.65rem .8rem;border-bottom:1px solid var(--rule)}

/* „Röviden" — mindig azonos, mindig keretben */
.kb-body .kb-tldr{background:linear-gradient(150deg,#eef4ef,#fff);border:1.5px solid rgba(74,124,89,.35);
  border-left:4px solid #4a7c59;border-radius:14px;padding:1.15rem 1.35rem;margin:0 0 2rem;
  font-size:16px;line-height:1.7;color:#2f5138}
.kb-body .kb-tldr strong:first-child{display:block;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:#4a7c59;font-weight:700;margin-bottom:.5rem}
.kb-body .kb-tldr strong{color:#1f3d28}

/* Példa-doboz — azonos formanyelv */
.kb-body .kb-example{background:var(--paper-2);border:1.5px solid var(--rule);border-radius:14px;
  padding:1.1rem 1.3rem;margin:1.5rem 0;font-size:15px;line-height:1.7}

/* Jogszabály- és forrásdobozok — azonos címke */
.kb-body .kb-laws,.kb-body .kb-sources{background:#fff;border:1.5px solid var(--rule);
  border-radius:14px;padding:1.1rem 1.3rem;margin:1.5rem 0;font-size:14.5px;line-height:1.7}
.kb-box-t{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5a6270;
  font-weight:700;margin:0 0 .6rem;display:block}
.kb-body .kb-laws li,.kb-body .kb-sources li{font-size:14.5px;margin-bottom:.4rem}

/* Egyetlen, egységes CTA a cikk végén */
.kb-body .kb-cta{background:linear-gradient(150deg,#eef4ef,#f7f2e8);border:1.5px solid rgba(74,124,89,.3);
  border-radius:16px;padding:1.5rem;margin:2.5rem 0 1rem;text-align:center}
.kb-cta-t{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:600;
  color:#1f3d28;margin-bottom:.4rem;line-height:1.35}
.kb-body .kb-cta p{font-size:14.5px;color:#4a7c59;margin:0 0 1.1rem;line-height:1.6}
.kb-body .kb-cta .btn{min-height:50px}

@media(max-width:640px){
  .kb-body{font-size:16.5px}
  .kb-body h1{font-size:1.7rem}
  .kb-body h2{font-size:1.28rem;margin-top:2rem}
  .kb-body h3{font-size:1.05rem}
  .kb-body .kb-cta .btn{width:100%}
}
/* ===== /v27 ===== */

/* ===== v28: EGYSÉGES CSOMAGOK ===== */
/* A subgrid biztosítja, hogy minden kártya sorai PONTOSAN egy vonalban legyenek. */
.pgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;
  grid-template-rows:auto auto auto 1fr auto;align-items:stretch;margin:2rem 0 0}
.pcard{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:0;
  background:#fff;border:1.5px solid var(--c-line);border-radius:18px;overflow:hidden;position:relative}
@supports not (grid-template-rows:subgrid){
  .pcard{display:flex;flex-direction:column}
  .pc-worth{min-height:80px}}
.pcard.best{border:2px solid var(--moss);box-shadow:0 8px 28px rgba(74,124,89,.16)}
.pcard.current{outline:2px solid var(--brass);outline-offset:-2px}
.pc-flag{position:absolute;top:0;left:0;right:0;background:var(--moss);color:#fff;font-size:10.5px;
  font-weight:700;letter-spacing:.06em;text-align:center;padding:.3rem;z-index:2}
.pcard.best 
.pc-name{display:block;font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.pc-price{display:block;font-family:var(--mono);font-size:1.65rem;font-weight:700;color:var(--ink);
  line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pc-price i{font-style:normal;font-size:.85rem;font-weight:600;color:var(--slate)}


.pc-worth{padding:.85rem 1.1rem;border-bottom:1px solid var(--rule);background:var(--paper-2);
  display:flex;flex-direction:column;justify-content:center}
.pc-worth-l{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);
  font-weight:700;margin-bottom:.25rem}
.pc-worth b{font-size:12.5px;line-height:1.5;color:var(--ink);font-weight:700}
.pc-worth.good{background:#eef4ef}
.pc-worth.good b{color:#2f5138}


.pc-go{padding:0 1.1rem 1.2rem}
.pc-go .btn{width:100%;min-height:48px;font-size:13.5px}

/* --- Összehasonlító táblázat --- */

@media(max-width:1150px){ .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:820px){ .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:560px){
  .pgrid{grid-template-columns:1fr;gap:.75rem}
  .pcard{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
      }
/* ===== /v28 ===== */

/* ===== v29: SZINTEZÉS — zárolt funkciók és csalik ===== */
.calcbox-tag.free{background:var(--paper-2);color:#8a6a2f;border-color:rgba(176,141,87,.5)}
.calcbox-tag.paid{background:#eef4ef;color:#2f5138;border-color:rgba(74,124,89,.45)}
.calcbox-pdf.lock{background:var(--paper-2);border-style:dashed}

.lockbox{background:linear-gradient(160deg,var(--paper-2),#fff);border:1.5px dashed var(--c-line);
  border-radius:16px;padding:1.5rem 1.25rem;margin-top:1.1rem;text-align:center}
.lockbox-i{font-size:1.6rem;display:block;opacity:.75}
.lockbox b{display:block;font-size:14.5px;color:var(--ink);margin:.45rem 0 .3rem}
.lockbox p{font-size:12.5px;color:var(--slate);line-height:1.6;margin:0 auto 1rem;max-width:44ch}
.lockbox .btn{min-height:46px}
.lockbox.sm{padding:1.15rem 1rem;margin-top:0}
.lockbox.sm b{font-size:13px}
.lockbox.sm p{font-size:11.5px;margin-bottom:.8rem}
.lockbox.sm .btn{width:100%;min-height:42px;font-size:12.5px}

.allbox{background:linear-gradient(160deg,var(--c-ink),#22314a);border-radius:16px;padding:1.15rem;
  position:relative;overflow:hidden}
.allbox::after{content:'';position:absolute;inset:0;
  background:radial-gradient(300px 120px at 82% -18%,rgba(176,141,87,.28),transparent 62%);pointer-events:none}
.allbox>*{position:relative;z-index:1}
.allbox-l{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.5);font-weight:700;margin-bottom:.55rem}
.allbox-p{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 .9rem}
.allbox-p b{color:#e8c98d}
.allbox-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.4rem}
.allbox-list li{font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.72)}
.allbox-b{width:100%;background:#b08d57;border:none;color:#fff;padding:.7rem;border-radius:11px;
  cursor:pointer;font-size:13px;font-weight:700;min-height:46px}
.allbox-b:hover{background:#c19d63}
.allbox-row{display:flex;gap:.4rem;margin-top:.45rem}
.allbox-row button{flex:1;background:transparent;border:1.5px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8);
  padding:.5rem;border-radius:9px;cursor:pointer;font-size:11.5px;font-weight:600;min-height:40px}
.allbox-row button:hover{background:rgba(255,255,255,.09);color:#fff}
.allbox-load{display:block;text-align:center;margin-top:.6rem;font-size:11px;
  color:rgba(255,255,255,.55);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.allbox-load:hover{color:#fff}
/* ===== /v29 ===== */

.freenote{display:flex;gap:.75rem;align-items:flex-start;background:#eef4ef;border:1.5px solid rgba(74,124,89,.3);
  border-radius:14px;padding:1rem 1.2rem;margin:1.5rem auto 0;max-width:760px;text-align:left}
.freenote-i{width:24px;height:24px;border-radius:50%;background:var(--moss);color:#fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.freenote div{font-size:13.5px;line-height:1.65;color:#2f5138}
.freenote b{color:#1f3d28}

/* v30: a bal oszlop soha nem ürül ki */
.ws-i.ok{background:#f4f8f5;border-color:rgba(74,124,89,.35)}
.ws-i.ok .ws-i-n{color:#2f5138}
.ws-i.ok .ws-i-s{color:#5f8a6d}
.ws-i.on.ok{background:var(--c-ink);border-color:var(--c-ink)}
.ws-i.on.ok .ws-i-n,.ws-i.on.ok .ws-i-s{color:#fff}
.ws-i.on.ok .ws-i-s{color:rgba(255,255,255,.6)}
.ws-reset{width:100%;background:transparent;border:1.5px dashed var(--c-line);color:var(--slate);
  padding:.55rem;border-radius:10px;cursor:pointer;font-size:11.5px;font-weight:600;min-height:40px;margin-top:.3rem}
.ws-reset:hover{border-color:var(--brass);color:var(--brass);border-style:solid}

/* v31: ingyenes / fizetős jelölés */
.ws-i-tag{display:inline-block;font-size:9px;font-weight:700;border-radius:99px;padding:.1rem .42rem;margin-top:.28rem}
.ws-i-tag.fr{background:#eef4ef;color:#2f5138}
.ws-i-tag.pd{background:#fdf3e4;color:#8a6a2f}
.ws-i.on .ws-i-tag.fr{background:rgba(143,224,168,.18);color:#8fe0a8}
.ws-i.on .ws-i-tag.pd{background:rgba(232,201,141,.18);color:#e8c98d}
.ws-i-b.empty{border-style:dashed;border-color:#d5cfc0;background:transparent}
.cc-tag{position:absolute;top:.8rem;right:.8rem;font-size:10px;font-weight:700;border-radius:99px;padding:.2rem .55rem;z-index:2}
.cc-tag.fr{background:#eef4ef;color:#2f5138}
.cc-tag.pd{background:#fdf3e4;color:#8a6a2f}
.calccard{position:relative;padding-top:2.5rem}
.calcbox-v.blur{filter:blur(10px);opacity:.5;user-select:none}
.calcbox-unlock{width:100%;background:#b08d57;border:none;color:#fff;padding:.55rem;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;min-height:40px;margin-top:.55rem}
.calcbox-unlock:hover{background:#c19d63}

/* v32: ajánló buborék */
.recbox{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.1rem}
.recbox>div{border-radius:14px;padding:.85rem 1rem;border:1.5px solid}
.recbox-y{background:#eef4ef;border-color:rgba(74,124,89,.32)}
.recbox-n{background:var(--paper-2);border-color:var(--c-line)}
.recbox span{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:.3rem}
.recbox-y span{color:#2f5138} .recbox-y span::before{content:"✓ "}
.recbox-n span{color:#8a8f98} .recbox-n span::before{content:"— "}
.recbox p{margin:0;font-size:12.5px;line-height:1.6}
.recbox-y p{color:#2f5138} .recbox-n p{color:var(--slate)}
@media(max-width:640px){ .recbox{grid-template-columns:1fr} }

/* v33: összkép */
.ovkpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin:1.1rem 0}
.ovkpi-i{background:var(--paper-2);border:1.5px solid var(--c-line);border-radius:14px;padding:.9rem 1rem}
.ovkpi-i.bad{background:#fbeee8;border-color:rgba(168,84,50,.35)}
.ovkpi-i span{display:block;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:#5a6270;font-weight:700}
.ovkpi-i b{display:block;font-family:var(--mono);font-size:1.35rem;font-weight:700;color:var(--ink);line-height:1.15;margin:.25rem 0 .15rem;font-variant-numeric:tabular-nums}
.ovkpi-i.bad b{color:var(--c-rose)}
.ovkpi-i i{font-style:normal;font-size:11px;color:var(--slate);line-height:1.45;display:block}
.ovtable{margin-top:1.25rem;overflow-x:auto;border:1px solid var(--c-line);border-radius:12px}
.ovtable .tb{margin:0}
.itm-hint{margin:.4rem 0 0;font-size:11.5px;color:#2f5138;line-height:1.5}
.sbx{position:sticky;top:calc(var(--sticky-top) + 0px)}

/* ===== v35: TERVEZŐ STÚDIÓ ===== */
.ws.studio-on{grid-template-columns:230px minmax(0,1fr)}
.ws.studio-on .ws-out{display:none}
.studio{display:flex;flex-direction:column;gap:1.1rem}
.st-hero{display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,#16202e,#22314a 55%,#2c4055);
  border-radius:18px;padding:1.5rem 1.6rem;position:relative;overflow:hidden;flex-wrap:wrap}
.st-hero::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(520px 200px at 88% -20%,rgba(176,141,87,.32),transparent 62%),
             radial-gradient(400px 180px at 10% 120%,rgba(74,124,89,.28),transparent 60%)}
.st-hero>*{position:relative;z-index:1}
.st-hero-t{flex:1;min-width:220px}
.st-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#e8c98d;font-weight:700}
.st-hero h2{font-family:var(--serif);font-size:1.75rem;color:#fff;margin:.35rem 0;font-weight:600;line-height:1.2}
.st-hero p{font-size:13.5px;color:rgba(255,255,255,.72);margin:0;line-height:1.6;max-width:56ch}
.st-reset{background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);color:#fff;
  padding:.55rem 1rem;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:700;min-height:42px;white-space:nowrap}
.st-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}
.st-kpi{border-radius:16px;padding:1.1rem 1.2rem;color:#fff;position:relative;overflow:hidden}
.st-kpi::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.16),transparent 60%);pointer-events:none}
.st-kpi.k1{background:linear-gradient(155deg,#3d5a80,#2c4460)}
.st-kpi.k2{background:linear-gradient(155deg,#4a7c59,#356043)}
.st-kpi.k3{background:linear-gradient(155deg,#b08d57,#8a6a2f)}
.st-kpi.k4{background:linear-gradient(155deg,#5d7a68,#3f5a4b)}
.st-kpi.kbad{background:linear-gradient(155deg,#a85432,#7e3d22)}
.st-kpi span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);font-weight:700}
.st-kpi b{display:block;font-family:var(--mono);font-size:1.85rem;font-weight:700;line-height:1.1;
  margin:.3rem 0 .25rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;word-break:break-word}
.st-kpi i{font-style:normal;font-size:11px;color:rgba(255,255,255,.8);line-height:1.5;display:block}
.st-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.1rem;align-items:start}
.st-panel{background:#fff;border:1.5px solid var(--c-line);border-radius:18px;overflow:hidden;position:sticky;top:var(--sticky-top)}
.st-panel-h{background:var(--c-ink);color:#fff;padding:.8rem 1.1rem;font-size:13px;font-weight:700}
.st-group{padding:1.1rem 1.1rem .5rem;border-bottom:1px solid var(--rule)}
.st-group-t{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#5a6270;font-weight:700;margin-bottom:.8rem}
.st-sl{margin-bottom:1.15rem}
.st-sl label{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.1rem}
.st-sl label span{font-size:12.5px;color:var(--ink);font-weight:600}
.st-sl label b{font-family:var(--mono);font-size:13px;color:var(--brass);font-weight:700;white-space:nowrap}
.st-sl input[type=range]{width:100%;height:32px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0}
.st-sl input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,#4a7c59,#b08d57);margin-top:13px}
.st-sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:#fff;border:4px solid var(--c-ink);box-shadow:0 2px 7px rgba(0,0,0,.28);margin-top:-8px}
.st-sl input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(90deg,#4a7c59,#b08d57)}
.st-sl input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--c-ink)}
.st-sl em{font-style:normal;display:block;font-size:11px;color:var(--slate);line-height:1.45}
.st-note{background:var(--c-warm);border-radius:10px;padding:.65rem .8rem;font-size:11.5px;line-height:1.6;color:#7a5a26;margin:0 0 1rem}
.st-save{width:100%;background:var(--brass);border:none;color:#fff;padding:.85rem;cursor:pointer;font-size:13.5px;font-weight:700;min-height:50px}
.st-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-content:start}
.st-card{background:#fff;border:1.5px solid var(--c-line);border-radius:18px;padding:1.15rem 1.25rem;min-width:0}
.st-card.wide{grid-column:1/-1}
.st-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.9rem;
  padding-bottom:.65rem;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.st-card-h b{font-family:var(--serif);font-size:1.08rem;color:var(--ink);font-weight:600}
.st-card-h span{font-size:11.5px;color:var(--slate)}
.st-c{position:relative}
.st-verdict{grid-column:1/-1;border-radius:18px;padding:1.25rem 1.4rem;border:1.5px solid}
.st-verdict.good{background:linear-gradient(150deg,#eef4ef,#f7f2e8);border-color:rgba(74,124,89,.35)}
.st-verdict.bad{background:linear-gradient(150deg,#fbeee8,#fdf3e4);border-color:rgba(168,84,50,.4)}
.st-verdict b{display:block;font-family:var(--serif);font-size:1.15rem;margin-bottom:.35rem}
.st-verdict.good b{color:#1f3d28} .st-verdict.bad b{color:#7e3d22}
.st-verdict p{margin:0;font-size:13.5px;line-height:1.65}
.st-verdict.good p{color:#2f5138} .st-verdict.bad p{color:#8a4a2c}
@media(max-width:1240px){
  .st-grid{grid-template-columns:1fr}.st-panel{position:static}
  .st-charts{grid-template-columns:1fr}.st-card.wide{grid-column:auto}
}
@media(max-width:980px){
  .ws.studio-on{grid-template-columns:1fr}
  .st-hero h2{font-size:1.4rem}.st-kpi b{font-size:1.55rem}
}
/* ===== /v35 ===== */

.cpage-ver{font-family:var(--mono);font-size:10px;font-weight:700;color:#fff;background:var(--moss);
  border-radius:99px;padding:.12rem .45rem;margin-left:.4rem;letter-spacing:.04em}

/* ===== v40: csomagok — megtakarítás kiemelve ===== */
.pgrid{grid-template-rows:auto auto auto auto}
.pcard{grid-row:span 4}
 
/* táblázat: szekciócímek és megtakarítás-sor */
@media(max-width:560px){ .pcard{grid-row:auto}  }

/* ===== v41: visszafogott, SaaS-stílusú árazás ===== */
.pgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;
  align-items:stretch;margin:2.25rem 0 0}
.pcard-wrap{display:flex;flex-direction:column;min-height:100%}
.pcard{display:flex;flex-direction:column;flex:1;gap:0;background:#fff;
  border:1px solid var(--c-line);border-radius:18px;position:relative;padding:0}
.pcard.best{border:1.5px solid var(--moss);box-shadow:0 6px 24px rgba(22,32,46,.09)}
.pcard.current{border-color:var(--brass)}
.pc-flag{align-self:center;background:var(--moss);color:#fff;font-size:10px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;padding:.28rem .75rem;border-radius:99px;
  margin-bottom:.45rem;position:static;transform:none}
.pc-flag-spacer{visibility:hidden;background:transparent}

.pc-head{padding:1.5rem 1.35rem 1.25rem;border-bottom:1px solid var(--rule)}
.pc-name{display:block;font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.01em}
.pc-lead{margin:.4rem 0 1.1rem;font-size:12.5px;line-height:1.55;color:var(--slate);min-height:3.4em}
.pc-price{display:flex;align-items:baseline;gap:.28rem}
.pc-price b{font-family:var(--sans);font-size:2rem;font-weight:700;color:var(--ink);
  letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pc-price span{font-size:14px;font-weight:600;color:var(--slate)}
.pc-note{display:block;font-size:11px;color:var(--slate);margin-top:.35rem}

.pc-feat{list-style:none;margin:0;padding:1.25rem 1.35rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.pc-feat li{position:relative;padding-left:1.5rem;font-size:12.5px;line-height:1.55;color:var(--ink-soft)}
.pc-feat li::before{content:'';position:absolute;left:0;top:.42em;width:12px;height:7px;
  border-left:1.8px solid var(--moss);border-bottom:1.8px solid var(--moss);transform:rotate(-45deg)}
.pc-feat li b{color:var(--ink);font-weight:600}

.pc-worth{margin:0;padding:0 1.35rem 1.1rem;font-size:11.5px;line-height:1.55;color:var(--slate)}
.pc-worth b{color:var(--ink);font-weight:600}
.pc-go{padding:0 1.35rem 1.35rem;margin-top:auto}
.pc-go .btn{width:100%;min-height:44px;font-size:13px}

.pgrid-note{max-width:78ch;margin:1.5rem auto 0;font-size:11.5px;line-height:1.7;
  color:var(--slate);text-align:center}

@media(max-width:1150px){ .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:820px){ .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:560px){
  .pgrid{grid-template-columns:1fr;gap:.75rem}
  .pcard{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
  .pc-lead,.pc-head{min-height:0}
}

/* ===== v42: egyetlen összehasonlító táblázat, visszafogott stílusban ===== */
.cmp{margin:2.75rem 0 0;background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden}
.cmp-h{padding:1.1rem 1.35rem;border-bottom:1px solid var(--rule)}
.cmp-h strong{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.cmp-h span{display:block;font-size:12px;color:var(--slate);margin-top:.15rem}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp-t{width:100%;border-collapse:collapse;font-size:12.5px;min-width:760px}
.cmp-t th{padding:.9rem .7rem;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink);
  border-bottom:1px solid var(--c-line);vertical-align:top;white-space:nowrap}
.cmp-t th em{display:block;font-style:normal;font-size:11.5px;color:var(--slate);font-weight:600;margin-top:.15rem;
  font-variant-numeric:tabular-nums}
.cmp-t td{padding:.62rem .7rem;text-align:center;border-bottom:1px solid var(--rule);color:var(--ink-soft);
  font-variant-numeric:tabular-nums}
.cmp-t td.rh,.cmp-t th.rh{text-align:left;min-width:250px;background:#fff;position:sticky;left:0;z-index:1;
  color:var(--ink-soft);font-weight:400}
.cmp-t td.y{color:var(--moss);font-weight:700}
.cmp-t td.n{color:#c9cdd4}
.cmp-t th.hi,.cmp-t td.hi{background:var(--paper-2)}
.cmp-t th.hi{box-shadow:inset 0 2px 0 var(--c-ink)}
.cmp-t tr.sec td{background:#fff;color:var(--slate);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;text-align:left;padding:1.35rem .7rem .4rem;border-bottom:1px solid var(--c-line)}
.cmp-t tr.price td{font-weight:700;color:var(--ink);font-size:13.5px;padding-top:.8rem}
.cmp-t tr.price td.rh{font-weight:700;color:var(--ink)}
.cmp-t tr:last-child td{border-bottom:none;padding-top:.9rem;padding-bottom:1.2rem}
.cmp-b{width:100%;min-width:110px;background:#fff;border:1px solid var(--c-line);color:var(--ink);
  padding:.5rem .6rem;border-radius:9px;cursor:pointer;font-size:12px;font-weight:600;min-height:40px}
.cmp-b:hover{border-color:var(--c-ink)}
.cmp-b.pri{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.cmp-b.pri:hover{background:#22314a}
@media(max-width:820px){
  .cmp{border-radius:12px}
  .cmp-t{min-width:680px;font-size:12px}
  .cmp-t td.rh,.cmp-t th.rh{min-width:190px}
}

/* v43: széles táblázatok mobilon */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;
  border:1px solid var(--c-line);border-radius:12px}
.tscroll table{margin:0;min-width:520px}
.fld-h{margin:.4rem 0 0;font-size:11.5px;color:var(--slate);line-height:1.5}

/* v44: biztonsági sáv — headerbe került, a lebegő változat rejtve */
.safety{display:none!important}

/* Diszkréció: minden pénzösszeg elhomályosítva, amíg rá nem visz az egér */
body.privacy-on .calcbox-v,body.privacy-on .st-kpi b,body.privacy-on .ws-done-v,
body.privacy-on .colhead-n b,body.privacy-on .mn input,body.privacy-on .tb td.n,
body.privacy-on .ovkpi-i b,body.privacy-on .sbx-r b,body.privacy-on .st-sl label b,
body.privacy-on .hero-num,body.privacy-on .dash-num{
  filter:blur(7px);transition:filter .15s}
body.privacy-on .calcbox-v:hover,body.privacy-on .st-kpi b:hover,body.privacy-on .ws-done-v:hover,
body.privacy-on .colhead-n b:hover,body.privacy-on .mn input:hover,body.privacy-on .mn input:focus,
body.privacy-on .tb td.n:hover,body.privacy-on .ovkpi-i b:hover,body.privacy-on .st-sl label b:hover{
  filter:none}
.cpage-top{padding-right:1rem}

/* ===== UX findability — site chrome & landing IA ===== */
.topbar-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}
.site-nav-cta{height:38px;min-height:38px;padding:0 1rem;font-size:13px;white-space:nowrap;border-radius:999px;box-shadow:none;box-sizing:border-box}
.site-nav-share{padding:.35rem .7rem;font-size:12px}
.site-nav a{font-size:13px;font-weight:600;letter-spacing:.01em}
.site-nav-mobile{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.5rem}
.site-nav-mobile .btn{margin-top:.75rem}
.link-brass{color:var(--brass);cursor:pointer;text-decoration:underline}
.link-brass:hover{color:var(--garnet)}

.top-nav a[data-nav="hogyan"]{color:var(--ink-soft)}
.top-nav a[data-nav="hogyan"]:hover,
.top-nav a[data-nav="hogyan"].nav-active{color:var(--brass);border-bottom-color:var(--brass)}

.hero-simple,.hero-copy{max-width:720px;padding:.25rem 0 0}
.hero-copy-center{max-width:820px;margin:0 auto;text-align:center}
.hero-copy-center .hero-lede{margin-left:auto;margin-right:auto}
.hero-copy-center .hero-cta-row{justify-content:center}
.hero-copy-center .hero-trust-line{text-align:center}
.hero-side-center{max-width:420px;margin:2.25rem auto 0}
.hero-lede{margin-top:1.1rem;max-width:540px}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.75rem}
.hero-trust-line{margin-top:1.25rem;color:var(--slate)}
.hero{padding:3.5rem 0 2.25rem}
.hero-grid{align-items:center}
.hero-example{padding:1.6rem 1.5rem 1.2rem}
.hero-example .rule{margin:.7rem 0}
.hero-example-title{font-family:var(--serif);font-size:1.25rem;margin:0 0 .2rem;font-weight:600}
.hero-example-meta{margin:0 0 .75rem;color:var(--slate)}
.hero-example-note{margin-top:.65rem;color:var(--slate);font-style:italic;text-align:center}
.hero-example-ok{color:var(--moss);font-weight:600}
.hero-example-alert{color:var(--garnet);font-weight:600}
.hero-example-save{font-size:1.2rem}
.hero-example .btn{margin-top:1rem}
@media(max-width:640px){
  .hero{padding:2rem 0 1.5rem}
  .site-nav-cta{display:none}
}

.trust-strip{
  background:linear-gradient(180deg,var(--moss-l),#fff);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:.85rem 0}
.trust-strip-inner{
  display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:center;
  font-size:13px;color:var(--ink-soft);text-align:center}
.trust-strip-inner p{margin:0;line-height:1.45}
.trust-strip-inner strong{color:var(--ink)}

.section-block{padding:4.5rem 0}
@media(max-width:640px){.section-block{padding:3rem 0}}
.section-head{max-width:640px;margin:0 0 1.75rem}
.section-head h2{margin-top:.35rem}
.section-sub{margin-top:.55rem;font-size:15.5px;color:var(--slate);line-height:1.55}
.section-faq{background:linear-gradient(180deg,var(--paper-2),#fff)}
.section-final-cta{background:linear-gradient(180deg,var(--paper-2),var(--paper-3))}
.section-bg-how{background:linear-gradient(180deg,#fff,var(--warm-cream))}

.hiw-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media(max-width:900px){.hiw-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hiw-steps{grid-template-columns:1fr}}
.hiw-step{
  background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);
  padding:1.25rem;display:flex;gap:.85rem;align-items:flex-start;
  box-shadow:var(--shadow-1)}
.hiw-step-num{
  flex-shrink:0;width:2rem;height:2rem;border-radius:50%;
  background:var(--moss);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:600;font-size:1.05rem}
.hiw-step strong{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin-bottom:.35rem}
.hiw-step p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.55}
.hiw-step .btn{margin-top:.65rem;padding:0;height:auto}
.hiw-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

.faq-after-cta{
  text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--rule)}
.faq-after-cta p{color:var(--ink-soft);font-size:14px;margin:0 0 1rem}

.app-view{padding:1.5rem 0 3rem;min-height:70vh}
.app-chrome{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  margin-bottom:1.5rem;padding-bottom:1rem;
  border-bottom:1px solid var(--rule)}
.app-chrome-tight{margin-bottom:1rem;padding:.75rem 1rem;background:#fff;
  border:1px solid var(--rule);border-radius:var(--r-md);border-bottom:1px solid var(--rule)}
.app-chrome-bar{margin:0;padding:.85rem 0;background:rgba(250,246,240,.96);
  border-bottom:1px solid var(--rule);position:sticky;top:var(--sticky-top,74px);z-index:40}
.app-chrome-bar-inner{display:flex;align-items:center;gap:1rem}
.app-chrome-back{
  background:none;border:none;color:var(--garnet);font:inherit;font-size:13px;
  font-weight:600;cursor:pointer;padding:0;text-decoration:none;white-space:nowrap}
.app-chrome-back:hover{text-decoration:underline}
.app-chrome-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}
.app-chrome-title{font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:600}
.app-chrome-sub{font-size:12.5px;color:var(--slate)}
.app-chrome-extra{font-size:12.5px;margin-left:auto}

@media(min-width:880px){
  .topbar-inner{gap:1.25rem}
  .site-nav{flex:1;justify-content:center}
}

/* ===== HelloVálás brand + safety + account ===== */
.brand-mark{font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:-.02em}
.brand-accent{color:var(--garnet);font-style:italic;font-weight:500}
.brand-tag{font-size:10px;color:var(--slate-l);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.hv-account-slot{display:flex;align-items:center}
.hv-auth-pair{display:flex;align-items:center;gap:.4rem}
.hv-auth-btn{height:38px;min-height:38px;padding:0 .95rem;font-size:13px;border-radius:999px;box-shadow:none;box-sizing:border-box}
.hv-icon{width:1em;height:1em;stroke:currentColor;flex-shrink:0}
.hv-safefabs{position:fixed;right:calc(1.1rem + 52px + .5rem + env(safe-area-inset-right,0px));bottom:calc(max(1.1rem,env(safe-area-inset-bottom)) + 4px);z-index:90;display:flex;flex-direction:row;align-items:center;gap:.5rem}
.hv-safefab{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);
  background:#fff;color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-2);font-family:inherit;padding:0}
.hv-safefab:hover,.hv-safefab:focus-visible{border-color:var(--brass);color:var(--ink);outline:none}
.hv-safefab.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.hv-safefab-exit:hover,.hv-safefab-exit:focus-visible{border-color:var(--rust);color:var(--rust);background:var(--rust-l)}
.hv-safefab svg{width:18px;height:18px}
.hv-safefab:hover::after,.hv-safefab:focus-visible::after{
  content:attr(data-tip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);
  background:var(--ink);color:#fff;padding:.5rem .75rem;border-radius:var(--r-sm);font-size:12px;font-weight:500;
  white-space:nowrap;line-height:1.3;z-index:91;box-shadow:var(--shadow-2);pointer-events:none}
@media(max-width:640px){
  .hv-safefab:hover::after,.hv-safefab:focus-visible::after{
    right:0;top:auto;bottom:calc(100% + 8px);transform:none;white-space:normal;max-width:180px}
}
.dash-fab{display:none!important}
.scroll-progress{display:none}
.calccard-i{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;
  border-radius:10px;background:var(--paper-2);color:var(--moss);margin-bottom:.35rem}
.calccard-i .hv-icon,.calccard-i svg{width:18px;height:18px}
.freenote-i{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;
  border-radius:50%;background:var(--moss);color:#fff}
.freenote-i svg{width:14px;height:14px}

@media(max-width:880px){
  .hv-register-btn{display:none}
}

.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--rule);background:#fff;border-radius:10px;cursor:pointer;color:var(--ink)}
.mobile-toggle svg{width:18px;height:18px}
@media(min-width:880px){.mobile-toggle{display:none}}

.dash-brand-block{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1}
.dash-brand{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-family:var(--serif);font-size:1.05rem;color:var(--ink)}
.dash-brand strong{font-weight:600}
.dash-exit-btn{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--rule);
  border-radius:999px;padding:.4rem .8rem;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink-soft);font-family:inherit}
.dash-exit-btn:hover{border-color:var(--garnet);color:var(--garnet)}
.dash-exit-btn svg{width:14px;height:14px}
.dash-role-switch{display:inline-flex;gap:.25rem;background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:.2rem}
.dash-role-switch button{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;
  border-radius:999px;padding:.4rem .7rem;font-size:12px;font-weight:600;cursor:pointer;color:var(--slate);font-family:inherit}
.dash-role-switch button.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-1)}
.dash-role-switch button svg{width:14px;height:14px}
.dash-nav-btn{text-align:left}
.dash-empty-icon{display:flex;align-items:center;justify-content:center;color:var(--slate);margin-bottom:.4rem}
.dash-empty-icon svg{width:28px;height:28px}
.dash-doc-icon{display:flex;align-items:center;justify-content:center;color:var(--moss)}
.dash-doc-icon svg{width:22px;height:22px}
.dash-remove-btn{display:inline-flex;align-items:center;justify-content:center}
.dash-remove-btn svg{width:15px;height:15px}
.topbar{padding-right:0}
.cpage-top{padding-right:1rem}
.faq-cat-btn{display:inline-flex;align-items:center;gap:.4rem}
.faq-cat-btn svg{width:14px;height:14px}
.cc-tag{font-size:10px;letter-spacing:.04em;text-transform:uppercase}

.ws-i-ic,.calcbox-ic,.kb-cat-icon,.emp-icon,.lockbox-i,.ws-empty-ic,.ws-done-ic{
  display:inline-flex;align-items:center;justify-content:center;color:var(--moss)}
.ws-i-ic svg,.calcbox-ic svg{width:18px;height:18px}
.kb-cat-icon svg{width:22px;height:22px}
.emp-icon svg{width:18px;height:18px}
.lockbox-i svg{width:22px;height:22px}
.ws-empty-ic svg{width:28px;height:28px;color:var(--slate)}
.ws-done-ic svg{width:16px;height:16px}
.calcbox-pdf{display:inline-flex;align-items:center;justify-content:center;min-width:36px}
.calcbox-pdf svg{width:16px;height:16px}
.itm-del{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--rust);cursor:pointer}
.itm-del svg{width:15px;height:15px}
.lex-h{display:flex;align-items:center;gap:.4rem}
.lex-h svg{width:15px;height:15px}
.cp-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

.dash-sidebar{background:#fff;border:1px solid var(--rule);border-radius:var(--r-md);padding:.65rem;box-shadow:var(--shadow-1)}
.dash-nav-btn{border:none;background:transparent;border-radius:10px;padding:.7rem .75rem}
.dash-nav-btn:hover{background:var(--paper-2);border-color:transparent}
.dash-nav-btn.active{background:var(--moss);color:#fff;border-color:transparent}
.dash-nav-num{background:var(--paper-3)}

@media(max-width:880px){
  .hv-dosszie-label{display:none}
}
