:root{--bg:#f3f5f7;--card:#fff;--text:#18212b;--muted:#74808d;--line:#e4e9ee;--nav:#111821;--nav2:#202a35;--accent:#182735;--soft:#f7f9fb;--danger:#b42318;--ok:#137a4b;--warn:#a15c00;--shadow:0 10px 32px rgba(16,24,40,.06)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}
.hidden{display:none!important}.app{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#fff;padding:24px 16px;position:sticky;top:0;height:100vh}.brand{font-weight:850;font-size:20px;padding:0 10px;margin-bottom:24px}.brand small{display:block;color:#81909e;font-size:11px;margin-top:4px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#9eabb7;text-align:left;padding:12px 14px;border-radius:12px;cursor:pointer}.nav button:hover,.nav button.active{background:var(--nav2);color:#fff}.sidebar-foot{position:absolute;bottom:18px;left:16px;right:16px}.user-mini{border:1px solid #293542;border-radius:14px;padding:12px}.user-mini b{display:block;font-size:13px}.user-mini span{display:block;color:#8998a6;font-size:11px;margin-top:3px}
.main{padding:28px 32px 48px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.title h1{margin:0;font-size:28px}.title p{margin:6px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn,.btn{border:0;border-radius:12px;cursor:pointer;font-weight:750}.icon-btn{width:42px;height:42px;background:#fff;border:1px solid var(--line)}.btn{padding:10px 14px}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:#eef2f5;color:#263442}.btn.danger{background:#fff0ee;color:var(--danger)}.btn.sm{padding:7px 10px;font-size:12px}
.panel{display:none}.panel.active{display:block}.stats{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-size:31px;font-weight:850;margin-top:12px}.grid2{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;margin-top:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2{margin:0;font-size:17px}.muted{color:var(--muted)}.small{font-size:12px}
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.column{background:var(--soft);border-radius:16px;padding:12px;min-height:310px}.column-title{display:flex;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:10px}.task{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;margin:0 0 9px;cursor:pointer}.task:hover{box-shadow:0 8px 18px rgba(16,24,40,.06)}.task b{font-size:13px}.task p{font-size:12px;color:var(--muted);margin:8px 0}.task-meta{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:#64717e}.priority{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;background:#eef2f5}.priority.high{background:#fff0ee;color:#b42318}.priority.urgent{background:#fde7e5;color:#8a110b}.priority.low{background:#eef7f1;color:#137a4b}
.project{padding:13px 0;border-bottom:1px solid var(--line)}.project:last-child{border-bottom:0}.project-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}.progress{height:7px;background:#edf1f4;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:#243342;border-radius:999px}
.person{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.person:last-child{border-bottom:0}.avatar{width:38px;height:38px;border-radius:13px;background:#edf1f4;display:grid;place-items:center;font-weight:850}.person-info{flex:1;min-width:0}.person-info b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-info span{font-size:11px;color:var(--muted)}.tag{padding:5px 8px;border-radius:999px;background:#eef2f5;font-size:10px}.tag.ok{background:#edf8f2;color:var(--ok)}
.timer{text-align:center;padding:12px}.clock{font-size:38px;font-weight:850;letter-spacing:1px;margin:18px 0}.list{display:grid;gap:9px}.list-item{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.list-item h3{font-size:13px;margin:0 0 6px}.list-item p{font-size:12px;color:var(--muted);margin:0}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px;min-width:160px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table th{color:var(--muted);font-weight:700}.table tr:last-child td{border-bottom:0}
.event{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.event b{font-size:13px}.event .date{font-size:11px;color:var(--muted);margin-top:4px}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bar-row{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:10px;font-size:12px;margin:9px 0}.bar{height:9px;background:#edf1f4;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#263746}.integration{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.integration:last-child{border-bottom:0}.light{width:9px;height:9px;border-radius:50%;background:#b8c0c8;display:inline-block;margin-right:7px}.light.on{background:#1d9a62}.notice{border-left:3px solid var(--accent);padding:11px 13px;background:#f7f9fb;border-radius:8px}.empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:13px}
.modal-backdrop{position:fixed;inset:0;background:rgba(7,12,18,.55);z-index:50;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal h2{margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:var(--muted);font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 11px;outline:none;background:#fff}.field textarea{min-height:90px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#eef2f5}.login-hero{background:#111821;color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:space-between}.login-hero h1{font-size:44px;margin:0;max-width:700px}.login-hero p{color:#9eabb7;font-size:17px;max-width:620px;line-height:1.5}.login-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.login-feature{border:1px solid #2a3540;border-radius:16px;padding:15px;color:#b4bec7;font-size:13px}.login-box-wrap{display:grid;place-items:center;padding:30px}.login-box{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.login-box h2{margin:0}.login-box p{color:var(--muted);font-size:13px}.login-box .field{margin-top:12px}.login-error{color:var(--danger);font-size:12px;margin-top:10px}
.toast{position:fixed;right:22px;bottom:22px;z-index:80;background:#111821;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:12px}
.role-admin{display:none}.role-manager{display:none}.role-director{display:none}
body.manager .role-manager,body.manager .role-admin-show-manager,body.senior_manager .role-manager,body.senior_manager .role-admin-show-manager,body.deputy_director .role-manager,body.deputy_director .role-admin-show-manager{display:initial}body.director .role-manager,body.director .role-director{display:initial}body.administrator .role-manager,body.administrator .role-director,body.administrator .role-admin{display:initial}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid2,.analytics-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}.sidebar-foot{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px}.login-screen{grid-template-columns:1fr}.login-hero{padding:32px}.login-hero h1{font-size:32px}.login-features{display:none}}@media(max-width:650px){.main{padding:20px 14px}.stats,.grid3,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap}.login-hero{display:none}.login-box-wrap{min-height:100vh}.table th:nth-child(n+5),.table td:nth-child(n+5){display:none}}


/* LEDEXPERT-MOBILE-PWA-V1 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
.mobile-menu-btn,.mobile-bottom-nav,.mobile-scrim{display:none}
.pwa-install-btn{white-space:nowrap}
@media (display-mode:standalone){
  body{user-select:none;-webkit-user-select:none}
  input,textarea{user-select:text;-webkit-user-select:text}
}
@media(max-width:768px){
  :root{--mobile-nav-h:64px}
  body{background:#f5f7f9}
  .app{display:block;min-height:100dvh}
  .sidebar{
    display:block;position:fixed;z-index:120;inset:0 auto 0 0;
    width:min(86vw,320px);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
    transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;overscroll-behavior:contain;
    box-shadow:18px 0 45px rgba(0,0,0,.18)
  }
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar .brand{margin-bottom:14px}
  .sidebar .nav{display:grid;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;gap:3px}
  .sidebar .nav button{min-height:44px;padding:11px 13px}
  .sidebar-foot{position:static;margin-top:18px;padding-bottom:10px}
  .mobile-scrim{
    display:block;position:fixed;z-index:110;inset:0;background:rgba(7,12,18,.48);
    opacity:0;pointer-events:none;transition:opacity .2s ease
  }
  body.mobile-menu-open .mobile-scrim{opacity:1;pointer-events:auto}
  .main{
    padding:0 12px calc(var(--mobile-nav-h) + 22px + env(safe-area-inset-bottom));
    min-height:100dvh
  }
  .topbar{
    position:sticky;z-index:35;top:0;margin:0 -12px 12px;padding:calc(8px + env(safe-area-inset-top)) 12px 10px;
    background:rgba(245,247,249,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(228,233,238,.85);align-items:center;gap:8px
  }
  .mobile-menu-btn{display:grid;place-items:center;flex:0 0 42px}
  .title{min-width:0;flex:1}
  .title h1{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .title p{display:none}
  .top-actions{gap:6px;flex-wrap:nowrap}
  .top-actions .btn{min-height:42px;padding:9px 11px}
  #refreshBtn{width:42px;font-size:0;padding:0}
  #refreshBtn::before{content:"↻";font-size:20px}
  #quickTaskBtn{font-size:0;width:42px;padding:0}
  #quickTaskBtn::before{content:"+";font-size:24px}
  .pwa-install-btn{font-size:0;width:42px;padding:0}
  .pwa-install-btn::before{content:"⇩";font-size:20px}
  .card{padding:14px;border-radius:18px;box-shadow:0 5px 18px rgba(16,24,40,.045)}
  .section-head{align-items:flex-start;margin-bottom:12px}
  .section-head h2{font-size:16px}
  .section-head .btn{flex:0 0 auto}
  .stats{
    display:flex!important;grid-template-columns:none!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:1px 1px 8px;scrollbar-width:none
  }
  .stats::-webkit-scrollbar,.kanban::-webkit-scrollbar{display:none}
  .stats .stat{min-width:145px;scroll-snap-align:start}
  .stat .value{font-size:27px;margin-top:8px}
  .grid2,.grid3,.analytics-grid{grid-template-columns:1fr!important;gap:12px;margin-top:12px}
  .kanban{display:flex!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .kanban .column{flex:0 0 84vw;min-height:250px;scroll-snap-align:start}
  .toolbar{display:grid;grid-template-columns:1fr;gap:8px}
  .toolbar input,.toolbar select{width:100%;min-width:0;min-height:44px}
  .table-wrap{margin:0 -14px;padding:0 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table{min-width:620px}
  .table th:nth-child(n),.table td:nth-child(n){display:table-cell}
  .list-item,.event{padding:12px}
  .row{align-items:flex-start}
  .timer{padding:6px}
  .clock{font-size:34px;margin:14px 0}
  .btn,.icon-btn,input,select,textarea{min-height:44px}
  .modal-backdrop{place-items:end center;padding:0}
  .modal{
    width:100%;max-width:none;max-height:92dvh;border-radius:24px 24px 0 0;
    padding:20px 16px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain
  }
  .modal h2{font-size:19px;margin-bottom:14px}
  .form-grid{grid-template-columns:1fr!important}
  .field.full{grid-column:auto}
  .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}
  .toast{
    left:12px;right:12px;bottom:calc(var(--mobile-nav-h) + 14px + env(safe-area-inset-bottom));
    text-align:center
  }
  .mobile-bottom-nav{
    display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:95;left:0;right:0;bottom:0;
    height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);
    background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-top:1px solid var(--line);box-shadow:0 -8px 26px rgba(16,24,40,.06)
  }
  .mobile-bottom-nav button{
    border:0;background:transparent;color:#7a8793;border-radius:13px;display:grid;place-items:center;
    align-content:center;gap:1px;padding:3px 2px;min-width:0
  }
  .mobile-bottom-nav button span{font-size:19px;line-height:20px}
  .mobile-bottom-nav button small{font-size:9px;font-weight:750;line-height:12px}
  .mobile-bottom-nav button.active{color:#111821;background:#eef2f5}
  .login-screen{display:block;min-height:100dvh}
  .login-hero{display:none}
  .login-box-wrap{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))}
  .login-box{border-radius:24px;padding:22px 18px}
}
@media(max-width:390px){
  .main{padding-left:9px;padding-right:9px}
  .topbar{margin-left:-9px;margin-right:-9px;padding-left:9px;padding-right:9px}
  .stats .stat{min-width:132px}
  .kanban .column{flex-basis:88vw}
}


/* LEDEXPERT-MOBILE-PWA-V1.3 */
@media(max-width:768px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  body.mobile-menu-open{overflow:hidden}

  /* Mobile tables become readable cards instead of wide spreadsheets. */
  #panel-tasks .table-wrap,
  #panel-audit .table-wrap,
  #panel-users .table-wrap{
    margin:0;
    padding:0;
    overflow:visible;
  }
  #panel-tasks .table,
  #panel-audit .table,
  #panel-users .table{
    min-width:0;
    width:100%;
  }
  #panel-tasks .table thead,
  #panel-audit .table thead,
  #panel-users .table thead{
    display:none!important;
  }
  #panel-tasks .table tbody,
  #panel-audit .table tbody,
  #panel-users .table tbody{
    display:grid!important;
    gap:10px;
  }
  #panel-tasks .table tr,
  #panel-audit .table tr,
  #panel-users .table tr{
    display:block!important;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:7px 12px;
    box-shadow:0 4px 14px rgba(16,24,40,.035);
  }
  #panel-tasks .table td,
  #panel-audit .table td,
  #panel-users .table td{
    display:flex!important;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    width:100%;
    min-height:38px;
    padding:9px 0;
    white-space:normal;
    border-bottom:1px solid var(--line);
    text-align:right;
    overflow-wrap:anywhere;
  }
  #panel-tasks .table td:last-child,
  #panel-audit .table td:last-child,
  #panel-users .table td:last-child{border-bottom:0}

  #panel-tasks .table td::before,
  #panel-audit .table td::before,
  #panel-users .table td::before{
    flex:0 0 92px;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
    text-align:left;
  }

  #panel-tasks .table td:nth-child(1)::before{content:"Задача"}
  #panel-tasks .table td:nth-child(2)::before{content:"Статус"}
  #panel-tasks .table td:nth-child(3)::before{content:"Приоритет"}
  #panel-tasks .table td:nth-child(4)::before{content:"Исполнитель"}
  #panel-tasks .table td:nth-child(5)::before{content:"Проект"}
  #panel-tasks .table td:nth-child(6)::before{content:"Срок"}
  #panel-tasks .table td:nth-child(7)::before{content:"Действия"}

  #panel-audit .table td:nth-child(1)::before{content:"Время"}
  #panel-audit .table td:nth-child(2)::before{content:"Пользователь"}
  #panel-audit .table td:nth-child(3)::before{content:"Действие"}
  #panel-audit .table td:nth-child(4)::before{content:"Объект"}
  #panel-audit .table td:nth-child(5)::before{content:"Детали"}

  #panel-users .table td:nth-child(1)::before{content:"Сотрудник"}
  #panel-users .table td:nth-child(2)::before{content:"Логин"}
  #panel-users .table td:nth-child(3)::before{content:"Отдел"}
  #panel-users .table td:nth-child(4)::before{content:"Роль"}
  #panel-users .table td:nth-child(5)::before{content:"Активен"}
  #panel-users .table td:nth-child(6)::before{content:"Действия"}

  #panel-tasks .table td:first-child,
  #panel-users .table td:first-child{font-weight:800}

  #panel-messenger .grid2{display:grid!important;grid-template-columns:1fr!important}
  #panel-messenger .card{min-width:0}
  #chatList{max-height:55dvh;overflow:auto;overscroll-behavior:contain}

  .section-head{flex-wrap:wrap}
  .section-head .muted.small{width:100%}
  .notice{font-size:12px;line-height:1.45}
  .integration{gap:10px}
  .integration>div{min-width:0}
  .integration b,.integration span{overflow-wrap:anywhere}

  /* PWA/standalone feels like an app. */
  @media(display-mode:standalone){
    .topbar{padding-top:calc(10px + env(safe-area-inset-top))}
    .mobile-bottom-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}
  }
}

/* LEDEXPERT-PWA-LOGIN-NAV-FIX */
@media(max-width:768px){
  #app.hidden ~ .mobile-scrim,
  #app.hidden ~ .mobile-bottom-nav{display:none!important}
}

/* LEDEXPERT-V1.3.1-E2E-FIXES */
/* Role visibility must never override panel routing. */
body .panel:not(.active){display:none!important}
body .panel.active{display:block!important}

/* Modals must sit above the fixed mobile navigation. */
@media(max-width:768px){
  .modal-backdrop{z-index:220}
}


/* LEDEXPERT-SECURITY-V1.3.1 */
.login-help-btn{
  width:100%;margin-top:10px;padding:8px 10px;border:0;background:transparent;
  color:#52606d;font:inherit;font-size:12px;font-weight:750;cursor:pointer
}
.login-help-btn:hover{color:#182735;text-decoration:underline}
@media(max-width:768px){
  .login-help-btn{min-height:44px;font-size:13px}
}

/* LEDEXPERT-DELIVERY-V1.4 */
.delivery-head{align-items:flex-start}
.delivery-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.delivery-actions select{min-width:170px;min-height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px}
.delivery-livebar{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:var(--soft);font-size:12px}
.delivery-livebar #deliveryUpdatedAt{margin-left:auto}
.delivery-livebar #addDeliveryRowBtn{margin-left:8px}
.live-dot{width:9px;height:9px;border-radius:50%;background:#9aa4ae;box-shadow:0 0 0 3px rgba(154,164,174,.12)}
.live-dot.ok{background:var(--ok);box-shadow:0 0 0 3px rgba(19,122,75,.12)}
.live-dot.pending{background:#d68b00;box-shadow:0 0 0 3px rgba(214,139,0,.13)}
.live-dot.error{background:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.delivery-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
.delivery-table{border-collapse:separate;border-spacing:0;min-width:1580px;width:100%;font-size:12px}
.delivery-table th{position:sticky;top:0;z-index:3;background:#f7f9fb;color:var(--muted);font-size:11px;font-weight:800;text-align:left;padding:9px 7px;border-bottom:1px solid var(--line);white-space:nowrap}
.delivery-table td{padding:0;border-bottom:1px solid var(--line);border-right:1px solid #eef1f4;vertical-align:middle}
.delivery-table tr:last-child td{border-bottom:0}
.delivery-table tr.saving{opacity:.62}
.delivery-table .delivery-cell{display:block;width:100%;min-width:110px;height:42px;border:0;border-radius:0;background:transparent;padding:8px 9px;outline:none;font-size:12px}
.delivery-table .delivery-cell:focus{position:relative;z-index:2;background:#fff;box-shadow:inset 0 0 0 2px #54697e}
.delivery-table .delivery-cell:disabled{color:#56616c;background:#fafbfc}
.delivery-table .delivery-pos{min-width:58px;width:58px;text-align:center}
.delivery-table .delivery-address{min-width:260px}
.delivery-table .delivery-comment{min-width:230px}
.delivery-table .delivery-time{min-width:105px}
.delivery-table .delivery-status{min-width:135px}
.delivery-table .delivery-who{min-width:130px;padding:6px 8px}
.delivery-table .delivery-who b,.delivery-table .delivery-who small{display:block;white-space:nowrap}
.delivery-table .delivery-who small{color:var(--muted);font-size:9px;margin-top:2px}
.delivery-table td:last-child{padding:4px 6px;min-width:48px;text-align:center}
.delivery-table th:first-child,.delivery-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}
.delivery-table th:first-child{z-index:4;background:#f7f9fb}

@media(max-width:768px){
  .delivery-card{padding:14px}
  .delivery-actions{width:100%}
  .delivery-actions select{flex:1;min-width:150px}
  .delivery-livebar{flex-wrap:wrap}
  .delivery-livebar #deliveryUpdatedAt{margin-left:0;width:100%}
  .delivery-livebar #addDeliveryRowBtn{margin-left:auto}
  .delivery-table-wrap{margin:0 -14px;border-left:0;border-right:0;border-radius:0}
}

/* LEDEXPERT-V1.4.1-SEPARATE-DELIVERY-PLAN */
.delivery-livebar #planUpdatedAt{margin-left:auto}
.delivery-livebar #addPlanRowBtn{margin-left:8px}
.plan-table{min-width:1180px}
.grid-row-actions{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.grid-history{max-height:min(62vh,620px);overflow:auto;padding-right:3px}
.grid-history .list-item{margin-bottom:8px}
.grid-history-change{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin:8px 0}
.grid-history-change span{display:block;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}
.grid-history-change small{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;margin-bottom:3px}
@media(max-width:768px){
  .delivery-livebar #planUpdatedAt{margin-left:0;width:100%}
  .delivery-livebar #addPlanRowBtn{margin-left:auto}
  .grid-history-change{grid-template-columns:1fr}
  .grid-history-change>b{text-align:center;transform:rotate(90deg)}
}


/* LEDEXPERT-V1.4.2-EMBEDDED-MESSENGER */
.messenger-shell{display:grid;grid-template-columns:minmax(250px,32%) minmax(0,1fr);gap:16px;min-height:620px}
.messenger-sidebar,.messenger-main{min-width:0}
.messenger-sidebar{display:flex;flex-direction:column;max-height:72vh}
.messenger-new-chat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:10px 0 14px}
.messenger-new-chat select{min-width:0}
.messenger-chat-list{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:3px}
.messenger-chat{width:100%;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 12px;text-align:left;cursor:pointer;color:inherit}
.messenger-chat:hover,.messenger-chat.active{background:var(--soft);border-color:var(--accent)}
.messenger-chat b,.messenger-chat span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.messenger-chat span{font-size:12px;color:var(--muted);margin-top:3px}
.messenger-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:620px;max-height:72vh}
.messenger-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.messenger-messages{overflow:auto;padding:18px 4px;display:flex;flex-direction:column;gap:10px;min-height:320px}
.messenger-message{align-self:flex-start;max-width:min(78%,720px);padding:10px 12px;border-radius:14px;background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}
.messenger-message.own{align-self:flex-end;background:var(--accent);color:#fff}
.messenger-message small{display:block;margin-top:5px;opacity:.68;font-size:11px;text-align:right}
.messenger-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}
.messenger-composer textarea{resize:none;min-height:46px;max-height:140px}
@media(max-width:768px){
  .messenger-shell{grid-template-columns:1fr;min-height:0}
  .messenger-sidebar{max-height:280px}
  .messenger-main{min-height:540px;max-height:none}
  .messenger-head{align-items:flex-start}
  .messenger-head>a{display:none}
  .messenger-message{max-width:88%}
  .messenger-composer{grid-template-columns:1fr}
  .messenger-composer .btn{width:100%}
}


/* LEDEXPERT-V1.4.3-RELEASE-CENTER */
.release-backdrop{z-index:240}
.release-modal{max-width:720px}
.release-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.release-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.release-title-row h2{margin:0}
.release-version{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;white-space:nowrap}
.release-changes{margin:20px 0 4px;padding-left:22px;display:grid;gap:10px;line-height:1.5}
.release-history-modal{max-width:860px;max-height:min(82vh,860px);display:flex;flex-direction:column}
.release-history-list{overflow:auto;margin-top:18px;display:grid;gap:14px;padding-right:4px}
.release-history-item{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--soft)}
.release-history-item ul{margin:10px 0 0;padding-left:20px;display:grid;gap:7px}
.release-history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.release-history-head span{font-size:12px;color:var(--muted);white-space:nowrap}
@media(max-width:768px){
  .release-title-row{align-items:flex-start}
  .release-version{font-size:12px;padding:6px 9px}
  .release-modal,.release-history-modal{width:min(94vw,720px);max-height:90vh;overflow:auto}
  .release-history-head{flex-direction:column;gap:4px}
}

.release-notice{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.release-notice-head{display:flex;justify-content:space-between;gap:16px}
.release-notice-head h2{margin:7px 0 3px}
.release-badge{padding:4px 8px;border-radius:12px;background:var(--accent);color:white;font-size:10px;font-weight:800}
.release-close{border:0;background:transparent;font-size:28px;cursor:pointer}
.release-actions{display:flex;gap:8px;margin-top:15px}
.release-history article{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}


/* LEDEXPERT-V1.4.5-MOBILE-NO-HORIZONTAL-SCROLL */
@media(max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body,#app,.app,.main,.panel,.card,.grid2,.grid3,.analytics-grid,.section-head,.toolbar,.list,.kanban,.stats,.messenger-shell,.messenger-sidebar,.messenger-main{min-width:0!important;max-width:100%!important;box-sizing:border-box}
  .main{width:100%!important;overflow-x:hidden!important}
  .panel{width:100%!important;overflow-x:hidden!important}
  .stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  .stats .stat{min-width:0!important;width:auto!important;scroll-snap-align:none!important}
  .kanban{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important}
  .kanban .column{flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;scroll-snap-align:none!important}
  .table-wrap{max-width:100%!important;overflow:visible!important}
  #panel-tasks .table,#panel-users .table,#panel-audit .table{width:100%!important;min-width:0!important;table-layout:fixed}
  #panel-tasks .table td,#panel-users .table td,#panel-audit .table td{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .delivery-card{overflow:hidden!important}
  .delivery-head,.delivery-actions,.delivery-livebar{max-width:100%!important;min-width:0!important}
  .delivery-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .delivery-actions select{grid-column:1/-1;width:100%!important;min-width:0!important}
  .delivery-livebar{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .delivery-table-wrap{margin:0!important;border:0!important;overflow:visible!important;max-width:100%!important}
  .delivery-table,.delivery-table tbody,.delivery-table tr,.delivery-table td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}
  .delivery-table{min-width:0!important;border-collapse:separate!important}
  .delivery-table thead{display:none!important}
  .delivery-table tbody{display:grid!important;gap:12px!important}
  .delivery-table tr{border:1px solid var(--line)!important;border-radius:16px!important;padding:10px 12px!important;background:var(--card)!important;box-shadow:0 4px 14px rgba(16,24,40,.035)}
  .delivery-table td{border:0!important;border-bottom:1px solid var(--line)!important;padding:8px 0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .delivery-table td:last-child{border-bottom:0!important}
  .delivery-table input,.delivery-table select,.delivery-table textarea{width:100%!important;min-width:0!important;max-width:100%!important}
  .messenger-shell{grid-template-columns:1fr!important;width:100%!important;overflow:hidden!important}
  .messenger-sidebar,.messenger-main,.messenger-chat-list,.messenger-messages,.messenger-composer{width:100%!important;min-width:0!important;max-width:100%!important}
  .messenger-new-chat{grid-template-columns:1fr!important}
  .messenger-head{min-width:0!important;max-width:100%!important}
  .integration{width:100%!important;min-width:0!important}
  .integration>div{min-width:0!important;flex:1 1 auto!important}
  .integration .btn{flex:0 0 auto!important}
}
@media(max-width:390px){
  .stats{grid-template-columns:1fr 1fr!important}
  .delivery-actions{grid-template-columns:1fr!important}
  .delivery-actions select{grid-column:auto}
}

.msg-receipt{display:inline-block;margin-left:6px;font-weight:800;letter-spacing:-2px;min-width:15px}
.msg-receipt.sent{opacity:.65}
.msg-receipt.delivered{opacity:.85}
.msg-receipt.read{opacity:1;text-shadow:0 0 1px currentColor}


/* LEDEXPERT-V1.4.5-RESPONSIVE */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
.main,.panel,.card,.section-head,.toolbar,.integration{min-width:0;max-width:100%}

@media(min-width:769px) and (max-width:1024px){
  :root{--mobile-nav-h:64px}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .app{display:block;min-height:100dvh}
  .sidebar{display:block;position:fixed;z-index:120;inset:0 auto 0 0;width:min(52vw,340px);height:100dvh;padding:20px 16px;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;box-shadow:18px 0 45px rgba(0,0,0,.18)}
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar .nav{display:grid;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
  .sidebar-foot{position:static;margin-top:18px}
  .mobile-scrim{display:block;position:fixed;z-index:110;inset:0;background:rgba(7,12,18,.48);opacity:0;pointer-events:none;transition:opacity .2s}
  body.mobile-menu-open .mobile-scrim{opacity:1;pointer-events:auto}
  .mobile-menu-btn{display:grid;place-items:center}
  .main{width:100%;padding:0 18px calc(var(--mobile-nav-h) + 24px + env(safe-area-inset-bottom))}
  .topbar{position:sticky;z-index:35;top:0;margin:0 -18px 16px;padding:12px 18px;background:rgba(245,247,249,.96);border-bottom:1px solid var(--line)}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:95;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));padding:5px 10px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid var(--line)}
  .mobile-bottom-nav button{border:0;background:transparent;display:grid;place-items:center;align-content:center;color:#7a8793}
  .mobile-bottom-nav button.active{color:#111821;background:#eef2f5;border-radius:13px}
  .stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .stats .stat{min-width:0!important}
  .kanban{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important}
  .kanban .column{min-width:0!important;flex:auto!important}
  .grid2,.grid3,.analytics-grid{grid-template-columns:1fr!important}
}

@media(max-width:768px){
  .main{width:100%;max-width:100%;overflow-x:hidden}
  .topbar,.panel,.card{width:100%;max-width:100%}
  .stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;scroll-snap-type:none!important}
  .stats .stat{min-width:0!important;width:auto!important}
  .kanban{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important;scroll-snap-type:none!important}
  .kanban .column{width:100%!important;min-width:0!important;max-width:100%!important;flex:auto!important}
  .row{min-width:0;flex-wrap:wrap}
  .section-head{width:100%;flex-wrap:wrap}
  .section-head>div{min-width:0;max-width:100%}
  .modal-actions{flex-wrap:wrap}
  .modal-actions .btn{flex:1 1 150px}
  .integration{gap:8px}
  .integration>div{min-width:0;flex:1}
  .messenger-shell,.messenger-sidebar,.messenger-main{width:100%;max-width:100%;min-width:0}
  .messenger-new-chat{grid-template-columns:1fr}
  .messenger-new-chat .btn{width:100%}
}

@media(max-width:1024px){
  #panel-tasks .table-wrap,#panel-users .table-wrap,#panel-audit .table-wrap{margin:0;padding:0;overflow:visible}
  #panel-tasks .table,#panel-users .table,#panel-audit .table{min-width:0;width:100%}
  #panel-tasks .table thead,#panel-users .table thead,#panel-audit .table thead{display:none!important}
  #panel-tasks .table tbody,#panel-users .table tbody,#panel-audit .table tbody{display:grid!important;gap:10px}
  #panel-tasks .table tr,#panel-users .table tr,#panel-audit .table tr{display:block!important;width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:7px 12px}
  #panel-tasks .table td,#panel-users .table td,#panel-audit .table td{display:flex!important;width:100%;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;white-space:normal;overflow-wrap:anywhere;text-align:right;border-bottom:1px solid var(--line)}
  #panel-tasks .table td:last-child,#panel-users .table td:last-child,#panel-audit .table td:last-child{border-bottom:0}
}

@media(max-width:480px){
  .main{padding-left:10px;padding-right:10px}
  .topbar{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
  .stat .value{font-size:24px}
  .delivery-actions{grid-template-columns:1fr!important}
}
@media(max-width:340px){
  .stats{grid-template-columns:1fr!important}
  .top-actions{gap:4px}
}


@media(max-width:1024px){
  .delivery-card{overflow:visible}
  .delivery-head{display:block}
  .delivery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;margin-top:12px}
  .delivery-actions select{grid-column:1/-1;width:100%;min-width:0}
  .delivery-actions .btn{width:100%;min-width:0}
  .delivery-livebar{flex-wrap:wrap;width:100%}
  .delivery-livebar #deliveryUpdatedAt,.delivery-livebar #planUpdatedAt{width:100%;margin-left:0}
  .delivery-livebar #addDeliveryRowBtn,.delivery-livebar #addPlanRowBtn{margin-left:auto}
  .delivery-table-wrap{margin:0!important;border:0;overflow:visible!important;background:transparent}
  .delivery-table{display:block!important;min-width:0!important;width:100%!important}
  .delivery-table thead{display:none!important}
  .delivery-table tbody{display:grid!important;gap:12px;width:100%}
  .delivery-table tr{display:block!important;width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 12px;box-shadow:0 4px 14px rgba(16,24,40,.035)}
  .delivery-table td{position:static!important;display:grid!important;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;width:100%!important;min-width:0!important;padding:8px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;white-space:normal!important;text-align:left!important}
  .delivery-table td:last-child{border-bottom:0!important}
  .delivery-table td::before{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
  .delivery-table .delivery-cell{width:100%!important;min-width:0!important;height:42px;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}
  .delivery-table .delivery-pos{width:100%!important;text-align:left}
  .delivery-table .delivery-who{min-width:0!important}
  .delivery-table .delivery-who b,.delivery-table .delivery-who small{white-space:normal}
  .grid-row-actions{justify-content:flex-end;flex-wrap:wrap}

  #deliveryTableWrap td:nth-child(1)::before{content:"№"}
  #deliveryTableWrap td:nth-child(2)::before{content:"Заказ"}
  #deliveryTableWrap td:nth-child(3)::before{content:"Клиент"}
  #deliveryTableWrap td:nth-child(4)::before{content:"Адрес"}
  #deliveryTableWrap td:nth-child(5)::before{content:"Время"}
  #deliveryTableWrap td:nth-child(6)::before{content:"Менеджер"}
  #deliveryTableWrap td:nth-child(7)::before{content:"Водитель"}
  #deliveryTableWrap td:nth-child(8)::before{content:"Автомобиль"}
  #deliveryTableWrap td:nth-child(9)::before{content:"Статус"}
  #deliveryTableWrap td:nth-child(10)::before{content:"Комментарий"}
  #deliveryTableWrap td:nth-child(11)::before{content:"Обновил"}
  #deliveryTableWrap td:nth-child(12)::before{content:"Действия"}

  #planTableWrap td:nth-child(1)::before{content:"№"}
  #planTableWrap td:nth-child(2)::before{content:"Позиция / работа"}
  #planTableWrap td:nth-child(3)::before{content:"Клиент / направление"}
  #planTableWrap td:nth-child(4)::before{content:"Ответственный"}
  #planTableWrap td:nth-child(5)::before{content:"Время"}
  #planTableWrap td:nth-child(6)::before{content:"Количество"}
  #planTableWrap td:nth-child(7)::before{content:"Статус"}
  #planTableWrap td:nth-child(8)::before{content:"Комментарий"}
  #planTableWrap td:nth-child(9)::before{content:"Обновил"}
  #planTableWrap td:nth-child(10)::before{content:"Действия"}
}

@media(max-width:480px){
  .delivery-table td{grid-template-columns:96px minmax(0,1fr)}
  .delivery-actions select{grid-column:auto}
  .integration{align-items:flex-start}
  .integration .btn{padding:8px 9px}
}


/* LEDEXPERT-V1.4.6-SIDEBAR-FIX */
@media(min-width:1025px){
  .sidebar{display:flex;flex-direction:column;overflow:hidden}
  .sidebar .brand{flex:0 0 auto}
  .sidebar .nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin}
  .sidebar-foot{position:static;left:auto;right:auto;bottom:auto;flex:0 0 auto;margin-top:12px;padding-top:10px;border-top:1px solid #26313d;background:var(--nav)}
}


/* LEDEXPERT-NAS-FILES */
.files-grid{align-items:start}
.nas-item .row{align-items:center}
.nas-main{min-width:0;flex:1}
.nas-main h3{display:flex;align-items:center;gap:2px;margin-bottom:6px}
.nas-main p{overflow-wrap:anywhere}
.nas-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nas-browser-head{padding:2px 0 12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.nas-browser-list{display:grid;gap:8px;max-height:55vh;overflow:auto}
.nas-entry{padding:10px 12px}
@media(max-width:768px){
  .files-grid{grid-template-columns:1fr!important}
  .nas-item .row{align-items:flex-start}
  .nas-actions{width:100%;justify-content:stretch;margin-top:8px}
  .nas-actions .btn{flex:1}
  #panel-files .section-head .btn{width:100%}
}


/* LEDEXPERT-V1.4.8-NAS-CONNECT */
#nasConnectStatus .notice{font-weight:700}
#nasConnectStatus .nas-status-ok{border-color:#9bd4b4;background:#eefaf3;color:#176b3a}
#nasConnectStatus .nas-status-error{border-color:#efb0aa;background:#fff3f2;color:#9a2e24}
#nasShareField select{width:100%}


/* LEDEXPERT-V1.5-VIDEO */
.role-video{display:none}
body.deputy_director .role-video,body.director .role-video,body.administrator .role-video{display:initial}
.video-recorder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}
.video-recorder-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff;min-width:0}
.video-recorder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.video-recorder-head>div{display:flex;align-items:center;gap:7px;min-width:0}
.video-recorder-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-recorder-model{font-weight:700;margin-bottom:5px}
.video-recorder-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.video-error{color:var(--danger);margin-top:7px;overflow-wrap:anywhere}
.video-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.video-channel-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;min-width:0}
.video-frame{position:relative;aspect-ratio:16/9;background:#101820;overflow:hidden}
.video-frame img{width:100%;height:100%;object-fit:cover;display:block}
.video-live-badge{position:absolute;left:9px;top:9px;background:rgba(183,30,30,.9);color:#fff;padding:4px 7px;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.08em}
.video-channel-info{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px}
.video-channel-info span{color:var(--muted);font-size:11px;white-space:nowrap}
#videoConnectStatus .notice{font-weight:700}
@media(max-width:768px){
  .video-recorder-grid,.video-channel-grid{grid-template-columns:1fr}
  .video-recorder-actions .btn{flex:1 1 120px}
  .video-channel-info{align-items:flex-start;flex-direction:column;gap:3px}
  #panel-video .section-head>.btn{width:100%}
}


/* LEDEXPERT-V1.5.1-TASK-READINESS-AUDIT */
.task-readiness{display:flex;align-items:center;gap:22px;margin:4px 0 18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfd}
.task-readiness-chart{position:relative;width:116px;height:116px;flex:0 0 116px;border-radius:50%;background:conic-gradient(#e8edf1 0 100%);display:grid;place-items:center}
.task-readiness-chart::after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.task-readiness-center{position:relative;z-index:1;display:grid;text-align:center;line-height:1.05}
.task-readiness-center b{font-size:24px}
.task-readiness-center span{margin-top:4px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.task-readiness-info{display:grid;gap:10px;min-width:180px;flex:1}
.task-readiness-info>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.task-readiness-info>div:last-child{border-bottom:0;padding-bottom:0}
.task-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.task-dot.todo{background:#d95c59}.task-dot.doing{background:#d79b31}.task-dot.done{background:#2f9b68}
.bar i.status-todo{background:#d95c59}.bar i.status-doing{background:#d79b31}.bar i.status-done{background:#2f9b68}

@media(max-width:768px){
  .task-readiness{gap:14px;padding:13px}
  .task-readiness-chart{width:94px;height:94px;flex-basis:94px}
  .task-readiness-chart::after{width:62px;height:62px}
  .task-readiness-center b{font-size:20px}
  .task-readiness-info{min-width:0}
}
@media(max-width:360px){
  .task-readiness{align-items:stretch;flex-direction:column}
  .task-readiness-chart{align-self:center}
}


/* LEDEXPERT-V1.5.2-RELEASE-MANUAL */
.release-manual{margin:16px 0 4px;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#f7fafc}
.release-manual-title{font-size:16px;font-weight:800;margin-bottom:7px}
.release-manual p{margin:0 0 10px;color:var(--muted);line-height:1.45}
.release-manual ol,.release-manual ul{margin:8px 0 0;padding-left:21px}
.release-manual li{margin:7px 0;line-height:1.45}
.release-manual-incident{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.release-manual-incident>b{display:block;margin-bottom:5px}
.release-manual-note{margin-top:13px;padding:10px 12px;border-radius:11px;background:#fff7df;border:1px solid #ead28b;font-size:12px;line-height:1.45}
@media(max-width:768px){
  .release-manual{padding:13px}
  .release-manual-title{font-size:15px}
  .release-manual ol,.release-manual ul{padding-left:18px}
}


/* LEDEXPERT-v1.5.3 / SIGN-IN EXPERIENCE */
.login-screen-modern{
  min-height:100dvh;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,4vw,56px);
  background:
    radial-gradient(ellipse at 83% 17%,rgba(255,255,255,.96),transparent 44%),
    linear-gradient(135deg,#edf1f3 0%,#f8f9fa 45%,#e9edf1 100%);
  overflow:hidden;
}
.login-screen-modern .login-stage{
  position:relative;
  width:min(1080px,100%);
  min-height:clamp(575px,78vh,710px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#fff;
  border-radius:28px;
  padding:12px;
  box-shadow:0 34px 95px rgba(26,39,51,.12),0 2px 6px rgba(26,39,51,.045);
  animation:led-login-enter .55s cubic-bezier(.2,.7,.2,1) both;
}
.login-screen-modern .login-auth-panel{
  min-width:0;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(22px,3.4vw,42px) clamp(22px,3.5vw,48px) 22px;
}
.login-screen-modern .login-brandline{display:flex;align-items:center;gap:11px}
.login-screen-modern .login-brand-mark{
  display:grid;place-items:center;position:relative;width:40px;height:40px;
  border-radius:13px;background:#132636;color:#fff;font-weight:850;font-size:23px;
  letter-spacing:-.09em;box-shadow:0 5px 12px rgba(19,38,54,.18);
}
.login-screen-modern .login-brand-mark span,.login-screen-modern .login-visual-symbol span{color:#8ec4c7;letter-spacing:normal}
.login-screen-modern .login-brandline strong{display:block;font-size:20px;letter-spacing:-.045em}
.login-screen-modern .login-brandline small{display:block;margin-top:2px;font-size:10px;color:#83929d;letter-spacing:.12em;font-weight:700}
.login-screen-modern .login-auth-content{max-width:410px;width:100%;margin:42px auto 46px}
.login-screen-modern .login-overline{display:block;color:#8095a0;font-size:10px;font-weight:800;letter-spacing:.18em}
.login-screen-modern h1{
  margin:13px 0 7px;
  font-size:clamp(30px,3.8vw,43px);
  line-height:1.12;letter-spacing:-.045em;font-weight:800;color:#152532;
}
.login-screen-modern .login-subtitle{margin:0 0 35px;color:#778590;font-size:14px;line-height:1.5}
.login-screen-modern .login-box{
  display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:0;
  max-width:none;width:100%;
}
.login-screen-modern .login-box .field{display:grid;gap:9px;margin:0 0 22px}
.login-screen-modern .login-box .field label{font-size:13px;font-weight:700;color:#263640}
.login-screen-modern .login-box .field>input,
.login-screen-modern .login-password-wrap input{
  display:block;min-width:0;width:100%;height:54px;padding:0 17px;
  background:#f1f3f6;color:#172a38;border:1px solid transparent;border-radius:13px;
  outline:none;font-size:15px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.login-screen-modern .login-box input::placeholder{color:#a3adb8}
.login-screen-modern .login-box input:focus{
  background:#fff;border-color:#92b5c1;box-shadow:0 0 0 4px rgba(37,104,129,.1)
}
.login-screen-modern .login-password-wrap{position:relative}
.login-screen-modern .login-password-wrap input{padding-right:56px}
.login-screen-modern .login-password-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  display:grid;place-items:center;width:42px;height:42px;
  border:0;border-radius:10px;color:#7a8997;background:transparent;cursor:pointer;
}
.login-screen-modern .login-password-toggle:hover{color:#1d4457;background:#e7edf1}
.login-screen-modern .login-options{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:1px 0 25px;font-size:12px
}
.login-screen-modern .login-remember{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#465560;font-weight:600}
.login-screen-modern .login-remember input{width:17px;height:17px;margin:0;accent-color:#23495a}
.login-screen-modern .login-forgot{padding:3px 0;border:0;background:transparent;color:#2f6677;font-size:12px;font-weight:750;cursor:pointer}
.login-screen-modern .login-forgot:hover{text-decoration:underline}
.login-screen-modern .login-submit{
  width:100%;height:54px;border:0;border-radius:13px;background:#111a23;color:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;
  font-weight:760;font-size:14px;letter-spacing:.01em;
  box-shadow:0 9px 19px rgba(17,26,35,.12);transition:transform .16s ease,background .16s ease,box-shadow .16s ease
}
.login-screen-modern .login-submit span:last-child{font-size:18px;line-height:1}
.login-screen-modern .login-submit:hover{background:#23394a;box-shadow:0 12px 24px rgba(17,26,35,.17);transform:translateY(-1px)}
.login-screen-modern .login-submit:active{transform:scale(.99)}
.login-screen-modern .login-submit:disabled{opacity:.65;cursor:wait;transform:none}
.login-screen-modern .login-error{padding:11px 13px;border-radius:10px;background:#fff1f1;border:1px solid #f4d3d3}
.login-screen-modern .login-auth-method{text-align:center;margin-top:34px}
.login-screen-modern .login-auth-method>span{display:block;color:#9aa5ad;letter-spacing:.13em;font-size:10px;font-weight:750;margin-bottom:11px}
.login-screen-modern .login-auth-method>div{font-size:12px;color:#647783}
.login-screen-modern .login-shield{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:7px;background:#e8f5ee;color:#168358;font-weight:900;margin-right:5px}
.login-screen-modern .login-panel-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#9aa5ac;font-size:10px}
.login-screen-modern .login-visual-panel{
  isolation:isolate;position:relative;display:grid;place-items:center;
  min-width:0;min-height:0;overflow:hidden;border-radius:22px;color:#fff;
  background:linear-gradient(180deg,#354550 0%,#263947 42%,#101c27 100%)
}
.login-screen-modern .login-night-sky{
  position:absolute;z-index:-4;inset:0;
  background:
    radial-gradient(ellipse at 78% 20%,rgba(163,197,208,.15),transparent 35%),
    radial-gradient(ellipse at 25% 44%,rgba(124,160,176,.12),transparent 45%),
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.4) 0 1px,transparent 2px),
    radial-gradient(circle at 69% 27%,rgba(255,255,255,.33) 0 1px,transparent 2px),
    radial-gradient(circle at 40% 11%,rgba(255,255,255,.23) 0 1px,transparent 2px),
    linear-gradient(160deg,#465661,#223747 66%,#17232e 100%);
}
.login-screen-modern .login-mountain{position:absolute;pointer-events:none;left:-9%;width:120%;bottom:-1%;transform:translateZ(0)}
.login-screen-modern .login-mountain-far{
  z-index:-3;height:51%;opacity:.83;
  clip-path:polygon(0 55%,10% 51%,22% 55%,38% 25%,45% 30%,55% 10%,68% 27%,76% 22%,91% 41%,100% 38%,100% 100%,0 100%);
  background:linear-gradient(135deg,#56707c 0%,#253c4c 65%,#192e3b 100%);
}
.login-screen-modern .login-mountain-mid{
  z-index:-2;height:38%;opacity:.91;
  clip-path:polygon(0 44%,12% 33%,25% 54%,39% 35%,55% 53%,69% 18%,84% 40%,100% 26%,100% 100%,0 100%);
  background:linear-gradient(125deg,#273b4c 0%,#152838 100%);
}
.login-screen-modern .login-mountain-front{
  z-index:-1;height:26%;
  clip-path:polygon(0 41%,18% 18%,37% 39%,51% 17%,67% 37%,80% 13%,100% 35%,100% 100%,0 100%);
  background:linear-gradient(160deg,#1a2c3a,#0b1722 90%);
}
.login-screen-modern .login-visual-panel::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(12,24,34,.10),rgba(6,15,22,.24) 100%);
}
.login-screen-modern .login-visual-content{position:relative;width:min(340px,84%);text-align:center;margin-top:-4%;animation:led-login-visual .7s .15s both}
.login-screen-modern .login-visual-symbol{
  width:58px;height:58px;display:grid;place-items:center;margin:0 auto 28px;
  border:1px solid rgba(255,255,255,.24);border-radius:17px;
  background:rgba(255,255,255,.07);font-size:34px;font-weight:850;letter-spacing:-.07em;
  backdrop-filter:blur(10px)
}
.login-screen-modern .login-overline-light{color:#a8c1ca;font-size:9px}
.login-screen-modern .login-visual-content h2{font-size:clamp(28px,3vw,36px);margin:14px 0 15px;letter-spacing:-.045em;line-height:1.2}
.login-screen-modern .login-visual-content p{color:#bdcbd2;line-height:1.6;font-size:14px;margin:0 auto 28px}
.login-screen-modern .login-access-button{
  min-width:210px;display:inline-flex;justify-content:center;align-items:center;gap:18px;
  padding:13px 19px;border:1px solid rgba(255,255,255,.16);border-radius:12px;
  background:rgba(255,255,255,.13);backdrop-filter:blur(12px);
  color:#fff;cursor:pointer;font-weight:720;font-size:13px;
  transition:background .18s,transform .18s
}
.login-screen-modern .login-access-button:hover{background:rgba(255,255,255,.23);transform:translateY(-2px)}
.login-screen-modern .login-visual-bottom{position:absolute;bottom:23px;left:0;right:0;text-align:center;letter-spacing:.15em;color:#7c97a5;font-size:9px;font-weight:720}
@keyframes led-login-enter{from{opacity:0;transform:translateY(14px) scale(.989)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes led-login-visual{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:870px){
  .login-screen-modern .login-stage{grid-template-columns:1fr .82fr}
  .login-screen-modern .login-auth-panel{padding:24px 24px 20px}
  .login-screen-modern .login-visual-content p{font-size:13px}
}
@media(max-width:700px){
  .login-screen-modern{padding:0;align-items:stretch;background:#fff}
  .login-screen-modern .login-stage{
    display:block;width:100%;min-height:100dvh;padding:0;border:0;border-radius:0;box-shadow:none;
  }
  .login-screen-modern .login-auth-panel{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 25px calc(22px + env(safe-area-inset-bottom))}
  .login-screen-modern .login-auth-content{margin:55px auto 48px;max-width:420px}
  .login-screen-modern .login-visual-panel{display:none}
  .login-screen-modern .login-panel-footer{justify-content:center;text-align:center}
  .login-screen-modern h1{font-size:34px}
  .login-screen-modern .login-subtitle{margin-bottom:31px}
}
@media(max-width:375px){
  .login-screen-modern .login-auth-panel{padding-left:18px;padding-right:18px}
  .login-screen-modern .login-brandline strong{font-size:19px}
  .login-screen-modern h1{font-size:30px}
  .login-screen-modern .login-options{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .login-screen-modern .login-stage,.login-screen-modern .login-visual-content{animation:none}
  .login-screen-modern button{transition:none}
}


/* LEDEXPERT-FULL-DATE-DELIVERY-PLAN */
.grid-sheet-date-head{display:inline-flex;align-items:center;margin-top:9px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:#f6f8fa;color:#26394a;font-size:13px;font-weight:800;white-space:nowrap;max-width:100%}
.delivery-actions select{min-width:220px;max-width:100%;text-overflow:clip}
.grid-date-time{display:grid;grid-template-columns:minmax(142px,1.3fr) minmax(105px,.8fr);gap:7px;min-width:265px;width:100%;align-items:end}
.grid-date-time label{min-width:0;display:flex;flex-direction:column;gap:4px}
.grid-date-time label span{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.grid-date-time input[type=date],.grid-date-time input[type=time]{width:100%;min-width:0;min-height:38px;max-width:100%;box-sizing:border-box;padding:6px 7px;font-size:13px}
.grid-date-display{grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:700;white-space:normal}
@media(max-width:1024px){
  .delivery-actions select{min-width:0;max-width:100%}
  .grid-date-time{grid-template-columns:1fr;min-width:0;max-width:100%;gap:7px}
  .grid-date-time label{width:100%;min-width:0}
  .grid-date-time input[type=date],.grid-date-time input[type=time]{width:100%!important;max-width:100%;font-size:16px}
  .grid-date-display{grid-column:auto}
  #deliveryTableWrap td:nth-child(5)::before,#planTableWrap td:nth-child(5)::before{content:"Дата и время"}
}

/* Workspace notification centre v1.5.5 */
.top-actions .workspace-bell-button{position:relative;min-width:42px;height:42px;border:1px solid var(--border,#dfe5ee);border-radius:12px;background:var(--card,#fff);font-size:21px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.workspace-bell-count{position:absolute;right:-7px;top:-9px;background:#d52b48;color:#fff;font-weight:700;font-size:10px;min-width:20px;height:20px;line-height:20px;padding:0 4px;border-radius:13px;border:2px solid white}
.workspace-bell-tray{position:fixed;right:18px;top:84px;z-index:130;width:min(420px,calc(100vw - 26px));max-height:min(68vh,580px);overflow:auto;border:1px solid #ced7e3;box-shadow:0 12px 45px rgba(12,28,48,.22);background:#fff;border-radius:16px;padding:14px}
.workspace-bell-head,.workspace-bell-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px}
.workspace-bell-entry{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e2e7ed;background:white;padding:12px 9px;cursor:pointer;color:#17273c}
.workspace-bell-entry:hover{background:#eef4fc}
.workspace-bell-entry b{display:block;font-size:12px}
.workspace-bell-entry span{display:block;font-size:11px;color:#657489;margin-top:5px}
.nav .section-bell{font-size:12px;opacity:.30;float:right;margin-left:auto;display:inline-block;white-space:nowrap}
.nav .section-bell.has-new{opacity:1;color:#e1a333;font-weight:800}
.mobile-bottom-nav .mobile-section-bell{font-size:9px;background:#ce3144;color:#fff;border-radius:10px;padding:1px 4px;vertical-align:top}
.topbar .workspace-bell-tray.hidden,.workspace-bell-tray.hidden,.workspace-bell-count.hidden{display:none!important}
@media(max-width:768px){.workspace-bell-tray{right:8px;top:76px;max-height:64vh}.top-actions #pushEnableBtn{font-size:11px;padding:7px}.top-actions .workspace-bell-button{height:38px;min-width:38px}}

/* Hikvision HLS substream player */
.video-frame{position:relative}
.video-channel-info .btn{margin-top:7px;align-self:flex-start}
.video-live-overlay{position:absolute;inset:0;z-index:5;background:#060d15;color:white;display:flex;flex-direction:column}
.video-live-toolbar{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:#17273f;font-size:11px}
.video-live-overlay video{width:100%;height:calc(100% - 34px);min-height:125px;object-fit:contain;background:#000}

/* LedExpert Workspace: refined sidebar + color-progress tasks (v1.6.2) */
@media(min-width:1025px){
 .app{grid-template-columns:264px minmax(0,1fr)}
}
.sidebar{
 background:radial-gradient(ellipse at 12% 0%,rgba(68,126,174,.18),transparent 54%),
            linear-gradient(165deg,#15283b 0%,#0f1d2c 52%,#0b1827 100%);
 box-shadow:inset -1px 0 rgba(255,255,255,.06);
 display:flex;flex-direction:column;
 padding:25px 14px 16px;
}
.sidebar .brand{
 position:relative;margin-bottom:16px;padding:10px 12px 16px;
 letter-spacing:.015em;color:#f7fbff;font-size:22px;
 border-bottom:1px solid rgba(222,240,255,.10);
}
.sidebar .brand::before{
 content:"";display:inline-block;width:9px;height:9px;
 margin-right:9px;border-radius:50%;background:#5cd2bb;
 box-shadow:0 0 16px rgba(92,210,187,.6);
}
.sidebar .brand small{color:#98b4cb;line-height:1.5;letter-spacing:.02em}
.sidebar .nav{
 display:flex;flex-direction:column;align-items:stretch;
 gap:4px;min-height:0;overflow-y:auto;overflow-x:hidden;
 padding:2px 4px 12px;scrollbar-width:thin;scrollbar-color:#334d62 transparent;
}
.sidebar .nav .nav-section-label{
 margin:16px 11px 5px;
 font-size:10px;font-weight:800;letter-spacing:.12em;
 text-transform:uppercase;color:#7795b0;white-space:nowrap;
}
.sidebar .nav button{
 position:relative;min-height:41px;display:flex;align-items:center;
 border:1px solid transparent;border-radius:12px;
 padding:9px 13px;font-size:13px;font-weight:620;
 line-height:1.25;color:#bdcede;letter-spacing:.006em;
 transition:background .17s,color .17s,border-color .17s,transform .17s;
}
.sidebar .nav button:hover{
 background:rgba(137,189,229,.11);
 border-color:rgba(174,217,247,.08);color:#fff;transform:translateX(2px);
}
.sidebar .nav button.active{
 background:linear-gradient(100deg,rgba(83,156,203,.30),rgba(75,124,168,.12));
 border-color:rgba(107,182,232,.28);color:#fff;
 box-shadow:inset 3px 0 0 #60cdbf,0 5px 19px rgba(2,11,23,.16);
 font-weight:790;
}
.sidebar .nav button:focus-visible{outline:2px solid #6ed9d0;outline-offset:2px}
.sidebar .nav .section-bell{margin-left:auto;border-radius:100px}
.sidebar .sidebar-foot{
 position:static;left:auto;right:auto;bottom:auto;margin-top:auto;
 padding-top:12px;border-top:1px solid rgba(255,255,255,.08);
}
.sidebar .user-mini{
 border:1px solid rgba(156,206,244,.15);border-radius:15px;
 background:rgba(209,232,249,.045);padding:12px;
}
.sidebar .user-mini b{color:#eaf5ff}
.sidebar .user-mini span{color:#aac0d1}

/* More information than color alone: status label, numerical progress, assignees */
.task-colored{
 --task-tone:#869eb5;
 --task-tint:#f5f8fc;
 background:linear-gradient(135deg,var(--task-tint),#fff 88%);
 border-color:color-mix(in srgb,var(--task-tone) 24%,#e5e9f0);
 border-left:4px solid var(--task-tone);
 box-shadow:0 5px 16px rgba(18,45,72,.045);
 transition:transform .16s,box-shadow .16s,border-color .16s;
}
.task-colored:hover{
 transform:translateY(-2px);
 box-shadow:0 12px 28px rgba(18,45,72,.1);
 border-color:var(--task-tone);
}
.task-band-new{--task-tone:#d56b70;--task-tint:#fff6f5}
.task-band-start{--task-tone:#d68c52;--task-tint:#fff8ef}
.task-band-middle{--task-tone:#e0b852;--task-tint:#fffced}
.task-band-near{--task-tone:#379cb2;--task-tint:#f0faff}
.task-band-complete{--task-tone:#279c73;--task-tint:#eefaf5}
.task-band-rework{--task-tone:#925bc5;--task-tint:#f8f2ff}
.task-colored .task-progress-line,
.task-table-row .task-progress-line{
 display:flex;gap:10px;align-items:center;margin:8px 0 9px;
}
.task-progress-line strong{
 flex:0 0 auto;font-weight:800;color:var(--task-tone,#50667d);font-size:11px;
}
.task-progress-track{
 position:relative;flex:1;min-width:50px;height:8px;
 border-radius:100px;background:rgba(120,150,174,.16);overflow:hidden;
}
.task-progress-track i{
 display:block;min-width:0;height:100%;border-radius:100px;
 background:var(--task-tone,#50788f);
 transition:width .25s ease;
}
.task-status{font-weight:800}
.task-status-rework{background:#f4e9ff;color:#8147b6}
.task-status-todo{background:#fff0f0;color:#b8575c}
.task-status-doing{background:#fff5dd;color:#936d11}
.task-status-done{background:#e7f8ef;color:#197a51}
.task-table-row{--task-tone:#a0adc1}
.task-table-row.task-band-new{--task-tone:#d56b70}
.task-table-row.task-band-start{--task-tone:#d68c52}
.task-table-row.task-band-middle{--task-tone:#e0b852}
.task-table-row.task-band-near{--task-tone:#379cb2}
.task-table-row.task-band-complete{--task-tone:#279c73}
.task-table-row.task-band-rework{--task-tone:#925bc5}
.task-table-row td:first-child{border-left:3px solid var(--task-tone);min-width:180px}
.task-table-row .task-progress-line{max-width:190px}
.task-assignee-cell{max-width:240px;white-space:normal!important;line-height:1.45}
.task-dot.rework{background:#925bc5}
.task-member-picker{
 display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
 gap:8px;max-height:210px;overflow:auto;border:1px solid var(--line);
 padding:10px;border-radius:12px;background:#f8fbfd;
}
.task-member-option{
 display:flex;gap:9px;align-items:center;padding:8px;
 border:1px solid #e6edf3;border-radius:9px;background:#fff;
 cursor:pointer;
}
.task-member-option:has(input:checked){border-color:#7cb8e2;background:#eff8ff}
.task-member-option input{width:17px;flex:0 0 17px;accent-color:#326c96}
.task-member-option b{font-size:12px;display:block;line-height:1.35}
.task-member-option small{font-size:10px;color:#6f8191;display:block}
.task-progress-editor input[type=range]{
 accent-color:#398f9b;padding:0;height:28px;
}
.task-progress-editor small,.task-member-picker + small{font-size:11px;color:var(--muted)}
.kanban{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1300px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){
 .sidebar .nav{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}
 .sidebar .sidebar-foot{position:static}
 .sidebar{height:100dvh}
}
@media(max-width:650px){
 .kanban{grid-template-columns:1fr}
 .task-member-picker{grid-template-columns:1fr}
}

.task-status-history{display:grid;gap:7px;max-height:205px;overflow:auto;background:#f8fafc;border-radius:12px;padding:10px}
.task-history-entry{padding:8px 10px;background:#fff;border:1px solid #e3ebf1;border-radius:9px}
.task-history-entry b{font-size:12px}
.task-history-entry span{float:right;color:#748697;font-size:11px}
.task-history-entry p{clear:both;font-size:12px;color:#48566a;margin:8px 0 0}

.bar i.status-rework{background:#925bc5}

/* Current local date and clock: colon blinks only when motion is allowed */
.le-header-clock{display:grid;gap:2px;justify-items:end;min-width:132px;margin-right:5px}
.le-header-date{font-size:10px;line-height:1.3;color:#748598;font-weight:700;white-space:nowrap}
.le-header-clock strong{font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#183951}
.le-clock-colon{display:inline-block;animation:le-colon-flash 1s steps(1,end) infinite;color:#2f9d97}
@keyframes le-colon-flash{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.le-clock-colon{animation:none}}
@media(max-width:600px){.le-header-clock{min-width:90px}.le-header-date{font-size:9px}.le-header-clock strong{font-size:17px}}


/* IT Helpdesk and in-app event alerts */
.le-it-top-button{
 border:1px solid #b7dcef;background:linear-gradient(105deg,#e8f5fd,#f4faff);
 color:#195c85;padding:10px 14px;border-radius:12px;cursor:pointer;
 font-size:13px;font-weight:750;white-space:nowrap;
 box-shadow:0 4px 14px rgba(34,94,132,.1);
}
.le-it-top-button:hover{background:#d8edfc;border-color:#7cb8d8}
.le-it-top-button:focus-visible{outline:3px solid #79bce4;outline-offset:2px}
.le-it-form-note{color:#60788b;font-size:12px}
.workspace-event-stack{position:fixed;top:89px;right:18px;width:min(360px,calc(100vw - 28px));
 display:flex;flex-direction:column;gap:10px;z-index:10000;pointer-events:none}
.workspace-event-card{pointer-events:auto;display:flex;align-items:flex-start;gap:8px;
 background:#fff;border:1px solid #d7e5ee;border-left:4px solid #318bb9;
 border-radius:14px;padding:13px 10px 12px;box-shadow:0 15px 34px rgba(17,41,66,.2)}
.workspace-event-rework{border-left-color:#9162c4}
.workspace-event-messenger{border-left-color:#2fa985}
.workspace-event-open{display:flex;align-items:flex-start;gap:10px;flex:1;
 border:none;background:transparent;text-align:left;cursor:pointer;color:#193a54}
.workspace-event-icon{width:30px;height:30px;flex:0 0 30px;
 display:grid;place-items:center;border-radius:9px;background:#e9f5fb}
.workspace-event-text{display:flex;flex-direction:column;min-width:0;gap:4px}
.workspace-event-text strong{font-size:13px;overflow-wrap:anywhere}
.workspace-event-text small{font-size:11px;color:#62788a;overflow-wrap:anywhere;line-height:1.5}
.workspace-event-close{border:0;background:transparent;color:#687f90;cursor:pointer;font-size:22px}
.workspace-popup-setting{display:block;width:100%;padding:10px;border:0;border-top:1px solid #e6edf1;
 background:transparent;color:#256590;text-align:left;cursor:pointer}
.workspace-popup-setting:hover{background:#f0f8ff}
@media(max-width:760px){.le-it-top-button{font-size:12px;padding:8px 9px}
.workspace-event-stack{top:75px;right:10px}}

/* LedExpert v1.6.6 clock / notifications */
.le-header-clock strong{display:inline-flex;align-items:center;white-space:nowrap;line-height:1.2;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.le-clock-colon{display:inline-block;min-width:.52em;text-align:center;color:#248c91;animation:none!important;transition:none!important}
body > .toast{position:fixed!important;inset:auto 20px 22px auto!important;z-index:2147483500!important;max-width:min(400px,calc(100vw - 28px));border-left:5px solid #56cbbf;background:#173951;color:white;border-radius:14px;box-shadow:0 17px 42px #172c4770;overflow-wrap:anywhere}
.workspace-event-stack{position:fixed!important;inset:auto 15px 26px auto!important;z-index:2147483000!important;width:min(365px,calc(100vw - 28px));max-height:73vh;overflow-y:auto;pointer-events:none}
.workspace-event-card{pointer-events:auto;box-shadow:0 15px 42px #142e4b55}
@media(max-width:750px){.workspace-event-stack{inset:auto 10px 89px auto!important;max-height:62vh}body > .toast{inset:auto 10px 86px auto!important}}

/* LedExpert v1.6.6 — highlight dashboard metrics without obscuring their labels */
#panel-home .stats .stat{
 --tile-color:#487dad;--tile-bg:#eef6ff;
 position:relative;min-height:137px;overflow:hidden;
 border:1px solid color-mix(in srgb,var(--tile-color) 29%,#e6edf4);
 border-left:5px solid var(--tile-color);
 background:linear-gradient(115deg,var(--tile-bg),#fff 90%);
 box-shadow:0 9px 27px rgba(17,45,70,.065);
 transition:transform .16s,box-shadow .16s;
}
#panel-home .stats .stat:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(17,45,70,.14)}
#panel-home .stats .stat .label{color:var(--tile-color);font-weight:800;padding-right:37px}
#panel-home .stats .stat .value{font-variant-numeric:tabular-nums;color:#18314c}
#panel-home .stats .stat::after{
 position:absolute;top:15px;right:15px;width:37px;height:37px;
 border-radius:12px;display:grid;place-items:center;
 background:color-mix(in srgb,var(--tile-color) 13%,white);
 color:var(--tile-color);font-weight:800;font-size:20px;
}
#panel-home .stats .stat[data-metric="tasks"]{--tile-color:#4c7eae;--tile-bg:#edf5ff}
#panel-home .stats .stat[data-metric="tasks"]::after{content:"▤"}
#panel-home .stats .stat[data-metric="doing"]{--tile-color:#bd822c;--tile-bg:#fff7e8}
#panel-home .stats .stat[data-metric="doing"]::after{content:"◷"}
#panel-home .stats .stat[data-metric="overdue"]{--tile-color:#ce4854;--tile-bg:#fff0f0}
#panel-home .stats .stat[data-metric="overdue"]::after{content:"!"}
#panel-home .stats .stat[data-metric="projects"]{--tile-color:#8466af;--tile-bg:#f5f1ff}
#panel-home .stats .stat[data-metric="projects"]::after{content:"◈"}
#panel-home .stats .stat[data-metric="unread"]{--tile-color:#238d7b;--tile-bg:#edfbf6}
#panel-home .stats .stat[data-metric="unread"]::after{content:"✉"}
#panel-home .stats .stat[data-active="no"]{filter:saturate(.70)}
#panel-home .stats .stat[data-metric="overdue"][data-active="yes"] .value{color:#b7293b}
#panel-home .stats .stat[data-metric="unread"][data-active="yes"] .value{color:#14715e}
@media(max-width:750px){#panel-home .stats .stat{min-height:125px;padding:16px}}

/* LedExpert 1.6.6 — visible alerts, blinking clock separator and colored KPI cards. */
.le-header-clock strong{
  display:inline-flex;align-items:baseline;justify-content:flex-end;
  font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;
}
.le-header-clock .le-clock-colon{
  width:.28em;min-width:.28em;text-align:center;display:inline-block;
  padding:0;margin:0;color:#178d98;font-weight:850;
  animation:none!important;transition:none!important;
  font-variant-numeric:tabular-nums;
}
/* Custom popups always stay above sidebars, modals and floating bottom nav. */
body > #toast.toast, #toast.toast:not(.hidden){
  position:fixed!important;top:auto!important;
  right:max(22px,env(safe-area-inset-right))!important;
  bottom:calc(28px + env(safe-area-inset-bottom))!important;
  z-index:2147483000!important;
  max-width:min(420px,calc(100vw - 30px));
  box-shadow:0 16px 46px rgba(10,31,52,.34);
  border:1px solid rgba(255,255,255,.18);
}
body > #workspaceEventStack.workspace-event-stack{
  position:fixed!important;top:auto!important;
  right:max(22px,env(safe-area-inset-right))!important;
  bottom:calc(28px + env(safe-area-inset-bottom))!important;
  z-index:2147482999!important;
  max-height:65dvh;overflow-y:auto;
  pointer-events:none;
}
#workspaceEventStack .workspace-event-card{pointer-events:auto}
/* KPI semantic accents; numeric values and captions preserve the meaning. */
#panel-home .stats > .stat{
  --kpi:#4d90bb;--kpi-bg:#eef7fd;
  position:relative;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--kpi) 25%,#dde8f1);
  border-top:4px solid var(--kpi);
  background:linear-gradient(125deg,var(--kpi-bg),#fff 85%);
  box-shadow:0 9px 26px rgba(25,66,97,.065);
  transition:transform .17s ease,box-shadow .17s ease;
}
#panel-home .stats > .stat::after{
  content:"";position:absolute;right:-23px;top:-26px;
  width:94px;height:94px;border-radius:50%;
  background:color-mix(in srgb,var(--kpi) 12%,transparent);
  pointer-events:none;
}
#panel-home .stats > .stat:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 31px rgba(19,49,80,.11);
}
#panel-home .stats > .stat .label{color:#52677b;font-weight:700}
#panel-home .stats > .stat .value{color:var(--kpi);font-weight:850}
#panel-home .stats > .stat[data-kpi="tasks"]{
  --kpi:#397eae;--kpi-bg:#eef7fd;
}
#panel-home .stats > .stat[data-kpi="doing"]{
  --kpi:#bd8429;--kpi-bg:#fff7e9;
}
#panel-home .stats > .stat[data-kpi="overdue"]{
  --kpi:#c65b61;--kpi-bg:#fff1f2;
}
#panel-home .stats > .stat[data-kpi="projects"]{
  --kpi:#8169bf;--kpi-bg:#f5f1fc;
}
#panel-home .stats > .stat[data-kpi="unread"]{
  --kpi:#278c8a;--kpi-bg:#eaf9f7;
}
#panel-home .stats > .stat[data-alert="quiet"]{
  --kpi:#7890a2;--kpi-bg:#f3f7fa;
}
#panel-home .stats > .stat[data-kpi="overdue"][data-alert="active"]{
  box-shadow:0 9px 28px rgba(198,91,97,.12);
}
#panel-home .stats > .stat[data-kpi="unread"][data-alert="active"]{
  box-shadow:0 9px 28px rgba(39,140,138,.14);
}
@media(max-width:1024px){
  body > #toast.toast, #toast.toast:not(.hidden),
  body > #workspaceEventStack.workspace-event-stack{
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    right:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
 #panel-home .stats > .stat{transition:none}
 #panel-home .stats > .stat:hover{transform:none}
}


/* LEDEXPERT TASKS: row tap/click opens task, with action visible on phones */
#panel-tasks .task-clickable{cursor:pointer;transition:background-color .15s,box-shadow .15s}
#panel-tasks .task-clickable:hover{background:#f5f9fc}
#panel-tasks .task-clickable:focus-visible{outline:3px solid #379cb2;outline-offset:2px}
#panel-tasks .task-title-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
#panel-tasks .task-title-content{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;text-align:left}
#panel-tasks .task-title-content b{overflow-wrap:anywhere}
#panel-tasks .task-mobile-open{display:none}

@media(max-width:1024px){
  #panel-tasks,#panel-tasks .card,#panel-tasks .table-wrap{min-width:0;max-width:100%;overflow-x:hidden}
  #panel-tasks .table{width:100%!important;min-width:0!important;max-width:100%!important}
  #panel-tasks .task-clickable{max-width:100%}
  #panel-tasks .table td.task-title-cell{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;white-space:normal!important;text-align:left!important}
  #panel-tasks .table td.task-title-cell::before{display:none!important}
  #panel-tasks .task-mobile-open{display:inline-flex!important;flex:0 0 auto;align-items:center;justify-content:center;min-height:36px;white-space:nowrap}
  #panel-tasks .table td.task-actions-cell{display:none!important}
  #panel-tasks .task-title-content{min-width:0}
  #panel-tasks .task-title-top{width:100%}
}
@media(max-width:360px){
  #panel-tasks .task-title-top{gap:7px}
  #panel-tasks .task-mobile-open{padding:7px 9px;font-size:11px}
}

/* LedExpert mobile grids v1.6.10: fixed iPhone date/time and status bands */
.delivery-table tr[data-status="planned"]{--grid-status:#8aa1b7;--grid-tint:#f4f7fb}
.delivery-table tr[data-status="loading"],.delivery-table tr[data-status="in_progress"]{--grid-status:#d69a36;--grid-tint:#fff8e9}
.delivery-table tr[data-status="on_route"]{--grid-status:#348fc2;--grid-tint:#edf7fd}
.delivery-table tr[data-status="delivered"],.delivery-table tr[data-status="done"]{--grid-status:#27976e;--grid-tint:#edf9f3}
.delivery-table tr[data-status="delayed"]{--grid-status:#cf594e;--grid-tint:#fff0ed}
.delivery-table tr[data-status="cancelled"]{--grid-status:#8d8791;--grid-tint:#f3f2f4}
.delivery-table tbody tr[data-status]{box-shadow:inset 4px 0 var(--grid-status),0 3px 12px rgba(16,24,40,.05)!important}
.delivery-table tbody tr[data-status] select[data-field="status"]{background:var(--grid-tint)!important;border-left:4px solid var(--grid-status)!important;font-weight:700}
.grid-choice-list{position:fixed;z-index:350;background:#fff;border:1px solid #cbd6e2;border-radius:14px;box-shadow:0 14px 38px rgba(12,28,48,.24);padding:6px;max-height:260px;overflow-y:auto;overscroll-behavior:contain}
.grid-choice-list button{display:block;width:100%;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:12px;text-align:left;font-size:15px;color:#24384a;cursor:pointer}
.grid-choice-list button:last-child{border-bottom:0}
.grid-choice-list button:focus,.grid-choice-list button:hover{background:#edf6fd}
.grid-choice-list .grid-hint{padding:9px 10px;color:#667789;font-size:12px}
#homePushSetup{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#homePushSetup .btn{flex-shrink:0}
@media(max-width:1024px){
  #deliveryTableWrap td:nth-child(5),#planTableWrap td:nth-child(5){
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
    padding:12px 0!important;overflow:visible!important
  }
  #deliveryTableWrap td:nth-child(5)::before,#planTableWrap td:nth-child(5)::before{display:none!important}
  #deliveryTableWrap td:nth-child(5) .grid-date-time,#planTableWrap td:nth-child(5) .grid-date-time{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;gap:10px!important
  }
  .delivery-table .grid-date-time label{display:block!important;min-width:0!important;max-width:100%!important;width:100%!important}
  .delivery-table .grid-date-time label span{display:block;margin-bottom:5px;font-size:13px}
  .delivery-table .grid-date-time input[type="date"],.delivery-table .grid-date-time input[type="time"]{
    display:block!important;box-sizing:border-box!important;-webkit-box-sizing:border-box!important;
    -webkit-appearance:none;appearance:none;width:100%!important;max-width:100%!important;min-width:0!important;
    height:48px!important;min-height:48px!important;font-size:16px!important;padding:8px 12px!important
  }
  .delivery-table .grid-date-display{display:block;max-width:100%;overflow-wrap:anywhere}
  .grid-choice-list{left:12px!important;right:12px!important;width:auto!important;max-height:min(37vh,300px)}
}

/* LedExpert Messenger v1.7.1 — desktop conversation layout and mobile chat screen */
#panel-messenger .messenger-shell{height:min(79dvh,920px);min-height:520px;grid-template-columns:minmax(280px,32%) minmax(0,1fr);gap:12px}
#panel-messenger .messenger-sidebar,#panel-messenger .messenger-main{height:100%;max-height:none;min-height:0;border-radius:19px}
#panel-messenger .messenger-sidebar{overflow:hidden}
#panel-messenger .messenger-chat-list{overflow-y:auto;flex:1;min-height:0}
#panel-messenger .messenger-main{grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
#panel-messenger .messenger-messages{min-height:0;overscroll-behavior:contain;scroll-behavior:smooth;padding:14px 10px}
#panel-messenger .messenger-message{max-width:min(82%,580px);border-radius:15px 15px 15px 5px}
#panel-messenger .messenger-message.own{border-radius:15px 15px 5px 15px}
#panel-messenger .messenger-composer{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:end}
#panel-messenger .messenger-composer .btn{min-height:46px}
#messengerBackBtn{display:none}
#messengerGroupBtn{white-space:nowrap}
#panel-messenger .messenger-new-chat{grid-template-columns:minmax(0,1fr) auto auto}
.messenger-group-picker{max-height:270px;overflow:auto;display:grid;gap:6px;border:1px solid #dce5ed;border-radius:12px;padding:10px}
.messenger-group-person{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #ecf0f5}
.messenger-group-person span{display:grid;gap:3px}.messenger-group-person small{color:#778593}
.messenger-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;max-height:360px;overflow-y:auto}
.messenger-emoji-choice{font-size:24px;border:0;background:#f6f8fa;border-radius:10px;padding:8px;cursor:pointer}
.messenger-emoji-choice:hover{background:#e7f2fc}
@media(max-width:900px){
 #panel-messenger{min-width:0}
 #panel-messenger .messenger-shell{display:block!important;height:calc(100dvh - 185px);min-height:400px;overflow:hidden!important}
 #panel-messenger .messenger-sidebar,#panel-messenger .messenger-main{height:100%;max-height:none!important;min-height:0!important;border-radius:14px}
 #panel-messenger .messenger-new-chat{grid-template-columns:minmax(0,1fr) auto auto!important}
 #panel-messenger .messenger-new-chat .btn{width:auto;white-space:nowrap;padding:8px!important}
 #panel-messenger .messenger-main{display:none!important}
 #panel-messenger.chat-open .messenger-sidebar{display:none!important}
 #panel-messenger.chat-open .messenger-main{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto}
 #panel-messenger .messenger-messages{min-height:0!important;overflow-y:auto!important}
 #panel-messenger .messenger-composer{grid-template-columns:40px minmax(0,1fr) 46px!important;gap:6px}
 #panel-messenger .messenger-composer .btn{width:auto!important;padding:8px!important}
 #panel-messenger .messenger-composer textarea{min-width:0;min-height:42px;font-size:16px}
 #messengerBackBtn{display:inline-flex}
 #panel-messenger .messenger-head{gap:8px}
 #panel-messenger .messenger-head h2{font-size:16px}
 #messengerExternalLink{display:none}
}

/* Group chats enabled: authenticated Messenger API deployed. */
#messengerGroupBtn{display:inline-flex;align-items:center;justify-content:center}

/* LedExpert Messenger: video review, compact chat list v1.7.2 */
#panel-messenger .messenger-shell{border:1px solid #e1e8ef;border-radius:18px;background:#f5f8fb;box-shadow:0 12px 40px rgba(21,46,71,.07);padding:10px}
#panel-messenger .messenger-sidebar{background:#fff}
#panel-messenger .messenger-main{background:linear-gradient(160deg,#f8fbfe,#eff5fa)}
#panel-messenger .messenger-chat-search{padding:2px 0 12px}
#messengerSearchInput{width:100%;height:42px;min-width:0;border:1px solid #dde7ef;border-radius:12px;padding:10px 14px;background:#f5f8fa;font-size:14px}
#messengerSearchInput:focus{outline:2px solid #9bd0e8;background:white}
#panel-messenger .messenger-chat-list{gap:3px;padding-right:4px}
#panel-messenger .messenger-chat{display:flex;align-items:center;gap:10px;border-color:transparent;border-radius:13px;padding:12px;min-height:69px;transition:background .12s}
#panel-messenger .messenger-chat:hover{background:#edf4fa}
#panel-messenger .messenger-chat.active{background:#e5f2fb;border-color:#b7d7e8}
#panel-messenger .messenger-chat-avatar{display:grid!important;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;font-size:16px;font-weight:800;background:linear-gradient(150deg,#409bc0,#356a99);color:white;letter-spacing:.02em;white-space:nowrap}
#panel-messenger .messenger-chat-summary{display:block;flex:1;min-width:0;text-align:left}
#panel-messenger .messenger-chat-summary b{font-size:13px;line-height:1.45}
#panel-messenger .messenger-chat-summary span{font-size:11px;color:#6f8494}
#panel-messenger .messenger-head{background:#fff;padding:9px 12px 14px;border-radius:13px 13px 0 0}
#panel-messenger .messenger-head>div{flex:1;min-width:0}
#panel-messenger .messenger-head h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panel-messenger .messenger-composer{background:#fff;border:1px solid #e4edf5;border-radius:15px;padding:9px}
#panel-messenger .messenger-composer textarea{border:0;outline:none;background:transparent;padding:11px 8px}
#panel-messenger .messenger-message{line-height:1.45;box-shadow:0 2px 10px rgba(10,36,60,.055)}
#panel-messenger .messenger-message.own{box-shadow:0 3px 13px rgba(32,69,99,.14)}
@media(max-width:900px){
 #panel-messenger .messenger-shell{height:calc(100dvh - 180px);min-height:350px;padding:6px;border:0;border-radius:12px}
 #panel-messenger .messenger-sidebar,#panel-messenger .messenger-main{padding:12px!important;border:0!important}
 #panel-messenger .messenger-chat-list{padding:0!important}
 #panel-messenger .messenger-head{align-items:center}
 #panel-messenger .messenger-composer{margin-bottom:3px}
 #panel-messenger .messenger-chat{min-height:74px}
 #panel-messenger .messenger-chat-avatar{flex-basis:46px}
}

/* v1.7.3: Inline emoji picker anchored to Messenger composer */
.led-emoji-popover{
  position:fixed;z-index:390;width:380px;
  display:flex;flex-direction:column;min-width:0;
  background:#fff;color:#25374a;border:1px solid #d5e1ec;
  border-radius:16px;box-shadow:0 15px 48px rgba(15,42,68,.22);
  padding:10px;box-sizing:border-box;overflow:hidden;
}
.led-emoji-head{display:flex;justify-content:space-between;align-items:center;padding:3px 5px 9px;gap:10px;font-size:14px}
.led-emoji-close{display:grid;place-items:center;font-size:23px;width:31px;height:31px;background:#f1f4f7;border:0;border-radius:10px;cursor:pointer;color:#607184}
.led-emoji-tabs{display:flex;flex-shrink:0;gap:5px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin}
.led-emoji-tabs button{white-space:nowrap;border:0;border-radius:9px;background:#f0f4f7;padding:8px 11px;font-size:12px;color:#52677c;cursor:pointer}
.led-emoji-tabs button.selected{background:#dceffc;color:#125a8c;font-weight:800}
.led-emoji-buttons{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-content:start;gap:4px;padding:3px}
.led-emoji-option{display:grid;place-items:center;min-height:41px;padding:4px;background:#fff;border:0;border-radius:9px;font-size:25px;cursor:pointer;line-height:1.2}
.led-emoji-option:hover,.led-emoji-option:focus-visible{background:#e8f4fc;outline:none}
#messengerEmojiBtn[aria-expanded="true"]{background:#e5f2fb;border-color:#97cbe4}
#panel-messenger .messenger-welcome{margin:auto;text-align:center;width:min(460px,100%);padding:20px 12px;color:#728497;align-self:center}
#panel-messenger .messenger-welcome-symbol{margin:0 auto 16px;width:70px;height:70px;display:grid;place-items:center;border-radius:21px;background:#e5f2fb;font-size:32px;color:#2b759d}
#panel-messenger .messenger-welcome h3{font-size:19px;line-height:1.3;color:#304960;margin:0 0 10px;font-weight:750}
#panel-messenger .messenger-welcome p{font-size:13px;line-height:1.55;max-width:315px;margin:0 auto}
@media(max-width:900px){
 .led-emoji-popover{max-width:calc(100vw - 20px)}
 .led-emoji-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
 .led-emoji-option{font-size:24px;min-height:39px}
}

/* Messenger LedExpert 1.7.4: interactive bottom-right quick-reply toast */
.led-quick-reply{
  pointer-events:auto;position:relative;display:flex;flex-direction:column;gap:11px;
  width:100%;padding:15px 15px 13px;box-sizing:border-box;
  border:1px solid #cbddec;border-radius:17px;
  background:#fff;color:#233a4f;
  box-shadow:0 15px 47px rgba(8,39,69,.25);
  animation:ledQuickEnter .22s cubic-bezier(.2,.85,.3,1);
}
@keyframes ledQuickEnter{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.led-quick-head{display:flex;align-items:center;gap:10px;min-width:0}
.led-quick-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
 background:linear-gradient(150deg,#4cb3c4,#2d6c9b);color:white;font-weight:800;font-size:14px}
.led-quick-names{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;line-height:1.2}
.led-quick-names strong{font-size:14px;color:#203b55;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.led-quick-names small{font-size:11px;color:#748698;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.led-quick-close{align-self:flex-start;border:0;border-radius:9px;width:28px;height:28px;font-size:23px;line-height:1;
 background:#eef3f7;color:#647487;cursor:pointer}
.led-quick-message{margin:0;padding:10px 12px;max-height:145px;overflow:auto;border-radius:12px;
 background:#f1f6fa;font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.led-quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.led-quick-actions button,.led-quick-send button{min-height:36px;padding:8px 13px;font-weight:700;font-size:12px;border-radius:10px;cursor:pointer}
.led-quick-primary{background:#236b9e;color:white;border:1px solid #236b9e}
.led-quick-primary:hover{background:#19577f}
.led-quick-primary:disabled{opacity:.65;cursor:wait}
.led-quick-secondary{background:white;color:#2c617f;border:1px solid #cfdee9}
.led-quick-reply-area{display:flex;flex-direction:column;gap:7px}
.led-quick-reply-area[hidden]{display:none!important}
.led-quick-send{display:flex;align-items:flex-end;gap:8px}
.led-quick-send textarea{box-sizing:border-box;flex:1;min-width:0;min-height:56px;max-height:130px;
 padding:9px 11px;border-radius:11px;border:1px solid #bed4e4;resize:vertical;
 background:white;font-size:14px;outline-color:#4b91be}
.led-quick-hint{font-size:10px;color:#738396}
.led-quick-error{color:#b02d2d;font-size:11px}
@media(max-width:1024px){.led-quick-reply{border-radius:15px;padding:12px}}
@media(prefers-reduced-motion:reduce){.led-quick-reply{animation:none}}

/* LedExpert employee notifications v1.8.0 */
#leAlertForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#leAlertForm .field{min-width:0}
#leAlertForm .field label{display:block;margin-bottom:5px}
#leAlertForm .field input{width:100%;min-width:0;box-sizing:border-box}
#leAlertForm .le-alert-checkbox{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
#leAlertForm .le-alert-checkbox input{width:auto;min-width:18px;height:18px}
#leAlertForm .le-alert-checkbox:nth-child(odd){background:var(--soft)}
#leAlertModalBody{width:100%;min-width:0}
#leAlertLinkBox{display:grid;gap:16px;padding:10px;min-width:0}
#leAlertLinkBox a{width:fit-content;max-width:100%}
@media(max-width:700px){#leAlertForm{grid-template-columns:1fr}#leAlertForm .field{width:100%}}

/* Unread message counter in the built-in corporate Messenger. */
.messenger-chat-unread{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 6px;margin-left:auto;border-radius:14px;background:#c8354e;color:#fff;font-size:12px;font-weight:700;line-height:1;flex-shrink:0}

/* Archive review: protected NVR playback and clip export */
.video-archive-card{margin-top:20px;padding:18px;border:1px solid #d9e5ec;border-radius:17px;background:#f8fbfd}
.video-archive-card h3{margin:0 0 9px;font-size:16px}
.video-archive-card .muted{line-height:1.5}
.video-archive-controls{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr auto;align-items:end;gap:12px;margin:14px 0}
.video-archive-controls label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;color:#415568}
.video-archive-controls select,.video-archive-controls input{width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #cbd8e4;border-radius:11px;padding:10px 11px;font:inherit;color:#152b3e}
.video-archive-controls button{white-space:nowrap;min-height:40px}
.video-archive-results{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px;max-height:240px;overflow-y:auto}
.video-archive-item{text-align:left;white-space:normal;max-width:100%;font-weight:500}
.video-archive-item.selected{outline:2px solid #239ca7;background:#e8f7f7}
#videoArchiveEditor{padding:16px;border:1px solid #d6e3ed;border-radius:14px;background:#fff}
#videoArchiveEditor .video-archive-controls{grid-template-columns:1fr 1fr auto}
.video-archive-player{display:block;width:min(100%,980px);max-height:65vh;background:#111a22;border-radius:12px;margin:12px 0}
#videoArchiveDownload{display:inline-flex;margin-top:10px;text-decoration:none}
@media(max-width:900px){.video-archive-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.video-archive-controls button{grid-column:1/-1}.video-archive-card{padding:12px}#videoArchiveEditor .video-archive-controls{grid-template-columns:1fr}}
@media(max-width:480px){.video-archive-controls{grid-template-columns:1fr}.video-archive-results{max-height:300px}}


/* LedExpert PWA header mobile fix 2026-10-17.
   Two visible rows: menu / task / date / bell; password / IT / Push / refresh. */
@media (max-width: 768px) {
 .topbar {
   display:grid!important;
   grid-template-columns:42px minmax(0,1fr) 86px 42px;
   grid-template-rows:minmax(42px,auto) minmax(42px,auto);
   column-gap:6px;row-gap:8px;align-items:center;
   min-width:0!important;width:100%!important;max-width:100%!important;
   box-sizing:border-box;overflow:visible;
   margin:0 0 12px!important;
   padding:calc(9px + env(safe-area-inset-top)) 0 10px!important;
 }
 .topbar>.title{display:none!important}
 .topbar>#mobileMenuBtn{
   grid-column:1;grid-row:1;min-width:0;width:42px;height:42px;margin:0;
 }
 .topbar>.top-actions{display:contents!important}
 .topbar .top-actions>*{min-width:0;max-width:100%;margin:0;box-sizing:border-box}
 .topbar #quickTaskBtn{
   grid-column:2;grid-row:1;width:100%;min-width:0;height:42px;
   min-height:42px;padding:7px 8px;font-size:13px;
   white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 }
 .topbar #quickTaskBtn::before{content:none!important}
 .topbar #leCurrentClock{
   grid-column:3;grid-row:1;width:86px;min-width:0;margin:0;padding:0;
   display:grid;align-content:center;justify-items:center;overflow:hidden;
 }
 .topbar .le-header-date{font-size:10px;line-height:1.2;max-width:100%;white-space:nowrap}
 .topbar .le-header-clock strong{font-size:19px;line-height:1.15}
 .topbar #workspaceBellBtn{
   grid-column:4;grid-row:1;min-width:42px;width:42px;height:42px;
   font-size:20px;justify-self:stretch;
 }
 .topbar #leChangePasswordBtn{
   grid-column:1;grid-row:2;width:42px;min-width:0;height:42px;
   display:grid;place-items:center;padding:0!important;
   font-size:0!important;white-space:nowrap;
 }
 .topbar #leChangePasswordBtn::before{content:"🔑";font-size:19px}
 .topbar #leItRequestButton{
   grid-column:2;grid-row:2;width:100%;min-height:42px;
   padding:7px 5px;font-size:12px;line-height:1.25;
   overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 }
 .topbar #pushEnableBtn{
   grid-column:3;grid-row:2;width:100%;min-height:42px;
   padding:7px 4px;font-size:12px!important;
 }
 .topbar #refreshBtn{grid-column:4;grid-row:2;width:42px;min-width:0;height:42px;padding:0}
 .topbar .pwa-install-btn:not(.hidden){
   grid-column:1/-1;grid-row:3;width:100%;min-height:40px;
   padding:7px 12px;font-size:13px;
 }
 .topbar .pwa-install-btn:not(.hidden)::before{content:none!important}
}
@media (max-width: 360px) {
 .topbar{grid-template-columns:40px minmax(0,1fr) 76px 40px;column-gap:5px}
 .topbar>#mobileMenuBtn,.topbar #workspaceBellBtn,
 .topbar #leChangePasswordBtn,.topbar #refreshBtn{width:40px;min-width:0}
 .topbar #leCurrentClock{width:76px}
 .topbar #leItRequestButton{font-size:11px;padding-inline:4px}
}

/* LedExpert Archive 1.9.5 - immediate date/time search on iPhone */
#panel-video #videoArchiveCard{margin:0 0 16px;padding:16px}
#panel-video #videoArchiveCard h2{font-size:clamp(19px,3vw,25px);margin:0 0 10px}
#panel-video #videoArchiveCard #videoArchiveRecorder,#panel-video #videoArchiveCard #videoArchiveChannel{font-size:16px}
@media(max-width:640px){
 #panel-video #videoArchiveCard{padding:14px;margin-bottom:12px}
 #panel-video #videoArchiveCard > .video-archive-controls{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end
 }
 #panel-video #videoArchiveCard > .video-archive-controls > label:nth-child(1),
 #panel-video #videoArchiveCard > .video-archive-controls > label:nth-child(2),
 #panel-video #videoArchiveCard > .video-archive-controls > label:nth-child(3),
 #panel-video #videoArchiveCard > .video-archive-controls > button{grid-column:1/-1}
 #panel-video #videoArchiveCard > .video-archive-controls > label:nth-child(4){grid-column:1}
 #panel-video #videoArchiveCard > .video-archive-controls > label:nth-child(5){grid-column:2}
 #panel-video #videoArchiveCard > .video-archive-controls input,
 #panel-video #videoArchiveCard > .video-archive-controls select{min-height:43px;box-sizing:border-box}
}
