/* ══════════════════════════════════════════════════════════════
   Slepnex — Shell v0.0.3 CSS
   ══════════════════════════════════════════════════════════════ */

/* ── DARK MODE TOKENS ─────────────────────────────────── */
html[data-theme="dark"] {
    --bg:           #0a0f1f;
    --bg-2:         #0f1629;
    --card:         #141c33;
    --border:       #1e293b;
    --border-2:     #2a3855;
    --text:         #f1f5f9;
    --text-mid:     #94a3b8;
    --text-dim:     #64748b;
}

/* ── ICON ─────────────────────────────────────────────── */
.i{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.i-14{width:14px;height:14px}
.i-18{width:18px;height:18px}
.i-20{width:20px;height:20px}

/* ── SHELL APP ────────────────────────────────────────── */
html,body{height:100%}
body.shell-body{overflow:hidden}
.shell-app{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg)}

/* ═══ SIDEBAR 1 ═══ */
.sidebar{
    width:260px;flex-shrink:0;
    background:var(--dark-bg2);
    color:var(--dark-text);
    display:flex;flex-direction:column;
    border-right:1px solid var(--dark-border);
    overflow:clip;position:relative;z-index:50;
    transition:width .2s ease;
}
.sidebar::before{content:'';position:absolute;top:-100px;right:-100px;width:250px;height:250px;background:radial-gradient(circle,rgba(48,192,168,.08) 0%,transparent 70%);pointer-events:none}
html[data-sidebar="collapsed"] .sidebar{width:64px}
html[data-sidebar="collapsed"] .sb-logo-text,
html[data-sidebar="collapsed"] .sb-label,
html[data-sidebar="collapsed"] .sb-item-caret,
html[data-sidebar="collapsed"] .sb-group-lbl,
html[data-sidebar="collapsed"] .sb-row-lbl,
html[data-sidebar="collapsed"] .sb-user-info,
html[data-sidebar="collapsed"] .sb-user-caret{display:none}
html[data-sidebar="collapsed"] .sb-logo{justify-content:center;padding-left:0;padding-right:0}
html[data-sidebar="collapsed"] .sb-item,
html[data-sidebar="collapsed"] .sb-row{justify-content:center;padding-left:10px;padding-right:10px}
html[data-sidebar="collapsed"] .sb-user{justify-content:center;padding:10px 8px}

.sb-logo{display:flex;align-items:center;gap:11px;padding:16px 14px;margin:0 6px;border-bottom:1px solid var(--dark-border);text-decoration:none;flex-shrink:0}
.sb-logo-box{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#0a1628,#0f2240);display:flex;align-items:center;justify-content:center;border:1px solid rgba(48,192,168,.25);box-shadow:0 0 20px rgba(48,192,168,.15);flex-shrink:0}
.sb-logo-text{overflow:hidden}
.sb-logo-name{font-family:var(--font-display);font-size:16px;font-weight:800;color:#fff;letter-spacing:-.3px;line-height:1}
.sb-logo-ver{font-size:10px;color:var(--dark-text-dim);margin-top:2px;font-family:var(--font-mono)}

.sb-nav{flex:1;padding:8px 10px;overflow-y:auto}
.sb-nav::-webkit-scrollbar{width:4px}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}

.sb-group-lbl{display:flex;align-items:center;gap:6px;padding:12px 12px 4px;font-size:9.5px;font-weight:700;color:var(--dark-text-dim);text-transform:uppercase;letter-spacing:.12em}
.sb-group-lbl .star-ico{width:11px;height:11px;color:var(--lime);flex-shrink:0}

/* ── SIDEBAR ITEM (hover/active: háttér + bal sáv glow, nincs keret) ── */
.sb-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--dark-text-mid);cursor:pointer;transition:all .12s;text-decoration:none;margin-bottom:2px;position:relative;background:transparent}
.sb-item:hover:not(.disabled):not(.sb-group-row),
.sb-item.active:not(.sb-group-row){
    background:linear-gradient(90deg,rgba(168,240,120,.10),rgba(48,192,168,.04)),rgba(0,0,0,.25);
    color:var(--lime)
}
.sb-item.active:not(.sb-group-row){font-weight:600}
.sb-item:hover:not(.disabled):not(.sb-group-row)::before,
.sb-item.active:not(.sb-group-row)::before{
    content:'';position:absolute;left:0;top:5px;bottom:5px;width:3px;
    background:var(--lime);border-radius:0 3px 3px 0;
    box-shadow:0 0 10px var(--lime),0 0 4px var(--lime)
}

/* Csoport sor (Pénzügyek, CRM stb. — accordion fejléc) — diszkrétebb hover */
.sb-group-row:hover:not(.disabled){background:rgba(48,192,168,.05);color:var(--dark-text)}
.sb-group-row.open{color:var(--dark-text)}

.sb-item.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.sb-item.disabled,.sb-item.disabled:focus,.sb-item.disabled:focus-visible{outline:none!important;box-shadow:none!important}
a.sb-item:focus,a.sb-item:focus-visible{outline:none}
.sb-item--empty{opacity:.55;cursor:help}
.sb-item--empty:hover{background:rgba(255,255,255,.03);color:var(--dark-text-mid);border-color:transparent;box-shadow:none}
.sb-item--empty:hover::before{display:none}
.sb-item--empty .sb-item-caret{opacity:.25}
.sb-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-item-caret{width:14px;height:14px;opacity:.5;transition:transform .2s;margin-left:auto;flex-shrink:0}
.sb-group-row.open .sb-item-caret{transform:rotate(90deg);opacity:.9;color:var(--lime)}

/* ── ACCORDION CHILDREN ── */
.sb-children{overflow:hidden;max-height:0;transition:max-height .25s ease}
.sb-children.open{max-height:1000px}
.sb-child{padding-left:38px;font-size:12.5px}

/* ── CSILLAG (pin gomb) ── */
.sb-star{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:4px;
    color:var(--dark-text-dim);
    opacity:0;
    transition:opacity .12s,color .12s,background .12s;
    flex-shrink:0;cursor:pointer;
    border:0;background:transparent;
    margin-left:auto
}
.sb-star svg{width:14px;height:14px;pointer-events:none}
.sb-item:hover .sb-star{opacity:.6}
.sb-star:hover{background:rgba(255,255,255,.06);opacity:1!important;color:var(--lime)}
.sb-star.starred{opacity:1!important;color:var(--lime)}
.sb-star.starred:hover{color:var(--lime-bright,#8eea7a)}

/* ── KEDVENCEK SZEKCIÓ ── */
.sb-fav-section{display:none;margin-top:4px;margin-bottom:4px}
.sb-fav-section.has-items{display:block}

/* Fav sor (drag fogantyúval elöl) */
.sb-fav-row{padding:9px 12px 9px 8px;cursor:grab}
.sb-fav-row:active{cursor:grabbing}
.sb-fav-row.dragging{opacity:.4}
.sb-fav-row.drop-above::before{
    content:'';position:absolute;top:-1px;left:8px;right:8px;height:2px;
    background:var(--lime);border-radius:1px;z-index:2;
    box-shadow:0 0 6px var(--lime)
}
.sb-fav-row.drop-below::after{
    content:'';position:absolute;bottom:-1px;left:8px;right:8px;height:2px;
    background:var(--lime);border-radius:1px;z-index:2;
    box-shadow:0 0 6px var(--lime)
}

.sb-grip{
    width:14px;height:14px;color:var(--dark-text-dim);
    flex-shrink:0;pointer-events:none;
    transition:color .12s;
    fill:currentColor !important;
    stroke:none !important
}
.sb-fav-row:hover .sb-grip{color:var(--dark-text)}

.sb-sep{height:1px;background:var(--dark-border);margin:8px 12px}

.sb-foot{flex-shrink:0;padding:8px;border-top:1px solid var(--dark-border);display:flex;flex-direction:column;gap:2px}
.sb-row{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:8px;background:transparent;border:none;color:var(--dark-text-mid);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .12s;width:100%;text-align:left}
.sb-row:hover{background:rgba(255,255,255,.04);color:var(--dark-text)}
.sb-row-lbl{flex:1}

/* User block — most dropdown gomb */
.sb-user{margin:6px;padding:8px 10px;background:var(--dark-card);border:1px solid var(--dark-border);border-radius:10px;display:flex;align-items:center;gap:10px;flex-shrink:0;cursor:pointer;transition:all .12s;width:calc(100% - 12px);text-align:left;font-family:inherit}
.sb-user:hover{background:var(--dark-bg3,#131b30);border-color:var(--dark-border2)}
.sb-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}
.sb-user-info{flex:1;min-width:0}
.sb-user-name{font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-role{font-size:10px;color:var(--dark-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}
.sb-user-caret{color:var(--dark-text-dim);opacity:.7}

/* USER DROPDOWN */
.user-dd{position:fixed;bottom:66px;left:10px;width:220px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,48,96,.25);padding:6px;z-index:200}
.user-dd[hidden]{display:none}
.user-dd-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;color:var(--text);font-size:13px;text-decoration:none;cursor:pointer;transition:all .1s}
.user-dd-item:hover{background:var(--bg-2);color:var(--text)}
.user-dd-item.danger{color:var(--danger)}
.user-dd-item.danger:hover{background:#fef2f2;color:var(--danger)}
html[data-theme="dark"] .user-dd-item.danger:hover{background:rgba(239,68,68,.1)}
.user-dd-soon{margin-left:auto;font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.user-dd-new{margin-left:auto;font-size:9px;padding:2px 6px;background:var(--lime);color:var(--dark-bg);border-radius:4px;font-weight:800;letter-spacing:.04em}
.user-dd-divider{height:1px;background:var(--border);margin:4px 0}
.user-dd-sub{display:flex;align-items:center;gap:10px;padding:9px 11px;font-size:13px;color:var(--text);cursor:pointer;border-radius:8px;transition:all .1s}
.user-dd-sub:hover{background:var(--bg-2)}
.user-dd-sub-lbl{flex:1}
.user-dd-sub-val{font-size:11.5px;color:var(--text-dim);font-weight:600}
.theme-switch{width:28px;height:16px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:10px;position:relative;flex-shrink:0;cursor:pointer;transition:background .2s}
.theme-switch::after{content:'';position:absolute;left:2px;top:1px;width:11px;height:11px;border-radius:50%;background:var(--text-mid);transition:all .2s}
.theme-switch.on{background:var(--teal)}
.theme-switch.on::after{left:14px;background:var(--lime)}

/* ═══ SIDEBAR 2 ═══ */
.sb2{width:232px;flex-shrink:0;background:var(--dark-card);color:var(--dark-text);display:flex;flex-direction:column;border-right:1px solid var(--dark-border2);border-left:1px solid var(--dark-border2);overflow:hidden;z-index:20;position:relative}
.sb2-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--dark-border);flex-shrink:0;gap:8px}
.sb2-header-txt{flex:1;min-width:0}
.sb2-group-lbl{font-size:10px;font-weight:700;color:var(--dark-text-dim);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}
.sb2-title{font-family:var(--font-display);font-size:16px;font-weight:800;color:#fff;letter-spacing:-.3px;line-height:1.2}
.sb2-close{width:26px;height:26px;border-radius:7px;background:transparent;border:1px solid transparent;color:var(--dark-text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb2-close:hover{background:rgba(255,255,255,.06);color:var(--lime);border-color:var(--dark-border2)}

.sb2-nav{flex:1;padding:10px;overflow-y:auto}
.sb2-nav::-webkit-scrollbar{width:4px}
.sb2-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.sb2-section{font-size:10px;font-weight:700;color:var(--dark-text-dim);text-transform:uppercase;letter-spacing:.1em;padding:12px 10px 6px}
.sb2-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:var(--dark-text-mid);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;text-decoration:none;margin-bottom:1px;position:relative}
.sb2-item:hover:not(.disabled){background:rgba(48,192,168,.06);color:var(--dark-text)}
.sb2-item.active{background:linear-gradient(90deg,rgba(168,240,120,.15),rgba(168,240,120,.05));color:var(--lime);font-weight:600}
.sb2-item.active::before{content:'';position:absolute;left:0;top:5px;bottom:5px;width:3px;background:var(--lime);border-radius:0 3px 3px 0;box-shadow:0 0 8px var(--lime)}
.sb2-item.disabled{opacity:.42;cursor:not-allowed}
.sb2-item:hover .sb2-item-soon{opacity:1}
.sb2-item-lbl{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb2-item-soon{font-size:8.5px;font-weight:600;color:var(--dark-text-dim);text-transform:uppercase;letter-spacing:.05em;opacity:0;transition:opacity .15s}

/* ═══ MAIN AREA ═══ */
.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);order:1}

.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;min-height:60px;z-index:40}
.tb-hamburger{display:none;width:32px;height:32px;border-radius:7px;background:transparent;border:none;cursor:pointer;align-items:center;justify-content:center;color:var(--text)}
.tb-title-wrap{flex:1 1 auto;min-width:0;max-width:none}
.tb-breadcrumb{font-size:11.5px;color:var(--text-dim);margin-bottom:2px;display:flex;gap:6px;align-items:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;min-width:0;scrollbar-width:thin;}
.tb-breadcrumb::-webkit-scrollbar{height:3px}
.tb-breadcrumb::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.tb-breadcrumb > *{flex-shrink:0;white-space:nowrap}
.tb-breadcrumb a{color:var(--text-mid);text-decoration:none;padding:2px 5px;border-radius:4px;transition:all .12s;cursor:pointer;white-space:nowrap}
.tb-breadcrumb a:hover{color:var(--teal-dark);background:var(--bg-2)}
.tb-breadcrumb .bcsep{color:var(--text-dim);font-size:10px}
.tb-title{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.3px;line-height:1.2}
.tb-subtitle{font-size:11.5px;color:var(--text-mid);margin-top:1px}
.tb-spacer{flex:1}

.tb-search{flex:0 1 260px;max-width:260px}
.tb-search-btn{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:9px;color:var(--text-dim);font-size:12.5px;font-family:inherit;cursor:pointer;text-align:left}
.tb-search-btn:hover{border-color:var(--teal);background:var(--card)}
.tb-search-text{flex:1}
.tb-search-kbd{padding:2px 6px;background:var(--card);border:1px solid var(--border-2);border-radius:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-mid)}

.tb-actions{display:flex;gap:6px;align-items:center}

/* Content */
.content{flex:1;overflow-y:auto;scrollbar-gutter:stable;padding:24px 28px;display:flex;flex-direction:column}

/* Flash */
.flash-wrap{padding:12px 24px 0}
.flash{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;margin-bottom:8px;border-left:3px solid;font-size:13.5px}
.flash-ok{background:#f0fdf4;color:#14532d;border-left-color:#10b981;border:1px solid #bbf7d0;border-left-width:3px}
.flash-err{background:#fef2f2;color:#7f1d1d;border-left-color:var(--danger);border:1px solid #fecaca;border-left-width:3px}
.flash-info{background:var(--bg-2);color:var(--navy);border-left-color:var(--teal);border:1px solid var(--border-2);border-left-width:3px}
.flash-warn{background:#fffbeb;color:#78350f;border-left-color:#f59e0b;border:1px solid #fde68a;border-left-width:3px}
.flash-message{flex:1}
.flash-close{background:transparent;border:none;color:inherit;cursor:pointer;opacity:.6;padding:0 4px;display:flex;align-items:center}
.flash-close:hover{opacity:1}

/* ═══ RBAR ═══ */
.rbar{width:56px;flex-shrink:0;background:var(--dark-bg);border-left:1px solid var(--dark-border);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:4px;position:relative;z-index:45;order:2}
.rbar-btn{width:40px;height:40px;border-radius:10px;background:transparent;border:1px solid transparent;color:var(--dark-text-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s}
.rbar-btn:hover{background:rgba(48,192,168,.1);color:var(--lime);border-color:rgba(48,192,168,.25)}
.rbar-btn.active{background:var(--lime);color:var(--dark-bg);box-shadow:0 0 16px rgba(168,240,120,.5)}
.rbar-btn.quick-add{background:var(--gradient-lime,linear-gradient(135deg,#8eea7a 0%,#5fd3a3 100%));color:var(--dark-bg);box-shadow:0 2px 12px rgba(168,240,120,.3)}
.rbar-btn.quick-add:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(168,240,120,.45)}
.rbar-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;background:var(--danger);color:#fff;font-size:9.5px;font-weight:700;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;border:2px solid var(--dark-bg)}
.rbar-spacer{flex:1}
.rbar-status{width:40px;height:40px;display:flex;align-items:center;justify-content:center;position:relative}
.rbar-status-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25),0 0 12px rgba(16,185,129,.6);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgba(16,185,129,.15),0 0 16px rgba(16,185,129,.8)}}
.rbar-settings{width:36px;height:36px;border-radius:9px;border:1px dashed var(--dark-border2);background:transparent;color:var(--dark-text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center}
.rbar-settings:hover{border-color:var(--lime);color:var(--lime)}

/* Kicsúszó panel a jobb-szélhez tapadva (rbar mellett, viewport teljes magasság).
   A panel mindig a rbar bal-szélén "ragadva" — a tartalma jobbról balra fedi fel magát (clip-path).
   Csak bal-felső és bal-alsó sarka lekerekített, jobb-szél lapos (a rbar-hoz csatlakozik). */
.rbar-panel{position:fixed;top:0;right:56px;bottom:0;width:360px;background:var(--card);border:1px solid var(--border);border-right:none;border-radius:14px 0 0 14px;box-shadow:-12px 0 40px rgba(0,0,0,.25);padding:20px 22px;overflow-y:auto;z-index:300;clip-path:inset(0 0 0 0);transition:clip-path .28s cubic-bezier(.4,0,.2,1)}
.rbar-panel[hidden]{display:block !important;visibility:hidden;clip-path:inset(0 0 0 100%);pointer-events:none;transition:clip-path .28s cubic-bezier(.4,0,.2,1),visibility 0s .28s}
.rp-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.rp-close{width:22px;height:22px;border:none;background:var(--bg-2);border-radius:6px;cursor:pointer;color:var(--text-mid);display:flex;align-items:center;justify-content:center}
.rp-list{display:flex;flex-direction:column;gap:4px}
.rp-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text);transition:all .12s}
.rp-item:hover{background:var(--bg-2)}
.rp-ico{width:28px;height:28px;border-radius:7px;background:var(--bg-2);display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0}
.rp-info{flex:1;min-width:0}
.rp-info b{display:block;font-size:13px;color:var(--text);font-weight:600}
.rp-info span{font-size:11.5px;color:var(--text-mid)}
.rp-kbd{font-family:var(--font-mono);font-size:10px;padding:2px 5px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:3px;color:var(--text-mid)}
.rp-mark-all{width:22px;height:22px;border:none;background:var(--bg-2);border-radius:6px;cursor:pointer;color:var(--text-mid);display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:6px}
.rp-mark-all:hover{background:var(--teal);color:#fff}

/* In-app notifications list (rbar notif panel) */
.notif-list{display:flex;flex-direction:column;gap:6px;max-height:380px;overflow-y:auto}
.notif-item{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:8px;background:var(--bg-2);border:1px solid var(--border);cursor:pointer;transition:background .12s, border-color .12s}
.notif-item:hover{background:var(--bg-3);border-color:var(--border-2)}
.notif-body{flex:1;min-width:0}
.notif-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.3;margin-bottom:3px}
.notif-msg{font-size:11.5px;color:var(--text-mid);line-height:1.4;margin-bottom:4px}
.notif-meta{font-size:10.5px;color:var(--text-dim)}
.notif-close{width:22px;height:22px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;transition:opacity .12s, background .12s}
.notif-close:hover{opacity:1;background:var(--bg-3);color:var(--text)}

/* Activity feed items (rbar panel) */
.activity-item{display:flex;gap:11px;padding:8px 4px;border-bottom:1px solid var(--border)}
.activity-item:last-child{border-bottom:none}
.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}
.activity-dot.ok{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.5)}
.activity-dot.info{background:var(--teal);box-shadow:0 0 6px rgba(48,192,168,.5)}
.activity-dot.warn{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.5)}
.activity-dot.neutral{background:var(--text-dim)}
.activity-body{flex:1;min-width:0}
.activity-txt{font-size:12.5px;color:var(--text);line-height:1.45}
.activity-txt b{font-weight:600}
.activity-meta{font-size:10.5px;color:var(--text-dim);margin-top:2px}
.activity-empty{text-align:center;padding:30px 20px;color:var(--text-mid);font-size:13px}
.activity-empty-ico{font-size:32px;opacity:.3;margin-bottom:8px}
.activity-day-lbl{font-size:10.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;padding:8px 2px 6px}

/* ═══ SEARCH MODAL ═══ */
.search-overlay{position:fixed;inset:0;background:rgba(10,15,31,.55);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:80px}
.search-overlay[hidden]{display:none}
.search-modal{width:640px;max-width:90%;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 70px rgba(0,48,96,.4);overflow:hidden}
.search-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}
.search-head .i{color:var(--text-dim);width:18px;height:18px}
.search-input{flex:1;border:none;background:transparent;font-size:15px;font-family:inherit;color:var(--text);outline:none}
.search-body{max-height:440px;overflow-y:auto;padding:12px}
.search-cat{font-size:10.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;padding:10px 12px 6px;display:flex;align-items:center}
.search-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;color:var(--text);text-decoration:none}
.search-item:hover,.search-item.hl,.search-item.is-active{background:var(--bg-2)}
.search-item.is-active{background:rgba(48,192,168,.10);box-shadow:inset 2px 0 0 var(--teal-dark)}
.search-item--dim{opacity:.5;cursor:default}
.search-item--dim:hover{background:transparent}
.search-item-badge{font-size:10px;font-weight:600;padding:2px 8px;background:rgba(148,163,184,.18);color:var(--text-mid);border-radius:100px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.search-item-ico{width:30px;height:30px;border-radius:8px;background:var(--bg-2);display:flex;align-items:center;justify-content:center;color:var(--teal-dark);flex-shrink:0}
.search-item-cmd .search-item-ico{background:rgba(168,240,120,.18);color:var(--teal-dark)}
.search-item-txt{flex:1;min-width:0}
.search-item-txt b{display:block;color:var(--text);font-weight:600}
.search-item-txt span{font-size:11.5px;color:var(--text-mid)}
.search-item-kbd{font-family:var(--font-mono);font-size:10px;padding:2px 6px;background:var(--card);border:1px solid var(--border);border-radius:4px;color:var(--text-mid)}
.search-foot{display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--bg-2);border-top:1px solid var(--border);font-size:11px;color:var(--text-mid)}
.search-foot-item{display:flex;align-items:center;gap:5px}
.search-foot kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--card);border:1px solid var(--border);border-radius:3px;color:var(--text)}
.search-empty-state{text-align:center;padding:40px 20px}

/* ═══ QUICK CREATE MODAL ═══ */
.qc-modal{position:fixed;inset:0;background:rgba(17,24,39,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;animation:qcFade .2s ease}
.qc-modal[hidden]{display:none}
@keyframes qcFade{from{opacity:0}}

.qc-sheet{
    width:560px; max-width:95%;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(24px) saturate(180%);
    -webkit-backdrop-filter:blur(24px) saturate(180%);
    border:1px solid rgba(255,255,255,.5);
    border-radius:16px;
    box-shadow:0 20px 60px rgba(0,0,0,.22), 0 0 0 0.5px rgba(0,0,0,.06);
    overflow:hidden;
    animation:qcPop .25s cubic-bezier(.32,.72,0,1);
}
html[data-theme="dark"] .qc-sheet{background:rgba(20,28,51,.94);border-color:rgba(255,255,255,.08)}
@keyframes qcPop{from{opacity:0;transform:scale(.96)}}

.qc-handle-wrap{display:none}

.qc-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);gap:10px}
html[data-theme="dark"] .qc-head{border-bottom-color:rgba(255,255,255,.08)}
.qc-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text);flex:1}
.qc-title-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(168,240,120,.5)}
.qc-kbd-hint{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);padding:2px 6px;background:rgba(0,0,0,.04);border:none;border-radius:4px;letter-spacing:0}
html[data-theme="dark"] .qc-kbd-hint{background:rgba(255,255,255,.06)}
.qc-close{width:26px;height:26px;background:transparent;border:none;cursor:pointer;color:var(--text-dim);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .12s;font-family:inherit}
.qc-close:hover{background:rgba(0,0,0,.06);color:var(--text)}
html[data-theme="dark"] .qc-close:hover{background:rgba(255,255,255,.08)}

.qc-body{padding:14px 16px 18px}
.qc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}

.qc-item{
    position:relative;
    display:flex;flex-direction:column;align-items:flex-start;
    padding:14px;
    background:rgba(255,255,255,.6);
    border:1px solid rgba(0,0,0,.06);
    border-radius:10px;
    cursor:pointer;
    text-align:left;
    transition:all .15s cubic-bezier(.4,0,.2,1);
    font-family:inherit;
    color:inherit;
}
html[data-theme="dark"] .qc-item{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06)}
.qc-item:hover:not(:disabled){
    background:#fff;
    border-color:var(--lime);
    box-shadow:0 0 0 1px var(--lime), 0 2px 8px rgba(168,240,120,.15);
    transform:translateY(-1px);
}
html[data-theme="dark"] .qc-item:hover:not(:disabled){background:rgba(255,255,255,.06)}
.qc-item:disabled{opacity:.55;cursor:not-allowed}

.qc-ico{
    width:32px;height:32px;
    border-radius:8px;
    background:rgba(0,0,0,.04);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:10px;
    color:var(--text-mid);
    transition:all .15s;
}
html[data-theme="dark"] .qc-ico{background:rgba(255,255,255,.06)}
.qc-item:hover:not(:disabled) .qc-ico{background:rgba(168,240,120,.2);color:var(--teal-dark)}
html[data-theme="dark"] .qc-item:hover:not(:disabled) .qc-ico{color:var(--lime)}

.qc-lbl{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em;margin-bottom:2px}
.qc-sub{font-size:11.5px;color:var(--text-dim);line-height:1.35;font-weight:400}
.qc-kbd{
    position:absolute;top:12px;right:12px;
    font-family:var(--font-mono);font-size:10px;
    padding:2px 5px;
    background:rgba(0,0,0,.04);
    border-radius:3px;
    color:var(--text-dim);
    font-weight:500;
    letter-spacing:0;
    min-width:18px;text-align:center;
}
html[data-theme="dark"] .qc-kbd{background:rgba(255,255,255,.06)}

/* Mobile: bottom sheet */
@media (max-width:640px){
    .qc-modal{align-items:flex-end;padding:0;background:rgba(17,24,39,.35)}
    .qc-sheet{
        width:100%;max-width:100%;
        border-radius:20px 20px 0 0;
        max-height:85vh;
        overflow-y:auto;
        animation:qcSheetUp .28s cubic-bezier(.32,.72,0,1);
    }
    @keyframes qcSheetUp{from{transform:translateY(100%)}}
    .qc-handle-wrap{display:flex;justify-content:center;padding:8px 0 0}
    .qc-handle{width:36px;height:5px;background:rgba(0,0,0,.15);border-radius:3px}
    html[data-theme="dark"] .qc-handle{background:rgba(255,255,255,.18)}
    .qc-head{padding:12px 18px 14px}
    .qc-body{padding:12px 14px 18px}
    .qc-grid{grid-template-columns:repeat(2,1fr)}
    .qc-item{padding:12px}
    .qc-kbd-hint{display:none}
    .qc-kbd{display:none}
}

/* ═══ TOAST ═══ */
.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{padding:12px 16px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:10px;box-shadow:0 10px 40px rgba(0,48,96,.15);font-size:13.5px;color:var(--text);min-width:240px;max-width:360px;pointer-events:auto;animation:toastIn .25s ease}
.toast-ok{border-left-color:#10b981}
.toast-err{border-left-color:var(--danger)}
.toast-warn{border-left-color:#f59e0b}
.toast-info{border-left-color:var(--teal)}
.toast.closing{animation:toastOut .25s ease forwards}
@keyframes toastIn{from{opacity:0;transform:translateX(40px)}}
@keyframes toastOut{to{opacity:0;transform:translateX(40px)}}

/* ═══ EMPTY STATE (used in modules) ═══ */
.empty-state{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:60px 40px;text-align:center}
.empty-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--bg-2),#e4eae2);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--teal)}
html[data-theme="dark"] .empty-icon{background:linear-gradient(135deg,var(--dark-card),var(--dark-bg2))}
.empty-icon .i{width:38px;height:38px;stroke-width:1.5}
.empty-h{font-family:var(--font-display);font-size:19px;font-weight:800;color:var(--text);margin-bottom:6px}
.empty-p{font-size:13.5px;color:var(--text-mid);max-width:400px;margin:0 auto 22px;line-height:1.55}
.empty-actions{display:flex;gap:8px;justify-content:center}

/* ═══ SKELETON ═══ */
.skel{background:linear-gradient(90deg,var(--bg-2) 0%,#f1f3ef 50%,var(--bg-2) 100%);background-size:200% 100%;animation:skel 1.5s ease-in-out infinite;border-radius:6px}
html[data-theme="dark"] .skel{background:linear-gradient(90deg,var(--dark-card) 0%,var(--dark-bg3) 50%,var(--dark-card) 100%);background-size:200% 100%}
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ═══ DRILLDOWN PANELS (settings push-navigáció) ═══ */
.sb-panes{
    position:relative;
    flex:1;
    overflow:clip;
}
.sb-pane{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    transition:transform .32s cubic-bezier(0.4, 0, 0.2, 1);
}
.sb-pane--main{transform:translateX(0)}
.sb-panes.settings-open .sb-pane--main{transform:translateX(-100%)}
.sb-pane--settings{transform:translateX(100%)}
.sb-panes.settings-open .sb-pane--settings{transform:translateX(0)}

/* settings header (vissza-gomb) */
.sb-settings-header{
    display:flex;align-items:center;gap:10px;
    padding:14px 12px;
    border:none;background:transparent;
    border-bottom:1px solid var(--dark-border);
    color:var(--dark-text);
    cursor:pointer;
    flex-shrink:0;
    width:100%;
    text-align:left;
    font-family:inherit;
}
.sb-settings-header:hover{background:rgba(255,255,255,.03)}
.sb-settings-header svg{width:18px;height:18px;color:var(--dark-text-mid);flex-shrink:0}
.sb-settings-header .sb-settings-title{
    font-size:14px;font-weight:700;color:var(--dark-text);
    letter-spacing:-.2px
}

/* profil card (settings panel teteje) */
.sb-profile-card{padding:10px 10px 4px;flex-shrink:0}
.sb-profile-item{
    padding:10px 12px!important;
    background:var(--dark-card)!important;
    border:1px solid var(--dark-border)!important;
    border-radius:10px;
    gap:11px!important;
}
.sb-profile-item:hover{
    background:var(--dark-bg3)!important;
    border-color:var(--dark-border2)!important;
    color:var(--dark-text)!important;
}
.sb-profile-item:hover::before{display:none!important}
.sb-profile-avatar{
    width:32px;height:32px;border-radius:50%;
    background:linear-gradient(135deg,var(--teal),var(--navy));
    color:white;
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:11px;
    flex-shrink:0;
}
.sb-profile-info{flex:1;min-width:0}
.sb-profile-name{
    font-size:13px;font-weight:600;color:var(--dark-text);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sb-profile-sub{
    font-size:10.5px;color:var(--dark-text-dim);
    margin-top:1px;
}
.sb-profile-item .i{color:var(--dark-text-dim);width:14px;height:14px}

/* "ÚJ" badge */
.sb-badge-new{
    background:rgba(168,240,120,.18);
    color:#c8f5a8;
    font-size:9.5px;font-weight:700;
    padding:2px 6px;border-radius:4px;
    letter-spacing:.05em;text-transform:uppercase;
    margin-left:auto;
}

/* "Figyelem" badge — revision_requested + lejáró ajánlatok száma */
.sb-badge-attn{
    background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);
    color:#fff;
    font-size:10.5px;font-weight:800;
    min-width:18px;height:18px;
    padding:0 6px;border-radius:9px;
    display:inline-flex;align-items:center;justify-content:center;
    margin-left:auto;
    box-shadow:0 1px 3px rgba(168,85,247,.40);
    font-variant-numeric:tabular-nums;
    line-height:1;
}
.sb-item:hover .sb-badge-attn{
    box-shadow:0 2px 5px rgba(168,85,247,.55);
}

/* ═══ KÖZÖS FOOTER (kívül a slide-on, mindig látszik) ═══ */
.sb-shell-foot{
    flex-shrink:0;
    padding:8px 10px 10px;
    border-top:1px solid var(--dark-border);
    display:flex;
    flex-direction:column;
    gap:2px;
    position:relative;
    z-index:5;
    background:var(--dark-bg2);
}
.sb-foot-rows{
    display:flex;flex-direction:column;gap:2px;
    margin-bottom:6px;
}
.sb-foot-row{
    display:flex;align-items:center;gap:11px;
    padding:9px 12px;border-radius:8px;
    color:var(--dark-text-mid);
    text-decoration:none;
    background:transparent;border:none;
    font-family:inherit;font-size:13px;
    cursor:pointer;width:100%;text-align:left;
}
.sb-foot-row:hover{background:rgba(255,255,255,.04);color:var(--dark-text)}
.sb-foot-row .sb-flag{font-size:18px;line-height:1;flex-shrink:0}
.sb-foot-row .sb-foot-ico{color:var(--dark-text-mid);width:16px;height:16px}
.sb-foot-row .sb-foot-label{flex:1}
.sb-foot-row .sb-foot-caret{width:14px;height:14px;opacity:.5}

/* Téma toggle */
.sb-toggle{
    width:32px;height:18px;
    background:var(--dark-border2);
    border-radius:9px;
    position:relative;
    transition:background .2s;
    flex-shrink:0;
}
.sb-toggle::after{
    content:'';position:absolute;top:2px;left:2px;
    width:14px;height:14px;
    background:white;border-radius:50%;
    transition:left .2s;
    box-shadow:0 1px 2px rgba(0,0,0,.4);
}
.sb-toggle.on{background:var(--teal)}
.sb-toggle.on::after{left:16px}

/* Avatar gomb */
.sb-shell-foot .sb-user{
    margin:0;
    padding:8px 10px;
    background:var(--dark-card);
    border:1px solid var(--dark-border);
    border-radius:10px;
    display:flex;align-items:center;gap:10px;
    cursor:pointer;color:inherit;font-family:inherit;
    width:100%;text-align:left;
}
.sb-shell-foot .sb-user:hover{background:var(--dark-bg3);border-color:var(--dark-border2)}
.sb-shell-foot .sb-user .sb-user-caret{transition:transform .25s ease}
.sb-panes.settings-open ~ .sb-shell-foot .sb-user .sb-user-caret,
.sb-shell-foot .sb-user[aria-expanded="true"] .sb-user-caret{transform:rotate(180deg)}

/* Kijelentkezés gomb (legalul) */
.sb-foot-logout{
    margin-top:8px;
    padding:10px 12px;border-radius:8px;
    background:rgba(239,68,68,.08);
    border:1px solid rgba(239,68,68,.25);
    color:var(--danger);
    font-family:inherit;font-size:13px;font-weight:600;
    cursor:pointer;
    display:flex;align-items:center;gap:11px;
    width:100%;text-align:left;
    text-decoration:none;
}
.sb-foot-logout:hover{
    background:rgba(239,68,68,.15);
    border-color:rgba(239,68,68,.4);
}
.sb-foot-logout svg{width:16px;height:16px;flex-shrink:0}

/* régi sb-user a sidebar gyökerén — már nem használjuk, de a CSS-szabály kompatibilitásáért
   megtartjuk üresen — semmi nem renderelődik */

/* ═══ RESPONSIVE ═══ */
@media (max-width:900px){
    .tb-search{display:none}
}
@media (max-width:768px){
    .tb-hamburger{display:flex}
    .sidebar{position:fixed;left:0;top:0;height:100vh;transform:translateX(-100%);transition:transform .2s ease;width:260px}
    html[data-sidebar-mobile="open"] .sidebar{transform:translateX(0);box-shadow:0 0 60px rgba(0,0,0,.5)}
    html[data-sidebar-mobile="open"]::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}
    .sb2{position:fixed;left:260px;top:0;height:100vh;z-index:49;transform:translateX(-100%);transition:transform .2s ease}
    html[data-sidebar-mobile="open"] .sb2{transform:translateX(0)}
    .content{padding:14px}
    .rbar{width:100%;height:56px;flex-direction:row;position:fixed;bottom:0;left:0;border-left:none;border-top:1px solid var(--dark-border);padding:0 8px;z-index:30}
    .rbar-spacer{display:none}
    .rbar-status,.rbar-settings{display:none}
    .shell-app{padding-bottom:56px}
}

/* ═══ SETTINGS DRILLDOWN — v0.1.74 ═══════════════════════════
   Vissza-gomb fixen alulra, scrollolható nav, aktív kijelölés
   ═════════════════════════════════════════════════════════ */

/* Régi felül lévő vissza-gombot eltüntetjük (HTML-ből is el van távolítva) */
.sb-settings-header{display:none !important;}

/* Settings panel = flex column, nav scrollol, vissza-gomb alul fix */
.sb-pane--settings{display:flex;flex-direction:column;}
.sb-pane--settings .sb-settings-nav{
    flex:1;
    overflow-y:auto;
    padding:8px 8px 6px;
    scrollbar-width:thin;
    scrollbar-gutter:stable;
    scrollbar-color:rgba(255,255,255,.10) transparent;
}
.sb-pane--settings .sb-settings-nav::-webkit-scrollbar{width:5px;}
.sb-pane--settings .sb-settings-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10);border-radius:3px;}

/* Vissza gomb alul — a sb-foot mintájára */
.sb-settings-back{
    display:flex;align-items:center;gap:8px;
    padding:11px 14px;margin:6px 8px 8px;
    border:1px solid var(--dark-border);
    background:transparent;color:var(--dark-text-mid);
    border-radius:8px;cursor:pointer;
    font-size:12.5px;font-weight:600;
    transition:all .15s;
    flex-shrink:0;
    font-family:inherit;
}
.sb-settings-back:hover{
    background:rgba(255,255,255,.04);
    color:var(--dark-text);
    border-color:var(--dark-border2);
}
.sb-settings-back svg{width:14px;height:14px;}

/* Aktív menüpont kijelölés a settings panelben */
.sb-pane--settings .sb-item.active:not(.sb-child){
    background:rgba(48,192,168,.10);
    color:var(--teal);
    border-left:2px solid var(--teal);
    padding-left:calc(12px - 2px);
}
.sb-pane--settings .sb-item.active svg{color:var(--teal);}

/* User-row: ha settings-open, mutassa a < jelet (kattintásra vissza főmenübe) */
.sb-panes.settings-open ~ .sb-shell-foot .sb-user-caret{transform:rotate(180deg);}

/* ═══ COLLAPSED SIDEBAR FIXES — settings drilldown ═══════════
   Ha a sidebar összecsukott állapotban van (64px), a settings
   pane elemeit is középre igazítjuk és elrejtjük a feliratokat.
   ═════════════════════════════════════════════════════════ */

/* Vissza-gomb: csak ikon, középre, kicsi négyzet */
html[data-sidebar="collapsed"] .sb-settings-back{
    justify-content:center;
    padding:10px;
    margin:6px 8px 8px;
    width:auto;
    min-width:0;
}
html[data-sidebar="collapsed"] .sb-settings-back > span{display:none;}

/* Csoport-feliratok elrejtése (Fiók / Cég / Pénzügyek / Rendszer) */
html[data-sidebar="collapsed"] .sb-pane--settings .sb-group-lbl{display:none;}

/* Aktív menüpont: NE legyen border-left + extra padding, csak háttér + ikon teal */
html[data-sidebar="collapsed"] .sb-pane--settings .sb-item.active{
    border-left:none;
    padding-left:10px;
    border-radius:8px;
    margin:2px 6px;
}

/* Settings nav padding csökkentése collapsedben — ne lógjon az ikon */
html[data-sidebar="collapsed"] .sb-pane--settings .sb-settings-nav{
    padding:6px 0;
}
html[data-sidebar="collapsed"] .sb-pane--settings .sb-item{
    margin:2px 6px;
}

/* ═══ SETTINGS PANEL — magas specificitású felülírások ═══════════
   A főpanel .sb-item.active::before lime sávja felülírja a settings
   beli kijelölést — ide rakunk override-okat a teal kijelöléshez.
   ═════════════════════════════════════════════════════════════ */

/* A settings panelben a lime ::before sávot teal-re cseréljük */
.sb-pane--settings .sb-item.active:not(.sb-group-row)::before{
    background:var(--teal) !important;
    box-shadow:0 0 8px var(--teal),0 0 3px var(--teal) !important;
}
.sb-pane--settings .sb-item.active:not(.sb-group-row){
    background:linear-gradient(90deg,rgba(48,192,168,.15),rgba(48,192,168,.04)),rgba(0,0,0,.20) !important;
    color:var(--teal) !important;
}
.sb-pane--settings .sb-item.active:not(.sb-group-row) svg{color:var(--teal) !important;}

/* Collapsed: a ::before sávot is rejtjük, csak háttér + teal ikon marad */
html[data-sidebar="collapsed"] .sb-pane--settings .sb-item.active:not(.sb-group-row)::before{
    display:none !important;
}
html[data-sidebar="collapsed"] .sb-pane--settings .sb-item.active:not(.sb-group-row){
    padding-left:10px !important;
    padding-right:10px !important;
    border-radius:8px !important;
    margin:2px 6px !important;
    justify-content:center !important;
}

/* Csoport-feliratok és vissza-gomb felirat is biztosan rejtve collapsedben */
html[data-sidebar="collapsed"] .sb-pane--settings .sb-group-lbl{display:none !important;}
html[data-sidebar="collapsed"] .sb-settings-back > span{display:none !important;}
html[data-sidebar="collapsed"] .sb-settings-back{
    justify-content:center !important;
    padding:10px !important;
}

/* Settings-oldal jelzés a profil-gombon (zöld pötty az avatar sarkán) */
.sb-avatar{position:relative;}
.sb-avatar-dot{
    position:absolute;top:-2px;right:-2px;width:10px;height:10px;
    border-radius:50%;background:var(--lime);
    border:2px solid var(--dark-bg);
    box-shadow:0 0 6px rgba(168,240,120,.6);
}
.sb-user.is-on-settings{
    border-color:rgba(48,192,168,.30) !important;
}

/* Első renderelésnél ne legyen átcsúszás-animáció — csak interakció után */
.sb-panes:not(.is-ready) .sb-pane{transition:none !important;}

/* ═══ Settings panel: a kijelölés a főmenüvel egyforma legyen (lime) ═══ */
/* Eltávolítjuk a korábbi teal felülírásokat — a főpanel .sb-item.active
   szabálya érvényesül így már (lime ::before sáv + lime szín) */
.sb-pane--settings .sb-item.active:not(.sb-group-row)::before{
    background:var(--lime) !important;
    box-shadow:0 0 10px var(--lime),0 0 4px var(--lime) !important;
}
.sb-pane--settings .sb-item.active:not(.sb-group-row){
    background:linear-gradient(90deg,rgba(168,240,120,.10),rgba(48,192,168,.04)),rgba(0,0,0,.25) !important;
    color:var(--lime) !important;
}
.sb-pane--settings .sb-item.active:not(.sb-group-row) svg{color:var(--lime) !important;}

/* Veszélyes zóna menüpont — piros tinta a settings panelben */
.sb-pane--settings .sb-item-danger{color:#fca5a5;}
.sb-pane--settings .sb-item-danger:hover:not(.disabled){
    background:rgba(220,38,38,.08) !important;
    color:#fecaca !important;
}
.sb-pane--settings .sb-item-danger:hover:not(.disabled) svg{color:#fca5a5 !important;}
.sb-pane--settings .sb-item-danger.active{
    color:#fca5a5 !important;
    background:rgba(220,38,38,.10) !important;
}
.sb-pane--settings .sb-item-danger.active::before{
    background:#dc2626 !important;
    box-shadow:0 0 8px #dc2626,0 0 3px #dc2626 !important;
}

/* Settings nav: instant scroll, ne legyen smooth-scroll átmenet */
.sb-pane--settings .sb-settings-nav{scroll-behavior:auto !important;}

/* ═══ SETTINGS PANEL — aktív menüpont kompakt pill ═══════════════
   Korábban: a ::before sáv és háttér a sidebar bal-széléig terjedt,
   miközben a tartalom (ikon+szöveg) 38px paddinggel jobbra esett —
   emiatt a kijelölés "kilógott" balra.
   Megoldás: az aktív child item kap margin-t kétoldalt + border-radius-ot,
   így a háttér és a bal-csík az item dobozán belül marad.
   ════════════════════════════════════════════════════════════════ */
.sb-pane--settings .sb-children .sb-item.sb-child.active:not(.sb-group-row){
    /* margin/padding-eltolás eltávolítva — a többi sor pozícióját ne módosítsa */
    margin-left:0;
    margin-right:0;
    border-radius:10px;
    /* padding-left marad alapból 38px (sb-child) */
}
.sb-pane--settings .sb-children .sb-item.sb-child.active:not(.sb-group-row)::before{
    border-radius:3px;
    top:8px;
    bottom:8px;
}

/* ═══ RBAR — nyelv + téma gombok (alulról áthelyezve) ═══ */
.rbar-divider{width:24px;height:1px;background:rgba(255,255,255,.10);margin:6px auto;flex-shrink:0;}
.rbar-flag{font-size:18px;line-height:1;display:block;}
.rbar-btn.rbar-lang{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;}
.rbar-btn.rbar-theme .rbar-theme-moon{display:none;}
html[data-theme="dark"] .rbar-btn.rbar-theme .rbar-theme-sun{display:none;}
html[data-theme="dark"] .rbar-btn.rbar-theme .rbar-theme-moon{display:block;}

/* RBAR collapsed-mobile esetén ne tűnjön el a nyelv/téma */
@media(max-width:880px){
    .rbar-divider{display:none;}
}

/* RBAR popover — Nyelv lista */
.lang-list{display:flex;flex-direction:column;gap:2px;padding:8px;}
.lang-row{display:flex;align-items:center;gap:11px;padding:9px 12px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:var(--dark-text-mid);font-family:inherit;font-size:13.5px;text-align:left;width:100%;transition:all .12s;}
.lang-row:hover{background:rgba(48,192,168,.08);color:var(--lime);border-color:rgba(48,192,168,.20);}
.lang-row.on{background:rgba(48,192,168,.12);color:var(--lime);}
.lang-flag{font-size:18px;line-height:1;flex-shrink:0;}
.lang-label{flex:1;font-weight:600;}
.lang-check{color:var(--lime);flex-shrink:0;}

/* ═══ ÚJ: sb-system (a "Beállítások" → "Rendszer" gomb a sidebar alján) ═══ */
.sb-system{
    width:calc(100% - 24px);
    margin:0 12px 8px;
    padding:11px 14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    color:var(--dark-text-mid);
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:11px;
    font-size:13.5px;
    font-weight:600;
    transition:all .15s;
    font-family:inherit;
    text-align:left;
}
.sb-system:hover{
    background:rgba(48,192,168,.10);
    color:var(--lime);
    border-color:rgba(48,192,168,.25);
}
.sb-system.is-active{
    background:rgba(48,192,168,.14);
    color:var(--lime);
    border-color:rgba(48,192,168,.30);
}
.sb-system-ico{display:flex;align-items:center;flex-shrink:0;}
.sb-system-ico .i{width:18px;height:18px;}
.sb-system-label{flex:1;}
.sb-system-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 6px var(--lime);flex-shrink:0;}
.sb-system-caret{flex-shrink:0;opacity:.6;}

/* Collapsed sidebar */
html[data-sidebar="collapsed"] .sb-system{
    width:auto;margin:0 8px 8px;padding:10px;justify-content:center;
}
html[data-sidebar="collapsed"] .sb-system-label,
html[data-sidebar="collapsed"] .sb-system-caret{display:none;}

/* ═══ ÚJ: sb-pane-head (vissza-gomb fent a Rendszer panelben) ═══ */
.sb-pane-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 8px 12px 8px;
    border-bottom:1px solid rgba(255,255,255,.06);
    flex-shrink:0;
}
.sb-pane-back{
    width:32px;height:32px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    color:var(--dark-text-mid);
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    transition:all .15s;
}
.sb-pane-back:hover{
    background:var(--lime);
    color:var(--dark-bg);
    border-color:var(--lime);
}
.sb-pane-title{
    font-family:Sora,sans-serif;
    font-size:14.5px;
    font-weight:800;
    color:#fff;
    letter-spacing:-.01em;
    flex:1;
}

/* Régi sb-settings-back rejtve (most már a sb-pane-head-ben van) */
.sb-settings-back{display:none !important;}

/* ═══ ÚJ: rbar profil-gomb avatar ═══ */
.rbar-btn.rbar-profile{padding:0;}
.rbar-avatar{
    width:30px;height:30px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--c4,#3FC0A8),var(--c5,#2E9FC0));
    color:#fff;
    font-weight:800;
    font-size:11.5px;
    display:flex;align-items:center;justify-content:center;
    letter-spacing:.02em;
}

/* ═══ ÚJ: profil popover tartalma ═══ */
.rp-user{
    display:flex;align-items:center;gap:12px;
    padding:18px 18px 16px;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.rp-user-avatar{
    width:42px;height:42px;
    border-radius:50%;
    background:linear-gradient(135deg,#3FC0A8,#2E9FC0);
    color:#fff;font-weight:800;font-size:14px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
.rp-user-info{min-width:0;flex:1;}
.rp-user-name{font-size:14px;font-weight:700;color:#fff;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rp-user-role{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-weight:700;}

.rp-tabs{display:flex;flex-direction:column;padding:8px;}
.rp-tab{
    display:flex;align-items:center;gap:11px;
    padding:9px 12px;
    background:transparent;border:1px solid transparent;border-radius:8px;
    color:var(--dark-text-mid);
    font-family:inherit;font-size:13.5px;
    text-decoration:none;
    transition:all .12s;
}
.rp-tab:hover{
    background:rgba(48,192,168,.08);
    color:var(--lime);
    border-color:rgba(48,192,168,.20);
}
.rp-tab .i:first-child{flex-shrink:0;width:18px;height:18px;opacity:.85;}
.rp-tab span{flex:1;font-weight:500;}
.rp-tab-caret{flex-shrink:0;opacity:.4;}
.rp-tab.danger{color:#fca5a5;}
.rp-tab.danger:hover{background:rgba(239,68,68,.10);color:#ef4444;border-color:rgba(239,68,68,.25);}

.rp-logout{
    display:flex;align-items:center;gap:11px;
    margin:8px;padding:11px 14px;
    background:rgba(239,68,68,.08);
    border:1px solid rgba(239,68,68,.20);
    border-radius:9px;
    color:#fca5a5;
    font-family:inherit;font-size:13.5px;font-weight:700;
    text-decoration:none;
    transition:all .15s;
}
.rp-logout:hover{
    background:rgba(239,68,68,.15);
    color:#fff;
    border-color:rgba(239,68,68,.40);
}

/* ═══ Gyorsjegyzetek — szabadjegyzet textarea ═══ */
/* A panel flex-column lesz, a textarea kitölti a maradék teret a fejléc alatt. */
.rbar-panel:has(.rp-notes-area){
    display:flex !important;
    flex-direction:column;
    overflow:hidden !important;
}
.rbar-panel:has(.rp-notes-area) .rp-title{
    flex-shrink:0;
}
.rp-notes-area{
    width:100%;
    flex:1;
    min-height:0;
    height:auto;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    color:var(--dark-text,#e7e9eb);
    font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
    font-size:13px;
    line-height:1.65;
    padding:14px 16px;
    border-radius:10px;
    resize:none;
    outline:none;
    box-sizing:border-box;
    transition:background .15s,border-color .15s;
    margin-top:10px;
}
.rp-notes-area:focus{
    background:rgba(255,255,255,.05);
    border-color:rgba(48,192,168,.4);
}
.rp-notes-area::placeholder{color:rgba(255,255,255,.30);}
.rp-notes-status{
    font-size:10.5px;
    font-weight:600;
    color:rgba(255,255,255,.40);
    margin-left:8px;
    flex:1;
    letter-spacing:.02em;
    transition:color .2s;
}
.rp-notes-status.is-dirty{color:#fbbf24;}
.rp-notes-status.is-saving{color:rgba(255,255,255,.55);}
.rp-notes-status.is-saved{color:#a8f078;}
.rp-notes-status.is-err{color:#fca5a5;}
.rp-notes-status.is-loading{color:rgba(255,255,255,.45);}

/* ═══ RBAR PANEL — mindig sötét, mint a sidebar (mindkét témában) ═══ */
.rbar-panel{
    background:var(--dark-bg, #0d1f1a) !important;
    border-color:rgba(255,255,255,.10) !important;
    color:var(--dark-text, #e7e9eb) !important;
    box-shadow:-12px 0 40px rgba(0,0,0,.45) !important;
}
.rbar-panel .rp-title{
    color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.07);
    padding-bottom:12px;
    margin-bottom:0;
}
.rbar-panel .rp-close{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
    color:rgba(255,255,255,.6);
    width:28px;height:28px;border-radius:7px;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.rbar-panel .rp-close:hover{
    background:rgba(255,255,255,.12);
    color:#fff;
}
/* Activity / Notifications / Calendar / Notes panels — sötét háttér */
.rbar-panel .activity-empty{color:rgba(255,255,255,.5);}
.rbar-panel .activity-empty-ico{opacity:.4;}
.rbar-panel .activity-day-lbl{color:rgba(255,255,255,.4);}
.rbar-panel .activity-item{border-color:rgba(255,255,255,.06);}
.rbar-panel .activity-txt{color:rgba(255,255,255,.85);}
.rbar-panel .activity-meta{color:rgba(255,255,255,.4);}
.rbar-panel .notif-item{border-color:rgba(255,255,255,.06);background:transparent;}
.rbar-panel .notif-item:hover{background:rgba(255,255,255,.04);}
.rbar-panel .notif-title{color:#fff;}
.rbar-panel .notif-msg{color:rgba(255,255,255,.6);}
.rbar-panel .notif-meta{color:rgba(255,255,255,.4);}

/* Light témában is sötét — mindig */
html[data-theme="light"] .rbar-panel{
    background:#0d1f1a !important;
    color:#e7e9eb !important;
    border-color:rgba(255,255,255,.10) !important;
}

/* ═══ Rendszer-panel csillag-toggle (sb-fav-toggle) ═══ */
.sb-child-row{
    display:flex;align-items:center;gap:0;
    position:relative;
}
.sb-child-row > .sb-item.sb-child{
    flex:1 1 auto;
    min-width:0;
    margin-right:0;
}
.sb-fav-toggle{
    flex:0 0 30px;
    width:30px;height:30px;
    margin-right:6px;
    background:transparent;
    border:none;
    color:rgba(255,255,255,.20);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:6px;
    transition:all .15s;
}
.sb-fav-toggle:hover{
    background:rgba(168,240,120,.10);
    color:var(--lime,#a8f078);
}
.sb-fav-toggle.is-on{
    color:var(--lime,#a8f078);
}
.sb-fav-toggle.is-on:hover{
    background:rgba(239,68,68,.10);
    color:#fca5a5;
}
.sb-fav-toggle svg,
.sb-fav-toggle .i,
.sb-fav-toggle use{
    pointer-events:none;
    width:14px;
    height:14px;
}

/* Drag visual feedback — fő-sidebar kedvencek */
.sb-fav-row.drop-target{
    border-top:2px solid var(--lime,#a8f078) !important;
}

/* Üres kedvencek szekció: nincs hely-foglalás */
.sb-fav-section.is-empty{padding:0;margin:0;}
.sb-fav-section.is-empty .sb-fav-list{padding:0;margin:0;min-height:0;}

/* Vissza-gomb SVG ne nyelje el a click-et */
.sb-pane-back svg,
.sb-pane-back .i,
.sb-pane-back use{pointer-events:none;}

/* ═══ FORCE: child sorok mindig 38px padding-leftnél kezdődnek (aktív állapotban is) ═══ */
.sb-pane--settings .sb-children .sb-item.sb-child,
.sb-pane--settings .sb-children .sb-item.sb-child.active{
    padding-left:38px !important;
}

/* ═══ Csillag-toggle szín — kontrasztosabb mind a két témában ═══ */
.sb-fav-toggle{color:rgba(255,255,255,.45) !important;}
.sb-fav-toggle:hover{color:#a8f078 !important;background:rgba(168,240,120,.12) !important;}
.sb-fav-toggle.is-on{color:#a8f078 !important;}
.sb-fav-toggle.is-on:hover{color:#fca5a5 !important;background:rgba(239,68,68,.12) !important;}
