/* Hypnos2 modern admin panel – scoped to admin mode */
body.hypnos-admin-mode {
    background-attachment: fixed;
}
body.hypnos-admin-mode #content > .container {
    width: 96%;
    max-width: 1680px;
    min-width: 1120px !important;
}
body.hypnos-admin-mode #wrapper > .row > .col-xs-9 {
    width: 100%;
    float: none;
    padding: 0;
}
body.hypnos-admin-mode #wrapper > .row > .col-xs-3 {
    display: none !important;
}
body.hypnos-admin-mode .content-area,
body.hypnos-admin-mode .news-area {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}
body.hypnos-admin-mode .mt2cms2-c-l,
body.hypnos-admin-mode .mt2cms2-c-l #page_content,
body.hypnos-admin-mode .mt2cms2-c-l #page_content > .bd-c {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
body.hypnos-admin-mode .mt2cms2-c-l > .page-hd {
    display: none;
}

.hypnos-admin-shell {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
    min-height: 760px;
    overflow: hidden;
    border: 1px solid rgba(239, 200, 115, .18);
    border-radius: 18px;
    background: rgba(7, 12, 19, .94);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .42);
    color: #dce6ef;
}
.hypnos-admin-sidebar {
    position: relative;
    padding: 24px 16px;
    background:
        linear-gradient(180deg, rgba(21, 31, 43, .97), rgba(8, 14, 22, .98)),
        radial-gradient(circle at 20% 0%, rgba(229, 167, 70, .16), transparent 40%);
    border-right: 1px solid rgba(239, 200, 115, .13);
}
.hypnos-admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 8px 24px;
    padding-bottom: 19px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.hypnos-admin-brand-mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    color: #1a1308;
    font-size: 21px;
    background: linear-gradient(135deg, #ffe5a2, #c88731);
    box-shadow: 0 8px 25px rgba(205, 135, 42, .24);
}
.hypnos-admin-brand strong {
    display: block;
    color: #fff3d3;
    font-size: 16px;
    letter-spacing: .4px;
}
.hypnos-admin-brand span {
    display: block;
    margin-top: 3px;
    color: #8796a7;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.6px;
}
.hypnos-admin-nav-group {
    margin: 21px 0;
}
.hypnos-admin-nav-title {
    margin: 0 12px 8px;
    color: #6f7f91;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.7px;
}
.hypnos-admin-nav a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    margin: 3px 0;
    padding: 9px 12px;
    border-radius: 10px;
    color: #b8c4d0;
    font-size: 13px;
    text-decoration: none;
    transition: .18s ease;
}
.hypnos-admin-nav a i {
    width: 20px;
    color: #7f91a5;
    text-align: center;
    font-size: 14px;
}
.hypnos-admin-nav a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .055);
    transform: translateX(2px);
}
.hypnos-admin-nav a.is-active {
    color: #fff0c9;
    background: linear-gradient(90deg, rgba(205, 139, 50, .25), rgba(205, 139, 50, .06));
    box-shadow: inset 3px 0 #d89b42;
}
.hypnos-admin-nav a.is-active i {
    color: #efbd68;
}
.hypnos-admin-sidebar-footer {
    margin: 28px 8px 0;
    padding: 15px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(255, 255, 255, .055);
}
.hypnos-admin-sidebar-footer strong,
.hypnos-admin-sidebar-footer span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hypnos-admin-sidebar-footer strong { color: #ecf2f7; font-size: 13px; }
.hypnos-admin-sidebar-footer span { margin-top: 4px; color: #8392a3; font-size: 11px; }

.hypnos-admin-main {
    min-width: 0;
    padding: 0 25px 30px;
    background:
        radial-gradient(circle at 88% -8%, rgba(39, 107, 143, .17), transparent 34%),
        linear-gradient(180deg, rgba(15, 23, 33, .97), rgba(9, 15, 23, .98));
}
.hypnos-admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 84px;
    margin: 0 -25px 25px;
    padding: 0 27px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    background: rgba(10, 16, 24, .48);
    backdrop-filter: blur(10px);
}
.hypnos-admin-title small {
    display: block;
    margin-bottom: 4px;
    color: #8b99a8;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.6px;
}
.hypnos-admin-title h1 {
    margin: 0;
    color: #f4f7fa;
    font-family: inherit;
    font-size: 24px;
    font-weight: 600;
}
.hypnos-admin-top-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}
.hypnos-admin-top-actions a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 9px;
    color: #bdc8d3;
    background: rgba(255, 255, 255, .035);
    font-size: 12px;
    text-decoration: none;
}
.hypnos-admin-top-actions a:hover { color: #fff; border-color: rgba(225, 170, 82, .34); }

.hypnos-admin-grid { display: grid; gap: 16px; }
.hypnos-admin-grid.metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hypnos-admin-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hypnos-admin-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hypnos-admin-card {
    position: relative;
    min-width: 0;
    padding: 19px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(25, 36, 49, .78), rgba(14, 22, 32, .83));
    box-shadow: 0 13px 32px rgba(0, 0, 0, .18);
}
.hypnos-admin-card + .hypnos-admin-card { }
.hypnos-admin-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.hypnos-admin-card-header h2,
.hypnos-admin-card-header h3 {
    margin: 0;
    color: #f3e5c6;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
}
.hypnos-admin-card-header p { margin: 4px 0 0; color: #7f8f9f; font-size: 11px; }
.hypnos-admin-card-header a { color: #d8a95d; font-size: 11px; }
.hypnos-admin-metric {
    min-height: 124px;
    overflow: hidden;
}
.hypnos-admin-metric:after {
    content: '';
    position: absolute;
    right: -26px;
    bottom: -40px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: rgba(213, 159, 72, .08);
}
.hypnos-admin-metric-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 13px;
    border-radius: 11px;
    color: #efc678;
    background: rgba(215, 157, 65, .13);
}
.hypnos-admin-metric strong { display: block; color: #fff; font-size: 26px; line-height: 1; }
.hypnos-admin-metric span { display: block; margin-top: 8px; color: #8998a7; font-size: 11px; }

.hypnos-admin-table-wrap { overflow-x: auto; border-radius: 11px; }
.hypnos-admin-shell table,
.hypnos-admin-shell .table {
    width: 100%;
    margin-bottom: 0;
    color: #cbd5df;
    background: transparent;
    border-collapse: separate;
    border-spacing: 0;
}
.hypnos-admin-shell table thead th,
.hypnos-admin-shell .table thead th,
.hypnos-admin-shell .thead-inverse th {
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    color: #718296;
    background: rgba(2, 7, 12, .3);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.hypnos-admin-shell table tbody td,
.hypnos-admin-shell table tbody th,
.hypnos-admin-shell .table tbody td {
    padding: 12px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    vertical-align: middle;
    color: #becad5;
    background: transparent !important;
}
.hypnos-admin-shell table tbody tr:hover td { background: rgba(255, 255, 255, .027) !important; }
.hypnos-admin-shell table a { color: #e6b962; }
.hypnos-admin-muted { color: #7e8d9c !important; }
.hypnos-admin-positive { color: #70d8a0 !important; }
.hypnos-admin-negative { color: #ef7c82 !important; }
.hypnos-admin-warning { color: #eac16c !important; }
.hypnos-admin-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #b9c6d2;
    background: rgba(255, 255, 255, .07);
    font-size: 10px;
    font-weight: 600;
}
.hypnos-admin-badge.ok { color: #8ee1b0; background: rgba(53, 170, 105, .12); }
.hypnos-admin-badge.bad { color: #ff9a9e; background: rgba(205, 66, 73, .13); }
.hypnos-admin-badge.gold { color: #f2cc82; background: rgba(207, 151, 55, .13); }

.hypnos-admin-shell .form-control,
.hypnos-admin-shell input[type=text],
.hypnos-admin-shell input[type=number],
.hypnos-admin-shell input[type=email],
.hypnos-admin-shell input[type=password],
.hypnos-admin-shell select,
.hypnos-admin-shell textarea {
    height: 39px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 9px;
    color: #e2eaf1;
    background: rgba(5, 10, 16, .58);
    box-shadow: none;
}
.hypnos-admin-shell textarea { height: auto; }
.hypnos-admin-shell .form-control:focus,
.hypnos-admin-shell input:focus,
.hypnos-admin-shell select:focus,
.hypnos-admin-shell textarea:focus {
    border-color: rgba(218, 165, 78, .56);
    box-shadow: 0 0 0 3px rgba(218, 165, 78, .08);
}
.hypnos-admin-shell .btn {
    border: 0;
    border-radius: 8px;
    font-size: 12px;
    transition: .15s ease;
}
.hypnos-admin-shell .btn-primary,
.hypnos-admin-shell .btn-info {
    color: #1b1308;
    background: linear-gradient(135deg, #f0ca80, #c98b36);
}
.hypnos-admin-shell .btn-primary:hover,
.hypnos-admin-shell .btn-info:hover { filter: brightness(1.08); transform: translateY(-1px); }
.hypnos-admin-shell .btn-secondary,
.hypnos-admin-shell .btn-default { color: #d0dae4; background: rgba(255, 255, 255, .08); }
.hypnos-admin-shell .btn-danger { color: #fff; background: #b94a52; }
.hypnos-admin-searchbar {
    display: flex;
    gap: 9px;
    align-items: center;
    padding: 14px;
    margin-bottom: 16px;
}
.hypnos-admin-searchbar .form-control { flex: 1; }
.hypnos-admin-searchbar .btn { min-width: 120px; height: 39px; }

.hypnos-admin-list { margin: 0; padding: 0; list-style: none; }
.hypnos-admin-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
}
.hypnos-admin-list li:last-child { border-bottom: 0; }
.hypnos-admin-list-main { min-width: 0; }
.hypnos-admin-list-main strong { display: block; color: #dbe4ec; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hypnos-admin-list-main span { display: block; margin-top: 3px; color: #748495; font-size: 10px; }

.hypnos-admin-profile {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.hypnos-admin-character-avatar {
    overflow: hidden;
    border: 1px solid rgba(232, 181, 94, .25);
    border-radius: 14px;
    background: #0b1119;
}
.hypnos-admin-character-avatar img { display: block; width: 100%; height: 145px; object-fit: cover; }
.hypnos-admin-character-avatar div { padding: 9px; color: #d5a95f; font-size: 10px; text-align: center; }
.hypnos-admin-profile h2 { margin: 0 0 5px; color: #fff0cf; font-size: 25px; font-family: inherit; }
.hypnos-admin-profile p { color: #8191a2; }
.hypnos-admin-statline { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.hypnos-admin-statline span { padding: 6px 9px; border-radius: 8px; color: #b9c7d4; background: rgba(255,255,255,.055); font-size: 10px; }
.hypnos-admin-kv {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
}
.hypnos-admin-kv div { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.055); }
.hypnos-admin-kv span { display: block; color: #728294; font-size: 9px; text-transform: uppercase; letter-spacing: .8px; }
.hypnos-admin-kv strong { display: block; margin-top: 4px; color: #dce5ed; font-size: 12px; overflow-wrap: anywhere; }

.hypnos-admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 18px 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.hypnos-admin-tab {
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    color: #8e9dac;
    background: rgba(255,255,255,.035);
    cursor: pointer;
    font-size: 11px;
}
.hypnos-admin-tab.is-active { color: #f4d596; border-color: rgba(225,175,88,.28); background: rgba(212,151,54,.1); }
.hypnos-admin-tab-panel { display: none; }
.hypnos-admin-tab-panel.is-active { display: block; }

.hypnos-admin-inventory-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.hypnos-admin-inventory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.hypnos-admin-item {
    position: relative;
    min-height: 130px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 11px;
    background: rgba(4, 9, 15, .48);
}
.hypnos-admin-item:hover { border-color: rgba(218,164,78,.3); background: rgba(10,17,25,.7); }
.hypnos-admin-item-head { display: flex; align-items: flex-start; gap: 9px; }
.hypnos-admin-item-icon {
    display: grid;
    flex: 0 0 35px;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 9px;
    color: #dcae62;
    background: rgba(205,147,54,.12);
}
.hypnos-admin-item-name { min-width: 0; }
.hypnos-admin-item-name strong { display: block; color: #e7edf2; font-size: 11px; line-height: 1.35; }
.hypnos-admin-item-name span { display: block; margin-top: 3px; color: #6f8091; font-size: 9px; }
.hypnos-admin-item-meta { margin-top: 10px; color: #8898a8; font-size: 9px; line-height: 1.55; }
.hypnos-admin-item-bonuses { margin: 9px 0 0; padding: 8px 0 0; border-top: 1px solid rgba(255,255,255,.055); list-style: none; }
.hypnos-admin-item-bonuses li { padding: 1px 0; color: #b8cf9c; font-size: 9px; line-height: 1.35; }
.hypnos-admin-inventory-group { margin-top: 18px; }
.hypnos-admin-inventory-group > h3 { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; color: #e8c982; font-family: inherit; font-size: 13px; }
.hypnos-admin-inventory-group > h3 span { color: #718193; font-size: 9px; }

.hypnos-admin-edit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hypnos-admin-field { min-width: 0; }
.hypnos-admin-field label { display: block; margin-bottom: 5px; color: #8090a1; font-size: 9px; text-transform: uppercase; letter-spacing: .7px; }
.hypnos-admin-field.is-wide { grid-column: 1 / -1; }
.hypnos-admin-note {
    padding: 12px 14px;
    border-left: 3px solid #d49a41;
    border-radius: 0 9px 9px 0;
    color: #abb8c4;
    background: rgba(212,154,65,.08);
    font-size: 11px;
    line-height: 1.55;
}
.hypnos-admin-empty { padding: 32px; color: #748394; text-align: center; }
.hypnos-admin-empty i { display: block; margin-bottom: 9px; color: #9b7a42; font-size: 25px; }

.hypnos-admin-shell .list-group { border: 0; border-radius: 12px; overflow: hidden; }
.hypnos-admin-shell .list-group-item {
    border-color: rgba(255,255,255,.065);
    color: #c4ced8;
    background: rgba(255,255,255,.025);
}
.hypnos-admin-shell .list-group-item.active { color: #f3d79d; background: rgba(206,148,54,.12); }
.hypnos-admin-shell .list-group-item-heading { color: #e0e7ed; font-family: inherit; font-size: 14px; }
.hypnos-admin-shell .alert { border: 0; border-radius: 10px; }
.hypnos-admin-shell .pagination > li > a { color: #c3cdd7; border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.04); }
.hypnos-admin-shell .pagination > .active > a { color: #1b1307; background: #d8a551; border-color: #d8a551; }

@media (max-width: 1300px) {
    .hypnos-admin-shell { grid-template-columns: 225px minmax(0, 1fr); }
    .hypnos-admin-grid.metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hypnos-admin-inventory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Legacy admin modules inherit the new shell without fixed Bootstrap widths. */
.hypnos-admin-shell .hypnos-admin-content > .container,
.hypnos-admin-shell .hypnos-admin-content .container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 0;
    padding-right: 0;
}
.hypnos-admin-shell .jumbotron {
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 12px;
    color: #c7d2dc;
    background: rgba(255,255,255,.03);
}
.hypnos-admin-shell hr { border-color: rgba(255,255,255,.07); }
.hypnos-admin-shell label { color: #95a5b5; font-size: 11px; font-weight: 500; }
.hypnos-admin-shell .modal-content { border-radius: 13px; }

/* AdminPanel v2: promóciós kódok és jegykezelés */
.hypnos-admin-nav-count { float:right; min-width:20px; padding:1px 6px; border-radius:999px; color:#17100a; background:#e3b765; font-size:9px; text-align:center; }
.hypnos-admin-example { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.hypnos-admin-example:last-child { border-bottom:0; }
.hypnos-admin-example strong { display:block; color:#efd08f; font-size:12px; }
.hypnos-admin-example span { display:block; margin-top:4px; color:#8292a1; font-size:10px; line-height:1.5; }
.hypnos-admin-table td small { display:block; margin-top:3px; color:#718193; font-size:9px; }

.hypnos-admin-ticket-layout { display:grid; grid-template-columns:360px minmax(0,1fr); gap:16px; align-items:start; }
.hypnos-admin-ticket-sidebar { padding:15px; max-height:calc(100vh - 130px); overflow:auto; }
.hypnos-admin-ticket-filter { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:12px; }
.hypnos-admin-ticket-list { display:flex; flex-direction:column; gap:7px; }
.hypnos-admin-ticket-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px; border:1px solid rgba(255,255,255,.07); border-radius:9px; color:#c6d1db; background:rgba(4,9,15,.45); }
.hypnos-admin-ticket-item:hover,
.hypnos-admin-ticket-item.is-active { color:#eef3f7; border-color:rgba(218,164,78,.35); background:rgba(197,135,47,.09); text-decoration:none; }
.hypnos-admin-ticket-item strong { display:block; color:#e5c889; font-size:10px; }
.hypnos-admin-ticket-item span { display:block; margin-top:4px; color:#718193; font-size:9px; }
.hypnos-admin-ticket-head { display:flex; justify-content:space-between; gap:15px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.07); }
.hypnos-admin-ticket-head small,
.hypnos-admin-ticket-head span { color:#778797; font-size:9px; }
.hypnos-admin-ticket-head h2 { margin:4px 0; color:#f0d398; font-family:inherit; }
.hypnos-admin-ticket-messages { display:flex; flex-direction:column; gap:10px; padding:16px 0; }
.hypnos-admin-ticket-message { max-width:82%; padding:12px 14px; border:1px solid rgba(255,255,255,.07); border-radius:10px; background:rgba(5,10,16,.55); }
.hypnos-admin-ticket-message.user { align-self:flex-start; }
.hypnos-admin-ticket-message.admin { align-self:flex-end; border-color:rgba(218,164,78,.22); background:rgba(186,126,42,.09); }
.hypnos-admin-ticket-message header { display:flex; justify-content:space-between; gap:16px; margin-bottom:7px; }
.hypnos-admin-ticket-message header strong { color:#e7cb91; font-size:10px; }
.hypnos-admin-ticket-message header small { color:#687888; font-size:8px; }
.hypnos-admin-ticket-message p { margin:0; color:#b8c4ce; line-height:1.65; }
.hypnos-admin-ticket-reply textarea { height:auto; margin-bottom:9px; }
.hypnos-admin-ticket-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.07); }

@media (max-width:1300px) {
    .hypnos-admin-ticket-layout { grid-template-columns:300px minmax(0,1fr); }
}

/* AdminPanel v3: részletes szerepkörök és jogosultságok */
.hypnos-permission-intro { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.hypnos-permission-intro h2 { margin:0 0 8px; color:#efd08f; font-family:inherit; }
.hypnos-permission-intro p { max-width:760px; margin:0; color:#8d9cab; line-height:1.65; }
.hypnos-permission-warning { min-width:340px; max-width:440px; padding:13px 15px; border:1px solid rgba(226,171,82,.24); border-radius:10px; color:#c7d0d8; background:rgba(210,145,45,.08); }
.hypnos-permission-warning i { float:left; margin:3px 10px 20px 0; color:#e6b760; }
.hypnos-permission-warning strong,
.hypnos-permission-warning span { display:block; }
.hypnos-permission-warning strong { color:#f1d18f; font-size:11px; }
.hypnos-permission-warning span { margin-top:4px; color:#8796a4; font-size:10px; line-height:1.5; }
.hypnos-role-grid { display:grid; grid-template-columns:repeat(9,minmax(80px,1fr)); gap:8px; }
.hypnos-role-chip { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid rgba(255,255,255,.07); border-radius:9px; background:rgba(255,255,255,.025); }
.hypnos-role-chip strong { display:grid; place-items:center; width:25px; height:25px; border-radius:7px; color:#1a1207; background:#d8a551; }
.hypnos-role-chip span { color:#aab7c3; font-size:9px; line-height:1.3; }
.hypnos-role-chip.is-danger { border-color:rgba(218,92,92,.17); }
.hypnos-role-chip.is-danger strong { color:#fff; background:#a84d4d; }
.hypnos-permission-form { display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.hypnos-permission-actions { display:flex; flex-wrap:wrap; gap:9px; }
.hypnos-permission-actions.bottom { justify-content:flex-end; padding-bottom:10px; }
.hypnos-permission-group { padding:0; overflow:hidden; }
.hypnos-permission-group .hypnos-admin-card-header { padding:16px 18px; margin:0; border-bottom:1px solid rgba(255,255,255,.065); }
.hypnos-permission-list { display:flex; flex-direction:column; }
.hypnos-permission-row { display:grid; grid-template-columns:minmax(0,1fr) 315px; gap:22px; align-items:center; padding:15px 18px; border-bottom:1px solid rgba(255,255,255,.055); }
.hypnos-permission-row:last-child { border-bottom:0; }
.hypnos-permission-row.is-sensitive { background:linear-gradient(90deg,rgba(161,67,67,.045),transparent 55%); }
.hypnos-permission-copy strong { display:block; color:#dfe6ec; font-size:11px; }
.hypnos-permission-copy span { display:block; margin-top:5px; color:#748493; font-size:10px; line-height:1.5; }
.hypnos-permission-select { display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; gap:10px; }
.hypnos-permission-select label { margin:0 !important; }
.hypnos-admin-welcome { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.hypnos-admin-welcome small { color:#708091; text-transform:uppercase; letter-spacing:1.3px; }
.hypnos-admin-welcome h2 { margin:5px 0 6px; color:#f0d195; font-family:inherit; }
.hypnos-admin-welcome h2 span { color:#758596; font-size:13px; font-weight:400; }
.hypnos-admin-welcome p { margin:0; color:#81909f; }
@media (max-width:1300px) {
    .hypnos-role-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .hypnos-permission-row { grid-template-columns:minmax(0,1fr) 280px; }
}
@media (max-width:800px) {
    .hypnos-permission-intro,
    .hypnos-admin-welcome { flex-direction:column; }
    .hypnos-permission-warning { min-width:0; max-width:none; width:100%; }
    .hypnos-role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hypnos-permission-row { grid-template-columns:1fr; }
    .hypnos-permission-select { grid-template-columns:1fr; }
}


/* Hypnos2 Web Inventory v4 */
.hypnos-web-inventory{color:#cbd6df}.hypnos-web-inventory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.hypnos-web-inventory-header h3{margin:0;color:#f1d49a;font-size:17px}.hypnos-web-inventory-header p{margin:5px 0 0;color:#7f91a2;font-size:11px;line-height:1.55}.hypnos-web-inventory-nav{display:flex;gap:7px;overflow-x:auto;padding:0 0 11px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.07)}.hypnos-web-inventory-nav button,.hypnos-web-subnav button,.hypnos-web-page-buttons button{flex:0 0 auto;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#8ea0b1;background:#0a121c;padding:8px 11px;font-size:10px;cursor:pointer}.hypnos-web-inventory-nav button i{margin-right:6px;color:#c99a48}.hypnos-web-inventory-nav button span{display:inline-block;min-width:17px;margin-left:5px;padding:1px 4px;border-radius:10px;background:#913d42;color:#fff}.hypnos-web-inventory-nav button.is-active,.hypnos-web-subnav button.is-active,.hypnos-web-page-buttons button.is-active{border-color:#c99847;color:#ffdf9f;background:linear-gradient(180deg,#3a2918,#21170f);box-shadow:0 0 0 1px rgba(201,152,71,.15)}.hypnos-web-inventory-panel,.hypnos-web-page,.hypnos-web-subpanel{display:none}.hypnos-web-inventory-panel.is-active,.hypnos-web-page.is-active,.hypnos-web-subpanel.is-active{display:block}.hypnos-web-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 13px}.hypnos-web-panel-title small{display:block;color:#b78a40;font-size:9px;letter-spacing:1.4px}.hypnos-web-panel-title h4{margin:3px 0 0;color:#ead8b6;font-size:16px}.hypnos-web-panel-title>span,.hypnos-web-panel-title p{color:#7f91a2;font-size:10px}.hypnos-web-page-buttons,.hypnos-web-subnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.hypnos-web-grid{position:relative;width:calc(var(--cols)*42px);height:calc(var(--rows)*42px);max-width:100%;margin:0 auto 16px;border:1px solid #6e5735;border-radius:7px;background-color:#0a1119;background-image:linear-gradient(rgba(190,151,87,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(190,151,87,.2) 1px,transparent 1px);background-size:42px 42px;box-shadow:inset 0 0 25px rgba(0,0,0,.55),0 10px 30px rgba(0,0,0,.2)}.hypnos-web-item{position:absolute;left:calc(var(--x)*42px + 2px);top:calc(var(--y)*42px + 2px);width:38px;height:calc(var(--h)*42px - 4px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(220,178,99,.22);border-radius:5px;background:linear-gradient(145deg,rgba(42,35,25,.72),rgba(8,13,19,.93));z-index:2;outline:0;cursor:help}.hypnos-web-item:hover,.hypnos-web-item:focus,.hypnos-web-item.is-open{border-color:#e1b35d;box-shadow:0 0 12px rgba(224,170,76,.35);z-index:50}.hypnos-web-item>img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}.hypnos-web-item>i{color:#b58b48}.hypnos-web-item-count{position:absolute;right:2px;bottom:0;color:#fff4ce;font-size:9px;text-shadow:1px 1px #000}.hypnos-web-item-tooltip{display:none;position:absolute;left:calc(100% + 8px);top:-6px;width:260px;padding:12px;border:1px solid #b6883f;border-radius:7px;background:rgba(4,8,12,.98);box-shadow:0 16px 35px rgba(0,0,0,.55);text-align:left;color:#cdd8e1;z-index:100}.hypnos-web-item:hover .hypnos-web-item-tooltip,.hypnos-web-item:focus .hypnos-web-item-tooltip,.hypnos-web-item.is-open .hypnos-web-item-tooltip{display:block}.hypnos-web-item-tooltip:before{content:'';position:absolute;left:-7px;top:17px;width:12px;height:12px;border-left:1px solid #b6883f;border-bottom:1px solid #b6883f;background:#060a0f;transform:rotate(45deg)}.hypnos-web-item-tooltip strong{display:block;color:#f2d59e;font-size:12px}.hypnos-web-item-tooltip small{display:block;margin:4px 0 8px;color:#718496;font-size:9px}.hypnos-web-item-tooltip p{margin:5px 0;color:#aab8c4;font-size:10px}.hypnos-web-item-tooltip ul{margin:7px 0 0;padding:7px 0 0 14px;border-top:1px solid rgba(255,255,255,.08);color:#bfe3a2;font-size:10px}.hypnos-web-item-action{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.hypnos-equipment-board{position:relative;width:430px;height:480px;max-width:100%;margin:0 auto 20px;border:1px solid #5b4930;border-radius:16px;background:radial-gradient(circle at 50% 45%,rgba(177,129,55,.15),transparent 27%),linear-gradient(180deg,#111c28,#080e15);box-shadow:inset 0 0 45px rgba(0,0,0,.45)}.hypnos-paperdoll{position:absolute;left:145px;top:75px;width:140px;height:320px;display:flex;align-items:center;justify-content:center;color:rgba(216,174,101,.12);font-size:230px;overflow:hidden}.hypnos-equipment-slot{position:absolute;display:flex;align-items:flex-end;justify-content:center;border:1px solid rgba(207,165,91,.3);border-radius:7px;background:rgba(4,9,14,.72);box-shadow:inset 0 0 12px rgba(0,0,0,.55)}.hypnos-equipment-slot>span{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;color:#6f8191;font-size:8px}.hypnos-web-item.equipment-item{--x:0;--y:0;--h:1;z-index:5}.hypnos-web-item.equipment-item .hypnos-web-item-tooltip{left:calc(100% + 8px)}.hypnos-trash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hypnos-trash-item{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#0b141e}.hypnos-trash-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:7px;background:#151d25}.hypnos-trash-icon img{max-width:48px;max-height:48px}.hypnos-trash-item strong{display:block;color:#efd39c}.hypnos-trash-item small{display:block;margin-top:3px;color:#728597;font-size:9px}.hypnos-trash-item ul{margin:6px 0 0;padding-left:14px;color:#aaca94;font-size:9px}.trash-title form{flex:0 0 auto}@media(max-width:760px){.hypnos-equipment-board{transform:scale(.78);transform-origin:top left;margin-bottom:-90px}.hypnos-trash-grid{grid-template-columns:1fr}.hypnos-trash-item{grid-template-columns:45px 1fr}.hypnos-trash-item form{grid-column:2}.hypnos-web-item-tooltip{left:auto;right:calc(100% + 8px)}.hypnos-web-item-tooltip:before{left:auto;right:-7px;transform:rotate(225deg)}}


/* Webes leltár v4.1 – percenkénti adatlekérési védelem */
.hypnos-inventory-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:210px}.hypnos-inventory-header-actions small{color:#718496;font-size:9px}.hypnos-inventory-refresh{min-width:190px;padding:8px 11px!important;border-color:rgba(210,161,76,.25)!important;color:#e9cf99!important;background:#111b25!important}.hypnos-inventory-refresh:not([disabled]):hover{border-color:#d5a34e!important;background:#2b2115!important}.hypnos-inventory-refresh[disabled]{opacity:.58;cursor:not-allowed}.hypnos-inventory-rate-note{display:flex;align-items:flex-start;gap:11px;margin:-2px 0 15px;padding:11px 13px;border:1px solid rgba(62,142,190,.2);border-radius:8px;background:rgba(38,111,157,.08)}.hypnos-inventory-rate-note>i{margin-top:2px;color:#62a9d1}.hypnos-inventory-rate-note strong,.hypnos-inventory-rate-note span{display:block}.hypnos-inventory-rate-note strong{color:#a9cee4;font-size:10px}.hypnos-inventory-rate-note span{margin-top:3px;color:#7f9cad;font-size:9px;line-height:1.5}@media(max-width:760px){.hypnos-web-inventory-header{flex-direction:column}.hypnos-inventory-header-actions{align-items:stretch;width:100%;min-width:0}.hypnos-inventory-refresh{width:100%}}
