    :root {
      --bg0:#F9FAFB; --bg1:#FFFFFF; --accent:#EF4444; --bot:#F3F4F6;
      --text:#1F2937; --muted:#6B7280; --field:#F3F4F6; --ink:#111827;
      --surface:#FFFFFF; --surface-hover:#F3F4F6; --border:#E5E7EB;
      --success:#10B981; --warning:#F59E0B; --info:#3B82F6; --danger:#EF4444;
      --shadow-sm:0 1px 2px rgba(0,0,0,.05); --shadow-md:0 4px 6px rgba(0,0,0,.08);
      --pad:8px; --gap:8px; --radius:8px; --pill:8px; --fs:14px; --fs-sm:12px; --ctrl-pad:8px 12px;
      --touch:40px;
      /* высота нижнего меню водителя (кнопки 50 + паддинги) + запас под бордер/тень */
      --driver-tab-clear:62px;
    }
    *{box-sizing:border-box}
    html,body{
      margin:0;height:100%;height:100dvh;overflow:hidden;
      font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:var(--bg0);color:var(--text);font-size:var(--fs);
      -webkit-text-size-adjust:100%;text-size-adjust:100%
    }
    button,a,label,input,select,textarea{touch-action:manipulation}
    button,a{-webkit-tap-highlight-color:rgba(239,68,68,.14)}
    .phone{
      max-width:480px;width:100%;height:100%;height:100dvh;max-height:100dvh;margin:0 auto;
      display:flex;flex-direction:column;background:var(--bg0);position:relative;
      padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);
      overflow:hidden
    }
    .phone.wide{max-width:min(960px,100%)}
    .screen{position:absolute;inset:0;display:none;flex-direction:column;background:var(--bg0);min-height:0;overflow:hidden}
    .screen.show{display:flex}
    .driver-panel{
      position:absolute;top:0;left:0;right:0;bottom:calc(var(--driver-tab-clear) + env(safe-area-inset-bottom,0px));
      z-index:25;display:none;flex-direction:column;background:linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 40%);
      padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);
      min-height:0;overflow:hidden
    }
    .driver-panel.show{display:flex;animation:panelIn .2s ease}
    .driver-panel .form-topbar{flex-shrink:0}
    .driver-panel .panel-body{
      background:transparent;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
      padding:12px 14px calc(28px + env(safe-area-inset-bottom,0));
      overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
      touch-action:pan-y
    }
    #orders-panel .orders-panel-scroll{display:flex;flex-direction:column;min-height:0}
    #orders-list{flex:0 0 auto;width:100%}
    .driver-etrn-profile-block{margin-bottom:10px}
    .driver-etrn-qr-overlay{
      position:fixed;inset:0;z-index:120;display:flex;align-items:stretch;justify-content:center;
      background:rgba(17,24,39,.45);padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)
    }
    .driver-etrn-qr-overlay[hidden]{display:none!important}
    .driver-etrn-qr-panel{
      flex:1;max-width:480px;display:flex;flex-direction:column;background:var(--bg0);min-height:0;
      box-shadow:0 12px 40px rgba(0,0,0,.2)
    }
    .driver-etrn-qr-canvas-wrap{display:flex;justify-content:center;margin:0 auto 16px}
    .center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 16px;text-align:center}
    .logo{width:88px;height:auto}
    .brand{font-size:1.55rem;font-weight:700;letter-spacing:.08em;color:var(--text)}
    .sub{color:var(--muted);font-size:.9rem}
    /* Splash / роли — бренд первый */
    .splash-hero{gap:10px;max-width:360px;margin:0 auto}
    .splash-hero .logo{width:108px;filter:drop-shadow(0 8px 18px rgba(17,24,39,.08))}
    .splash-hero .brand{
      font-size:clamp(1.85rem,6vw,2.25rem);letter-spacing:.16em;line-height:1.05;color:var(--ink)
    }
    .splash-hero .sub{font-size:.95rem;letter-spacing:.02em}
    .splash-accent{
      width:52px;height:3px;border-radius:2px;background:var(--accent);margin-top:2px;
      transform-origin:center
    }
    .splash-hero .logo{animation:splashRise .55s ease both}
    .splash-hero .brand{animation:splashRise .55s ease .07s both}
    .splash-hero .sub{animation:splashRise .55s ease .14s both}
    .splash-hero .splash-accent{animation:splashRise .55s ease .2s both, splashPulse 1.25s ease .75s infinite}
    .roles-hero{gap:10px;max-width:360px;width:100%;margin:0 auto}
    .roles-hero .logo{width:72px}
    .roles-hub{
      gap:14px;max-width:420px;width:100%;margin:0 auto;padding:12px 0 24px;
      align-items:stretch;text-align:left
    }
    .roles-hub-head{text-align:center;margin-bottom:4px}
    .roles-hub-head .logo{width:64px;margin-bottom:8px}
    .roles-hub-title{
      margin:0 0 8px;font-size:clamp(1.25rem,4.5vw,1.55rem);font-weight:800;line-height:1.2;
      color:var(--text);letter-spacing:-.02em
    }
    .roles-hub-lead{margin:0 auto;font-size:.92rem;line-height:1.45;color:var(--muted);max-width:340px}
    .role-hub-stack{display:flex;flex-direction:column;gap:12px;width:100%}
    .role-hub-card{
      display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit;
      padding:16px 16px 16px 14px;border-radius:16px;background:#fff;
      border:1px solid rgba(15,23,42,.08);
      box-shadow:0 4px 20px rgba(15,23,42,.07),0 1px 3px rgba(15,23,42,.04);
      transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
      position:relative;overflow:hidden
    }
    .role-hub-card::before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px
    }
    .role-hub-logist::before{background:linear-gradient(180deg,#2563eb,#1e5aa8)}
    .role-hub-carrier::before{background:linear-gradient(180deg,#ef4444,#dc2626)}
    .role-hub-customer::before{background:linear-gradient(180deg,#14b8a6,#0f766e)}
    .role-hub-card:active{transform:scale(.985)}
    @media(hover:hover){
      .role-hub-card:hover{
        transform:translateY(-3px);
        box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);
        border-color:rgba(15,23,42,.12)
      }
    }
    .role-hub-icon{
      flex:0 0 44px;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
      font-size:1.35rem;background:rgba(15,23,42,.04)
    }
    .role-hub-logist .role-hub-icon{background:rgba(30,90,168,.1)}
    .role-hub-carrier .role-hub-icon{background:rgba(220,38,38,.1)}
    .role-hub-customer .role-hub-icon{background:rgba(15,118,110,.1)}
    .role-hub-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
    .role-hub-badge{
      font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em
    }
    .role-hub-logist .role-hub-badge{color:#1e5aa8}
    .role-hub-carrier .role-hub-badge{color:#dc2626}
    .role-hub-customer .role-hub-badge{color:#0f766e}
    .role-hub-name{font-size:1.02rem;font-weight:700;line-height:1.25;color:var(--text)}
    .role-hub-teaser{font-size:.84rem;line-height:1.4;color:var(--muted)}
    .role-hub-cta{font-size:.82rem;font-weight:700;margin-top:4px}
    .role-hub-logist .role-hub-cta{color:#1e5aa8}
    .role-hub-carrier .role-hub-cta{color:#dc2626}
    .role-hub-customer .role-hub-cta{color:#0f766e}
    .role-hub-login{
      margin-top:6px;padding:14px 12px;border-radius:14px;
      background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.06);text-align:center
    }
    .role-hub-login-label{margin:0 0 10px;font-size:.8rem;color:var(--muted);font-weight:600}
    .role-hub-login-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
    .role-hub-login-btn{
      flex:1 1 auto;min-width:96px;padding:10px 14px;border-radius:10px;font-weight:700;font-size:.85rem;
      font-family:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text)
    }
    a.role-hub-login-btn{display:inline-block;text-align:center;text-decoration:none;box-sizing:border-box;line-height:1.25}
    .role-hub-login-admin{background:var(--accent);color:#fff;border-color:var(--accent)}
    #roles.show .roles-hub-head .logo{animation:splashRise .45s ease both}
    #roles.show .roles-hub-title{animation:splashRise .45s ease .05s both}
    #roles.show .roles-hub-lead{animation:splashRise .45s ease .1s both}
    #roles.show .role-hub-stack .role-hub-card:nth-child(1){animation:splashRise .5s ease .14s both}
    #roles.show .role-hub-stack .role-hub-card:nth-child(2){animation:splashRise .5s ease .2s both}
    #roles.show .role-hub-stack .role-hub-card:nth-child(3){animation:splashRise .5s ease .26s both}
    #roles.show .role-hub-login{animation:splashRise .5s ease .32s both}
    .roles-hero .brand{
      font-size:clamp(1.65rem,5.2vw,1.95rem);letter-spacing:.14em;color:var(--ink);line-height:1.05
    }
    .roles-hero .sub{margin-bottom:2px}
    .roles-stack{max-width:340px;gap:10px}
    .role-btn{
      display:flex;flex-direction:column;align-items:flex-start;gap:3px;
      text-align:left;padding:14px 16px;min-height:56px
    }
    .role-btn-title{font-size:.98rem;font-weight:700;line-height:1.2}
    .role-btn-desc{font-size:.78rem;font-weight:500;line-height:1.3;opacity:.9}
    button.secondary.role-btn .role-btn-desc{color:var(--muted);opacity:1}
    #roles.show .roles-hero .logo{animation:splashRise .4s ease both}
    #roles.show .roles-hero .brand{animation:splashRise .4s ease .05s both}
    #roles.show .roles-hero .sub,#roles.show .roles-hero #sync-hint{animation:splashRise .4s ease .1s both}
    #roles.show .roles-stack .role-btn:nth-child(1){animation:splashRise .4s ease .16s both}
    #roles.show .roles-stack .role-btn:nth-child(2){animation:splashRise .4s ease .22s both}
    @keyframes splashRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
    @keyframes splashPulse{
      0%,100%{opacity:.45;transform:scaleX(.72)}
      50%{opacity:1;transform:scaleX(1)}
    }
    button.primary,button.secondary{width:100%;border:0;border-radius:var(--pill);padding:10px 14px;min-height:var(--touch);font-size:.9rem;font-weight:700;cursor:pointer}
    button.primary{background:var(--accent);color:#fff}
    button.secondary{background:var(--field);color:var(--text)}
    .stack{width:100%;max-width:320px;display:flex;flex-direction:column;gap:8px}
    header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;min-height:56px;border-bottom:1px solid var(--border);gap:6px;flex-wrap:wrap;background:var(--surface)}
    header h1{margin:0;font-size:.95rem}
    header button{background:0;border:0;color:var(--accent);font-weight:700;cursor:pointer;white-space:nowrap;font-size:.85rem;padding:6px 4px;min-height:36px}
    #chat{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
    .bubble{max-width:88%;padding:10px 12px;border-radius:12px;white-space:pre-wrap;line-height:1.4;font-size:.9rem;box-shadow:var(--shadow-sm)}
    .bubble.bubble-in{animation:bubbleIn .22s ease both}
    .bot{align-self:flex-start;background:var(--surface);color:var(--text);border:1px solid var(--border)}
    .driver{align-self:flex-end;background:var(--accent);color:#fff;font-weight:600;border:1px solid transparent}
    #input-bar{padding:10px 12px calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;background:var(--surface);box-shadow:0 -4px 12px rgba(17,24,39,.04);flex-shrink:0}
    .error{color:#DC2626;font-size:var(--fs-sm)}.hint{color:var(--muted);font-size:var(--fs-sm);line-height:1.3}
    @keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    @keyframes bannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
    @keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
    .row{display:flex;gap:6px;align-items:stretch}
    .row input,.row textarea,.row select,.pin input,
    .form-grid input,.form-grid select,.form-grid textarea,
    .admin-form-scroll input,.admin-form-scroll select,.admin-form-scroll textarea{
      border:1px solid var(--border);border-radius:var(--pill);padding:var(--ctrl-pad);background:#fff;color:var(--text);font-size:16px;outline:0;font-family:inherit;min-height:var(--touch)
    }
    .row input,.row textarea,.row select{flex:1;min-width:0}
    .row button{border:0;border-radius:var(--pill);padding:0 14px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;min-height:var(--touch)}
    .nums,.yesno{display:flex;gap:5px}
    .nums button,.yesno button{flex:1;border:0;border-radius:var(--pill);padding:8px 0;min-height:var(--touch);background:var(--field);color:var(--text);font-weight:700;cursor:pointer}
    .panel-body{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
    .card{background:var(--surface);border-radius:var(--radius);padding:12px 14px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}
    .card h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text)}.card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
    .empty{color:var(--muted);text-align:center;margin-top:16px;font-size:.9rem;padding:14px 12px;border:1px dashed var(--border);border-radius:var(--radius);background:rgba(255,255,255,.6)}
    .pin{width:100%;max-width:280px;display:flex;flex-direction:column;gap:8px}
    .filters{display:flex;gap:4px;padding:5px 8px;flex-wrap:wrap}
    .filters button{border:0;border-radius:var(--pill);padding:6px 12px;min-height:32px;background:var(--field);color:var(--text);font-weight:700;cursor:pointer;font-size:.74rem}
    .filters button.on{background:var(--accent);color:#fff}
    .eto-ok{color:#059669;font-weight:700}
    .eto-wait{color:#D97706;font-weight:700}
    .eto-bad{color:#DC2626;font-weight:700}
    .eto-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:8px;font-size:.78rem}
    .eto-grid span{color:var(--muted);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;line-height:1.3}
    .eto-grid b{font-weight:700;color:var(--text)}
    .board-head{padding:10px 12px 0}
    .board-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 2px}
    .board-metrics .m{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}
    .board-metrics .m span{display:block;font-size:.68rem;color:var(--muted);font-weight:500}
    .board-metrics .m b{display:block;margin-top:2px;font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.2}
    .board-metrics .m b.warn{color:#D97706}
    .board-metrics .m b.ok{color:#059669}
    .eto-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px;box-shadow:var(--shadow-sm)}
    .eto-card.wait{border-color:rgba(245,158,11,.45)}
    .eto-card.done{border-color:rgba(16,185,129,.35)}
    .eto-card-head{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
    .eto-badges{display:flex;flex-wrap:wrap;gap:6px}
    .eto-badge{
      display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;
      font-size:.72rem;font-weight:700;line-height:1.2;border:1px solid var(--border)
    }
    .eto-badge.shift-open{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.35);color:#2563EB}
    .eto-badge.shift-eto-done{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);color:#059669}
    .eto-badge.shift-eto-wait{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .eto-card h3{margin:0;font-size:.95rem;font-weight:700}
    .eto-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
    .eto-status{
      display:inline-flex;align-items:center;margin-top:8px;padding:4px 8px;border-radius:var(--radius);
      font-size:.74rem;font-weight:700;border:1px solid var(--border);background:var(--field)
    }
    .eto-status.ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .eto-status.wait{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .ex-card{border:1px solid rgba(239,68,68,.35);border-radius:var(--radius);background:var(--surface);padding:12px 14px;box-shadow:var(--shadow-sm)}
    .ex-card h3{margin:0 0 4px;font-size:.95rem;font-weight:700}
    .ex-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
    .ex-card .ex-route{color:var(--text);font-weight:600;margin-top:6px}
    .ex-badge{
      display:inline-block;margin-top:6px;padding:3px 8px;border-radius:var(--radius);font-size:.68rem;font-weight:700;
      background:rgba(239,68,68,.1);color:var(--accent);border:1px solid rgba(239,68,68,.28)
    }
    .ex-badge.other{background:var(--field);color:var(--muted);border-color:var(--border)}
    .ex-assign-box{margin-top:10px;display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}
    .ex-assign-box label{margin:0;font-size:.75rem;color:var(--muted)}
    .ex-assign-box select{
      width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;
      background:#fff;color:var(--text);font-size:16px;min-height:40px;font-family:inherit
    }
    .ex-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}
    .ex-actions .row{gap:6px}
    .ex-actions button{flex:1}
    #admin-owner-filters,#cat-owner-filters{display:none;border-top:1px solid var(--border);padding-top:4px}
    #admin-owner-filters.show,#cat-owner-filters.show{display:flex;flex-wrap:wrap}
    #admin-owner-filters button,#cat-owner-filters button{font-size:.68rem;padding:5px 10px;min-height:28px;background:var(--field)}
    #admin-owner-filters button.on,#cat-owner-filters button.on{background:var(--accent);color:#fff}
    .admin-owner-filter-hint{flex:1 1 100%;margin:4px 0 0;font-size:.72rem;color:var(--muted)}
    .table-wrap{flex:1;overflow:auto;padding:0 0 12px;-webkit-overflow-scrolling:touch}
    table.admin{border-collapse:collapse;min-width:1800px;font-size:11px}
    table.admin th,table.admin td{border:1px solid var(--border);padding:6px 5px;text-align:left;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;background:var(--surface);color:var(--text)}
    table.admin th{position:sticky;top:0;background:var(--surface);color:var(--accent);z-index:1}
    table.admin tr{cursor:pointer}
    table.admin tr:hover td{background:rgba(239,68,68,.08)}
    table.admin tr.group-total td{background:rgba(239,68,68,.12);font-weight:700;color:var(--text)}
    table.admin tr.group-total:hover td{background:rgba(239,68,68,.16)}
    table.admin tr.group-detail td{background:var(--bg0);font-weight:400}
    table.admin tr.group-total .tog{display:inline-block;min-width:1.2em;color:var(--accent)}
    .day-total-card,.day-card{
      border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);
      padding:12px 14px;box-shadow:var(--shadow-sm);cursor:pointer
    }
    .day-total-card.open-shift,.day-card.open-shift{border-color:rgba(245,158,11,.5)}
    .day-card:hover{border-color:rgba(239,68,68,.4)}
    .day-card.open-shift:hover{border-color:rgba(245,158,11,.65)}
    .day-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
    .day-card h3{margin:0;font-size:.95rem;font-weight:700;line-height:1.25;flex:1;min-width:0}
    .day-tog{
      flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
      border-radius:var(--radius);background:var(--field);color:var(--accent);font-size:.72rem;font-weight:700
    }
    .day-card > p{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.4}
    .day-status{
      display:inline-flex;align-items:center;margin-top:8px;padding:4px 8px;border-radius:var(--radius);
      font-size:.74rem;font-weight:700;border:1px solid var(--border);background:var(--field);color:var(--text)
    }
    .day-status.open{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .day-status.closed{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .day-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
    .day-metrics .m{background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius);padding:7px 8px}
    .day-metrics .m span{display:block;font-size:.65rem;color:var(--muted);font-weight:500}
    .day-metrics .m b{display:block;margin-top:2px;font-size:.88rem;font-weight:700;color:var(--text);line-height:1.15}
    .day-metrics .m b.accent{color:var(--accent)}
    .day-total-card .tot-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px;font-size:.82rem}
    .day-total-card .tot-row b{color:var(--accent)}
    .day-total-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
    .order-card{
      border:1px solid var(--border);border-radius:var(--radius);background:var(--bg0);padding:12px
    }
    .order-card.exchange-mark{border-color:rgba(239,68,68,.45);background:var(--surface)}
    .order-card h3{margin:0;font-size:.9rem;font-weight:700;line-height:1.25;color:var(--text)}
    .order-card > p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
    .order-card .order-route{margin-top:6px;color:var(--text);font-weight:600}
    .order-card .order-money{margin-top:6px;color:var(--accent);font-weight:700;font-size:.82rem}
    .order-card .order-km{margin-top:6px;font-size:.76rem;color:var(--muted)}
    .order-status{
      display:inline-flex;margin-top:6px;padding:3px 8px;border-radius:var(--radius);
      font-size:.68rem;font-weight:700;border:1px solid var(--border);background:var(--field);color:var(--text)
    }
    .order-status.progress{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.35);color:#2563EB}
    .order-status.closed{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .order-status.exchange{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.28);color:var(--accent)}
    .order-status.inbox{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#B45309}
    .order-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}
    .order-actions .row{gap:6px}
    .order-actions button{flex:1;margin-top:0!important}
    .orders-board-head{padding:10px 12px 0}
    .orders-board-head .cat-panel-hint{margin:0;color:var(--muted);font-size:.8rem;line-height:1.35}
    .admin-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:10px 0 8px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}
    .admin-bulk-bar .hint{font-size:.75rem;color:var(--muted)}
    .admin-bulk-bar .bulk-assign-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
    .admin-bulk-bar .bulk-assign-group select{min-width:120px;max-width:160px;font-size:.82rem;padding:6px 8px}
    .pilot-setup-card{margin:10px 12px 8px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
    .pilot-setup-card h3{margin:0 0 6px;font-size:.95rem}
    .pilot-setup-list{margin:8px 0 0;padding-left:18px;font-size:.84rem;line-height:1.5}
    .pilot-setup-list li.done{color:var(--muted);text-decoration:line-through}
    .cabinet-block{margin:0 0 10px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}
    .cabinet-block-open{display:block;width:100%;text-align:left;padding:14px 16px;background:transparent;border:0;color:inherit;cursor:pointer}
    .cabinet-block-open:hover{background:var(--surface-hover)}
    .cabinet-block-title{margin:0 0 4px;font-size:1rem}
    .cabinet-block-meta{margin:0;font-size:.85rem;font-weight:600;color:var(--text)}
    .cabinet-block-hint{margin:6px 0 0;font-size:.78rem;color:var(--muted);line-height:1.35}
    .cabinet-block-cta{display:inline-block;margin-top:8px;font-size:.78rem;font-weight:700;color:var(--accent)}
    .cabinet-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
    .cabinet-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;color:inherit}
    .cabinet-tile:hover{border-color:var(--accent);background:var(--surface-hover)}
    .cabinet-tile-n{font-size:1.1rem;font-weight:800;line-height:1}
    .cabinet-tile b{font-size:.88rem}
    .cabinet-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
    .cabinet-partner-tabs{display:flex;gap:6px;margin-bottom:8px}
    .cabinet-partner-tabs button{flex:1;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.82rem;cursor:pointer}
    .cabinet-partner-tabs button.on{border-color:var(--accent);background:rgba(239,68,68,.08);font-weight:700}
    .chip.ok{background:rgba(34,197,94,.15);color:#15803d;font-size:.65rem;padding:2px 6px;border-radius:4px}
    .framework-contract-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
    .bulk-pick-all{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;cursor:pointer}
    .order-card-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:2px;flex-wrap:wrap}
    .order-card-head h3,.ex-card .order-card-head h3{margin:0;flex:1;min-width:140px}
    .order-etrn-badge{
      display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
      font-size:.68rem;font-weight:700;line-height:1.2;border:1px solid var(--border);background:var(--field);color:var(--muted)
    }
    .order-etrn-badge.pending{border-color:rgba(100,116,139,.35);color:#475569}
    .order-etrn-badge.ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1);color:#15803d}
    .order-etrn-badge.warn,.order-etrn-badge.urgent{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.12);color:#b45309}
    .order-etrn-badge--urgent{animation:etrn-badge-pulse 1.6s ease-in-out infinite}
    @keyframes etrn-badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.35)}50%{box-shadow:0 0 0 4px rgba(245,158,11,0)}}
    .admin-etrn-card-sign{font-size:.78rem;padding:6px 10px;min-height:34px}
    .admin-etrn-card-sign--ready{
      border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.14);color:#b45309;font-weight:700;
      animation:etrn-badge-pulse 1.6s ease-in-out infinite
    }
    .admin-etrn-card-sign--wait{opacity:.65;cursor:default;font-size:.72rem}
    .etrn-sign-banner{
      margin:0 0 10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(245,158,11,.45);
      background:rgba(245,158,11,.1);display:flex;flex-direction:column;gap:4px
    }
    .etrn-sign-banner strong{font-size:.88rem;color:#b45309}
    .etrn-titul-row--mine{background:rgba(245,158,11,.08);border-radius:8px;padding:4px 6px;margin:-4px -6px}
    .order-pick{display:flex;align-items:center;padding:2px 0;cursor:pointer}
    .order-pick input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--accent)}
    .form-grid{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:640px;margin:0 auto;padding:12px 12px 28px;text-align:left;direction:ltr}
    .form-grid label,.admin-form-scroll label{display:block;width:100%;font-size:.75rem;color:var(--muted);text-align:left;unicode-bidi:isolate}
    .form-grid input,.form-grid select,.form-grid textarea,
    .admin-form-scroll input,.admin-form-scroll select,.admin-form-scroll textarea{width:100%;max-width:100%;align-self:stretch;flex:0 0 auto}
    #admin-detail,#admin-create,#admin-claim,#admin-catalogs-screen,#admin-activity-screen,#admin-vehicle-card{overflow:hidden;min-height:0}
    .svc-badge{display:inline-block;border-radius:var(--radius);padding:2px 8px;font-size:.68rem;font-weight:700}
    .svc-ok{background:rgba(16,185,129,.12);color:#059669}
    .svc-soon{background:rgba(245,158,11,.14);color:#D97706}
    .svc-over{background:rgba(239,68,68,.12);color:#DC2626}
    .svc-log{background:var(--surface);border-radius:12px;padding:10px 12px;margin-top:6px}
    .svc-log h4{margin:0 0 4px;font-size:.9rem}
    .svc-log .meta{color:var(--muted);font-size:.75rem;line-height:1.35}
    .svc-sum{font-weight:700;color:var(--accent)}
    .veh-card-btn{border:0;border-radius:var(--pill);padding:6px 10px;min-height:32px;background:var(--field);color:var(--text);font-weight:700;cursor:pointer;font-size:.74rem}
    .veh-card-btn:hover{background:rgba(239,68,68,.12)}
    .svc-iv{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}
    .svc-iv:last-child{border-bottom:0}
    .fin-grid label.svc-full{grid-column:1/-1}
    .svc-check{display:flex;flex-direction:column;gap:4px;margin-top:6px}
    .svc-check label{display:flex;gap:8px;align-items:flex-start;font-size:.75rem;line-height:1.3;color:var(--muted);cursor:pointer;margin:0!important;width:auto!important}
    .svc-check label input{margin-top:2px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--accent)}
    .svc-check label.done{color:var(--text);text-decoration:line-through;opacity:.75}
    .svc-check-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
    .svc-lube{width:100%;border-collapse:collapse;font-size:.72rem;margin-top:6px}
    .svc-lube th,.svc-lube td{border-bottom:1px solid var(--border);padding:5px 6px;text-align:left;vertical-align:top;line-height:1.3}
    .svc-lube th{color:var(--muted);font-weight:700;font-size:.68rem}
    .svc-lube td:nth-child(2),.svc-lube th:nth-child(2){white-space:nowrap;color:var(--muted)}
    .svc-lube .buy{color:var(--accent);font-weight:600}
    .svc-lube .old{color:var(--muted);font-size:.66rem;margin-top:2px}
    .svc-buy-list{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.14);font-size:.74rem;line-height:1.4}
    .svc-buy-list strong{display:block;margin-bottom:4px;color:var(--text)}
    .svc-buy-list ul{margin:0;padding-left:1.15em}
    .svc-how{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35;font-weight:400;white-space:pre-wrap;text-decoration:none}
    .svc-check label.done .svc-how{opacity:.85;text-decoration:none}
    .svc-check label>span{display:flex;flex-direction:column;gap:0;min-width:0}
    .svc-work-li{margin:0 0 10px;color:var(--text)}
    .svc-work-li .svc-how{color:var(--muted)}
    .claim-box{padding:10px 12px;border-radius:var(--radius);background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.28);margin:8px 0}
    .claim-box h3{margin:0 0 6px;font-size:.95rem}
    .claim-box p{margin:3px 0;font-size:.82rem;line-height:1.35}
    .drv-docs-warn{background:rgba(217,119,6,.08);border-color:rgba(217,119,6,.35)}
    .drv-docs-warn__title{margin:0 0 6px;font-size:.88rem;font-weight:700;color:#D97706}
    .drv-docs-warn__list{margin:0;padding-left:1.15rem;font-size:.82rem;line-height:1.4}
    .veh-specs{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
    .veh-specs--wide{align-items:center}
    .veh-specs input{width:48px;flex:0 0 48px;padding:4px 2px;min-height:28px;text-align:center;font-size:.72rem;border-radius:var(--pill);border:0;background:var(--field);color:var(--text)}
    .veh-body-select{flex:1 1 120px;min-width:96px;max-width:168px;padding:4px 6px;min-height:28px;font-size:.72rem;border-radius:var(--pill);border:0;background:var(--field);color:var(--text)}
    .veh-trailer-check{font-size:.68rem;gap:4px;white-space:nowrap;flex:0 0 auto;margin:0}
    .veh-trailer-plate-wrap{flex:1 1 84px;min-width:72px}
    .veh-trailer-plate-wrap input{width:100%;min-width:72px;flex:1;padding:4px 6px;min-height:28px;font-size:.72rem;border-radius:var(--pill);border:0;background:var(--field);color:var(--text)}
    .vc-trailer-check{align-items:center}
    .admin-form-shell{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;background:transparent}
    .form-topbar{
      display:flex;align-items:center;gap:8px;padding:10px 14px;min-height:56px;flex-shrink:0;
      background:var(--surface);border-bottom:1px solid var(--border)
    }
    .form-topbar h1{margin:0;flex:1;min-width:0;font-size:1rem;font-weight:700;line-height:1.25}
    .form-topbar .form-meta{flex:0 1 42%;max-width:48%;font-size:.72rem;color:var(--muted);line-height:1.3;text-align:right}
    .form-back{
      border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer;
      padding:6px 4px;min-height:36px;font-size:.85rem;flex:0 0 auto;font-family:inherit
    }
    .form-back:hover{opacity:.85}
    .admin-form-scroll{
      flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
      padding:12px 14px 20px;display:flex;flex-direction:column;align-items:stretch;gap:0;
      text-align:left;direction:ltr;width:100%;max-width:100%;margin:0;box-sizing:border-box
    }
    .admin-form-scroll > *{max-width:100%}
    .admin-form-scroll label{display:block;width:100%;margin:0;padding:0;font-size:.75rem;line-height:1.25;color:var(--muted);text-align:left;unicode-bidi:isolate}
    .admin-form-actions{flex-shrink:0;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:6px;box-shadow:0 -4px 12px rgba(17,24,39,.04)}
    .admin-form-scroll h2{margin:0;font-size:1.05rem;text-align:left;width:100%}
    .admin-form-scroll h3{margin:4px 0 0;font-size:.95rem;text-align:left;width:100%}
    .admin-form-scroll h4{margin:6px 0 0;font-size:.85rem}
    .form-section{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}
    .form-section:last-child{border-bottom:0;padding-bottom:4px}
    .form-section-title{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
    .form-section-hint{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.35}
    .form-fields{display:flex;flex-direction:column;gap:8px}
    .form-pair{display:grid;grid-template-columns:1fr;gap:8px}
    .form-pair > div{display:flex;flex-direction:column;gap:5px;min-width:0}
    .form-pair.cust-datetime-pair > .cust-time-field input{max-width:100%;min-width:5.5rem}
    .cust-time-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
    .cust-time-presets .cust-time-preset{
      flex:1 1 calc(25% - 6px);min-height:36px;padding:4px 6px;font-size:.78rem;font-weight:700
    }
    .cust-date-field-wrap{position:relative}
    .cust-date-input-row{display:flex;align-items:center;gap:8px;min-width:0}
    .cust-date-input-row > input{
      flex:1 1 auto;min-width:6.75rem;max-width:none;width:auto;
    }
    .admin-form-scroll label.cust-date-cal-toggle,
    .cust-date-input-row .cust-date-cal-toggle{
      display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto;margin:0;
      width:auto!important;max-width:none;font-size:.72rem;color:var(--muted);font-weight:600;
      cursor:pointer;user-select:none;white-space:nowrap;
    }
    .cust-date-cal-toggle input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--accent)}
    .cust-date-cal{margin:0}
    .cust-date-cal-drop{
      position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;
      box-shadow:0 10px 28px rgba(15,23,42,.14);
    }
    .cust-date-field-wrap.cal-open{z-index:51}
    .cust-form-block:has(.cal-open){overflow:visible;position:relative;z-index:2}
    .cust-form-block-body:has(.cal-open){overflow:visible}
    .metric-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
    .metric-strip .m{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}
    .metric-strip .m span{display:block;font-size:.68rem;color:var(--muted);font-weight:500}
    .metric-strip .m b{display:block;margin-top:2px;font-size:.92rem;font-weight:700;color:var(--text);line-height:1.2}
    #admin-create,#admin-detail,#admin-claim{background:linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 42%)}
    .field-block{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:8px 0;border-bottom:1px solid var(--border);width:100%}
    .field-block:last-child{border-bottom:0}
    .calc{background:var(--surface);border-radius:10px;padding:8px 10px;font-size:.85rem;width:100%;text-align:left;direction:ltr}
    .calc .calc-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:2px 0;width:100%}
    .calc .calc-row span:first-child{flex:1;min-width:0;text-align:left}
    .calc .calc-row span:last-child{flex:0 1 auto;text-align:right;white-space:nowrap}
    .calc .hint{display:block;width:100%;text-align:left;white-space:normal}
    .ok{color:#059669;font-size:var(--fs-sm)}
    .admin-cards{display:flex;flex-direction:column;gap:8px;padding:8px 10px 20px}
    .admin-cards .card button{margin-top:8px}
    .admin-cards .order-card button{margin-top:0}
    .admin-orders-view-bar{display:flex;align-items:center;gap:8px;padding:6px 12px 0}
    .admin-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}
    .admin-view-toggle button{
      border:0;background:transparent;padding:6px 14px;font-size:.78rem;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit
    }
    .admin-view-toggle button.on{background:var(--accent);color:#fff}
    .kanban-board-wrap{padding:8px 10px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .kanban-board{display:flex;gap:10px;align-items:flex-start;min-height:240px;min-width:min(100%,920px)}
    .kanban-col{flex:0 0 min(280px,78vw);max-width:320px;background:var(--bg1,#f8fafc);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 220px)}
    .kanban-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
    .kanban-col-head b{font-size:.95rem;color:var(--text);letter-spacing:0;text-transform:none}
    .kanban-col-body{display:flex;flex-direction:column;gap:8px;padding:8px;overflow-y:auto;flex:1}
    .kanban-col-empty{margin:0;padding:12px 8px;text-align:center;color:var(--muted);font-size:.78rem}
    .kanban-card{
      background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 10px 8px;
      cursor:pointer;box-shadow:0 1px 0 rgba(15,23,42,.04)
    }
    .kanban-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
    .kanban-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
    .kanban-card-head strong{font-size:.88rem;line-height:1.25}
    .kanban-card-status{font-size:.62rem;padding:2px 6px;border-radius:999px;white-space:nowrap;max-width:48%}
    .kanban-card-customer{margin:0;font-size:.82rem;font-weight:700;color:var(--text);line-height:1.3}
    .kanban-card-route{margin:4px 0 0;font-size:.78rem;font-weight:600;color:var(--text);line-height:1.35}
    .kanban-card-meta{margin:4px 0 0;font-size:.72rem;color:var(--muted);line-height:1.35}
    .kanban-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;align-items:center}
    .kanban-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:.64rem;font-weight:700;border:1px solid var(--border);background:var(--field);color:var(--text)}
    .kanban-badge--partner{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.35);color:#6D28D9}
    .kanban-badge--exchange{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.35);color:#DC2626}
    .kanban-badge--warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .kanban-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
    .kanban-card-actions .primary,.kanban-card-actions .secondary{padding:6px 10px;font-size:.72rem;flex:1 1 auto;min-width:0}
    .kanban-closed-more{width:100%;margin-top:4px}
    /* Документооборот v1 */
    .docs-list{display:flex;flex-direction:column;gap:8px}
    .doc-row{
      display:flex;flex-direction:column;gap:8px;padding:12px;
      border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)
    }
    .doc-name{font-weight:700;font-size:.9rem;color:var(--text);line-height:1.25}
    .doc-meta{margin-top:2px;font-size:.76rem;color:var(--muted);line-height:1.35}
    .doc-status{
      display:inline-flex;align-items:center;margin-top:6px;padding:3px 8px;border-radius:var(--radius);
      font-size:.68rem;font-weight:700;border:1px solid var(--border);background:var(--field);color:var(--text)
    }
    .doc-status.ready{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.35);color:#2563EB}
    .doc-status.sent{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .doc-status.signed{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .doc-actions{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}
    .doc-actions select{
      flex:1;min-width:120px;border:1px solid var(--border);border-radius:var(--radius);
      padding:8px 10px;background:#fff;color:var(--text);font-size:16px;min-height:40px;font-family:inherit
    }
    .doc-actions button{flex:1;min-width:110px;width:auto}
    .cust-order-docs-wrap{margin-top:8px;font-size:.82rem}
    .cust-order-docs-wrap summary{cursor:pointer;font-weight:600;color:var(--accent)}
    .cust-order-docs{display:flex;flex-direction:column;gap:6px;margin-top:8px}
    .cust-doc-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
    .cust-doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .cust-doc-email-hint{margin:0 0 6px;font-size:.75rem}
    .cust-doc-name{display:block;font-weight:600;font-size:.82rem;margin-bottom:4px}
    .cust-doc-row .doc-status{margin-top:0}
    .cust-doc-row button{width:auto;flex:0 0 auto;padding:6px 10px;font-size:.78rem}
    .cust-etrn-banner{margin-bottom:10px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:.82rem}
    .cust-etrn-banner button{margin:0 4px 4px 0;font-size:.78rem;padding:4px 8px}
    .cust-docs-alert-panel{
      margin:0 0 12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));
      border-radius:12px;background:var(--surface);overflow:hidden;
      box-shadow:0 1px 3px rgba(15,23,42,.04);
    }
    .cust-docs-alert-panel[hidden]{display:none!important}
    .cust-docs-alert-panel-head{
      display:flex;align-items:center;justify-content:space-between;gap:8px;
      padding:7px 12px;border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));
      background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)) 0%,var(--surface) 100%);
    }
    .cust-docs-alert-panel-title{
      font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
      color:var(--accent,#ef4444);
    }
    .cust-docs-alert-panel-count{
      display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
      padding:0 6px;border-radius:999px;background:var(--accent,#ef4444);color:#fff;
      font-size:.62rem;font-weight:800;line-height:1;
    }
    .cust-docs-alert-panel-count[hidden]{display:none!important}
    .cust-docs-alerts{display:flex;flex-direction:column;gap:0;width:100%}
    .cust-alert-row{
      display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;
      gap:8px 10px;padding:9px 12px;
      border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);
      font-size:.74rem;line-height:1.25;
    }
    .cust-alert-row:last-child{border-bottom:0}
    .cust-alert-row-dot{
      width:8px;height:8px;border-radius:999px;align-self:center;
      box-shadow:0 0 0 2px color-mix(in srgb,currentColor 12%,transparent);
    }
    .cust-alert-row--contract .cust-alert-row-dot{background:#3b82f6;color:#3b82f6}
    .cust-alert-row--sign .cust-alert-row-dot{background:var(--accent,#ef4444);color:var(--accent,#ef4444)}
    .cust-alert-row--etrn .cust-alert-row-dot{background:#f59e0b;color:#f59e0b}
    .cust-alert-row--ok .cust-alert-row-dot{background:#16a34a;color:#16a34a}
    .cust-alert-row--ok{background:color-mix(in srgb,#16a34a 4%,var(--surface))}
    .cust-alert-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}
    .cust-alert-row-label{font-weight:700;font-size:.76rem;line-height:1.2;color:var(--text)}
    .cust-alert-row-sub{font-size:.68rem;line-height:1.3;color:var(--muted)}
    .cust-alert-row-actions{
      display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
      gap:4px;max-width:100%;
    }
    .cust-alert-btn,.cust-alert-row-actions .primary,.cust-alert-row-actions .secondary,.cust-alert-row-actions .hint,.cust-alert-row-actions .epd-sign-open,.cust-alert-row-actions .epd-sign-check,.cust-alert-row-actions .epd-sign-reset{
      width:auto!important;flex:0 0 auto!important;padding:4px 9px!important;font-size:.68rem!important;
      margin:0!important;text-decoration:none;min-height:28px!important;line-height:1.2!important;
      border-radius:7px!important;font-weight:600!important;
    }
    .cust-alert-check{
      font-size:.68rem;margin:0;white-space:nowrap;display:inline-flex;align-items:center;
      gap:4px;flex:0 0 auto;color:var(--muted);
    }
    .cust-alert-check input{margin:0;width:14px;height:14px;accent-color:var(--accent);flex:0 0 auto}
    .cust-alert-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.3}
    .cust-alert-chip--ok{background:#16a34a;color:#fff}
    .cust-etrn-t1-block{margin-top:8px;padding:8px 10px;border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:.82rem}
    .cust-etrn-t1-block--wait{border-color:var(--border);background:var(--surface-2)}
    .cust-alert-row--muted .cust-alert-row-dot{opacity:.45}
    .cust-global-alerts{margin:0 0 10px;display:flex;flex-direction:column;gap:6px}
    .cust-global-alerts[hidden]{display:none!important}
    .cust-etrn-t1-block .hint{margin:4px 0 8px;font-size:.75rem}
    .cust-etrn-t1-block button{font-size:.82rem;padding:6px 12px;width:auto}
    .cust-etrn-t1-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
    .cust-etrn-t1-actions .secondary,.cust-etrn-t1-actions a.secondary{font-size:.78rem;padding:4px 10px;text-decoration:none;display:inline-block}
    .cust-shipper-fields{margin:8px 0;padding:8px 10px;border:1px dashed var(--border);border-radius:var(--radius);font-size:.85rem}
    .cust-shipper-toggle{margin:10px 0 6px;font-size:.85rem}
    .cust-shipper-etrn-overlay{position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:16px}
    .cust-shipper-etrn-overlay[hidden]{display:none!important}
    .cust-shipper-etrn-card{max-width:420px;width:100%;background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.2)}
    .cust-shipper-etrn-card h2{margin:0 0 12px;font-size:1rem}
    .cust-contract-banner{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.06)}
    .cust-contract-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}
    .cust-doc-submit-list{margin:8px 0 0;padding-left:18px;font-size:.85rem;line-height:1.45}
    .cust-doc-submit-list li{margin:4px 0}
    .rate-missing{color:#DC2626;font-size:var(--fs-sm);font-weight:700}
    .swipe-item{position:relative;overflow:hidden;border-radius:var(--radius);touch-action:pan-y}
    .swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;z-index:0}
    .swipe-actions button{border:0;background:var(--accent);color:#fff;font-weight:700;padding:0 14px;min-width:100px;cursor:pointer}
    .swipe-front{position:relative;z-index:1;background:var(--surface);border-radius:var(--radius);padding:10px 12px;transition:transform .18s ease;will-change:transform}
    .swipe-front h3{margin:0 0 2px;font-size:.92rem}
    .swipe-front p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.3}
    .orders-hint{color:var(--muted);font-size:var(--fs-sm);padding:0 2px 2px}
    .driver-banner{margin:8px 10px 0;padding:10px 12px;border-radius:var(--radius);background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.4);display:none;flex-shrink:0}
    .driver-banner.show{display:block;animation:bannerIn .25s ease}
    .driver-banner.remind-close{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.45)}
    .driver-banner strong{display:block;font-size:.92rem;margin:0 0 2px;color:var(--text)}
    .driver-banner p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.3}
    .driver-banner .banner-actions{margin-top:8px;display:flex;flex-direction:column;gap:6px}
    .driver-banner button{width:100%}
    .driver-etrn-qr-block{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}
    .driver-etrn-qr-block .hint{font-size:.72rem}
    .driver-net{
      display:none;flex-shrink:0;margin:0;padding:7px 12px;font-size:.72rem;font-weight:600;line-height:1.3;
      background:rgba(245,158,11,.12);color:#92400E;border-bottom:1px solid rgba(245,158,11,.35)
    }
    .driver-net.show{display:block}
    .driver-net.bad{background:rgba(239,68,68,.1);color:var(--accent);border-bottom-color:rgba(239,68,68,.35)}
    .hint.warn-close{color:var(--accent);font-weight:600}
    #driver{background:linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 36%)}
    .driver-topbar{
      display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:56px;flex-shrink:0;
      background:var(--surface);border-bottom:1px solid var(--border)
    }
    .driver-who{flex:1;min-width:0}
    .driver-who h1{margin:0;font-size:1rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .driver-sub{margin-top:1px;font-size:.72rem;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1em}
    .driver-build{margin-top:1px;font-size:.62rem;color:var(--muted);opacity:.85;line-height:1.2}
    /* Шаг 2: сводка на Главной */
    .driver-home{flex-shrink:0;padding:8px 10px 0;display:flex;flex-direction:column;gap:8px}
    .driver-home-summary{
      display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
      padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)
    }
    .driver-home-summary .m span{display:block;font-size:.62rem;color:var(--muted);font-weight:600;line-height:1.2}
    .driver-home-summary .m b{display:block;margin-top:3px;font-size:.88rem;font-weight:700;color:var(--text);line-height:1.15}
    .driver-home-summary .m b.accent{color:var(--accent)}
    .driver-home-summary .m b.warn{color:#D97706}
    .driver-home-summary .m b.ok{color:#059669}
    .driver-home-orders{display:flex;flex-direction:column;gap:8px}
    .driver-home-orders-hint{
      display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--border);
      border-radius:var(--radius);background:var(--surface);font-size:.82rem;line-height:1.35;color:var(--muted)
    }
    .driver-home-orders-hint b{color:var(--text)}
    .driver-home-orders-hint button{align-self:flex-start;min-height:40px}
    .eto-restart-details{margin-top:10px;font-size:.82rem}
    .eto-restart-details summary{cursor:pointer;color:var(--muted);font-weight:600}
    .driver-eto-body .hint{margin-bottom:8px}
    .driver-eto-body .row,.driver-eto-body .yesno,.driver-eto-body .plate,.driver-eto-body .fluid{margin-bottom:8px}
    .eto-light-row{
      padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);
      background:var(--surface);box-shadow:var(--shadow-sm)
    }
    .eto-light-row.answered{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.06)}
    .eto-light-row.answered:has(.eto-picked.bad){border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.05)}
    .eto-light-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px;font-size:.88rem;font-weight:700;color:var(--text)}
    .eto-picked{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--field);color:var(--muted)}
    .eto-picked.ok{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);color:#059669}
    .eto-picked.bad{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.35);color:var(--accent)}
    .eto-picked.wait{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.4);color:#D97706}
    .driver-eto-body .yesno button{
      flex:1;border:2px solid var(--border);border-radius:var(--pill);padding:10px 0;min-height:var(--touch);
      background:#fff;color:var(--text);font-weight:800;font-size:.92rem;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s,transform .08s
    }
    .driver-eto-body .yesno button.on{
      background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;
      box-shadow:0 0 0 3px rgba(239,68,68,.28);transform:scale(1.02)
    }
    .eto-light-row.answered .yesno button:not(.on){opacity:.45}
    .driver-eto-body .fluid.on,.driver-eto-body .plate.on{
      background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;
      box-shadow:0 0 0 3px rgba(239,68,68,.22)
    }
    .drv-tab-badge{
      display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 4px;
      margin-left:2px;border-radius:999px;background:var(--accent);color:#fff;font-size:.58rem;font-weight:800;line-height:1
    }
    .drv-active-card,.drv-order-card{
      border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);
      padding:12px;box-shadow:var(--shadow-sm)
    }
    .drv-active-card h3,.drv-order-card h3{margin:0;font-size:.95rem;font-weight:700;line-height:1.25}
    .drv-active-card .st,.drv-order-card .st{
      display:inline-flex;margin-top:6px;padding:3px 8px;border-radius:var(--radius);
      font-size:.68rem;font-weight:700;border:1px solid var(--border);background:var(--field)
    }
    .drv-active-card .st.progress,.drv-order-card .st.progress{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.35);color:#2563EB}
    .drv-active-card .st.wait,.drv-order-card .st.wait{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .drv-order-card .st.closed{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .drv-points{margin-top:8px;display:flex;flex-direction:column;gap:6px}
    .drv-points .pt{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg0)}
    .drv-points .pt span{display:block;font-size:.68rem;color:var(--muted);font-weight:600}
    .drv-points .pt b{display:block;margin-top:2px;font-size:.86rem;font-weight:700;color:var(--text);line-height:1.3}
    .drv-active-card .route,.drv-order-card .route{margin:8px 0 0;font-size:.84rem;font-weight:600;color:var(--text);line-height:1.35}
    .drv-active-card .meta,.drv-order-card .meta{margin:6px 0 0;font-size:.76rem;color:var(--muted);line-height:1.35}
    .drv-order-card .contact{margin:8px 0 0;font-size:.82rem;font-weight:700;color:var(--text)}
    .drv-active-card .acts,.drv-order-card .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
    .drv-active-card .acts a,.drv-active-card .acts button,
    .drv-order-card .acts a,.drv-order-card .acts button{flex:1 1 calc(50% - 6px);min-height:44px;width:auto}
    .drv-active-card .acts a,.drv-order-card .acts a.drv-link{
      display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
      border-radius:var(--radius);background:var(--field);border:1px solid var(--border);
      color:var(--text);font-weight:700;font-size:.85rem
    }
    .drv-order-card .acts .primary{flex:1 1 100%}
    .drv-order-card .acts .secondary.drv-act-continue{flex:1 1 100%;min-height:40px;font-size:.82rem}
    @media (max-width:380px){
      .driver-home-summary{grid-template-columns:repeat(2,1fr)}
    }
    .driver-shift-chip{
      flex:0 0 auto;max-width:38%;padding:5px 8px;border-radius:var(--radius);font-size:.68rem;font-weight:700;
      line-height:1.2;text-align:center;border:1px solid var(--border);background:var(--field);color:var(--text)
    }
    .driver-shift-chip.ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35);color:#059669}
    .driver-shift-chip.wait{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:#D97706}
    .driver-shift-chip.warn{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4);color:var(--accent)}
    /* Водитель: нижнее меню (мобильный каркас) + safe-area */
    #driver.show{
      display:flex;flex-direction:column;
      padding-bottom:calc(var(--driver-tab-clear) + env(safe-area-inset-bottom,0px));
      padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)
    }
    #driver #chat{display:none!important}
    #driver.driver-home-compact #driver-home{flex:1;min-height:0}
    .driver-eto-panel{display:flex;flex-direction:column;gap:10px;min-height:0}
    .eto-chat{
      flex:0 1 auto;max-height:38vh;min-height:72px;overflow-y:auto;
      display:flex;flex-direction:column;gap:8px;padding:8px 10px;
      border:1px solid var(--border);border-radius:var(--radius);background:var(--bg0);
      overscroll-behavior:contain;-webkit-overflow-scrolling:touch
    }
    .eto-chat:empty{display:none}
    .eto-chat .bubble{max-width:92%}
    #driver.driver-home-compact #driver-banner{margin-bottom:4px}
    #driver #input-bar{
      flex-shrink:0;
      padding-bottom:10px; /* safe-area у нижнего меню, не у поля ввода */
      position:relative;z-index:30
    }
    .driver-step-hint{
      padding:10px 12px;border-radius:var(--radius);border:1px solid rgba(239,68,68,.35);
      background:rgba(239,68,68,.08);color:var(--text);font-size:.86rem;line-height:1.35;margin-bottom:8px
    }
    .driver-step-hint strong{color:var(--accent)}
    #driver #input-bar button.primary,#driver #input-bar button.secondary{width:auto;max-width:100%}
    #driver #input-bar .row{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%}
    #driver #input-bar .row input{flex:1 1 0;min-width:0;width:auto;font-size:1.2rem;font-weight:700;text-align:center;letter-spacing:.03em}
    #driver #input-bar .row button{flex:0 0 auto;min-width:88px;padding:0 16px;white-space:nowrap}
    .driver-odo-row{display:flex;flex-direction:column;gap:10px;width:100%}
    .driver-odo-label{font-size:.78rem;font-weight:700;color:var(--muted)}
    .driver-odo-row input{
      width:100%;box-sizing:border-box;font-size:1.35rem;font-weight:800;text-align:center;
      letter-spacing:.06em;padding:14px 12px;min-height:52px;border:2px solid var(--border);border-radius:var(--radius);
      background:#fff;color:var(--text);font-family:inherit
    }
    .driver-odo-row input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px rgba(239,68,68,.15)}
    .driver-odo-row .primary,.driver-odo-main{width:100%!important;min-height:52px;font-size:1rem;line-height:1.25;padding:12px 14px}
    .driver-odo-main .sub{display:block;margin-top:4px;font-size:.78rem;font-weight:600;opacity:.92}
    #driver #input-bar .driver-refuel-yesno{display:flex;gap:10px;width:100%}
    #driver #input-bar .driver-refuel-yesno button{flex:1 1 50%;min-height:52px;font-size:1rem;font-weight:800}
    .eto-depart-block{margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
    .eto-depart-card{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
    .eto-depart-card:first-of-type{margin-top:8px;padding-top:0;border-top:0}
    .eto-depart-title{font-weight:800;font-size:.92rem}
    .eto-depart-route{margin:4px 0 8px;font-size:.8rem;color:var(--muted);line-height:1.35}
    .eto-depart-card .primary{width:100%;min-height:48px}
    .driver-nav,.driver-tabbar{
      position:absolute;left:0;right:0;bottom:0;z-index:40;
      display:grid;grid-template-columns:repeat(5,1fr);gap:2px;
      padding-top:4px;
      padding-left:max(6px, env(safe-area-inset-left,0px));
      padding-right:max(6px, env(safe-area-inset-right,0px));
      padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));
      background:var(--surface);border-top:1px solid var(--border);
      box-shadow:0 -6px 16px rgba(17,24,39,.08)
    }
    .driver-nav button,.driver-tabbar button{
      border:0;border-radius:var(--radius);background:transparent;color:var(--muted);
      font-weight:700;font-size:.7rem;min-height:50px;cursor:pointer;padding:6px 2px;
      font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1
    }
    .driver-nav button .tab-ico,.driver-tabbar button .tab-ico{font-size:1.05rem;font-weight:700;line-height:1;color:inherit}
    .driver-nav button.on,.driver-tabbar button.on{background:rgba(239,68,68,.12);color:var(--accent)}
    #chat{
      background:
        radial-gradient(ellipse at top, rgba(239,68,68,.04), transparent 55%),
        linear-gradient(180deg, #F3F4F6 0%, var(--bg0) 50%);
    }
    .drv-earn{
      padding:14px 14px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);
      box-shadow:var(--shadow-sm);margin-bottom:4px
    }
    .drv-earn .lbl{display:block;font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
    .drv-earn .val{display:block;margin-top:4px;font-size:1.7rem;font-weight:700;color:var(--accent);line-height:1.1}
    .drv-earn .sub{display:block;margin-top:4px;font-size:.78rem;color:var(--muted)}
    .drv-pay-row{
      display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
      padding:10px 0;border-bottom:1px solid var(--border)
    }
    .drv-pay-row:last-child{border-bottom:0}
    .drv-pay-row .name{font-weight:700;font-size:.9rem;color:var(--text)}
    .drv-pay-row .meta{margin-top:2px;font-size:.76rem;color:var(--muted);line-height:1.35}
    .drv-pay-row .amt{flex:0 0 auto;font-weight:700;color:var(--accent);font-size:1rem;white-space:nowrap}
    .drv-section-label{margin:12px 0 4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
    .drv-shift-row{
      display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--border)
    }
    .drv-shift-row:last-child{border-bottom:0}
    .drv-shift-row .name{font-weight:700;font-size:.92rem}
    .drv-shift-row .meta{font-size:.76rem;color:var(--muted);line-height:1.35}
    /* Шаг 4: История / Профиль */
    .drv-hist-stats{
      display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px
    }
    .drv-hist-stats .m,.drv-profile-stats .m{
      background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px
    }
    .drv-hist-stats .m span,.drv-profile-stats .m span{display:block;font-size:.62rem;color:var(--muted);font-weight:600}
    .drv-hist-stats .m b,.drv-profile-stats .m b{display:block;margin-top:3px;font-size:.95rem;font-weight:700;color:var(--text)}
    .drv-hist-stats .m b.accent,.drv-profile-stats .m b.accent{color:var(--accent)}
    .drv-hist-day{
      border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);
      padding:12px;margin-top:8px;cursor:pointer
    }
    .drv-hist-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
    .drv-hist-day h3{margin:0;font-size:.92rem;font-weight:700;line-height:1.25}
    .drv-hist-day .tog{
      flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
      border-radius:var(--radius);background:var(--field);color:var(--accent);font-size:.72rem;font-weight:700
    }
    .drv-hist-day .meta{margin:4px 0 0;font-size:.76rem;color:var(--muted);line-height:1.35}
    .drv-hist-day .tot{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;font-size:.8rem}
    .drv-hist-day .tot b{color:var(--accent)}
    .drv-hist-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
    .drv-cal{
      margin:8px 0 4px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)
    }
    .drv-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
    .drv-cal-head h3{margin:0;font-size:.92rem;font-weight:700;flex:1;text-align:center}
    .drv-cal-head button{
      border:0;background:var(--field);color:var(--text);border-radius:var(--radius);
      width:36px;height:36px;font-weight:700;cursor:pointer;font-family:inherit
    }
    .drv-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
    .drv-cal-week span{text-align:center;font-size:.62rem;font-weight:700;color:var(--muted);padding:2px 0}
    .drv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
    .drv-cal-grid button{
      position:relative;border:0;background:transparent;color:var(--text);border-radius:var(--radius);
      min-height:40px;padding:4px 0 8px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit
    }
    .drv-cal-grid button.mute{color:var(--muted);opacity:.45}
    .drv-cal-grid button.has::after{
      content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;
      background:var(--accent);transform:translateX(-50%)
    }
    .drv-cal-grid button.in{background:rgba(239,68,68,.1);color:var(--accent)}
    .drv-cal-grid button.edge{background:rgba(239,68,68,.18);color:var(--accent);font-weight:700}
    .drv-cal-grid button.today{box-shadow:inset 0 0 0 1px var(--border)}
    .drv-cal-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
    .drv-cal-meta .period{font-size:.76rem;color:var(--muted);font-weight:600;line-height:1.3}
    .drv-cal-meta button{
      border:0;background:var(--field);color:var(--text);border-radius:var(--radius);
      padding:8px 10px;min-height:36px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;flex:0 0 auto
    }
    .admin-cal-filters{
      display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:0 0 8px;padding:0 2px
    }
    .admin-cal-filters label{
      display:flex;flex-direction:column;gap:4px;flex:1 1 140px;min-width:120px;
      font-size:.68rem;font-weight:700;color:var(--muted)
    }
    .admin-cal-filters select{
      width:100%;min-height:36px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);
      background:var(--field);color:var(--text);font:inherit;font-size:.8rem;font-weight:600
    }
    .admin-cal-filters button{
      border:0;background:var(--field);color:var(--text);border-radius:var(--radius);
      padding:8px 10px;min-height:36px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;flex:0 0 auto
    }
    .drv-profile-rows{display:flex;flex-direction:column;gap:0;margin:8px 0 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
    .drv-profile-row{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--border)}
    .drv-profile-row:last-child{border-bottom:0}
    .drv-profile-row span{font-size:.76rem;color:var(--muted);font-weight:600}
    .drv-profile-row b{font-size:.9rem;font-weight:700;color:var(--text);text-align:right;line-height:1.3}
    .drv-profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}
    /* Справочники — тема 1 */
    .cat-sticky{
      position:sticky;top:0;z-index:6;margin:0 -14px;padding:8px 14px;
      background:var(--surface);border-bottom:1px solid var(--border)
    }
    .cat-sticky .cat-title-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}
    .cat-sticky h2{margin:0;flex:1;font-size:.95rem}
    .cat-back{width:auto!important;min-width:56px;padding:6px 12px!important;min-height:32px!important;font-size:.75rem!important;margin:0!important;border-radius:var(--radius)!important}
    .cat-tabs{
      display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 10px;flex-shrink:0;
      background:var(--surface);border-bottom:1px solid var(--border)
    }
    .cat-tabs button{
      border:1px solid var(--border);border-radius:var(--radius);padding:7px 4px;min-height:40px;background:var(--field);
      color:var(--muted);font-weight:600;font-size:.72rem;cursor:pointer;line-height:1.15;font-family:inherit
    }
    .cat-tabs button .n{display:block;font-size:.6rem;font-weight:600;opacity:.85;margin-top:1px}
    .cat-tabs button.on{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4);color:var(--accent)}
    .cat-panel{display:none;flex-direction:column;gap:8px;padding-top:4px;animation:catIn .16s ease}
    .cat-panel.on{display:flex}
    @keyframes catIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
    .cat-list{display:flex;flex-direction:column;gap:6px}
    .activity-log-fold{margin:4px 0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
    .activity-log-summary{
      cursor:pointer;padding:8px 12px;font-size:.82rem;font-weight:700;color:var(--text);list-style:none
    }
    .activity-log-summary::-webkit-details-marker{display:none}
    .activity-log-compact{padding:0 10px 8px;display:flex;flex-direction:column;gap:2px}
    .activity-log-line{
      display:grid;grid-template-columns:minmax(72px,auto) 1fr auto;gap:6px;align-items:center;
      font-size:.72rem;line-height:1.35;color:var(--muted);padding:2px 0
    }
    .activity-log-who{color:var(--text);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .activity-log-act{font-size:.68rem;text-transform:uppercase;letter-spacing:.02em}
    .activity-log-act.is-in{color:#059669}
    .activity-log-act.is-out{color:var(--muted)}
    .activity-log-more{margin:4px 0 0;font-size:.7rem}
    .cat-quick,.cat-compact{
      display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--radius);
      background:var(--surface);border:1px solid var(--border)
    }
    .cat-panel-hint{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.35}
    #admin-catalogs-screen,#admin-activity-screen,#admin-vehicle-card{
      background:linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 42%)
    }
    .cat-quick .row,.cat-compact .row{gap:4px;align-items:center}
    .cat-quick input,.cat-quick select,.cat-compact input,.cat-compact select{
      padding:6px 10px;border-radius:var(--pill);font-size:16px;min-height:34px
    }
    .cat-search{
      width:100%;padding:8px 12px;min-height:var(--touch);border-radius:var(--radius);border:1px solid var(--border);
      background:#fff;color:var(--text);font-size:16px;font-family:inherit
    }
    .check{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);white-space:nowrap;margin:0!important;width:auto!important}
    .check input{
      -webkit-appearance:none;appearance:none;width:16px!important;height:16px!important;min-width:16px;min-height:16px!important;
      margin:0;flex:0 0 auto;border:1.5px solid #D1D5DB;border-radius:4px;background:#fff;
      accent-color:var(--accent);cursor:pointer
    }
    .check input:checked{
      background:var(--accent);border-color:var(--accent);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l2.8 2.8 6.2-6.2'/%3E%3C/svg%3E");
      background-size:11px 11px;background-position:center;background-repeat:no-repeat
    }
    .role-toggles{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 4px}
    .role-tog{
      display:inline-flex;align-items:center;gap:5px;padding:5px 9px;min-height:30px;border-radius:var(--pill);cursor:pointer;
      background:var(--field);border:1px solid var(--border);color:var(--text);margin:0!important;width:auto!important;
      font-size:.72rem;font-weight:700;user-select:none;white-space:nowrap;line-height:1.1
    }
    .role-tog input{
      -webkit-appearance:none;appearance:none;width:14px!important;height:14px!important;min-width:14px;min-height:14px!important;
      margin:0;flex:0 0 auto;border:1.5px solid #D1D5DB;border-radius:3px;background:#fff;cursor:pointer
    }
    .role-tog input:checked{
      background:var(--accent);border-color:var(--accent);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l2.8 2.8 6.2-6.2'/%3E%3C/svg%3E");
      background-size:10px 10px;background-position:center;background-repeat:no-repeat
    }
    .role-tog:has(input:checked){background:rgba(239,68,68,.12);border-color:var(--accent);color:var(--text)}
    .dense-row{
      display:flex;align-items:center;gap:5px;padding:5px 7px;min-height:40px;
      background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);
      transition:border-color .15s,background .15s
    }
    .dense-row:active{background:var(--surface-hover)}
    .dense-row .grow{flex:1;min-width:0;text-align:left;background:0;border:0;color:inherit;padding:0;cursor:pointer}
    .dense-row .name{font-weight:700;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .dense-row .meta{font-size:.64rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
    .dense-row input.tiny{width:46px;padding:5px 4px;min-height:30px;border-radius:var(--pill);text-align:center;font-size:.8rem;flex:0 0 auto}
    .dense-row input.mid{flex:1;min-width:0;padding:5px 10px;min-height:30px;border-radius:var(--pill);font-size:16px}
    .dense-row select.slim{flex:0 1 110px;min-width:84px;padding:5px 8px;min-height:30px;border-radius:var(--pill);font-size:.72rem}
    .drv-card{
      display:grid;grid-template-columns:minmax(0,1.1fr) 28px minmax(0,.95fr) 52px auto auto auto;
      align-items:center;gap:3px;padding:6px 8px;background:var(--surface);
      border-radius:var(--radius);border:1px solid var(--border)
    }
    .drv-card .drv-name{min-width:0;font-weight:700;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .drv-card .drv-firm{display:block;font-weight:500;font-size:.58rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .item-name .drv-firm{display:block;font-weight:500;font-size:.58rem;color:var(--muted);margin-top:1px}
    .drv-card .drv-phone{
      min-width:0;width:100%;padding:5px 8px;min-height:30px;border-radius:var(--pill);
      border:0;background:var(--field);color:var(--text);font-size:15px
    }
    .drv-card .drv-pin{
      width:52px;padding:5px 4px;min-height:30px;border-radius:var(--pill);text-align:center;
      border:0;background:var(--field);color:var(--text);font-size:14px
    }
    .drv-card .tiny,.cat-quick.drv-add .pct{
      width:26px!important;max-width:26px;padding:3px 1px!important;min-height:26px!important;
      border-radius:var(--pill)!important;text-align:center;font-size:.68rem!important;
      border:0;background:var(--field);color:var(--text);flex:0 0 26px
    }
    .drv-card .check{font-size:.65rem;gap:3px}
    .drv-card .icon-btn{min-width:28px;min-height:28px;width:28px;font-size:.78rem}
    .cat-quick.drv-add{padding:8px;gap:4px;border-radius:var(--radius)}
    .cat-quick.drv-add .row{gap:3px;align-items:center}
    .cat-quick.drv-add input{padding:5px 6px;min-height:28px;font-size:14px}
    .cat-quick.drv-add .check{font-size:.6rem;gap:2px;flex:0 0 auto}
    .cat-quick.drv-add .icon-btn,
    .cat-quick.drv-add button.primary.icon-btn{
      width:26px!important;min-width:26px!important;max-width:26px!important;
      min-height:26px!important;height:26px!important;padding:0!important;
      font-size:.75rem!important;flex:0 0 26px!important;line-height:1;margin:0!important
    }
    .icon-btn{
      border:0;border-radius:var(--pill);min-width:32px;min-height:32px;width:32px;padding:0;font-weight:700;cursor:pointer;
      background:var(--field);color:var(--text);font-size:.85rem;flex:0 0 auto;line-height:1
    }
    .icon-btn.ok{background:var(--accent);color:#fff}
    .icon-btn.danger{color:#DC2626}
    .chip{display:inline-block;padding:2px 7px;border-radius:var(--pill);background:var(--field);font-size:.6rem;color:var(--muted);margin-right:3px;vertical-align:middle}
    .chip.hot{background:rgba(239,68,68,.14);color:#B91C1C;font-weight:700}
    .item-card{background:var(--surface);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--border)}
    .item-card .item-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
    .item-card .item-name{font-weight:700;font-size:.86rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .item-card .item-mid{display:flex;gap:5px;align-items:center}
    .item-card .item-mid input{flex:1;min-width:0;padding:6px 10px;border-radius:var(--pill);font-size:16px;min-height:34px}
    .item-card .item-actions{display:flex;gap:5px}
    .item-card .item-actions button{flex:1;padding:7px 8px;border-radius:var(--pill);font-size:.78rem;min-height:34px;width:auto}
    .pct-wrap{display:flex;align-items:center;gap:4px;flex:0 0 auto}
    .pct-wrap input{width:50px!important;padding:5px 6px!important;border-radius:var(--pill)!important;text-align:center;font-size:.85rem!important;min-height:30px!important}
    .pct-wrap span{font-size:.68rem;color:var(--muted)}
    .cat-add-btn{padding:7px 14px!important;border-radius:var(--pill)!important;font-size:.8rem!important;margin:0!important;min-height:34px}
    .fin-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
    .fin-grid label{margin:0;font-size:.68rem}
    .fin-grid input{min-height:34px;padding:6px 10px;margin-top:2px;border-radius:var(--pill)}
    .co-editor-box{
      padding:12px;border-radius:var(--radius);background:rgba(239,68,68,.06);
      border:1px solid rgba(239,68,68,.28);display:none;margin-bottom:4px
    }
    .co-editor-box.show{display:block;animation:catIn .16s ease}
    .co-editor-box input,.co-editor-box select,.co-editor-box textarea{border-radius:var(--radius)!important}
    .toast-ok{
      position:sticky;bottom:0;z-index:4;margin:6px 0 0;padding:7px 12px;border-radius:var(--pill);
      background:rgba(16,185,129,.15);color:#065F46;font-weight:700;font-size:.78rem;text-align:center;
      animation:catIn .16s ease
    }
    .toast-warn{
      background:rgba(245,158,11,.18);color:#92400E
    }

    /* ПК / планшет: чуть просторнее, формы шире, 2 колонки где уместно */
    @media (min-width:700px){
      :root{ --pad:14px; --gap:10px; --fs:15px; --ctrl-pad:10px 12px; --touch:42px; }
      .phone{max-width:520px}
      .phone.wide{max-width:min(1100px,100%)}
      .admin-form-shell{max-width:720px}
      .form-pair{grid-template-columns:1fr 1fr}
      .form-pair.cust-datetime-pair{grid-template-columns:minmax(0,1.35fr) minmax(108px,1fr)}
      .form-triple{grid-template-columns:1fr 1fr 1fr}
      #cust-order-form .cust-cargo-meta-row{grid-template-columns:auto auto minmax(0,1fr)}
    }
    .form-triple{display:grid;grid-template-columns:1fr;gap:8px}
    .cust-route-map-wrap{margin:4px 0 2px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--surface2,#f4f6f5)}
    .addr-suggest-wrap{position:relative}
    .addr-suggest-wrap > input,.addr-suggest-wrap > textarea{width:100%;box-sizing:border-box}
    .addr-suggest-list{
      position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;
      max-height:min(240px,42vh);overflow-y:auto;
      border:1px solid var(--border);border-radius:12px;
      background:var(--surface,#fff);box-shadow:0 8px 24px rgba(0,0,0,.12);
    }
    .addr-suggest-item{
      display:block;width:100%;text-align:left;border:0;background:transparent;
      padding:10px 12px;font:inherit;font-size:.84rem;line-height:1.35;color:var(--text);
      cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);
    }
    .addr-suggest-item:last-child{border-bottom:0}
    .addr-suggest-item:hover,.addr-suggest-item.is-active{background:color-mix(in srgb,var(--accent) 10%,var(--surface,#fff))}
    .chat-widget .addr-suggest-list{position:relative;top:0;margin-top:6px;max-height:180px;box-shadow:none}
    .chat-vtype-widget{position:relative;z-index:2}
    .chat-vtype-widget .chat-vtype-suggest{
      position:relative;top:0;margin-top:6px;max-height:min(220px,36vh);
      border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px rgba(15,23,42,.1);
    }
    .chat-vtype-suggest-item{font-size:.8rem}
    .chat-vtype-hint{margin:8px 0 0;padding-left:36px;font-size:.72rem;color:var(--muted,#64748b)}
    .chat-vtype-chips{margin-top:4px}
    .chat-history-chips{padding-left:36px;margin-top:2px;align-items:center}
    .chat-history-label{
      flex:0 0 100%;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
      color:var(--muted,#64748b);margin:0 0 2px;
    }
    .chat-history-chips .chat-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .chat-dims-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .chat-dims-row input{min-width:0}
    .cust-route-map-wrap:not(.has-route){display:none}
    .cust-route-map{min-height:160px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:14px}
    .cust-route-yandex{width:100%;height:auto;display:block;object-fit:cover;min-height:160px}
    .cust-map-osm{position:relative;min-height:160px;margin:0 auto;max-width:100%;overflow:hidden;border-radius:14px;background:#e8ecea}
    .cust-map-tile{position:absolute;width:256px;height:256px;pointer-events:none;user-select:none}
    .cust-map-overlay{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
    .cust-map-badge{position:absolute;z-index:2;font:600 10px/1.2 system-ui,sans-serif;color:#334155;background:rgba(255,255,255,.88);padding:3px 8px;border-radius:999px;box-shadow:0 1px 4px rgba(15,23,42,.12)}
    .cust-map-badge-a{left:10px;top:8px}
    .cust-map-badge-b{left:10px;bottom:8px}
    .cust-route-svg{width:100%;height:auto;display:block}
    .cust-map-tag{font:600 10px/1.2 system-ui,sans-serif;fill:var(--muted,#667)}
    .chat-load-chips .chat-chip.primary{box-shadow:0 0 0 2px rgba(37,99,235,.25)}
    .chat-chip.is-selected{
      background:#2563eb;color:#fff;border-color:#2563eb;
      box-shadow:0 0 0 2px rgba(37,99,235,.35),0 2px 8px rgba(37,99,235,.2);
    }
    .chat-chip.muted.is-selected{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
    .chat-vtype-suggest-item.is-selected{background:rgba(37,99,235,.12);font-weight:700;color:#1d4ed8}
    .chat-invoice-link{display:inline-block;margin-top:8px;color:#2563eb;font-weight:700;text-decoration:none;border-bottom:1px dashed rgba(37,99,235,.45)}
    .chat-invoice-link:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}
    .cust-submit-success{margin:0 0 12px;padding:12px 14px;border-radius:var(--radius,14px);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.35);font-size:.82rem;line-height:1.45}
    .cust-submit-success[hidden]{display:none!important}
    .cust-invoice-row{margin-top:6px}
    .cust-invoice-link{font-size:.76rem;font-weight:700;color:var(--accent,#2563eb);cursor:pointer;border:0;background:transparent;padding:0;font-family:inherit;text-decoration:underline}
    .cust-trip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface2,#f4f6f5);border:1px solid var(--border)}
    .cust-trip-label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}
    .cust-trip-badge{font-weight:800;font-size:.95rem;color:var(--accent);padding:4px 10px;border-radius:999px;background:rgba(37,99,235,.08)}
    .cust-date-cal .drv-cal{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface,#fff)}
    .cust-date-cal .drv-cal-meta .period{font-size:.72rem}
    .cust-date-cal .drv-cal-grid button.past{opacity:.35;cursor:not-allowed}
    #admin-create .admin-form-shell,#admin-detail .admin-form-shell{max-width:720px}
    .admin-order-blocks.cust-form-blocks{margin:0;gap:12px}
    .admin-order-blocks .cust-form-block-head{letter-spacing:0;text-transform:none}
    .admin-order-hero{border:0!important;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%)!important;color:#fff;padding:16px 14px!important;border-radius:14px!important}
    .admin-order-hero .form-section-hint{color:rgba(255,255,255,.82);padding:8px 0 0;margin:0}
    .admin-order-hero-grid{display:grid;grid-template-columns:1fr;gap:12px}
    @media(min-width:520px){.admin-order-hero-grid{grid-template-columns:1fr auto;align-items:start}}
    .admin-order-hero-customer{font-size:1rem;font-weight:800;line-height:1.25}
    .admin-order-hero-route{margin-top:6px;font-size:.88rem;font-weight:600;line-height:1.35;opacity:.95}
    .admin-order-hero-meta{margin-top:6px;font-size:.74rem;opacity:.82}
    .admin-order-hero-assign{
      display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;
      background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);min-width:0
    }
    .admin-order-hero-assign.ok{background:rgba(16,185,129,.22);border-color:rgba(16,185,129,.45)}
    .admin-order-hero-assign.wait{background:rgba(251,191,36,.18);border-color:rgba(251,191,36,.4)}
    .admin-order-hero-assign .lbl{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.78}
    .admin-order-hero-assign b{font-size:.88rem;font-weight:800;line-height:1.25}
    .admin-order-hero-assign b.muted{opacity:.75;font-weight:700}
    .admin-order-hero-plate{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
    .admin-order-hero-phone{font-size:.76rem;color:#fff;text-decoration:none;opacity:.9}
    .admin-order-hero-warn{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:rgba(251,191,36,.22);border:1px solid rgba(251,191,36,.35);font-size:.76rem;line-height:1.35;color:#fff}
    .admin-order-assign .admin-order-assign-actions{display:flex;align-items:flex-end;justify-content:flex-end;height:100%}
    .admin-order-assign .admin-order-assign-actions .primary{width:100%;padding:10px 14px;font-size:.82rem}
    .admin-order-advanced{border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);overflow:hidden;margin:0}
    .admin-order-advanced-summary{
      padding:12px 14px;font-size:.82rem;font-weight:800;color:var(--muted);cursor:pointer;list-style:none;
      background:var(--surface2,#f4f6f5);border-bottom:1px solid transparent
    }
    .admin-order-advanced[open] .admin-order-advanced-summary{border-bottom-color:var(--border);color:var(--text)}
    .admin-order-advanced-summary::-webkit-details-marker{display:none}
    .admin-order-advanced .form-section{border:0;border-radius:0;margin:0}
    .admin-order-advanced .form-section:first-of-type .form-section-title{border-top:0}
    #admin-detail #detail-form > .form-section,
    .admin-order-blocks > .form-section{
      border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);
      padding:0;margin:0;overflow:hidden;gap:0
    }
    .admin-order-blocks > .form-section .form-section-title{
      padding:10px 14px;margin:0;background:var(--surface2,#f4f6f5);border-bottom:1px solid var(--border);
      font-size:.82rem;font-weight:800;text-transform:none;letter-spacing:0;color:var(--text,#1a1f1c)
    }
    #admin-detail #detail-form > .form-section .form-section-hint,
    #admin-detail #detail-form > .form-section .form-fields,
    #admin-detail #detail-form > .form-section .metric-strip,
    #admin-detail #detail-form > .form-section .claim-box,
    #admin-detail #detail-form > .form-section .calc,
    .admin-order-blocks > .form-section .form-section-hint,
    .admin-order-blocks > .form-section .form-fields,
    .admin-order-blocks > .form-section .metric-strip,
    .admin-order-blocks > .form-section .claim-box,
    .admin-order-blocks > .form-section .calc{padding-left:14px;padding-right:14px}
    #admin-detail #detail-form > .form-section .form-fields,
    .admin-order-blocks > .form-section .form-fields{padding-bottom:14px;display:flex;flex-direction:column;gap:8px}
    #admin-detail #detail-form > .form-section .metric-strip,
    .admin-order-blocks > .form-section .metric-strip{padding:12px 14px 0}
    #admin-detail #detail-form > .form-section .form-section-hint,
    .admin-order-blocks > .form-section .form-section-hint{padding-top:10px;margin:0}
    #admin-detail #detail-form > .form-section .claim-box,
    .admin-order-blocks > .form-section .claim-box{margin:0 14px 14px}
    #admin-detail #detail-form > .form-section .calc,
    .admin-order-blocks > .form-section .calc{margin:0 14px 14px}
    #admin-create .admin-form-scroll,#admin-detail .admin-form-scroll{padding:12px 14px 24px}
    #admin-create .cust-cargo-dims-row,#admin-detail .cust-cargo-dims-row{
      display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 5px;width:auto;max-width:100%
    }
    #admin-create .cust-cargo-dim-input,#admin-detail .cust-cargo-dim-input{
      width:3.5rem!important;max-width:4rem!important;min-width:0!important;flex:0 0 3.5rem!important;
      padding:6px 4px!important;text-align:center
    }
    .cust-form-blocks{display:flex;flex-direction:column;gap:12px;margin:6px 0 2px}
    .cust-form-layout{display:flex;align-items:flex-start;gap:16px}
    .cust-order-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}
    .cust-order-head .form-section-title{flex:1 1 auto;margin:0}
    .cust-order-mode-tabs{display:inline-flex;border:1px solid var(--border,#e2e8e4);border-radius:999px;padding:2px;background:var(--surface2,#f4f6f5)}
    .cust-order-mode-tab{
      border:0;background:transparent;border-radius:999px;padding:6px 14px;
      font-size:.74rem;font-weight:700;color:var(--muted,#64748b);cursor:pointer;
    }
    .cust-order-mode-tab.on{background:#fff;color:var(--accent,#2563eb);box-shadow:0 1px 4px rgba(15,23,42,.08)}
    .cust-portal-tabs{
      flex-shrink:0;position:relative;z-index:6;
      background:var(--surface);border-bottom:1px solid var(--border);
      margin:0;padding:6px 10px;
      flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
      scrollbar-width:none;
    }
    #customer-portal .cust-portal-tabs{
      padding:8px 14px;
      box-shadow:0 1px 0 var(--border);
    }
    .cust-portal-tabs::-webkit-scrollbar{display:none}
    .cust-portal-tabs button{flex:0 0 auto;white-space:nowrap}
    .cust-portal-tab-panel[hidden]{display:none!important}
    .cust-tab-badge{
      display:inline-flex;align-items:center;justify-content:center;
      min-width:16px;height:16px;margin-left:4px;padding:0 4px;
      border-radius:999px;background:#fff;color:var(--accent,#2563eb);
      font-size:.62rem;font-weight:800;line-height:1;vertical-align:middle;
    }
    .cust-tab-badge{background:rgba(255,255,255,.95);color:var(--accent,#2563eb)}
    .epd-sign-card{
      margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);
      border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,var(--surface));
    }
    .epd-sign-card--active{border-color:color-mix(in srgb,#16a34a 35%,var(--border));background:color-mix(in srgb,#16a34a 6%,var(--surface))}
    .epd-sign-section-title{margin:0 0 2px;font-size:.95rem}
    .epd-sign-card-sub{margin:0 0 10px;font-size:.78rem;color:var(--muted)}
    .epd-sign-plaque{
      display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:10px;
      border:1px solid var(--border);background:var(--field);
    }
    .epd-sign-plaque-icon{
      flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;
      font-weight:800;font-size:.85rem;line-height:1;
    }
    .epd-sign-plaque-body{display:flex;flex-direction:column;gap:2px;min-width:0}
    .epd-sign-plaque-body strong{font-size:.88rem;line-height:1.25}
    .epd-sign-plaque-body .hint{font-size:.72rem;margin:0;line-height:1.35}
    .epd-sign-plaque--active{border-color:color-mix(in srgb,#16a34a 45%,var(--border));background:color-mix(in srgb,#16a34a 10%,var(--field))}
    .epd-sign-plaque--active .epd-sign-plaque-icon{background:#16a34a;color:#fff}
    .epd-sign-plaque--pending{border-color:color-mix(in srgb,#f59e0b 45%,var(--border));background:color-mix(in srgb,#f59e0b 10%,var(--field))}
    .epd-sign-plaque--pending .epd-sign-plaque-icon{background:#f59e0b;color:#fff}
    .epd-sign-plaque--expired{border-color:color-mix(in srgb,#ef4444 40%,var(--border));background:color-mix(in srgb,#ef4444 8%,var(--field))}
    .epd-sign-plaque--expired .epd-sign-plaque-icon{background:#ef4444;color:#fff}
    .epd-sign-plaque--none .epd-sign-plaque-icon{background:var(--border);color:var(--muted)}
    .epd-sign-issued{margin:0 0 8px;font-size:.72rem}
    .epd-sign-card--compact{padding:10px 12px}
    .epd-sign-card-hint{margin:0 0 6px;font-size:.78rem}
    .epd-sign-card-meta{margin:0 0 10px;font-size:.72rem}
    .epd-sign-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .epd-sign-card-actions .primary,.epd-sign-card-actions .secondary{width:auto;flex:0 0 auto;padding:8px 14px;font-size:.82rem;text-decoration:none;display:inline-block}
    body.epd-operator-open{overflow:hidden}
    .epd-operator-shell{
      position:fixed;inset:0;z-index:9600;background:rgba(15,23,42,.72);
      display:flex;align-items:stretch;justify-content:center;padding:0;
    }
    .epd-operator-shell[hidden]{display:none!important}
    .epd-operator-panel{
      display:flex;flex-direction:column;width:100%;max-width:720px;height:100%;
      background:var(--surface);box-shadow:0 8px 40px rgba(0,0,0,.25);
    }
    .epd-operator-head{
      display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0;
    }
    .epd-operator-head h2{margin:0;font-size:1rem;flex:1}
    .epd-operator-ext{border:0;background:transparent;cursor:pointer;font-size:.78rem;font-weight:600}
    .epd-operator-lead{margin:0;padding:8px 12px;font-size:.76rem;border-bottom:1px solid var(--border);flex-shrink:0}
    .epd-operator-body{flex:1;min-height:0;position:relative}
    .epd-operator-frame{width:100%;height:100%;border:0;display:block;background:#fff}
    .epd-operator-sandbox{padding:16px;overflow:auto;height:100%}
    .epd-sandbox-card .primary,.epd-sandbox-card .secondary{width:auto;margin:8px 8px 0 0}
    .epd-operator-fallback{padding:16px;text-align:center;border-top:1px solid var(--border)}
    .epd-operator-fallback .primary,.epd-operator-fallback .secondary{width:auto;margin:4px}
    .epd-operator-foot{
      flex-shrink:0;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface);
      display:flex;flex-direction:column;gap:6px;align-items:stretch;
    }
    .epd-operator-foot[hidden]{display:none!important}
    .epd-operator-foot .primary{width:100%}
    .epd-operator-foot .hint{margin:0;font-size:.72rem;text-align:center}
    .epd-sign-reset{border:0;background:transparent;cursor:pointer;padding:0;font-size:.72rem;text-decoration:underline;color:var(--muted)}
    .cust-draft-banner{
      margin:0 0 12px;padding:12px 14px;border-radius:var(--radius,14px);
      background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.25);
      animation:bannerIn .25s ease;
    }
    .cust-draft-banner[hidden]{display:none!important}
    .cust-draft-banner strong{display:block;font-size:.92rem;margin:0 0 4px;color:var(--text)}
    .cust-draft-banner p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}
    .cust-draft-banner-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
    .cust-draft-banner-actions .primary{flex:1 1 auto;min-width:8rem}
    .cust-draft-banner-actions .hint{font-size:.78rem;font-weight:600;border:0;background:transparent;cursor:pointer;color:var(--muted);padding:8px 10px}
    .cust-draft-banner-actions .hint:hover{color:var(--text)}
    .cust-chat-preview-link{font-size:.68rem;font-weight:600;color:var(--muted,#64748b);text-decoration:none}
    .cust-chat-preview-link:hover{color:var(--accent,#2563eb);text-decoration:underline}
    .cust-chat-shell{
      display:flex;flex-direction:column;
      height:min(560px,calc(100svh - 11rem));
      min-height:min(560px,calc(100svh - 11rem));
      max-height:min(560px,calc(100svh - 11rem));
      background:#e8edea;border:1px solid var(--border,#d1ddd6);border-radius:14px;
      overflow:hidden;max-width:100%;
    }
    .chat-progress{height:3px;background:#e2e8e4;flex-shrink:0}
    .chat-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#10b981);border-radius:0 2px 2px 0;transition:width .25s ease}
    .chat-step-hint{text-align:center;font-size:.68rem;color:var(--muted,#94a3b8);padding:6px 12px 0;margin:0;flex-shrink:0}
    .chat-thread{
      flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
      padding:10px 10px 6px;display:flex;flex-direction:column;gap:8px;min-height:0;
      background:#e8edea;
    }
    .chat-action-tray{
      flex:0 0 auto;flex-shrink:0;max-height:min(36vh,240px);overflow-y:auto;overflow-x:hidden;
      background:#fff;border-top:1px solid rgba(15,23,42,.08);
      border-radius:14px 14px 0 0;box-shadow:0 -6px 20px rgba(15,23,42,.1);
      -webkit-overflow-scrolling:touch;
    }
    .chat-action-tray[hidden]{display:none!important}
    .chat-action-tray .chat-step-panel{
      width:100%;max-width:100%;box-sizing:border-box;padding:8px 10px 10px;margin:0;
      border-top:0;background:transparent;
    }
    .chat-action-tray .chat-chips,
    .chat-action-tray .chat-widget,
    .chat-action-tray .chat-vtype-hint,
    .chat-action-tray .chat-history-chips,
    .chat-action-tray .chat-step-lead{padding-left:0}
    .chat-tray-actions{margin-top:6px}
    .chat-tray-hint{margin:0 0 6px;font-size:.72rem;line-height:1.35;color:var(--muted,#64748b)}
    #customer-portal.cust-order-chat-mode #cust-form-panel,
    #customer-portal.cust-order-chat-mode #cust-form-checklist{display:none!important}
    .chat-step-panel{
      width:100%;max-width:100%;box-sizing:border-box;flex-shrink:0;
      padding:8px 0 2px;
    }
    .chat-step-lead{margin:0 0 8px;font-size:.74rem;line-height:1.35;color:var(--muted,#64748b)}
    .chat-step-panel .chat-chips,
    .chat-step-panel .chat-widget,
    .chat-step-panel .chat-vtype-hint,
    .chat-step-panel .chat-history-chips{padding-left:0}
    .chat-method-list{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%}
    .chat-method-row{
      display:flex;align-items:flex-start;gap:10px;width:100%;max-width:100%;box-sizing:border-box;
      padding:10px 12px;border:1px solid var(--border,#e2e8e4);border-radius:10px;background:#fff;
      text-align:left;cursor:pointer;font-family:inherit;font-size:.78rem;line-height:1.35;color:var(--text);
    }
    .chat-method-row.is-selected{border-color:#2563eb;background:#eff6ff;color:#1e3a8a}
    .chat-method-check{
      flex:0 0 18px;width:18px;height:18px;border-radius:4px;border:1px solid var(--border,#cbd5e1);
      display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#2563eb;background:#fff;
    }
    .chat-method-row.is-selected .chat-method-check{background:#2563eb;border-color:#2563eb;color:#fff}
    .chat-method-label{flex:1;min-width:0;word-break:break-word}
    .chat-step-actions{display:flex;gap:8px;margin-top:10px}
    .chat-step-actions .chat-chip{flex:1;min-height:44px;padding:10px 14px;font-size:.8rem}
    .chat-cargo-editor{display:flex;flex-direction:column;gap:6px;width:100%}
    .chat-cargo-editor .chat-widget-row input,.chat-cargo-editor .chat-widget-row select{
      padding:8px 10px;border-radius:12px;border:1px solid var(--border,#e2e8e4);background:#f8faf9;
    }
    .chat-cargo-editor .chat-step-actions{margin-top:4px;gap:6px}
    .chat-cargo-tray{padding:4px 0 2px}
    .chat-cargo-tray .chat-chips{padding-left:0;margin-top:6px}
    .chat-cargo-editor .chat-widget{margin-top:0;padding-left:0}
    .chat-cargo-editor .chat-widget-row{margin-top:0}
    .chat-cargo-editor select{
      flex:0 0 auto;min-width:4.2rem;padding:10px 8px;border:1px solid var(--border,#cbd5e1);
      border-radius:10px;font-size:16px;font-family:inherit;background:#fff;
    }
    .chat-cargo-empty{margin:4px 0 0;font-size:.72rem;color:var(--muted,#64748b)}
    .chat-cargo-list{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:4px}
    .chat-cargo-item{
      display:flex;align-items:flex-start;gap:8px;padding:8px 10px;
      border:1px solid var(--border,#e2e8e4);border-radius:10px;background:#fff;
    }
    .chat-cargo-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
    .chat-cargo-item-main strong{font-size:.78rem;line-height:1.3;word-break:break-word}
    .chat-cargo-item-meta{font-size:.68rem;color:var(--muted,#64748b);line-height:1.35}
    .chat-cargo-remove{
      flex:0 0 auto;width:28px;height:28px;border:0;border-radius:999px;
      background:#fee2e2;color:#b91c1c;font-size:1rem;line-height:1;cursor:pointer;font-weight:700;
    }
    .chat-msg{display:flex;max-width:88%}
    .chat-msg.bot{align-self:flex-start}
    .chat-msg.user{align-self:flex-end;flex-direction:row-reverse}
    .chat-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;margin-top:2px}
    .chat-msg.bot .chat-avatar{background:#2563eb;color:#fff;margin-right:6px}
    .chat-msg.user .chat-avatar{background:#64748b;color:#fff;margin-left:6px;display:none}
    .chat-bubble{padding:8px 11px;border-radius:12px;font-size:.84rem;line-height:1.42;word-break:break-word;box-shadow:0 1px 1px rgba(15,23,42,.06)}
    .chat-msg.bot .chat-bubble{background:#fff;border:0;border-top-left-radius:4px;color:#1e293b}
    .chat-msg.user .chat-bubble{background:#2563eb;color:#fff;border-top-right-radius:4px}
    .chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;padding-left:36px}
    .chat-chip{border:1px solid #2563eb;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:7px 14px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit}
    .chat-chip.primary{background:#2563eb;color:#fff;border-color:#2563eb}
    .chat-chip.muted{border-color:var(--border,#cbd5e1);background:#fff;color:var(--muted,#64748b)}
    .chat-chip:disabled{opacity:.45;cursor:not-allowed}
    .chat-widget{margin-top:2px;padding-left:36px}
    .chat-widget input,.chat-widget select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border,#cbd5e1);border-radius:10px;font-size:16px;font-family:inherit}
    .chat-widget-row{display:flex;gap:8px;margin-top:6px}
    .chat-widget-row input{flex:1}
    .chat-summary{background:#fff;border:1px solid var(--border,#e2e8e4);border-radius:12px;padding:10px 12px;margin-top:6px;font-size:.74rem;line-height:1.5}
    .chat-summary b{display:block;font-size:.78rem;margin-bottom:4px}
    .chat-summary-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid #f1f5f3}
    .chat-summary-row:last-child{border-bottom:0}
    .chat-summary-row span:first-child{color:var(--muted,#64748b);flex-shrink:0}
    .chat-summary-row span:last-child{text-align:right}
    .chat-summary-edit{border:0;background:transparent;color:var(--accent,#2563eb);font-size:.68rem;font-weight:700;cursor:pointer;padding:0;margin-left:6px}
    .cust-chat-footer{
      flex:0 0 auto;flex-shrink:0;display:flex;flex-direction:column;
      background:#f0f2f1;border-top:1px solid var(--border,#d1ddd6);
    }
    .chat-compose{display:none;gap:8px;padding:8px 10px;background:#f0f2f1;flex-shrink:0;box-sizing:border-box;align-items:flex-end}
    .chat-compose.is-visible{display:flex}
    .chat-compose .addr-suggest-wrap{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}
    .chat-compose input{
      flex:1;width:100%;border:0;background:#fff;border-radius:22px;padding:10px 14px;font-size:16px;font-family:inherit;
      box-shadow:0 1px 2px rgba(15,23,42,.08);outline:none;
    }
    .chat-compose input:focus{box-shadow:0 0 0 2px rgba(37,99,235,.22),0 1px 2px rgba(15,23,42,.08)}
    .chat-compose .addr-suggest-list{
      position:absolute;bottom:calc(100% + 6px);left:0;right:0;max-height:180px;overflow-y:auto;z-index:8;
      background:#fff;border:1px solid var(--border,#cbd5e1);border-radius:12px;box-shadow:0 -6px 24px rgba(15,23,42,.12);
    }
    .chat-compose button{
      border:0;background:#2563eb;color:#fff;border-radius:50%;width:44px;height:44px;padding:0;font-weight:700;font-size:1rem;
      cursor:pointer;font-family:inherit;flex-shrink:0;line-height:1;
    }
    #cust-chat-panel .error{padding:0 12px 8px;font-size:.78rem;min-height:0;flex-shrink:0}
    #cust-chat-panel .error:empty{padding-bottom:0}
    #cust-chat-panel[hidden]{display:none!important}
    @media (max-width:640px){
      .cust-order-head{gap:6px 8px}
      .cust-chat-preview-link{width:100%;text-align:right}
      #customer-portal.cust-order-chat-mode #cust-form-panel,
      #customer-portal.cust-order-chat-mode #cust-form-checklist{display:none!important}
      #customer-portal.cust-order-chat-mode #cust-portal-sub,
      #customer-portal.cust-order-chat-mode #cust-armada-source-banner{display:none}
      #customer-portal.cust-order-chat-mode #cust-portal-scroll{
        overflow:hidden;flex:1;min-height:0;padding:0;
      }
      #customer-portal.cust-order-chat-mode #cust-tab-new{
        flex:1;min-height:0;display:flex;flex-direction:column;min-width:0;
      }
      #customer-portal.cust-order-chat-mode #cust-order-form{
        flex:1;min-height:0;display:flex;flex-direction:column;padding:0;border-bottom:0;min-width:0;
      }
      #customer-portal.cust-order-chat-mode .cust-order-head{
        flex-shrink:0;padding:8px 10px 4px;margin:0;border-bottom:1px solid var(--border,#e2e8e4);
      }
      #customer-portal.cust-order-chat-mode .cust-chat-shell{
        flex:1;min-height:0;height:auto;max-height:none;margin:0;border-radius:0;border:0;border-top:1px solid var(--border,#e2e8e4);
      }
      #customer-portal.cust-order-chat-mode .chat-progress,
      #customer-portal.cust-order-chat-mode .chat-step-hint{display:none}
      #customer-portal.cust-order-chat-mode .chat-thread{
        flex:1;min-height:0;padding:10px 10px 4px;background:#e8edea;
      }
      #customer-portal.cust-order-chat-mode .chat-action-tray{max-height:min(34vh,220px)}
      #customer-portal.cust-order-chat-mode .cust-chat-footer{
        padding-bottom:env(safe-area-inset-bottom,0);
      }
      #customer-portal.cust-order-chat-mode .chat-chips{padding-left:0}
      #customer-portal.cust-order-chat-mode .chat-widget{padding-left:0}
      #customer-portal.cust-order-chat-mode .chat-vtype-hint{padding-left:0}
      #customer-portal.cust-order-chat-mode .chat-history-chips{padding-left:0}
      #customer-portal.cust-order-chat-mode .chat-msg{max-width:100%}
      #customer-portal.cust-order-chat-mode .chat-chip{
        max-width:100%;white-space:normal;line-height:1.25;text-align:left;
      }
      #customer-portal.cust-order-chat-mode .chat-step-panel{
        padding:8px 0 4px;margin-left:0;margin-right:0;
      }
      #customer-portal.cust-order-chat-mode .chat-method-row{
        padding:11px 10px;font-size:.8rem;min-height:44px;
      }
    }
    .cust-form-main{flex:1;min-width:0}
    .cust-form-checklist{
      flex:0 0 232px;position:sticky;top:10px;
      padding:12px;border-radius:14px;border:1px solid var(--border);
      background:var(--surface,#fff);box-shadow:0 4px 16px rgba(15,23,42,.05);
    }
    .cust-checklist-items{display:flex;flex-direction:column;gap:6px}
    .cust-checklist-item{
      display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;
      border:1px solid transparent;border-radius:10px;background:transparent;
      text-align:left;cursor:pointer;color:inherit;font:inherit;
    }
    .cust-checklist-item:hover{background:var(--surface2,#f4f6f5)}
    .cust-checklist-item.is-done{border-color:rgba(16,185,129,.22);background:rgba(16,185,129,.06)}
    .cust-checklist-item.is-partial{border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.06)}
    .cust-checklist-icon{
      flex:0 0 22px;width:22px;height:22px;border-radius:999px;border:2px solid var(--border);
      margin-top:1px;position:relative;background:var(--surface,#fff);
    }
    .cust-checklist-item.is-done .cust-checklist-icon{
      border-color:#10b981;background:#10b981;
    }
    .cust-checklist-item.is-done .cust-checklist-icon::after{
      content:'';position:absolute;left:6px;top:3px;width:5px;height:9px;
      border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
    }
    .cust-checklist-item.is-partial .cust-checklist-icon{border-color:#f59e0b;background:#fff7ed}
    .cust-checklist-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
    .cust-checklist-title{font-size:.78rem;font-weight:800;line-height:1.2}
    .cust-checklist-detail{font-size:.7rem;line-height:1.35;color:var(--muted);word-break:break-word}
    .cust-checklist-submit{width:100%;margin-top:12px}
    .cust-checklist-submit:disabled{opacity:.45;cursor:not-allowed}
    .cust-cargo-meta-row{margin-top:0}
    #cust-order-form .cust-cargo-meta-row{
      grid-template-columns:auto auto minmax(0,1fr);gap:8px 10px;align-items:end
    }
    #cust-order-form .cust-cargo-meta-row > div:first-child,
    #cust-order-form .cust-cargo-meta-row > div:nth-child(2){width:auto;max-width:5.5rem}
    #cust-order-form .cust-cargo-meta-row #cust-cargo-places,
    #cust-order-form .cust-cargo-meta-row #cust-cargo-volume{
      width:100%!important;max-width:4.5rem!important;min-width:0!important;flex:0 0 auto!important;
      text-align:center;padding:4px 6px!important
    }
    #cust-order-form .cust-cargo-dims-row,
    .cust-form-block-body .cust-cargo-dims-row{
      display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 5px;width:auto;max-width:100%;
      grid-template-columns:unset
    }
    .cust-cargo-dim-input,
    #cust-order-form .cust-cargo-dims-row input{
      width:3.5rem!important;max-width:4rem!important;min-width:0!important;flex:0 0 3.5rem!important;
      align-self:center!important;padding:4px 4px!important;text-align:center;font-size:16px;min-height:36px
    }
    .cust-dim-sep{font-size:.78rem;font-weight:600;color:var(--muted,#64748b);line-height:1;user-select:none}
    .cust-cargo-flags{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:2px 0 4px}
    .cust-cargo-temp-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:100%}
    .cust-cargo-temp-check{flex:0 1 auto}
    .cust-cargo-temp-range{display:inline-flex;align-items:center;gap:4px 5px;flex-wrap:nowrap;max-width:100%}
    .cust-cargo-temp-range[hidden]{display:none!important}
    .cust-temp-label{font-size:.72rem;font-weight:600;color:var(--muted,#64748b);white-space:nowrap;line-height:1}
    .cust-temp-unit{font-size:.78rem;font-weight:600;color:var(--muted,#64748b);white-space:nowrap;line-height:1;margin-left:1px}
    .cust-cargo-temp-input{
      width:3.25rem!important;max-width:3.25rem!important;min-width:0!important;flex:0 0 3.25rem!important;
      align-self:center!important;padding:4px 4px!important;text-align:center;font-size:16px;min-height:36px
    }
    #customer-portal .admin-form-shell{max-width:980px;flex:1;min-height:0;width:100%}
    #customer-portal #cust-portal-scroll:has(#cust-tab-orders:not([hidden])),
    #customer-portal #cust-portal-scroll:has(#cust-tab-docs:not([hidden])),
    #customer-portal #cust-portal-scroll:has(#cust-tab-calendar:not([hidden])){
      overflow-y:auto!important;-webkit-overflow-scrolling:touch;
      padding:10px 12px calc(14px + env(safe-area-inset-bottom,0));
    }
    #customer-portal .phone.wide,#customer-portal.phone.wide{max-width:100%}
    @media (min-width:640px){
      #customer-portal .cust-alert-check-lbl{font-size:0}
      #customer-portal .cust-alert-check-lbl::after{content:'Согл.';font-size:.66rem}
    }
    .cust-form-block{
      border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);overflow:hidden;
    }
    .cust-form-block-head{
      padding:10px 14px;font-size:.82rem;font-weight:800;color:var(--text,#1a1f1c);
      background:var(--surface2,#f4f6f5);border-bottom:1px solid var(--border);
    }
    .cust-form-block-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}
    .cust-form-block-body-flush{padding:0}
    .cust-form-block-body-flush .cust-vtype-panel{margin:0}
    .cust-vtype-panel{margin:4px 0 10px}
    .cust-vtype-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .cust-vtype-col{
      border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);
      display:flex;flex-direction:column;min-height:200px;max-height:280px;overflow:hidden;
    }
    .cust-vtype-cols > .cust-vtype-col:first-child{max-height:320px}
    .cust-vtype-col-head{
      display:flex;align-items:center;justify-content:space-between;gap:6px;
      padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface2,#f8faf9);
      flex:0 0 auto;
    }
    .cust-vtype-col-title{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
    .cust-vtype-col-title .req{color:var(--accent)}
    .cust-vtype-search-wrap{padding:6px 8px 4px;border-bottom:1px solid var(--border)}
    .cust-vtype-search-wrap.cust-vtype-search-collapsed{padding:4px 8px 2px;border-bottom:0}
    .cust-vtype-search-toggle{
      display:block;width:100%;border:0;background:transparent;padding:4px 0;font-size:.72rem;font-weight:600;
      color:var(--muted);cursor:pointer;text-align:left;font-family:inherit
    }
    .cust-vtype-search-toggle:hover{color:var(--accent)}
    .cust-vtype-search-wrap:not(.cust-vtype-search-collapsed) .cust-vtype-search-toggle{display:none}
    .cust-vtype-search-wrap:not(.cust-vtype-search-collapsed) .cust-vtype-search{display:block!important}
    .cust-vtype-search{
      width:100%;box-sizing:border-box;padding:6px 8px;font-size:.82rem;border:1px solid var(--border);
      border-radius:6px;background:var(--bg);color:inherit
    }
    .cust-vtype-search:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
    .cust-vtype-extra-list{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}
    .cust-vtype-extra-list .cust-vtype-extra-head{font-size:.72rem;font-weight:600;color:var(--muted);padding:2px 0 6px;text-transform:uppercase;letter-spacing:.03em}
    .cust-vtype-item[hidden],.cust-vtype-master[hidden],.cust-vtype-tree[hidden],.cust-vtype-isotherm[hidden]{display:none!important}
    .cust-vtype-col.is-disabled{opacity:.55}
    .cust-vtype-col.is-disabled .cust-check-item,.cust-vtype-col.is-disabled .cust-vtype-match-all{color:var(--muted)}
    .cust-vtype-col-body{overflow-y:auto;padding:6px 8px 8px;flex:1;min-height:0}
    .cust-vtype-master{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;cursor:pointer;user-select:none;padding:2px 0 6px}
    .cust-vtype-master input{width:15px;height:15px;margin:0;accent-color:var(--accent);flex:0 0 auto}
    .cust-vtype-tree{padding-left:14px;border-left:2px solid var(--border);margin-left:4px}
    .cust-vtype-isotherm{
      display:flex;align-items:center;gap:8px;font-size:.78rem;padding:6px 8px;margin:6px 0 4px;
      border-radius:8px;border:1px solid transparent;cursor:pointer;user-select:none;
    }
    .cust-vtype-isotherm.is-highlight{
      background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.28);font-weight:600;
    }
    .cust-vtype-group-gap{margin-top:8px}
    .cust-vtype-item{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;line-height:1.35;cursor:pointer;user-select:none;padding:3px 0}
    .cust-vtype-item input{width:14px;height:14px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto}
    .cust-vtype-match-all{
      display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--muted);font-weight:600;
      padding:6px 10px;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;flex:0 0 auto;
    }
    .cust-vtype-match-all input{width:14px;height:14px;margin:0;accent-color:var(--accent)}
    .cust-check-grid{display:flex;flex-direction:column;gap:4px}
    .cust-check-item{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;line-height:1.35;cursor:pointer;user-select:none;padding:2px 0}
    .cust-check-item input{width:14px;height:14px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent)}
    .cust-date-cal .drv-cal{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface,#fff)}
    .cust-date-cal .drv-cal-meta .period{font-size:.72rem}
    .cust-date-cal .drv-cal-grid button.past{opacity:.35;cursor:not-allowed}
    @media (min-width:700px){
      .metric-strip{grid-template-columns:repeat(4,1fr)}
      .logo{width:100px}
      .brand{font-size:1.75rem}
      .admin-form-scroll{padding:16px 20px 24px}
      .admin-cards{padding:12px 16px 24px;gap:10px}
      .fin-grid{grid-template-columns:1fr 1fr 1fr}
      .fin-grid .fin-full{grid-column:1 / -1}
      .cat-tabs button{font-size:.78rem;padding:9px 8px}
      .dense-row .name{font-size:.95rem}
      .cat-list.two-col{display:grid;grid-template-columns:1fr 1fr;gap:6px}
      header{padding:10px 14px}
      header h1{font-size:1.05rem}
      .filters button{font-size:.85rem;padding:8px 12px}
      .card h3,.swipe-front h3{font-size:1rem}
      .card p,.swipe-front p{font-size:.85rem}
    }
    @media (min-width:1000px){
      .phone.wide{max-width:1200px}
      .admin-form-shell{max-width:800px}
    }
  
    .brand{color:var(--text);letter-spacing:.08em}
    .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 10px 0}
    .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow-sm)}
    .stat-card .lbl{display:block;font-size:.68rem;font-weight:500;color:var(--muted);margin-bottom:2px}
    .stat-card .val{display:block;font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.2}
    .orders-board-head .board-metrics{margin:8px 0 2px}
    .filters{background:var(--surface);border-bottom:1px solid var(--border);gap:6px;padding:8px 10px}
    .filters button{background:var(--field);border:1px solid var(--border);color:var(--text);font-weight:600}
    .filters button.on{background:var(--accent);border-color:var(--accent);color:#fff}
    .admin-filter-inbox{position:relative;padding-right:10px}
    .admin-filter-inbox.has-unread{padding-right:22px}
    .admin-filter-etrn{position:relative;padding-right:10px}
    .admin-filter-etrn.has-unread{padding-right:22px}
    .admin-filter-badge{
      position:absolute;top:2px;right:4px;min-width:18px;height:18px;padding:0 5px;
      border-radius:999px;background:#dc2626;color:#fff;font-size:.62rem;font-weight:800;line-height:18px;text-align:center;
      box-shadow:0 0 0 2px var(--surface,#fff)
    }
    .filters button.on .admin-filter-badge{box-shadow:0 0 0 2px var(--accent)}
    .admin-top-notify{
      border:1px solid var(--border);border-radius:var(--radius);background:var(--field);
      width:40px;height:40px;padding:0;font-size:1rem;cursor:pointer;flex:0 0 auto
    }
    .admin-top-notify.on{background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.35)}
    .admin-inbox-banner{cursor:pointer}
    .admin-inbox-banner strong{color:var(--accent)}
    button.secondary{border:1px solid var(--border)}
    .swipe-front{background:var(--surface);border:1px solid var(--border)}
    .item-card{background:var(--surface);border:1px solid var(--border)}
    .drv-card{background:var(--surface);border:1px solid var(--border)}
    .drv-list-card{padding:10px 12px}
    .drv-list-open{
      display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;
      text-align:left;cursor:pointer;border-radius:var(--radius)
    }
    .drv-list-open:hover{background:rgba(239,68,68,.06)}
    .drv-list-open .item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
    .drv-docs-badge{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;flex:0 0 auto}
    .drv-docs-badge.ok{background:rgba(34,197,94,.15);color:#16A34A}
    .drv-docs-badge.warn{background:rgba(217,119,6,.15);color:#D97706}
    .drv-card-warn{
      margin:0 0 10px;padding:10px 12px;border-radius:var(--radius);
      background:rgba(217,119,6,.08);border:1px solid rgba(217,119,6,.35);font-size:.78rem
    }
    .drv-card-warn ul{margin:6px 0 0;padding-left:1.1rem;line-height:1.35}
    .drv-card-photo-box{margin-top:6px}
    #driver-card-actions .primary{min-height:46px;font-size:.92rem;font-weight:700}
    #driver-card-actions .secondary{min-height:40px}
    #driver-card-actions .danger-text{color:#DC2626}
    #drv-card-ok{margin:0 0 4px}
    .drv-docs{margin:0 0 4px;padding:0 4px}
    .drv-docs summary{cursor:pointer;font-size:.72rem;font-weight:700;color:var(--accent);padding:4px 2px}
    .drv-docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin:4px 0 8px}
    .drv-docs-grid input{width:100%;padding:6px 8px;min-height:30px;font-size:.72rem;border-radius:var(--pill);border:0;background:var(--field);color:var(--text)}
    .drv-docs-grid input.drv-docs-span2{grid-column:1/-1}
    .drv-docs-hint{margin:0 0 6px;font-size:.65rem}
    .drv-docs-miss{color:#D97706;font-weight:600}
    .vc-crew-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}
    .vc-crew-item{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;padding:6px 8px;border-radius:var(--pill);background:var(--field)}
    .vc-crew-item input{flex:0 0 auto}
    .vc-crew-item span{min-width:0;line-height:1.25}
    .drv-doc-photos{display:grid;grid-template-columns:1fr;gap:6px;margin:6px 0 4px}
    .doc-photo-row{display:flex;flex-direction:column;gap:4px;font-size:.68rem;color:var(--muted);font-weight:600}
    .doc-photo-row__box{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
    .doc-photo-row input[type=file]{font-size:.65rem;max-width:100%}
    .doc-sign-marks{position:relative;height:58px;width:180px;margin-left:auto}
    .doc-sign-marks--scan{height:80px;width:200px}
    .doc-sign-stamp{position:absolute;right:0;bottom:0;width:72px;height:72px;object-fit:contain}
    .doc-sign-signature{position:absolute;right:48px;bottom:8px;max-width:100px;max-height:36px;object-fit:contain}
    .doc-sign-line{border-top:1px solid #111;margin-top:12px}
    .doc-photo-clear{min-width:28px;min-height:28px;padding:0!important;line-height:1}
    .doc-photo-gallery,#cabinet-panel .doc-photo-gallery-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
    .order-drv-docs-files{margin-top:4px}
    .cust-drv-confirm{margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
    .cust-drv-confirm__title{margin:0 0 4px;font-size:.88rem;font-weight:700}
    .cust-drv-confirm__hint{margin:0 0 8px}
    .cust-drv-confirm__text .metric-strip{margin:0}
    .cust-drv-confirm__files{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
    .cust-drv-confirm__files-label{font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:6px}
    .doc-photo-thumb{
      display:block;border-radius:8px;overflow:hidden;border:1px solid var(--border);
      background:var(--surface);padding:0;cursor:pointer;line-height:0
    }
    .doc-photo-thumb img{display:block;height:56px;width:auto;max-width:96px;object-fit:cover}
    #cabinet-panel .doc-photo-thumb img{height:72px;max-width:120px}
    .doc-photo-overlay{
      display:none;position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.82);
      align-items:center;justify-content:center;padding:16px;box-sizing:border-box
    }
    .doc-photo-overlay.show{display:flex}
    body.doc-photo-open{overflow:hidden}
    .doc-photo-overlay__panel{
      width:min(920px,100%);max-height:min(92vh,100%);display:flex;flex-direction:column;
      background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);
      box-shadow:var(--shadow-lg,0 12px 40px rgba(0,0,0,.35));overflow:hidden
    }
    .doc-photo-overlay__head{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:10px 12px;border-bottom:1px solid var(--border);font-weight:700;font-size:.88rem
    }
    .doc-photo-overlay__body{
      overflow:auto;padding:12px;display:flex;align-items:center;justify-content:center;
      background:#111827
    }
    .doc-photo-overlay__body img{
      display:block;max-width:100%;max-height:calc(92vh - 72px);width:auto;height:auto;object-fit:contain
    }
    .calc{background:var(--bg0);border:1px solid var(--border)}
    /* Админка: боковое меню + основная зона */
    #admin{background:var(--bg0)}
    .admin-layout{flex:1;min-height:0;display:flex;position:relative;background:linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 40%)}
    .admin-sidebar{
      width:220px;flex:0 0 220px;display:flex;flex-direction:column;gap:4px;
      background:var(--surface);border-right:1px solid var(--border);padding:14px 12px 12px;
      z-index:12
    }
    .admin-sidebar-brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.06em;font-size:.95rem;padding:2px 6px 12px;color:var(--text)}
    .admin-sidebar-logo{border-radius:8px;object-fit:cover}
    .admin-sidebar-user{padding:0 6px 12px;font-size:.75rem;color:var(--muted);line-height:1.35;border-bottom:1px solid var(--border);margin-bottom:8px;min-height:2.4em}
    .admin-sidebar-cabinet{padding:0 6px 10px;margin-bottom:8px;border-bottom:1px solid var(--border)}
    .admin-sidebar-cabinet-label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;color:var(--muted)}
    .admin-sidebar-cabinet-label select{
      width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;
      background:#fff;color:var(--text);font-size:.82rem;min-height:40px;font-family:inherit
    }
    .admin-sidebar-cabinet-hint{margin:6px 0 0;font-size:.68rem;color:var(--muted);line-height:1.3}
    .admin-sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow:auto}
    .admin-sidebar-foot{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--border);margin-top:8px}
    .admin-nav-item{
      width:100%;border:0;border-radius:var(--radius);padding:10px 12px;min-height:40px;
      background:transparent;color:var(--text);font-weight:600;font-size:.86rem;text-align:left;cursor:pointer
    }
    .admin-nav-item:hover{background:var(--surface-hover)}
    .admin-nav-item.on{background:rgba(239,68,68,.1);color:var(--accent)}
    .admin-nav-item.ghost{color:var(--muted);font-weight:500}
    .admin-nav-item.ghost:hover{color:var(--text)}
    .admin-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:transparent}
    .admin-topbar{
      display:flex;align-items:center;gap:8px;padding:10px 14px;min-height:56px;
      background:var(--surface);border-bottom:1px solid var(--border)
    }
    .admin-topbar h1{margin:0;flex:1;min-width:0;font-size:1rem;font-weight:700}
    .admin-topbar h1.with-park-ex{
      position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)
    }
    .park-ex-switch{
      display:flex;flex:1;min-width:0;max-width:260px;gap:3px;padding:3px;
      background:var(--field);border:1px solid var(--border);border-radius:var(--pill)
    }
    .park-ex-switch button{
      flex:1;border:0;border-radius:calc(var(--pill) - 2px);padding:8px 10px;min-height:36px;
      background:transparent;color:var(--text);font-weight:700;font-size:.85rem;cursor:pointer
    }
    .park-ex-switch button.on{background:var(--accent);color:#fff}
    .park-ex-switch button:disabled{opacity:.4;cursor:not-allowed}
    .create-exec-switch{max-width:none;width:100%;margin:0 0 6px}
    .create-exec-label{display:block;font-size:.75rem;color:var(--muted);margin:0 0 4px}
    button.text-link{
      border:0;background:transparent;color:var(--accent);font-weight:600;font-size:.8rem;
      padding:0;min-height:auto;width:auto;cursor:pointer;text-decoration:underline
    }
    button.text-link.on-link{color:var(--text);text-decoration:none}
    .admin-menu-toggle{
      display:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--field);
      color:var(--text);width:40px;height:40px;padding:0;font-size:1.1rem;cursor:pointer;flex:0 0 auto
    }
    .admin-top-cta{
      width:auto!important;border:0;border-radius:var(--radius);padding:8px 14px;min-height:40px;
      background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;flex:0 0 auto
    }
    .park-ex-cta{display:flex;flex-direction:row;gap:6px;margin-top:10px}
    .park-ex-cta button{flex:1;width:auto!important}
    .admin-content{flex:1;min-height:0;overflow:auto}
    .admin-sidebar-backdrop{display:none;border:0;padding:0;margin:0;width:auto;background:transparent}
    @media (max-width:799px){
      .admin-sidebar{
        position:absolute;inset:0 auto 0 0;width:min(280px,86vw);flex:none;
        transform:translateX(-104%);transition:transform .2s ease;box-shadow:var(--shadow-md)
      }
      .admin-sidebar.open{transform:translateX(0)}
      .admin-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
      .admin-topbar .park-ex-switch{max-width:none}
      .admin-sidebar-backdrop{
        display:none;position:absolute;inset:0;background:rgba(17,24,39,.35);z-index:11;cursor:pointer
      }
      .admin-sidebar-backdrop.show{display:block}
    }
    @media (min-width:800px){
      .phone.wide{max-width:min(1280px,100%)}
      .admin-sidebar{position:relative;transform:none!important}
      .admin-sidebar-backdrop,.admin-sidebar-backdrop.show{display:none!important}
    }
    .admin-form-actions{background:var(--surface)}
    .cat-sticky{background:var(--surface);border-bottom:1px solid var(--border)}
    /* Визуальные nits темы 1 */
    ::selection{background:rgba(239,68,68,.18);color:var(--ink)}
    input:focus,select:focus,textarea:focus{
      border-color:rgba(239,68,68,.55)!important;
      box-shadow:0 0 0 3px rgba(239,68,68,.12);
      outline:0
    }
    button:focus-visible,.admin-nav-item:focus-visible,.driver-nav button:focus-visible,.form-back:focus-visible{
      outline:2px solid rgba(239,68,68,.55);outline-offset:2px
    }
    #splash,#roles,#driver-login,#admin-pin{
      background:
        radial-gradient(ellipse at 50% 0%, rgba(239,68,68,.07), transparent 55%),
        radial-gradient(ellipse at 80% 100%, rgba(30,90,168,.05), transparent 45%),
        linear-gradient(180deg,#F3F4F6 0%,var(--bg0) 55%)
    }
    #roles.show{
      overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain
    }
    .phone:has(#roles.show){overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
    #roles.show .center.roles-hub{
      flex:0 0 auto;width:100%;
      justify-content:flex-start;padding-top:16px;
      padding-bottom:calc(32px + env(safe-area-inset-bottom,0));min-height:min-content
    }
    @media(min-width:900px){
      .phone:has(#roles.show){
        max-width:min(1120px,96vw);
        height:auto;min-height:100dvh;max-height:none;
        overflow-x:hidden;overflow-y:auto
      }
      #roles.show .center.roles-hub{
        justify-content:center;max-width:1080px;padding:28px 24px calc(40px + env(safe-area-inset-bottom,0));gap:20px
      }
      .roles-hub-head .logo{width:72px}
      .roles-hub-title{font-size:clamp(1.45rem,2.2vw,1.85rem)}
      .roles-hub-lead{max-width:520px;font-size:1rem}
      .role-hub-stack{
        display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;align-items:stretch
      }
      .role-hub-card{
        flex-direction:column;align-items:stretch;gap:12px;
        padding:22px 20px 20px;min-height:300px;border-radius:18px
      }
      .role-hub-card::before{
        left:0;right:0;top:0;bottom:auto;width:auto;height:5px;border-radius:18px 18px 0 0
      }
      .role-hub-icon{
        flex:0 0 auto;width:56px;height:56px;font-size:1.65rem;border-radius:14px
      }
      .role-hub-name{font-size:1.08rem}
      .role-hub-teaser{font-size:.88rem;flex:1}
      .role-hub-cta{margin-top:auto;padding-top:10px;font-size:.88rem}
      .role-hub-login{max-width:640px;margin-left:auto;margin-right:auto;width:100%}
    }
    .auth-back{
      border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer;
      padding:6px 0;min-height:36px;font-size:.85rem;font-family:inherit
    }
    .auth-panel{width:100%;max-width:340px;display:flex;flex-direction:column;gap:8px;text-align:left}
    .auth-panel .logo{width:64px;align-self:flex-start;margin:2px 0 4px}
    .auth-panel h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}
    .auth-panel .sub{text-align:left}
    .auth-panel label{display:block;text-align:left;color:var(--muted);font-size:.8rem;margin:0}
    .auth-panel label+input,.auth-panel label+select{margin-top:2px}
    .auth-panel button.primary:disabled{opacity:.55;cursor:not-allowed}
    .auth-panel button.primary:not(:disabled){opacity:1;cursor:pointer}
    .auth-panel select,.auth-panel input{
      width:100%;border:1px solid var(--border);border-radius:var(--radius);
      padding:10px 12px;background:#fff;color:var(--text);font-size:16px;min-height:var(--touch);font-family:inherit
    }
    .nums button.on,.yesno button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
    .exchange-mark{border-color:rgba(239,68,68,.45)!important}
    .schedule-box{margin-top:8px;padding:8px 10px;border:1px solid rgba(239,68,68,.28);border-radius:var(--radius);color:var(--text);font-size:var(--fs-sm);line-height:1.35}
    .schedule-box strong{color:var(--accent)}
    /* Мобильная полировка */
    @media (max-width:699px){
      /* кнопки таббара 56px → clearance больше, иначе низ чата/панелей под меню */
      :root{ --touch:44px; --fs:15px; --fs-sm:12.5px; --ctrl-pad:10px 12px; --driver-tab-clear:70px; }
      .phone,.phone.wide{max-width:100%}
      .filters,#admin-owner-filters{
        flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
        overscroll-behavior-x:contain
      }
      .filters::-webkit-scrollbar,#admin-owner-filters::-webkit-scrollbar{display:none}
      .filters button,#admin-owner-filters button{flex:0 0 auto;min-height:40px;padding:8px 14px;font-size:.8rem}
      .stat-row{gap:6px;padding:8px 8px 0}
      .stat-card{padding:8px 8px}
      .stat-card .lbl{font-size:.62rem}
      .stat-card .val{font-size:.9rem}
      .admin-cards{padding:8px 8px 18px;gap:8px}
      .admin-desktop-only{display:none!important}
      .driver-nav button,.driver-tabbar button{min-height:56px;font-size:.74rem}
      .driver-shift-chip{max-width:36%;font-size:.62rem;padding:6px 7px}
      .driver-banner{margin:8px 8px 0}
      #chat{padding:10px 10px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
      .admin-content,.admin-form-scroll,.panel-body,.table-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
      .form-meta{display:none}
      .metric-strip{grid-template-columns:repeat(2,1fr)}
      .form-pair{grid-template-columns:1fr}
      .cust-vtype-cols{grid-template-columns:1fr}
      .cust-vtype-col{max-height:200px}
      .cust-form-layout{flex-direction:column;gap:10px}
      .cust-form-checklist{
        position:static;flex:none;width:100%;padding:10px;
      }
      .cust-checklist-items{
        flex-direction:row;gap:8px;overflow-x:auto;padding-bottom:2px;
        scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
      }
      .cust-checklist-item{
        flex:0 0 148px;scroll-snap-align:start;padding:8px;
      }
      .cust-checklist-detail{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
      .cust-checklist-submit{display:none}
      #customer-portal .form-topbar{
        padding:8px 10px;gap:6px;min-height:48px;align-items:center;
      }
      #customer-portal .form-topbar h1{
        font-size:.88rem;line-height:1.2;flex:1 1 100%;order:2;min-width:0;
      }
      #customer-portal .form-back{order:1;font-size:.8rem;padding:4px 2px;min-height:32px}
      #customer-portal #cust-notify-toggle{
        order:3;margin-left:auto!important;font-size:.68rem!important;white-space:nowrap;
      }
      #customer-portal .form-topbar > a.hint{display:none}
      #customer-portal .cust-portal-tabs{padding:6px 10px}
      #customer-portal .cust-portal-tabs button{
        font-size:.72rem;padding:6px 10px;min-height:34px;
      }
      #customer-portal .admin-form-scroll{padding:10px 12px calc(14px + env(safe-area-inset-bottom,0))}
      #customer-portal .cust-form-block-head{font-size:.78rem;padding:8px 12px}
      #customer-portal .cust-form-block-body{padding:10px 12px 12px}
      #customer-portal .cust-order-head{align-items:flex-start}
      #customer-portal .cust-chat-preview-link{display:none}
      #customer-portal .form-triple{grid-template-columns:1fr}
      #customer-portal #cust-order-form .cust-cargo-meta-row{
        grid-template-columns:1fr 1fr!important;gap:8px;
      }
      #customer-portal #cust-order-form .cust-cargo-meta-row > div:last-child{grid-column:1 / -1}
      #customer-portal .cust-alert-row{
        grid-template-columns:8px minmax(0,1fr);
        align-items:start;padding:8px 10px;
      }
      #customer-portal .cust-alert-row-actions{
        grid-column:2;justify-content:flex-start;margin-top:4px;
      }
      #customer-portal #cust-contract-preview{display:none}
      .center{padding:16px 14px calc(16px + env(safe-area-inset-bottom,0))}
      .pin,.stack{max-width:100%}
      button.primary:active,button.secondary:active,.nums button:active,.yesno button:active,
      .admin-nav-item:active,.driver-nav button:active,.driver-tabbar button:active{transform:scale(.985)}
    }
    @media (max-width:380px){
      .driver-who h1{font-size:.92rem}
      .admin-top-cta{padding:8px 10px;font-size:.78rem}
      .park-ex-switch{max-width:none;font-size:.8rem}
      .park-ex-switch button{padding:8px 8px;font-size:.8rem}
      .stat-row{grid-template-columns:1fr 1fr 1fr;gap:4px}
    }
    @media (prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    }
    /* Онбординг: welcome + product tour */
    body.onboard-active{overflow:hidden}
    .onboard-overlay{
      position:fixed;inset:0;z-index:10000;background:rgba(17,24,39,.45);pointer-events:none
    }
    .onboard-highlight{
      position:relative;z-index:10001!important;
      box-shadow:0 0 0 3px rgba(239,68,68,.55),0 0 0 9999px rgba(17,24,39,.72);
      border-radius:var(--radius)
    }
    .onboard-tooltip{
      position:fixed;z-index:10002;background:var(--surface);border:1px solid var(--border);
      border-radius:12px;padding:14px 16px;box-shadow:0 12px 40px rgba(17,24,39,.18);
      pointer-events:auto
    }
    .onboard-tooltip.centered{
      left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(380px,calc(100vw - 24px))
    }
    .onboard-meta{font-size:.72rem;color:var(--muted);margin-bottom:4px}
    .onboard-title{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:var(--text)}
    .onboard-body,.onboard-welcome-body{font-size:.88rem;line-height:1.45;color:var(--text)}
    .onboard-body p,.onboard-welcome-body p{margin:0 0 8px}
    .onboard-body p:last-child,.onboard-welcome-body p:last-child{margin-bottom:0}
    .onboard-body a{color:var(--accent);font-weight:600}
    .onboard-actions{
      display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;flex-wrap:wrap
    }
    .onboard-nav{display:flex;gap:8px;flex-wrap:wrap}
    .onboard-skip,.onboard-welcome-skip{
      border:0;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;
      cursor:pointer;padding:6px 4px;font-family:inherit
    }
    .onboard-prev,.onboard-next,.onboard-welcome-prev,.onboard-welcome-next{
      min-height:40px;padding:8px 14px;font-size:.85rem
    }
    .onboard-welcome{
      position:fixed;inset:0;z-index:10003;background:rgba(17,24,39,.55);
      display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto
    }
    .onboard-welcome-card{
      background:var(--surface);border-radius:16px;padding:20px 18px 16px;max-width:400px;width:100%;
      box-shadow:0 16px 48px rgba(17,24,39,.22);border:1px solid var(--border)
    }
    .onboard-welcome-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:700;font-size:1rem}
    .onboard-welcome-brand img{border-radius:10px}
    .onboard-welcome-card h2{margin:0 0 10px;font-size:1.15rem}
    .onboard-welcome-dots{display:flex;gap:6px;margin:12px 0 4px}
    .onboard-welcome-dots span{
      width:8px;height:8px;border-radius:50%;background:var(--border);display:block
    }
    .onboard-welcome-dots span.on{background:var(--accent)}
    .onboard-welcome-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
    .onboard-welcome-foot{margin:12px 0 0;text-align:center;font-size:.75rem}
    .onboard-welcome-foot a{color:var(--accent)}

    /* Планы (супер-админ) */
    #admin-plans-screen .admin-form-shell{max-width:920px}
    .admin-plans-shell .plans-hint{margin:0 14px 8px}
    .plans-layout{display:flex;flex-direction:column;min-height:0;flex:1}
    .plans-nav{
      display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px;
      border-bottom:1px solid var(--border);background:var(--surface)
    }
    .plans-nav-item{
      border:1px solid var(--border);border-radius:10px;padding:8px 12px;
      background:var(--field);cursor:pointer;text-align:left;font-family:inherit;
      min-width:0;flex:1 1 calc(50% - 6px);max-width:100%
    }
    .plans-nav-item.on{background:rgba(239,68,68,.1);border-color:var(--accent);color:var(--accent)}
    .plans-nav-title{display:block;font-weight:700;font-size:.82rem}
    .plans-nav-short{display:block;font-size:.68rem;color:var(--muted);margin-top:2px}
    .plans-nav-item.on .plans-nav-short{color:inherit;opacity:.85}
    .plans-scroll{flex:1;padding-top:4px}
    .plan-article{padding:4px 2px 24px;font-size:.9rem;line-height:1.55}
    .plan-article .plan-h1{font-size:1.25rem;margin:0 0 12px}
    .plan-article .plan-h2{font-size:1.05rem;margin:18px 0 8px}
    .plan-article .plan-h3{font-size:.95rem;margin:14px 0 6px}
    .plan-article p{margin:8px 0}
    .plan-article .plan-list{margin:8px 0;padding-left:1.25rem}
    .plan-article .plan-list li{margin:6px 0}
    .plan-article .plan-hr{border:0;border-top:1px solid var(--border);margin:16px 0}
    .plan-article code{
      font-size:.82em;background:var(--field);padding:1px 5px;border-radius:4px;border:1px solid var(--border)
    }
    .plan-article .plan-code{
      background:#1e293b;color:#e2e8f0;padding:12px;border-radius:8px;overflow:auto;font-size:.78rem
    }
    .plan-article .plan-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:10px 0}
    .plan-article .plan-table th,.plan-article .plan-table td{
      text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top
    }
    .plan-article .plan-table th{color:var(--muted);font-weight:600;font-size:.75rem}
    .plan-article a{color:var(--accent);font-weight:600}
    @media (min-width:720px){
      .plans-layout{flex-direction:row;align-items:stretch}
      .plans-nav{
        flex:0 0 200px;flex-direction:column;border-bottom:0;border-right:1px solid var(--border);
        padding:8px 10px 14px;max-height:none;overflow:auto
      }
      .plans-nav-item{flex:0 0 auto;max-width:none;width:100%}
      .plans-scroll{flex:1;min-width:0}
    }

    /* Профиль администратора */
    #admin-profile-screen .admin-form-shell{max-width:640px}
    .admin-profile-card{padding:4px 0 24px}
    .admin-profile-card h2{margin:0 0 8px;font-size:1.15rem}
    .admin-profile-alert{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:rgba(255,180,0,.12);border:1px solid rgba(255,180,0,.35);font-size:var(--fs-sm);line-height:1.4}
    .admin-profile-fields{display:grid;gap:8px;margin:0 0 8px}
    .admin-profile-fields label{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
    .admin-profile-fields input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--field);font:inherit}
    .admin-profile-fields .primary{margin-top:4px;width:100%}
    .admin-profile-fields .err{color:var(--danger,#c0392b)}
    .admin-profile-grid{display:grid;gap:16px;margin:16px 0}
    .admin-profile-preview{margin-top:20px;padding:14px;border:1px dashed var(--border);border-radius:10px;background:var(--field)}
    .admin-profile-sample{position:relative;height:88px;margin-top:8px}
    .admin-profile-sample .doc-sign-marks{height:80px;width:200px;margin-left:auto}
    .admin-profile-sample .doc-sign-marks--scan .doc-sign-stamp{width:72px;height:72px;object-fit:contain;opacity:.9;mix-blend-mode:multiply;filter:contrast(1.06) saturate(.92);transform:rotate(-7deg)}
    .admin-profile-sample .doc-sign-marks--scan .doc-sign-signature{width:88px;max-height:32px;object-fit:contain;mix-blend-mode:multiply;opacity:.93;right:56px;bottom:8px}

    /* Документы (админ) */
    #admin-docs-screen .admin-form-shell{max-width:920px}
    .adm-docs-scroll{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
    .adm-docs-tabs{
      display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px 10px;
      border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:2
    }
    .adm-docs-tab{
      border:1px solid var(--border);border-radius:999px;padding:8px 14px;
      background:var(--field);font-weight:600;font-size:.8rem;cursor:pointer;font-family:inherit
    }
    .adm-docs-tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
    .adm-docs-panel{display:none;padding:12px 14px 24px}
    .adm-docs-panel.on{display:block}
    .adm-docs-toolbar{
      display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px
    }
    .adm-docs-toolbar input,.adm-docs-toolbar select{
      flex:1;min-width:140px;padding:9px 12px;border-radius:8px;border:1px solid var(--border);font:inherit
    }
    .adm-doc-card{
      background:var(--surface);border:1px solid var(--border);border-radius:12px;
      padding:14px 16px;margin-bottom:10px;display:grid;gap:8px
    }
    @media (min-width:640px){
      .adm-doc-card{grid-template-columns:1fr auto;align-items:center}
    }
    .adm-doc-card h3{margin:0;font-size:.95rem}
    .adm-doc-badge{
      display:inline-block;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px;
      background:rgba(30,90,168,.12);color:#1e5aa8;margin-right:6px
    }
    .adm-doc-actions{display:flex;gap:6px;flex-wrap:wrap}
    .adm-doc-actions--stack{flex-direction:column;align-items:stretch;min-width:108px}
    .adm-doc-actions--stack button,.adm-doc-actions--stack a.secondary{width:100%;text-align:center}
    .adm-doc-actions button,.adm-doc-actions a.secondary{width:auto;flex:0 0 auto;padding:8px 12px;font-size:.78rem}
    .adm-docs-subtitle{margin:18px 0 10px;font-size:.9rem;font-weight:700;color:var(--text)}
    .adm-order-group{
      background:var(--surface);border:1px solid var(--border);border-radius:12px;
      padding:12px 14px;margin-bottom:12px
    }
    .adm-order-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
    .adm-order-group h4{margin:0;font-size:.9rem}
    .adm-doc-role-tag{
      font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:999px;
      background:rgba(239,68,68,.1);color:var(--accent);white-space:nowrap
    }
    .adm-order-doc-line{
      display:flex;justify-content:space-between;align-items:center;gap:8px;
      padding:8px 0;border-top:1px solid var(--border);font-size:.85rem
    }
    .adm-order-doc-line:first-of-type{border-top:0}
    .adm-order-pack-row{margin-top:10px}
    .adm-order-pack-row button{width:auto;padding:8px 14px;font-size:.82rem}
    .adm-letter-page{max-width:180mm;margin:0 auto;padding:12mm 10mm;font-family:"Times New Roman",Times,serif;font-size:12pt;line-height:1.45}
    .adm-letterhead{
      display:grid;grid-template-columns:72px 1fr;gap:14px 16px;padding-bottom:10px;
      border-bottom:2.5px solid #1e5aa8;margin-bottom:18px;font-family:Inter,Arial,sans-serif
    }
    .adm-letterhead__logo{width:68px;height:auto;border-radius:8px}
    .adm-letterhead__logo--ph{width:68px;height:68px;border-radius:8px;background:#e2e8f0;border:1px dashed #94a3b8}
    .adm-letterhead__name{font-size:15pt;font-weight:700;color:#1e5aa8;margin:0 0 4px}
    .adm-letterhead__req,.adm-letterhead__contacts{font-size:8.5pt;color:#475569;margin:0;line-height:1.35}

    /* Конструктор шаблонов */
    #admin-docs-screen .adm-docs-panel#adm-docs-panel-constructor{padding:0}
    .adm-tpl-layout{display:flex;flex-direction:column;gap:0;min-height:0}
    .adm-tpl-side{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
    .adm-tpl-side-title{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
    .adm-tpl-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
    .adm-tpl-item{
      border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--field);
      cursor:pointer;text-align:left;font-family:inherit;width:100%
    }
    .adm-tpl-item.on{border-color:var(--accent);background:rgba(239,68,68,.08)}
    .adm-tpl-item-title{display:block;font-weight:700;font-size:.82rem}
    .adm-tpl-item-hint{display:block;font-size:.68rem;color:var(--muted);margin-top:2px}
    .adm-tpl-vars{display:flex;flex-direction:column;gap:8px}
    .adm-tpl-vars-intro{margin:0 0 4px;font-size:.72rem;line-height:1.4;color:var(--muted)}
    .adm-tpl-var-group{border:1px solid var(--border);border-radius:10px;background:var(--field);overflow:hidden}
    .adm-tpl-var-group-title{
      padding:8px 10px;font-size:.72rem;font-weight:700;cursor:pointer;list-style:none;
      color:var(--text);background:rgba(0,0,0,.02)
    }
    .adm-tpl-var-group-title::-webkit-details-marker{display:none}
    .adm-tpl-var-list{list-style:none;margin:0;padding:0 6px 6px}
    .adm-tpl-var-row{
      display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;
      border:1px solid transparent;border-radius:8px;padding:6px 8px;background:#fff;
      cursor:pointer;text-align:left;font-family:inherit
    }
    .adm-tpl-var-row:hover{border-color:var(--accent);background:rgba(239,68,68,.04)}
    .adm-tpl-var-label{font-size:.78rem;font-weight:600;color:var(--text)}
    .adm-tpl-var-hint{font-size:.68rem;line-height:1.35;color:var(--muted)}
    .adm-tpl-var-key{font-size:.62rem;font-family:ui-monospace,monospace;color:#64748b;background:#f1f5f9;padding:1px 5px;border-radius:4px}
    .adm-tpl-var{
      border:1px dashed var(--border);border-radius:999px;padding:4px 8px;background:#fff;
      font-size:.65rem;font-family:ui-monospace,monospace;cursor:pointer
    }
    .adm-tpl-order-hint{display:block;font-size:.68rem;color:var(--muted);font-weight:400;line-height:1.35;margin-bottom:2px}
    .adm-tpl-main{padding:12px 14px 24px;display:flex;flex-direction:column;gap:10px;min-width:0}
    .adm-tpl-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:space-between}
    .adm-tpl-order-lbl{font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:4px;flex:1;min-width:160px}
    .adm-tpl-order-lbl select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);font:inherit}
    .adm-tpl-actions{display:flex;gap:6px;flex-wrap:wrap}
    .adm-tpl-actions button{width:auto;padding:8px 12px;font-size:.78rem}
    .adm-tpl-editor{
      width:100%;min-height:160px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);
      font-family:ui-monospace,monospace;font-size:.78rem;line-height:1.45;resize:vertical
    }
    .adm-tpl-preview-title{margin:4px 0 0;font-size:.85rem}
    .adm-tpl-preview-wrap{
      background:#e8edf3;border-radius:12px;padding:12px;overflow:auto;max-height:min(420px,50vh)
    }
    .adm-tpl-preview .doc-subject{text-align:center;font-weight:700;margin:0 0 12px;font-size:12pt;font-family:"Times New Roman",Times,serif}
    .adm-tpl-preview .adm-tpl-body p{margin:0 0 8px;font-family:"Times New Roman",Times,serif;font-size:11pt;line-height:1.45;text-align:justify;text-indent:1.25cm}
    .adm-tpl-preview .adm-tpl-body p.doc-subject{text-indent:0}
    .adm-tpl-cat{font-family:Inter,sans-serif;font-size:9pt;color:#64748b;margin:0 0 10px}
    .adm-tpl-foot{margin-top:16px;padding-top:6px;border-top:1px solid #cbd5e1;font-size:8pt;color:#64748b;text-align:center;font-family:Inter,sans-serif}
    .adm-tpl-foot--service{margin-top:24px;color:#94a3b8}
    button.linkish{border:0;background:transparent;padding:0;color:var(--accent);font-weight:600;cursor:pointer;font:inherit;text-decoration:underline}
    @media (min-width:820px){
      .adm-tpl-layout{flex-direction:row;align-items:stretch}
      .adm-tpl-side{flex:0 0 300px;border-bottom:0;border-right:1px solid var(--border);overflow:auto;max-height:none}
      .adm-tpl-main{flex:1;min-width:0}
      .adm-tpl-preview-wrap{max-height:480px}
    }

    /* Standalone doc pages (help, legal, invite) — not app shell */
    html:has(body.doc-page),
    html.doc-page,
    body.doc-page{
      height:auto;min-height:100%;min-height:100dvh;
      overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;
      touch-action:pan-y
    }
