/* MuEditor – egyszerű, letisztult felület */
:root{--bg:#f4f5f7;--panel:#fff;--line:#e2e5ea;--text:#1d2430;--muted:#6b7482;--accent:#2f6fde;--accent-d:#2459b6;--danger:#c23b3b;--ok:#1f8a55;--side:#1c222b;--side-t:#aab3bf;--radius:6px;font:14px/1.45 "Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}
h1{font-size:20px;font-weight:600;margin:0}h2{font-size:16px;font-weight:600;margin:0 0 12px}h3{font-size:14px;margin:0 0 6px}p{margin:0 0 8px}
.muted{color:var(--muted)}.small{font-size:12px}.danger{color:var(--danger)}
button,.button{font:inherit;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:var(--radius);padding:6px 12px;cursor:pointer}
button:hover{background:#f0f2f5}button:disabled{opacity:.45;cursor:default}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-d)}
button.quiet{border:0;background:transparent;color:var(--muted)}button.quiet:hover{color:var(--text)}
.full{width:100%;margin-top:8px}
label{display:block;font-size:12px;color:var(--muted)}
input,select,textarea{font:inherit;width:100%;display:block;margin-top:3px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.count{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:#ffffff33;font-size:11px}

/* Keret + csukható oldalmenü */
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.shell{display:flex;min-height:100vh}
aside{width:190px;flex:none;background:var(--side);color:var(--side-t);padding:16px 10px}
.brand{display:block;color:#fff;font-weight:700;font-size:17px;padding:4px 10px 18px}
nav a{display:block;color:var(--side-t);padding:8px 10px;border-radius:4px;margin-bottom:2px}
nav a:hover{background:#2a323d;color:#fff}nav a.active{background:#2f3a48;color:#fff}
.nav-toggle:checked + .shell aside{display:none}
.workspace{flex:1;min-width:0;display:flex;flex-direction:column}
header{height:48px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line)}
.burger{cursor:pointer;font-size:18px;color:var(--muted);padding:4px 6px;border-radius:4px;user-select:none}.burger:hover{background:#f0f2f5;color:var(--text)}
.spacer{flex:1}.logout{display:flex;align-items:center;gap:8px}.user{font-size:13px}
.conn{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.conn i{width:8px;height:8px;border-radius:50%;background:#c4c9d1}.conn.on i{background:var(--ok)}
main{padding:18px 20px;flex:1}
main.bare{display:grid;place-items:center;min-height:100vh}

/* Általános */
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.actions{display:flex;gap:8px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 14px}
.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty button{margin-top:8px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h2{margin:0}
.alert,.notice{padding:8px 12px;border-radius:4px;margin:0 0 12px;border:1px solid}.alert{background:#fdf0f0;border-color:#f1caca;color:#9b2c2c}.notice{background:#eef7f1;border-color:#cbe7d6;color:#1f6b45}
.alert button{margin-left:8px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7f9;padding:10px;font-size:11px;max-height:260px;overflow:auto}summary{cursor:pointer}
.badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#eceef1;color:var(--muted)}.badge.online{background:#e3f3ea;color:var(--ok)}
.history-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.history-row>div{flex:1}.history-row p{margin:2px 0 0;color:var(--muted);font-size:12px}
.login-card{width:320px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}.login-card h1{margin-bottom:18px}.login-card label{margin-bottom:12px}.login-card button{width:100%;margin-top:6px;padding:8px}
#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;padding:10px 16px;background:#fff4c2;z-index:100}

/* Nézetváltó + táblanézet */
.view-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;background:#fff}
.view-switch button{border:0;border-radius:0;padding:5px 14px}.view-switch button.selected{background:var(--accent);color:#fff}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:12px;flex-wrap:wrap}.tabs button{border:0;border-radius:0;background:transparent;padding:8px 12px;color:var(--muted)}.tabs button.selected{color:var(--text);box-shadow:inset 0 -2px var(--accent)}.tabs span{font-size:11px;margin-left:4px;color:var(--muted)}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.records{padding:12px 0 0}.records .section-title{padding:0 12px}.search{max-width:360px;margin:0}
.table-scroll{max-height:640px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{position:sticky;top:0;background:#f8f9fb;text-align:left;font-weight:600;color:var(--muted);padding:7px 12px;border-bottom:1px solid var(--line)}td{padding:7px 12px;border-bottom:1px solid #f0f1f4}tbody tr{cursor:pointer}tbody tr:hover{background:#f6f8fb}tbody tr.chosen{background:#e8f0fd}td code{color:var(--muted)}
.detail .eyebrow{font-size:11px;color:var(--muted)}.detail h2{margin-top:4px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fields label:has(input[value*="|"]){grid-column:1/-1}

/* Shop nézet – a Zythe CashShop Editor elrendezése (Forrás/CashShop-Editor) */
.zs{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
.zs-left{display:grid;grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);grid-template-areas:"items info" "pack pack";gap:12px;min-width:0}
.zs-items{grid-area:items}.zs-info{grid-area:info}.zs-pack{grid-area:pack}
.zs-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;min-width:0;display:flex;flex-direction:column;gap:6px}
.zs-box h3{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#46505e;margin:0 0 2px}.zs-box h3 em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;color:#c07a1a;margin-left:6px}
.zs-box input,.zs-box select,.zs-box textarea{margin:0}.zs-box label{display:flex;flex-direction:column;gap:2px;min-width:0}
.zs-itemlist{list-style:none;margin:0;padding:0;height:238px;overflow:auto;border:1px solid var(--line);border-radius:4px;font-size:12px}
.zs-itemlist li{display:flex;align-items:center;gap:6px;padding:2px 6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zs-itemlist li:hover{background:#f1f5fb}.zs-itemlist li.on{background:var(--accent);color:#fff}
.zs-itemlist img{width:16px;height:16px;object-fit:contain;flex:none}
.zs-inforow{display:flex;gap:10px;min-width:0}
.zs-img{flex:none;width:84px;height:136px;display:grid;place-items:center;background:#2b2f35;border-radius:4px;overflow:hidden}.zs-img img{max-width:78px;max-height:128px;object-fit:contain}
.zs-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.zs-fields textarea{flex:1;resize:vertical;min-height:90px}.zs-name{font-weight:600}
.zs-side{display:flex;flex-direction:column;gap:6px}.zs-side button{width:56px;height:62px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#3a3f47;border-color:#3a3f47;color:#d9dde3;font-size:11px}.zs-side button:hover{background:#4a515b}.zs-side b{font-size:20px;line-height:1}
.zs-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding-top:6px;border-top:1px solid var(--line)}.zs-bar label{flex:1;min-width:80px}.zs-bar label.wide{flex:2;min-width:150px}
.zs-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;background:#fdf0f0;border:1px solid #f1caca;border-radius:4px;font-size:12px}
.zs-packhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.zs-members{flex:0 1 320px;font-size:11px}
.zs-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line)}.zs-tabs button{border:1px solid var(--line);border-bottom:0;border-radius:4px 4px 0 0;background:#f4f5f7;padding:5px 12px;font-size:12px;margin-bottom:-1px}.zs-tabs button.on{background:#fff;font-weight:600}.zs-tabs .zs-addtab{background:transparent;border-color:transparent;color:var(--accent);font-weight:700}
.zs-prod{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:12px;padding-top:6px}
.zs-col{display:flex;flex-direction:column;gap:6px;min-width:0}.zs-two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.zs-check{flex-direction:row!important;align-items:center;gap:6px!important;font-size:12px;color:var(--text);cursor:pointer}.zs-check input{width:auto}.zs-checks{padding:4px 0}
.zs-exc{border:1px solid var(--line);border-radius:4px;padding:8px}.zs-excgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.zs-prodbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.zs-right{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.zs-maintabs{display:flex;flex-wrap:wrap;background:#2b2f35}.zs-maintabs button{border:0;border-radius:0;background:transparent;color:#aab1bb;padding:9px 16px;font-weight:600}.zs-maintabs button:hover{color:#fff;background:#363b42}.zs-maintabs button.on{background:#fff;color:var(--text)}
.zs-maintabs .zs-tool{margin-left:auto;color:#8b939e}.zs-maintabs .zs-tool.on{background:#3c4452;color:#fff}
.zs-catedit{display:flex;flex-direction:column;gap:6px;padding:8px 12px;background:#f7f8fa;border-bottom:1px solid var(--line)}.zs-catedit div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.zs-catedit span{width:86px;font-size:12px;color:var(--muted)}.zs-catedit input{width:160px;margin:0}.zs-catedit button{padding:4px 8px;font-size:12px}
.zs-store{display:flex;gap:12px;padding:12px;min-height:430px}
.zs-subtabs{flex:none;width:118px;display:flex;flex-direction:column;gap:2px}.zs-subtabs button{border:0;border-radius:3px;background:transparent;text-align:center;padding:6px;font-size:12px;font-weight:600;color:#5d6673;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zs-subtabs button:hover{background:#eef0f3}.zs-subtabs button.on{background:#2b2f35;color:#fff}
.zs-gridwrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}
.zs-grid{display:grid;grid-template-columns:repeat(3,minmax(90px,120px));gap:10px}
.zs-tile{aspect-ratio:5/6;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;background:#1b1e23;border:2px solid transparent;border-radius:2px;color:#d7dbe1;cursor:pointer;min-width:0}
.zs-tile:hover{background:#262a31}.zs-tile.sel{border-color:#d0392b}.zs-tile.blank{cursor:default}.zs-tile.blank:hover{background:#1b1e23}
.zs-tile img{flex:1;min-height:0;max-width:92%;object-fit:contain}
.zs-tname{width:100%;text-align:center;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.zs-tprice{font-size:11px;color:#f0c46a}
.zs-pager{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;font-size:13px}.zs-pager button{padding:1px 10px}.zs-move{display:inline-flex;gap:4px;margin-left:8px}.zs-move button{font-size:12px}
@media(max-width:1400px){.zs{grid-template-columns:1fr}.zs-right{order:-1}.zs-store{min-height:0}}
@media(max-width:900px){.zs-prod{grid-template-columns:1fr 1fr}.zs-exc{grid-column:1/-1}}
@media(max-width:760px){main{padding:12px}.zs-left{grid-template-columns:1fr;grid-template-areas:"items" "info" "pack"}.zs-store{flex-direction:column}.zs-subtabs{width:auto;flex-direction:row;flex-wrap:wrap}.zs-prod{grid-template-columns:1fr}.zs-grid{grid-template-columns:repeat(3,minmax(0,100px))}.editor-grid{grid-template-columns:1fr}aside{display:none;position:fixed;inset:48px auto 0 0;z-index:10}.nav-toggle:checked + .shell aside{display:block}}
.zs-tabs .zs-addtab.on{color:#fff;background:var(--accent);border-color:var(--accent)}.zs-tabs .zs-deltab{background:transparent;border-color:transparent;color:var(--danger)}
.zs-add{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f7f8fa;border:1px solid var(--line);border-radius:4px}.zs-add>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.zs-add span{width:74px;font-size:12px;color:var(--muted)}.zs-add input{flex:1;min-width:180px}.zs-add button{font-size:12px;padding:4px 8px}.zs-add p{margin:0}
.zs-addlist{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:12px}.zs-addlist li{display:flex;gap:8px;align-items:center;padding:4px 8px;cursor:pointer}.zs-addlist li:hover{background:#eef3fb}.zs-addlist code{color:var(--muted);min-width:48px}
.zs-inline{display:flex!important;flex-direction:row!important;gap:4px}.zs-inline input{flex:1}.zs-inline button{padding:2px 8px}
.zs-picked{display:flex;align-items:center;gap:6px;font-size:12px}.zs-picked img{width:22px;height:22px;object-fit:contain}.zs-picked span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.zs-picked button{padding:4px 8px;font-size:12px}
.zs-itemlist li{user-select:none}

/* Sötét keret, világos panelek, jól látható beviteli mezők */
:root{--bg:#33383f;--panel:#eceef1;--line:#c9ced6;--field:#fff;--field-line:#9aa3af}
body{background:var(--bg)}
header{background:#262a30;border-bottom-color:#1d2025;color:#c9ced6}
header .user,header .conn{color:#c9ced6}.burger{color:#aeb5bf}.burger:hover{background:#353a42;color:#fff}
header button.quiet{color:#aeb5bf}header button.quiet:hover{color:#fff}
aside{background:#1d2025}
main>.page-heading h1,main>h1{color:#fff}
main>.muted,main>p.muted{color:#c3c9d1}
.card,.zs-box,.zs-right,.login-card{background:var(--panel);border-color:#1d2025}
.zs-maintabs{background:#262a30}
.zs-store{background:var(--panel)}
.zs-catedit,.zs-add{background:#e2e5ea;border-color:var(--line)}
input,select,textarea{background:var(--field);border:1px solid var(--field-line);color:#141a22}
input:hover,select:hover,textarea:hover{border-color:#6f7a88}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2f6fde33}
input:disabled,select:disabled{background:#dfe2e7;color:#6b7482;border-color:#c3c9d1}
select{appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,#4a5360 50%),linear-gradient(135deg,#4a5360 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
button{background:#fff;border-color:var(--field-line)}button:hover{background:#f0f3f7}
button.primary{background:var(--accent);border-color:var(--accent)}
.zs-itemlist,.zs-addlist{background:#fff;border-color:var(--field-line)}
.zs-tabs button{background:#dde1e6;border-color:var(--line)}.zs-tabs button.on{background:var(--panel)}
.zs-exc{border-color:var(--line);background:#e6e9ed}
.zs-subtabs button:hover{background:#dde1e6}
.zs-tile.blank,.zs-tile.blank:hover{background:#1b1e23}
.view-switch{background:#fff;border-color:#1d2025}
th{background:#e2e5ea}tbody tr:hover{background:#e4e9f1}
.alert{background:#fbe9e9}.notice{background:#e5f3ea}
.toasts{position:fixed;top:64px;right:20px;z-index:10000;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.toast{pointer-events:auto;position:relative;display:flex;align-items:center;gap:10px;min-width:220px;max-width:400px;padding:10px 14px 10px 10px;border-radius:20px;background:#fffdf3;color:#1d232b;font-size:13px;line-height:1.4;border:2px solid;box-shadow:0 10px 30px #000a,0 0 0 4px #ffffff22}
.toast::before{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-weight:700;font-size:14px}
.toast.ok{border-color:#2e9a5e}.toast.ok::before{content:"✓";background:#2e9a5e}
.toast.err{border-color:#d03b3b;background:#fff4f2}.toast.err::before{content:"!";background:#d03b3b}
.toast::after{content:"";position:absolute;right:24px;bottom:-9px;width:14px;height:14px;background:inherit;border-right:2px solid;border-bottom:2px solid;border-color:inherit;transform:rotate(45deg);border-radius:0 0 3px 0}
.toast span{flex:1}.toast button.quiet{color:#6b7482;padding:0 2px;background:transparent;border:0}.toast button.quiet:hover{color:#1d232b}
@keyframes toast-in{from{opacity:0;transform:translateX(24px) scale(.96)}to{opacity:1;transform:none}}
.zs-maintabs .zs-plus{margin-left:0;color:#cfd5dd;font-weight:700;padding:9px 14px}.zs-maintabs .zs-plus:hover{color:#fff}.zs-maintabs .zs-plus + .zs-tool{margin-left:auto}
.zs-newmain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:#e2e5ea;border-bottom:1px solid var(--line)}.zs-newmain span{font-size:12px;color:var(--muted)}.zs-newmain button{font-size:12px;padding:4px 10px}
/* Aktív fül: rámutatáskor is maradjon olvasható */
.zs-subtabs button.on,.zs-subtabs button.on:hover{background:#2b2f35;color:#fff}
.zs-subtabs button:not(.on):hover{background:#d3d8df;color:#1d232b}
.zs-maintabs button.on,.zs-maintabs button.on:hover{background:var(--panel);color:#1d232b}
.zs-tabs button.on:hover{background:var(--panel)}
.view-switch button.selected,.view-switch button.selected:hover{background:var(--accent);color:#fff}
/* Folyamatjelző: vékony csík a lap tetején, nem tolja el a felületet */
.busybar{position:fixed;top:0;left:0;right:0;height:3px;z-index:10001;overflow:hidden;pointer-events:none;background:#2f6fde33}
.busybar::after{content:"";position:absolute;top:0;bottom:0;width:30%;background:var(--accent);animation:busy 1s ease-in-out infinite}
@keyframes busy{from{left:-30%}to{left:100%}}
.zs-maintabs button.hidden,.zs-subtabs button.hidden{opacity:.5;font-style:italic}
.zs-bar .zs-check{flex:none;min-width:0;padding-bottom:6px}.zs-catedit .zs-check{margin-left:6px}
/* Szervergép jóváhagyása */
.approvals{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;flex-direction:column;gap:10px}
.approval{width:340px;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:#fffdf3;color:#1d232b;border:2px solid var(--accent);box-shadow:0 10px 30px #000a;font-size:13px;animation:toast-in .2s ease-out}
.approval .code{font:700 18px/1.2 Consolas,monospace;letter-spacing:2px;color:var(--accent)}.approval small{color:#6b7482}
.approval-actions{display:flex;gap:8px;justify-content:flex-end}
