:root{--glass:rgba(12,20,28,.70);--glass2:rgba(8,13,20,.76);--line:rgba(190,230,255,.18);--text:#f4f8ff;--muted:#aab6c2;--orange:#ff9900;--green:#56d233;--blue:#17a8ff;--red:#ff253d;--grey:#7f8b94}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden;font-family:Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#04080c}.bg{position:fixed;inset:0;background:url('/static/rooster.jpg') right center/cover no-repeat;filter:saturate(1.1) contrast(1.05);z-index:-3}.shade{position:fixed;inset:0;background:radial-gradient(circle at 78% 40%,rgba(0,0,0,.10),rgba(0,0,0,.58) 38%,rgba(0,0,0,.84) 100%),linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.45),rgba(0,0,0,.05));z-index:-2}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 20px 48px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:18px}.glass-soft{background:rgba(20,33,45,.72);border:1px solid var(--line);border-radius:15px}.hmi{height:calc(100vh - 62px);display:grid;grid-template-columns:245px 1fr;gap:20px;padding:0 16px 0 0}.sidebar{height:calc(100vh - 62px);border-radius:0 18px 18px 0;padding:16px;display:flex;flex-direction:column}.brand{min-height:162px}.logo{width:168px;display:block;margin:0 0 10px}.brand-text{font-size:16px;line-height:1.45;color:#e9f1fb}.brand-text small{display:block;color:#a8b1bb;margin-top:8px}.nav{display:flex;flex-direction:column;gap:10px}.nav-btn{height:58px;border:0;border-radius:13px;background:rgba(255,255,255,.055);color:#f2f6fb;font-size:20px;text-align:left;padding:0 18px;display:flex;align-items:center;gap:12px;cursor:pointer}.nav-btn.active{background:rgba(255,136,0,.42);outline:1px solid rgba(255,145,0,.85);color:#ffb04a}.user-panel{margin-top:auto;padding:14px;font-size:17px}.exit-btn{height:58px;margin-top:10px;border:1px solid rgba(255,55,55,.3);border-radius:13px;background:rgba(10,20,28,.68);color:#fff;font-size:19px;text-align:left;padding:0 18px}.main{min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px 0 0}.topbar{height:54px;display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center}.clock{font-size:32px;font-weight:900}.date{font-size:17px;color:#d6dde6}.timebox{text-align:right;display:flex;align-items:flex-end;gap:16px}.server-pill{height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(6,14,20,.75);padding:10px 18px;color:#20e26b;font-size:16px;font-weight:800}.screen{display:none}.screen.active{display:block}.stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:12px}.stat{height:100px;padding:16px;display:flex;align-items:center;gap:18px}.stat .icon{font-size:44px;min-width:48px;text-align:center}.stat .label{font-size:15px;color:#dde5ed}.stat strong{display:block;font-size:31px;line-height:1.1;color:#fff}.stat small{color:#b7c0c8}.orange{color:var(--orange)}.green{color:var(--green)}.blue{color:var(--blue)}.red{color:var(--red)}.white{color:#fff}.top-grid{display:grid;grid-template-columns:1.9fr .95fr;gap:12px;margin-bottom:12px}.panel{padding:16px}.panel-title{font-size:22px;font-weight:800;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.mode-pill{font-size:14px;color:#42e35e;background:rgba(36,130,42,.25);padding:6px 14px;border-radius:20px}.warehouse-row{display:grid;grid-template-columns:1fr 1px 1fr 1px 1.1fr;gap:18px;align-items:center}.separator{height:115px;background:rgba(255,255,255,.14)}.sub{font-size:15px;color:#c4ced8;margin-bottom:10px}.big-start{height:70px;width:190px;border:0;border-radius:10px;background:linear-gradient(180deg,#0d8630,#075a20);color:white;font-size:30px;font-weight:900}.big-number{font-size:38px;color:var(--orange);font-weight:900}.green-small{color:var(--green);font-size:14px}.workshop-mini-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.mini{font-size:14px}.mini:before{content:'● ';}.mini.on{color:var(--green)}.mini.off{color:#c2c9d0}.mini.unknown{color:var(--orange)}.battery-matrix{display:grid;grid-template-columns:repeat(8,24px);gap:8px;margin:10px 0}.bat-square{width:24px;height:24px;border-radius:6px;background:rgba(180,190,196,.7);box-shadow:inset 0 1px 3px rgba(255,255,255,.26)}.bat-square.on{background:linear-gradient(#72dc43,#38a921)}.bat-square.off{background:rgba(190,195,198,.72)}.bat-square.unknown{background:rgba(255,180,60,.72)}.battery-caption{display:flex;gap:18px;font-size:14px}.battery-caption span:first-child{color:var(--green)}.alarm-ok{font-size:34px;font-weight:900;color:var(--green);margin:14px 0}.alarm-ok.bad{color:var(--red)}.soft-button{height:40px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#f5f9ff;padding:0 18px;font-size:16px}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px}.shop-card{min-height:235px;border-radius:15px;border:1px solid var(--line);background:rgba(13,22,30,.68);padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.shop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.shop-title{font-size:22px;font-weight:900}.state{border-radius:9px;padding:5px 11px;font-size:14px;background:rgba(255,255,255,.08)}.state.on{color:#5df44b;background:rgba(50,170,60,.25)}.state.off{color:#e6edf4}.state.unknown{color:#ffbc57}.metric{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.055);padding:4px 0;font-size:15px}.metric b{font-weight:500;color:#e7edf5}.metric span{font-weight:800;color:#30c8ff}.metric span.bad{color:#ffbc57}.batteries{display:flex;gap:8px;margin-top:13px}.bat{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(175,185,190,.35);font-weight:900}.bat.on{background:linear-gradient(#6fd83c,#279c25)}.bat.off{background:rgba(190,195,200,.35)}.bat.unknown{background:rgba(255,180,60,.55)}.bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-top:12px}.chart-panel{min-height:246px;position:relative}.periods{position:absolute;right:20px;top:20px;display:flex;gap:8px}.period{height:34px;padding:0 16px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:white}.period.active{background:rgba(255,136,0,.7)}.journal-panel{min-height:246px}.event-table{display:grid;gap:6px}.event{display:grid;grid-template-columns:90px 90px 1fr 120px;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:15px}.event .level-info{color:#158cff}.event .level-warning{color:var(--orange)}.event .level-critical{color:var(--red)}.statusbar{position:fixed;left:0;right:0;bottom:0;height:54px;border-radius:14px 14px 0 0;display:flex;align-items:center;gap:42px;padding:0 30px;font-size:18px}.dot{color:var(--green)}.refresh{margin-left:auto;font-size:28px}.fullscreen-panel{min-height:calc(100vh - 150px)}.server-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.server-item{padding:22px;border-radius:14px;background:rgba(255,255,255,.06);font-size:20px}.placeholder,.settings-note{font-size:24px;color:#c8d4df;padding:24px}.muted{color:var(--muted)}@media(max-width:1100px){html,body{overflow:auto}.hmi{height:auto;min-height:100vh;display:block;padding:10px}.sidebar{height:auto;border-radius:18px;margin-bottom:12px}.brand{min-height:auto}.logo{width:145px}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.main{padding:0}.topbar{height:auto}.stats-row,.top-grid,.bottom-grid,.cards-grid{grid-template-columns:1fr}.statusbar{position:static;height:auto;flex-wrap:wrap;margin:10px}.warehouse-row{grid-template-columns:1fr}.separator{display:none}.screen.active{padding-bottom:10px}}@media(max-width:620px){.nav-btn{height:54px;font-size:17px}.stat{height:auto}.clock{font-size:26px}.panel-title{font-size:20px}.shop-card{min-height:auto}.event{grid-template-columns:1fr;font-size:15px}.statusbar{font-size:14px;gap:12px}.bg{background-position:70% center}.shade{background:rgba(0,0,0,.72)}}

/* v0.5.0-alpha4: на телефоне графики убираем с главной, но отдельная страница "Графики" остается доступной */
@media(max-width:620px){
  #screen-home .chart-panel{display:none!important}
  .bottom-grid{grid-template-columns:1fr}
}


/* v0.5.0-alpha4 fixes: background visibility, mobile layout, charts hidden on mobile */
.bg{background-image:url('/static/rooster.jpg?v=050a4')!important;background-size:cover!important;background-position:right center!important;opacity:1!important;filter:saturate(1.15) contrast(1.12) brightness(.92)!important;}
.shade{background:radial-gradient(circle at 82% 42%,rgba(0,0,0,.02),rgba(0,0,0,.30) 35%,rgba(0,0,0,.72) 100%),linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.54),rgba(0,0,0,.08))!important;}
.logo{object-fit:contain;max-height:118px;height:auto;}
.chart-panel canvas{display:block;width:100%;height:260px;max-width:100%;}
.server-pill{min-width:0;white-space:normal;line-height:1.15;text-align:center;display:flex;align-items:center;justify-content:center;}
.topbar{min-width:0;}
@media(max-width:760px){
  html,body{overflow:auto;width:100%;}
  .bg{background-position:center top!important;opacity:.55!important;}
  .shade{background:rgba(0,0,0,.76)!important;}
  .hmi{padding:8px;display:block;min-height:100vh;height:auto;}
  .sidebar{border-radius:18px;height:auto;margin-bottom:10px;padding:12px;}
  .brand{display:flex;align-items:center;gap:10px;min-height:86px;}
  .logo{width:112px;max-height:78px;margin:0;}
  .brand-text{font-size:13px;line-height:1.25;}
  .nav{grid-template-columns:repeat(2,1fr);gap:8px;}
  .nav-btn{height:52px;font-size:16px;padding:0 12px;}
  .nav-btn[data-screen="charts"]{display:none!important;}
  .user-panel,.exit-btn{display:none;}
  .main{gap:10px;}
  .topbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;height:auto;padding:0 2px;}
  .topbar>div:first-child{display:none;}
  .timebox{justify-content:flex-start;align-items:center;text-align:left;gap:10px;min-width:0;}
  .clock{font-size:27px;white-space:nowrap;}
  .date{font-size:16px;white-space:nowrap;}
  .server-pill{height:auto;min-height:48px;padding:7px 11px;font-size:16px;border-radius:14px;max-width:150px;}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:8px;}
  .stat{min-height:102px;padding:13px;gap:10px;}
  .stat .icon{font-size:34px;min-width:36px;}
  .stat strong{font-size:28px;}
  .top-grid,.bottom-grid,.cards-grid{grid-template-columns:1fr!important;}
  .warehouse-row{grid-template-columns:1fr!important;gap:12px;}
  .separator{display:none!important;}
  .panel{padding:14px;border-radius:18px;}
  .panel-title{font-size:21px;}
  .shop-card{min-height:auto;padding:14px;}
  .metric{font-size:15px;}
  .soft-button{height:46px;width:100%;}
  #screen-home .chart-panel,.desktop-only{display:none!important;}
  #screen-charts{display:none!important;}
  .event{grid-template-columns:70px 70px 1fr;gap:8px;font-size:13px;}
  .event b:last-child{display:none;}
  .statusbar{position:static;height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;padding:12px;font-size:13px;border-radius:18px;}
  .refresh{display:none;}
}


/* v0.5.0-alpha5: final HMI asset/layout fixes */
html,body{
  background:#04080c url('/static/rooster_bg_v050a5.jpg?v=050a5') center center/cover fixed no-repeat!important;
}
.bg{
  background-image:url('/static/rooster_bg_v050a5.jpg?v=050a5')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
}
.logo{
  width:150px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
.nav-btn{overflow:hidden;min-width:0;}
.nav-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chart-panel{overflow:hidden;}
.chart-panel .panel-title{padding-right:0!important;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.chart-workshop-name{color:#d4dee8;font-size:18px;font-weight:700;}
.chart-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 10px 0;}
.periods{position:static!important;right:auto!important;top:auto!important;display:flex;gap:8px;flex-wrap:wrap;margin:0!important;}
.chart-select{height:34px;min-width:130px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:0 10px;font-size:14px;}
.chart-select option{background:#101821;color:#fff;}
.chart-panel canvas{width:100%!important;max-width:100%!important;height:240px!important;}
@media(max-width:760px){
  .logo{width:92px!important;}
  .brand{align-items:center;}
  .server-pill{font-size:16px!important;padding:8px 10px!important;min-height:46px;height:auto!important;max-width:170px;word-break:normal;overflow:hidden;}
  .server-grid{grid-template-columns:1fr!important;}
  .server-item{overflow-wrap:anywhere;}
  #screen-home .chart-panel{display:none!important;}
}
@media(max-width:420px){
  .nav{grid-template-columns:1fr 1fr!important;}
  .nav-btn{font-size:15px!important;padding:0 10px!important;}
  .server-pill{max-width:150px;font-size:14px!important;}
}


/* v0.5.0-alpha6-build4: separate charts per workshop on Charts page */
.charts-overview{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:14px;margin-top:12px;}
.workshop-chart{padding:14px;min-height:305px;}
.workshop-chart-title{font-size:20px;font-weight:900;margin-bottom:8px;color:#f4f8ff;}
.workshop-chart canvas{display:block;width:100%!important;height:250px!important;max-width:100%!important;}
#screen-charts .fullscreen-panel{overflow:auto;max-height:calc(100vh - 150px);}
@media(max-width:1100px){.charts-overview{grid-template-columns:1fr;}.workshop-chart canvas{height:240px!important;}}


/* v0.5.0-alpha6-build4: profile menu, mobile logout/switch user, connection status polish */
.profile-wrap{position:relative;display:flex;align-items:center;justify-content:flex-start;min-width:180px;z-index:30;}
.profile-btn{height:48px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.10);color:#f5f9ff;padding:0 14px;font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px;max-width:240px;box-shadow:inset 0 1px 0 rgba(255,255,255,.10);}
.profile-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-menu{position:absolute;left:0;top:58px;width:270px;padding:14px;border-radius:18px;display:none;box-shadow:0 18px 45px rgba(0,0,0,.45);}
.profile-menu.open{display:block;}
.profile-menu-title{font-size:13px;color:var(--muted);margin-bottom:4px;}
.profile-menu-user{font-size:20px;font-weight:900;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-menu-role{font-size:14px;color:#cbd7e3;margin-top:2px;}
.profile-menu-sep{height:1px;background:rgba(255,255,255,.12);margin:12px 0;}
.profile-menu-action{width:100%;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:16px;text-align:left;padding:0 12px;margin-bottom:8px;}
.profile-menu-action.danger{color:#ffdddd;background:rgba(255,70,70,.14);}
.profile-menu-action:disabled{opacity:.45;}
.profile-menu-version{font-size:13px;color:var(--muted);}
.server-pill.offline{background:rgba(210,40,40,.24)!important;color:#ffdddd;border-color:rgba(255,90,90,.35)!important;}
@media(max-width:760px){
  .profile-wrap{min-width:0;}
  .profile-btn{height:46px;max-width:142px;font-size:15px;padding:0 10px;}
  .profile-menu{position:fixed;left:10px;right:10px;top:72px;width:auto;padding:16px;border-radius:18px;z-index:1000;}
  .profile-menu-action{height:48px;font-size:17px;}
  .topbar{grid-template-columns:auto 1fr auto!important;}
  .timebox{justify-content:center!important;text-align:center!important;}
  .clock{font-size:24px!important;}
  .date{font-size:14px!important;}
  .server-pill{max-width:120px!important;font-size:13px!important;}
}
@media(min-width:761px){
  .profile-wrap{display:none;}
}

/* v0.5.0-alpha6-build4.2: FORCE mobile profile button visible.
   Причина: старый mobile block скрывал первый div в .topbar: .topbar>div:first-child{display:none;} */
@media(max-width:760px){
  .topbar>.profile-wrap{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    order:3;
    position:relative!important;
    min-width:52px!important;
    z-index:2000!important;
    justify-content:flex-end!important;
  }
  .profile-btn{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:46px!important;
    padding:0!important;
    justify-content:center!important;
    font-size:22px!important;
  }
  .profile-btn span{display:none!important;}
  .profile-menu{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:12px!important;
    width:auto!important;
    z-index:3000!important;
    padding:16px!important;
    border-radius:22px!important;
  }
  .profile-menu.open{display:block!important;}
  .topbar{
    grid-template-columns:1fr auto 58px!important;
    align-items:center!important;
  }
}

/* v0.5.0-alpha6-build4.4: шлагбаум только на серверной панели, не на мобильной версии */
.barrier-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 18px 0;}
.camera-card{padding:12px;border-radius:18px;min-height:300px;}
.camera-title{font-size:20px;font-weight:900;margin-bottom:10px;color:#f4f8ff;}
.camera-box{height:260px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(0,0,0,.30);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#dce7f3;text-align:center;}
.camera-img{width:100%;height:100%;object-fit:cover;display:block;}
.camera-frame{width:100%;height:100%;border:0;display:block;background:#000;}
.camera-placeholder{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding:16px;color:#dce7f3;font-size:18px;}
.camera-placeholder a{color:#4bd2ff;font-weight:900;text-decoration:none;}
.camera-placeholder small{color:rgba(255,255,255,.62);font-size:13px;}
.barrier-open-btn{width:100%;height:82px;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#ffb020,#d76b00);color:#111;font-size:30px;font-weight:1000;box-shadow:0 18px 35px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.30);}
.barrier-open-btn:disabled{opacity:.55;filter:grayscale(.5);}
.barrier-status{margin-top:12px;font-size:18px;color:#dce7f3;text-align:center;min-height:24px;}
@media(max-width:760px){
  .server-only-nav,.server-only-screen,#screen-barrier{display:none!important;}
  .event{display:grid!important;grid-template-columns:80px 1fr!important;gap:4px 10px!important;align-items:start!important;font-size:14px!important;}
  .event span:nth-child(3){grid-column:2;overflow-wrap:anywhere;word-break:break-word;}
  .event b:nth-child(2){overflow-wrap:anywhere;word-break:break-word;}
}
@media(max-width:1100px){.barrier-grid{grid-template-columns:1fr;}.camera-box{height:240px;}}


/* v0.5.1-beta1: шлагбаум — крупные камеры одна под другой */
.barrier-panel.fullscreen-panel{min-height:calc(100vh - 118px);display:flex;flex-direction:column;gap:10px;}
.barrier-panel .panel-title{margin-bottom:4px;}
.barrier-health{display:flex;gap:14px;align-items:center;font-size:15px;font-weight:800;}
.health-ok{color:#35e46b;}
.health-bad{color:#ffb347;}
.barrier-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:6px 0 12px 0!important;flex:1;min-height:0;}
.camera-card{padding:10px!important;min-height:0!important;display:flex;flex-direction:column;}
.camera-title{font-size:18px!important;margin-bottom:7px!important;}
.camera-box{height:calc((100vh - 300px)/2)!important;min-height:285px!important;max-height:410px!important;}
.camera-frame{width:100%!important;height:100%!important;border:0!important;display:block!important;background:#000!important;}
.barrier-open-btn{height:66px!important;font-size:26px!important;border-radius:16px!important;flex:0 0 auto;}
.barrier-status{margin-top:2px!important;font-size:15px!important;}
@media(max-height:820px){.camera-box{min-height:235px!important;max-height:330px!important}.barrier-open-btn{height:56px!important;font-size:22px!important}.camera-title{font-size:16px!important}}

/* v0.5.3-beta-alarms-modbus-fix3: readable alarms table */
.event-head,
.event-row{
  display:grid;
  grid-template-columns: 150px 130px minmax(280px, 1fr) 230px 160px;
  gap:14px;
  align-items:start;
  width:100%;
  box-sizing:border-box;
}
.event-head{
  margin-top:12px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  color:#dce7f3;
  font-size:15px;
  font-weight:900;
}
.event-row{
  margin-top:8px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(0,0,0,.18);
  color:#f4f8ff;
  font-size:15px;
  line-height:1.35;
}
.event-row.unack{border-color:rgba(255,80,80,.38);box-shadow:inset 4px 0 0 rgba(255,80,80,.75);}
.event-row.ack{opacity:.72;}
.event-row span{min-width:0;overflow-wrap:anywhere;}
.event-row small{display:block;margin-top:4px;color:rgba(255,255,255,.70);font-size:13px;line-height:1.3;}
.soft-button.small{padding:8px 14px;border-radius:12px;font-size:14px;}
@media(max-width:980px){
  .event-head{display:none;}
  .event-row{grid-template-columns:1fr;gap:7px;}
  .event-row span:nth-child(1)::before{content:'Время: ';font-weight:900;color:#dce7f3;}
  .event-row span:nth-child(2)::before{content:'Цех: ';font-weight:900;color:#dce7f3;}
  .event-row span:nth-child(3)::before{content:'Авария: ';font-weight:900;color:#dce7f3;}
  .event-row span:nth-child(4)::before{content:'Источник: ';font-weight:900;color:#dce7f3;}
}

/* v0.5.3 journal-fix: журнал действий пользователей */
.journal-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 14px 0}
.journal-filters label{display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.82);font-weight:600}
.journal-filters select,.journal-filters input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff;padding:9px 10px;font:inherit}
.journal-head,.journal-row{display:grid;grid-template-columns:170px 170px 160px minmax(300px,1fr);gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.journal-head{background:rgba(255,255,255,.07);border-radius:12px 12px 0 0;color:#fff;font-weight:800}
.journal-row{color:rgba(255,255,255,.9)}
.journal-row b{color:#fff}
@media(max-width:760px){.journal-head,.journal-row{grid-template-columns:1fr;gap:3px}.journal-filters{display:none}}

/* v0.5.3 fix5: архив прочитанных аварий */
.archive-head,.archive-row{display:grid;grid-template-columns:170px 170px 160px 140px minmax(260px,1fr) 140px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.archive-head{background:rgba(255,255,255,.07);border-radius:12px 12px 0 0;color:#fff;font-weight:800}
.archive-row{color:rgba(255,255,255,.9)}
.archive-row b{color:#fff}.archive-row small{display:block;margin-top:4px;color:rgba(255,255,255,.70);font-size:13px;line-height:1.3}
@media(max-width:900px){.archive-head{display:none}.archive-row{grid-template-columns:1fr;gap:4px}.archive-row span:nth-child(1)::before{content:'Появилась: ';font-weight:900}.archive-row span:nth-child(2)::before{content:'Прочитана: ';font-weight:900}.archive-row b:nth-child(3)::before{content:'Пользователь: ';font-weight:900}.archive-row span:nth-child(4)::before{content:'Цех: ';font-weight:900}.archive-row span:nth-child(5)::before{content:'Авария: ';font-weight:900}.archive-row span:nth-child(6)::before{content:'Источник: ';font-weight:900}}

/* v0.5.3-beta-alarms-modbus-fix6: archive button in alarms page */
.panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.panel-title{align-items:flex-start;gap:10px}.panel-actions{width:100%}.panel-actions .soft-button{width:100%;}}
