:root{--p:#0F766E;--p-dark:#0B5D57;--a:#F59E0B;--ink:#0B2E2B;--soft:#E6F4F1;--bg:#F8FBFA;--line:#E2E8E6;--muted:#5B6B68;--err:#B42318;--r:16px;
  --font:"Plus Jakarta Sans",system-ui,sans-serif;--mat:Calibri,Carlito,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5}
a{color:inherit}
h1,h2,h3{letter-spacing:-.01em;line-height:1.2}
h2{margin:0 0 6px}
.muted{color:var(--muted)}.small{font-size:13px}.hidden{display:none!important}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.boot{padding:40px;text-align:center;color:var(--muted)}

/* gombok, mezők */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--p);color:#fff;font:600 14px var(--font);padding:10px 16px;cursor:pointer;transition:background .15s,transform .05s;text-decoration:none}
.btn:hover{background:var(--p-dark)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--p);color:var(--p)}
.btn.accent{background:var(--a);color:#3B2300}.btn.accent:hover{background:#E08E06}
.btn.big{padding:13px 22px;font-size:15px}.btn.small{padding:6px 10px;font-size:13px}
.field{margin:0 0 16px}.field>label{display:block;font-weight:600;font-size:13px;margin:0 0 6px}
.req{color:var(--a)}
input,textarea,select{width:100%;font:15px var(--font);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg);outline:none;transition:border .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(15,118,110,.15);background:#fff}
textarea{resize:vertical}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg label{flex:1;min-width:90px;margin:0;cursor:pointer;position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;top:0}
.seg span{display:block;text-align:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px;background:#fff}
.seg span small{display:block;color:var(--muted);font-size:12px}
.seg input:checked+span{border-color:var(--p);background:var(--soft);color:var(--p-dark);font-weight:600}
.seg input:focus-visible+span{box-shadow:0 0 0 3px rgba(15,118,110,.25)}
.seg.small span{padding:5px 8px;font-size:13px}
.check{display:flex;gap:8px;align-items:center;font-size:13px;margin:12px 0}.check input{width:auto}
.kind{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:var(--soft);color:var(--p-dark)}
.kind.slides{background:#FEF3C7;color:#7A4A00}

/* fejléc és elrendezés */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:10px 24px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.lockup{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:17px}.lockup svg{width:32px;height:32px}
.bar nav{display:flex;gap:4px;margin-left:12px}.bar nav a{text-decoration:none;padding:7px 12px;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted)}
.bar nav a.on,.bar nav a:hover{background:var(--soft);color:var(--p-dark)}
.keypill{margin-left:auto;font-size:12px;font-weight:600;padding:5px 11px;border-radius:99px;white-space:nowrap}.keypill.ok{background:var(--soft);color:var(--p-dark)}.keypill.warn{background:#FEF3C7;color:#7A4A00}
.layout{display:grid;grid-template-columns:260px 1fr;gap:24px;max-width:1440px;margin:0 auto;padding:24px}
.layout.wide,.layout:not(:has(.side)){grid-template-columns:1fr}
.side{position:sticky;top:76px;align-self:start;background:var(--soft);border-radius:var(--r);padding:14px}
.side h4{margin:4px 8px 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.side .grp{margin:12px 8px 4px;font-size:12px;font-weight:700;color:var(--p-dark)}
.side a{display:block;text-decoration:none;padding:8px 12px;border-radius:10px;font-size:14px}
.side a:hover{background:rgba(255,255,255,.6)}.side a.on{background:#fff;color:var(--p-dark);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.main{min-width:0}

/* kezdőlap */
.logo-big svg{width:120px;height:120px}
.demos{display:flex;gap:8px;flex-wrap:wrap}

/* űrlap */
.formcard{max-width:760px;padding:24px}
.drop{display:block;border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center;cursor:pointer;color:var(--muted);transition:border .15s,background .15s}
.drop.over,.drop:hover{border-color:var(--p);background:var(--soft)}.drop input{display:none}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{background:var(--soft);border-radius:99px;padding:3px 6px 3px 12px;font-size:13px}
.chip button{border:0;background:none;cursor:pointer;font-size:15px;color:var(--muted)}
.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}.est{font-size:13px;color:var(--muted)}
.tiers label{min-width:200px}
.busy{position:fixed;inset:0;z-index:50;background:rgba(248,251,250,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.busy p{font-weight:600;font-size:17px;margin:12px 0 0}.busy small{color:var(--muted)}
.spinner svg{width:90px;height:90px;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.7}}

/* szerkesztő */
.edbar{display:flex;gap:12px;align-items:center;padding:10px 12px;margin-bottom:14px;flex-wrap:wrap}
.title-in{flex:1;min-width:220px;font-weight:700;font-size:17px;background:transparent;border-color:transparent}
.title-in:hover{border-color:var(--line)}
.ex{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.saved{font-size:12px;color:var(--muted);margin-right:6px}
.edgrid{display:grid;gap:14px;align-items:start}.edgrid>*{min-width:0}.edgrid.doc{grid-template-columns:1fr 300px}.edgrid.slides{grid-template-columns:200px 1fr 300px}
.stage{padding:16px;overflow:auto;background:#EEF2F1;min-height:400px}
.edgrid.doc .stage{display:flex;flex-direction:column;align-items:center;gap:18px;max-height:calc(100vh - 170px)}
.tools{padding:16px;position:sticky;top:76px}.tools h4{margin:0 0 8px;font-size:14px}.tools h4:not(:first-child){margin-top:20px}
.tools textarea{margin-bottom:8px;font-size:14px}.tools .btn{margin-top:8px}.tools label.small{display:block;margin:12px 0 6px;font-weight:600}
.addrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.addrow .btn{margin:0}
.costbox{margin-top:20px;padding:12px;border-radius:12px;background:var(--soft);font-size:13px}
.thumbs{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 170px);overflow:auto;position:sticky;top:76px}
.th{display:flex;gap:8px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font:13px var(--font);cursor:pointer;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th span{flex:none;width:24px;height:24px;border-radius:7px;background:var(--soft);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--p-dark)}
.th.on{border-color:var(--p);box-shadow:0 0 0 2px rgba(15,118,110,.2)}
.th-tools{display:flex;gap:4px;flex-wrap:wrap;padding-top:6px}.th-tools button,.blk-tools button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer;font:12px var(--font)}
.th-tools button:hover,.blk-tools button:hover{border-color:var(--p);color:var(--p)}
[contenteditable]:hover{outline:1px dashed rgba(15,118,110,.45);outline-offset:2px}
[contenteditable]:focus{outline:2px solid var(--p);outline-offset:2px}
[contenteditable]:empty::before{content:"…";color:#aaa}
.blk{position:relative}.blk-tools{position:absolute;right:0;top:-12px;display:none;gap:3px;z-index:3;padding:2px;background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.rt-host{position:relative}
.row-tools{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:none;gap:2px;z-index:2;background:#fff;border-radius:8px;box-shadow:0 1px 6px rgba(0,0,0,.15);padding:2px}
.d-table tr:hover .row-tools{display:flex}
.row-tools button{border:0;background:none;border-radius:6px;padding:2px 6px;cursor:pointer;font:600 11px var(--font);color:var(--muted)}
.row-tools button:hover{background:var(--soft);color:var(--p-dark)}.row-tools [data-rt="del"]:hover{background:#FEE4E2;color:var(--err)}
.blk:hover>.blk-tools{display:flex}.page .blk:hover{background:rgba(15,118,110,.04)}

/* listák, admin */
.mlist{display:flex;flex-direction:column;gap:8px}.mrow{display:flex;align-items:center;gap:12px;padding:12px 16px}
.mrow a{flex:1;display:flex;gap:12px;align-items:center;text-decoration:none;flex-wrap:wrap}.mrow small{color:var(--muted)}
.admin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.admin .card{padding:20px;overflow:auto}
.login{max-width:380px;margin:12vh auto;padding:32px;text-align:center}.login form{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:500;transition:.25s;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.err{background:var(--err)}
.modal{position:fixed;inset:0;z-index:60;background:rgba(11,46,43,.45);display:grid;place-items:center;padding:16px}
.dialog{width:min(860px,100%);max-height:90vh;overflow:auto;padding:20px}.dh{display:flex;justify-content:space-between;align-items:center}.dh h3{margin:0}
.x{border:0;background:none;font-size:26px;cursor:pointer;color:var(--muted)}
.psearch{display:flex;gap:8px;margin:14px 0}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;min-height:60px}
.pimg{border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;cursor:pointer;background:#fff;position:relative}.pimg:hover{border-color:var(--p)}
.pimg img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.pimg small{position:absolute;left:4px;bottom:4px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;padding:1px 5px;border-radius:4px}
.prow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.emoji-in{width:70px;text-align:center;font-size:20px;padding:6px}

/* ===== Anyagok megjelenése (előnézet = export) ===== */
.page{width:794px;height:1123px;background:#fff;box-shadow:0 4px 18px -6px rgba(0,0,0,.25);flex:none;font-family:var(--mat);color:#111}
.page.land{width:1123px;height:794px}
.page-inner{position:relative;height:100%;padding:67px;overflow:hidden;font-size:14.67px;line-height:1.35}
.page.compact .page-inner{font-size:13.3px}
.d-h1{font-size:21.3px;font-weight:700;color:#0B2E2B;text-align:center;margin:0 0 10px}
.d-h2{font-size:17.3px;font-weight:700;color:#0F766E;margin:14px 0 6px}
.d-h3{font-size:15.3px;font-weight:700;margin:12px 0 6px}
.d-p{margin:0 0 8px}
.d-list{margin:0 0 8px;padding-left:28px}.d-list li{margin:0 0 3px}
.d-table{width:100%;border-collapse:collapse;margin:0 0 8px}
.d-table th,.d-table td{border:1px solid #BFBFBF;padding:3px 7px;text-align:left;vertical-align:top}
.d-table th{background:#E6F4F1;font-weight:700}.d-table td.b{font-weight:700}
.admin .d-table{font-family:var(--font)}
.d-grid{display:grid;gap:10px 14px;margin:6px 0 10px}.d-grid figure{margin:0;text-align:center}
.d-grid .img{aspect-ratio:3/2}.d-grid .cap{margin-top:4px}
.d-box{border:1px solid #BFBFBF;border-left:4px solid #F59E0B;background:#FFF8E6;padding:7px 11px;margin:0 0 10px}.d-box .bt{font-weight:700}
.d-lines{margin:0 0 10px}.d-lines i{display:block;height:24px;border-bottom:1px solid #BFBFBF}
.d-pb{border-top:1px dashed #aaa;color:#999;font-size:11px;text-align:center;padding-top:2px;font-family:var(--font)}
.img{position:relative;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;cursor:pointer;background:#F3F5F5;container-type:size}
.img img{width:100%;height:100%;object-fit:cover;display:block}
.img img.emoji-img{width:62cqmin;height:62cqmin;object-fit:contain}
.img:has(.emoji-img){background:transparent}
.img-empty{color:#999;font:13px var(--font)}
.img.shadow img{box-shadow:0 3px 8px rgba(0,0,0,.22)}
.img:hover{outline:2px solid var(--a);outline-offset:2px}
.slide{position:relative;width:1280px;height:720px;background:#fff;overflow:hidden;font-family:var(--mat);color:#1F2937;flex:none;box-shadow:0 4px 18px -6px rgba(0,0,0,.25)}
.slide>div{position:absolute}
.s-bg-soft{inset:0;background:#E6F4F1}
.s-title{font-size:42.7px;font-weight:700;line-height:1.1;display:flex;align-items:center}
.s-big{font-size:58.7px;font-weight:700;color:#0B2E2B;text-align:center;display:flex;align-items:center;justify-content:center}
.s-sub{font-size:32px;color:#0F766E;text-align:center}
.s-tag{background:#CCE9E4;border-radius:24px;color:#0B2E2B;font-weight:700;font-size:21.3px;display:flex;align-items:center;justify-content:center}
.s-term{font-size:64px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}
.s-example{font-size:29.3px;font-style:italic;color:#0F766E;text-align:center;display:flex;align-items:center;justify-content:center}
.s-list{margin:0;padding-left:1.2em;line-height:1.25}.s-list li{margin:0 0 .25em}
.s-colhead{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:29.3px;text-align:center}
.s-colbody{background:#F4F6F6;padding:10px 12px}
.s-th{font-weight:700;font-size:24px;padding:0 6px}.s-hline{background:#9CA3AF}.s-band{background:#F4F6F6}
.s-td{display:flex;align-items:center;padding:0 6px}.s-td2{font-style:italic;color:#0F766E}
.s-cap{font-size:18.7px;color:#6B7280;text-align:center}
.slide [data-bind]{width:100%}
.slide-wrap{position:relative;overflow:hidden;margin:0 auto}.slide-wrap .slide{position:absolute;left:0;top:0;transform-origin:top left}
.export-host{position:fixed;left:-20000px;top:0;display:flex;flex-direction:column;gap:20px}
.export-host .page,.export-host .slide{box-shadow:none}

@media (max-width:1100px){.edgrid.slides{grid-template-columns:1fr 280px}.thumbs{grid-column:1/-1;flex-direction:row;overflow-x:auto;position:static}.th{flex:none;max-width:180px}}
@media (max-width:860px){
  .layout{grid-template-columns:1fr;padding:16px}.side{position:static}
  .edgrid.doc,.edgrid.slides,.admin{grid-template-columns:1fr}.tools{position:static}
  .bar{flex-wrap:wrap;gap:8px;padding:10px 16px}.bar nav{margin-left:0}.lockup span{font-size:15px}
  .hero{flex-direction:column-reverse;text-align:center}.edgrid.doc .stage{max-height:none}
  .edgrid.doc .stage .page{zoom:.42}
}

/* szabad kérés, beillesztett képek előnézete */
.side .free-link{display:flex;align-items:center;gap:8px;background:var(--p);color:#fff;font-weight:600;margin:0 0 12px;border-radius:12px;padding:10px 12px}
.side .free-link:hover,.side .free-link.on{background:var(--p-dark);color:#fff}
.freebar{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:14px;background:#FFFBEB;border-color:#FDE7B0}
.freebar>svg{flex:none;color:var(--a);width:22px;height:22px}.freebar div{flex:1}.freebar small{color:var(--muted)}
.chip.img-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border-radius:12px}
.chip.img-chip img{width:56px;height:42px;object-fit:cover;border-radius:8px;display:block;background:#fff}
.chip.img-chip span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
