@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --red:#f51b2b;--red2:#ff4653;--navy:#0c1d48;--blue:#1769ff;--purple:#a238f5;--green:#05ba59;
  --orange:#ff9800;--text:#12203f;--muted:#66759a;--line:#e5ebf5;--bg:#f4f7fd;
  --card:rgba(255,255,255,.92);--glass:rgba(255,255,255,.78);--shadow:0 16px 45px rgba(34,56,92,.10);
}
*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none}

.admin-body{min-height:100vh;background:
radial-gradient(circle at 74% 3%,rgba(75,113,255,.13),transparent 26%),
radial-gradient(circle at 95% 35%,rgba(245,27,43,.09),transparent 24%),#f6f9ff}
.app-shell{display:flex;min-height:100vh}

.sidebar{width:274px;padding:14px;position:fixed;inset:0 auto 0 0;z-index:50}
.sidebar-inner{height:100%;border:1px solid rgba(221,228,241,.85);border-radius:26px;background:rgba(255,255,255,.82);backdrop-filter:blur(24px);box-shadow:0 18px 55px rgba(42,66,101,.08);padding:20px 18px;display:flex;flex-direction:column}
.brand{display:block;padding:2px 10px 17px}

.brand img{width:170px;max-width:100%}
.side-nav{display:flex;flex-direction:column;gap:5px}

.side-link{display:flex;align-items:center;gap:11px;color:#16264b;font-weight:650;padding:10px 12px;border-radius:12px;transition:.24s ease}

.side-link i{font-size:18px;width:22px;text-align:center}

.side-link:hover{background:#f7f9fe;color:#0f1d40;transform:translateX(3px)}
.side-link.active{color:white;background:linear-gradient(135deg,var(--red2),var(--red));box-shadow:0 10px 26px rgba(245,27,43,.30)}
.sidebar-divider{height:1px;background:#e9edf5;margin:14px 8px 8px}

.logout-link{color:var(--red)}

.logout-link:hover{background:#fff0f2;color:#dc1020}
.launch-card{margin-top:auto;border:1px solid #e3e9f5;border-radius:19px;padding:20px;background:linear-gradient(145deg,#fff,#f5f8ff);position:relative;overflow:hidden}
.launch-card:after{content:"";position:absolute;width:110px;height:110px;right:-48px;top:-55px;border-radius:50%;background:radial-gradient(circle,rgba(36,107,255,.12),transparent 70%)}
.rocket-wrap{font-size:45px;filter:drop-shadow(0 8px 12px rgba(245,27,43,.2));margin-bottom:8px}

.launch-card strong{font-size:15px}

.launch-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:7px 0 14px}

.dots{display:flex;gap:6px}

.dots *{width:7px;height:7px;border-radius:50%;background:#cad4e7}

.dots b{background:var(--red)}
.sidebar-footer{padding:10px 10px 0;color:#91a0bd;font-size:10px;display:flex;flex-direction:column;gap:2px}

.main-area{width:calc(100% - 274px);margin-left:274px;padding:14px 22px 35px;min-width:0}
.topbar{height:62px;display:flex;align-items:center;gap:10px}

.topbar-spacer{flex:1}

.icon-btn{width:43px;height:43px;border-radius:13px;border:1px solid rgba(220,227,240,.9);background:rgba(255,255,255,.75);color:#283a65;display:grid;place-items:center;position:relative;box-shadow:0 8px 20px rgba(39,62,97,.05);transition:.2s}

.icon-btn:hover{transform:translateY(-2px);background:white}

.notify-badge{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--red);color:white;font-size:10px;display:grid;place-items:center;border:2px solid white}

.profile-chip{height:43px;border:1px solid #dde4f0;background:rgba(255,255,255,.88);border-radius:14px;padding:0 13px 0 7px;display:flex;align-items:center;gap:9px;font-weight:650;box-shadow:0 8px 20px rgba(39,62,97,.05)}
.profile-avatar{width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#c7e6ff,#eaf5ff);color:#1769ff;display:grid;place-items:center}

.mobile-menu{display:none}
.hero-panel{height:268px;border-radius:25px;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(248,251,255,.99) 0%,rgba(248,251,255,.92) 26%,rgba(248,251,255,.30) 53%,rgba(8,18,46,.02) 100%),
url('hero-stadium.webp') right center/cover no-repeat;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8);margin-bottom:14px}
.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none}
.hero-content{position:relative;z-index:3;padding:46px 0 0 34px;max-width:590px}

.hero-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--red)}

.hero-content h1{font-size:36px;line-height:1.12;margin:7px 0 12px;font-weight:800;letter-spacing:-.04em}

.hero-content h1 em{font-style:normal;color:var(--red)}

.hero-content p{font-size:14px;color:#4e628b;margin:0;max-width:410px;line-height:1.6}

.hero-line{width:54px;height:3px;background:var(--red);border-radius:3px;margin-top:17px}

.hero-glow{position:absolute;right:16%;bottom:-70px;width:330px;height:190px;border-radius:50%;background:rgba(255,33,68,.13);filter:blur(35px)}
.floating-ticket{width:164px;height:94px;border-radius:13px;position:absolute;background:linear-gradient(160deg,#fff 0 53%,#fff2f4 53% 61%,#f11f35 61%);box-shadow:0 18px 35px rgba(13,27,63,.24);transform:rotate(-7deg);padding:20px 16px;color:#13244d;overflow:hidden;animation:floatTicket 4.8s ease-in-out infinite}
.dashboard-ticket{right:58px;top:34px;z-index:4}

.floating-ticket small{display:block;font-size:14px;font-weight:800}

.floating-ticket strong{font-size:11px;color:var(--red);font-style:italic}

.floating-ticket .barcode{position:absolute;right:15px;top:16px;width:25px;height:50px;background:repeating-linear-gradient(90deg,#172343 0 2px,transparent 2px 4px);opacity:.75}

.ticket-hole{position:absolute;width:17px;height:17px;border-radius:50%;background:#8c9bc1;opacity:.22;right:5px;bottom:5px}

@keyframes floatTicket{50%{transform:translateY(-8px) rotate(-4deg)}

}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}

.glass-card,.panel-card{background:rgba(255,255,255,.91);border:1px solid rgba(222,229,242,.9);box-shadow:0 14px 34px rgba(38,57,89,.07);backdrop-filter:blur(18px)}
.stat-card{min-height:138px;border-radius:20px;padding:22px;display:flex;align-items:center;position:relative;overflow:hidden;transition:.25s}

.stat-card:hover{transform:translateY(-4px);box-shadow:0 19px 42px rgba(38,57,89,.12)}

.stat-icon{width:64px;height:64px;border-radius:17px;color:#fff;display:grid;place-items:center;font-size:28px;flex:none;box-shadow:0 12px 24px rgba(0,0,0,.16)}

.stat-icon.red{background:linear-gradient(145deg,#ff5665,#f31327)}

.stat-icon.blue{background:linear-gradient(145deg,#51a9ff,#1267ef)}

.stat-icon.purple{background:linear-gradient(145deg,#b760ff,#9130ed)}

.stat-icon.green{background:linear-gradient(145deg,#29dc7a,#00aa4d)}
.stat-copy{padding-left:17px;display:flex;flex-direction:column;min-width:0}

.stat-copy strong{font-size:28px;line-height:1;font-weight:800;letter-spacing:-.04em;white-space:nowrap}

.stat-copy span{font-size:12px;color:#52658d;margin-top:8px;white-space:nowrap}

.trend{width:max-content;padding:4px 9px;margin-top:9px;border-radius:10px;background:#ffe4e7;color:#eb2031!important;font-size:10px!important;font-weight:700}

.blue-trend{background:#e0edff!important;color:#1769ff!important}

.purple-trend{background:#eee3ff!important;color:#7e37e8!important}

.green-trend{background:#def8e9!important;color:#079b49!important}

.spark{position:absolute;width:82px;height:36px;right:12px;bottom:15px;fill:none;stroke-width:2}

.red-line{stroke:#ff2034}

.blue-line{stroke:#1769ff}

.purple-line{stroke:#9c36f3}

.green-line{stroke:#06b255}
.content-grid,.charts-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:12px;margin-bottom:12px}

.panel-card{border-radius:20px;padding:16px 18px}

.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;min-height:34px}

.panel-heading>div:first-child{display:flex;align-items:center;gap:10px}

.panel-heading h2{font-size:14px;margin:0;font-weight:750}

.panel-heading>div:first-child>i{color:#17346f;font-size:20px}

.activity-card .panel-heading>div:first-child>i{color:var(--red)}

.panel-heading a{font-size:10px;color:var(--red);font-weight:650}

.event-list,.activity-list{display:flex;flex-direction:column;gap:7px}

.event-row,.activity-row{border:1px solid #e4eaf4;background:rgba(255,255,255,.84);border-radius:14px;display:flex;align-items:center;min-height:60px;padding:8px 10px;box-shadow:0 4px 12px rgba(35,57,91,.035)}
.event-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px;margin-right:12px}

.event-icon.football{background:#edf2fb}

.event-icon.music{background:#eee8ff;color:#6f38ea}

.event-main{display:flex;flex-direction:column;min-width:0;flex:1}

.event-main strong{font-size:12px}

.event-main span{font-size:10px;color:#7382a4;margin-top:4px}

.event-date{width:178px;display:grid;grid-template-columns:18px 80px 18px 60px;align-items:center;row-gap:5px;font-size:9px;color:#627397}

.event-date i{font-size:13px;color:#17346f}

.status{border-radius:12px;padding:6px 11px;font-size:9px;font-weight:650;min-width:73px;text-align:center}

.status.live{background:#ffe1e5;color:#e51629}

.status.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f51b2b;margin-right:4px}

.status.soon{background:#e2eeff;color:#1769ff}

.status.later{background:#eef1f6;color:#50607f}
.activity-row{min-height:50px;font-size:9px}

.activity-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px;margin-right:10px}

.activity-row>span:nth-child(2){flex:1}

.activity-row time{font-size:9px;color:#8491ad;margin-left:12px}

.green-soft{background:#e5fbec;color:#03a84d}

.blue-soft{background:#e8f1ff;color:#1769ff}

.purple-soft{background:#f0e6ff;color:#9439ed}

.orange-soft{background:#fff0dc;color:#ff8d00}
.chart-card{min-height:280px}

.panel-heading.compact{margin-bottom:4px}

.chart-legend{font-size:9px!important;color:#61718f;display:flex!important;gap:16px!important}

.chart-legend span{display:flex;align-items:center;gap:5px}

.dot{width:7px;height:7px;border-radius:50%;display:inline-block}

.dot.revenue{background:#ff2436}

.dot.tickets{background:#1769ff}

.chart-wrap{height:222px;padding-top:4px}

.type-layout{display:flex;align-items:center;height:220px}

.donut-wrap{width:48%;height:210px;position:relative}

.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}

.donut-center strong{font-size:24px}

.donut-center span{font-size:9px;color:#6f7d99}

.type-legend{width:52%;display:flex;flex-direction:column;gap:17px}

.type-legend div{display:flex;justify-content:space-between;font-size:10px;color:#31456e}

.type-legend b{color:#21375f}
.page-heading{min-height:190px;border-radius:24px;margin-bottom:12px;padding:35px 38px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(248,251,255,.99),rgba(248,251,255,.85) 45%,rgba(248,251,255,.22)),
url('hero-stadium.webp') right center/cover no-repeat;border:1px solid white;box-shadow:var(--shadow)}
.page-heading h1{font-size:38px;font-weight:800;letter-spacing:-.04em;margin:7px 0 6px}

.page-heading p{color:#5f7197;margin:0}

.heading-badge{width:118px;height:118px;border-radius:28px;background:rgba(255,255,255,.86);backdrop-filter:blur(15px);display:grid;place-items:center;align-content:center;box-shadow:0 15px 35px rgba(31,53,88,.12)}

.heading-badge i{font-size:26px;color:var(--blue)}

.heading-badge strong{font-size:25px}

.heading-badge span{font-size:10px;color:#7584a3}
.users-panel{padding:18px}

.users-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}

.search-box{width:min(460px,100%);height:45px;border:1px solid #dfe6f2;border-radius:13px;background:#f9fbff;display:flex;align-items:center;padding:0 14px;gap:9px}

.search-box i{color:#8695b2}

.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:12px;color:#22365e}

.toolbar-meta{font-size:10px;color:#7483a1;display:flex;align-items:center;gap:7px}

.live-dot{width:7px;height:7px;border-radius:50%;background:#0cbf59;box-shadow:0 0 0 5px rgba(12,191,89,.1)}

.users-table{width:100%;border-collapse:separate;border-spacing:0 8px}

.users-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8491aa;padding:5px 14px;border:0}

.users-table td{background:#fbfcff;border-top:1px solid #e7ecf4;border-bottom:1px solid #e7ecf4;padding:12px 14px;font-size:12px}

.users-table td:first-child{border-left:1px solid #e7ecf4;border-radius:13px 0 0 13px}

.users-table td:last-child{border-right:1px solid #e7ecf4;border-radius:0 13px 13px 0}

.users-table tbody tr{transition:.2s}

.users-table tbody tr:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(41,61,94,.06)}

.id-pill{font-size:10px;color:#657494;background:#eef2f8;border-radius:9px;padding:5px 8px}

.user-cell{display:flex;align-items:center;gap:10px}

.user-avatar{width:33px;height:33px;border-radius:10px;background:linear-gradient(145deg,#dce9ff,#f0f5ff);color:#1769ff;display:grid;place-items:center;font-weight:800}

.role-badge{padding:6px 9px;border-radius:9px;font-size:9px;font-weight:700}

.role-badge.admin{background:#e4f9eb;color:#098d43}

.role-badge.user{background:#edf1f7;color:#5e6e8f}

.empty-state{display:none;text-align:center;padding:45px;color:#7f8da8;flex-direction:column;align-items:center}

.empty-state i{font-size:28px}

.empty-state strong{color:#35496f;margin-top:8px}

.empty-state span{font-size:11px;margin-top:3px}
.login-page{min-height:100vh;overflow:hidden;background:#f6f9ff}

.login-ambient{position:fixed;inset:0;background:url('ambient.webp') center/cover;opacity:.32;filter:saturate(1.12)}

.login-layout{position:relative;z-index:2;min-height:100vh;display:grid;grid-template-columns:minmax(360px,470px) 1fr;padding:50px 5vw;gap:42px;align-items:center}

.login-card{background:rgba(255,255,255,.87);backdrop-filter:blur(26px);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:38px;box-shadow:0 25px 70px rgba(22,43,79,.16)}

.login-logo{width:180px;margin-bottom:30px}

.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--red);font-weight:800}

.login-card h1{font-size:31px;font-weight:800;letter-spacing:-.04em;margin:8px 0}

.login-copy{font-size:13px;color:#6a7895;line-height:1.65;margin-bottom:24px}

.field{display:block;margin-bottom:14px}

.field>span{font-size:10px;font-weight:700;color:#4b5f85;display:block;margin-bottom:7px}

.field-control{height:50px;border:1px solid #dce4f1;background:#fff;border-radius:13px;display:flex;align-items:center;gap:10px;padding:0 14px;transition:.2s}

.field-control:focus-within{border-color:#ff7b86;box-shadow:0 0 0 4px rgba(245,27,43,.08)}

.field-control>i{color:#617397}

.field-control input{border:0;outline:0;flex:1;font-size:12px}

.password-toggle{border:0;background:transparent;color:#7584a1}

.login-btn{width:100%;height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff4653,#e91426);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:750;box-shadow:0 13px 27px rgba(236,24,40,.27);transition:.2s}

.login-btn:hover{transform:translateY(-2px);box-shadow:0 17px 31px rgba(236,24,40,.34)}

.secure-note{text-align:center;color:#73809b;font-size:10px;margin-top:20px}

.login-alert{font-size:11px;border-radius:11px}

.login-hero{height:620px;border-radius:34px;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(248,251,255,.96),rgba(248,251,255,.22) 42%,rgba(10,20,48,.03)),url('hero-stadium.webp') center/cover;box-shadow:0 24px 70px rgba(24,45,79,.16)}

.login-hero-copy{position:absolute;left:50px;top:90px;z-index:3}

.login-hero h2{font-size:52px;line-height:1.02;letter-spacing:-.05em;margin:10px 0;color:#102044;font-weight:800}

.login-hero h2 strong{color:var(--red)}

.login-hero p{max-width:360px;color:#566a92;font-size:14px;line-height:1.7}

.login-hero .floating-ticket{right:65px;top:66px}
.dark-theme{--bg:#111827;--text:#eaf0ff;--muted:#91a0bd;background:#0e1524}

.dark-theme .sidebar-inner,.dark-theme .profile-chip,.dark-theme .icon-btn,.dark-theme .glass-card,.dark-theme .panel-card{background:rgba(20,29,48,.88);border-color:rgba(88,105,134,.28);color:#eaf0ff}

.dark-theme .side-link{color:#c9d3e7}

.dark-theme .event-row,.dark-theme .activity-row,.dark-theme .users-table td,.dark-theme .search-box{background:#182338;border-color:#2b3850;color:#eaf0ff}

.dark-theme .panel-heading h2,.dark-theme .stat-copy strong,.dark-theme .event-main strong{color:#eef3ff}
.sidebar-backdrop{display:none}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}

.content-grid,.charts-grid{grid-template-columns:1fr}

.hero-panel{height:250px}

.dashboard-ticket{display:none}

}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}

.sidebar.open{transform:translateX(0)}

.main-area{width:100%;margin-left:0;padding:10px 14px 25px}

.mobile-menu{display:grid}

.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(11,20,38,.4);backdrop-filter:blur(3px);z-index:40}

.login-layout{grid-template-columns:1fr;padding:24px}

.login-card{max-width:520px;margin:auto;width:100%}

.login-hero{display:none}

.hero-panel{background-position:62% center}

.hero-content{padding-left:25px}

.hero-content h1{font-size:30px}

.page-heading{padding:28px}

.heading-badge{display:none}

}
@media(max-width:650px){.stats-grid{grid-template-columns:1fr}

.topbar{height:56px}

.profile-chip span:nth-child(2){display:none}

.hero-panel{height:225px;background-position:70% center}

.hero-content{padding:33px 18px 0;max-width:70%}

.hero-content h1{font-size:25px}

.hero-content p{font-size:12px}

.event-row{display:grid;grid-template-columns:45px 1fr auto}

.event-icon{grid-row:1/3}

.event-date{grid-column:2/4;width:auto;margin-top:6px}

.status{grid-column:3;grid-row:1}

.content-grid,.charts-grid{gap:10px}

.type-layout{flex-direction:column;height:auto}

.donut-wrap,.type-legend{width:100%}

.type-legend{padding:0 20px 10px}

.users-panel{padding:12px}

.users-toolbar{align-items:stretch;gap:10px;flex-direction:column}

.toolbar-meta{padding-left:4px}

.page-heading{min-height:160px}

.page-heading h1{font-size:31px}

.login-layout{padding:15px}

.login-card{padding:26px 22px}

.login-logo{width:155px}

}
/* === OPERATIONS V3 === */
.error-widget{margin-top:10px;border:1px solid #f0dfe2;border-radius:16px;background:linear-gradient(145deg,#fff,#fff9fa);padding:10px;box-shadow:0 10px 25px rgba(216,26,44,.05)}
.error-widget-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#9c1422;margin-bottom:7px}

.error-widget-head span{display:flex;align-items:center;gap:7px}

.error-widget-head b{background:#ffe3e6;color:#e2182a;border-radius:9px;padding:3px 7px;font-size:10px}

.error-widget-list{display:flex;flex-direction:column;gap:7px}

.error-mini{display:grid;grid-template-columns:7px 1fr;gap:7px;padding:6px 7px;border-radius:10px;background:#fff;border:1px solid #f1e7e9}

.error-mini strong{font-size:9px}

.error-mini p{font-size:9px;color:#7a879f;margin:2px 0}

.error-severity{width:7px;height:7px;border-radius:50%;background:#f51b2b;margin-top:3px;box-shadow:0 0 0 4px rgba(245,27,43,.09)}

.error-severity.warning{background:#f6a800}

.error-severity.info{background:#1769ff}

.error-more{display:flex;justify-content:space-between;font-size:9px;color:#e2182a;font-weight:700;padding-top:6px}

.error-empty{display:flex;align-items:center;gap:8px;font-size:10px;color:#21965a;padding:8px}
.ops-heading{min-height:166px}

.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;font-size:11px;font-weight:750}

.primary-action{color:#fff;background:linear-gradient(135deg,#ff4653,#e91426);box-shadow:0 10px 22px rgba(236,24,40,.22)}

.primary-action:hover{color:#fff;transform:translateY(-1px)}

.secondary-action{color:#44587f;background:#edf2f9}

.soft-count{font-size:10px;padding:5px 8px;background:#edf2f9;border-radius:9px;color:#657695}

.ops-panel{padding:18px}

.ops-list{display:flex;flex-direction:column;gap:8px}

.ops-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e5ebf4;border-radius:14px;background:#fbfcff}

.source-badge{padding:6px 8px;border-radius:9px;background:#edf2ff;color:#355aab;font-size:9px;font-weight:800;text-transform:uppercase}

.ops-main{display:flex;flex-direction:column;min-width:0;flex:1}

.ops-main strong{font-size:12px}

.ops-main span{font-size:9px;color:#8290aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}

.status-chip{font-size:9px;font-weight:750;border-radius:9px;padding:6px 9px}

.status-chip.active{background:#e2f8ea;color:#159451}

.empty-big{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7b89a4;gap:7px}

.empty-big>i{font-size:35px;color:#a2aec3}

.empty-big strong{color:#34486e;font-size:14px}

.empty-big span{font-size:10px;max-width:380px}

.empty-big .primary-action{margin-top:8px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}

.module-card{min-height:160px;padding:24px;border-radius:20px;background:rgba(255,255,255,.93);border:1px solid #e3e9f3;box-shadow:0 14px 34px rgba(38,57,89,.07);display:flex;align-items:center;gap:18px;color:#1a2b4d;position:relative;transition:.25s}

.module-card:hover{transform:translateY(-4px)}

.module-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:26px;background:#edf2ff;color:#1769ff;flex:none}

.module-card.red .module-icon{background:#ffe5e8;color:#ef1c31}

.module-card.purple .module-icon{background:#f1e6ff;color:#9132ec}

.module-card strong{font-size:16px}

.module-card p{font-size:10px;color:#71809c;margin:6px 28px 0 0}

.module-arrow{position:absolute;right:22px;font-size:20px;color:#91a0b9}

.module-note{display:flex;gap:12px;align-items:flex-start;padding:18px}

.module-note>i{font-size:23px;color:#7851d8}

.module-note strong{font-size:12px}

.module-note p{font-size:10px;color:#73819a;margin:4px 0 0}
.form-panel{padding:24px}

.dynamic-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}

.form-field{display:flex;flex-direction:column;gap:7px}

.form-field.wide{grid-column:1/-1}

.form-field>span{font-size:10px;font-weight:700;color:#526486}

.form-field input,.form-field textarea{width:100%;border:1px solid #dfe6f1;background:#fbfcff;border-radius:12px;padding:12px 13px;font:inherit;font-size:11px;outline:none}

.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.ticket-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

.ticket-card{background:#fff;border:1px solid #e2e9f4;border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(38,57,89,.07)}

.ticket-card-top{display:flex;justify-content:space-between}

.ticket-card time{font-size:8px;color:#8a97ad}

.ticket-card h3{font-size:13px;margin:14px 0 5px}

.ticket-card p{font-size:10px;color:#73819b;min-height:30px}

.ticket-card-actions{display:flex;gap:8px;align-items:center;margin-top:15px}

.checkout-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 10px;border-radius:10px;background:#132c60;color:#fff;font-size:9px;font-weight:700}

.status-form{margin-left:auto}

.ticket-status{border:0;border-radius:10px;padding:9px 26px 9px 10px;font-size:9px;font-weight:700}

.ticket-status.in_cart{background:#e6efff;color:#155dd9}

.ticket-status.unpaid{background:#fff0d6;color:#b56d00}

.ticket-status.paid{background:#dcf8e7;color:#118d48}

.ticket-status.sold{background:#efe4ff;color:#7630d6}

.ticket-status.cancelled{background:#f0f2f6;color:#6b7486}

.error-page-list{display:flex;flex-direction:column;gap:9px}

.error-item{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:14px;border-radius:14px;background:#fffafb;border:1px solid #f0dfe3}

.error-item p{font-size:10px;color:#596b8f;margin:4px 0}

.error-item small{font-size:8px;color:#9ba6b8}

.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.quick-actions a{border:1px solid #e4eaf4;border-radius:14px;padding:14px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;color:#263b62;background:#fbfcff}

.quick-actions a>i{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:#eaf0ff;color:#1769ff;display:grid;place-items:center}

.quick-actions strong{font-size:11px}

.quick-actions span{font-size:9px;color:#7a88a3}

.robot-status{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f5}

.robot-dot{width:9px;height:9px;border-radius:50%;background:#f2aa15;margin-top:4px}

.robot-dot.ok{background:#0eb75c}

.robot-status strong{font-size:11px}

.robot-status p{font-size:9px;color:#73819a;margin:3px 0}

.profile-chip small{font-size:8px;color:#8a96ac;margin-left:-4px}
@media(max-width:1000px){.ticket-board{grid-template-columns:repeat(2,1fr)}

}

@media(max-width:700px){.module-grid,.dynamic-form-grid,.ticket-board{grid-template-columns:1fr}

.quick-actions{grid-template-columns:1fr}

.ops-heading{align-items:flex-start;gap:18px;flex-direction:column}

.form-field.wide{grid-column:auto}

.error-widget{margin-top:18px}

}

/* ============================================================
   V3.1 - USER MANAGEMENT / ACCOUNT / ROBOT STATUS
   ============================================================ */

.profile-link {
    color: inherit;
    text-decoration: none;
}

.profile-link:hover {
    color: inherit;
    transform: translateY(-1px);
}

.profile-arrow {
    margin-left: 4px;
    font-size: 11px;
    color: #8c99b1;
}

.credentials-alert {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
    padding: 16px 18px;
    border: 1px solid #ccefd9;
    border-radius: 16px;
    background: linear-gradient(135deg, #f6fff9, #effcf4);
    box-shadow: 0 10px 24px rgba(23, 136, 73, 0.06);
}

.credentials-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #dff8e9;
    color: #11964c;
    font-size: 20px;
}

.credentials-alert strong {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: #24543a;
}

.credentials-alert p {
    margin: 0 0 4px;
    font-size: 11px;
    color: #4f6f5d;
}

.credentials-alert small {
    font-size: 9px;
    color: #789183;
}

.credentials-alert code {
    padding: 3px 7px;
    border-radius: 7px;
    background: #ffffff;
    color: #0e8540;
    font-weight: 800;
}

.user-name-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.user-name-stack small {
    font-size: 8px;
    color: #d04553;
}

.last-login {
    font-size: 10px;
    color: #7583a0;
}

.admin-choice {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid #e0e7f2;
    border-radius: 14px;
    background: #fbfcff;
    cursor: pointer;
}

.admin-choice input {
    width: 17px;
    height: 17px;
    accent-color: #f21c2f;
}

.admin-choice-icon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 11px;
    background: #ffe8eb;
    color: #e51a2d;
    font-size: 18px;
}

.admin-choice strong {
    display: block;
    font-size: 11px;
}

.admin-choice small {
    display: block;
    margin-top: 3px;
    color: #7887a2;
    font-size: 9px;
    line-height: 1.45;
}

.form-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 18px;
    padding: 14px;
    border-radius: 14px;
    background: #f2f6ff;
    color: #4f638b;
}

.form-info-box > i {
    margin-top: 1px;
    color: #316fec;
    font-size: 19px;
}

.form-info-box strong {
    font-size: 11px;
}

.form-info-box p {
    margin: 4px 0 0;
    font-size: 9px;
    line-height: 1.55;
}

.form-message {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 600;
}

.form-message.error {
    border: 1px solid #ffd0d5;
    background: #fff3f4;
    color: #b51e2d;
}

.form-message.success {
    border: 1px solid #ccefd8;
    background: #effbf4;
    color: #148b47;
}

.password-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    max-width: 620px;
}

.account-panel,
.user-form-card {
    max-width: 920px;
}

.robot-summary {
    padding: 5px 9px;
    border-radius: 9px;
    background: #edf8f1;
    color: #138c48;
    font-size: 9px;
    font-weight: 800;
}

.robots-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.robot-status-row {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px 13px;
    border: 1px solid #e7ecf4;
    border-radius: 13px;
    background: #fbfcff;
}

.robot-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.robot-dot.online {
    background: #0fba5b;
    box-shadow: 0 0 0 5px rgba(15, 186, 91, 0.10);
}

.robot-dot.offline {
    background: #ef3346;
    box-shadow: 0 0 0 5px rgba(239, 51, 70, 0.10);
}

.robot-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.robot-info strong {
    font-size: 10px;
}

.robot-info span {
    margin-top: 3px;
    color: #8290aa;
    font-size: 8px;
}

.robot-state {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}

.robot-state strong {
    font-size: 9px;
    letter-spacing: 0.06em;
}

.robot-state strong.online {
    color: #0b9e4e;
}

.robot-state strong.offline {
    color: #dd2437;
}

.robot-state small {
    color: #8a97ad;
    font-size: 7px;
}

.robot-transport-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #edf1f6;
}

.robot-transport-info > div {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 11px;
    background: #f7f9fd;
}

.robot-transport-info i {
    color: #496da8;
    font-size: 17px;
}

.robot-transport-info span {
    display: flex;
    flex-direction: column;
}

.robot-transport-info strong {
    font-size: 9px;
}

.robot-transport-info small {
    margin-top: 2px;
    color: #8a97ad;
    font-size: 8px;
}

.robot-empty {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 16px;
    border: 1px dashed #d8e0ed;
    border-radius: 13px;
    color: #70809e;
}

.robot-empty i {
    font-size: 22px;
}

.robot-empty strong {
    display: block;
    color: #3f5276;
    font-size: 10px;
}

.robot-empty p {
    margin: 4px 0 0;
    font-size: 9px;
}

@media (max-width: 650px) {
    .robot-status-row {
        grid-template-columns: 12px 1fr;
    }

    .robot-state {
        grid-column: 2;
        align-items: flex-start;
    }

    .robot-transport-info {
        grid-template-columns: 1fr;
    }

    .credentials-alert {
        flex-direction: column;
    }
}


/* ============================================================
   V3.2 - ALERTY POD DZWONECZKIEM
   ============================================================ */

.notification-wrap {
    position: relative;
}

.notification-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 100;
    width: 390px;
    max-height: 540px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top right;
    border: 1px solid #e1e7f1;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 55px rgba(30, 50, 82, 0.18);
    backdrop-filter: blur(22px);
    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0.18s ease;
}

.notification-dropdown.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
}

.notification-dropdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px;
    border-bottom: 1px solid #edf1f6;
}

.notification-dropdown-head > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.notification-dropdown-head strong {
    font-size: 12px;
    color: #20345b;
}

.notification-dropdown-head span {
    font-size: 9px;
    color: #8793aa;
}

.notification-read-all {
    border: 0;
    background: transparent;
    color: #e51f31;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

.notification-list {
    max-height: 450px;
    overflow-y: auto;
    padding: 7px;
}

.notification-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 8px;
    gap: 10px;
    align-items: flex-start;
    padding: 11px;
    border-radius: 13px;
    color: inherit;
    text-decoration: none;
    transition:
        background 0.18s ease,
        transform 0.18s ease;
}

.notification-item:hover {
    background: #f5f8ff;
    color: inherit;
    transform: translateX(2px);
}

.notification-item.unread {
    background: #f8faff;
}

.notification-item.read {
    opacity: 0.70;
}

.notification-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #e9f0ff;
    color: #1f68e8;
    font-size: 16px;
}

.notification-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.notification-copy strong {
    margin-bottom: 3px;
    font-size: 10px;
    color: #283d67;
}

.notification-copy > span {
    font-size: 9px;
    line-height: 1.42;
    color: #687998;
}

.notification-copy small {
    margin-top: 5px;
    font-size: 7px;
    color: #9aa5b8;
}

.notification-unread-dot {
    width: 7px;
    height: 7px;
    margin-top: 5px;
    border-radius: 50%;
    background: #ef2337;
    box-shadow: 0 0 0 4px rgba(239, 35, 55, 0.10);
}

.notification-empty {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 25px;
    text-align: center;
    color: #8390a8;
}

.notification-empty i {
    font-size: 27px;
    color: #a8b3c5;
}

.notification-empty strong {
    color: #4a5d7e;
    font-size: 11px;
}

.notification-empty span {
    max-width: 230px;
    font-size: 9px;
    line-height: 1.5;
}

@media (max-width: 650px) {
    .notification-dropdown {
        position: fixed;
        top: 68px;
        right: 10px;
        left: 10px;
        width: auto;
    }
}


/* V3.3 - filtry robota */
.field-help{display:block;margin-top:6px;color:#8390a7;font-size:9px;line-height:1.45}
.form-field select{width:100%;min-height:44px;padding:0 13px;border:1px solid #dde5f0;border-radius:12px;outline:none;background:#fff;color:#314565;font-size:10px}
.filter-toggle{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #e1e7f0;border-radius:14px;background:#fbfcff;cursor:pointer;position:relative}
.filter-toggle input{position:absolute;opacity:0;pointer-events:none}
.filter-toggle-switch{position:relative;width:40px;height:23px;border-radius:999px;background:#d8dfeb;transition:background .18s ease}
.filter-toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(33,48,78,.18);transition:transform .18s ease}
.filter-toggle input:checked+.filter-toggle-switch{background:#ef2538}
.filter-toggle input:checked+.filter-toggle-switch:after{transform:translateX(17px)}
.filter-toggle-copy{display:flex;flex-direction:column;gap:3px}.filter-toggle-copy strong{color:#304464;font-size:10px}.filter-toggle-copy small{color:#8491a8;font-size:8px;line-height:1.45}

/* ============================================================
   V3.4 — Robot authorization
   ============================================================ */
.robot-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}
.robot-summary-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
}
.robot-summary-card strong {
    display: block;
    font-size: 26px;
    line-height: 1;
    margin-bottom: 5px;
}
.robot-summary-card span:not(.robot-summary-icon) {
    color: var(--muted, #73809a);
    font-size: 13px;
}
.robot-summary-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    background: #eef3ff;
    color: #3157c8;
    font-size: 21px;
}
.robot-summary-icon.ok { background: #eafaf1; color: #14804a; }
.robot-summary-icon.warn { background: #fff4df; color: #b66b00; }
.robot-summary-icon.live { background: #eaf8ff; color: #0577a8; }
.robots-panel { padding: 0; overflow: hidden; }
.robots-panel-head { padding: 20px 22px; border-bottom: 1px solid rgba(28, 44, 76, .08); }
.robots-panel-head h2 { margin: 0 0 4px; font-size: 19px; }
.robots-panel-head p { margin: 0; color: #78839a; font-size: 13px; }
.robot-list { display: grid; gap: 0; }
.robot-card { padding: 22px; border-bottom: 1px solid rgba(28, 44, 76, .08); position: relative; }
.robot-card:last-child { border-bottom: 0; }
.robot-card.pending { background: linear-gradient(90deg, rgba(255, 248, 230, .72), rgba(255,255,255,.9)); }
.robot-card-main { display: flex; gap: 14px; align-items: center; }
.robot-machine-icon { width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; background: #f1f4fa; color: #7b879d; font-size: 21px; }
.robot-machine-icon.online { background: #e9faef; color: #18884c; box-shadow: 0 0 0 5px rgba(35, 180, 96, .08); }
.robot-card-title { flex: 1; min-width: 0; }
.robot-title-line { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.robot-title-line h3 { margin: 0 6px 0 0; font-size: 17px; }
.robot-auth-badge, .robot-online-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.robot-auth-badge.ok { background: #e9f8ef; color: #147544; }
.robot-auth-badge.pending { background: #fff0d4; color: #a25d00; }
.robot-online-badge { background: #f0f2f6; color: #7a8394; }
.robot-online-badge span { width: 7px; height: 7px; border-radius: 50%; background: #9aa3b0; }
.robot-online-badge.online { background: #eaf9f0; color: #19784a; }
.robot-online-badge.online span { background: #22b866; box-shadow: 0 0 0 4px rgba(34,184,102,.1); }
.robot-key-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; }
.robot-key-line code { background: #f3f5f9; padding: 4px 7px; border-radius: 8px; color: #36425b; }
.robot-key-line span { font-size: 12px; color: #7e899b; }
.robot-meta-grid { margin: 18px 0 0 62px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.robot-meta-grid > div { padding: 11px 12px; background: rgba(247,249,252,.86); border-radius: 12px; }
.robot-meta-grid span { display: block; color: #8993a6; font-size: 11px; margin-bottom: 4px; }
.robot-meta-grid strong { font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.robot-card-actions { margin: 16px 0 0 62px; display: flex; align-items: center; gap: 12px; }
.primary-action.compact { padding: 9px 13px; font-size: 12px; }
.robot-approved-note { color: #728098; font-size: 12px; }
.robot-approved-note i { color: #1b9a5a; margin-right: 4px; }
.robot-page-message { margin-bottom: 16px; }
.robot-form-card { max-width: 900px; }
.robot-form-card .form-field small { display: block; margin-top: 6px; color: #8791a3; font-size: 11px; line-height: 1.45; }
.robot-pending-banner { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 18px; border: 1px solid #f0d7a3; background: #fff9ed; border-radius: 15px; }
.robot-pending-banner > span { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: #fff0cf; color: #a76200; font-size: 18px; }
.robot-pending-banner strong { display: block; margin-bottom: 3px; }
.robot-pending-banner p { margin: 0; color: #7d6c52; font-size: 12px; }
.warning-box { background: #fff9ed; }
.robot-empty-state { padding: 52px 20px; text-align: center; }
.robot-empty-state > i { display: block; font-size: 34px; margin-bottom: 10px; color: #8d9ab3; }
.robot-empty-state strong { display: block; }
.robot-empty-state p { color: #8590a4; }
@media (max-width: 1050px) {
    .robot-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .robot-meta-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .robot-summary-grid { grid-template-columns: 1fr; }
    .robot-meta-grid, .robot-card-actions { margin-left: 0; }
    .robot-meta-grid { grid-template-columns: 1fr; }
}

/* ===== V3.5: wydarzenie -> konkretny robot ===== */
.event-robot-picker {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid rgba(32, 69, 121, .12);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(245, 249, 255, .98), rgba(255, 255, 255, .98));
}

.event-robot-picker-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 16px;
}

.event-robot-picker-head > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: rgba(46, 99, 255, .1);
    font-size: 20px;
}

.event-robot-picker-head div {
    display: grid;
    gap: 3px;
}

.event-robot-picker-head small {
    color: var(--muted, #738096);
}

.event-robot-link {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
    font-size: 12px;
    color: var(--muted, #738096);
}

.event-robot-link code {
    padding: 3px 7px;
    border-radius: 8px;
    background: rgba(31, 45, 61, .06);
    color: inherit;
}

.mini-live {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}

.mini-live.online {
    background: rgba(30, 190, 120, .12);
    color: #128658;
}

.mini-live.offline {
    background: rgba(120, 132, 150, .11);
    color: #6f7a8c;
}

/* ===== V3.5.1: blokowanie / odblokowanie użytkowników ===== */
.user-action-alert {
    margin-bottom: 16px;
    border-radius: 14px;
}

.user-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.user-status-badge span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.user-status-badge.active {
    background: rgba(34, 184, 102, .11);
    color: #19784a;
}

.user-status-badge.active span {
    background: #22b866;
}

.user-status-badge.blocked {
    background: rgba(218, 68, 83, .10);
    color: #b23b49;
}

.user-status-badge.blocked span {
    background: #d94757;
}

.user-toggle-form {
    display: inline-flex;
    margin: 0;
}

.user-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 104px;
    padding: 8px 11px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: .18s ease;
}

.user-toggle-btn.block {
    background: rgba(218, 68, 83, .08);
    border-color: rgba(218, 68, 83, .18);
    color: #b43a49;
}

.user-toggle-btn.block:hover {
    background: rgba(218, 68, 83, .14);
}

.user-toggle-btn.unblock {
    background: rgba(34, 184, 102, .09);
    border-color: rgba(34, 184, 102, .18);
    color: #177848;
}

.user-toggle-btn.unblock:hover {
    background: rgba(34, 184, 102, .15);
}

.user-self-note {
    color: #8a94a7;
    font-size: 11px;
    font-weight: 700;
}


/* V3.5.3 - aktywacja/deaktywacja robotów */
.robot-card.deactivated { opacity: .78; border-style: dashed; }
.robot-auth-badge.disabled { background: rgba(100,116,139,.12); color: #64748b; border-color: rgba(100,116,139,.24); }
.robot-card-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.robot-toggle-form { margin-left:auto; }

/* ===== V3.6 event catalog / multi-robot / tickets ===== */
.robot-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:14px}.robot-check-card{display:flex;gap:12px;align-items:center;border:1px solid rgba(29,39,66,.12);border-radius:16px;padding:14px;background:#fff;cursor:pointer;transition:.18s ease}.robot-check-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(25,38,65,.08)}.robot-check-card input{width:18px;height:18px}.robot-check-card:has(input:checked){border-color:rgba(225,32,58,.55);box-shadow:0 0 0 3px rgba(225,32,58,.08)}.robot-check-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.robot-check-main code{font-size:11px}.field-with-action{display:flex;gap:9px;align-items:stretch}.field-with-action>input,.field-with-action>textarea,.field-with-action>select{flex:1;min-width:0}.field-picker-btn{border:0;border-radius:12px;padding:0 15px;background:#12192a;color:#fff;font-weight:700;white-space:nowrap;cursor:pointer}.picker-modal[hidden]{display:none}.picker-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:22px}.picker-backdrop{position:absolute;inset:0;background:rgba(9,14,28,.62);backdrop-filter:blur(5px)}.picker-dialog{position:relative;z-index:1;width:min(1080px,96vw);max-height:88vh;overflow:auto;border-radius:24px;background:#f8f9fc;padding:22px;box-shadow:0 30px 100px rgba(0,0,0,.28)}.picker-dialog header{display:flex;justify-content:space-between;gap:20px}.picker-dialog h2{margin:.25rem 0}.picker-close{width:42px;height:42px;border:0;border-radius:50%;background:#fff;cursor:pointer}.picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0}.picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.picker-card{display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid rgba(29,39,66,.11);border-radius:18px;background:#fff;padding:16px;color:inherit;cursor:pointer}.picker-card:hover{border-color:rgba(225,32,58,.4);box-shadow:0 10px 28px rgba(28,39,72,.08)}.picker-card code{font-size:12px}.picker-card small,.picker-card span{color:#6e778c}.picker-card em{font-style:normal;color:#bf4d1d;font-size:12px;font-weight:700}.sector-picker-card{cursor:pointer}.sector-picker-card input{width:18px;height:18px}.picker-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-open{overflow:hidden}.event-robots-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.event-robot-link{display:inline-flex!important;gap:7px!important;align-items:center!important;width:auto!important}.event-job-count{font-size:12px;color:#68738a}.ticket-card-rich{display:flex;flex-direction:column;gap:14px}.ticket-facts{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.ticket-facts span{display:flex;flex-direction:column;gap:3px;border:1px solid rgba(30,40,65,.08);border-radius:12px;background:rgba(255,255,255,.75);padding:10px}.ticket-facts i{font-size:16px}.ticket-facts b{font-size:11px;text-transform:uppercase;color:#7a8396}.ticket-session-note{display:block;color:#7b8494}.inline-form{display:inline}.secondary-action.compact{padding:10px 13px}.lap-info{margin-top:14px}.mini-live{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px}.mini-live.online{background:#e9f8ef;color:#168346}.mini-live.offline{background:#f0f2f6;color:#6d7688}@media(max-width:760px){.field-with-action{flex-direction:column}.field-picker-btn{min-height:42px}.ticket-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============================================================
   V3.6.14 — sektory, bilety pionowo, akcje wydarzeń
   ============================================================ */
.picker-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.picker-dialog footer{align-items:center;flex-wrap:wrap}
.picker-footer-note{margin-right:auto;color:#69758b;font-size:12px;font-weight:650}

.ticket-board.ticket-board-vertical{grid-template-columns:1fr;max-width:980px}
.ticket-card-vertical{width:100%;box-sizing:border-box}
.ticket-detail-list{display:flex;flex-direction:column;border:1px solid rgba(30,40,65,.09);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.82)}
.ticket-detail-list>div{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:16px;align-items:start;padding:10px 13px;border-bottom:1px solid rgba(30,40,65,.07)}
.ticket-detail-list>div:last-child{border-bottom:0}
.ticket-detail-list span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7a8396;font-weight:750}
.ticket-detail-list strong{min-width:0;overflow-wrap:anywhere;font-size:14px;color:#14213d}
.ticket-card-vertical .ticket-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ticket-card-vertical .checkout-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}

.event-row-side{display:flex;align-items:flex-end;flex-direction:column;gap:9px;margin-left:auto}
.event-action-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.event-action-btn{border:1px solid #dce4ef;background:#fff;color:#263650;border-radius:10px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;text-decoration:none;cursor:pointer;white-space:nowrap}
.event-action-btn:hover{background:#f4f7fb}
.event-action-btn.warning{color:#a96500;background:#fff9ec;border-color:#f2dfb9}
.event-action-btn.success{color:#137a43;background:#edf9f2;border-color:#cbead8}
.event-action-btn.danger{color:#b42335;background:#fff2f4;border-color:#f3c9d0}
.status-chip.inactive{background:#eef1f5;color:#6d7688}
.event-list-actions .event-linked-row{align-items:flex-start}

@media(max-width:760px){
  .picker-toolbar{align-items:flex-start;flex-direction:column}
  .ticket-detail-list>div{grid-template-columns:1fr;gap:3px}
  .event-linked-row{flex-wrap:wrap}
  .event-row-side{width:100%;align-items:flex-start;margin-left:0}
  .event-action-buttons{justify-content:flex-start}
}

/* ============================================================
   V3.6.15 — historia zadań, kompaktowe bilety, alerty, paginacja
   ============================================================ */
.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pager{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-top:1px solid rgba(30,40,65,.08);flex-wrap:wrap}
.pager-info{font-size:12px;color:#778298;font-weight:650}
.pager-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pager-btn{min-width:34px;height:34px;padding:0 10px;border:1px solid #dce4ef;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#33415b;background:#fff;font-size:12px;font-weight:750}
.pager-btn:hover{background:#f4f7fb}.pager-btn.active{background:#141c2e;color:#fff;border-color:#141c2e}.pager-btn.disabled{pointer-events:none;opacity:.38}.pager-gap{color:#8a94a6;padding:0 3px}

.job-history-list{display:flex;flex-direction:column}
.job-history-row{display:flex;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(30,40,65,.08);align-items:flex-start}
.job-history-row:last-child{border-bottom:0}
.job-history-main{flex:1;min-width:0}.job-history-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.job-history-title strong{font-size:14px}.job-history-title code{background:#f3f5f8;border-radius:8px;padding:3px 7px;font-size:11px}.job-history-title span{font-size:11px;color:#778298}.job-history-meta{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;font-size:11px;color:#7a8598}.job-history-meta b{color:#39465c}.job-history-summary{margin:8px 0 0;color:#5d6980;font-size:12px}.job-history-side{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.job-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.job-status.pending{background:#eef4ff;color:#325dbe}.job-status.processing{background:#fff4dd;color:#a86500}.job-status.completed{background:#eaf8ef;color:#177a48}.job-status.error{background:#fff0f2;color:#b32d3e}.job-status.cancelled{background:#eef1f5;color:#697386}.job-history-details{margin-top:10px}.job-history-details summary{cursor:pointer;color:#4b5b76;font-size:12px;font-weight:750}.job-detail-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-detail-grid>div{padding:10px 12px;border:1px solid rgba(30,40,65,.08);border-radius:11px;background:#fbfcfe}.job-detail-grid .wide{grid-column:1/-1}.job-detail-grid span{display:block;font-size:10px;text-transform:uppercase;color:#8791a2;font-weight:800;margin-bottom:4px}.job-detail-grid strong,.job-detail-grid pre{font-size:12px;color:#27344b;overflow-wrap:anywhere}.job-detail-grid pre{white-space:pre-wrap;margin:0;max-height:320px;overflow:auto}

.ticket-table-panel{padding:0;overflow:hidden}.ticket-compact-list{display:flex;flex-direction:column}.ticket-compact-row{border-bottom:1px solid rgba(30,40,65,.08);background:#fff}.ticket-compact-row:last-child{border-bottom:0}.ticket-compact-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 16px}.ticket-expand-btn{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:9px;text-align:left;min-width:0;color:#17243d;font-weight:750;cursor:pointer}.ticket-expand-btn i{transition:.18s ease;color:#7b879a}.ticket-expand-btn.open i{transform:rotate(90deg)}.ticket-expand-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-compact-numbers{display:flex;gap:12px;align-items:center;font-size:11px;color:#7b8698}.ticket-compact-numbers b{font-size:12px;color:#263650}.ticket-compact-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.checkout-btn.compact{padding:8px 10px;font-size:11px;white-space:nowrap}.ticket-compact-detail{padding:0 16px 14px 42px}.compact-details{border-radius:11px}.compact-details>div{padding:8px 11px}.compact-details span{font-size:10px}.compact-details strong{font-size:12px}

.notification-history-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid rgba(30,40,65,.08);color:#42516b;text-decoration:none;font-size:12px;font-weight:800}.notification-history-link:hover{background:#f7f9fc}.notification-history-link span{display:flex;align-items:center;gap:8px}.notification-history-list{display:flex;flex-direction:column}.notification-history-row{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border-bottom:1px solid rgba(30,40,65,.08)}.notification-history-row:last-child{border-bottom:0}.notification-history-row.unread{background:rgba(238,245,255,.45)}.notification-history-icon{width:38px;height:38px;border-radius:12px;background:#f1f4f9;display:grid;place-items:center;color:#4d5c76;flex:0 0 auto}.notification-history-copy{flex:1;min-width:0}.notification-history-copy strong{font-size:13px}.notification-history-copy p{margin:4px 0;color:#5f6b80;font-size:12px}.notification-history-copy small{font-size:10px;color:#8a94a6}.notification-history-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.list-filter-tabs{display:flex;gap:6px;padding:12px 18px;border-bottom:1px solid rgba(30,40,65,.08);flex-wrap:wrap}.list-filter-tabs a{padding:7px 10px;border-radius:9px;text-decoration:none;color:#657086;font-size:11px;font-weight:800;background:#f4f6f9}.list-filter-tabs a.active{background:#172238;color:#fff}.error-item.resolved{opacity:.62}

@media(max-width:900px){.ticket-compact-head{grid-template-columns:1fr}.ticket-compact-numbers,.ticket-compact-actions{justify-content:flex-start}.job-history-row{flex-direction:column}.job-history-side{align-items:flex-start}.notification-history-row{flex-wrap:wrap}.notification-history-actions{width:100%;justify-content:flex-start}}
@media(max-width:650px){.job-detail-grid{grid-template-columns:1fr}.ticket-compact-detail{padding-left:16px}.ticket-expand-btn span{white-space:normal}.pager{align-items:flex-start;flex-direction:column}}

/* V3.7.0 — postęp zakupów wielu sesji */
.event-progress-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .58rem;border:1px solid rgba(80,105,150,.18);border-radius:999px;background:rgba(255,255,255,.66);font-size:.78rem;white-space:nowrap}
.event-progress-chip b{font-variant-numeric:tabular-nums}
.event-progress-track{display:inline-block;vertical-align:middle;width:86px;height:6px;margin-left:.35rem;overflow:hidden;border-radius:999px;background:rgba(90,110,145,.14)}
.event-progress-track>i{display:block;height:100%;border-radius:inherit;background:currentColor;opacity:.72}

/* ============================================================
   V3.7.1 — PERSISTENT DARK THEME
   ============================================================ */
html.theme-dark{
  --text:#e8eefb;
  --muted:#9aa8c3;
  --line:#293750;
  --bg:#0b1220;
  --card:rgba(17,26,43,.94);
  --glass:rgba(17,26,43,.88);
  --shadow:0 16px 45px rgba(0,0,0,.28);
  color-scheme:dark;
}
html.theme-dark body,
html.theme-dark body.admin-body{
  color:var(--text);
  background:
    radial-gradient(circle at 74% 3%,rgba(51,87,190,.15),transparent 28%),
    radial-gradient(circle at 95% 35%,rgba(164,31,47,.10),transparent 24%),
    #0a1120;
}
html.theme-dark .sidebar-inner,
html.theme-dark .profile-chip,
html.theme-dark .icon-btn,
html.theme-dark .glass-card,
html.theme-dark .panel-card,
html.theme-dark .notification-dropdown,
html.theme-dark .heading-badge,
html.theme-dark .ticket-compact-row,
html.theme-dark .event-ops-row,
html.theme-dark .ops-row,
html.theme-dark .event-row,
html.theme-dark .activity-row,
html.theme-dark .search-box,
html.theme-dark .users-table td,
html.theme-dark .form-card,
html.theme-dark .form-panel,
html.theme-dark .module-card,
html.theme-dark .robot-card,
html.theme-dark .robot-row,
html.theme-dark .job-card,
html.theme-dark .job-row,
html.theme-dark .error-row,
html.theme-dark .notification-row,
html.theme-dark .pagination-shell{
  background:rgba(17,26,43,.94)!important;
  border-color:#2a3850!important;
  color:#e8eefb!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
html.theme-dark .side-link{color:#c8d2e6}
html.theme-dark .side-link:hover{background:#162238;color:#fff}
html.theme-dark .side-link.active{color:#fff}
html.theme-dark .sidebar-divider{background:#28364c}
html.theme-dark .logout-link:hover{background:#331a25;color:#ff8791}
html.theme-dark .sidebar-footer,
html.theme-dark .toolbar-meta,
html.theme-dark .stat-copy span,
html.theme-dark .event-main span,
html.theme-dark .activity-row time,
html.theme-dark .page-heading p,
html.theme-dark .hero-content p,
html.theme-dark .soft-note,
html.theme-dark .form-help,
html.theme-dark small{
  color:#95a5c1!important;
}
html.theme-dark .panel-heading h2,
html.theme-dark .stat-copy strong,
html.theme-dark .event-main strong,
html.theme-dark .page-heading h1,
html.theme-dark .hero-content h1,
html.theme-dark .ticket-expand-btn,
html.theme-dark .ticket-detail-list strong,
html.theme-dark .users-table td,
html.theme-dark .robots-list strong{
  color:#edf3ff!important;
}
html.theme-dark .panel-heading>div:first-child>i,
html.theme-dark .event-date i{color:#8db4ff}
html.theme-dark .hero-panel{
  background:
    linear-gradient(90deg,rgba(8,15,29,.99) 0%,rgba(8,15,29,.94) 28%,rgba(8,15,29,.56) 56%,rgba(8,15,29,.20) 100%),
    url('hero-stadium.webp') right center/cover no-repeat;
  border-color:#25334a;
}
html.theme-dark .page-heading{
  background:
    linear-gradient(90deg,rgba(8,15,29,.99),rgba(8,15,29,.91) 48%,rgba(8,15,29,.45)),
    url('hero-stadium.webp') right center/cover no-repeat;
  border-color:#25334a;
}
html.theme-dark .icon-btn:hover{background:#1b2940}
html.theme-dark .notify-badge{border-color:#101a2b}
html.theme-dark .notification-dropdown-head,
html.theme-dark .notification-list,
html.theme-dark .notification-item,
html.theme-dark .error-widget,
html.theme-dark .error-mini{
  border-color:#2b3950!important;
}
html.theme-dark .error-widget{background:rgba(12,20,34,.72)}
html.theme-dark .error-mini{background:#142136!important}
html.theme-dark .error-item{background:#142136!important;border-color:#2b3950!important}
html.theme-dark .error-mini:hover,
html.theme-dark .notification-item:hover{background:#18253a!important}
html.theme-dark input:not([type="checkbox"]):not([type="radio"]),
html.theme-dark textarea,
html.theme-dark select,
html.theme-dark .form-control,
html.theme-dark .form-select,
html.theme-dark .field-control{
  background:#111c2e!important;
  border-color:#304059!important;
  color:#edf3ff!important;
}
html.theme-dark input::placeholder,
html.theme-dark textarea::placeholder{color:#7486a5!important}
html.theme-dark .field-control input{background:transparent!important}
html.theme-dark .users-table th,
html.theme-dark .table th,
html.theme-dark .ticket-detail-list span{color:#8f9fbb!important}
html.theme-dark .table,
html.theme-dark .table td,
html.theme-dark .table th{color:#e8eefb;border-color:#2a3850}
html.theme-dark code{color:#9fc0ff;background:#101a2b}
html.theme-dark .id-pill,
html.theme-dark .role-badge.user,
html.theme-dark .status.later{background:#1b2940;color:#b9c7df}
html.theme-dark .event-progress-track{background:#233149!important}
html.theme-dark .ticket-compact-detail{border-color:#2b3950!important}
html.theme-dark .ticket-status{border-color:#3a4961!important}
html.theme-dark .pagination a,
html.theme-dark .pagination span,
html.theme-dark .page-link{
  background:#111c2e!important;
  border-color:#304059!important;
  color:#cdd8eb!important;
}
html.theme-dark .pagination .active,
html.theme-dark .page-item.active .page-link{background:#ef2738!important;color:#fff!important;border-color:#ef2738!important}
html.theme-dark .theme-toggle{color:#ffd36d}
html.theme-dark .brand img{filter:brightness(1.2)}

/* ============================================================
   V3.7.3 — DARK THEME SURFACE POLISH
   Wszystkie robocze "boxy" pozostają ciemne w trybie nocnym.
   ============================================================ */
html.theme-dark .quick-actions a,
html.theme-dark .robot-status-row,
html.theme-dark .robot-transport-info > div,
html.theme-dark .robot-empty,
html.theme-dark .robot-meta-grid > div,
html.theme-dark .robot-check-card,
html.theme-dark .picker-dialog,
html.theme-dark .picker-card,
html.theme-dark .picker-close,
html.theme-dark .ticket-detail-list,
html.theme-dark .job-detail-grid > div,
html.theme-dark .notification-history-icon,
html.theme-dark .list-filter-tabs a,
html.theme-dark .event-progress-chip,
html.theme-dark .pager-btn,
html.theme-dark .launch-card{
  background:#101a2b!important;
  border-color:#2a3952!important;
  color:#e8eefb!important;
  box-shadow:none;
}

html.theme-dark .quick-actions a:hover,
html.theme-dark .robot-status-row:hover,
html.theme-dark .picker-card:hover,
html.theme-dark .pager-btn:hover,
html.theme-dark .notification-history-link:hover{
  background:#142138!important;
}

html.theme-dark .quick-actions a > i,
html.theme-dark .robot-summary-icon,
html.theme-dark .robot-machine-icon,
html.theme-dark .notification-history-icon{
  background:#172641!important;
  color:#8db4ff!important;
}
html.theme-dark .robot-summary-icon.ok,
html.theme-dark .robot-machine-icon.online{background:#102d25!important;color:#58d89a!important}
html.theme-dark .robot-summary-icon.warn{background:#302513!important;color:#f0b85d!important}
html.theme-dark .robot-summary-icon.live{background:#102a36!important;color:#6ed3ff!important}

html.theme-dark .quick-actions strong,
html.theme-dark .robot-status-row strong,
html.theme-dark .robot-transport-info strong,
html.theme-dark .robot-meta-grid strong,
html.theme-dark .job-history-title strong,
html.theme-dark .job-detail-grid strong,
html.theme-dark .job-detail-grid pre,
html.theme-dark .ticket-compact-numbers b{
  color:#edf3ff!important;
}
html.theme-dark .quick-actions span,
html.theme-dark .robot-info span,
html.theme-dark .robot-state small,
html.theme-dark .robot-transport-info small,
html.theme-dark .robot-meta-grid span,
html.theme-dark .event-job-count,
html.theme-dark .job-history-title span,
html.theme-dark .job-history-meta,
html.theme-dark .job-history-summary,
html.theme-dark .notification-history-copy p,
html.theme-dark .notification-history-copy small,
html.theme-dark .ticket-compact-numbers{
  color:#95a5c1!important;
}
html.theme-dark .job-history-meta b{color:#c7d3e8!important}
html.theme-dark .job-history-details summary{color:#aebddb!important}

html.theme-dark .robot-transport-info,
html.theme-dark .robots-panel-head,
html.theme-dark .robot-card,
html.theme-dark .ticket-compact-row,
html.theme-dark .job-history-row,
html.theme-dark .notification-history-row,
html.theme-dark .list-filter-tabs,
html.theme-dark .pager,
html.theme-dark .ticket-detail-list > div{
  border-color:#27364d!important;
}

html.theme-dark .robot-card.pending{
  background:linear-gradient(90deg,rgba(48,37,19,.54),rgba(16,26,43,.96))!important;
}
html.theme-dark .robot-key-line code,
html.theme-dark .job-history-title code{
  background:#0d1727!important;
  color:#9fc0ff!important;
}

html.theme-dark .event-action-btn{
  background:#111c2e!important;
  border-color:#304059!important;
  color:#dce6f7!important;
}
html.theme-dark .event-action-btn:hover{background:#17253b!important}
html.theme-dark .event-action-btn.warning{background:#2a2113!important;border-color:#5a4725!important;color:#f1bd62!important}
html.theme-dark .event-action-btn.success{background:#10291f!important;border-color:#24573e!important;color:#68d99a!important}
html.theme-dark .event-action-btn.danger{background:#2b171d!important;border-color:#5d2c38!important;color:#ff8b99!important}

html.theme-dark .ops-row{background:#111c2e!important;border-color:#2a3850!important;color:#e8eefb!important}
html.theme-dark .ticket-compact-row{background:#101a2b!important}
html.theme-dark .ticket-compact-row:hover{background:#121f34!important}
html.theme-dark .ticket-detail-list{background:#0d1727!important}
html.theme-dark .ticket-detail-list > div{background:transparent!important}
html.theme-dark .ticket-expand-btn{color:#eef3ff!important}
html.theme-dark .ticket-expand-btn i{color:#8396b8!important}
html.theme-dark .checkout-btn{background:#172641!important;border-color:#31517e!important;color:#b9d2ff!important}
html.theme-dark .checkout-btn:hover{background:#1b2e4d!important}

/* Statusy zachowują kolory, ale bez jasnych pastelowych teł. */
html.theme-dark .ticket-status.in_cart{background:#162b4a!important;color:#8ab8ff!important}
html.theme-dark .ticket-status.unpaid{background:#332712!important;color:#efbd64!important}
html.theme-dark .ticket-status.paid{background:#112d22!important;color:#65d99a!important}
html.theme-dark .ticket-status.sold{background:#281c3c!important;color:#c4a0ff!important}
html.theme-dark .ticket-status.cancelled{background:#1c2637!important;color:#a9b5c8!important}

html.theme-dark .status-chip.active,
html.theme-dark .mini-live.online,
html.theme-dark .robot-auth-badge.ok,
html.theme-dark .robot-online-badge.online,
html.theme-dark .robot-summary{
  background:#102d22!important;
  color:#64d99b!important;
}
html.theme-dark .status-chip.inactive,
html.theme-dark .mini-live.offline,
html.theme-dark .robot-online-badge,
html.theme-dark .robot-auth-badge.disabled{
  background:#1b2638!important;
  color:#a6b3c8!important;
}
html.theme-dark .robot-auth-badge.pending,
html.theme-dark .job-status.processing{background:#332711!important;color:#efbd64!important}
html.theme-dark .job-status.pending{background:#172946!important;color:#90b9ff!important}
html.theme-dark .job-status.completed{background:#102d22!important;color:#65d99a!important}
html.theme-dark .job-status.error{background:#321820!important;color:#ff8d9b!important}
html.theme-dark .job-status.cancelled{background:#1c2637!important;color:#a9b5c8!important}

html.theme-dark .soft-count,
html.theme-dark .id-pill,
html.theme-dark .role-badge.user{
  background:#17243a!important;
  color:#b9c7df!important;
}
html.theme-dark .empty-big strong,
html.theme-dark .robot-empty strong{color:#dce6f7!important}
html.theme-dark .empty-big,
html.theme-dark .robot-empty{color:#94a4c0!important}

html.theme-dark .notification-history-row.unread{background:#12213a!important}
html.theme-dark .list-filter-tabs a.active{background:#243754!important;color:#fff!important}
html.theme-dark .notification-history-link{color:#b9c7df!important;border-color:#2a3850!important}

/* Modal wyboru sektorów / robotów także pozostaje nocny. */
html.theme-dark .picker-dialog{background:#0d1727!important}
html.theme-dark .picker-card{background:#111c2e!important}
html.theme-dark .picker-card small,
html.theme-dark .picker-card span,
html.theme-dark .picker-footer-note{color:#95a5c1!important}
html.theme-dark .picker-close{background:#17243a!important;color:#e8eefb!important}

/* ============================================================
   V3.7.5 — DARK FORM / ALERT POLISH + PNG LOGO
   ============================================================ */
html.theme-dark .event-robot-picker,
html.theme-dark .filter-toggle,
html.theme-dark .admin-choice,
html.theme-dark .form-info-box,
html.theme-dark .credentials-alert,
html.theme-dark .robot-pending-banner,
html.theme-dark .warning-box,
html.theme-dark .ticket-facts span{
  background:#101a2b!important;
  border-color:#2a3952!important;
  color:#e8eefb!important;
  box-shadow:none!important;
}

html.theme-dark .event-robot-picker{
  background:linear-gradient(135deg,#101a2b,#0e1828)!important;
}
html.theme-dark .event-robot-picker-head>span,
html.theme-dark .admin-choice-icon,
html.theme-dark .credentials-icon{
  background:#172641!important;
  color:#8db4ff!important;
}
html.theme-dark .event-robot-picker-head strong,
html.theme-dark .robot-check-main b,
html.theme-dark .filter-toggle-copy strong,
html.theme-dark .admin-choice strong,
html.theme-dark .form-info-box strong,
html.theme-dark .credentials-alert strong{
  color:#edf3ff!important;
}
html.theme-dark .event-robot-picker-head small,
html.theme-dark .robot-check-main small,
html.theme-dark .filter-toggle-copy small,
html.theme-dark .admin-choice small,
html.theme-dark .form-info-box p,
html.theme-dark .credentials-alert p,
html.theme-dark .credentials-alert small,
html.theme-dark .field-help,
html.theme-dark .form-field>span{
  color:#95a5c1!important;
}
html.theme-dark .robot-check-card{
  background:#111c2e!important;
  border-color:#304059!important;
  color:#edf3ff!important;
  box-shadow:none!important;
}
html.theme-dark .robot-check-card:hover{
  background:#142138!important;
  border-color:#3b4e6c!important;
}
html.theme-dark .robot-check-card:has(input:checked){
  background:#151d31!important;
  border-color:rgba(239,39,56,.68)!important;
  box-shadow:0 0 0 3px rgba(239,39,56,.10)!important;
}
html.theme-dark .filter-toggle:hover{background:#142138!important}
html.theme-dark .filter-toggle-switch{background:#33435c!important}
html.theme-dark .filter-toggle input:checked+.filter-toggle-switch{background:#ef2538!important}
html.theme-dark .filter-toggle-switch:after{background:#f5f7fb!important}

html.theme-dark .secondary-action{
  background:#17243a!important;
  color:#d8e3f5!important;
  border-color:#304059!important;
}
html.theme-dark .secondary-action:hover{background:#1c2d47!important;color:#fff!important}
html.theme-dark .field-picker-btn{background:#17243a!important;color:#edf3ff!important;border:1px solid #304059!important}
html.theme-dark .field-picker-btn:hover{background:#1c2d47!important}

html.theme-dark .form-message{
  background:#111c2e!important;
  border:1px solid #304059!important;
  color:#d8e3f5!important;
}
html.theme-dark .form-message.info,
html.theme-dark .lap-info{
  background:#10243b!important;
  border-color:#244e78!important;
  color:#a8c8f4!important;
}
html.theme-dark .form-message.success{
  background:#10291f!important;
  border-color:#24573e!important;
  color:#68d99a!important;
}
html.theme-dark .form-message.error{
  background:#2b171d!important;
  border-color:#5d2c38!important;
  color:#ff8b99!important;
}
html.theme-dark .robot-pending-banner,
html.theme-dark .warning-box{
  background:#2a2113!important;
  border-color:#5a4725!important;
  color:#f1bd62!important;
}
html.theme-dark .robot-pending-banner>span{background:#3a2b14!important;color:#f1bd62!important}
html.theme-dark .credentials-alert{background:#10291f!important;border-color:#24573e!important}
html.theme-dark .credentials-icon{background:#173526!important;color:#68d99a!important}
html.theme-dark .credentials-alert code{background:#0d1d17!important;color:#72dda2!important}

/* Alerty pod dzwonkiem — nowe i przeczytane nie rozjaśniają nocnego motywu. */
html.theme-dark .notification-dropdown{
  background:#0f192a!important;
  border-color:#2a3952!important;
}
html.theme-dark .notification-dropdown-head{
  background:#101a2b!important;
  border-color:#2a3952!important;
}
html.theme-dark .notification-dropdown-head strong{color:#edf3ff!important}
html.theme-dark .notification-dropdown-head span{color:#95a5c1!important}
html.theme-dark .notification-list{background:#0f192a!important}
html.theme-dark .notification-item{
  background:transparent!important;
  color:#e8eefb!important;
}
html.theme-dark .notification-item.unread{
  background:#13233b!important;
  box-shadow:inset 3px 0 0 #2f73d9;
}
html.theme-dark .notification-item.read{background:#0f192a!important;opacity:.72}
html.theme-dark .notification-item:hover{background:#182a45!important}
html.theme-dark .notification-icon{background:#172641!important;color:#8db4ff!important}
html.theme-dark .notification-copy strong{color:#edf3ff!important}
html.theme-dark .notification-copy>span{color:#b0bdd2!important}
html.theme-dark .notification-copy small{color:#8293b0!important}
html.theme-dark .notification-empty{color:#95a5c1!important}
html.theme-dark .notification-empty i{color:#6f86aa!important}
html.theme-dark .notification-empty strong{color:#dce6f7!important}
html.theme-dark .notification-history-row{background:#0f192a!important}
html.theme-dark .notification-history-row.unread{
  background:#13233b!important;
  box-shadow:inset 3px 0 0 #2f73d9;
}
html.theme-dark .notification-history-copy strong{color:#edf3ff!important}

/* Logo PNG ma własne kolory — bez dodatkowego rozjaśniania w dark mode. */
html.theme-dark .brand img,
html.theme-dark .login-logo{filter:none!important}


/* V3.8.3 — katalog miejsc PZPN: pojedynczy sektor */
.seat-page-heading{min-height:auto}.seat-heading-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.seat-check-card{padding:16px;margin-bottom:14px}.seat-check-grid{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(210px,.9fr) minmax(210px,.9fr) minmax(190px,auto);gap:12px;align-items:end}.seat-check-grid label,.seat-check-action,.seat-result-filter-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}.seat-check-grid label>span,.seat-check-action>span,.seat-result-filter-grid label>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7f8ba1;font-weight:800}.seat-check-grid select,.seat-result-filter-grid input,.seat-result-filter-grid select{width:100%;min-height:44px;border:1px solid #dfe5ee;border-radius:11px;background:#fff;padding:9px 11px;color:#1c2940}.seat-check-action .primary-action{min-height:44px;justify-content:center;white-space:nowrap}.seat-check-action .primary-action:disabled{opacity:.5;cursor:not-allowed}.seat-rate-warning{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f3ddb0;color:#795918}.seat-rate-warning>i{font-size:17px;margin-top:1px}.seat-rate-warning>div{display:flex;flex-direction:column;gap:2px}.seat-rate-warning strong{font-size:11px}.seat-rate-warning span{font-size:10px;line-height:1.45}.seat-live-status{min-height:17px;margin-top:8px;font-size:11px;font-weight:700;color:#63728a}
.seat-sector-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:14px;padding:0;overflow:hidden}.seat-sector-meta>div{padding:14px 16px;border-right:1px solid #e8edf4;min-width:0}.seat-sector-meta>div:last-child{border-right:0}.seat-sector-meta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8390a3;font-weight:800;margin-bottom:5px}.seat-sector-meta strong{display:block;font-size:18px;color:#1c2940;overflow:hidden;text-overflow:ellipsis}.seat-sector-meta small{display:block;margin-top:3px;font-size:9px;color:#8d98aa}.seat-sector-meta .seat-meta-date{font-size:13px;padding-top:3px}
.seat-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-bottom:14px}.seat-summary-card{padding:14px 15px;display:flex;flex-direction:column;gap:4px}.seat-summary-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7d899d;font-weight:800}.seat-summary-card>strong{font-size:24px;color:#1c2940}.seat-summary-card>small{font-size:9px;color:#8a96a9}.seat-summary-card.status-free{border-left:3px solid #22a56a}.seat-summary-card.status-unavailable{border-left:3px solid #7d8da8}.seat-summary-card.status-reserved{border-left:3px solid #e4a321}.seat-summary-card.status-sold{border-left:3px solid #d24b55}.seat-summary-card.status-other{border-left:3px solid #7d8da8}.seat-status-note{margin-bottom:14px}
.seat-result-filter-card{padding:14px 16px;margin-bottom:14px}.seat-result-filter-grid{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(260px,1fr) auto;gap:12px;align-items:end}.seat-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seat-empty-sector{margin-bottom:14px}
.seat-table-card{padding:0;overflow:hidden}.seat-table-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid #e8edf4}.seat-table-head h2{font-size:16px;margin:0 0 3px}.seat-table-head p,.seat-table-head span{font-size:11px;color:#7e8ba0;margin:0}.seat-table{padding:0 10px}.seat-table td{vertical-align:middle}.seat-table td small{display:block;margin-top:3px;color:#8a95a7;font-size:9px}.seat-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.seat-status-badge.free{background:#e9f8f0;color:#17794c}.seat-status-badge.unavailable{background:#edf1f7;color:#596982}.seat-status-badge.reserved{background:#fff3d9;color:#9b6810}.seat-status-badge.sold{background:#fdebed;color:#a42b35}.seat-status-badge.other{background:#edf1f7;color:#596982}.seat-flags{display:flex;gap:4px;flex-wrap:wrap}.seat-flags span{font-size:9px;border-radius:6px;padding:3px 5px;background:#f0f3f8;color:#65758e}.seat-flags em{font-size:10px;color:#9aa4b3}.seat-table code{font-size:9px}.seat-table td:first-child small{white-space:nowrap}
@media(max-width:1180px){.seat-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-check-action{align-self:end}.seat-sector-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-sector-meta>div:nth-child(2){border-right:0}.seat-sector-meta>div:nth-child(-n+2){border-bottom:1px solid #e8edf4}}
@media(max-width:820px){.seat-result-filter-grid{grid-template-columns:1fr 1fr}.seat-filter-actions{grid-column:1/-1}.seat-table-head{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.seat-check-grid,.seat-result-filter-grid,.seat-sector-meta{grid-template-columns:1fr}.seat-filter-actions{grid-column:auto}.seat-sector-meta>div{border-right:0!important;border-bottom:1px solid #e8edf4}.seat-sector-meta>div:last-child{border-bottom:0}}
html.theme-dark .seat-check-grid select,html.theme-dark .seat-result-filter-grid input,html.theme-dark .seat-result-filter-grid select{background:#111c2e!important;border-color:#304059!important;color:#edf3ff!important}html.theme-dark .seat-rate-warning{background:#2d2516;border-color:#5b4921;color:#f2ce7d}html.theme-dark .seat-live-status{color:#aebbd0}html.theme-dark .seat-sector-meta>div,html.theme-dark .seat-table-head{border-color:#2a3850}html.theme-dark .seat-sector-meta strong,html.theme-dark .seat-summary-card>strong{color:#edf3ff}html.theme-dark .seat-status-badge.free{background:#123323;color:#6fe0a0}html.theme-dark .seat-status-badge.unavailable{background:#1d2a40;color:#b5c4db}html.theme-dark .seat-status-badge.reserved{background:#332713;color:#f0bd60}html.theme-dark .seat-status-badge.sold{background:#3a1b20;color:#f0838c}html.theme-dark .seat-status-badge.other{background:#1d2a40;color:#b5c4db}html.theme-dark .seat-flags span{background:#1b2940;color:#a9b9d0}

/* V3.9.0 — dane osób / tryb Zakup PZPN */
.purchase-config-card{margin:22px 0;padding:20px;border:1px solid rgba(97,119,175,.2);border-radius:22px;background:linear-gradient(180deg,rgba(248,250,255,.98),rgba(244,247,253,.94));box-shadow:0 14px 36px rgba(70,91,140,.08)}
.purchase-config-card[hidden],.purchase-source-panel[hidden]{display:none!important}
.purchase-config-head,.purchase-source-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.purchase-config-head{margin-bottom:18px;justify-content:flex-start}.purchase-config-head>div,.purchase-source-heading>div{display:flex;flex-direction:column;gap:3px}
.purchase-config-head strong,.purchase-source-heading strong{font-size:16px}.purchase-config-head small,.purchase-source-heading small{color:#72809a;line-height:1.45}
.purchase-config-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff1f1;color:#d92332;font-size:20px;flex:0 0 auto}
.purchase-source-row,.purchase-test-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);gap:16px;align-items:end}
.purchase-test-grid{grid-template-columns:repeat(3,minmax(180px,1fr));margin-top:14px}
.purchase-source-panel{margin-top:18px;padding-top:18px;border-top:1px solid rgba(97,119,175,.14)}
.purchase-count-card{min-height:78px;border:1px solid rgba(97,119,175,.16);border-radius:16px;background:#fff;padding:12px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.purchase-count-card small{grid-column:1/-1;color:#7d8aa2;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.purchase-count-card strong{font-size:28px;line-height:1}.purchase-count-card span{font-size:12px;color:#7d8aa2}.purchase-count-card span.ok{color:#168647}.purchase-count-card span.bad{color:#c9333e}
.purchase-friend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.purchase-friend-card{position:relative;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(97,119,175,.16);border-radius:16px;background:#fff;cursor:pointer;transition:.15s ease}.purchase-friend-card:hover{border-color:rgba(50,89,184,.38);transform:translateY(-1px)}.purchase-friend-card:has(input:checked){border-color:#5074d7;box-shadow:0 0 0 2px rgba(80,116,215,.1)}.purchase-friend-card input{width:18px;height:18px;flex:0 0 auto}.purchase-friend-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.purchase-friend-main strong{font-size:14px}.purchase-friend-main small{font-size:12px;color:#7c879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-person-kind{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.purchase-person-kind.adult{background:#edf3ff;color:#315fbf}.purchase-person-kind.child{background:#fff4df;color:#a56c05}.purchase-selection-status{margin-top:10px;font-size:12px;font-weight:700}.purchase-selection-status.ok{color:#168647}.purchase-selection-status.bad{color:#c9333e}.purchase-test-note{margin-top:14px}.secondary-action.compact{padding:8px 11px;font-size:12px;white-space:nowrap}
html.theme-dark .purchase-config-card{background:linear-gradient(180deg,rgba(23,31,48,.98),rgba(18,26,41,.96));border-color:rgba(138,164,224,.16)}html.theme-dark .purchase-count-card,html.theme-dark .purchase-friend-card{background:#151f31;border-color:rgba(138,164,224,.16)}html.theme-dark .purchase-config-head small,html.theme-dark .purchase-source-heading small,html.theme-dark .purchase-count-card span,html.theme-dark .purchase-friend-main small{color:#9eabc3}
@media(max-width:900px){.purchase-friend-grid{grid-template-columns:1fr}.purchase-test-grid{grid-template-columns:1fr 1fr}.purchase-test-grid .purchase-count-card{grid-column:1/-1}}
@media(max-width:650px){.purchase-config-card{padding:15px}.purchase-source-row,.purchase-test-grid{grid-template-columns:1fr}.purchase-source-heading{align-items:flex-start;flex-direction:column}.purchase-person-kind{display:none}}


.purchase-shipping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.purchase-shipping-card{position:relative;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(97,119,175,.16);border-radius:16px;background:#fff;cursor:pointer;transition:.15s ease}.purchase-shipping-card:hover{border-color:rgba(50,89,184,.38);transform:translateY(-1px)}.purchase-shipping-card:has(input:checked){border-color:#5074d7;box-shadow:0 0 0 2px rgba(80,116,215,.1)}.purchase-shipping-card input{width:18px;height:18px;flex:0 0 auto}.purchase-shipping-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.purchase-shipping-main strong{font-size:14px}.purchase-shipping-main small,.purchase-shipping-main span{font-size:12px;color:#7c879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-shipping-panel{margin-top:20px}.purchase-shipping-panel .purchase-source-heading{margin-bottom:4px}html.theme-dark .purchase-shipping-card{background:#151f31;border-color:rgba(138,164,224,.16)}html.theme-dark .purchase-shipping-main small,html.theme-dark .purchase-shipping-main span{color:#9eabc3}@media(max-width:900px){.purchase-shipping-grid{grid-template-columns:1fr}}

/* === V3.10.2 - COMPACT SIDEBAR FOR SHORTER DESKTOP SCREENS === */
@media (min-width:901px) and (max-height:860px){
  .sidebar{padding:10px 12px}
  .sidebar-inner{padding:14px 15px;border-radius:22px}
  .brand{padding:0 9px 10px}
  .brand img{width:150px}
  .side-nav{gap:3px}
  .side-link{padding:8px 10px;gap:10px;border-radius:11px;font-size:13px}
  .side-link i{font-size:17px;width:21px}
  .sidebar-divider{margin:9px 7px 6px}
  .error-widget{margin-top:7px;padding:8px;border-radius:14px}
  .error-widget-head{margin-bottom:5px}
  .error-mini{padding:5px 6px}
  .error-more{padding-top:4px}
  .sidebar-footer{padding-top:6px;font-size:9px}
}



/* === V3.10.3 error status controls === */
.error-more{justify-content:flex-end;align-items:center}
.error-more span{display:inline-flex;align-items:center;gap:5px}
.error-item-main{min-width:0}
.error-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.error-state-badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800}
.error-state-badge.active{background:#ffe7e9;color:#d91d2f}
.error-state-badge.resolved{background:#e4f7eb;color:#16874b}
.error-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}
.error-state-form{margin:0;flex:0 0 auto}
.error-state-btn{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:9px;padding:6px 8px;font-size:8px;font-weight:800;cursor:pointer}
.error-state-btn.resolve{background:#e4f7eb;color:#16874b}
.error-state-btn.restore{background:#eef2f7;color:#5b687c}
.error-state-btn:hover{filter:brightness(.97)}
.error-item.resolved{opacity:.68;background:#f8faf9;border-color:#e3ebe6}
@media (max-width:700px){.error-item-bottom{align-items:flex-start;flex-direction:column}.error-state-form{width:100%}.error-state-btn{width:100%;justify-content:center}}

/* V3.10.9 — konto PZPN + termin płatności widoczne bez rozwijania biletu */
.ticket-title-stack{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}
.ticket-expand-btn .ticket-main-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-expand-btn .ticket-order-meta{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:10px;line-height:1.25;font-weight:650;color:#7b8698;white-space:normal;overflow:visible;text-overflow:clip}
.ticket-expand-btn .ticket-order-meta span{display:inline-flex;align-items:center;gap:4px;overflow:visible;white-space:nowrap;text-overflow:clip}
.ticket-expand-btn .ticket-order-meta i{font-size:10px;color:#8a96aa;transform:none}
.ticket-expand-btn .ticket-order-meta .ticket-payment-deadline{color:#a46314}
html.theme-dark .ticket-expand-btn .ticket-order-meta{color:#9ca9bf}
html.theme-dark .ticket-expand-btn .ticket-order-meta i{color:#8396b8}
html.theme-dark .ticket-expand-btn .ticket-order-meta .ticket-payment-deadline{color:#f0b45d}
@media(max-width:650px){.ticket-expand-btn .ticket-main-title{white-space:normal}.ticket-expand-btn .ticket-order-meta span{white-space:normal}}


/* ============================================================
   V3.11.4 — czytelny stan runu wydarzenia
   0 = czerwony, częściowy = bursztynowy, cel = ciemna zieleń.
   ============================================================ */
.event-progress-chip.progress-zero{
  background:#541923!important;border-color:#842b3a!important;color:#ffd4da!important;
}
.event-progress-chip.progress-partial{
  background:#65420d!important;border-color:#9a681d!important;color:#ffe0a1!important;
}
.event-progress-chip.progress-complete{
  background:#123d2b!important;border-color:#27714e!important;color:#8fe2b4!important;
}
.event-progress-track.progress-zero{background:#34151b!important;color:#df4b5c!important}
.event-progress-track.progress-partial{background:#352914!important;color:#d99728!important}
.event-progress-track.progress-complete{background:#183629!important;color:#37a96f!important}
.event-progress-track.progress-zero>i,
.event-progress-track.progress-partial>i,
.event-progress-track.progress-complete>i{opacity:1}
.event-linked-row.progress-zero{border-left:3px solid rgba(208,54,73,.62)}
.event-linked-row.progress-partial{border-left:3px solid rgba(210,143,35,.72)}
.event-linked-row.progress-complete{border-left:3px solid rgba(48,157,103,.8)}
.status-chip.finished{display:inline-flex;align-items:center;gap:5px;background:#123d2b!important;color:#8fe2b4!important}
.mini-live{gap:4px}
.mini-live>i{font-size:9px;line-height:1}

/* V3.12.0 — konta PZPN w panelu */
.robot-account-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}
.robot-account-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#dce4ef);border-radius:14px;background:rgba(255,255,255,.72);cursor:pointer}
.robot-account-option input{width:18px;height:18px;flex:0 0 auto}
.robot-account-option span{display:flex;flex-direction:column;gap:3px;min-width:0}
.robot-account-option b{font-size:14px;color:var(--text,#14213d)}
.robot-account-option small{font-size:12px;color:var(--muted,#7d8ca5);overflow-wrap:anywhere}
.robot-account-option.locked{opacity:.6;cursor:not-allowed;background:rgba(148,163,184,.08)}
html.theme-dark .robot-account-option{background:#101b2e;border-color:#2b3950}
html.theme-dark .robot-account-option b{color:#edf4ff}
html.theme-dark .robot-account-option small{color:#9cacbf}
.pzpn-account-list .robot-card{gap:14px}

/* ============================================================
   V3.12.1 — PZPN ACCOUNT FORM
   ============================================================ */
.pzpn-form-heading .pzpn-heading-icon{
  width:68px;height:68px;border-radius:20px;
  background:linear-gradient(145deg,#e8efff,#f5f8ff);
  color:#1769ff;box-shadow:0 12px 28px rgba(23,105,255,.12);
}
.pzpn-account-form-layout{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr);
  gap:14px;align-items:start;
}
.pzpn-account-editor{padding:0;overflow:hidden}
.pzpn-account-editor-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 24px;border-bottom:1px solid #e8edf5;
  background:linear-gradient(135deg,rgba(246,249,255,.98),rgba(255,255,255,.82));
}
.pzpn-account-editor-title{display:flex;align-items:center;gap:13px;min-width:0}
.pzpn-account-editor-icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:#e9f0ff;color:#1769ff;font-size:20px;
}
.pzpn-account-editor-title h2{margin:0;font-size:17px;font-weight:800;color:#14213d}
.pzpn-account-editor-title p{margin:4px 0 0;font-size:11px;color:#7b89a4;line-height:1.45}
.pzpn-encrypted-badge{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;
  background:#e6f8ee;color:#12804a;font-size:9px;font-weight:800;white-space:nowrap;
  border:1px solid #cceedd;
}
.pzpn-account-editor-body{padding:24px}
.pzpn-account-fields{gap:18px}
.pzpn-account-fields .form-field>span{font-size:11px;color:#43577d}
.pzpn-account-fields .form-field input,
.pzpn-account-fields .form-field textarea{
  min-height:46px;border-radius:13px;padding:12px 14px;background:#fbfcff;
  border-color:#dce4f0;font-size:12px;transition:border-color .18s,box-shadow .18s,background .18s;
}
.pzpn-account-fields .form-field textarea{min-height:104px;resize:vertical;line-height:1.5}
.pzpn-account-fields .form-field input:focus,
.pzpn-account-fields .form-field textarea:focus{
  border-color:#86aaf7;background:#fff;box-shadow:0 0 0 3px rgba(23,105,255,.09);
}
.pzpn-account-fields .field-help{display:block;margin-top:0;color:#8795ad;font-size:9px;line-height:1.5}
.pzpn-password-wrap{position:relative}
.pzpn-password-wrap input{padding-right:52px!important}
.pzpn-password-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:36px;height:34px;border:0;border-radius:10px;background:#edf2f9;color:#526788;
  display:grid;place-items:center;cursor:pointer;font-size:15px;transition:.18s;
}
.pzpn-password-toggle:hover{background:#e4ebf6;color:#1769ff}
.pzpn-account-actions{padding-top:2px;border-top:1px solid #eef2f7;margin-top:24px;padding-top:20px}
.pzpn-account-actions .primary-action,.pzpn-account-actions .secondary-action{min-width:128px}

.pzpn-security-card{padding:24px;position:relative;overflow:hidden}
.pzpn-security-card:after{
  content:"";position:absolute;width:150px;height:150px;right:-70px;top:-72px;border-radius:50%;
  background:radial-gradient(circle,rgba(23,105,255,.10),transparent 70%);pointer-events:none;
}
.pzpn-security-icon{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(145deg,#1769ff,#3f82ff);color:#fff;font-size:23px;
  box-shadow:0 12px 24px rgba(23,105,255,.22);
}
.pzpn-security-card h3{font-size:18px;margin:6px 0 8px;font-weight:800;color:#14213d}
.pzpn-security-intro{font-size:11px;line-height:1.6;color:#71809b;margin:0 0 18px}
.pzpn-security-intro code{font-size:10px;background:#edf2f9;color:#415579;padding:2px 5px;border-radius:5px}
.pzpn-security-list{display:flex;flex-direction:column;gap:10px}
.pzpn-security-list>div{
  display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid #e7edf5;
  border-radius:13px;background:#fbfcff;
}
.pzpn-security-list>div>i{
  width:30px;height:30px;border-radius:9px;background:#edf2ff;color:#1769ff;
  display:grid;place-items:center;flex:none;font-size:14px;
}
.pzpn-security-list span{display:flex;flex-direction:column;gap:3px;min-width:0}
.pzpn-security-list b{font-size:10px;color:#263a60}
.pzpn-security-list small{font-size:9px;color:#8795ad;line-height:1.45}
.pzpn-account-form-state{
  display:flex;align-items:center;gap:11px;margin-top:16px;padding:13px;border-radius:14px;
  background:linear-gradient(135deg,#132d61,#0d204b);color:#fff;
}
.pzpn-account-form-state-icon{
  width:35px;height:35px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:rgba(255,255,255,.12);font-size:15px;
}
.pzpn-account-form-state>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.pzpn-account-form-state small{font-size:8px;letter-spacing:.1em;font-weight:800;color:#9fb8ed}
.pzpn-account-form-state strong{font-size:11px;overflow-wrap:anywhere}
.pzpn-account-form-state code{font-size:9px;color:#c8d8fa;background:transparent;padding:0;overflow-wrap:anywhere}

html.theme-dark .pzpn-form-heading .pzpn-heading-icon{
  background:#172641;color:#8db4ff;box-shadow:none;
}
html.theme-dark .pzpn-account-editor-head{
  background:linear-gradient(135deg,#111c2e,#101a2b);border-color:#2a3952;
}
html.theme-dark .pzpn-account-editor-title h2,
html.theme-dark .pzpn-security-card h3{color:#edf3ff}
html.theme-dark .pzpn-account-editor-title p,
html.theme-dark .pzpn-security-intro,
html.theme-dark .pzpn-security-list small,
html.theme-dark .pzpn-account-fields .field-help{color:#95a5c1}
html.theme-dark .pzpn-account-editor-icon{
  background:#172641;color:#8db4ff;
}
html.theme-dark .pzpn-encrypted-badge{
  background:#102d22;color:#64d99b;border-color:#24573e;
}
html.theme-dark .pzpn-account-fields .form-field>span{color:#b6c3d9!important}
html.theme-dark .pzpn-account-fields .form-field input,
html.theme-dark .pzpn-account-fields .form-field textarea{
  background:#0f192a!important;border-color:#304059!important;color:#edf3ff!important;
}
html.theme-dark .pzpn-account-fields .form-field input::placeholder,
html.theme-dark .pzpn-account-fields .form-field textarea::placeholder{color:#65758f}
html.theme-dark .pzpn-account-fields .form-field input:focus,
html.theme-dark .pzpn-account-fields .form-field textarea:focus{
  background:#111d31!important;border-color:#5478b8!important;box-shadow:0 0 0 3px rgba(84,120,184,.12);
}
html.theme-dark .pzpn-password-toggle{
  background:#17243a;color:#aebddb;
}
html.theme-dark .pzpn-password-toggle:hover{background:#1d2d48;color:#fff}
html.theme-dark .pzpn-account-actions{border-color:#28374e}
html.theme-dark .pzpn-security-list>div{
  background:#101a2b;border-color:#2a3952;
}
html.theme-dark .pzpn-security-list>div>i{
  background:#172641;color:#8db4ff;
}
html.theme-dark .pzpn-security-list b{color:#edf3ff}
html.theme-dark .pzpn-security-intro code{background:#17243a;color:#b9c9e4}
html.theme-dark .pzpn-account-form-state{
  background:linear-gradient(135deg,#12284f,#0d1d3c);
}

@media(max-width:1000px){
  .pzpn-account-form-layout{grid-template-columns:1fr}
  .pzpn-security-card{order:2}
}
@media(max-width:700px){
  .pzpn-account-editor-head{align-items:flex-start;flex-direction:column}
  .pzpn-account-editor-body,.pzpn-security-card{padding:18px}
  .pzpn-account-actions{flex-direction:column-reverse}
  .pzpn-account-actions .primary-action,.pzpn-account-actions .secondary-action{width:100%}
}


/* ============================================================
   V3.15.2 — PZPN TXT ACCOUNT IMPORT
   ============================================================ */
.pzpn-account-import{
  margin-top:16px;padding:15px;border-radius:14px;
  background:linear-gradient(135deg,#132d61,#0d204b);color:#fff;
  display:flex;flex-direction:column;gap:11px;
}
.pzpn-account-import-head{display:flex;align-items:center;gap:11px}
.pzpn-account-import-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.pzpn-account-import-head small{font-size:8px;letter-spacing:.1em;font-weight:800;color:#9fb8ed}
.pzpn-account-import-head strong{font-size:12px}
.pzpn-account-import>p{margin:0;color:#c8d8fa;font-size:9px;line-height:1.55}
.pzpn-account-import>p code{font-size:9px;color:#fff;background:rgba(255,255,255,.10);padding:2px 5px;border-radius:5px}
.pzpn-import-file{
  display:flex;flex-direction:column;gap:7px;padding:11px;border-radius:11px;
  background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);cursor:pointer;
}
.pzpn-import-file>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#fff}
.pzpn-import-file input{width:100%;font-size:9px;color:#d7e4ff}
.pzpn-import-file input::file-selector-button{
  border:0;border-radius:8px;padding:7px 9px;margin-right:8px;background:#fff;color:#173466;
  font-size:9px;font-weight:800;cursor:pointer;
}
.pzpn-import-file>small{font-size:8px;color:#9fb8ed;overflow-wrap:anywhere}
.pzpn-import-submit{
  width:100%;min-height:38px;border:0;border-radius:10px;background:#1769ff;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;
  font-size:10px;font-weight:850;box-shadow:0 8px 18px rgba(23,105,255,.25);transition:.18s;
}
.pzpn-import-submit:hover{background:#2b76ff;transform:translateY(-1px)}
.pzpn-import-note{display:flex;align-items:flex-start;gap:6px;color:#9fb8ed;font-size:8px;line-height:1.45}
.pzpn-import-note i{margin-top:1px;flex:none}
.pzpn-import-error{
  display:flex;align-items:flex-start;gap:7px;padding:9px 10px;border-radius:9px;
  background:rgba(214,52,72,.18);border:1px solid rgba(255,126,143,.28);color:#ffd8dd;
  font-size:9px;line-height:1.45;
}
.pzpn-import-error i{margin-top:1px;flex:none}
html.theme-dark .pzpn-account-import{background:linear-gradient(135deg,#12284f,#0d1d3c)}
