/* HVSZ Hibakezelő H27 - v2 structural redesign
   Loaded after v2.css. Goal: stop legacy-CSS fighting and establish a consistent shell, ticket layout and form language. */

:root{
  --v2-sidebar-w:260px;
  --v2-shell-gap:24px;
  --v2-ticket-max:1500px;
  --v2-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --v2-bg:#ebe8df;
  --v2-bg-grid:rgba(51,65,85,.045);
  --v2-bg-accent:rgba(20,184,166,.10);
  --v2-bg-accent-2:rgba(132,204,22,.07);
  --v2-card:#fffdf8;
  --v2-card-2:#f5f2ea;
  --v2-elevated:#fffefa;
  --v2-control:#ffffff;
  --v2-control-2:#f3f0e8;
  --v2-text:#101820;
  --v2-heading:#0c1117;
  --v2-muted:#64707f;
  --v2-faint:#8792a1;
  --v2-border:rgba(15,23,42,.13);
  --v2-border-strong:rgba(15,23,42,.23);
  --v2-shadow:0 22px 60px rgba(20,24,31,.11), 0 1px 0 rgba(255,255,255,.70) inset;
  --v2-shadow-soft:0 14px 34px rgba(20,24,31,.08);
  --v2-accent:#00a88f;
  --v2-accent-2:#16c784;
  --v2-accent-blue:#13a8d8;
  --v2-danger:#dc2626;
  --v2-warning:#f59e0b;
  --v2-success:#16a34a;
  --v2-overlay:rgba(10,13,18,.56);
}
html[data-theme="dark"]{
  --v2-bg:#111315;
  --v2-bg-grid:rgba(255,255,255,.045);
  --v2-bg-accent:rgba(0,168,143,.07);
  --v2-bg-accent-2:rgba(132,204,22,.035);
  --v2-card:#1b1d21;
  --v2-card-2:#202329;
  --v2-elevated:#22252b;
  --v2-control:#15171b;
  --v2-control-2:#1b1d22;
  --v2-text:#f3f5f7;
  --v2-heading:#ffffff;
  --v2-muted:#aab2bd;
  --v2-faint:#7f8996;
  --v2-border:rgba(255,255,255,.10);
  --v2-border-strong:rgba(255,255,255,.18);
  --v2-shadow:0 28px 90px rgba(0,0,0,.38), 0 1px 0 rgba(255,255,255,.05) inset;
  --v2-shadow-soft:0 16px 40px rgba(0,0,0,.28);
  --v2-accent:#24d3b5;
  --v2-accent-2:#8bd94c;
  --v2-accent-blue:#38bdf8;
  --v2-overlay:rgba(0,0,0,.66);
}
html.ui-v2-shell, body.ui-v2-shell{min-height:100%; font-family:var(--v2-font) !important; color:var(--v2-text) !important; background:var(--v2-bg) !important;}
body.ui-v2-shell{padding-top:0 !important; overflow-x:hidden;}
body.ui-v2-shell::before{content:"" !important; position:fixed !important; inset:0 !important; z-index:-2 !important; pointer-events:none !important; opacity:1 !important; filter:none !important; background:radial-gradient(880px 540px at 20% -10%, var(--v2-bg-accent), transparent 64%), radial-gradient(860px 620px at 110% 0%, var(--v2-bg-accent-2), transparent 68%), linear-gradient(var(--v2-bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--v2-bg-grid) 1px, transparent 1px), var(--v2-bg) !important; background-size:auto, auto, 56px 56px, 56px 56px, auto !important; background-attachment:fixed !important;}
body.ui-v2-shell::after{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg, rgba(0,0,0,.03), transparent 16%, transparent 76%, rgba(0,0,0,.035));}
html[data-theme="dark"] body.ui-v2-shell::after{background:linear-gradient(90deg, rgba(0,0,0,.26), transparent 19%, transparent 78%, rgba(0,0,0,.28));}

body.ui-v2-shell .topbar{top:var(--v2-shell-gap) !important; left:var(--v2-shell-gap) !important; bottom:var(--v2-shell-gap) !important; width:var(--v2-sidebar-w) !important; border-radius:22px !important; background:linear-gradient(180deg, color-mix(in srgb, var(--v2-card) 96%, transparent), color-mix(in srgb, var(--v2-card-2) 88%, transparent)) !important; border:1px solid var(--v2-border-strong) !important; box-shadow:var(--v2-shadow) !important; backdrop-filter:blur(20px) saturate(130%) !important; -webkit-backdrop-filter:blur(20px) saturate(130%) !important;}
body.ui-v2-shell .topbar::before{display:none !important;}
body.ui-v2-shell .topbar-inner{padding:16px 14px !important; gap:12px !important; overflow:hidden auto !important;}
body.ui-v2-shell .brand{border-radius:18px !important; padding:12px 10px !important; background:linear-gradient(180deg, color-mix(in srgb, var(--v2-elevated) 82%, transparent), color-mix(in srgb, var(--v2-control-2) 72%, transparent)) !important; border:1px solid var(--v2-border) !important; box-shadow:none !important;}
body.ui-v2-shell .brand-logo{height:54px !important; max-width:194px !important;}
body.ui-v2-shell .topbar-center{gap:7px !important; margin:0 0 auto !important;}
body.ui-v2-shell .topbar-pill, body.ui-v2-shell button.topbar-pill{min-height:40px !important; border-radius:13px !important; padding:9px 11px !important; color:var(--v2-text) !important; background:color-mix(in srgb, var(--v2-control-2) 74%, transparent) !important; border:1px solid transparent !important; box-shadow:none !important;}
body.ui-v2-shell .topbar-pill:hover, body.ui-v2-shell button.topbar-pill:hover{transform:translateX(2px) !important; border-color:color-mix(in srgb, var(--v2-accent) 30%, transparent) !important; background:color-mix(in srgb, var(--v2-accent) 12%, var(--v2-control-2)) !important;}
body.ui-v2-shell .topbar-pill.active{border-color:color-mix(in srgb, var(--v2-accent) 42%, transparent) !important; background:linear-gradient(90deg, color-mix(in srgb, var(--v2-accent) 18%, var(--v2-control-2)), color-mix(in srgb, var(--v2-accent-2) 9%, var(--v2-control-2))) !important; box-shadow:inset 3px 0 0 var(--v2-accent) !important;}
body.ui-v2-shell .topbar-right{display:grid !important; grid-template-columns:repeat(5, minmax(34px, 1fr)) !important; gap:7px !important; padding-top:12px !important; border-top:1px solid var(--v2-border) !important;}
body.ui-v2-shell .topbar-icon, body.ui-v2-shell .topbar-right .topbar-icon{height:38px !important; border-radius:12px !important; background:color-mix(in srgb, var(--v2-control-2) 78%, transparent) !important; border:1px solid var(--v2-border) !important; color:var(--v2-text) !important;}
body.ui-v2-shell .env-banner{position:static !important; order:110 !important; margin-top:0 !important; padding:7px 10px !important; border-radius:999px !important; display:flex !important; align-items:center !important; justify-content:center !important; min-height:0 !important; font-size:10px !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; background:linear-gradient(90deg, rgba(239,68,68,.80), rgba(185,28,28,.80)) !important; border:1px solid rgba(255,255,255,.18) !important; box-shadow:none !important;}
body.ui-v2-shell .env-banner strong{font-size:10px !important; line-height:1 !important;}
body.ui-v2-shell .env-banner span:not(:first-child){display:none !important;}
body.ui-v2-shell main.app-container, body.ui-v2-shell .app-container{max-width:none !important; width:auto !important; margin-left:calc(var(--v2-sidebar-w) + var(--v2-shell-gap) * 2) !important; margin-right:0 !important; padding:var(--v2-shell-gap) var(--v2-shell-gap) 64px 0 !important; color:var(--v2-text) !important;}
body.ui-v2-shell main.app-container > .page-header:first-child, body.ui-v2-shell main.app-container > .table-toolbar:first-child{margin-top:0 !important;}

body.ui-v2-shell h1, body.ui-v2-shell h2, body.ui-v2-shell h3, body.ui-v2-shell .page-title, body.ui-v2-shell .ticket-title{color:var(--v2-heading) !important; letter-spacing:.015em;}
body.ui-v2-shell .muted, body.ui-v2-shell .detail-label, body.ui-v2-shell small{color:var(--v2-muted) !important;}
body.ui-v2-shell .page-header, body.ui-v2-shell .table-toolbar, body.ui-v2-shell .form-card, body.ui-v2-shell .card, body.ui-v2-shell .settings-card, body.ui-v2-shell .admin-card, body.ui-v2-shell .table-wrapper, body.ui-v2-shell .queue-card, body.ui-v2-shell .calendar-shell, body.ui-v2-shell .ticket-log-panel, body.ui-v2-shell .changes-panel, body.ui-v2-shell .modifications-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--v2-card) 95%, transparent), color-mix(in srgb, var(--v2-card-2) 92%, transparent)) !important; border:1px solid var(--v2-border) !important; box-shadow:var(--v2-shadow-soft) !important; color:var(--v2-text) !important; backdrop-filter:blur(16px) saturate(115%) !important; -webkit-backdrop-filter:blur(16px) saturate(115%) !important;}
body.ui-v2-shell .detail-row, body.ui-v2-shell .ticket-meta-col, body.ui-v2-shell .ticket-main-details-card .detail-row, body.ui-v2-shell .customer-ticket-view-page .detail-row{background:linear-gradient(180deg, color-mix(in srgb, var(--v2-control-2) 82%, transparent), color-mix(in srgb, var(--v2-card) 60%, transparent)) !important; border:1px solid var(--v2-border) !important; color:var(--v2-text) !important; box-shadow:none !important;}
body.ui-v2-shell .table-wrapper table, body.ui-v2-shell .table-wrapper thead, body.ui-v2-shell .table-wrapper tbody, body.ui-v2-shell .table-wrapper tr, body.ui-v2-shell .settings-table, body.ui-v2-shell .settings-table tr{background:transparent !important; color:var(--v2-text) !important;}
body.ui-v2-shell .table-wrapper th, body.ui-v2-shell .settings-table th{background:color-mix(in srgb, var(--v2-control-2) 86%, transparent) !important; color:var(--v2-heading) !important; border-bottom:1px solid var(--v2-border) !important;}
body.ui-v2-shell .table-wrapper td, body.ui-v2-shell .settings-table td{border-color:var(--v2-border) !important; color:var(--v2-text) !important;}

body.ui-v2-shell .ticket-view-page{padding-top:var(--v2-shell-gap) !important;}
body.ui-v2-shell .ticket-view-page > .page-header-ticket{position:sticky !important; top:18px !important; z-index:85 !important; width:min(100%, var(--v2-ticket-max)) !important; max-width:var(--v2-ticket-max) !important; margin:0 auto 18px auto !important; padding:10px 14px !important; min-height:0 !important; border-radius:18px !important; background:linear-gradient(180deg, color-mix(in srgb, var(--v2-card) 94%, transparent), color-mix(in srgb, var(--v2-card-2) 88%, transparent)) !important;}
body.ui-v2-shell .ticket-view-page .ticket-title-row{min-height:38px !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:12px !important;}
body.ui-v2-shell .ticket-view-page .ticket-title{max-width:calc(100% - 110px) !important; min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; font-size:clamp(18px,1.55vw,25px) !important; line-height:1.1 !important; margin:0 !important;}
body.ui-v2-shell .ticket-view-page .ticket-title-actions{position:absolute !important; right:14px !important; top:50% !important; transform:translateY(-50%) !important;}
body.ui-v2-shell .ticket-view-layout{width:min(100%, var(--v2-ticket-max)) !important; max-width:var(--v2-ticket-max) !important; margin:0 auto !important; display:grid !important; grid-template-columns:minmax(0,1fr) 360px !important; gap:20px !important; align-items:start !important;}
body.ui-v2-shell .ticket-view-layout > div:first-child{min-width:0 !important;}
body.ui-v2-shell .ticket-main-details-card, body.ui-v2-shell .ticket-view-page .ticket-extra-grid > .form-card, body.ui-v2-shell .ticket-view-page .form-card{border-radius:20px !important;}
body.ui-v2-shell .ticket-meta-grid{display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important;}
body.ui-v2-shell .ticket-log-panel{position:static !important; top:auto !important; max-height:none !important; height:auto !important; overflow:visible !important; align-self:start !important; border-radius:20px !important; padding:18px !important;}
body.ui-v2-shell .ticket-log-panel .ticket-log-item{border-color:var(--v2-border) !important; color:var(--v2-text) !important;}
body.ui-v2-shell .ticket-log-panel .ticket-log-date{color:var(--v2-muted) !important;}

body.ui-v2-shell.customer-v2-portal main.app-container{padding-top:var(--v2-shell-gap) !important;}
body.ui-v2-shell.customer-v2-portal .page-header, body.ui-v2-shell.customer-v2-portal .table-wrapper, body.ui-v2-shell.customer-v2-portal .form-card{border-radius:20px !important;}
body.ui-v2-shell.customer-v2-portal .customer-ticket-view-page > .page-header-ticket, body.ui-v2-shell.customer-v2-portal .customer-ticket-view-page > .form-card{width:min(100%, 1280px) !important; max-width:1280px !important; margin-left:auto !important; margin-right:auto !important;}
body.ui-v2-shell.customer-v2-portal .customer-ticket-view-page > .page-header-ticket{position:sticky !important; top:18px !important; z-index:85 !important; margin-bottom:18px !important;}
body.ui-v2-shell.customer-v2-portal .customer-ticket-title-row{justify-content:center !important;}
body.ui-v2-shell.customer-v2-portal .customer-ticket-title{max-width:100% !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;}
body.ui-v2-shell.customer-v2-portal .brand::after{content:"Ügyfélportál"; display:inline-flex; margin-top:4px; padding:5px 12px; border-radius:999px; font-size:10px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; color:#06392f; background:linear-gradient(90deg,#37e0b3,#98e54d);}
body.ui-v2-shell.customer-v2-portal .topbar-right{display:grid !important; grid-template-columns:1fr auto auto !important; align-items:center !important;}
body.ui-v2-shell.customer-v2-portal .topbar-right > .topbar-pill{min-width:0 !important; width:auto !important; max-width:none !important; justify-content:center !important;}

body.ui-v2-shell .form-input, body.ui-v2-shell .form-textarea, body.ui-v2-shell input[type="text"], body.ui-v2-shell input[type="email"], body.ui-v2-shell input[type="password"], body.ui-v2-shell input[type="tel"], body.ui-v2-shell input[type="number"], body.ui-v2-shell input[type="datetime-local"], body.ui-v2-shell textarea, body.ui-v2-shell select, body.ui-v2-shell .form-select{color:var(--v2-text) !important; background:color-mix(in srgb, var(--v2-control) 88%, transparent) !important; border:1px solid var(--v2-border-strong) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;}
body.ui-v2-shell input::placeholder, body.ui-v2-shell textarea::placeholder{color:var(--v2-faint) !important; opacity:.9 !important;}
body.ui-v2-shell .segmented-option > input[type="radio"], body.ui-v2-shell .assignee-picker-chip > input[type="checkbox"], body.ui-v2-shell .queue-department-filter-row > input[type="radio"]{display:none !important;}
body.ui-v2-shell .segmented-control{display:inline-flex !important; align-items:center !important; gap:4px !important; padding:4px !important; border-radius:15px !important; background:color-mix(in srgb, var(--v2-control-2) 78%, transparent) !important; border:1px solid var(--v2-border) !important;}
body.ui-v2-shell .segmented-option{display:inline-flex !important; align-items:center !important; margin:0 !important;}
body.ui-v2-shell .segmented-option span{display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:30px !important; padding:6px 12px !important; border-radius:11px !important; font-weight:760 !important; color:var(--v2-text) !important; background:transparent !important; border:1px solid transparent !important;}
body.ui-v2-shell .segmented-option input:checked + span{background:linear-gradient(135deg, color-mix(in srgb, var(--v2-accent) 25%, transparent), color-mix(in srgb, var(--v2-accent-blue) 13%, transparent)) !important; border-color:color-mix(in srgb, var(--v2-accent) 48%, transparent) !important;}
body.ui-v2-shell .assignee-picker-chip{position:relative !important; overflow:hidden !important; min-height:74px !important; display:flex !important; flex-direction:column !important; justify-content:center !important; background:linear-gradient(180deg, color-mix(in srgb, var(--v2-card) 88%, transparent), color-mix(in srgb, var(--v2-control-2) 76%, transparent)) !important; border:1px solid var(--v2-border) !important; border-radius:17px !important; color:var(--v2-text) !important;}
body.ui-v2-shell .assignee-picker-chip:has(input:checked){border-color:color-mix(in srgb, var(--v2-accent) 58%, transparent) !important; background:linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 18%, var(--v2-card)), color-mix(in srgb, var(--v2-accent) 8%, var(--v2-control-2))) !important;}
body.ui-v2-shell select option, body.ui-v2-shell .form-select option{background:#f5f2ea !important; color:#101820 !important;}
html[data-theme="dark"] body.ui-v2-shell select option, html[data-theme="dark"] body.ui-v2-shell .form-select option{background:#202329 !important; color:#f3f5f7 !important;}
body.ui-v2-shell .dropdown-menu, body.ui-v2-shell .autocomplete-list, body.ui-v2-shell .ac-box, body.ui-v2-shell .queue-department-menu, body.ui-v2-shell [data-queue-department-menu]{z-index:12000 !important; background:var(--v2-elevated) !important; color:var(--v2-text) !important; border:1px solid var(--v2-border-strong) !important; border-radius:14px !important; box-shadow:0 28px 80px rgba(0,0,0,.35) !important;}
body.ui-v2-shell .dropdown-menu *, body.ui-v2-shell .autocomplete-list *, body.ui-v2-shell .ac-box *{color:inherit !important;}

body.ui-v2-shell .modal-backdrop, body.ui-v2-shell .modal-overlay{background:var(--v2-overlay) !important; backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;}
body.ui-v2-shell .modal-dialog, body.ui-v2-shell .modal-content{background:linear-gradient(180deg, var(--v2-elevated), var(--v2-card)) !important; color:var(--v2-text) !important; border:1px solid var(--v2-border-strong) !important; border-radius:20px !important; box-shadow:0 36px 120px rgba(0,0,0,.48) !important;}
body.ui-v2-shell .modal-header, body.ui-v2-shell .modal-footer{background:color-mix(in srgb, var(--v2-card-2) 72%, transparent) !important; border-color:var(--v2-border) !important; color:var(--v2-text) !important;}
body.ui-v2-shell .modal-body{background:transparent !important; color:var(--v2-text) !important;}
body.ui-v2-shell .modal-close{color:var(--v2-text) !important;}

body.ui-v2-shell .settings-layout, body.ui-v2-shell .settings-content, body.ui-v2-shell .settings-panel, body.ui-v2-shell .settings-tab-content{opacity:1 !important; filter:none !important; pointer-events:auto !important;}
body.ui-v2-shell .settings-layout.is-loading, body.ui-v2-shell .settings-content.is-loading{opacity:1 !important; filter:none !important; pointer-events:auto !important;}
body.ui-v2-shell:not(.v2-navigating) .v2-route-progress{opacity:0 !important; transform:scaleX(.08) !important;}

@media (max-width: 1280px){:root{--v2-sidebar-w:238px;--v2-shell-gap:18px;} body.ui-v2-shell .ticket-view-layout{grid-template-columns:1fr !important;} body.ui-v2-shell .ticket-log-panel{position:static !important;}}
@media (max-width: 900px){body.ui-v2-shell .topbar{width:min(92vw, 320px) !important; transform:translateX(calc(-100% - 18px)); transition:transform .22s ease !important;} body.ui-v2-shell.v2-sidebar-open .topbar{transform:translateX(0) !important;} body.ui-v2-shell .v2-mobile-toggle{display:flex !important;} body.ui-v2-shell main.app-container, body.ui-v2-shell .app-container{margin-left:0 !important; padding:72px 14px 42px !important;} body.ui-v2-shell .ticket-meta-grid{grid-template-columns:1fr !important;} body.ui-v2-shell .ticket-view-page > .page-header-ticket{top:12px !important;}}
