/*
 * Gestão Logística Plus — styles.css
 * Versão sistema-site-alinhado-v23-modular
 * Padrão: todo CSS do sistema fica neste arquivo. O app.html não carrega mais bloco <style> interno.
 */
:root{
      --bg:#030406;
      --sidebar:#05070a;
      --sidebar-collapsed:74px;
      --app-max:1800px;
      --card:#0a0d12;
      --card-2:#10141b;
      --glass:rgba(5,7,10,.84);
      --line:rgba(255,255,255,.07);
      --text:#f2f5fb;
      --muted:#8d99ad;
      --blue:#2563eb;
      --green:#22c55e;
      --orange:#f59e0b;
      --red:#ef4444;
      --purple:#7c3aed;
      --cyan:#0891b2;
      --gray:#6b7280;
      --radius:20px;
      --shadow:0 22px 60px rgba(0,0,0,.48);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    html,body{margin:0;padding:0}
    body{
      font-family:Inter,Segoe UI,Arial,sans-serif;
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 22%),
        radial-gradient(circle at top right, rgba(8,145,178,.08), transparent 18%),
        linear-gradient(180deg,#020304,#05070a 55%,#020304);
      color:var(--text);
      min-height:100vh;
      position:relative;
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      background:
        linear-gradient(rgba(2,4,6,.82), rgba(2,4,6,.88)),
        url('../../Foto armazém.jpg') center center / cover no-repeat;
      z-index:-2;
    }

    body::after{
      content:"";
      position:fixed;
      inset:0;
      background:
        radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 25%),
        radial-gradient(circle at bottom right, rgba(34,197,94,.10), transparent 20%);
      z-index:-1;
      pointer-events:none;
    }

    .hidden{display:none !important}

    .sidebar-backdrop{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.42);
      backdrop-filter:blur(2px);
      opacity:0;
      pointer-events:none;
      transition:.22s ease;
      z-index:260;
    }

    .topbar-menu-toggle{
      display:none;
      width:46px;
      height:46px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg,rgba(12,15,20,.98),rgba(9,11,15,.94));
      color:#fff;
      cursor:pointer;
      align-items:center;
      justify-content:center;
      font-size:20px;
      font-weight:900;
      flex-shrink:0;
    }


    ::-webkit-scrollbar{width:10px;height:10px}
    ::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
    ::-webkit-scrollbar-thumb{background:rgba(152,171,200,.30);border-radius:999px}
    ::-webkit-scrollbar-thumb:hover{background:rgba(152,171,200,.45)}

    @keyframes fadeUp{
      from{opacity:0;transform:translateY(10px)}
      to{opacity:1;transform:translateY(0)}
    }

    .topbar,
    .card,
    .kpi,
    .lane,
    .dock,
    .item,
    .modal-card,
    .report-hero-card,
    .section-hero-card,
    .login-box{
      animation:fadeUp .35s ease both;
    }

    .kpi,
    .card,
    .lane,
    .dock,
    .item,
    .modal-card,
    .report-hero-card,
    .section-hero-card,
    .section-mini,
    .report-mini,
    .modal-summary-card{
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }

    .kpi:hover,
    .card:hover,
    .dock:hover,
    .item:hover,
    .modal-card:hover,
    .report-hero-card:hover,
    .section-hero-card:hover,
    .section-mini:hover,
    .report-mini:hover,
    .modal-summary-card:hover{
      transform:translateY(-2px);
      box-shadow:0 20px 40px rgba(0,0,0,.20);
      border-color:rgba(255,255,255,.12);
    }

    .premium-shell{
      position:relative;
    }

    .focus-ring:focus{
      outline:none;
      box-shadow:0 0 0 4px rgba(59,130,246,.14);
      border-color:rgba(59,130,246,.55);
    }

    .sidebar-backdrop{
      position:fixed;
      inset:0;
      background:rgba(2,10,22,.58);
      backdrop-filter:blur(3px);
      z-index:80;
    }

    .mobile-menu-toggle{
      position:fixed;
      right:16px;
      top:16px;
      width:48px;
      height:48px;
      border:none;
      border-radius:16px;
      background:linear-gradient(135deg,#1d4ed8,#2563eb);
      color:#fff;
      font-size:20px;
      font-weight:900;
      box-shadow:0 18px 36px rgba(37,99,235,.28);
      z-index:95;
      cursor:pointer;
    }

    .human-text{
      color:#c9d8f4;
      line-height:1.75;
    }

    .section-hero-card p,
    .report-hero-card p,
    .title p,
    .brand-sub,
    .sidebar-note{
      color:#b8cae8;
    }

    .sidebar{
      z-index:90;
    }

    .menu button{
      min-height:46px;
    }

    .btn,
    .mini,
    .logout-btn,
    .menu button,
    .sidebar-toggle{
      position:relative;
      overflow:hidden;
    }

    .btn::after,
    .mini::after,
    .logout-btn::after,
    .sidebar-toggle::after,
    .menu button::before{
      pointer-events:none;
    }

    .btn:active,
    .mini:active,
    .logout-btn:active,
    .sidebar-toggle:active{
      transform:translateY(0) scale(.99);
    }

    .table-wrap{
      background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
    }

    .table-wrap th:first-child,
    .table-wrap td:first-child{
      padding-left:14px;
    }

    .table-wrap th:last-child,
    .table-wrap td:last-child{
      padding-right:14px;
    }

    .soft-glow{
      position:relative;
    }

    .soft-glow::after{
      content:"";
      position:absolute;
      inset:auto -60px -60px auto;
      width:150px;
      height:150px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(59,130,246,.10), transparent 70%);
      pointer-events:none;
    }

    .welcome-strip{
      margin-top:18px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:stretch;
      flex-wrap:wrap;
      padding:16px 18px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      background:
        radial-gradient(circle at top right, rgba(34,197,94,.08), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    }

    .welcome-main{
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:6px;
      min-width:260px;
      flex:1 1 320px;
    }

    .welcome-main strong{
      font-size:20px;
      line-height:1.1;
    }

    .welcome-main span{
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }

    .welcome-meta{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
      min-width:min(420px, 100%);
      flex:1 1 420px;
    }

    .welcome-pill{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      background:linear-gradient(180deg, rgba(17,28,47,.72), rgba(13,23,39,.46));
      padding:12px 14px;
    }

    .welcome-pill span{
      display:block;
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.04em;
      font-weight:800;
      margin-bottom:8px;
    }

    .welcome-pill strong{
      display:block;
      font-size:18px;
      line-height:1;
    }

    .card-title-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:12px;
    }

    .card-title-row p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:12px;
    }

    .login-box input,
    input,select,textarea,
    .btn,.mini{
      will-change:transform;
    }

    
    .login-screen{
      min-height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:34px;
      position:relative;
      overflow:hidden;
      background:#07101d;
    }

    .login-screen::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(5,12,24,.90) 0%, rgba(5,12,24,.80) 34%, rgba(5,12,24,.58) 58%, rgba(5,12,24,.82) 100%),
        linear-gradient(180deg, rgba(7,16,29,.18), rgba(7,16,29,.58)),
        url('../../gestao-de-patio.jpg') center center / cover no-repeat;
      z-index:0;
      transform:scale(1.02);
    }

    .login-screen::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 24%, rgba(59,130,246,.18), transparent 22%),
        radial-gradient(circle at 80% 18%, rgba(34,197,94,.10), transparent 18%),
        radial-gradient(circle at 75% 80%, rgba(6,182,212,.10), transparent 16%);
      z-index:0;
      pointer-events:none;
    }

    .login-layout{
      width:min(1320px, 100%);
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:28px;
      align-items:stretch;
      position:relative;
      z-index:1;
    }

    .login-showcase{
      border:1px solid rgba(255,255,255,.10);
      border-radius:36px;
      background:
        radial-gradient(circle at top left, rgba(59,130,246,.10), transparent 28%),
        linear-gradient(180deg, rgba(7,16,29,.24), rgba(7,16,29,.10));
      backdrop-filter:blur(8px);
      padding:38px 36px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:660px;
      box-shadow:0 26px 80px rgba(0,0,0,.28);
    }

    .login-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      padding:10px 15px;
      border-radius:999px;
      background:rgba(59,130,246,.12);
      border:1px solid rgba(59,130,246,.20);
      color:#dbeafe;
      font-size:12px;
      font-weight:900;
      letter-spacing:.02em;
      margin-bottom:18px;
      box-shadow:0 12px 28px rgba(37,99,235,.12);
    }

    .login-hero h1{
      margin:0;
      font-size:58px;
      line-height:1.00;
      letter-spacing:-.05em;
      max-width:760px;
      text-shadow:0 10px 32px rgba(0,0,0,.18);
    }

    .login-hero p{
      margin:18px 0 0;
      max-width:720px;
      color:#c4d2ea;
      font-size:17px;
      line-height:1.9;
    }

    .login-features{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
      margin-top:26px;
    }

    .login-feature{
      border:1px solid rgba(255,255,255,.08);
      border-radius:24px;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
        linear-gradient(180deg, rgba(17,28,47,.76), rgba(13,23,39,.46));
      backdrop-filter:blur(10px);
      padding:17px 17px 16px;
      box-shadow:0 14px 34px rgba(0,0,0,.12);
    }

    .login-feature strong{
      display:block;
      font-size:15px;
      margin-bottom:8px;
    }

    .login-feature span{
      color:#b7c8e4;
      font-size:13px;
      line-height:1.7;
      display:block;
    }

    .login-flow{
      margin-top:18px;
      border:1px solid rgba(59,130,246,.16);
      border-radius:24px;
      background:linear-gradient(180deg, rgba(17,28,47,.62), rgba(13,23,39,.38));
      padding:18px 18px 16px;
    }

    .login-flow strong{
      display:block;
      margin-bottom:10px;
      font-size:15px;
    }

    .login-flow p{
      margin:0;
      color:#d5e7ff;
      font-size:15px;
      line-height:1.9;
    }

    .login-box{
      width:100%;
      max-width:470px;
      margin-left:auto;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.16), transparent 24%),
        linear-gradient(180deg,rgba(17,28,47,.97),rgba(13,23,39,.95));
      border:1px solid rgba(255,255,255,.10);
      border-radius:34px;
      box-shadow:0 30px 90px rgba(0,0,0,.36);
      padding:40px 34px 32px;
      text-align:center;
      backdrop-filter:blur(18px);
      position:relative;
      z-index:1;
      align-self:center;
    }

    .login-box img{
      width:90px;
      height:90px;
      object-fit:contain;
      margin-bottom:18px;
      background:#fff;
      border-radius:24px;
      padding:10px;
      box-shadow:0 16px 40px rgba(0,0,0,.24);
    }

    .login-box h2{
      margin:0 0 10px;
      font-size:44px;
      line-height:1.03;
      letter-spacing:-.045em;
    }

    .login-box p{
      margin:0 0 22px;
      color:#b7c8e4;
      font-size:14px;
      line-height:1.85;
    }

    .login-box input,
    input,select,textarea{
      width:100%;
      background:#0a0d12;
      color:#fff;
      border:1px solid rgba(255,255,255,.10);
      border-radius:14px;
      padding:11px 12px;
      font-size:14px;
      transition:.2s;
    }

    .login-box input{
      margin-bottom:12px;
      padding:15px 16px;
      border-radius:18px;
      background:rgba(13,23,40,.88);
    }

    .login-box input:focus,
    input:focus,select:focus,textarea:focus{
      border-color:rgba(59,130,246,.55);
      box-shadow:0 0 0 4px rgba(59,130,246,.12);
      outline:none;
    }

    .login-box button,
    .btn,
    .mini,
    .logout-btn,
    .menu button{transition:.2s}

    .login-box button{
      width:100%;
      padding:15px;
      margin-top:4px;
      background:linear-gradient(135deg,var(--blue),#2563eb);
      color:#fff;
      border:none;
      border-radius:18px;
      font-weight:900;
      cursor:pointer;
      box-shadow:0 18px 34px rgba(37,99,235,.24);
      font-size:15px;
    }

    .login-box button:hover,
    .btn:hover,.logout-btn:hover,.mini:hover,.menu button:hover{
      transform:translateY(-1px);
      filter:brightness(1.04);
    }

        .login-note{
      margin-top:16px;
      color:#8fa5c8;
      font-size:12px;
      line-height:1.7;
    }

    .login-kpis{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:18px;
      margin-bottom:18px;
    }

    .login-kpi{
      border:1px solid rgba(255,255,255,.08);
      border-radius:20px;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      padding:15px 14px;
      text-align:left;
      box-shadow:0 12px 28px rgba(0,0,0,.10);
    }

    .login-kpi strong{
      display:block;
      font-size:24px;
      line-height:1;
      margin-bottom:6px;
    }

    .login-kpi span{
      display:block;
      color:#b7c8e4;
      font-size:11px;
      line-height:1.5;
      text-transform:uppercase;
      letter-spacing:.04em;
      font-weight:800;
    }

    .login-visual-card{
      margin-top:18px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      overflow:hidden;
      position:relative;
      min-height:300px;
      background:
        linear-gradient(180deg, rgba(7,16,29,.18), rgba(7,16,29,.56)),
        #091425;
      box-shadow:0 22px 54px rgba(0,0,0,.18);
    }

    .login-visual-card::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(6,12,24,.16), rgba(6,12,24,.48)),
        url('../../gestao-de-etapas.png') center center / cover no-repeat;
      opacity:.95;
    }

    .login-visual-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(7,16,29,0) 0%, rgba(7,16,29,.72) 100%);
      pointer-events:none;
    }

    .login-visual-content{
      position:relative;
      z-index:1;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      min-height:280px;
      padding:20px 20px 18px;
    }

    .login-visual-content strong{
      display:block;
      font-size:18px;
      margin-bottom:8px;
    }

    .login-visual-content p{
      margin:0;
      color:#d8e6fb;
      font-size:13px;
      line-height:1.75;
      max-width:760px;
    }

    .login-right-footer{
      margin-top:18px;
      color:#88a0c5;
      font-size:11px;
      line-height:1.8;
      text-align:center;
      letter-spacing:.02em;
    }

    .login-error{
      margin-top:10px;
      font-size:12px;
      color:#fca5a5;
      min-height:16px;
    }


    .app{
      display:grid;
      grid-template-columns:280px 1fr;
      min-height:100vh;
      max-width:var(--app-max);
      margin:0 auto;
      transition:grid-template-columns .25s ease;
    }

    .app.sidebar-collapsed{
      grid-template-columns:var(--sidebar-collapsed) 1fr;
    }

    .sidebar{
      background:linear-gradient(180deg,rgba(4,5,7,.96),rgba(6,8,11,.92));
      border-right:1px solid var(--line);
      padding:18px 16px 22px;
      position:sticky;
      top:0;
      height:100vh;
      overflow:auto;
      backdrop-filter:blur(20px);
      transition:padding .25s ease, width .25s ease;
    }

    .app.sidebar-collapsed .sidebar{
      padding-left:10px;
      padding-right:10px;
    }

    .brand-wrap{display:flex;align-items:center;gap:12px;margin-bottom:18px}
    .brand-logo{
      width:56px;height:56px;object-fit:contain;border-radius:14px;background:#fff;padding:5px;
      box-shadow:0 10px 26px rgba(0,0,0,.22);
    }
    .brand-title{font-size:26px;font-weight:900;line-height:1;letter-spacing:.01em}
    .brand-sub{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}

    .sidebar-top{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      margin-bottom:6px;
    }

    .sidebar-toggle{
      width:42px;
      height:42px;
      border-radius:14px;
      border:1px solid var(--line);
      background:#0d1117;
      color:#fff;
      cursor:pointer;
      font-size:18px;
      font-weight:900;
      display:flex;
      align-items:center;
      justify-content:center;
      transition:.2s;
      flex-shrink:0;
    }

    .sidebar-toggle:hover{
      transform:translateY(-1px);
      filter:brightness(1.05);
    }

    .app.sidebar-collapsed .brand-wrap{
      justify-content:center;
      margin-bottom:14px;
    }

    .app.sidebar-collapsed .brand-title,
    .app.sidebar-collapsed .brand-sub,
    .app.sidebar-collapsed .user-box,
    .app.sidebar-collapsed .sidebar-note,
    .app.sidebar-collapsed .logout-btn,
    .app.sidebar-collapsed .menu button span{
      display:none !important;
    }

    .app.sidebar-collapsed .menu button{
      display:flex;
      align-items:center;
      justify-content:center;
      padding:13px 10px;
      min-height:48px;
    }

    .menu button .menu-text{
      display:inline;
    }

    .app.sidebar-collapsed .menu button::before{display:none !important;}

    .user-box{
      margin-bottom:16px;padding:14px;border:1px solid var(--line);
      background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
      border-radius:16px;font-size:12px;color:var(--muted);line-height:1.6;
    }
    .user-box strong{display:block;color:#fff;font-size:14px;margin-bottom:4px}

    .menu{display:flex;flex-direction:column;gap:10px}
    .menu button{
      border:none;
      background:linear-gradient(180deg,rgba(12,15,20,.98),rgba(9,11,15,.94));
      color:var(--text);
      padding:13px 14px;
      border-radius:16px;
      text-align:left;
      font-weight:800;
      cursor:pointer;
      border:1px solid rgba(255,255,255,.06);
      display:flex;
      align-items:center;
      gap:10px;
      position:relative;
      overflow:hidden;
    }
    .menu button::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(59,130,246,.12), transparent 45%);
      opacity:0;
      transition:.2s;
      pointer-events:none;
    }
    .menu button:hover,.menu button.active{
      background:linear-gradient(135deg,#1d4ed8,#2563eb);
      color:#fff;
      transform:translateX(2px);
      border-color:rgba(255,255,255,.12);
      box-shadow:0 14px 28px rgba(37,99,235,.18);
    }
    .menu button:hover::after,.menu button.active::after{opacity:1}
    .menu-icon{
      width:18px;
      display:inline-flex;
      justify-content:center;
      font-size:15px;
      flex-shrink:0;
    }

    .sidebar-note{
      margin-top:22px;padding:14px;border:1px solid rgba(59,130,246,.18);
      background:linear-gradient(180deg,rgba(59,130,246,.12),rgba(6,182,212,.06));
      border-radius:16px;color:#d6e7ff;font-size:12px;line-height:1.7;
    }

    .logout-btn{
      margin-top:14px;width:100%;border:none;background:linear-gradient(135deg,#991b1b,#7f1d1d);
      color:#fff;padding:11px 12px;border-radius:14px;font-weight:800;cursor:pointer;
    }

    .main{
      padding:24px;
      display:flex;
      flex-direction:column;
      min-height:100vh;
      background:linear-gradient(180deg, rgba(8,17,31,.34), rgba(8,17,31,.20));
    }
    .topbar{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:16px;
      flex-wrap:wrap;
      margin-bottom:18px;
      padding:22px 24px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:28px;
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 22%),
        radial-gradient(circle at bottom right, rgba(8,145,178,.06), transparent 20%),
        linear-gradient(180deg, rgba(10,12,16,.96), rgba(6,8,11,.94));
      backdrop-filter:blur(20px);
      box-shadow:0 24px 60px rgba(0,0,0,.28);
      position:relative;
      overflow:hidden;
    }

    .topbar::after{
      content:"";
      position:absolute;
      inset:auto -80px -80px auto;
      width:220px;
      height:220px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(34,197,94,.10), transparent 70%);
      pointer-events:none;
    }
    .title h1{
      margin:0;
      font-size:36px;
      line-height:1.05;
      letter-spacing:-.02em;
    }
    .title p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      max-width:720px;
    }
    .actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:end;
      padding:12px 14px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    }

    .card{
      background:linear-gradient(180deg,rgba(9,12,16,.96),rgba(6,8,11,.94));
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:18px;
      backdrop-filter:blur(16px);
    }

    .grid{display:grid;gap:16px}
    .grid-2{grid-template-columns:1.1fr .9fr}
    .grid-3{grid-template-columns:repeat(3,1fr)}
    .grid-4{grid-template-columns:repeat(4,1fr)}

    .kpi{
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 26%),
        linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
      border:1px solid rgba(255,255,255,.10);
      border-radius:22px;
      padding:18px;
      position:relative;
      overflow:hidden;
      box-shadow:0 18px 36px rgba(0,0,0,.18);
      min-height:124px;
    }
    .kpi::before{
      content:"";
      position:absolute;
      inset:0 auto 0 0;
      width:5px;
      border-radius:22px 0 0 22px;
      background:linear-gradient(180deg,var(--blue),var(--cyan));
      opacity:.9;
    }
    .kpi.status-green::before{background:linear-gradient(180deg,#22c55e,#16a34a)}
    .kpi.status-orange::before{background:linear-gradient(180deg,#f59e0b,#f97316)}
    .kpi.status-red::before{background:linear-gradient(180deg,#ef4444,#dc2626)}
    .kpi.status-purple::before{background:linear-gradient(180deg,#8b5cf6,#7c3aed)}
    .kpi.status-cyan::before{background:linear-gradient(180deg,#06b6d4,#0891b2)}
    .kpi.status-gray::before{background:linear-gradient(180deg,#64748b,#475569)}
    .kpi-icon{
      width:36px;
      height:36px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      margin-bottom:10px;
      font-size:16px;
    }
    .kpi .label{font-size:12px;color:var(--muted);margin-bottom:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
    .kpi .value{font-size:34px;font-weight:900;line-height:1}
    .kpi .sub{font-size:11px;color:var(--muted);margin-top:8px}

    h2{margin:0 0 14px;font-size:18px}
    h3{margin:0 0 10px;font-size:15px}
    label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:800}
    textarea{min-height:88px;resize:vertical}

    .fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
    .full{grid-column:1 / -1}

    .btn{border:none;border-radius:14px;padding:11px 15px;font-weight:900;cursor:pointer}
    .btn-primary{background:linear-gradient(135deg,var(--blue),#2563eb);color:#fff}
    .btn-success{background:linear-gradient(135deg,#16a34a,var(--green));color:#08110a}
    .btn-warning{background:linear-gradient(135deg,#f59e0b,#f97316);color:#221300}
    .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
    .btn-light{background:#152640;color:#fff;border:1px solid var(--line)}

    .table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line)}
    table{width:100%;border-collapse:collapse;min-width:1500px;background:#090c10}
    th,td{padding:11px 10px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:middle}
    th{background:#0d1117;color:#d5e5ff;text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;font-size:11px}

    .chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;color:#fff;white-space:nowrap}
    .st-agendado{background:#475569}
    .st-separacao{background:#f59e0b;color:#231300}
    .st-separado{background:#22c55e;color:#05210d}
    .st-pronto{background:#06b6d4;color:#06252c}
    .st-patio{background:#3b82f6}
    .st-doca{background:#8b5cf6}
    .st-carregando{background:#0ea5e9}
    .st-expedido{background:#0f172a;border:1px solid rgba(255,255,255,.12)}

    .mini-actions{display:flex;gap:6px;flex-wrap:wrap}
    .mini{border:none;padding:7px 9px;border-radius:10px;font-size:11px;font-weight:900;cursor:pointer;color:#fff;background:#1e293b}
.mini:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}
    .mini.blue{background:#1d4ed8}
    .mini.green{background:#15803d}
    .mini.orange{background:#d97706}
    .mini.red{background:#b91c1c}

    .mini.gray{background:#475569}
    .mini.outline{
      background:transparent;
      border:1px solid rgba(255,255,255,.14);
      color:#dbeafe;
    }
    .action-hint{
      display:inline-flex;
      align-items:center;
      padding:4px 8px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:var(--muted);
      font-size:10px;
      font-weight:800;
      margin-top:6px;
    }
    .queue-priority{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:4px 8px;
      border-radius:999px;
      background:rgba(245,158,11,.12);
      border:1px solid rgba(245,158,11,.24);
      color:#fbbf24;
      font-size:10px;
      font-weight:900;
      margin-bottom:8px;
    }
    .dock-state{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:4px 8px;
      border-radius:999px;
      font-size:10px;
      font-weight:900;
      border:1px solid rgba(255,255,255,.08);
      margin-top:8px;
      width:max-content;
    }
    .dock-state.free{background:rgba(34,197,94,.12); color:#4ade80; border-color:rgba(34,197,94,.2)}
    .dock-state.reserved{background:rgba(245,158,11,.12); color:#fbbf24; border-color:rgba(245,158,11,.2)}
    .dock-state.busy{background:rgba(139,92,246,.14); color:#c4b5fd; border-color:rgba(139,92,246,.2)}
    .dock-state.finishing{background:rgba(6,182,212,.12); color:#67e8f9; border-color:rgba(6,182,212,.2)}

    .board{
      display:grid;
      grid-template-columns:repeat(4,minmax(260px,1fr));
      gap:12px;
      overflow-x:auto;
      padding-bottom:6px;
    }
    .lane{
      background:#0a0d12;
      border:1px solid var(--line);
      border-radius:16px;
      padding:12px;
      min-height:260px;
      max-height:540px;
      overflow-y:auto;
      overflow-x:hidden;
    }
    .lane-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      margin-bottom:10px;
      position:sticky;
      top:0;
      background:#0a0d12;
      padding-bottom:8px;
      z-index:2;
    }
    .count{background:#152640;border:1px solid var(--line);color:var(--muted);font-size:11px;padding:4px 8px;border-radius:999px;font-weight:900}
    .lane h3{margin:0;font-size:15px}
    .lane.stage-gray{
      border-color:rgba(100,116,139,.35);
      box-shadow:inset 3px 0 0 rgba(100,116,139,.85);
    }
    .lane.stage-orange{
      border-color:rgba(245,158,11,.35);
      box-shadow:inset 3px 0 0 rgba(245,158,11,.90);
    }
    .lane.stage-green{
      border-color:rgba(34,197,94,.35);
      box-shadow:inset 3px 0 0 rgba(34,197,94,.90);
    }
    .lane.stage-blue{
      border-color:rgba(59,130,246,.35);
      box-shadow:inset 3px 0 0 rgba(59,130,246,.90);
    }
    .lane.stage-purple{
      border-color:rgba(139,92,246,.35);
      box-shadow:inset 3px 0 0 rgba(139,92,246,.90);
    }
    .lane.stage-cyan{
      border-color:rgba(6,182,212,.35);
      box-shadow:inset 3px 0 0 rgba(6,182,212,.90);
    }

    .lane.stage-gray .lane-head h3{color:#cbd5e1}
    .lane.stage-orange .lane-head h3{color:#fbbf24}
    .lane.stage-green .lane-head h3{color:#4ade80}
    .lane.stage-blue .lane-head h3{color:#60a5fa}
    .lane.stage-purple .lane-head h3{color:#a78bfa}
    .lane.stage-cyan .lane-head h3{color:#22d3ee}

    .lane.stage-gray .count{
      background:rgba(100,116,139,.16);
      border-color:rgba(100,116,139,.28);
      color:#cbd5e1;
    }
    .lane.stage-orange .count{
      background:rgba(245,158,11,.14);
      border-color:rgba(245,158,11,.26);
      color:#fbbf24;
    }
    .lane.stage-green .count{
      background:rgba(34,197,94,.14);
      border-color:rgba(34,197,94,.26);
      color:#4ade80;
    }
    .lane.stage-blue .count{
      background:rgba(59,130,246,.14);
      border-color:rgba(59,130,246,.26);
      color:#93c5fd;
    }
    .lane.stage-purple .count{
      background:rgba(139,92,246,.14);
      border-color:rgba(139,92,246,.26);
      color:#c4b5fd;
    }
    .lane.stage-cyan .count{
      background:rgba(6,182,212,.14);
      border-color:rgba(6,182,212,.26);
      color:#67e8f9;
    }

    .lane.stage-gray .item:hover{border-color:rgba(100,116,139,.30)}
    .lane.stage-orange .item:hover{border-color:rgba(245,158,11,.30)}
    .lane.stage-green .item:hover{border-color:rgba(34,197,94,.30)}
    .lane.stage-blue .item:hover{border-color:rgba(59,130,246,.30)}
    .lane.stage-purple .item:hover{border-color:rgba(139,92,246,.30)}
    .lane.stage-cyan .item:hover{border-color:rgba(6,182,212,.30)}

    .item{background:linear-gradient(180deg,#0f1319,#0a0d12);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;margin-bottom:10px;cursor:pointer;transition:.2s}
    .item:hover{transform:translateY(-1px)}
    .item strong{display:block;margin-bottom:6px}
    .item .meta{font-size:12px;color:var(--muted);line-height:1.5}

    .dock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    .dock{border-radius:16px;padding:14px;border:1px solid var(--line);background:#0b0f14;min-height:170px;cursor:pointer;transition:.2s}
    .dock.free{background:linear-gradient(180deg,rgba(34,197,94,.12),rgba(13,26,20,.80));border-color:rgba(34,197,94,.22)}
    .dock.busy{background:linear-gradient(180deg,rgba(139,92,246,.18),rgba(22,18,47,.92));border-color:rgba(139,92,246,.25)}
    .dock-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}

    .sla-ok{color:#22c55e;font-weight:800}
    .sla-alerta{color:#f59e0b;font-weight:800}
    .sla-atraso{color:#ef4444;font-weight:800}

    .toast{position:fixed;right:20px;bottom:20px;background:#111827;border:1px solid rgba(255,255,255,.12);color:#fff;padding:12px 14px;border-radius:14px;box-shadow:var(--shadow);z-index:100;display:none;max-width:320px}
    .modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:20px;z-index:200;backdrop-filter:blur(4px)}
    .modal.show{display:flex}
    .modal-content{
      width:min(1480px,100%);
      max-height:94vh;
      overflow:auto;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 22%),
        linear-gradient(180deg,rgba(17,28,47,.98),rgba(13,23,39,.98));
      border:1px solid rgba(255,255,255,.10);
      border-radius:28px;
      padding:22px;
      box-shadow:0 28px 80px rgba(0,0,0,.42);
    }
    .modal-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:16px;
      margin-bottom:18px;
      padding:14px 16px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      position:sticky;
      top:-22px;
      z-index:5;
      backdrop-filter:blur(16px);
    }


    .modal-section-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin:0 0 14px;
    }

    .modal-section-title h3{
      margin:0;
      font-size:16px;
      letter-spacing:.01em;
    }

    .modal-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(59,130,246,.12);
      border:1px solid rgba(59,130,246,.20);
      color:#dce9ff;
      font-size:11px;
      font-weight:900;
      white-space:nowrap;
    }

    .modal-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }

    .modal-card{
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 26%),
        linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      padding:18px;
      box-shadow:0 16px 30px rgba(0,0,0,.16);
    }

    .modal-summary{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-bottom:16px;
    }

    .modal-summary-card{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      padding:14px;
      min-height:94px;
    }

    .modal-summary-card span{
      display:block;
      font-size:11px;
      color:var(--muted);
      margin-bottom:8px;
      text-transform:uppercase;
      letter-spacing:.04em;
      font-weight:800;
    }

    .modal-summary-card strong{
      display:block;
      font-size:18px;
      line-height:1.2;
    }

    .report-hero{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:16px;
      margin-bottom:16px;
    }

    .section-hero{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:16px;
      margin-bottom:16px;
    }

    .section-hero-card{
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 24%),
        linear-gradient(180deg, rgba(17,28,47,.90), rgba(13,23,39,.82));
      padding:20px;
      box-shadow:0 16px 34px rgba(0,0,0,.16);
    }

    .section-hero-card h3{
      margin:0 0 8px;
      font-size:18px;
    }

    .section-hero-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }

    .section-mini-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:16px;
    }

    .section-mini{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      padding:14px;
    }

    .section-mini span{
      display:block;
      color:var(--muted);
      font-size:11px;
      margin-bottom:8px;
      text-transform:uppercase;
      font-weight:800;
      letter-spacing:.04em;
    }

    .section-mini strong{
      font-size:22px;
      line-height:1;
    }

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

    .stage-kpi-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:16px;
    }

    .stage-kpi{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      padding:14px;
    }

    .stage-kpi span{
      display:block;
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      font-weight:800;
      margin-bottom:8px;
      letter-spacing:.04em;
    }

    .stage-kpi strong{
      font-size:24px;
      line-height:1;
    }

    .board-premium .lane{
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 28%),
        linear-gradient(180deg,#0d1728,#0b1424);
    }

    .board-premium .item{
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 24%),
        linear-gradient(180deg,#14233a,#102034);
      border-radius:14px;
      box-shadow:0 10px 24px rgba(0,0,0,.14);
    }

    .dock-grid-premium .dock{
      min-height:190px;
      box-shadow:0 14px 28px rgba(0,0,0,.14);
    }

    .form-card-premium{
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
        linear-gradient(180deg,rgba(17,28,47,.90),rgba(13,23,39,.84));
    }

    .section-toolbar .group{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }

    .premium-table-card{
      padding:0;
      overflow:hidden;
    }

    .premium-table-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
      padding:18px 18px 10px;
      border-bottom:1px solid rgba(255,255,255,.06);
    }

    .premium-table-head h2{
      margin:0;
    }

    .premium-table-head p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:12px;
    }

    .premium-badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(59,130,246,.10);
      border:1px solid rgba(59,130,246,.18);
      color:#dce9ff;
      font-size:11px;
      font-weight:900;
      white-space:nowrap;
    }

    .table-wrap table{
      background:linear-gradient(180deg, rgba(12,23,40,.98), rgba(10,19,34,.98));
    }

    .table-wrap tbody tr{
      transition:.18s;
    }

    .table-wrap tbody tr:hover{
      background:rgba(59,130,246,.06);
    }

    .soft-stat{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:#dbe7ff;
      font-size:12px;
      font-weight:800;
    }

    .report-hero-card{
      border:1px solid rgba(255,255,255,.08);
      border-radius:22px;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 24%),
        linear-gradient(180deg, rgba(17,28,47,.90), rgba(13,23,39,.82));
      padding:20px;
      box-shadow:0 16px 34px rgba(0,0,0,.16);
    }

    .report-hero-card h3{
      margin:0 0 8px;
      font-size:18px;
    }

    .report-hero-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }

    .report-mini-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:16px;
    }

    .report-mini{
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      padding:14px;
    }

    .report-mini span{
      display:block;
      color:var(--muted);
      font-size:11px;
      margin-bottom:8px;
      text-transform:uppercase;
      font-weight:800;
      letter-spacing:.04em;
    }

    .report-mini strong{
      font-size:22px;
      line-height:1;
    }

    .modal-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:16px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.08);
    }

    .topbar-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(59,130,246,.10);
      border:1px solid rgba(59,130,246,.18);
      color:#dce9ff;
      font-size:12px;
      font-weight:900;
      margin-bottom:8px;
    }

    @media (max-width:1400px){
      .modal-grid{grid-template-columns:1fr}
      .modal-summary{grid-template-columns:repeat(2,1fr)}
      .report-hero{grid-template-columns:1fr}
      .section-hero{grid-template-columns:1fr}
      .stage-kpi-grid{grid-template-columns:1fr}
    }
    footer{
      text-align:center;
      margin-top:auto;
      padding:24px 0 10px;
      color:var(--muted);
      font-size:12px;
      letter-spacing:.02em;
    }

    canvas{max-width:100%}

    @media (max-width:1400px){
      .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
      .grid-2,.board,.dock-grid,.fields{grid-template-columns:1fr}
    }
    @media (max-width:900px){
      .app,
      .app.sidebar-collapsed{
        display:block;
      }

      .sidebar{
        position:fixed;
        left:0;
        top:0;
        width:min(86vw,320px);
        height:100vh;
        z-index:320;
        transform:translateX(0);
        transition:transform .24s ease;
        box-shadow:0 24px 60px rgba(0,0,0,.34);
      }

      .app.sidebar-collapsed .sidebar{
        transform:translateX(-108%);
      }

      .app:not(.sidebar-collapsed) ~ .sidebar-backdrop,
      .sidebar-backdrop.show{
        opacity:1;
        pointer-events:auto;
      }

      .main{
        padding:16px;
      }

      .title h1{font-size:28px}

      .app.sidebar-collapsed .user-box,
      .app.sidebar-collapsed .sidebar-note,
      .app.sidebar-collapsed .logout-btn,
      .app.sidebar-collapsed .menu button span{
        display:block !important;
      }

      .app.sidebar-collapsed .menu button::before{display:none !important;}

      .topbar-menu-toggle{
        display:inline-flex;
      }

      .topbar{
        align-items:center;
      }
    }  
    /* ===== LOGIN V4 OVERRIDES ===== */
    .login-screen{
      min-height:100vh !important;
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      padding:32px !important;
      background:#06101d !important;
      position:relative !important;
      overflow:hidden !important;
    }

    .login-screen::before{
      content:"" !important;
      position:absolute !important;
      inset:0 !important;
      background:
        linear-gradient(90deg, rgba(2,3,4,.95) 0%, rgba(2,3,4,.86) 35%, rgba(2,3,4,.66) 62%, rgba(2,3,4,.90) 100%),
        linear-gradient(180deg, rgba(2,3,4,.28), rgba(2,3,4,.72)),
        url('../../gestao-de-patio.jpg') center center / cover no-repeat !important;
      z-index:0 !important;
    }

    .login-screen::after{
      content:"" !important;
      position:absolute !important;
      inset:0 !important;
      background:
        radial-gradient(circle at 18% 18%, rgba(59,130,246,.18), transparent 22%),
        radial-gradient(circle at 82% 18%, rgba(34,197,94,.10), transparent 18%),
        radial-gradient(circle at 72% 84%, rgba(6,182,212,.10), transparent 16%) !important;
      z-index:0 !important;
      pointer-events:none !important;
    }

    .login-layout{
      width:min(1380px, 100%) !important;
      display:grid !important;
      grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr) !important;
      gap:32px !important;
      align-items:stretch !important;
      position:relative !important;
      z-index:1 !important;
    }

    .login-showcase{
      display:flex !important;
      flex-direction:column !important;
      justify-content:space-between !important;
      min-height:680px !important;
      border:1px solid rgba(255,255,255,.08) !important;
      border-radius:36px !important;
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.08), transparent 20%),
        linear-gradient(180deg, rgba(5,7,10,.42), rgba(5,7,10,.22)) !important;
      backdrop-filter:blur(8px) !important;
      box-shadow:0 26px 80px rgba(0,0,0,.28) !important;
      padding:38px 36px !important;
    }

    .login-badge{
      display:inline-flex !important;
      align-items:center !important;
      width:max-content !important;
      padding:10px 15px !important;
      border-radius:999px !important;
      background:rgba(59,130,246,.12) !important;
      border:1px solid rgba(59,130,246,.20) !important;
      color:#dbeafe !important;
      font-size:12px !important;
      font-weight:900 !important;
      letter-spacing:.02em !important;
      margin-bottom:18px !important;
      box-shadow:0 10px 28px rgba(37,99,235,.10) !important;
    }

    .login-hero h1{
      margin:0 !important;
      font-size:60px !important;
      line-height:1.0 !important;
      letter-spacing:-.05em !important;
      max-width:760px !important;
      text-shadow:0 10px 30px rgba(0,0,0,.14) !important;
    }

    .login-hero p{
      margin:18px 0 0 !important;
      max-width:760px !important;
      color:#c4d2ea !important;
      font-size:17px !important;
      line-height:1.9 !important;
    }

    .login-features{
      display:grid !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
      gap:14px !important;
      margin-top:26px !important;
    }

    .login-feature{
      border:1px solid rgba(255,255,255,.08) !important;
      border-radius:24px !important;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
        linear-gradient(180deg, rgba(17,28,47,.76), rgba(13,23,39,.46)) !important;
      padding:17px 17px 16px !important;
      box-shadow:0 14px 34px rgba(0,0,0,.12) !important;
    }

    .login-feature strong{
      display:block !important;
      font-size:15px !important;
      margin-bottom:8px !important;
    }

    .login-feature span{
      color:#b7c8e4 !important;
      font-size:13px !important;
      line-height:1.75 !important;
      display:block !important;
    }

    .login-kpis{
      display:grid !important;
      grid-template-columns:repeat(3,minmax(0,1fr)) !important;
      gap:12px !important;
      margin-top:18px !important;
      margin-bottom:18px !important;
    }

    .login-kpi{
      border:1px solid rgba(255,255,255,.08) !important;
      border-radius:20px !important;
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
      padding:15px 14px !important;
      box-shadow:0 12px 28px rgba(0,0,0,.10) !important;
    }

    .login-kpi strong{
      display:block !important;
      font-size:28px !important;
      line-height:1 !important;
      margin-bottom:8px !important;
      color:#eef4ff !important;
    }

    .login-kpi span{
      display:block !important;
      color:#b7c8e4 !important;
      font-size:11px !important;
      line-height:1.5 !important;
      text-transform:uppercase !important;
      letter-spacing:.04em !important;
      font-weight:800 !important;
    }

    .login-visual-card{
      margin-top:18px !important;
      border:1px solid rgba(255,255,255,.08) !important;
      border-radius:28px !important;
      overflow:hidden !important;
      position:relative !important;
      min-height:320px !important;
      background:#091425 !important;
      box-shadow:0 22px 54px rgba(0,0,0,.18) !important;
    }

    .login-visual-card::before{
      content:"" !important;
      position:absolute !important;
      inset:0 !important;
      background:
        linear-gradient(180deg, rgba(7,16,29,.08), rgba(7,16,29,.50)),
        url('../../gestao-de-etapas.png') center center / cover no-repeat !important;
      opacity:.96 !important;
    }

    .login-visual-card::after{
      content:"" !important;
      position:absolute !important;
      inset:0 !important;
      background:linear-gradient(180deg, rgba(7,16,29,0) 0%, rgba(7,16,29,.78) 100%) !important;
    }

    .login-visual-content{
      position:relative !important;
      z-index:1 !important;
      min-height:320px !important;
      display:flex !important;
      flex-direction:column !important;
      justify-content:flex-end !important;
      padding:22px 22px 20px !important;
    }

    .login-visual-content strong{
      display:block !important;
      font-size:20px !important;
      margin-bottom:8px !important;
    }

    .login-visual-content p{
      margin:0 !important;
      color:#d8e6fb !important;
      font-size:13px !important;
      line-height:1.8 !important;
      max-width:760px !important;
    }

    .login-flow{
      margin-top:18px !important;
      border:1px solid rgba(59,130,246,.16) !important;
      border-radius:24px !important;
      background:linear-gradient(180deg, rgba(17,28,47,.62), rgba(13,23,39,.38)) !important;
      padding:18px 18px 16px !important;
    }

    .login-flow strong{
      display:block !important;
      margin-bottom:10px !important;
      font-size:15px !important;
    }

    .login-flow p{
      margin:0 !important;
      color:#d5e7ff !important;
      font-size:15px !important;
      line-height:1.9 !important;
    }

    .login-box{
      width:100% !important;
      max-width:none !important;
      margin-left:auto !important;
      align-self:center !important;
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 18%),
        linear-gradient(180deg,rgba(10,12,16,.98),rgba(6,8,11,.96)) !important;
      border:1px solid rgba(255,255,255,.10) !important;
      border-radius:34px !important;
      box-shadow:0 30px 90px rgba(0,0,0,.36) !important;
      padding:40px 34px 32px !important;
      text-align:center !important;
      backdrop-filter:blur(18px) !important;
      position:relative !important;
      z-index:1 !important;
    }

    .login-box img{
      width:92px !important;
      height:92px !important;
      object-fit:contain !important;
      margin-bottom:18px !important;
      background:#fff !important;
      border-radius:24px !important;
      padding:10px !important;
      box-shadow:0 16px 40px rgba(0,0,0,.24) !important;
    }

    .login-box h2{
      margin:0 0 10px !important;
      font-size:46px !important;
      line-height:1.03 !important;
      letter-spacing:-.045em !important;
    }

    .login-box p{
      margin:0 0 22px !important;
      color:#b7c8e4 !important;
      font-size:14px !important;
      line-height:1.85 !important;
    }

    .login-box input{
      margin-bottom:12px !important;
      padding:15px 16px !important;
      border-radius:18px !important;
      background:rgba(13,23,40,.88) !important;
    }

    .login-box button{
      width:100% !important;
      padding:15px !important;
      margin-top:4px !important;
      background:linear-gradient(135deg,var(--blue),#2563eb) !important;
      color:#fff !important;
      border:none !important;
      border-radius:18px !important;
      font-weight:900 !important;
      box-shadow:0 18px 34px rgba(37,99,235,.24) !important;
      font-size:15px !important;
    }

    .login-note{
      margin-top:16px !important;
      color:#8fa5c8 !important;
      font-size:12px !important;
      line-height:1.7 !important;
    }

    .login-right-footer{
      margin-top:18px !important;
      color:#88a0c5 !important;
      font-size:11px !important;
      line-height:1.8 !important;
      text-align:center !important;
      letter-spacing:.02em !important;
    }

    @media (max-width:1100px){
      .login-layout{
        grid-template-columns:1fr !important;
      }
      .login-showcase{
        min-height:auto !important;
      }
      .login-box{
        max-width:560px !important;
        margin:0 auto !important;
      }
    }

    @media (max-width:900px){
      .login-screen{
        padding:18px !important;
      }
      .login-showcase{
        padding:24px 22px !important;
        border-radius:26px !important;
      }
      .login-hero h1{
        font-size:40px !important;
      }
      .login-hero p{
        font-size:15px !important;
      }
      .login-features,
      .login-kpis{
        grid-template-columns:1fr !important;
      }
      .login-visual-card,
      .login-visual-content{
        min-height:220px !important;
      }
      .login-box{
        padding:30px 22px 24px !important;
        border-radius:28px !important;
      }
      .login-box h2{
        font-size:34px !important;
      }
    }


    .login-screen.hidden{display:none !important}
    .app.hidden{display:none !important}
    .sidebar-backdrop.hidden{display:none !important; opacity:0 !important; pointer-events:none !important}

    .kpi.clickable{cursor:pointer}
    .kpi.clickable:hover{transform:translateY(-2px) scale(1.01)}
    .filters-card{
      margin-top:16px;
      padding:16px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:20px;
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    }
    .filters-grid{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:10px;
      align-items:end;
    }
    .queue-summary{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-bottom:14px;
    }
    .queue-summary .section-mini strong{font-size:24px}
    .risk-banner{
      margin-top:12px;
      padding:12px 14px;
      border-radius:16px;
      border:1px solid rgba(245,158,11,.20);
      background:linear-gradient(180deg, rgba(245,158,11,.12), rgba(245,158,11,.04));
      color:#fde68a;
      font-size:12px;
      line-height:1.7;
    }
    .permission-table table{min-width:760px}
    .is-disabled-by-role{opacity:.72;filter:grayscale(.08)}
    .log-badge{
      display:inline-flex;align-items:center;justify-content:center;
      padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;
      background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.20);color:#dbeafe;
    }
    .executive-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-top:16px;
    }
    .queue-action-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
    .queue-tag{
      display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;
      background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.20);color:#bbf7d0;font-size:10px;font-weight:900;
    }
    @media (max-width:1400px){
      .filters-grid{grid-template-columns:repeat(3,1fr)}
      .queue-summary,.executive-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:900px){
      .filters-grid,.queue-summary,.executive-grid{grid-template-columns:1fr}
    }


    .kpi,
    .card,
    .lane,
    .dock,
    .item,
    .modal-card,
    .section-hero-card,
    .report-hero-card,
    .login-box,
    .login-showcase{
      box-shadow:
        0 14px 34px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.02);
    }

    .menu button.active,
    .menu button:hover{
      background:linear-gradient(135deg,#1a1f29,#2563eb);
    }

    .premium-badge,
    .topbar-badge,
    .soft-stat,
    .modal-pill{
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.10);
    }

    .title h1,
    .login-box h2,
    .login-hero h1,
    .brand-title{
      text-shadow:0 8px 24px rgba(0,0,0,.28);
    }

    .table-wrap tbody tr:hover{
      background:rgba(255,255,255,.03);
    }

    .welcome-strip{
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.07), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
    }


    .premium-sidebar-top{
      position:relative;
      padding-bottom:6px;
      margin-bottom:8px;
    }

    .premium-collapse-btn,
    .premium-topbar-toggle{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 30%),
        linear-gradient(180deg, rgba(18,22,29,.96), rgba(10,12,16,.94));
      box-shadow:
        0 14px 30px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.05);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
    }

    .premium-collapse-btn:hover,
    .premium-topbar-toggle:hover{
      transform:translateY(-1px) scale(1.02);
      border-color:rgba(96,165,250,.30);
      box-shadow:
        0 18px 36px rgba(0,0,0,.34),
        0 0 0 4px rgba(37,99,235,.08);
    }

    .premium-collapse-btn:active,
    .premium-topbar-toggle:active{
      transform:scale(.98);
    }

    .collapse-btn-glow{
      position:absolute;
      inset:auto -14px -14px auto;
      width:34px;
      height:34px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(59,130,246,.28), transparent 72%);
      pointer-events:none;
    }

    .collapse-btn-icon{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:100%;
      height:100%;
      font-size:18px;
      transition:transform .24s ease;
    }

    .premium-topbar-toggle{
      gap:8px;
      padding:0 12px;
      width:auto;
      min-width:52px;
      font-size:18px;
      font-weight:900;
    }

    .topbar-toggle-dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background:linear-gradient(135deg,#60a5fa,#2563eb);
      box-shadow:0 0 0 4px rgba(37,99,235,.12);
      flex-shrink:0;
    }

    .app.sidebar-collapsed .collapse-btn-icon{
      transform:rotate(180deg);
    }

    .app.sidebar-collapsed .brand-logo{
      width:52px;
      height:52px;
      border-radius:16px;
    }

    .app.sidebar-collapsed .sidebar{
      border-right-color:rgba(255,255,255,.05);
    }

    .app.sidebar-collapsed .menu{
      gap:12px;
    }

    .app.sidebar-collapsed .menu button{
      border-radius:18px;
      min-height:52px;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }

    .app.sidebar-collapsed .menu button.active,
    .app.sidebar-collapsed .menu button:hover{
      transform:translateY(-1px);
    }

    .app.sidebar-collapsed .sidebar-toggle{
      margin-inline:auto;
    }

    .sidebar-toggle::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%);
      opacity:.9;
      pointer-events:none;
    }

    .sidebar{
      transition:padding .25s ease, width .25s ease, background .25s ease, border-color .25s ease;
    }

    .sidebar-note{
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
    }

    @media (max-width:900px){
      .premium-topbar-toggle{
        min-width:48px;
        padding:0 10px;
      }
      .premium-collapse-btn{
        width:44px;
        height:44px;
      }
    }


    .menu-icon{
      width:22px;
      height:22px;
      min-width:22px;
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.06);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }

    .menu-icon svg{
      width:14px;
      height:14px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.9;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .icon-dashboard{ color:#60a5fa; }
    .icon-agenda{ color:#93c5fd; }
    .icon-separacao{ color:#fbbf24; }
    .icon-expedicao{ color:#38bdf8; }
    .icon-patio{ color:#818cf8; }
    .icon-motoristas{ color:#34d399; }
    .icon-transportadoras{ color:#22c55e; }
    .icon-docas{ color:#c084fc; }
    .icon-checkin{ color:#10b981; }
    .icon-relatorios{ color:#fb7185; }
    .icon-admin{ color:#f59e0b; }

    .menu button:hover .menu-icon,
    .menu button.active .menu-icon{
      background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
      border-color:rgba(255,255,255,.12);
      color:#ffffff;
      transform:translateY(-.5px);
    }

    .app.sidebar-collapsed .menu button{
      padding-inline:10px;
    }

    .app.sidebar-collapsed .menu-icon{
      width:26px;
      height:26px;
      min-width:26px;
      border-radius:12px;
      margin:0 auto;
    }

    .app.sidebar-collapsed .menu button::before{display:none !important;}

    .app.sidebar-collapsed .menu button .menu-text{
      display:none !important;
    }

    .app.sidebar-collapsed .menu button{
      justify-content:center;
      gap:0;
    }


    .enterprise-shell::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.012) 1px, transparent 1px);
      background-size:32px 32px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.22), transparent 55%);
      opacity:.22;
      z-index:-1;
    }

    .topbar{
      border-radius:32px;
      box-shadow:
        0 24px 60px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .topbar::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(255,255,255,.03), transparent 42%);
      pointer-events:none;
    }

    .title h1{
      font-size:38px;
      letter-spacing:-.03em;
    }

    .topbar-badge,
    .premium-badge{
      backdrop-filter:blur(10px);
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }

    .kpi{
      position:relative;
      overflow:hidden;
      border-radius:24px;
      box-shadow:
        0 18px 36px rgba(0,0,0,.26),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .kpi::after{
      content:"";
      position:absolute;
      inset:auto -40px -42px auto;
      width:110px;
      height:110px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(255,255,255,.08), transparent 68%);
      pointer-events:none;
      opacity:.42;
    }

    .kpi .value{
      font-size:36px;
      letter-spacing:-.03em;
    }

    .card,
    .section-hero-card,
    .report-hero-card,
    .modal-card,
    .dock,
    .lane{
      border-radius:24px;
      box-shadow:
        0 18px 42px rgba(0,0,0,.30),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .premium-table-card{
      border-radius:26px;
    }

    .premium-table-head{
      background:
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
      padding-top:20px;
      padding-bottom:14px;
    }

    .table-wrap thead th{
      background:linear-gradient(180deg,#121822,#0d1117);
      box-shadow:inset 0 -1px 0 rgba(255,255,255,.04);
    }

    .table-wrap td{
      color:#d6deec;
    }

    .section-hero-card h3,
    .report-hero-card h3{
      font-size:19px;
      letter-spacing:-.02em;
    }

    .section-mini,
    .report-mini,
    .modal-summary-card{
      border-radius:20px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
    }

    .menu button{
      min-height:50px;
      border-radius:18px;
    }

    .menu button .menu-text{
      font-size:13px;
      letter-spacing:.01em;
    }

    .sidebar{
      box-shadow:18px 0 40px rgba(0,0,0,.20);
    }

    .brand-wrap{
      padding:8px 10px 10px;
      border-radius:22px;
      background:linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.012));
      border:1px solid rgba(255,255,255,.05);
    }

    .brand-logo{
      width:58px;
      height:58px;
      border-radius:18px;
    }

    .brand-title{
      font-size:28px;
      letter-spacing:-.03em;
    }

    .sidebar-note{
      border-radius:20px;
      line-height:1.8;
    }

    .dock{
      position:relative;
      overflow:hidden;
    }

    .dock::after{
      content:"";
      position:absolute;
      right:-28px;
      bottom:-28px;
      width:92px;
      height:92px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(255,255,255,.06), transparent 68%);
      pointer-events:none;
    }

    .lane-head h3{
      letter-spacing:-.02em;
    }

    .item{
      border-radius:16px;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }

    .btn,
    .mini,
    .login-box button{
      box-shadow:
        0 14px 28px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.06);
    }

    .btn,
    .mini{
      border-radius:14px;
    }

    .modal-content{
      border-radius:30px;
      box-shadow:
        0 28px 84px rgba(0,0,0,.50),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .modal-head{
      border-radius:22px;
    }

    .login-box{
      border-radius:38px !important;
    }

    .login-feature,
    .login-kpi,
    .login-visual-card,
    .login-flow{
      box-shadow:
        0 16px 40px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .clickable{
      cursor:pointer;
    }

    .page-accent-line{
      margin-top:12px;
      width:120px;
      height:4px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(37,99,235,.95), rgba(8,145,178,.95), rgba(124,58,237,.88));
      box-shadow:0 0 20px rgba(37,99,235,.18);
    }

    .topbar-actions-note{
      width:100%;
      margin-top:8px;
      color:var(--muted);
      font-size:12px;
      line-height:1.7;
    }

    @media (max-width:900px){
      .title h1{font-size:30px}
      .kpi .value{font-size:30px}
      .brand-wrap{padding:6px 8px}
    }


    .topbar-meta-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:14px;
    }

    .topbar-meta-pill{
      min-width:170px;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.07);
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
    }

    .topbar-meta-pill span{
      display:block;
      font-size:10px;
      text-transform:uppercase;
      letter-spacing:.06em;
      color:var(--muted);
      margin-bottom:6px;
      font-weight:800;
    }

    .topbar-meta-pill strong{
      display:block;
      font-size:13px;
      line-height:1.3;
      color:var(--text);
    }

    .login-showcase::after{
      content:"";
      position:absolute;
      right:-30px;
      bottom:-30px;
      width:140px;
      height:140px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(37,99,235,.12), transparent 70%);
      pointer-events:none;
      filter:blur(8px);
    }

    .login-showcase{
      position:relative;
      overflow:hidden;
    }

    @media (max-width:900px){
      .topbar-meta-row{
        gap:8px;
      }
      .topbar-meta-pill{
        min-width:unset;
        flex:1 1 100%;
      }
    }


    .sidebar-ultra-premium{
      background:
        linear-gradient(180deg, rgba(3,4,6,.98), rgba(5,7,10,.97)),
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 26%);
      border-right:1px solid rgba(255,255,255,.06);
      box-shadow:
        18px 0 48px rgba(0,0,0,.28),
        inset -1px 0 0 rgba(255,255,255,.02);
      position:sticky;
      overflow-x:hidden;
    }

    .sidebar-ultra-premium::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%),
        radial-gradient(circle at bottom left, rgba(37,99,235,.08), transparent 24%);
      pointer-events:none;
      opacity:.9;
    }

    .sidebar > *{
      position:relative;
      z-index:1;
    }

    .sidebar-top{
      align-items:flex-start;
      gap:12px;
    }

    .brand-wrap{
      width:100%;
      align-items:center;
      gap:14px;
      padding:12px 12px 14px;
      border-radius:24px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%);
      border:1px solid rgba(255,255,255,.05);
      box-shadow:
        0 16px 30px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .brand-wrap .brand-title{
      line-height:1;
      margin-bottom:6px;
    }

    .brand-sub{
      max-width:140px;
      line-height:1.55;
    }

    .sidebar-toggle{
      margin-top:10px;
      flex-shrink:0;
    }

    .user-box{
      margin-top:14px;
      border-radius:22px;
      padding:16px 16px 15px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
        radial-gradient(circle at bottom right, rgba(124,58,237,.06), transparent 24%);
      border:1px solid rgba(255,255,255,.06);
      box-shadow:
        0 14px 28px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .user-box strong{
      font-size:14px;
      letter-spacing:.01em;
    }

    .sidebar-divider-premium{
      height:1px;
      margin:16px 2px 14px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
      opacity:.9;
    }

    .premium-menu{
      gap:12px;
    }

    .premium-menu button{
      min-height:56px;
      padding:14px 16px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.06);
      background:
        linear-gradient(180deg, rgba(10,12,16,.98), rgba(7,9,12,.96)),
        radial-gradient(circle at top left, rgba(255,255,255,.03), transparent 30%);
      box-shadow:
        0 14px 28px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.03);
      display:flex;
      align-items:center;
      gap:12px;
    }

    .premium-menu button::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(37,99,235,.12), transparent 38%),
        radial-gradient(circle at right, rgba(255,255,255,.03), transparent 26%);
      opacity:0;
      transition:.22s ease;
      pointer-events:none;
    }

    .premium-menu button:hover,
    .premium-menu button.active{
      transform:translateX(4px);
      border-color:rgba(96,165,250,.20);
      box-shadow:
        0 18px 34px rgba(0,0,0,.22),
        0 0 0 4px rgba(37,99,235,.07);
    }

    .premium-menu button.active{
      background:
        linear-gradient(135deg, rgba(34,72,179,.96), rgba(37,99,235,.94)),
        radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 30%);
    }

    .premium-menu button:hover::after,
    .premium-menu button.active::after{
      opacity:1;
    }

    .premium-menu .menu-icon{
      width:28px;
      height:28px;
      min-width:28px;
      border-radius:12px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
      border:1px solid rgba(255,255,255,.07);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }

    .premium-menu button.active .menu-icon{
      background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
      border-color:rgba(255,255,255,.12);
    }

    .premium-menu .menu-text{
      font-size:14px;
      font-weight:800;
      letter-spacing:.01em;
    }

    .sidebar-note{
      margin-top:18px;
      border-radius:22px;
      padding:16px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
        radial-gradient(circle at top right, rgba(8,145,178,.08), transparent 24%);
      border:1px solid rgba(255,255,255,.06);
      box-shadow:
        0 14px 30px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .logout-btn{
      margin-top:16px;
      min-height:52px;
      border-radius:18px;
      background:
        linear-gradient(135deg,#7f1d1d,#b91c1c);
      box-shadow:
        0 16px 28px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.05);
    }

    .app.sidebar-collapsed .brand-wrap{
      width:auto;
      padding:12px 10px;
      border-radius:22px;
    }

    .app.sidebar-collapsed .user-box{
      min-height:58px;
      border-radius:18px;
    }

    .app.sidebar-collapsed .premium-menu{
      gap:14px;
    }

    .app.sidebar-collapsed .premium-menu button{
      min-height:56px;
      border-radius:20px;
      padding:12px;
      justify-content:center;
      transform:none;
    }

    .app.sidebar-collapsed .premium-menu button:hover,
    .app.sidebar-collapsed .premium-menu button.active{
      transform:translateY(-1px);
    }

    .app.sidebar-collapsed .premium-menu .menu-icon{
      width:30px;
      height:30px;
      min-width:30px;
      border-radius:14px;
      margin:0;
    }

    .app.sidebar-collapsed .sidebar-divider-premium,
    .app.sidebar-collapsed .sidebar-note,
    .app.sidebar-collapsed .logout-btn,
    .app.sidebar-collapsed .user-box{
      opacity:1;
    }

    @media (max-width:900px){
      .sidebar-ultra-premium{
        width:min(88vw, 340px);
      }

      .premium-menu button{
        min-height:54px;
      }
    }


    /* ===== Sidebar compact vNext ===== */
    .app{
      transition:grid-template-columns .28s ease;
    }

    .sidebar-ultra-premium{
      transition:padding .26s ease, width .26s ease, background .26s ease, border-color .26s ease, box-shadow .26s ease;
    }

    .app.sidebar-collapsed .sidebar{
      padding-left:8px !important;
      padding-right:8px !important;
      width:var(--sidebar-collapsed);
    }

    .app.sidebar-collapsed .premium-sidebar-top{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:10px;
      margin-bottom:10px;
    }

    .app.sidebar-collapsed .brand-wrap{
      width:56px;
      min-width:56px;
      max-width:56px;
      padding:8px;
      margin:0 auto;
      justify-content:center;
      border-radius:20px;
    }

    .app.sidebar-collapsed .brand-logo{
      width:40px;
      height:40px;
      min-width:40px;
      min-height:40px;
      padding:4px;
      border-radius:14px;
      margin:0 auto;
    }

    .app.sidebar-collapsed .sidebar-toggle{
      width:40px;
      height:40px;
      min-width:40px;
      border-radius:14px;
      margin:0 auto;
    }

    .app.sidebar-collapsed .user-box,
    .app.sidebar-collapsed .sidebar-note,
    .app.sidebar-collapsed .logout-btn,
    .app.sidebar-collapsed .sidebar-divider-premium{
      display:none !important;
    }

    .app.sidebar-collapsed .premium-menu{
      gap:10px;
      align-items:center;
    }

    .app.sidebar-collapsed .premium-menu button{
      width:56px;
      min-width:56px;
      height:56px;
      min-height:56px;
      padding:0 !important;
      border-radius:18px;
      justify-content:center !important;
      align-items:center;
      margin:0 auto;
      transform:none !important;
    }

    .app.sidebar-collapsed .premium-menu button .menu-text{
      display:none !important;
    }

    .app.sidebar-collapsed .premium-menu .menu-icon{
      width:28px;
      height:28px;
      min-width:28px;
      border-radius:12px;
      margin:0 auto;
    }

    .app.sidebar-collapsed .premium-menu button:hover,
    .app.sidebar-collapsed .premium-menu button.active{
      box-shadow:
        0 16px 30px rgba(0,0,0,.24),
        0 0 0 4px rgba(37,99,235,.07);
    }

    .app.sidebar-collapsed .premium-menu button::after{
      opacity:.55;
    }

    /* smoother global motion */
    .menu button,
    .card,
    .kpi,
    .dock,
    .lane,
    .item,
    .topbar,
    .sidebar-toggle,
    .topbar-menu-toggle{
      transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease,
        opacity .22s ease;
    }

    /* topbar and cards closer to sidebar premium level */
    .topbar{
      background:
        radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 22%),
        radial-gradient(circle at bottom right, rgba(8,145,178,.08), transparent 20%),
        linear-gradient(180deg, rgba(8,10,14,.98), rgba(5,7,10,.96));
      border:1px solid rgba(255,255,255,.07);
      box-shadow:
        0 26px 64px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.04);
    }

    .card,
    .section-hero-card,
    .report-hero-card,
    .modal-card,
    .premium-table-card{
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%),
        linear-gradient(180deg, rgba(9,12,16,.98), rgba(6,8,11,.96));
      border:1px solid rgba(255,255,255,.07);
      box-shadow:
        0 20px 44px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .kpi{
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 26%),
        linear-gradient(180deg, rgba(12,15,20,.98), rgba(8,10,14,.96));
      border:1px solid rgba(255,255,255,.07);
    }

    .welcome-strip{
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 18%),
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
      border:1px solid rgba(255,255,255,.07);
      box-shadow:
        0 18px 40px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    @media (max-width:900px){
      .app.sidebar-collapsed .sidebar{
        transform:translateX(-108%);
      }

      .app:not(.sidebar-collapsed) .sidebar{
        transform:translateX(0);
      }
    }


    /* ===== Next version refinement ===== */
    .topbar{
      border-radius:36px;
      padding:24px 26px;
    }
    .topbar .title p{
      max-width:780px;
    }
    .topbar .actions{
      min-width:min(460px,100%);
      border-radius:24px;
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
    }

    .kpi{
      min-height:132px;
      border-radius:26px;
    }
    .kpi-icon{
      width:42px;
      height:42px;
      border-radius:14px;
      box-shadow:
        0 10px 22px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.04);
    }
    .kpi .label{
      font-size:11px;
      letter-spacing:.05em;
    }
    .kpi .sub{
      line-height:1.6;
    }

    .welcome-pill,
    .section-mini,
    .report-mini,
    .modal-summary-card,
    .stage-kpi{
      border-radius:20px;
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.06), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    }

    .premium-table-head{
      padding:20px 20px 14px;
    }

    .lane{
      border-radius:20px;
      padding:14px;
    }

    .item{
      border-radius:16px;
      padding:12px;
    }

    .dock{
      border-radius:20px;
      padding:16px;
    }

    .modal-content{
      border-radius:34px;
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 20%),
        linear-gradient(180deg, rgba(9,12,16,.985), rgba(6,8,11,.975));
    }
    .modal-head{
      border-radius:24px;
      padding:16px 18px;
    }
    .modal-grid{
      gap:18px;
    }
    .modal-card{
      border-radius:24px;
      padding:20px;
    }

    .premium-hero-strip{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      margin-top:16px;
    }
    .premium-hero-item{
      border:1px solid rgba(255,255,255,.07);
      border-radius:20px;
      padding:14px 16px;
      background:
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
      box-shadow:
        0 14px 30px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.03);
    }
    .premium-hero-item span{
      display:block;
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.05em;
      font-weight:800;
      margin-bottom:8px;
    }
    .premium-hero-item strong{
      display:block;
      font-size:26px;
      line-height:1;
    }

    .premium-section-header{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:14px;
      flex-wrap:wrap;
      margin-bottom:14px;
    }
    .premium-section-header .note{
      color:var(--muted);
      font-size:12px;
      line-height:1.7;
      max-width:520px;
    }

    .app.sidebar-collapsed .premium-menu button[data-label]:hover::after{
      left:calc(100% + 14px);
      border-radius:16px;
      padding:11px 15px;
    }

    @media (max-width:1200px){
      .premium-hero-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }
    @media (max-width:900px){
      .premium-hero-strip{
        grid-template-columns:1fr;
      }
    }


    /* ===== Next version: calendar icon fix ===== */
    input[type="date"]{
      color-scheme: dark;
      position:relative;
      padding-right:42px;
    }

    input[type="date"]::-webkit-calendar-picker-indicator{
      opacity:1;
      cursor:pointer;
      filter: invert(88%) sepia(17%) saturate(432%) hue-rotate(180deg) brightness(108%) contrast(96%);
    }

    input[type="date"]::-webkit-inner-spin-button,
    input[type="date"]::-webkit-clear-button{
      display:none;
    }

    .actions input[type="date"]{
      background:
        linear-gradient(180deg, rgba(8,10,14,.96), rgba(5,7,10,.94));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:
        0 12px 24px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .actions input[type="date"]:hover{
      border-color:rgba(96,165,250,.22);
    }

    .topbar .actions{
      align-items:flex-end;
    }

    .topbar .actions .btn{
      min-height:44px;
    }

.report-mini-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.chart-helper{
  margin:6px 0 12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}

@media (max-width:900px){
  .report-mini-grid-3{
    grid-template-columns:1fr;
  }
}


    .premium-chart-card{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      background:
        radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
        linear-gradient(180deg, rgba(17,28,47,.78), rgba(13,23,39,.50));
      box-shadow:
        0 18px 34px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.03);
    }

    .premium-chart-card::after{
      content:"";
      position:absolute;
      right:-34px;
      bottom:-34px;
      width:110px;
      height:110px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%);
      pointer-events:none;
      opacity:.5;
    }

    .premium-chart-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:14px;
      position:relative;
      z-index:1;
    }

    .premium-chart-head h2{
      margin:0;
    }

    .premium-chart-badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      color:#dbe7ff;
      font-size:11px;
      font-weight:900;
      letter-spacing:.05em;
      text-transform:uppercase;
      box-shadow:0 10px 22px rgba(0,0,0,.10);
    }

    .premium-canvas-wrap{
      position:relative;
      padding:14px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.07);
      background:
        linear-gradient(180deg, rgba(5,10,18,.88), rgba(8,13,22,.76));
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 14px 30px rgba(0,0,0,.12);
      min-height:260px;
      display:flex;
      align-items:center;
    }

    .premium-canvas-wrap canvas{
      position:relative;
      z-index:1;
    }

    .premium-canvas-wrap::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:22px;
      background:
        radial-gradient(circle at top left, rgba(59,130,246,.08), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.02), transparent 35%);
      pointer-events:none;
    }

/* ===== RESULTADO SEPARACAO / PASSAGEM TURNO ===== */
.resultado-top-grid{align-items:stretch}
.resultado-metric-card,.passagem-kpi-card{padding:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border-radius:22px}
.resultado-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.resultado-tag.green{background:rgba(34,197,94,.14);color:#bbf7d0}
.resultado-tag.blue{background:rgba(59,130,246,.14);color:#bfdbfe}
.resultado-tag.gray{background:rgba(148,163,184,.14);color:#e2e8f0}
.resultado-tag.orange{background:rgba(245,158,11,.14);color:#fde68a}
.resultado-tag.red{background:rgba(239,68,68,.14);color:#fecaca}
.resultado-duo{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.resultado-duo span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.resultado-duo strong{font-size:34px;line-height:1;display:block}
.resultado-chart-wrap canvas{max-height:260px}
.resultado-table-wrap{margin-top:14px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.resultado-form-card{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-radius:22px;padding:16px}
.resultado-form-card h3{margin:0 0 12px;color:#e8eefc}
.resultado-fields{grid-template-columns:repeat(2,1fr)}
.resultado-turno-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.resultado-turno-card{padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(7,12,20,.42)}
.resultado-turno-card h4{margin:0 0 10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fde68a}
.resultado-turno-card label,.passagem-area-card label,.passagem-mini-input label{display:block;font-size:11px;color:var(--muted);margin:8px 0 6px;text-transform:uppercase;letter-spacing:.08em}
.passagem-header-grid{align-items:end}
.passagem-actions{display:flex;gap:10px;align-items:end;height:100%}
.passagem-grid-main{align-items:start}
.passagem-card{padding:18px}
.passagem-left-col{display:flex;flex-direction:column}
.passagem-donut-row{display:grid;grid-template-columns:210px 1fr;gap:14px;align-items:center}
.passagem-donut-wrap{height:220px}
.passagem-legend-inputs,.passagem-mini-inputs{display:grid;gap:10px}
.passagem-mini-inputs{grid-template-columns:repeat(3,1fr);margin-top:10px}
.passagem-legend-inputs input,.passagem-mini-input input,.passagem-area-card input,.resultado-turno-card input,.resultado-form-card input,.passagem-header-grid input,.passagem-header-grid select,.passagem-textarea{width:100%;background:#0a0d12;color:#fff;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:11px 12px;font-size:14px}
.passagem-area-grid{gap:12px}
.passagem-area-card{padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(7,12,20,.42)}
.passagem-area-card h4{margin:0 0 6px;font-size:13px;color:#e8eefc;min-height:34px}
.passagem-textarea{min-height:220px;resize:vertical}
.passagem-mini-chart{padding:18px}.passagem-mini-chart h3{margin:0 0 12px;color:#e8eefc}
@media (max-width:1200px){.resultado-turno-grid{grid-template-columns:1fr}.passagem-area-grid{grid-template-columns:repeat(2,1fr)}.passagem-donut-row{grid-template-columns:1fr}.passagem-mini-inputs{grid-template-columns:1fr}}
@media (max-width:900px){.resultado-duo{grid-template-columns:1fr}.passagem-actions{flex-direction:column}.passagem-area-grid{grid-template-columns:1fr}.resultado-fields{grid-template-columns:1fr}}


/* ===== AJUSTE PASSAGEM DE TURNO • MINI GRÁFICOS ===== */
.passagem-left-col .grid.grid-3{
  align-items:start;
}
.passagem-mini-chart{
  padding:16px;
  min-height:230px;
  max-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}
.passagem-mini-chart h3{
  margin:0 0 10px;
  flex:0 0 auto;
}
.passagem-mini-chart canvas{
  width:100% !important;
  height:150px !important;
  max-height:150px !important;
  flex:0 0 150px;
}
.passagem-card{
  overflow:hidden;
}
@media (max-width: 1400px){
  .passagem-left-col .grid.grid-3{
    grid-template-columns:1fr;
  }
  .passagem-mini-chart{
    min-height:210px;
    max-height:210px;
  }
  .passagem-mini-chart canvas{
    height:130px !important;
    max-height:130px !important;
    flex-basis:130px;
  }
}
@media (max-width: 900px){
  .passagem-mini-chart{
    min-height:200px;
    max-height:200px;
  }
  .passagem-mini-chart canvas{
    height:120px !important;
    max-height:120px !important;
    flex-basis:120px;
  }
}


/* ===== PASSAGEM DE TURNO • AJUSTE COMPACTO EXTRA ===== */
.passagem-left-col{
  display:grid !important;
  grid-template-rows:auto auto;
  gap:16px;
  align-items:start;
}

.passagem-left-col > .card:first-child{
  min-height:auto;
}

.passagem-left-col .grid.grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}

.passagem-mini-chart{
  min-height:180px !important;
  max-height:180px !important;
  padding:14px !important;
}

.passagem-mini-chart h3{
  font-size:15px;
  margin-bottom:8px !important;
}

.passagem-mini-chart canvas{
  height:96px !important;
  max-height:96px !important;
  min-height:96px !important;
}

.passagem-mini-inputs{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:8px !important;
}

.passagem-mini-input label{
  font-size:11px;
}

.passagem-mini-input input{
  height:38px;
  padding:8px 10px;
  border-radius:12px;
}

.passagem-donut-wrap{
  height:180px !important;
}

.passagem-donut-row{
  grid-template-columns:180px 1fr !important;
  gap:12px !important;
  align-items:start !important;
}

.passagem-area-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.passagem-area-card{
  padding:12px !important;
}

.passagem-area-card h4{
  min-height:0 !important;
  font-size:12px !important;
  line-height:1.35;
}

.passagem-area-card label{
  font-size:11px;
}

.passagem-area-card input{
  height:38px;
  padding:8px 10px;
}

@media (max-width: 1500px){
  .passagem-left-col .grid.grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .passagem-area-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 1100px){
  .passagem-donut-row{
    grid-template-columns:1fr !important;
  }
  .passagem-left-col .grid.grid-3{
    grid-template-columns:1fr !important;
  }
  .passagem-area-grid{
    grid-template-columns:1fr !important;
  }
  .passagem-mini-chart{
    min-height:170px !important;
    max-height:170px !important;
  }
}


/* ===== RESULTADO SEPARAÇÃO • REFORMA PREMIUM ===== */
.resultado-filter-row{display:flex;gap:12px;align-items:end;margin-top:16px;flex-wrap:wrap}
.resultado-filter-field{min-width:220px;flex:0 0 220px}
.resultado-filter-note{flex:1 1 320px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));padding:12px 14px}
.resultado-filter-note span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.resultado-filter-note strong{font-size:14px;color:#eef4ff}
.resultado-metric-card-hero{min-height:124px;display:flex;flex-direction:column;justify-content:space-between}
.resultado-canvas-premium{min-height:310px}
.resultado-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.resultado-summary-card{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.resultado-summary-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.10em;margin-bottom:10px}
.resultado-summary-card strong{display:block;font-size:28px;line-height:1;color:#fff}
.resultado-summary-card small{display:block;color:#c8d6ef;font-size:11px;margin-top:10px}
.resultado-summary-card.capacidade strong{color:#fdba74}
.resultado-summary-card.realizado strong{color:#67e8f9}
.resultado-summary-card.eficiencia strong{color:#86efac}
.resultado-config-shell{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-radius:24px}
.resultado-mao-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resultado-mao-card{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;background:radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 26%),linear-gradient(180deg,rgba(7,12,22,.90),rgba(6,10,18,.96));box-shadow:0 18px 44px rgba(0,0,0,.16)}
.resultado-mao-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.resultado-mao-card-head h3{margin:0;font-size:26px;line-height:1}
.resultado-mao-card-head span{color:#bfdbfe;font-size:11px;text-transform:uppercase;letter-spacing:.10em;font-weight:800}
.resultado-mao-section{border:1px solid rgba(255,255,255,.07);border-radius:20px;background:rgba(255,255,255,.02);padding:14px;margin-bottom:14px}
.resultado-mao-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.resultado-mao-section-title strong{color:#fff;font-size:15px}
.resultado-mao-section-title small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:right}
.resultado-mao-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.resultado-mao-input-grid label{display:block;font-size:11px;color:var(--muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em}
.resultado-mao-input-grid input{width:100%;background:#0a0d12;color:#fff;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:11px 12px;font-size:14px}
.resultado-mao-input-grid-ho{grid-template-columns:repeat(2,minmax(0,1fr))}
.resultado-total-strip{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.resultado-total-strip span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.resultado-total-strip strong{color:#fff;font-size:24px;line-height:1}
.resultado-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.resultado-kpi-mini{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;background:rgba(255,255,255,.02)}
.resultado-kpi-mini span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}
.resultado-kpi-mini strong{display:block;font-size:22px;line-height:1;color:#fff}
.resultado-kpi-mini.good strong{color:#86efac}
@media (max-width: 1400px){.resultado-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resultado-mao-grid{grid-template-columns:1fr}}
@media (max-width: 860px){.resultado-mao-input-grid,.resultado-mao-input-grid-ho,.resultado-kpi-row,.resultado-duo,.resultado-summary-grid{grid-template-columns:1fr}.resultado-filter-field{flex:1 1 100%;min-width:0}.resultado-filter-note{flex-basis:100%}}


/* ===== AJUSTES PASSAGEM DE TURNO / TURNO EXPEDIDO ===== */
.passagem-kpi-card{
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  border-radius:22px;
  min-height:132px;
}

.resultado-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.resultado-tag.green{background:rgba(34,197,94,.14);color:#bbf7d0}
.resultado-tag.blue{background:rgba(59,130,246,.14);color:#bfdbfe}
.resultado-tag.gray{background:rgba(148,163,184,.14);color:#e2e8f0}
.resultado-tag.orange{background:rgba(245,158,11,.14);color:#fde68a}
.resultado-tag.red{background:rgba(239,68,68,.14);color:#fecaca}

.resultado-duo{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.resultado-duo span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:6px;
}

.resultado-duo strong{
  font-size:34px;
  line-height:1;
  display:block;
}

.passagem-kpi-card small{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.passagem-header-grid{align-items:end}
.passagem-actions{display:flex;gap:10px;align-items:end;height:100%}
.passagem-grid-main{align-items:start}
.passagem-card{padding:18px}
.passagem-left-col{display:flex;flex-direction:column}
.passagem-donut-row{display:grid;grid-template-columns:210px 1fr;gap:14px;align-items:center}
.passagem-donut-wrap{height:220px}

.passagem-legend-inputs,
.passagem-mini-inputs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.passagem-legend-inputs label,
.passagem-area-card label,
.passagem-mini-input label{
  display:block;
  font-size:11px;
  color:var(--muted);
  margin:8px 0 6px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.passagem-mini-chart{
  min-height:290px;
}

.passagem-mini-chart h3{
  margin:0 0 10px;
}

.passagem-mini-chart canvas{
  max-height:150px;
}

.passagem-mini-input{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.passagem-mini-input input{
  width:100%;
}

.passagem-area-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.passagem-area-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
  padding:14px;
}

.passagem-area-card h3{
  margin:0 0 10px;
  font-size:14px;
  color:#e8eefc;
}

.passagem-area-card .passagem-area-grid-mini{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

#view-passagem-turno .report-mini-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

#view-passagem-turno select#m_turno_expedido,
#view-passagem-turno input#m_fim_carregamento{
  width:100%;
}

@media (max-width:1400px){
  .passagem-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  .passagem-donut-row{grid-template-columns:1fr}
  .passagem-legend-inputs,
  .passagem-mini-inputs{grid-template-columns:1fr}
  #view-passagem-turno .report-mini-grid-3{grid-template-columns:1fr}
}

@media (max-width:640px){
  .resultado-duo{grid-template-columns:1fr}
  .passagem-area-grid{grid-template-columns:1fr}
}



/* ===== CORREÇÃO VISUAL DOS CAMPOS PREENCHÍVEIS DA PASSAGEM ===== */
#view-passagem-turno .passagem-mini-chart{
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:18px;
}

#view-passagem-turno .passagem-mini-chart h3{
  margin:0 0 12px;
  flex:0 0 auto;
}

#view-passagem-turno .passagem-mini-chart canvas{
  display:block;
  width:100% !important;
  height:150px !important;
  max-height:150px !important;
  flex:0 0 auto;
}

#view-passagem-turno .passagem-mini-inputs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:14px !important;
  width:100%;
  flex:1 1 auto;
  align-items:end;
}

#view-passagem-turno .passagem-mini-input{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  min-width:0;
}

#view-passagem-turno .passagem-mini-input label{
  display:block !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1.25 !important;
  color:var(--muted) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  white-space:normal !important;
}

#view-passagem-turno .passagem-mini-input input{
  display:block !important;
  width:100% !important;
  min-height:42px !important;
  padding:11px 12px !important;
  border-radius:14px !important;
  background:#0a0d12 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.10) !important;
  appearance:textfield;
}

#view-passagem-turno .passagem-mini-input input::-webkit-outer-spin-button,
#view-passagem-turno .passagem-mini-input input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

@media (max-width:900px){
  #view-passagem-turno .passagem-mini-chart{
    min-height:auto;
  }
  #view-passagem-turno .passagem-mini-inputs{
    grid-template-columns:1fr !important;
  }
}



/* ===== PASSAGEM DE TURNO: FÉRIAS / AUSÊNCIAS / BANCO DE HORAS NO PADRÃO M/O ===== */
#view-passagem-turno .passagem-mini-chart-premium{
  padding:18px;
  min-height:276px;
}

#view-passagem-turno .passagem-mini-chart-premium .card-title-row{
  margin-bottom:14px;
}

#view-passagem-turno .passagem-mini-chart-premium .card-title-row p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

#view-passagem-turno .passagem-mini-chart-body{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:16px;
  align-items:center;
}

#view-passagem-turno .passagem-mini-chart-canvas-wrap{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
}

#view-passagem-turno .passagem-mini-chart-canvas-wrap canvas{
  width:100% !important;
  height:150px !important;
  max-height:150px !important;
}

#view-passagem-turno .passagem-mini-inputs-premium{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:0 !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input label{
  display:block !important;
  margin:0 !important;
  font-size:11px !important;
  color:var(--muted) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input input{
  width:100% !important;
  min-height:40px !important;
}

@media (max-width: 1200px){
  #view-passagem-turno .passagem-mini-chart-body{
    grid-template-columns:1fr;
  }
  #view-passagem-turno .passagem-mini-chart-canvas-wrap{
    min-height:130px;
  }
}

@media (max-width: 700px){
  #view-passagem-turno .passagem-mini-inputs-premium{
    grid-template-columns:1fr !important;
  }
}



/* ===== PASSAGEM DE TURNO: INDICADORES SEM GRÁFICO ===== */
#view-passagem-turno .passagem-mini-chart-premium{
  padding:18px;
  min-height:240px;
}

#view-passagem-turno .passagem-mini-form-body{
  margin-top:8px;
}

#view-passagem-turno .passagem-mini-inputs-premium{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:0 !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input label{
  display:block !important;
  margin:0 !important;
  font-size:11px !important;
  color:var(--muted) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

#view-passagem-turno .passagem-mini-inputs-premium .passagem-mini-input input{
  width:100% !important;
  min-height:42px !important;
  padding:11px 12px !important;
  border-radius:14px !important;
}

@media (max-width: 700px){
  #view-passagem-turno .passagem-mini-inputs-premium{
    grid-template-columns:1fr !important;
  }
}


/* ===== AJUSTE RESUMO PASSAGEM ===== */
#view-passagem-turno .section-mini-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (max-width:900px){
  #view-passagem-turno .section-mini-grid{
    grid-template-columns:1fr;
  }
}


/* ===== PASSAGEM DE TURNO V3 | AJUSTE PARA FICAR IGUAL À PRÉVIA ===== */
#view-passagem-turno .report-hero,
#view-passagem-turno > .card.soft-glow[style*="margin-bottom:16px"],
#view-passagem-turno > .grid.grid-2.passagem-grid-main,
#view-passagem-turno > .grid.grid-4[style*="margin-top:16px"],
#view-passagem-turno > .grid.grid-2[style*="margin-top:16px"]{display:none !important}
#view-passagem-turno .pt3-shell{display:flex;flex-direction:column;gap:18px}
#view-passagem-turno .pt3-top{display:grid;grid-template-columns:1.2fr .7fr auto;gap:16px;align-items:stretch}
#view-passagem-turno .pt3-hero,#view-passagem-turno .pt3-steps,#view-passagem-turno .pt3-panel,#view-passagem-turno .pt3-areas,#view-passagem-turno .pt3-preview,#view-passagem-turno .pt3-bottom-card,#view-passagem-turno .pt3-status,.pt3-kpi{padding:18px}
#view-passagem-turno .pt3-hero h2{margin:0 0 8px;font-size:22px}
#view-passagem-turno .pt3-hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
#view-passagem-turno .pt3-steps{display:flex;align-items:center;justify-content:center;gap:18px}
#view-passagem-turno .pt3-step{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:11px}
#view-passagem-turno .pt3-step span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.02);font-weight:800}
#view-passagem-turno .pt3-step.active{color:#23e7b4}
#view-passagem-turno .pt3-step.active span{border-color:rgba(16,185,129,.55);box-shadow:0 0 0 4px rgba(16,185,129,.08)}
#view-passagem-turno .pt3-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end}
#view-passagem-turno .pt3-layout{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(340px,.9fr);gap:16px;align-items:start}
#view-passagem-turno .pt3-main{display:flex;flex-direction:column;gap:16px}
#view-passagem-turno .pt3-kpis{display:grid;grid-template-columns:1.1fr .8fr repeat(4,1fr);gap:10px}
#view-passagem-turno .pt3-kpi{display:flex;flex-direction:column;gap:8px}
#view-passagem-turno .pt3-kpi span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8ba0c2}
#view-passagem-turno .pt3-kpi strong{font-size:18px;line-height:1}
#view-passagem-turno .pt3-kpi small{color:#96aac9;font-size:11px}
#view-passagem-turno .pt3-kpi input,#view-passagem-turno .pt3-kpi select{width:100%;background:#0a0d12;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 11px}
#view-passagem-turno .pt3-kpi-danger strong{color:#fb7185}
#view-passagem-turno .pt3-grid-a{display:grid;grid-template-columns:1.18fr .92fr .92fr;gap:10px}
#view-passagem-turno .pt3-grid-b{display:grid;grid-template-columns:.95fr 1.55fr;gap:10px}
#view-passagem-turno .pt3-chart-form{display:grid;grid-template-columns:165px 1fr;gap:12px;align-items:center}
#view-passagem-turno .pt3-total-box{grid-column:1/-1}
#view-passagem-turno .pt3-total-value{min-height:38px;border-radius:12px;padding:8px 10px;background:#0a0d12;border:1px solid rgba(255,255,255,.1);font-size:16px;font-weight:800;color:#fff}
#view-passagem-turno .pt3-mini-layout{display:grid;grid-template-columns:98px 1fr;gap:12px;align-items:center}
#view-passagem-turno .pt3-mini-canvas{height:120px;display:flex;align-items:center;justify-content:center}
#view-passagem-turno .pt3-mini-canvas canvas{width:100% !important;height:120px !important;display:block !important}
#view-passagem-turno .passagem-mini-inputs-v2{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important}
#view-passagem-turno .passagem-mini-inputs-v2 .passagem-mini-input{display:flex !important;flex-direction:column !important;gap:5px !important}
#view-passagem-turno .passagem-mini-inputs-v2 .passagem-mini-input label{display:block !important;font-size:9px !important;color:#8ba0c2 !important;margin:0 !important;text-transform:uppercase !important;letter-spacing:.08em !important}
#view-passagem-turno .passagem-mini-inputs-v2 .passagem-mini-input input{width:100% !important;background:#0a0d12 !important;color:#fff !important;border:1px solid rgba(255,255,255,.1) !important;border-radius:10px !important;padding:8px 10px !important;min-height:34px !important;font-size:13px !important}
#view-passagem-turno .passagem-legend-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
#view-passagem-turno .passagem-legend-inputs label,#view-passagem-turno .pt3-bottom-card label{display:block;font-size:10px;color:#8ba0c2;margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em}
#view-passagem-turno .passagem-legend-inputs input,#view-passagem-turno .pt3-bottom-card input,#view-passagem-turno .passagem-textarea{width:100%;background:#0a0d12;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 11px}
#view-passagem-turno .passagem-textarea{min-height:118px}
#view-passagem-turno .pt3-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
#view-passagem-turno .pt3-areas .passagem-area-grid{grid-template-columns:repeat(4,1fr)}
#view-passagem-turno .pt3-status{display:flex;justify-content:space-between;gap:16px;color:#86efac}
#view-passagem-turno .pt3-preview{position:sticky;top:18px}
#view-passagem-turno .pt3-mail-lines{display:flex;flex-direction:column;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
#view-passagem-turno .pt3-mail-lines div{display:grid;grid-template-columns:60px 1fr;gap:10px}
#view-passagem-turno .pt3-mail-lines span,.pt3-mail-text,.pt3-preview-note{color:#96aac9}
#view-passagem-turno .pt3-mail-text{line-height:1.6;font-size:13px}
#view-passagem-turno .pt3-attachment{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02);padding:12px;margin:12px 0;display:flex;flex-direction:column;gap:4px}
#view-passagem-turno .pt3-attachment span{font-size:12px;color:#96aac9}
#view-passagem-turno .pt3-preview-panel{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01))}
#view-passagem-turno .pt3-preview-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
#view-passagem-turno .pt3-chip{border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.03);color:#dbe7ff;font-size:12px}
#view-passagem-turno .pt3-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
#view-passagem-turno .pt3-preview-card{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.02)}
#view-passagem-turno .pt3-preview-card span{display:block;color:#8ba0c2;font-size:10px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}
#view-passagem-turno .pt3-preview-card strong{font-size:18px}
@media (max-width:1400px){#view-passagem-turno .pt3-layout{grid-template-columns:1fr}#view-passagem-turno .pt3-preview{position:static}}
@media (max-width:1200px){#view-passagem-turno .pt3-top,#view-passagem-turno .pt3-kpis,#view-passagem-turno .pt3-grid-a,#view-passagem-turno .pt3-grid-b,#view-passagem-turno .pt3-bottom{grid-template-columns:1fr}#view-passagem-turno .pt3-chart-form,#view-passagem-turno .pt3-mini-layout{grid-template-columns:1fr}#view-passagem-turno .pt3-areas .passagem-area-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== STATUS DA PASSAGEM DE TURNO ===== */
#view-passagem-turno .pt3-status{
  transition:all .2s ease;
}
#view-passagem-turno .pt3-status.is-idle{
  color:#cbd5e1;
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
#view-passagem-turno .pt3-status.is-saved{
  color:#86efac;
  border:1px solid rgba(16,185,129,.22);
  background:linear-gradient(180deg, rgba(16,185,129,.08), rgba(16,185,129,.04));
}
#view-passagem-turno .pt3-status.is-dirty{
  color:#fde68a;
  border:1px solid rgba(245,158,11,.24);
  background:linear-gradient(180deg, rgba(245,158,11,.08), rgba(245,158,11,.03));
}


/* ===== PASSAGEM DE TURNO V4 ===== */
#view-passagem-turno .pt3-kpis{
  gap:14px !important;
}
#view-passagem-turno .pt3-kpi{
  min-height:116px;
  justify-content:center;
  border-radius:20px !important;
}
#view-passagem-turno .pt3-kpi span{
  font-size:10px !important;
  letter-spacing:.14em !important;
}
#view-passagem-turno .pt3-kpi strong{
  font-size:30px !important;
  font-weight:800 !important;
}
#view-passagem-turno .pt3-kpi small{
  font-size:12px !important;
}
#view-passagem-turno .pt3-kpi.pt3-kpi-danger{
  box-shadow: inset 0 0 0 1px rgba(248,113,113,.16);
}
#view-passagem-turno .pt3-kpi.pt3-kpi-danger strong{
  color:#ff6b7d !important;
}

#view-passagem-turno .pt3-grid-a,
#view-passagem-turno .pt3-grid-b{
  gap:14px !important;
}

#view-passagem-turno .pt3-panel,
#view-passagem-turno .pt3-areas,
#view-passagem-turno .pt3-preview,
#view-passagem-turno .pt3-bottom-card{
  border-radius:22px !important;
}

#view-passagem-turno .pt3-panel{
  min-height:250px;
}

#view-passagem-turno .pt3-panel-big{
  min-height:300px;
}

#view-passagem-turno .card-title-row{
  align-items:flex-start !important;
  margin-bottom:14px !important;
}
#view-passagem-turno .card-title-row h3{
  font-size:20px !important;
}
#view-passagem-turno .card-title-row p{
  font-size:12px !important;
  line-height:1.45 !important;
}

#view-passagem-turno .premium-badge{
  padding:7px 12px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

#view-passagem-turno .pt3-chart-form{
  grid-template-columns:190px 1fr !important;
  gap:16px !important;
}
#view-passagem-turno .passagem-donut-wrap{
  min-height:190px;
}
#view-passagem-turno .passagem-legend-inputs{
  gap:12px !important;
}
#view-passagem-turno .passagem-legend-inputs input{
  min-height:42px !important;
}
#view-passagem-turno .pt3-total-value{
  min-height:44px !important;
  font-size:22px !important;
}

#view-passagem-turno .pt3-mini-layout{
  grid-template-columns:110px 1fr !important;
  gap:14px !important;
  min-height:150px;
}
#view-passagem-turno .pt3-mini-canvas{
  height:110px !important;
  min-height:110px !important;
  align-self:center;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.04);
  padding:8px;
}
#view-passagem-turno .pt3-mini-canvas canvas{
  height:94px !important;
}
#view-passagem-turno .passagem-mini-inputs-v2{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
#view-passagem-turno .passagem-mini-inputs-v2 .passagem-mini-input label{
  font-size:10px !important;
  min-height:14px;
}
#view-passagem-turno .passagem-mini-inputs-v2 .passagem-mini-input input{
  min-height:38px !important;
  border-radius:12px !important;
  font-size:14px !important;
  padding:9px 10px !important;
}

#view-passagem-turno .pt3-notes .passagem-textarea{
  min-height:160px !important;
  font-size:14px !important;
  line-height:1.55 !important;
  border-radius:16px !important;
}
#view-passagem-turno .pt3-bottom{
  gap:14px !important;
}
#view-passagem-turno .pt3-bottom-card input{
  min-height:44px !important;
}

#view-passagem-turno .pt3-areas .passagem-area-grid{
  gap:12px !important;
}
#view-passagem-turno .pt3-areas .passagem-area-grid > div{
  border-radius:18px !important;
  padding:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)) !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
#view-passagem-turno .pt3-areas .passagem-area-grid > div h4,
#view-passagem-turno .pt3-areas .passagem-area-grid > div .area-title{
  font-size:15px !important;
  font-weight:800 !important;
  margin-bottom:10px !important;
}
#view-passagem-turno .pt3-areas .passagem-area-grid > div label{
  font-size:10px !important;
  color:#8ba0c2 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
#view-passagem-turno .pt3-areas .passagem-area-grid > div input{
  min-height:40px !important;
  border-radius:12px !important;
}
#view-passagem-turno .pt3-status{
  font-size:13px !important;
  font-weight:700 !important;
  padding:14px 18px !important;
}

#view-passagem-turno .pt3-preview{
  min-height:100%;
}
#view-passagem-turno .pt3-mail-lines{
  gap:12px !important;
}
#view-passagem-turno .pt3-mail-lines div{
  grid-template-columns:68px 1fr !important;
}
#view-passagem-turno .pt3-preview-panel{
  border-radius:18px !important;
}
#view-passagem-turno .pt3-preview-grid{
  gap:10px !important;
}
#view-passagem-turno .pt3-preview-card{
  min-height:82px;
}
#view-passagem-turno .pt3-preview-card strong{
  font-size:24px !important;
}
#view-passagem-turno .pt3-preview-note{
  margin-top:12px !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

@media (max-width: 1200px){
  #view-passagem-turno .pt3-kpi strong{
    font-size:26px !important;
  }
  #view-passagem-turno .pt3-chart-form,
  #view-passagem-turno .pt3-mini-layout{
    grid-template-columns:1fr !important;
  }
}
/* ===== PASSAGEM DE TURNO V3 | SUBMENU COMO NAVEGAÇÃO ÚNICA ===== */
#view-passagem-turno .pt-split-header,
#view-passagem-turno .pt-split-tabs,
#view-passagem-turno .pt-split-tab,
#view-passagem-turno .pt-launch-actions,
#view-passagem-turno .pt-ind-actions{
  display:none !important;
}
#view-passagem-turno .pt-launch-top,
#view-passagem-turno .pt-ind-top{
  display:block !important;
  margin-bottom:16px;
}
#view-passagem-turno .pt-launch-hero,
#view-passagem-turno .pt-ind-hero{
  min-height:auto !important;
  padding:22px !important;
}
#view-passagem-turno .pt-launch-hero h2,
#view-passagem-turno .pt-ind-hero h2{
  font-size:24px !important;
  margin:0 0 8px !important;
}
#view-passagem-turno .pt-subview{
  display:none !important;
}
#view-passagem-turno .pt-subview.active{
  display:block !important;
}
#view-passagem-turno .pt-launch-shell,
#view-passagem-turno .pt-ind-shell{
  display:flex;
  flex-direction:column;
  gap:0;
}

/* ===== PASSAGEM DE TURNO V4 | VISUAL PRÓXIMO À REFERÊNCIA ===== */
#view-passagem-turno .pt-launch-top,
#view-passagem-turno .pt-ind-top{
  margin-bottom:18px !important;
}
#view-passagem-turno .pt-launch-hero,
#view-passagem-turno .pt-ind-hero{
  border-radius:26px !important;
  padding:24px 26px !important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 24%),
    linear-gradient(180deg, rgba(9,12,16,.98), rgba(6,8,11,.96)) !important;
}
#view-passagem-turno .pt-launch-hero h2,
#view-passagem-turno .pt-ind-hero h2{
  font-size:28px !important;
  line-height:1.08 !important;
}
#view-passagem-turno .pt-launch-hero h2::after,
#view-passagem-turno .pt-ind-hero h2::after{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  margin-left:10px;
  vertical-align:middle;
  box-shadow:0 0 14px rgba(34,197,94,.45);
}
#view-passagem-turno .pt-launch-hero p,
#view-passagem-turno .pt-ind-hero p{
  font-size:14px !important;
}
#view-passagem-turno .ptv4-kpis{
  gap:16px !important;
}
#view-passagem-turno .pt-launch-kpi,
#view-passagem-turno .pt-ind-kpi{
  border-radius:22px !important;
  min-height:118px !important;
  padding:18px 20px !important;
}
#view-passagem-turno .pt-launch-kpi strong,
#view-passagem-turno .pt-ind-kpi strong{
  font-size:26px !important;
  font-weight:800 !important;
}
#view-passagem-turno .pt-launch-kpi small,
#view-passagem-turno .pt-ind-kpi small{
  font-size:12px !important;
  color:#aabbd6 !important;
}
#view-passagem-turno .pt-launch-grid,
#view-passagem-turno .pt-ind-layout{
  gap:18px !important;
}
#view-passagem-turno .pt-launch-card,
#view-passagem-turno .pt-ind-panel,
#view-passagem-turno .pt3-preview,
#view-passagem-turno .pt-ind-bottom-card{
  border-radius:24px !important;
  padding:20px !important;
}
#view-passagem-turno .card-title-row h3{
  font-size:19px !important;
  font-weight:800 !important;
}
#view-passagem-turno .card-title-row p{
  font-size:12px !important;
  line-height:1.45 !important;
}
#view-passagem-turno .premium-badge{
  min-width:58px;
  text-align:center;
}
#view-passagem-turno .pt-launch-quadro-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:12px !important;
}
#view-passagem-turno .pt-launch-quadro-grid input,
#view-passagem-turno .pt-launch-mini-grid input,
#view-passagem-turno .pt-launch-closure-grid input,
#view-passagem-turno .pt-launch-closure-grid select,
#view-passagem-turno .passagem-textarea{
  min-height:38px !important;
  border-radius:12px !important;
  padding:10px 12px !important;
}
#view-passagem-turno .pt-launch-total-value,
#view-passagem-turno .pt-ind-summary-value{
  min-height:38px !important;
  border-radius:12px !important;
}
#view-passagem-turno .pt-launch-mini-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
#view-passagem-turno .passagem-area-card{
  border-radius:18px !important;
  padding:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)) !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
#view-passagem-turno .passagem-area-card h4{
  font-size:14px !important;
  margin-bottom:10px !important;
}
#view-passagem-turno .passagem-area-card input{
  min-height:36px !important;
  border-radius:10px !important;
}
#view-passagem-turno .ptv4-counter{
  display:flex;
  justify-content:flex-end;
  color:#9fb0ca;
  font-size:12px;
  margin-top:8px;
}
#view-passagem-turno .pt3-status{
  border-radius:18px !important;
  padding:14px 18px !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:18px !important;
  align-items:center;
}
#view-passagem-turno .pt3-status.is-idle,
#view-passagem-turno .pt3-status.is-dirty,
#view-passagem-turno .pt3-status.is-saved{
  background:linear-gradient(180deg, rgba(6,14,24,.96), rgba(6,11,18,.94)) !important;
  border:1px solid rgba(34,197,94,.18) !important;
  color:#86efac !important;
}
#view-passagem-turno .pt3-status #passagemStatusTexto{
  font-weight:800;
  color:#22c55e;
}
#view-passagem-turno .pt3-status #passagemStatusRascunho{
  color:#aabbd6;
}
#view-passagem-turno .pt-ind-row-a{
  grid-template-columns:1.25fr .8fr .8fr .8fr !important;
}
#view-passagem-turno .pt-ind-donut-row{
  grid-template-columns:210px 1fr !important;
}
#view-passagem-turno .passagem-donut-wrap{
  min-height:170px;
}
#view-passagem-turno .pt-ind-summary-grid,
#view-passagem-turno .pt-ind-mini-values{
  gap:10px !important;
}
#view-passagem-turno .pt-ind-mini-card{
  min-height:310px !important;
}
#view-passagem-turno .pt-ind-mini-chart{
  height:150px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005)) !important;
}
#view-passagem-turno .pt-ind-mini-chart canvas{
  height:134px !important;
}
#view-passagem-turno .pt-ind-notes-box{
  min-height:74px !important;
  border-radius:16px !important;
  display:flex;
  align-items:center;
}
#view-passagem-turno .pt-ind-bottom{
  gap:12px !important;
}
#view-passagem-turno .pt-ind-bottom-card{
  min-height:86px;
}
#view-passagem-turno .pt3-preview{
  min-height:100%;
}
#view-passagem-turno .pt3-mail-lines{
  gap:12px !important;
}
#view-passagem-turno .pt3-mail-lines div{
  grid-template-columns:56px 1fr !important;
}
#view-passagem-turno .pt3-attachment{
  padding:14px !important;
  border-radius:16px !important;
}
#view-passagem-turno .pt3-preview-panel{
  border-radius:18px !important;
  padding:16px !important;
}
#view-passagem-turno .pt3-preview-card{
  min-height:82px !important;
}
#view-passagem-turno .pt3-preview-card strong{
  font-size:18px !important;
}
#view-passagem-turno .ptv4-mini-edit{
  min-height:34px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#dbe7ff;
  font-weight:700;
  cursor:pointer;
}
@media (max-width: 1400px){
  #view-passagem-turno .pt-ind-row-a{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 1100px){
  #view-passagem-turno .pt-ind-donut-row{
    grid-template-columns:1fr !important;
  }
}

/* ===== PASSAGEM DE TURNO V5 | AJUSTE FINO ===== */

/* Sidebar closer to premium reference */
.menu-group.active > #menu-passagem-turno{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 42%),
    linear-gradient(135deg, rgba(37,99,235,.34), rgba(59,130,246,.56)) !important;
  border-color: rgba(96,165,250,.32) !important;
}
.submenu-passagem{
  gap:10px !important;
  padding:10px 0 10px 40px !important;
}
.submenu-passagem button{
  min-height:46px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(8,12,18,.98), rgba(7,10,16,.94)) !important;
  border:1px solid rgba(255,255,255,.06) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.submenu-passagem button.active{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 40%),
    linear-gradient(135deg, rgba(19,46,121,.82), rgba(37,99,235,.42)) !important;
}
.submenu-passagem button::before{
  left:-14px !important;
  width:8px !important;
}
#menu-passagem-turno{
  position:relative;
}
#menu-passagem-turno::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  pointer-events:none;
}

/* Launch page more operational */
#view-passagem-turno .pt-launch-hero{
  min-height:110px !important;
}
#view-passagem-turno .pt-launch-grid{
  grid-template-columns:1.28fr .92fr !important;
}
#view-passagem-turno .pt-launch-card{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 25%),
    linear-gradient(180deg, rgba(9,12,16,.98), rgba(6,8,11,.965)) !important;
}
#view-passagem-turno .pt-launch-kpi{
  min-height:108px !important;
}
#view-passagem-turno .pt-launch-kpi strong{
  font-size:24px !important;
}
#view-passagem-turno .pt-launch-quadro-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
#view-passagem-turno .pt-launch-quadro-grid > div,
#view-passagem-turno .pt-launch-mini-grid > div,
#view-passagem-turno .pt-launch-closure-grid > div{
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.05);
  border-radius:16px;
  padding:12px;
}
#view-passagem-turno .pt-launch-mini-grid{
  gap:14px !important;
}
#view-passagem-turno .pt-launch-mini-grid > div{
  min-height:92px;
}
#view-passagem-turno .pt-launch-closure-grid{
  gap:14px !important;
}
#view-passagem-turno .passagem-area-grid{
  gap:14px !important;
}
#view-passagem-turno .passagem-area-card{
  padding:16px !important;
  border-radius:20px !important;
}
#view-passagem-turno .passagem-area-card label{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a8ca;
  margin:0 0 6px;
  font-weight:800;
}
#view-passagem-turno .passagem-area-card input{
  margin-bottom:10px;
}
#view-passagem-turno .passagem-textarea{
  min-height:132px !important;
  line-height:1.55 !important;
}
#view-passagem-turno .ptv4-counter{
  padding-right:4px;
}
#view-passagem-turno .pt3-status{
  margin-top:18px !important;
}

/* Indicator page more executive */
#view-passagem-turno .pt-ind-layout{
  grid-template-columns:1.42fr .84fr !important;
}
#view-passagem-turno .pt-ind-hero{
  min-height:110px !important;
}
#view-passagem-turno .pt-ind-kpis{
  grid-template-columns:1fr 1fr repeat(4, minmax(0,1fr)) !important;
}
#view-passagem-turno .pt-ind-kpi{
  min-height:116px !important;
}
#view-passagem-turno .pt-ind-kpi strong{
  font-size:28px !important;
}
#view-passagem-turno .pt-ind-row-a{
  grid-template-columns:1.28fr .82fr .82fr .82fr !important;
}
#view-passagem-turno .pt-ind-panel-big{
  min-height:318px !important;
}
#view-passagem-turno .pt-ind-donut-row{
  grid-template-columns:220px 1fr !important;
  gap:18px !important;
}
#view-passagem-turno .passagem-donut-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.04);
  border-radius:22px;
  padding:12px;
}
#view-passagem-turno .pt-ind-summary-grid > div,
#view-passagem-turno .pt-ind-mini-values > div,
#view-passagem-turno .pt-ind-bottom-card{
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.05);
  border-radius:16px;
  padding:12px;
}
#view-passagem-turno .pt-ind-summary-grid .pt-ind-summary-value,
#view-passagem-turno .pt-ind-mini-values .pt-ind-summary-value{
  min-height:38px !important;
}
#view-passagem-turno .pt-ind-mini-card{
  min-height:292px !important;
}
#view-passagem-turno .pt-ind-mini-body{
  grid-template-columns:120px 1fr !important;
}
#view-passagem-turno .pt-ind-mini-chart{
  height:132px !important;
  padding:12px !important;
}
#view-passagem-turno .pt-ind-mini-chart canvas{
  height:108px !important;
}
#view-passagem-turno .pt-ind-notes-box{
  min-height:84px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005)) !important;
}
#view-passagem-turno .pt3-preview{
  border-radius:28px !important;
}
#view-passagem-turno .pt3-mail-lines div strong{
  line-height:1.45;
}
#view-passagem-turno .pt3-attachment{
  background:linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.01)) !important;
}
#view-passagem-turno .pt3-preview-grid{
  gap:12px !important;
}
#view-passagem-turno .pt3-preview-card{
  border-radius:16px !important;
}
#view-passagem-turno .pt3-preview-card span{
  color:#94a8ca !important;
}
#view-passagem-turno .footer-status.saved{
  min-height:48px;
  border-radius:18px !important;
}

/* Responsive polish */
@media (max-width: 1500px){
  #view-passagem-turno .pt-ind-row-a{
    grid-template-columns:1.15fr 1fr 1fr !important;
  }
}
@media (max-width: 1280px){
  #view-passagem-turno .pt-launch-grid,
  #view-passagem-turno .pt-ind-layout{
    grid-template-columns:1fr !important;
  }
}

/* ===== PASSAGEM DE TURNO V6 | COMPACTA E MAIS PRÓXIMA DA REFERÊNCIA ===== */
#view-passagem-turno .pt-launch-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
#view-passagem-turno .pt-launch-left,
#view-passagem-turno .pt-launch-right{
  display:contents !important;
}
#view-passagem-turno .pt-launch-left > .pt-launch-card:nth-child(1){grid-column:1 / span 1;}
#view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(1){grid-column:2 / span 1;}
#view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(2){grid-column:3 / span 1;}
#view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(3){grid-column:4 / span 1;}
#view-passagem-turno .pt-launch-left > .pt-launch-card:nth-child(2){grid-column:1 / -1;}
#view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(4){grid-column:1 / span 2;}
#view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(5){grid-column:3 / span 2;}

#view-passagem-turno .pt-launch-card,
#view-passagem-turno .pt-ind-panel,
#view-passagem-turno .pt3-preview,
#view-passagem-turno .pt-ind-bottom-card{
  border-radius:24px !important;
  padding:20px !important;
}
#view-passagem-turno .pt-launch-kpi,
#view-passagem-turno .pt-ind-kpi{
  min-height:96px !important;
  padding:16px 18px !important;
}
#view-passagem-turno .pt-launch-kpi strong,
#view-passagem-turno .pt-ind-kpi strong{
  font-size:22px !important;
}
#view-passagem-turno .pt-launch-field input,
#view-passagem-turno .pt-launch-field select{
  min-height:38px !important;
  padding:8px 10px !important;
}
#view-passagem-turno .pt-launch-quadro-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
#view-passagem-turno .pt-launch-mini-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
#view-passagem-turno .pt-launch-quadro-grid > div,
#view-passagem-turno .pt-launch-mini-grid > div,
#view-passagem-turno .pt-launch-closure-grid > div{
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.05);
  border-radius:14px;
  padding:10px;
}
#view-passagem-turno .pt-launch-quadro-grid input,
#view-passagem-turno .pt-launch-mini-grid input,
#view-passagem-turno .pt-launch-closure-grid input{
  min-height:34px !important;
  padding:8px 10px !important;
}
#view-passagem-turno .pt-launch-total-value{
  min-height:34px !important;
  font-size:18px !important;
}
#view-passagem-turno .passagem-area-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
#view-passagem-turno .passagem-area-card{
  padding:12px !important;
  border-radius:18px !important;
}
#view-passagem-turno .passagem-area-card h4{
  font-size:13px !important;
  margin-bottom:8px !important;
}
#view-passagem-turno .passagem-area-card input{
  min-height:34px !important;
  padding:7px 10px !important;
  margin-bottom:8px;
}
#view-passagem-turno .passagem-area-card label{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a8ca;
  margin:0 0 6px;
  font-weight:800;
}
#view-passagem-turno .passagem-textarea{
  min-height:112px !important;
}
#view-passagem-turno .pt-launch-closure-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
#view-passagem-turno .pt3-status{
  margin-top:16px !important;
}

#view-passagem-turno .pt-ind-layout{
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.62fr) !important;
  gap:14px !important;
}
#view-passagem-turno .pt-ind-main{
  gap:14px !important;
}
#view-passagem-turno .pt-ind-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:14px !important;
}
#view-passagem-turno .pt-ind-row-a{
  grid-template-columns:1.2fr .72fr .72fr .72fr !important;
  gap:14px !important;
}
#view-passagem-turno .pt-ind-panel-big{
  min-height:308px !important;
}
#view-passagem-turno .pt-ind-mini-card{
  min-height:308px !important;
}
#view-passagem-turno .pt-ind-donut-row{
  grid-template-columns:210px 1fr !important;
}
#view-passagem-turno .passagem-donut-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.04);
  border-radius:22px;
  padding:12px;
}
#view-passagem-turno .pt-ind-summary-grid > div,
#view-passagem-turno .pt-ind-mini-values > div{
  padding:10px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.05);
  border-radius:14px;
}
#view-passagem-turno .pt-ind-summary-value{
  min-height:36px !important;
  font-size:16px !important;
}
#view-passagem-turno .pt-ind-mini-body{
  grid-template-columns:100px 1fr !important;
  gap:12px !important;
}
#view-passagem-turno .pt-ind-mini-chart{
  height:126px !important;
}
#view-passagem-turno .pt-ind-mini-chart canvas{
  height:102px !important;
}
#view-passagem-turno .pt-ind-notes-box{
  min-height:66px !important;
}
#view-passagem-turno .pt-ind-bottom{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
#view-passagem-turno .pt3-preview{
  min-height:100%;
  padding:18px !important;
}
#view-passagem-turno .pt3-preview-card strong{
  font-size:16px !important;
}
#view-passagem-turno .pt3-mail-text{
  font-size:12px !important;
}
#view-passagem-turno .footer-status.saved{
  padding:13px 16px !important;
}

@media (max-width:1500px){
  #view-passagem-turno .pt-ind-kpis{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #view-passagem-turno .pt-ind-row-a{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:1320px){
  #view-passagem-turno .pt-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #view-passagem-turno .pt-launch-left > .pt-launch-card:nth-child(1),
  #view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(1),
  #view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(2),
  #view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(3),
  #view-passagem-turno .pt-launch-left > .pt-launch-card:nth-child(2),
  #view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(4),
  #view-passagem-turno .pt-launch-right > .pt-launch-card:nth-child(5){grid-column:auto !important;}
  #view-passagem-turno .passagem-area-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #view-passagem-turno .pt-ind-layout{grid-template-columns:1fr !important;}
}
@media (max-width:900px){
  #view-passagem-turno .pt-launch-grid,
  #view-passagem-turno .pt-ind-kpis,
  #view-passagem-turno .pt-ind-row-a,
  #view-passagem-turno .pt-ind-bottom,
  #view-passagem-turno .pt-launch-quadro-grid,
  #view-passagem-turno .pt-launch-mini-grid,
  #view-passagem-turno .pt-launch-closure-grid,
  #view-passagem-turno .passagem-area-grid{grid-template-columns:1fr !important;}
}

/* ===== PASSAGEM DE TURNO V7 | REESTRUTURAÇÃO REAL ===== */
#view-passagem-turno .ptv7-shell{display:flex;flex-direction:column;gap:16px}
#view-passagem-turno .ptv7-hero{padding:18px 22px;border-radius:24px}
#view-passagem-turno .ptv7-hero h2{margin:0 0 6px;font-size:24px}
#view-passagem-turno .ptv7-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
#view-passagem-turno .ptv7-kpis{display:grid;grid-template-columns:1.05fr .9fr repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
#view-passagem-turno .ptv7-kpi{padding:16px 18px;min-height:92px;border-radius:20px;display:flex;flex-direction:column;justify-content:center;gap:6px}
#view-passagem-turno .ptv7-kpi span,
#view-passagem-turno .ptv7-kpi-field label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}
#view-passagem-turno .ptv7-kpi strong{font-size:22px;line-height:1}
#view-passagem-turno .ptv7-kpi small{font-size:12px;color:var(--muted)}
#view-passagem-turno .ptv7-kpi-field input,
#view-passagem-turno .ptv7-kpi-field select{width:100%;min-height:38px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0a0d12;color:#fff}
#view-passagem-turno .ptv7-kpi-danger strong{color:#ff6b7d}

#view-passagem-turno .ptv7-launch-row{display:grid;grid-template-columns:1.15fr .95fr .95fr .95fr;gap:14px;margin-top:14px}
#view-passagem-turno .ptv7-card{padding:18px;border-radius:22px}
#view-passagem-turno .ptv7-mini-card{min-height:220px}
#view-passagem-turno .ptv7-quadro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#view-passagem-turno .ptv7-quadro-grid > div,
#view-passagem-turno .ptv7-mini-grid > div,
#view-passagem-turno .ptv7-fech-grid > div{background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:10px}
#view-passagem-turno .ptv7-quadro-grid label,
#view-passagem-turno .ptv7-mini-grid label,
#view-passagem-turno .ptv7-fech-grid label,
#view-passagem-turno .ptv7-ind-summary label,
#view-passagem-turno .ptv7-small-values label,
#view-passagem-turno .ptv7-bottom-row label,
#view-passagem-turno .passagem-area-card label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#94a8ca;margin:0 0 6px;font-weight:800}
#view-passagem-turno .ptv7-quadro-grid input,
#view-passagem-turno .ptv7-mini-grid input,
#view-passagem-turno .ptv7-fech-grid input,
#view-passagem-turno .passagem-area-card input{width:100%;min-height:34px;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0a0d12;color:#fff}
#view-passagem-turno .ptv7-static{min-height:34px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0a0d12;color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center}
#view-passagem-turno .ptv7-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#view-passagem-turno .ptv7-dist-card{margin-top:14px}
#view-passagem-turno .passagem-area-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#view-passagem-turno .passagem-area-card{padding:12px;border-radius:18px}
#view-passagem-turno .passagem-area-card h4{font-size:13px;margin:0 0 8px}
#view-passagem-turno .ptv7-bottom-row{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:14px}
#view-passagem-turno .passagem-textarea{min-height:108px}
#view-passagem-turno .ptv7-counter{display:flex;justify-content:flex-end;color:#9fb0ca;font-size:12px;margin-top:6px}
#view-passagem-turno .ptv7-fech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#view-passagem-turno .pt3-status{margin-top:14px}

#view-passagem-turno .ptv7-ind-layout{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(320px,.64fr);gap:14px;margin-top:14px}
#view-passagem-turno .ptv7-ind-main{display:flex;flex-direction:column;gap:14px}
#view-passagem-turno .ptv7-ind-row{display:grid;grid-template-columns:1.2fr .72fr .72fr .72fr;gap:14px}
#view-passagem-turno .ptv7-ind-big{min-height:300px}
#view-passagem-turno .ptv7-ind-small{min-height:300px}
#view-passagem-turno .ptv7-ind-quadro{display:grid;grid-template-columns:210px 1fr;gap:16px}
#view-passagem-turno .passagem-donut-wrap{background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));border:1px solid rgba(255,255,255,.04);border-radius:20px;padding:12px}
#view-passagem-turno .ptv7-ind-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#view-passagem-turno .ptv7-small-body{display:grid;grid-template-columns:100px 1fr;gap:12px}
#view-passagem-turno .ptv7-small-chart{height:126px;border:1px solid rgba(255,255,255,.05);border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));padding:10px}
#view-passagem-turno .ptv7-small-chart canvas{width:100% !important;height:102px !important}
#view-passagem-turno .ptv7-small-values{display:grid;grid-template-columns:1fr;gap:10px}
#view-passagem-turno .ptv7-note-box{min-height:64px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#0a0d12;display:flex;align-items:center;line-height:1.5}
#view-passagem-turno .ptv7-preview{padding:18px;border-radius:24px;position:sticky;top:18px;height:fit-content}
#view-passagem-turno .ptv7-preview .pt3-preview-card strong{font-size:16px}
#view-passagem-turno .footer-status.saved{padding:13px 16px;border-radius:18px}

@media (max-width:1500px){
  #view-passagem-turno .ptv7-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  #view-passagem-turno .ptv7-ind-row{grid-template-columns:1fr 1fr}
}
@media (max-width:1320px){
  #view-passagem-turno .ptv7-launch-row,
  #view-passagem-turno .ptv7-bottom-row,
  #view-passagem-turno .ptv7-ind-layout{grid-template-columns:1fr}
  #view-passagem-turno .passagem-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  #view-passagem-turno .ptv7-kpis,
  #view-passagem-turno .ptv7-launch-row,
  #view-passagem-turno .ptv7-bottom-row,
  #view-passagem-turno .ptv7-ind-row,
  #view-passagem-turno .ptv7-ind-quadro,
  #view-passagem-turno .ptv7-small-body,
  #view-passagem-turno .ptv7-fech-grid,
  #view-passagem-turno .passagem-area-grid{grid-template-columns:1fr}
}

/* ===== PASSAGEM DE TURNO V8 | ACABAMENTO PREMIUM ===== */
.menu-group.active{
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
  border-radius:20px !important;
}
.menu-group.active > #menu-passagem-turno{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 42%),
    linear-gradient(135deg, rgba(37,99,235,.32), rgba(59,130,246,.58)) !important;
  border-color:rgba(96,165,250,.34) !important;
  box-shadow:0 14px 32px rgba(29,78,216,.18) !important;
}
.submenu-passagem{
  padding:10px 0 10px 42px !important;
  gap:10px !important;
}
.submenu-passagem button{
  min-height:44px !important;
  border-radius:15px !important;
  font-size:13px !important;
  background:linear-gradient(180deg, rgba(9,13,18,.98), rgba(7,10,16,.94)) !important;
}
.submenu-passagem button.active{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 40%),
    linear-gradient(135deg, rgba(16,37,92,.9), rgba(37,99,235,.42)) !important;
}
.submenu-passagem button.active::after{
  width:8px !important;
  height:8px !important;
}
#view-passagem-turno .ptv7-shell{
  gap:14px !important;
}
#view-passagem-turno .ptv7-hero{
  padding:20px 24px !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 28%),
    linear-gradient(180deg, rgba(9,12,16,.99), rgba(6,8,11,.97)) !important;
}
#view-passagem-turno .ptv7-hero h2{
  font-size:26px !important;
  line-height:1.08 !important;
}
#view-passagem-turno .ptv7-hero p{
  font-size:13px !important;
  color:#9fb0ca !important;
}
#view-passagem-turno .ptv7-kpis{
  gap:12px !important;
}
#view-passagem-turno .ptv7-kpi{
  min-height:92px !important;
  border-radius:22px !important;
  padding:16px 18px !important;
}
#view-passagem-turno .ptv7-kpi span,
#view-passagem-turno .ptv7-kpi-field label{
  font-size:10px !important;
  letter-spacing:.13em !important;
}
#view-passagem-turno .ptv7-kpi strong{
  font-size:24px !important;
  font-weight:800 !important;
}
#view-passagem-turno .ptv7-kpi small{
  color:#9fb0ca !important;
}
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-preview{
  border-radius:24px !important;
  padding:18px !important;
}
#view-passagem-turno .card-title-row{
  margin-bottom:12px !important;
}
#view-passagem-turno .card-title-row h3{
  font-size:18px !important;
  font-weight:800 !important;
}
#view-passagem-turno .card-title-row p{
  font-size:12px !important;
  color:#96aac9 !important;
}
#view-passagem-turno .premium-badge{
  min-width:58px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
#view-passagem-turno .ptv7-launch-row,
#view-passagem-turno .ptv7-ind-row,
#view-passagem-turno .ptv7-bottom-row{
  gap:12px !important;
}
#view-passagem-turno .ptv7-mini-card,
#view-passagem-turno .ptv7-ind-small{
  min-height:286px !important;
}
#view-passagem-turno .ptv7-quadro-grid > div,
#view-passagem-turno .ptv7-mini-grid > div,
#view-passagem-turno .ptv7-fech-grid > div,
#view-passagem-turno .ptv7-ind-summary > div,
#view-passagem-turno .ptv7-small-values > div,
#view-passagem-turno .ptv7-bottom-row > .ptv7-card{
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.006)) !important;
  border:1px solid rgba(255,255,255,.05) !important;
  border-radius:15px !important;
  padding:10px !important;
}
#view-passagem-turno .ptv7-quadro-grid input,
#view-passagem-turno .ptv7-mini-grid input,
#view-passagem-turno .ptv7-fech-grid input,
#view-passagem-turno .passagem-area-card input{
  min-height:36px !important;
  border-radius:11px !important;
}
#view-passagem-turno .ptv7-static{
  min-height:36px !important;
  border-radius:11px !important;
  font-size:17px !important;
}
#view-passagem-turno .passagem-area-grid{
  gap:12px !important;
}
#view-passagem-turno .passagem-area-card{
  border-radius:18px !important;
  padding:13px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.007)) !important;
}
#view-passagem-turno .passagem-area-card h4{
  font-size:13px !important;
  margin-bottom:8px !important;
}
#view-passagem-turno .passagem-textarea{
  min-height:118px !important;
  border-radius:14px !important;
}
#view-passagem-turno .ptv7-counter{
  font-size:11px !important;
}
#view-passagem-turno .pt3-status{
  border-radius:18px !important;
  padding:14px 16px !important;
}
#view-passagem-turno .pt3-status #passagemStatusTexto{
  font-weight:800 !important;
}
#view-passagem-turno .pt3-status #passagemStatusRascunho{
  color:#9fb0ca !important;
}
#view-passagem-turno .ptv7-ind-big{
  min-height:294px !important;
}
#view-passagem-turno .ptv7-ind-quadro{
  grid-template-columns:200px 1fr !important;
  gap:14px !important;
}
#view-passagem-turno .passagem-donut-wrap{
  border-radius:20px !important;
  padding:10px !important;
}
#view-passagem-turno .ptv7-small-body{
  grid-template-columns:96px 1fr !important;
  gap:10px !important;
}
#view-passagem-turno .ptv7-small-chart{
  height:118px !important;
  border-radius:14px !important;
  padding:8px !important;
}
#view-passagem-turno .ptv7-small-chart canvas{
  height:96px !important;
}
#view-passagem-turno .ptv7-note-box{
  min-height:70px !important;
  border-radius:14px !important;
}
#view-passagem-turno .ptv7-preview{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 26%),
    linear-gradient(180deg, rgba(9,12,16,.99), rgba(6,8,11,.97)) !important;
}
#view-passagem-turno .pt3-mail-lines{
  gap:11px !important;
}
#view-passagem-turno .pt3-mail-lines div{
  grid-template-columns:56px 1fr !important;
}
#view-passagem-turno .pt3-attachment{
  border-radius:16px !important;
  padding:13px !important;
}
#view-passagem-turno .pt3-preview-panel{
  border-radius:18px !important;
  padding:14px !important;
}
#view-passagem-turno .pt3-preview-grid{
  gap:10px !important;
}
#view-passagem-turno .pt3-preview-card{
  border-radius:14px !important;
  min-height:78px !important;
}
#view-passagem-turno .pt3-preview-card strong{
  font-size:18px !important;
}
#view-passagem-turno .footer-status.saved{
  border-radius:18px !important;
  min-height:48px !important;
}
@media (max-width:1500px){
  #view-passagem-turno .ptv7-ind-row{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width:1320px){
  #view-passagem-turno .ptv7-launch-row,
  #view-passagem-turno .ptv7-bottom-row{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width:900px){
  #view-passagem-turno .ptv7-kpis,
  #view-passagem-turno .ptv7-launch-row,
  #view-passagem-turno .ptv7-bottom-row,
  #view-passagem-turno .ptv7-ind-row,
  #view-passagem-turno .ptv7-ind-layout{
    grid-template-columns:1fr !important;
  }
}


/* ===== PASSAGEM DE TURNO V9 | GRÁFICOS LIMPOS ===== */
#view-passagem-turno .ptv7-ind-quadro{
  display:block !important;
}
#view-passagem-turno .ptv7-ind-summary,
#view-passagem-turno .ptv7-small-values{
  display:none !important;
}
#view-passagem-turno .ptv7-ind-big,
#view-passagem-turno .ptv7-ind-small{
  min-height:300px !important;
}
#view-passagem-turno .passagem-donut-wrap{
  height:210px !important;
  padding:10px 12px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.008)) !important;
}
#view-passagem-turno .ptv7-small-body{
  display:block !important;
}
#view-passagem-turno .ptv7-small-chart{
  width:100% !important;
  height:210px !important;
  padding:8px 8px 4px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.008)) !important;
}
#view-passagem-turno .ptv7-small-chart canvas,
#view-passagem-turno .passagem-donut-wrap canvas{
  width:100% !important;
  height:100% !important;
}
#view-passagem-turno .ptv7-ind-row{
  align-items:stretch !important;
}
#view-passagem-turno .ptv7-card .card-title-row{
  margin-bottom:10px !important;
}
#view-passagem-turno .ptv7-card .premium-badge{
  min-width:70px !important;
}
@media (max-width: 1100px){
  #view-passagem-turno .ptv7-ind-big,
  #view-passagem-turno .ptv7-ind-small{
    min-height:auto !important;
  }
  #view-passagem-turno .ptv7-small-chart,
  #view-passagem-turno .passagem-donut-wrap{
    height:190px !important;
  }
}

/* ===== PASSAGEM DE TURNO V10 | BOTÕES + GRÁFICOS REFINADOS ===== */
#view-passagem-turno .ptv10-hero-row{
  display:grid !important;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}
#view-passagem-turno .ptv10-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#view-passagem-turno .ptv10-actions .btn{
  min-height:46px;
  padding:0 18px;
  border-radius:16px;
}
#view-passagem-turno .btn.btn-success{
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#03170b;
  font-weight:800;
}
#view-passagem-turno .btn.btn-primary{
  background:linear-gradient(135deg,#0ea5e9,#2563eb);
  color:#eef9ff;
  font-weight:800;
}
#view-passagem-turno .btn{
  border:none;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#view-passagem-turno .passagem-donut-wrap{
  height:230px !important;
}
#view-passagem-turno .ptv7-small-chart{
  height:220px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
#view-passagem-turno .ptv7-small-chart canvas{
  height:196px !important;
}
#view-passagem-turno .ptv7-ind-big{
  min-height:320px !important;
}
#view-passagem-turno .ptv7-ind-small{
  min-height:320px !important;
}
#view-passagem-turno .ptv7-card .card-title-row{
  margin-bottom:8px !important;
}
@media (max-width: 1100px){
  #view-passagem-turno .ptv10-hero-row{
    grid-template-columns:1fr;
  }
  #view-passagem-turno .ptv10-actions{
    justify-content:flex-start;
  }
}

/* ===== PASSAGEM DE TURNO V11 | ACABAMENTO FINAL ===== */
#view-passagem-turno .ptv7-shell{
  gap:12px !important;
}
#view-passagem-turno .ptv7-hero{
  padding:18px 22px !important;
  border-radius:24px !important;
}
#view-passagem-turno .ptv7-hero h2{
  font-size:24px !important;
}
#view-passagem-turno .ptv7-hero p{
  font-size:12px !important;
  line-height:1.4 !important;
}
#view-passagem-turno .ptv10-actions{
  gap:10px !important;
}
#view-passagem-turno .ptv10-actions .btn{
  min-height:42px !important;
  padding:0 16px !important;
  font-size:14px !important;
}

#view-passagem-turno .ptv7-kpis{
  gap:12px !important;
  margin-top:12px !important;
}
#view-passagem-turno .ptv7-kpi{
  min-height:88px !important;
  padding:14px 16px !important;
  border-radius:20px !important;
}
#view-passagem-turno .ptv7-kpi strong{
  font-size:22px !important;
}
#view-passagem-turno .ptv7-kpi small{
  font-size:11px !important;
}

#view-passagem-turno .ptv7-launch-row,
#view-passagem-turno .ptv7-ind-row,
#view-passagem-turno .ptv7-bottom-row{
  gap:12px !important;
  margin-top:12px !important;
}
#view-passagem-turno .ptv7-card{
  padding:16px !important;
  border-radius:22px !important;
}
#view-passagem-turno .card-title-row{
  margin-bottom:10px !important;
}
#view-passagem-turno .card-title-row h3{
  font-size:17px !important;
}
#view-passagem-turno .card-title-row p{
  font-size:11px !important;
  line-height:1.35 !important;
}
#view-passagem-turno .premium-badge{
  min-width:56px !important;
  padding:6px 11px !important;
  font-size:10px !important;
}

#view-passagem-turno .ptv7-quadro-grid,
#view-passagem-turno .ptv7-mini-grid,
#view-passagem-turno .ptv7-fech-grid,
#view-passagem-turno .ptv7-ind-summary,
#view-passagem-turno .ptv7-small-values{
  gap:8px !important;
}
#view-passagem-turno .ptv7-quadro-grid > div,
#view-passagem-turno .ptv7-mini-grid > div,
#view-passagem-turno .ptv7-fech-grid > div,
#view-passagem-turno .ptv7-ind-summary > div,
#view-passagem-turno .ptv7-small-values > div,
#view-passagem-turno .ptv7-bottom-row > .ptv7-card{
  padding:9px !important;
  border-radius:13px !important;
}
#view-passagem-turno .ptv7-quadro-grid input,
#view-passagem-turno .ptv7-mini-grid input,
#view-passagem-turno .ptv7-fech-grid input,
#view-passagem-turno .passagem-area-card input{
  min-height:34px !important;
  font-size:14px !important;
}
#view-passagem-turno .ptv7-static{
  min-height:34px !important;
  font-size:16px !important;
}
#view-passagem-turno .passagem-area-grid{
  gap:10px !important;
}
#view-passagem-turno .passagem-area-card{
  padding:12px !important;
}
#view-passagem-turno .passagem-area-card h4{
  font-size:12px !important;
}
#view-passagem-turno .passagem-textarea{
  min-height:106px !important;
  font-size:13px !important;
}
#view-passagem-turno .ptv7-counter{
  margin-top:4px !important;
}
#view-passagem-turno .pt3-status{
  margin-top:12px !important;
  min-height:46px !important;
  padding:12px 14px !important;
}
#view-passagem-turno .pt3-status #passagemStatusTexto{
  font-size:13px !important;
}
#view-passagem-turno .pt3-status #passagemStatusRascunho{
  font-size:11px !important;
}

#view-passagem-turno .ptv7-ind-big{
  min-height:290px !important;
}
#view-passagem-turno .ptv7-ind-small{
  min-height:290px !important;
}
#view-passagem-turno .passagem-donut-wrap{
  height:210px !important;
}
#view-passagem-turno .ptv7-small-chart{
  height:198px !important;
}
#view-passagem-turno .ptv7-small-chart canvas{
  height:176px !important;
}
#view-passagem-turno .ptv7-note-box{
  min-height:60px !important;
  font-size:13px !important;
}
#view-passagem-turno .ptv7-preview{
  padding:16px !important;
  border-radius:24px !important;
}
#view-passagem-turno .pt3-mail-lines{
  gap:10px !important;
}
#view-passagem-turno .pt3-mail-lines div strong{
  font-size:13px !important;
}
#view-passagem-turno .pt3-attachment{
  padding:12px !important;
}
#view-passagem-turno .pt3-preview-panel{
  padding:12px !important;
}
#view-passagem-turno .pt3-preview-card{
  min-height:74px !important;
}
#view-passagem-turno .pt3-preview-card strong{
  font-size:17px !important;
}
#view-passagem-turno .footer-status.saved{
  min-height:44px !important;
  font-size:12px !important;
}

/* sidebar premium refinement */
.menu-group.active{
  padding:4px !important;
  border-radius:18px !important;
}
.submenu-passagem{
  padding:8px 0 8px 38px !important;
  gap:8px !important;
}
.submenu-passagem button{
  min-height:42px !important;
  border-radius:14px !important;
  font-size:12px !important;
}
.submenu-passagem button.active{
  box-shadow:0 12px 26px rgba(29,78,216,.16) !important;
}

/* responsive */
@media (max-width: 1500px){
  #view-passagem-turno .ptv7-ind-row{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width: 1100px){
  #view-passagem-turno .ptv10-hero-row{
    grid-template-columns:1fr !important;
  }
  #view-passagem-turno .ptv10-actions{
    justify-content:flex-start !important;
  }
}

/* ===== AGENDA | NOVAS COLUNAS TEMPO / TÉRMINO ===== */
#view-agenda .premium-table-card .table-wrap table{
  min-width: 1720px;
}
#view-agenda .premium-table-card th:nth-child(6),
#view-agenda .premium-table-card td:nth-child(6){
  min-width: 120px;
  white-space: nowrap;
}
#view-agenda .premium-table-card th:nth-child(7),
#view-agenda .premium-table-card td:nth-child(7){
  min-width: 160px;
  white-space: nowrap;
}
#view-agenda .premium-table-card th:nth-child(8),
#view-agenda .premium-table-card td:nth-child(8){
  min-width: 80px;
  white-space: nowrap;
}
#view-agenda .premium-table-card th:nth-child(11),
#view-agenda .premium-table-card td:nth-child(11){
  min-width: 150px;
}

#dtModal .fields input[id="m_tempodecarregamento"],
#dtModal .fields input[id="m_terminoprevisto"]{
  white-space: nowrap;
}

#previewBox .table-wrap table{
  min-width: 1500px;
}

/* ===== VERSÃO APP.JS | TOPBAR SUPERIOR + SAIR NO TOPO + MENU PASSAGEM ===== */
.sidebar{
  display:flex;
  flex-direction:column;
}
.menu{
  flex:1 1 auto;
}
.sidebar > .logout-btn:not(.logout-btn-top){
  display:none !important;
}
.menu-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#menu-passagem-turno{
  width:100%;
}
.submenu-chevron{
  margin-left:auto;
  transition:transform .22s ease;
}
.menu-group.open .submenu-chevron{
  transform:rotate(180deg);
}
#submenu-passagem-turno{
  display:none;
  grid-template-columns:1fr;
  overflow:hidden;
}
.menu-group.open #submenu-passagem-turno{
  display:grid !important;
}
#submenu-passagem-turno button.active{
  background:linear-gradient(135deg,#1d4ed8,#2563eb);
  color:#fff;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 14px 28px rgba(37,99,235,.18);
}
.topbar{
  align-items:flex-start;
}
.topbar-main{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.topbar-utility-row{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.top-welcome-strip{
  margin-top:0 !important;
  flex:1 1 760px;
  min-width:min(560px,100%);
}
.topbar-right-tools{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:12px;
  flex:1 1 420px;
  flex-wrap:wrap;
}
.topbar .actions{
  flex:1 1 320px;
  min-width:min(320px,100%);
}
.logout-btn-top{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:140px;
  margin-top:0;
  padding:14px 24px;
  border-radius:20px;
  align-self:stretch;
  box-shadow:0 18px 36px rgba(127,29,29,.22);
}
@media (max-width: 980px){
  .topbar-right-tools{
    width:100%;
    justify-content:stretch;
  }
  .logout-btn-top{
    width:100%;
    min-height:56px;
  }
  .top-welcome-strip{
    min-width:100%;
  }
}


/* ===== Ajustes v3: topo limpo, título separado e sair menor ===== */
.topbar{
  align-items:flex-start;
}

.topbar-main{
  display:flex;
  flex-direction:column;
  gap:18px;
  width:100%;
  min-width:0;
}

.topbar-utility-panel{
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.topbar-utility-panel::after{
  display:none;
}

.topbar-utility-row{
  display:grid;
  grid-template-columns:minmax(520px, 1.45fr) minmax(300px, .95fr) 88px;
  gap:16px;
  align-items:stretch;
  padding:0;
}

.top-welcome-strip{
  margin-top:0 !important;
  min-width:0;
  min-height:118px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:16px;
  align-items:center;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 16px 40px rgba(0,0,0,.16);
}

.welcome-main{
  min-width:0;
  gap:8px;
}

.welcome-main strong{
  font-size:18px;
}

.welcome-main span{
  font-size:13px;
  line-height:1.65;
  max-width:420px;
}

.welcome-meta{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(92px, 1fr));
  gap:10px;
  flex:none;
}

.welcome-pill{
  min-width:0;
  padding:12px 14px;
  border-radius:18px;
}

.welcome-pill strong{
  font-size:16px;
}

.topbar-right-tools{
  display:contents;
}

.topbar .actions{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding:16px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.07), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}

.topbar .actions label{
  margin-bottom:4px;
}

.topbar .actions > div:first-child{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.topbar .actions .btn{
  align-self:flex-start;
  min-width:110px;
}

.topbar-actions-note{
  margin-top:auto;
  font-size:12px;
  line-height:1.65;
}

.logout-btn-top{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:88px;
  min-width:88px;
  height:100%;
  min-height:118px;
  margin-top:0;
  padding:10px;
  border-radius:20px;
  font-size:14px;
  font-weight:800;
  box-shadow:0 18px 34px rgba(127,29,29,.22);
}

.topbar-section-divider{
  height:1px;
  margin:2px 2px 0;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.16), rgba(255,255,255,0));
  opacity:.9;
}

.topbar-title-panel{
  padding:4px 2px 0;
}

.topbar-title-panel .topbar-badge{
  margin-bottom:14px;
}

.topbar-title-panel h1{
  margin-bottom:12px;
}

.topbar-title-panel p{
  max-width:760px;
}

.topbar-meta-row{
  margin-top:14px;
}

@media (max-width: 1240px){
  .topbar-utility-row{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "welcome welcome"
      "filters logout";
  }

  .top-welcome-strip{ grid-area:welcome; }
  .topbar .actions{ grid-area:filters; }
  .logout-btn-top{
    grid-area:logout;
    min-height:unset;
    height:auto;
  }
}

@media (max-width: 860px){
  .topbar{
    padding:18px;
  }

  .topbar-utility-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "welcome"
      "filters"
      "logout";
  }

  .top-welcome-strip{
    grid-template-columns:1fr;
  }

  .welcome-meta{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .topbar .actions .btn{
    align-self:stretch;
  }

  .logout-btn-top{
    width:100%;
    min-width:0;
    min-height:54px;
    border-radius:16px;
  }
}

@media (max-width: 560px){
  .welcome-meta{
    grid-template-columns:1fr;
  }
}



/* ===== Ajustes v4: topo mais compacto e remoção do hero visão do dia ===== */
.topbar-utility-row{
  grid-template-columns:minmax(500px, 1.55fr) minmax(280px, .9fr) 74px;
  gap:12px;
}

.top-welcome-strip{
  min-height:96px;
  padding:14px 16px;
  border-radius:20px;
}

.welcome-main strong{
  font-size:17px;
}

.welcome-main span{
  font-size:12px;
  line-height:1.55;
  max-width:380px;
}

.welcome-meta{
  grid-template-columns:repeat(3, minmax(82px, 1fr));
  gap:8px;
}

.welcome-pill{
  padding:10px 12px;
  border-radius:16px;
}

.welcome-pill span{
  margin-bottom:6px;
  font-size:10px;
}

.welcome-pill strong{
  font-size:14px;
}

.topbar .actions{
  min-height:96px;
  padding:12px 16px;
  gap:8px;
  border-radius:20px;
}

.topbar .actions > div:first-child{
  gap:4px;
}

.topbar .actions label{
  font-size:11px;
  margin-bottom:0;
}

.topbar .actions .btn{
  min-width:106px;
  padding:10px 14px;
}

.topbar-actions-note{
  display:none;
}

.logout-btn-top{
  width:74px;
  min-width:74px;
  min-height:96px;
  height:96px;
  padding:10px 8px;
  border-radius:18px;
  font-size:0;
  position:relative;
}

.logout-btn-top::before{
  content:"↩";
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin:0 auto 8px;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  font-size:18px;
  color:#fff;
  line-height:1;
}

.logout-btn-top::after{
  content:"Sair";
  display:block;
  font-size:13px;
  font-weight:800;
  color:#fff;
  letter-spacing:.01em;
}

@media (max-width: 1240px){
  .logout-btn-top{
    width:100%;
    min-width:0;
    height:56px;
    min-height:56px;
    font-size:13px;
  }
  .logout-btn-top::before{
    display:inline-flex;
    margin:0 8px 0 0;
    vertical-align:middle;
  }
  .logout-btn-top::after{
    display:inline;
  }
}

@media (max-width: 860px){
  .top-welcome-strip{
    min-height:auto;
  }
  .topbar .actions{
    min-height:auto;
  }
}


/* ===== Ajustes v5: filtro compacto, saudação compacta, submenu robusto, sair só ícone ===== */
.topbar-utility-row{
  grid-template-columns:minmax(500px, 1.6fr) minmax(250px, .82fr) 56px;
  gap:10px;
}

.top-welcome-strip{
  min-height:82px;
  padding:12px 14px;
  border-radius:18px;
}

.welcome-main strong{
  font-size:16px;
}

.welcome-main span{
  font-size:12px;
  line-height:1.45;
  max-width:340px;
}

.welcome-meta{
  grid-template-columns:repeat(3, minmax(74px, 1fr));
  gap:8px;
}

.welcome-pill{
  padding:9px 10px;
  border-radius:14px;
}

.welcome-pill strong{
  font-size:13px;
}

.topbar .actions{
  min-height:82px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"field button";
  align-items:end;
  gap:10px;
}

.topbar .actions > div:first-child{
  grid-area:field;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.topbar .actions .btn{
  grid-area:button;
  align-self:end;
  min-width:96px;
  padding:9px 12px;
  border-radius:14px;
}

.topbar .actions label{
  font-size:11px;
  margin:0;
}

.topbar .actions input[type="date"]{
  min-height:36px;
  padding:8px 12px;
  border-radius:14px;
}

.topbar-actions-note{
  display:none !important;
}

.logout-btn-top{
  width:56px;
  min-width:56px;
  height:82px;
  min-height:82px;
  padding:0;
  border-radius:16px;
  box-shadow:0 16px 28px rgba(127,29,29,.18);
  font-size:0;
}

.logout-btn-top::before{
  content:"⎋";
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:20px;
  color:#fff;
}

.logout-btn-top::after{
  display:none !important;
}

.menu-group{
  gap:8px;
}

#submenu-passagem-turno{
  display:none !important;
  flex-direction:column;
  gap:8px;
  padding-left:16px;
  margin-top:-2px;
}

.menu-group.open #submenu-passagem-turno{
  display:flex !important;
}

#submenu-passagem-turno button{
  min-height:40px;
  padding:10px 12px;
  border-radius:14px;
  font-size:12px;
  font-weight:800;
  background:linear-gradient(180deg,rgba(12,15,20,.92),rgba(9,11,15,.9));
  border:1px solid rgba(255,255,255,.06);
  color:var(--text);
}

#submenu-passagem-turno button:hover,
#submenu-passagem-turno button.active{
  background:linear-gradient(135deg,#1d4ed8,#2563eb);
  color:#fff;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 10px 22px rgba(37,99,235,.18);
}

@media (max-width: 1240px){
  .topbar-utility-row{
    grid-template-columns:1fr 56px;
    grid-template-areas:
      "welcome logout"
      "filters filters";
  }
  .top-welcome-strip{ grid-area:welcome; }
  .topbar .actions{ grid-area:filters; }
  .logout-btn-top{ grid-area:logout; }
}

@media (max-width: 860px){
  .topbar-utility-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "welcome"
      "filters"
      "logout";
  }

  .topbar .actions{
    grid-template-columns:1fr;
    grid-template-areas:
      "field"
      "button";
    align-items:stretch;
  }

  .topbar .actions .btn{
    width:100%;
  }

  .logout-btn-top{
    width:56px;
    min-width:56px;
    height:56px;
    min-height:56px;
    justify-self:end;
  }

  .top-welcome-strip{
    min-height:auto;
  }
}


/* ===== Ajustes v6: submenu passagem + sair integrado ao visual ===== */
.logout-btn-top{
  width:58px;
  min-width:58px;
  height:82px;
  min-height:82px;
  border-radius:18px;
  background:
    radial-gradient(circle at top, rgba(37,99,235,.18), transparent 58%),
    linear-gradient(180deg, rgba(19,28,46,.98), rgba(11,16,26,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}

.logout-btn-top:hover{
  background:
    radial-gradient(circle at top, rgba(37,99,235,.22), transparent 58%),
    linear-gradient(180deg, rgba(26,37,60,.98), rgba(13,20,33,.96));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}

.logout-btn-top::before{
  content:"⇠";
  width:100%;
  height:100%;
  font-size:18px;
  color:#eaf2ff;
  text-shadow:0 0 18px rgba(37,99,235,.24);
}

#menu-passagem-turno{
  justify-content:space-between;
}

#menu-passagem-turno .menu-text{
  flex:1;
}

#passagemMenuChevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  min-width:16px;
  margin-left:6px;
  font-size:11px;
  line-height:1;
}

#submenu-passagem-turno{
  padding-top:2px;
}

#submenu-passagem-turno button{
  cursor:pointer;
}

.menu-group.open #menu-passagem-turno{
  border-color:rgba(255,255,255,.12);
}

@media (max-width: 860px){
  .logout-btn-top{
    width:58px;
    min-width:58px;
    height:58px;
    min-height:58px;
    border-radius:16px;
  }
}


/* ===== Ajustes v7: submenu da Passagem de Turno corrigido ===== */
#submenu-passagem-turno{
  display:flex !important;
  flex-direction:column;
  gap:8px;
  padding-left:16px;
  margin-top:0;
  max-height:0;
  opacity:0;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
  transition:max-height .22s ease, opacity .18s ease, margin-top .18s ease;
}

.menu-group.open #submenu-passagem-turno{
  max-height:120px;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  margin-top:8px;
}

#menu-passagem-turno{
  cursor:pointer;
}

#menu-passagem-turno .submenu-chevron{
  transition:transform .2s ease;
}


/* ===== Ajustes v8: salvamento premium da Passagem de Turno ===== */
.passagem-save-btn{
  min-width:160px;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;
}

.passagem-save-btn.is-saving{
  cursor:wait;
  opacity:.92;
  filter:saturate(.9);
  box-shadow:0 18px 34px rgba(34,197,94,.18);
}

.passagem-save-btn.is-saved{
  box-shadow:0 18px 34px rgba(34,197,94,.22);
}

#passagemStatusBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
}

#passagemStatusTexto{
  font-weight:800;
  letter-spacing:.01em;
}

#passagemStatusRascunho{
  color:#b9c7de;
  font-size:12px;
  text-align:right;
}

#passagemStatusBar.is-saved{
  border-color:rgba(34,197,94,.28);
  box-shadow:0 18px 34px rgba(34,197,94,.08);
}

#passagemStatusBar.is-dirty{
  border-color:rgba(245,158,11,.24);
  box-shadow:0 18px 34px rgba(245,158,11,.06);
}

@media (max-width: 860px){
  #passagemStatusBar{
    flex-direction:column;
    align-items:flex-start;
  }

  #passagemStatusRascunho{
    text-align:left;
  }

  .passagem-save-btn{
    width:100%;
    min-width:0;
  }
}


/* ===== Ajustes v9: acabamento visual premium global do sistema ===== */
:root{
  --app-max: 1880px;
  --radius: 22px;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.12);
  --card-glow: 0 24px 64px rgba(0,0,0,.26);
  --surface-soft:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}

body{
  background:
    radial-gradient(circle at 8% 0%, rgba(37,99,235,.14), transparent 18%),
    radial-gradient(circle at 92% 8%, rgba(8,145,178,.08), transparent 16%),
    linear-gradient(180deg, #020407 0%, #04070b 42%, #020407 100%);
  color: #f5f7fb;
}

body::before{
  background:
    linear-gradient(rgba(2,4,6,.86), rgba(2,4,6,.92)),
    url('../../Foto armazém.jpg') center center / cover no-repeat;
}

body::after{
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.18), transparent 24%),
    radial-gradient(circle at bottom right, rgba(34,197,94,.08), transparent 22%);
}

.app{
  gap: 0;
}

.sidebar{
  background:
    linear-gradient(180deg, rgba(5,7,11,.96), rgba(4,6,9,.94));
  border-right: 1px solid rgba(255,255,255,.08);
  box-shadow: inset -1px 0 0 rgba(255,255,255,.03);
}

.brand-wrap{
  align-items:flex-start;
  gap:14px;
}

.brand-logo{
  width:58px;
  height:58px;
  border-radius:18px;
  padding:7px;
  box-shadow: 0 16px 36px rgba(0,0,0,.24);
}

.brand-title{
  font-size: 28px;
  letter-spacing: -.03em;
}

.brand-sub{
  color:#9eb1cd;
  line-height:1.55;
}

.user-box,
.sidebar-note{
  border:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}

.menu{
  gap:12px;
}

.menu button{
  min-height:50px;
  border-radius:18px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(180deg, rgba(13,16,22,.98), rgba(9,12,17,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.menu button:hover,
.menu button.active{
  transform: translateX(3px);
  border-color: rgba(255,255,255,.14);
  box-shadow:
    0 16px 34px rgba(37,99,235,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.menu-icon{
  width:20px;
  opacity:.95;
}

.menu-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

#submenu-passagem-turno{
  padding-left:14px;
}

#submenu-passagem-turno button{
  min-height:42px;
  border-radius:14px;
  font-size:12px;
  letter-spacing:.01em;
}

.main{
  padding:26px 26px 34px;
  background:
    linear-gradient(180deg, rgba(8,17,31,.30), rgba(8,17,31,.18));
}

.topbar{
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

.topbar-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#dce8fb;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.title h1{
  font-size:40px;
  letter-spacing:-.04em;
}

.title p{
  color:#a8b8d0;
  max-width:760px;
}

.page-accent-line{
  width:74px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, #2563eb, #7c3aed);
  margin-top:14px;
  box-shadow:0 0 18px rgba(37,99,235,.26);
}

.topbar-meta-pill,
.premium-badge,
.soft-stat,
.count{
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.topbar-meta-pill{
  border-radius:18px;
  padding:12px 14px;
}

.topbar-meta-pill span{
  color:#8fa4c6;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.topbar-meta-pill strong{
  font-size:13px;
}

.card,
.kpi,
.lane,
.dock,
.item,
.section-hero-card,
.report-hero-card,
.login-box,
.modal-card,
.modal-content,
.filters-card,
.premium-table-card{
  border:1px solid rgba(255,255,255,.08);
  box-shadow: var(--card-glow);
}

.card,
.filters-card,
.premium-table-card,
.section-hero-card,
.report-hero-card{
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
    linear-gradient(180deg, rgba(9,12,16,.98), rgba(6,8,11,.95));
}

.card-title-row h2,
.section-toolbar h2,
.premium-table-head h2{
  letter-spacing:-.02em;
}

.card-title-row p,
.section-toolbar p,
.premium-table-head p,
.section-hero-card p,
.report-hero-card p,
.section-mini span,
.report-mini span{
  color:#9db0cb;
}

.kpi{
  min-height:132px;
  border-radius:24px;
  padding:20px;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow:
    0 20px 42px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.kpi .label{
  color:#9eb1ca;
  letter-spacing:.07em;
}

.kpi .value{
  font-size:36px;
  letter-spacing:-.04em;
}

.kpi .sub{
  color:#8ea1bd;
}

.section-hero{
  gap:18px;
}

.section-hero-card,
.report-hero-card{
  border-radius:24px;
  padding:22px;
}

.section-mini,
.report-mini{
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.07);
}

.section-mini strong,
.report-mini strong{
  font-size:20px;
  letter-spacing:-.03em;
}

input,
select,
textarea{
  background:
    linear-gradient(180deg, rgba(8,11,16,.98), rgba(6,8,12,.96));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:12px 14px;
  color:#f6f8fd;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 18px rgba(0,0,0,.08);
}

input::placeholder,
textarea::placeholder{
  color:#6f84a2;
}

input:focus,
select:focus,
textarea:focus{
  border-color: rgba(59,130,246,.55);
  box-shadow:
    0 0 0 4px rgba(59,130,246,.12),
    0 12px 28px rgba(37,99,235,.10);
}

.btn{
  border-radius:16px;
  padding:11px 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
}

.btn-primary{
  background:linear-gradient(135deg, #2563eb, #1d4ed8);
}

.btn-success{
  background:linear-gradient(135deg, #22c55e, #16a34a);
  color:#041108;
}

.btn-warning{
  background:linear-gradient(135deg, #f59e0b, #ea580c);
}

.btn-danger{
  background:linear-gradient(135deg, #ef4444, #b91c1c);
}

.btn-light{
  background:
    linear-gradient(180deg, rgba(23,39,67,.98), rgba(18,31,52,.95));
  border:1px solid rgba(255,255,255,.08);
}

.mini{
  border-radius:12px;
  padding:8px 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.table-wrap{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.01));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

table{
  background: transparent;
}

th{
  background:
    linear-gradient(180deg, rgba(14,18,26,.98), rgba(10,13,18,.96));
  color:#dce8fc;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:11px;
  letter-spacing:.08em;
}

td{
  color:#edf3ff;
}

tbody tr{
  transition: background .18s ease, transform .18s ease;
}

tbody tr:hover{
  background: rgba(255,255,255,.03);
}

.chip{
  border:1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.board{
  gap:14px;
}

.lane{
  border-radius:20px;
  padding:14px;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.06), transparent 26%),
    linear-gradient(180deg, rgba(10,13,18,.98), rgba(8,10,15,.96));
  box-shadow: 0 20px 42px rgba(0,0,0,.14);
}

.lane-head{
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.05);
  margin-bottom:12px;
}

.item{
  border-radius:14px;
  padding:12px;
  background:
    linear-gradient(180deg, rgba(17,22,30,.98), rgba(11,14,20,.96));
  border:1px solid rgba(255,255,255,.07);
}

.item strong{
  font-size:14px;
  letter-spacing:-.01em;
}

.item .meta{
  color:#98abc5;
}

.dock-grid{
  gap:14px;
}

.dock{
  min-height:176px;
  border-radius:20px;
  box-shadow: 0 18px 36px rgba(0,0,0,.14);
}

.filters-card{
  border-radius:24px;
  padding:20px;
}

.filters-grid{
  gap:12px;
}

.risk-banner{
  margin-top:12px;
  border-radius:16px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.018));
  color:#bfd0ea;
}

.modal{
  backdrop-filter: blur(8px);
}

.modal-content{
  border-radius:30px;
  box-shadow: 0 34px 100px rgba(0,0,0,.44);
}

.modal-head{
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}

.toast{
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(17,24,39,.98), rgba(11,17,29,.96));
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}

.soft-glow::after{
  width:180px;
  height:180px;
  opacity:.9;
}

.ptv7-shell .card,
#view-passagem-turno .card{
  border-radius:24px;
}

#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi-field{
  box-shadow: 0 20px 42px rgba(0,0,0,.16);
}

.login-showcase,
.login-box{
  border-color: rgba(255,255,255,.10);
}

@media (max-width: 1200px){
  .main{
    padding:22px;
  }

  .grid-4{
    grid-template-columns: repeat(2, 1fr);
  }

  .dock-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 860px){
  .main{
    padding:18px;
  }

  .topbar{
    border-radius:24px;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .dock-grid{
    grid-template-columns: 1fr;
  }

  .card,
  .kpi,
  .section-hero-card,
  .report-hero-card{
    border-radius:20px;
  }

  .menu button{
    min-height:48px;
  }
}


/* ===== Ajustes v10: redesign visual forte e perceptível ===== */
:root{
  --blue-2:#3b82f6;
  --blue-3:#60a5fa;
  --violet-2:#8b5cf6;
  --cyan-2:#06b6d4;
  --panel-deep:rgba(7,10,16,.96);
  --panel-mid:rgba(10,14,21,.96);
  --card-edge:rgba(255,255,255,.12);
  --card-edge-soft:rgba(255,255,255,.08);
}

body{
  background:
    radial-gradient(circle at 10% 0%, rgba(59,130,246,.18), transparent 20%),
    radial-gradient(circle at 100% 15%, rgba(139,92,246,.10), transparent 18%),
    linear-gradient(180deg, #020306 0%, #040812 46%, #020306 100%);
}

body::before{
  background:
    linear-gradient(rgba(2,5,10,.88), rgba(2,5,10,.94)),
    url('../../Foto armazém.jpg') center center / cover no-repeat;
}

.sidebar{
  padding-top:20px;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.10), transparent 20%),
    linear-gradient(180deg, rgba(6,9,14,.98), rgba(4,7,11,.96));
  border-right:1px solid rgba(255,255,255,.09);
}

.sidebar-top{
  margin-bottom:12px;
}

.brand-wrap{
  padding:10px 10px 12px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.06);
}

.brand-logo{
  width:62px;
  height:62px;
  border-radius:20px;
  padding:8px;
}

.brand-title{
  font-size:30px;
  font-weight:950;
}

.user-box{
  border-radius:20px;
  padding:16px;
}

.menu button{
  min-height:54px;
  border-radius:20px;
  padding:14px 16px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.menu button:hover,
.menu button.active{
  background:
    linear-gradient(135deg, rgba(37,99,235,.92), rgba(29,78,216,.92));
  transform:translateX(4px);
  box-shadow:0 18px 36px rgba(37,99,235,.22);
}

.menu button.active .menu-icon,
.menu button:hover .menu-icon{
  transform:scale(1.06);
}

#submenu-passagem-turno{
  padding-left:18px;
}

#submenu-passagem-turno button{
  min-height:44px;
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(18,24,35,.98), rgba(12,17,25,.96));
}

.main{
  padding:28px 28px 36px;
}

.topbar{
  padding:26px 26px 22px;
  border-radius:32px;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 24%),
    radial-gradient(circle at bottom right, rgba(6,182,212,.08), transparent 20%),
    linear-gradient(180deg, rgba(8,11,17,.98), rgba(5,8,13,.96));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
}

.topbar-title-panel{
  padding-top:8px;
}

.title h1{
  font-size:44px;
  letter-spacing:-.05em;
  margin-bottom:10px;
}

.title p{
  font-size:14px;
  line-height:1.8;
}

.page-accent-line{
  width:92px;
  height:5px;
  margin-top:16px;
  background:linear-gradient(90deg, var(--blue-2), var(--violet-2));
  box-shadow:0 0 24px rgba(59,130,246,.35);
}

.topbar-meta-row{
  margin-top:18px;
  gap:12px;
}

.topbar-meta-pill{
  border-radius:20px;
  padding:14px 16px;
}

.top-welcome-strip{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.16), transparent 22%),
    linear-gradient(180deg, rgba(17,24,38,.96), rgba(11,16,26,.94));
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}

.welcome-main strong{
  font-size:19px;
}

.welcome-pill{
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(20,28,42,.96), rgba(13,19,30,.94));
  border:1px solid rgba(255,255,255,.09);
}

.topbar .actions{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
    linear-gradient(180deg, rgba(14,20,31,.96), rgba(9,14,23,.94));
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}

.logout-btn-top{
  background:
    radial-gradient(circle at top, rgba(59,130,246,.18), transparent 60%),
    linear-gradient(180deg, rgba(18,26,41,.98), rgba(11,17,27,.96));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
}

.logout-btn-top:hover{
  background:
    radial-gradient(circle at top, rgba(96,165,250,.22), transparent 60%),
    linear-gradient(180deg, rgba(23,33,52,.98), rgba(13,19,31,.96));
}

.card,
.filters-card,
.premium-table-card,
.section-hero-card,
.report-hero-card,
.modal-content{
  border-radius:26px;
  border:1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
    linear-gradient(180deg, rgba(10,14,20,.98), rgba(7,10,15,.96));
  box-shadow:
    0 26px 60px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.03);
}

.card-title-row,
.premium-table-head,
.section-toolbar{
  margin-bottom:14px;
}

.card-title-row h2,
.section-toolbar h2,
.premium-table-head h2{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.03em;
}

.section-hero-card h3,
.report-hero-card h3{
  font-size:22px;
  letter-spacing:-.03em;
}

.kpi{
  min-height:138px;
  border-radius:26px;
  padding:22px;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.18), transparent 28%),
    linear-gradient(180deg, rgba(18,24,34,.98), rgba(11,15,22,.96));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 22px 48px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.kpi::before{
  width:6px;
  opacity:1;
}

.kpi .label{
  font-size:11px;
  letter-spacing:.09em;
}

.kpi .value{
  font-size:38px;
  margin-top:2px;
}

.kpi.clickable{
  cursor:pointer;
}

.kpi.clickable:hover{
  transform:translateY(-4px);
}

.section-mini,
.report-mini{
  padding:14px 16px;
  border-radius:18px;
}

input,
select,
textarea{
  min-height:46px;
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(7,10,15,.98), rgba(5,8,13,.96));
}

textarea{
  min-height:96px;
}

.btn{
  min-height:44px;
  border-radius:16px;
  font-weight:900;
  letter-spacing:.01em;
}

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

.btn-success{
  box-shadow:0 18px 34px rgba(34,197,94,.20);
}

.btn-primary{
  box-shadow:0 18px 34px rgba(37,99,235,.18);
}

.table-wrap{
  border-radius:22px;
}

th, td{
  padding:13px 12px;
}

thead th{
  position:sticky;
  top:0;
  z-index:2;
}

tbody tr:hover{
  background:rgba(59,130,246,.045);
}

.chip{
  border-radius:999px;
  padding:7px 11px;
}

.board{
  grid-template-columns:repeat(4, minmax(280px, 1fr));
}

.lane{
  border-radius:22px;
  padding:14px;
  min-height:280px;
}

.lane-head h3{
  font-size:16px;
}

.item{
  border-radius:16px;
  padding:13px;
}

.item strong{
  font-size:14px;
}

.dock{
  border-radius:22px;
  min-height:186px;
}

.premium-table-head{
  align-items:flex-start;
}

.filters-grid{
  gap:14px;
}

.risk-banner{
  border-radius:18px;
  font-size:13px;
}

.modal-content{
  padding:24px;
  border-radius:32px;
}

.toast{
  padding:14px 16px;
}

#view-passagem-turno .ptv7-hero,
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field{
  border-radius:24px;
}

#view-passagem-turno .ptv7-hero{
  padding:20px 22px;
}

#view-passagem-turno .ptv7-kpi strong{
  font-size:34px;
}

#view-passagem-turno .pt-subview{
  gap:16px;
}

#passagemStatusBar{
  border-radius:20px;
}

.login-showcase{
  border-radius:40px;
}

.login-box{
  border-radius:34px;
}

@media (max-width: 1200px){
  .board{
    grid-template-columns:repeat(2, minmax(280px, 1fr));
  }
}

@media (max-width: 860px){
  .main{
    padding:18px;
  }

  .topbar{
    padding:20px 18px 18px;
  }

  .title h1{
    font-size:34px;
  }

  .card,
  .filters-card,
  .premium-table-card,
  .section-hero-card,
  .report-hero-card,
  .kpi,
  .lane,
  .dock{
    border-radius:20px;
  }

  .board{
    grid-template-columns:1fr;
  }
}


/* ===== Ajustes v11: layout mais compacto sem perder organização ===== */
:root{
  --app-max: 1780px;
}

.main{
  padding:20px 20px 28px;
}

.topbar{
  padding:18px 18px 16px;
  border-radius:24px;
  margin-bottom:14px;
}

.topbar-main{
  gap:12px;
}

.topbar-utility-row{
  gap:10px;
}

.top-welcome-strip{
  min-height:74px;
  padding:10px 12px;
  border-radius:18px;
}

.welcome-main{
  gap:4px;
}

.welcome-main strong{
  font-size:16px;
}

.welcome-main span{
  font-size:12px;
  line-height:1.4;
  max-width:320px;
}

.welcome-meta{
  grid-template-columns:repeat(3, minmax(70px, 1fr));
  gap:6px;
}

.welcome-pill{
  padding:8px 10px;
  border-radius:14px;
}

.welcome-pill span{
  font-size:9px;
  margin-bottom:4px;
}

.welcome-pill strong{
  font-size:12px;
}

.topbar .actions{
  min-height:74px;
  padding:10px 12px;
  border-radius:18px;
  gap:8px;
}

.topbar .actions input[type="date"]{
  min-height:34px;
  padding:7px 10px;
}

.topbar .actions .btn{
  min-width:88px;
  min-height:36px;
  padding:8px 12px;
}

.logout-btn-top{
  width:52px;
  min-width:52px;
  height:74px;
  min-height:74px;
  border-radius:14px;
}

.logout-btn-top::before{
  font-size:16px;
}

.topbar-title-panel{
  padding-top:2px;
}

.topbar-badge{
  padding:7px 12px;
  font-size:10px;
  margin-bottom:10px;
}

.title h1{
  font-size:34px;
  margin:0 0 8px;
}

.title p{
  font-size:13px;
  line-height:1.65;
  max-width:640px;
}

.page-accent-line{
  width:72px;
  height:4px;
  margin-top:12px;
}

.topbar-meta-row{
  margin-top:12px;
  gap:8px;
}

.topbar-meta-pill{
  padding:10px 12px;
  border-radius:16px;
}

.topbar-meta-pill strong{
  font-size:12px;
}

.card,
.filters-card,
.premium-table-card,
.section-hero-card,
.report-hero-card,
.modal-content{
  border-radius:20px;
  padding:16px;
}

.card-title-row,
.premium-table-head,
.section-toolbar{
  margin-bottom:10px;
}

.card-title-row h2,
.section-toolbar h2,
.premium-table-head h2{
  font-size:18px;
}

.card-title-row p,
.section-toolbar p,
.premium-table-head p,
.section-hero-card p,
.report-hero-card p{
  font-size:12px;
  line-height:1.55;
}

.section-hero{
  gap:12px;
}

.section-hero-card,
.report-hero-card{
  padding:18px;
}

.section-hero-card h3,
.report-hero-card h3{
  font-size:18px;
  margin-bottom:8px;
}

.section-mini-grid,
.report-mini-grid{
  gap:10px;
}

.section-mini,
.report-mini{
  padding:12px 14px;
  border-radius:14px;
}

.section-mini strong,
.report-mini strong{
  font-size:16px;
}

.grid{
  gap:12px;
}

.grid-2{
  grid-template-columns:1fr .9fr;
}

.grid-4{
  grid-template-columns:repeat(4, minmax(0,1fr));
}

.kpi{
  min-height:108px;
  padding:16px;
  border-radius:18px;
}

.kpi .label{
  margin-bottom:8px;
  font-size:10px;
}

.kpi .value{
  font-size:30px;
}

.kpi .sub{
  font-size:10px;
  margin-top:6px;
}

.kpi-icon{
  width:32px;
  height:32px;
  margin-bottom:8px;
  border-radius:10px;
  font-size:14px;
}

.filters-card{
  padding:16px;
}

.filters-grid{
  gap:10px;
}

label{
  font-size:11px;
  margin-bottom:5px;
}

.fields{
  gap:8px;
}

input,
select,
textarea{
  min-height:40px;
  padding:10px 12px;
  border-radius:14px;
  font-size:13px;
}

textarea{
  min-height:78px;
}

.btn{
  min-height:40px;
  padding:9px 14px;
  border-radius:14px;
  font-size:13px;
}

.mini{
  padding:7px 9px;
  font-size:10px;
  border-radius:10px;
}

.table-wrap{
  border-radius:16px;
}

th, td{
  padding:10px 9px;
  font-size:11px;
}

th{
  font-size:10px;
}

.board{
  gap:10px;
  grid-template-columns:repeat(4,minmax(240px,1fr));
}

.lane{
  min-height:220px;
  max-height:460px;
  border-radius:18px;
  padding:10px;
}

.lane-head{
  margin-bottom:8px;
  padding-bottom:8px;
}

.lane h3{
  font-size:14px;
}

.item{
  padding:10px;
  border-radius:12px;
  margin-bottom:8px;
}

.item strong{
  font-size:13px;
  margin-bottom:4px;
}

.item .meta{
  font-size:11px;
  line-height:1.45;
}

.dock-grid{
  gap:10px;
}

.dock{
  min-height:150px;
  padding:12px;
  border-radius:18px;
}

.dock-head{
  margin-bottom:8px;
}

.premium-table-head .group{
  gap:8px;
}

.soft-stat,
.premium-badge,
.count{
  font-size:10px;
  padding:5px 9px;
}

#view-passagem-turno .ptv7-hero{
  padding:16px 18px;
}

#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field,
#view-passagem-turno .ptv7-card{
  border-radius:18px;
  padding:14px;
}

#view-passagem-turno .ptv7-kpi strong{
  font-size:28px;
}

#view-passagem-turno .ptv7-shell{
  gap:12px;
}

#passagemStatusBar{
  padding:12px 14px;
  border-radius:16px;
}

.modal-content{
  padding:18px;
  border-radius:24px;
}

.toast{
  padding:12px 14px;
  border-radius:14px;
}

@media (max-width: 1200px){
  .main{
    padding:16px 16px 24px;
  }

  .grid-4,
  .dock-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .board{
    grid-template-columns:repeat(2,minmax(240px,1fr));
  }
}

@media (max-width: 860px){
  .main{
    padding:14px;
  }

  .topbar{
    padding:14px;
    border-radius:20px;
  }

  .title h1{
    font-size:28px;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .dock-grid,
  .board{
    grid-template-columns:1fr;
  }

  .top-welcome-strip{
    min-height:auto;
  }

  .logout-btn-top{
    width:52px;
    min-width:52px;
    height:52px;
    min-height:52px;
  }
}


/* ===== Ajustes v12: filtro da agenda alinhado com a data real ===== */
.topbar .actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:"field refresh nav";
  align-items:end;
  gap:8px;
}

.topbar .actions > div:first-child{
  grid-area:field;
}

.topbar .actions .btn{
  align-self:end;
}

.topbar .actions .btn.btn-light{
  grid-area:refresh;
}

.topbar .actions .topbar-nav-btn,
.topbar .actions > button:not(.btn-light){
  grid-area:nav;
}

#agendaDataRef,
#agendaTotalRef{
  letter-spacing:-.01em;
}

@media (max-width: 860px){
  .topbar .actions{
    grid-template-columns:1fr;
    grid-template-areas:
      "field"
      "refresh"
      "nav";
  }
}


/* ===== Agrupamentos da navegação YMS ===== */
.grouped-menu{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.menu-section-label{
  margin:12px 6px 4px;
  padding-left:8px;
  color:#7f96b8;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
}
.grouped-menu > .menu-section-label:first-child{
  margin-top:2px;
}
.grouped-passagem{
  margin-top:0;
}
.grouped-menu .menu-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.grouped-menu .menu-group.open{
  margin-bottom:2px;
}
.sidebar-note{
  margin-top:16px;
}


/* ===== Sistema agrupado v2: topo + dashboard + agenda ===== */
:root{
  --group-label:#89a0c3;
}

.sidebar{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.13), transparent 22%),
    linear-gradient(180deg, rgba(6,10,17,.985), rgba(4,8,14,.975));
}

.sidebar-divider-premium{
  margin:14px 0 10px;
}

.menu-section-label{
  position:relative;
  margin:14px 6px 6px;
  padding:0 0 0 10px;
  color:var(--group-label);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
}
.menu-section-label::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:14px;
  border-radius:999px;
  background:linear-gradient(180deg, #2563eb, #06b6d4);
  box-shadow:0 0 14px rgba(37,99,235,.28);
}
.grouped-menu > .menu-section-label:first-child{
  margin-top:4px;
}

.topbar{
  padding:20px 20px 18px;
  border-radius:28px;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.16), transparent 24%),
    radial-gradient(circle at bottom right, rgba(6,182,212,.07), transparent 18%),
    linear-gradient(180deg, rgba(8,12,19,.985), rgba(6,9,14,.97));
}

.topbar-main{
  gap:16px;
}

.topbar-utility-panel{
  border-radius:24px;
}

.topbar-utility-row{
  gap:12px;
}

.top-welcome-strip{
  min-height:88px;
  padding:14px 16px;
  border-radius:20px;
}

.welcome-main{
  gap:8px;
}

.welcome-main strong{
  font-size:18px;
  letter-spacing:-.03em;
}

.welcome-main span{
  max-width:420px;
  color:#b2c3dd;
  line-height:1.65;
}

.welcome-pill{
  border-radius:16px;
  padding:11px 12px;
}

.welcome-pill strong{
  font-size:15px;
}

.topbar .actions{
  min-height:88px;
  border-radius:20px;
  padding:12px 14px;
}

.topbar-title-panel{
  padding-top:2px;
}

.topbar-badge{
  letter-spacing:.1em;
  font-size:10px;
  padding:8px 12px;
}

.topbar-title-panel h1{
  font-size:38px;
  letter-spacing:-.05em;
  margin-bottom:10px;
}

.topbar-title-panel p{
  max-width:760px;
  color:#b6c5dc;
  line-height:1.75;
}

.topbar-meta-row{
  gap:10px;
}

.topbar-meta-pill{
  border-radius:18px;
  padding:12px 14px;
}

.topbar-meta-pill strong{
  font-size:13px;
}

#view-dashboard .card.soft-glow,
#view-agenda .section-hero-card,
#view-agenda .filters-card{
  border-radius:24px;
}

#view-dashboard .card-title-row h2,
#view-agenda .section-hero-card h3,
#view-agenda .filters-card h2{
  letter-spacing:-.03em;
}

#view-dashboard #dashboardKpis .kpi,
#view-dashboard .dashboard-kpi,
#view-agenda .section-mini{
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

#view-dashboard #dashboardKpis{
  margin-bottom:2px;
}

#view-dashboard #dashboardKpis .kpi,
#view-dashboard #dashboardKpis > *{
  border-radius:22px !important;
}

#view-dashboard .board{
  gap:14px;
}

#view-dashboard .lane{
  border-radius:20px;
  min-height:320px;
}

#view-dashboard .item{
  border-radius:14px;
}

#view-agenda .section-hero{
  gap:14px;
}

#view-agenda .section-hero-card{
  padding:22px;
  min-height:180px;
}

#view-agenda .section-mini-grid{
  gap:12px;
  margin-top:16px;
}

#view-agenda .section-mini{
  border-radius:18px;
  padding:14px 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.07);
}

#view-agenda .section-mini span{
  color:#89a0c3;
  font-size:10px;
  letter-spacing:.1em;
}

#view-agenda .section-mini strong{
  font-size:28px;
  letter-spacing:-.04em;
}

#view-agenda .filters-card{
  padding:22px;
}

#view-agenda .filters-grid{
  gap:12px;
  align-items:end;
}

#view-agenda .premium-table-card,
#view-agenda .table-wrap{
  border-radius:22px;
}

#view-agenda table thead th{
  position:sticky;
  top:0;
  z-index:1;
}

#view-agenda .premium-table-head{
  margin-bottom:14px;
}

#view-agenda .premium-table-head h2{
  font-size:22px;
}

@media (max-width: 1200px){
  .topbar{
    padding:18px;
  }
  #view-agenda .section-hero{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  .topbar{
    padding:16px;
    border-radius:22px;
  }
  .topbar-title-panel h1{
    font-size:30px;
  }
  .top-welcome-strip,
  .topbar .actions{
    min-height:auto;
  }
  #view-agenda .section-hero-card{
    min-height:auto;
    padding:18px;
  }
  #view-agenda .section-mini strong{
    font-size:24px;
  }
}


/* ===== Sistema agrupado v3: check-in + pátio + docas + expedição ===== */
#view-checkin .section-hero-card,
#view-patio .section-hero-card,
#view-docas .section-hero-card,
#view-expedicao .section-hero-card,
#view-checkin .filters-card,
#view-patio .filters-card,
#view-docas .filters-card,
#view-expedicao .filters-card{
  border-radius:24px;
  padding:22px;
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

#view-checkin .section-hero,
#view-patio .section-hero,
#view-docas .section-hero,
#view-expedicao .section-hero{
  gap:14px;
}

#view-checkin .section-mini,
#view-patio .section-mini,
#view-docas .section-mini,
#view-expedicao .section-mini{
  border-radius:18px;
  padding:14px 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}

#view-checkin .section-mini span,
#view-patio .section-mini span,
#view-docas .section-mini span,
#view-expedicao .section-mini span{
  color:#89a0c3;
  font-size:10px;
  letter-spacing:.1em;
}

#view-checkin .section-mini strong,
#view-patio .section-mini strong,
#view-docas .section-mini strong,
#view-expedicao .section-mini strong{
  font-size:28px;
  letter-spacing:-.04em;
}

#view-checkin .filters-grid,
#view-patio .filters-grid,
#view-docas .filters-grid,
#view-expedicao .filters-grid{
  gap:12px;
  align-items:end;
}

#view-checkin .card.soft-glow,
#view-patio .card.soft-glow,
#view-docas .card.soft-glow,
#view-expedicao .card.soft-glow{
  border-radius:24px;
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

#view-checkin .card-title-row h2,
#view-patio .card-title-row h2,
#view-docas .card-title-row h2,
#view-expedicao .card-title-row h2{
  letter-spacing:-.03em;
}

#view-checkin .kpi,
#view-patio .kpi,
#view-docas .kpi,
#view-expedicao .kpi{
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.14);
}

#view-checkin .premium-table-card,
#view-patio .premium-table-card,
#view-docas .premium-table-card,
#view-expedicao .premium-table-card,
#view-checkin .table-wrap,
#view-patio .table-wrap,
#view-docas .table-wrap,
#view-expedicao .table-wrap{
  border-radius:22px;
}

#view-checkin table thead th,
#view-patio table thead th,
#view-docas table thead th,
#view-expedicao table thead th{
  position:sticky;
  top:0;
  z-index:1;
}

#view-patio .board,
#view-docas .board,
#view-expedicao .board{
  gap:14px;
}

#view-patio .lane,
#view-docas .lane,
#view-expedicao .lane{
  border-radius:20px;
  min-height:260px;
}

#view-patio .item,
#view-docas .item,
#view-expedicao .item{
  border-radius:14px;
}

#view-docas .dock-grid{
  gap:12px;
}

#view-docas .dock,
#view-patio .dock,
#view-expedicao .dock{
  border-radius:18px;
  box-shadow:0 16px 30px rgba(0,0,0,.12);
}

#view-expedicao .resultado-kpi-mini,
#view-docas .resultado-kpi-mini,
#view-patio .resultado-kpi-mini{
  border-radius:16px;
}

@media (max-width: 1200px){
  #view-checkin .section-hero,
  #view-patio .section-hero,
  #view-docas .section-hero,
  #view-expedicao .section-hero{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  #view-checkin .section-hero-card,
  #view-patio .section-hero-card,
  #view-docas .section-hero-card,
  #view-expedicao .section-hero-card,
  #view-checkin .filters-card,
  #view-patio .filters-card,
  #view-docas .filters-card,
  #view-expedicao .filters-card{
    padding:18px;
    border-radius:20px;
  }

  #view-checkin .section-mini strong,
  #view-patio .section-mini strong,
  #view-docas .section-mini strong,
  #view-expedicao .section-mini strong{
    font-size:24px;
  }
}


/* ===== Sistema agrupado v4: resultado separação + passagem de turno ===== */
#view-resultado-separacao .section-hero-card,
#view-passagem-turno .ptv7-hero,
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field{
  border-radius:24px;
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

#view-resultado-separacao .section-hero{
  gap:14px;
}

#view-resultado-separacao .section-hero-card{
  padding:22px;
  min-height:180px;
}

#view-resultado-separacao .section-mini-grid{
  gap:12px;
  margin-top:16px;
}

#view-resultado-separacao .section-mini{
  border-radius:18px;
  padding:14px 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}

#view-resultado-separacao .section-mini span{
  color:#89a0c3;
  font-size:10px;
  letter-spacing:.1em;
}

#view-resultado-separacao .section-mini strong{
  font-size:28px;
  letter-spacing:-.04em;
}

#view-resultado-separacao .card.soft-glow,
#view-resultado-separacao .premium-table-card{
  border-radius:24px;
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

#view-resultado-separacao .card-title-row h2,
#view-passagem-turno .card-title-row h3{
  letter-spacing:-.03em;
}

#view-resultado-separacao .kpi,
#view-resultado-separacao .resultado-kpi-mini{
  border-radius:20px;
  box-shadow:0 18px 38px rgba(0,0,0,.14);
}

#view-resultado-separacao .table-wrap{
  border-radius:22px;
}

#view-resultado-separacao table thead th{
  position:sticky;
  top:0;
  z-index:1;
}

#view-passagem-turno .ptv7-shell{
  gap:14px;
}

#view-passagem-turno .pt-subview{
  gap:14px;
}

#view-passagem-turno .ptv7-hero{
  padding:22px;
}

#view-passagem-turno .ptv7-hero h2{
  letter-spacing:-.03em;
}

#view-passagem-turno .ptv10-actions{
  gap:10px;
}

#view-passagem-turno .ptv7-kpis{
  gap:12px;
}

#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field{
  padding:16px;
}

#view-passagem-turno .ptv7-kpi strong{
  font-size:30px;
  letter-spacing:-.04em;
}

#view-passagem-turno .ptv7-kpi span,
#view-passagem-turno .ptv7-kpi label{
  color:#89a0c3;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:900;
}

#view-passagem-turno .ptv7-card{
  padding:18px;
}

#view-passagem-turno .ptv7-card h3,
#view-passagem-turno .ptv7-card h4{
  letter-spacing:-.02em;
}

#view-passagemTurno .passagem-area-card,
#view-passagem-turno .passagem-area-card{
  border-radius:18px;
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}

#view-passagem-turno .passagem-mini-inputs .passagem-mini-input input{
  border-radius:14px;
}

#view-passagem-turno .pt3-status,
#passagemStatusBar{
  border-radius:18px;
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}

#view-passagem-turno .pt-ind-summary-value{
  border-radius:14px;
}

#view-passagem-turno #passagemPainelCaptura .card{
  border-radius:22px;
}

#view-passagem-turno .passagem-save-btn{
  min-width:164px;
}

@media (max-width: 1200px){
  #view-resultado-separacao .section-hero{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  #view-resultado-separacao .section-hero-card,
  #view-passagem-turno .ptv7-hero,
  #view-passagem-turno .ptv7-card,
  #view-passagem-turno .ptv7-kpi,
  #view-passagem-turno .ptv7-kpi-field{
    padding:18px;
    border-radius:20px;
  }

  #view-resultado-separacao .section-mini strong,
  #view-passagem-turno .ptv7-kpi strong{
    font-size:24px;
  }

  #view-passagem-turno .ptv10-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  #view-passagem-turno .passagem-save-btn{
    width:100%;
    min-width:0;
  }
}


/* ===== Sistema agrupado v5: acabamento visual global ===== */
:root{
  --panel-premium:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
    linear-gradient(180deg, rgba(11,16,25,.985), rgba(7,11,18,.97));
  --panel-premium-soft:
    radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
    linear-gradient(180deg, rgba(14,20,31,.96), rgba(9,14,23,.94));
}

.main{
  padding:22px 22px 30px;
  background:
    linear-gradient(180deg, rgba(8,17,31,.24), rgba(8,17,31,.16));
}

.sidebar{
  box-shadow: inset -1px 0 0 rgba(255,255,255,.03);
}

.brand-wrap{
  gap:14px;
}
.brand-logo{
  width:58px;
  height:58px;
  border-radius:18px;
  padding:7px;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.brand-title{
  font-size:30px;
  letter-spacing:-.04em;
}
.brand-sub{
  color:#97add0;
  line-height:1.55;
}

.user-box,
.sidebar-note{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.07), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow:0 16px 34px rgba(0,0,0,.14);
}

.premium-menu button{
  min-height:52px;
  border-radius:18px;
  padding:13px 15px;
  box-shadow:
    0 14px 30px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.03);
}

.premium-menu button:hover,
.premium-menu button.active{
  box-shadow:
    0 18px 38px rgba(37,99,235,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.menu-icon{
  width:20px;
  opacity:.96;
}

.submenu-passagem button{
  min-height:40px;
  border-radius:14px;
  font-size:12px;
}

.topbar{
  box-shadow:0 28px 70px rgba(0,0,0,.30);
}

.topbar-utility-panel,
.card.soft-glow,
.section-hero-card,
.filters-card,
.premium-table-card,
.modal-content,
.login-box{
  background:var(--panel-premium);
  border:1px solid rgba(255,255,255,.08);
}

.topbar-utility-panel{
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}

.topbar-title-panel .topbar-badge{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.topbar-meta-pill,
.welcome-pill,
.section-mini,
.soft-stat,
.count,
.premium-badge{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.section-hero-card h3,
.card-title-row h2,
.premium-table-head h2{
  font-weight:900;
}

.section-hero-card p,
.card-title-row p,
.premium-table-head p{
  color:#a6b9d3;
  line-height:1.72;
}

.filters-card,
.premium-table-card{
  box-shadow:0 20px 42px rgba(0,0,0,.16);
}

.filters-grid > div label{
  color:#93a8c8;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
}

input,
select,
textarea{
  background:
    linear-gradient(180deg, rgba(7,10,15,.98), rgba(5,8,13,.96));
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  min-height:42px;
  padding:10px 12px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 18px rgba(0,0,0,.08);
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(59,130,246,.52);
  box-shadow:
    0 0 0 4px rgba(59,130,246,.12),
    0 14px 30px rgba(37,99,235,.12);
}

textarea{
  min-height:96px;
}

.btn{
  min-height:42px;
  border-radius:15px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}

.btn-primary{
  background:linear-gradient(135deg, #2563eb, #1d4ed8);
}
.btn-success{
  background:linear-gradient(135deg, #22c55e, #16a34a);
}
.btn-warning{
  background:linear-gradient(135deg, #f59e0b, #ea580c);
}
.btn-danger{
  background:linear-gradient(135deg, #ef4444, #b91c1c);
}
.btn-light{
  background:
    linear-gradient(180deg, rgba(23,39,67,.98), rgba(18,31,52,.95));
  border:1px solid rgba(255,255,255,.08);
}

.table-wrap{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

thead th{
  background:
    linear-gradient(180deg, rgba(15,20,29,.98), rgba(10,14,20,.96));
  color:#dce7fa;
  font-size:10px;
  letter-spacing:.09em;
}

tbody tr:hover{
  background:rgba(255,255,255,.03);
}

.board,
.grid,
.grid-2,
.grid-3,
.grid-4,
.filters-grid,
.section-mini-grid{
  gap:12px;
}

.lane{
  border-radius:20px;
  background:var(--panel-premium-soft);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 38px rgba(0,0,0,.14);
}

.item{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(17,23,34,.98), rgba(11,15,22,.96));
}

.dock{
  border-radius:18px;
  background:var(--panel-premium-soft);
  border:1px solid rgba(255,255,255,.08);
}

#view-dashboard .card.soft-glow,
#view-agenda .section-hero-card,
#view-checkin .section-hero-card,
#view-patio .section-hero-card,
#view-docas .section-hero-card,
#view-expedicao .section-hero-card,
#view-resultado-separacao .section-hero-card,
#view-passagem-turno .ptv7-hero{
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 24%),
    linear-gradient(180deg, rgba(12,18,28,.98), rgba(8,12,18,.96));
}

#view-dashboard .kpi,
#view-checkin .kpi,
#view-patio .kpi,
#view-docas .kpi,
#view-expedicao .kpi,
#view-resultado-separacao .kpi,
#view-passagem-turno .ptv7-kpi{
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.16), transparent 28%),
    linear-gradient(180deg, rgba(18,25,36,.98), rgba(11,16,24,.96));
  border:1px solid rgba(255,255,255,.09);
}

#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi-field{
  background:var(--panel-premium-soft);
  border:1px solid rgba(255,255,255,.08);
}

#passagemStatusBar{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.08);
}

.modal-content{
  border-radius:30px;
  box-shadow:0 34px 100px rgba(0,0,0,.42);
}

.toast{
  border-radius:16px;
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}

@media (max-width: 1200px){
  .main{
    padding:18px 18px 24px;
  }
}

@media (max-width: 860px){
  .main{
    padding:14px;
  }

  .premium-menu button{
    min-height:48px;
  }

  .user-box,
  .sidebar-note{
    border-radius:18px;
  }
}


/* ===== Sistema agrupado v6: correção estrutural da sidebar ===== */
.sidebar{
  display:flex;
  flex-direction:column;
}
.premium-menu.grouped-menu{
  flex:0 0 auto;
}
.sidebar-note{
  flex:0 0 auto;
}


/* ===== Sistema agrupado v8: compactação premium ===== */
.main{
  padding:18px 18px 24px;
}

.topbar{
  padding:16px 16px 14px;
  border-radius:24px;
  margin-bottom:12px;
}

.topbar-main{
  gap:12px;
}

.topbar-utility-row{
  gap:10px;
}

.top-welcome-strip{
  min-height:78px;
  padding:12px 14px;
  border-radius:18px;
}

.welcome-main strong{
  font-size:17px;
}

.welcome-main span{
  font-size:12px;
  line-height:1.5;
  max-width:360px;
}

.welcome-meta{
  gap:8px;
}

.welcome-pill{
  padding:10px 12px;
  border-radius:14px;
}

.welcome-pill span{
  font-size:9px;
  margin-bottom:5px;
}

.welcome-pill strong{
  font-size:13px;
}

.topbar .actions{
  min-height:78px;
  padding:10px 12px;
  gap:8px;
  border-radius:18px;
}

.topbar .actions label{
  font-size:10px;
  margin-bottom:4px;
}

.topbar .actions .btn{
  min-height:36px;
  padding:8px 12px;
}

.topbar-title-panel .topbar-badge{
  padding:7px 10px;
  font-size:9px;
}

.topbar-title-panel h1{
  font-size:32px;
  margin-bottom:8px;
}

.topbar-title-panel p{
  font-size:13px;
  line-height:1.65;
  max-width:680px;
}

.topbar-meta-row{
  margin-top:12px;
  gap:8px;
}

.topbar-meta-pill{
  padding:10px 12px;
  border-radius:15px;
}

.topbar-meta-pill span{
  font-size:9px;
}

.topbar-meta-pill strong{
  font-size:12px;
}

.card,
.section-hero-card,
.filters-card,
.premium-table-card,
.modal-content{
  border-radius:20px;
  padding:16px;
}

.card-title-row,
.premium-table-head{
  margin-bottom:10px;
}

.card-title-row h2,
.section-hero-card h3,
.premium-table-head h2{
  font-size:18px;
}

.card-title-row p,
.section-hero-card p,
.premium-table-head p{
  font-size:12px;
  line-height:1.55;
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.board,
.filters-grid,
.section-mini-grid{
  gap:10px;
}

.kpi{
  min-height:106px !important;
  border-radius:18px !important;
  padding:14px !important;
}

.kpi .label{
  font-size:10px !important;
  margin-bottom:8px !important;
}

.kpi .value{
  font-size:28px !important;
}

.kpi .sub{
  font-size:10px !important;
  margin-top:6px !important;
}

.kpi-icon{
  width:30px !important;
  height:30px !important;
  border-radius:10px !important;
  margin-bottom:8px !important;
}

.kpi-icon svg{
  width:16px !important;
  height:16px !important;
}

.section-hero-card{
  min-height:auto !important;
  padding:18px !important;
}

.section-mini{
  padding:12px 14px !important;
  border-radius:14px !important;
}

.section-mini strong{
  font-size:24px !important;
}

.filters-card{
  padding:16px !important;
}

label{
  font-size:11px;
  margin-bottom:5px;
}

input,
select,
textarea{
  min-height:38px;
  padding:9px 11px;
  border-radius:13px;
  font-size:13px;
}

textarea{
  min-height:80px;
}

.btn{
  min-height:38px;
  padding:8px 13px;
  border-radius:13px;
  font-size:13px;
}

.table-wrap{
  border-radius:16px;
}

th, td{
  padding:9px 8px;
  font-size:11px;
}

th{
  font-size:10px;
}

.lane{
  border-radius:18px !important;
  min-height:240px !important;
  padding:12px !important;
}

.lane-head{
  margin-bottom:8px;
  padding-bottom:8px;
}

.lane h3{
  font-size:14px;
}

.item{
  border-radius:12px !important;
  padding:10px !important;
}

.item strong{
  font-size:13px;
}

.item .meta{
  font-size:11px;
  line-height:1.45;
}

.dock{
  border-radius:16px !important;
  min-height:138px !important;
  padding:12px !important;
}

.sidebar{
  padding-bottom:12px;
}

.user-box,
.sidebar-note{
  padding:14px;
  border-radius:18px;
}

.premium-menu button{
  min-height:46px;
  padding:11px 13px;
  border-radius:16px;
  font-size:13px;
}

.menu-icon{
  width:18px;
}

.menu-section-label{
  margin:12px 6px 4px;
  font-size:10px;
}

.submenu-passagem button{
  min-height:36px;
  border-radius:12px;
  font-size:11px;
}

#view-passagem-turno .ptv7-hero,
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field{
  padding:16px !important;
  border-radius:18px !important;
}

#view-passagem-turno .ptv7-kpi strong{
  font-size:26px !important;
}

#passagemStatusBar{
  padding:12px 14px;
  border-radius:16px;
}

@media (max-width: 1200px){
  .main{
    padding:16px 16px 20px;
  }
}

@media (max-width: 860px){
  .main{
    padding:12px;
  }

  .topbar{
    padding:14px;
    border-radius:20px;
  }

  .topbar-title-panel h1{
    font-size:28px;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .board{
    grid-template-columns:1fr !important;
  }

  .top-welcome-strip,
  .topbar .actions{
    min-height:auto;
  }

  .section-mini strong,
  #view-passagem-turno .ptv7-kpi strong{
    font-size:22px !important;
  }
}


/* ===== Sistema agrupado v9: maturidade visual ===== */
:root{
  --topbar-glow: 0 30px 76px rgba(0,0,0,.32);
  --card-glow-strong: 0 22px 48px rgba(0,0,0,.18);
  --card-glow-soft: 0 16px 34px rgba(0,0,0,.13);
}

.main{
  padding:16px 16px 22px;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.06), transparent 16%),
    linear-gradient(180deg, rgba(8,17,31,.18), rgba(8,17,31,.11));
}

.topbar{
  padding:14px 14px 12px;
  border-radius:22px;
  margin-bottom:10px;
  box-shadow:var(--topbar-glow);
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 24%),
    radial-gradient(circle at bottom right, rgba(6,182,212,.06), transparent 18%),
    linear-gradient(180deg, rgba(9,13,20,.985), rgba(6,9,14,.975));
}

.topbar-main{
  gap:10px;
}

.topbar-utility-panel{
  border-radius:20px;
  box-shadow:var(--card-glow-soft);
}

.topbar-utility-row{
  display:grid;
  grid-template-columns:minmax(460px,1.4fr) minmax(320px,.95fr) 52px;
  gap:10px;
  align-items:stretch;
}

.top-welcome-strip{
  min-height:72px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.10), transparent 24%),
    linear-gradient(180deg, rgba(16,23,35,.96), rgba(11,16,24,.94));
}

.welcome-main{
  gap:4px;
}

.welcome-main strong{
  font-size:16px;
  letter-spacing:-.03em;
}

.welcome-main span{
  font-size:11px;
  line-height:1.45;
  max-width:340px;
  color:#aebfda;
}

.welcome-meta{
  grid-template-columns:repeat(3, minmax(68px, 1fr));
  gap:6px;
}

.welcome-pill{
  padding:8px 10px;
  border-radius:13px;
}

.welcome-pill strong{
  font-size:12px;
}

.topbar .actions{
  min-height:72px;
  padding:10px 12px;
  border-radius:16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "field button";
  gap:8px;
  align-items:end;
}

.topbar .actions > div:first-child{
  grid-area:field;
}

.topbar .actions .btn{
  grid-area:button;
  min-width:94px;
}

.topbar-menu-toggle,
.logout-btn-top{
  width:52px !important;
  min-width:52px !important;
  height:72px !important;
  min-height:72px !important;
  border-radius:16px !important;
  align-self:stretch;
}

.topbar-title-panel{
  padding-top:0;
}

.topbar-title-panel .topbar-badge{
  padding:6px 10px;
  font-size:9px;
  letter-spacing:.11em;
}

.topbar-title-panel h1{
  font-size:30px;
  letter-spacing:-.05em;
  margin-bottom:6px;
}

.topbar-title-panel p{
  font-size:12px;
  line-height:1.58;
  max-width:620px;
  color:#b3c3da;
}

.topbar-meta-row{
  margin-top:10px;
  gap:8px;
}

.topbar-meta-pill{
  padding:9px 11px;
  border-radius:14px;
}

.topbar-meta-pill strong{
  font-size:11px;
}

.sidebar{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 22%),
    linear-gradient(180deg, rgba(6,10,17,.99), rgba(4,8,14,.985));
}

.user-box,
.sidebar-note{
  box-shadow:var(--card-glow-soft);
}

.premium-menu button{
  min-height:44px;
  padding:10px 12px;
  border-radius:15px;
}

.menu-section-label{
  margin:10px 6px 4px;
  font-size:9px;
}

.card,
.section-hero-card,
.filters-card,
.premium-table-card,
.modal-content{
  border-radius:18px;
  padding:14px;
  box-shadow:var(--card-glow-soft);
}

.card-title-row,
.premium-table-head{
  margin-bottom:8px;
}

.card-title-row h2,
.section-hero-card h3,
.premium-table-head h2{
  font-size:17px;
  letter-spacing:-.03em;
}

.card-title-row p,
.section-hero-card p,
.premium-table-head p{
  font-size:11px;
  line-height:1.5;
  color:#a8bad4;
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.board,
.filters-grid,
.section-mini-grid{
  gap:8px;
}

.kpi{
  min-height:96px !important;
  border-radius:16px !important;
  padding:12px !important;
  box-shadow:var(--card-glow-soft);
}

.kpi::before{
  width:4px !important;
}

.kpi .label{
  font-size:9px !important;
  margin-bottom:6px !important;
  letter-spacing:.08em !important;
}

.kpi .value{
  font-size:24px !important;
  letter-spacing:-.05em !important;
}

.kpi .sub{
  font-size:10px !important;
  margin-top:5px !important;
  line-height:1.35 !important;
}

.kpi-icon{
  width:28px !important;
  height:28px !important;
  border-radius:9px !important;
  margin-bottom:7px !important;
}

.kpi-icon svg{
  width:14px !important;
  height:14px !important;
}

.section-hero-card{
  min-height:auto !important;
  padding:16px !important;
}

.section-mini{
  padding:10px 12px !important;
  border-radius:13px !important;
}

.section-mini span{
  font-size:9px !important;
}

.section-mini strong{
  font-size:22px !important;
  letter-spacing:-.04em !important;
}

.filters-card{
  padding:14px !important;
}

.filters-grid > div label{
  font-size:10px !important;
  margin-bottom:4px !important;
}

input,
select,
textarea{
  min-height:36px;
  padding:8px 10px;
  border-radius:12px;
  font-size:12px;
}

textarea{
  min-height:72px;
}

.btn{
  min-height:36px;
  padding:7px 12px;
  border-radius:12px;
  font-size:12px;
}

.table-wrap{
  border-radius:14px;
}

th, td{
  padding:8px 7px;
  font-size:10px;
}

th{
  font-size:9px;
  letter-spacing:.08em;
}

.board{
  align-items:start;
}

.lane{
  border-radius:16px !important;
  min-height:220px !important;
  padding:10px !important;
}

.lane-head{
  margin-bottom:7px;
  padding-bottom:7px;
}

.lane h3{
  font-size:13px;
}

.count{
  font-size:10px !important;
  padding:4px 8px !important;
}

.item{
  border-radius:11px !important;
  padding:9px !important;
}

.item strong{
  font-size:12px;
}

.item .meta{
  font-size:10px;
  line-height:1.4;
}

.dock{
  border-radius:14px !important;
  min-height:124px !important;
  padding:10px !important;
}

.soft-stat,
.premium-badge{
  font-size:9px !important;
  padding:5px 8px !important;
  border-radius:999px !important;
}

#view-dashboard .card.soft-glow,
#view-agenda .section-hero-card,
#view-checkin .section-hero-card,
#view-patio .section-hero-card,
#view-docas .section-hero-card,
#view-expedicao .section-hero-card,
#view-resultado-separacao .section-hero-card,
#view-passagem-turno .ptv7-hero{
  box-shadow:var(--card-glow-strong);
}

#view-passagem-turno .ptv7-hero,
#view-passagem-turno .ptv7-card,
#view-passagem-turno .ptv7-kpi,
#view-passagem-turno .ptv7-kpi-field{
  padding:14px !important;
  border-radius:16px !important;
}

#view-passagem-turno .ptv7-kpi strong{
  font-size:22px !important;
}

#view-passagem-turno .ptv7-card h3,
#view-passagem-turno .ptv7-card h4{
  font-size:15px;
}

#passagemStatusBar{
  padding:10px 12px;
  border-radius:14px;
}

@media (max-width: 1200px){
  .main{
    padding:14px 14px 18px;
  }
  .topbar-utility-row{
    grid-template-columns:1fr 52px;
    grid-template-areas:
      "welcome logout"
      "filters filters";
  }
  .top-welcome-strip{ grid-area:welcome; }
  .topbar .actions{ grid-area:filters; }
  .logout-btn-top{ grid-area:logout; }
}

@media (max-width: 860px){
  .main{
    padding:10px;
  }

  .topbar{
    padding:12px;
    border-radius:18px;
  }

  .topbar-title-panel h1{
    font-size:26px;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .board{
    grid-template-columns:1fr !important;
  }

  .topbar-utility-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "welcome"
      "filters"
      "logout";
  }

  .top-welcome-strip,
  .topbar .actions{
    min-height:auto;
  }

  .logout-btn-top,
  .topbar-menu-toggle{
    width:52px !important;
    height:52px !important;
    min-height:52px !important;
    justify-self:end;
  }

  .section-mini strong,
  #view-passagem-turno .ptv7-kpi strong{
    font-size:20px !important;
  }
}


/* ===== Sistema agrupado v10: ícones mais executivos nos cards ===== */
.kpi-icon{
  font-size:0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:
    0 10px 22px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.kpi-icon svg{
  width:15px !important;
  height:15px !important;
  stroke:currentColor;
  stroke-width:1.9;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.kpi.status-blue .kpi-icon{ color:#60a5fa; }
.kpi.status-green .kpi-icon{ color:#4ade80; }
.kpi.status-orange .kpi-icon{ color:#fb923c; }
.kpi.status-red .kpi-icon{ color:#f87171; }
.kpi.status-purple .kpi-icon{ color:#a78bfa; }
.kpi.status-cyan .kpi-icon{ color:#22d3ee; }
.kpi.status-gray .kpi-icon{ color:#94a3b8; }

#dashboardKpis .kpi-icon,
#dashboardExceptions .kpi-icon,
#agendaKpis .kpi-icon,
#relatorioResumo .kpi-icon{
  border-radius:8px !important;
}

/* ===== AUDITORIA DE DOCA ===== */
.auditoria-doca-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  padding:4px 0 2px;
}
.auditoria-doca-card{
  position:relative;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(14,20,31,.96), rgba(9,14,23,.94));
  padding:14px;
  min-height:168px;
  box-shadow:0 16px 30px rgba(0,0,0,.12);
}
.auditoria-doca-card .dock-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:10px;
}
.auditoria-doca-card .dock-head strong{
  font-size:14px;
}
.auditoria-doca-card .count{
  background:rgba(255,255,255,.06);
}
.auditoria-doca-card .meta{
  font-size:11px;
  line-height:1.6;
  color:#b8cae8;
  min-height:78px;
}
.auditoria-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
.audit-aguardando{ background:rgba(255,255,255,.08); color:#d6deeb; }
.audit-carregando{ background:rgba(37,99,235,.16); color:#93c5fd; }
.audit-disponivel{ background:rgba(34,197,94,.16); color:#bbf7d0; }
.audit-devolucao{ background:rgba(107,114,128,.18); color:#d1d5db; }
.audit-reagendado{ background:rgba(245,158,11,.18); color:#fde68a; }
.audit-solto{ background:rgba(239,68,68,.18); color:#fecaca; }
.dock-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.dock-note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(255,255,255,.08);
  font-size:11px;
  color:#9fb0ca;
  line-height:1.5;
}
.modal-content-wide{
  width:min(860px, calc(100vw - 40px));
}
.audit-action-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
@media (max-width: 1500px){
  .auditoria-doca-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width: 1200px){
  .auditoria-doca-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px){
  .auditoria-doca-grid{ grid-template-columns:1fr; }
  .modal-content-wide{ width:min(96vw, calc(100vw - 16px)); }
}


/* ===== AUDITORIA DE DOCA V2 ===== */
#view-auditoria-doca{
  display:block;
}
#view-auditoria-doca.hidden{
  display:none !important;
}
.auditoria-shell{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.auditoria-top-card,
.auditoria-mapa-card,
.auditoria-table-card{
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 24%),
    linear-gradient(180deg, rgba(9,13,20,.98), rgba(6,9,14,.96));
}
.auditoria-top-card{
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
}
.auditoria-filtros-linha{
  display:grid;
  grid-template-columns: 1.4fr .8fr .9fr;
  gap:12px;
  margin-top:14px;
}
.auditoria-filtro-item{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.auditoria-filtro-item label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#9fb0ca;
  font-weight:900;
}
.auditoria-kpis-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.auditoria-kpis-row .section-mini{
  min-height:86px;
  justify-content:center;
}
.auditoria-kpis-row .section-mini strong{
  font-size:26px !important;
}
.auditoria-doca-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.auditoria-doca-card{
  position:relative;
  min-height:186px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:
    linear-gradient(180deg, rgba(18,24,34,.98), rgba(11,15,22,.96));
  padding:12px;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}
.auditoria-doca-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:14px 0 0 14px;
  background:rgba(255,255,255,.12);
}
.auditoria-doca-card.status-aguardando::before{ background:#d6deeb; }
.auditoria-doca-card.status-carregando::before{ background:#60a5fa; }
.auditoria-doca-card.status-disponivel::before{ background:#4ade80; }
.auditoria-doca-card.status-devolucao::before{ background:#9ca3af; }
.auditoria-doca-card.status-reagendado::before{ background:#facc15; }
.auditoria-doca-card.status-solto::before{ background:#f87171; }

.auditoria-doca-card .dock-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  margin-bottom:10px;
}
.auditoria-doca-card .dock-head strong{
  font-size:13px;
  line-height:1.2;
}
.auditoria-doca-card .meta{
  font-size:10.5px;
  line-height:1.55;
  color:#c0cde3;
  min-height:78px;
}
.auditoria-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
.audit-aguardando{ background:rgba(255,255,255,.10); color:#e5e7eb; }
.audit-carregando{ background:rgba(59,130,246,.18); color:#bfdbfe; }
.audit-disponivel{ background:rgba(34,197,94,.18); color:#bbf7d0; }
.audit-devolucao{ background:rgba(107,114,128,.20); color:#e5e7eb; }
.audit-reagendado{ background:rgba(234,179,8,.18); color:#fde68a; }
.audit-solto{ background:rgba(239,68,68,.18); color:#fecaca; }
.dock-note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(255,255,255,.08);
  font-size:10.5px;
  color:#9fb0ca;
  line-height:1.45;
}
.dock-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.auditoria-table-card .premium-table-head{
  margin-bottom:10px;
}
.auditoria-table-wrap{
  max-height:420px;
  overflow:auto;
}
.auditoria-table-wrap table{
  min-width:1200px;
}
.auditoria-table-wrap thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:linear-gradient(180deg, rgba(24,54,109,.98), rgba(20,47,94,.96));
  color:#ecf3ff;
  font-size:10px;
}
.auditoria-table-wrap tbody td{
  font-size:11px;
}
.audit-action-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
@media (max-width: 1500px){
  .auditoria-doca-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 1100px){
  .auditoria-filtros-linha{ grid-template-columns:1fr; }
  .auditoria-kpis-row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .auditoria-doca-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px){
  .auditoria-kpis-row,
  .auditoria-doca-grid{ grid-template-columns:1fr; }
}


/* ===== AUDITORIA DE DOCA V3 - CARGAS PARADAS ===== */
.auditoria-top-card .card-title-row p,
.auditoria-mapa-card .premium-table-head p,
.auditoria-table-card .premium-table-head p{
  max-width:780px;
}
.auditoria-doca-card .meta strong{
  color:#eef4ff;
  font-weight:800;
}
.auditoria-table-wrap tbody tr{
  background:rgba(255,255,255,.01);
}
.auditoria-table-wrap tbody tr:hover{
  background:rgba(255,255,255,.03);
}


/* ===== DOCAS - INTERDIÇÃO ===== */
.dock.interditada{
  border-color:rgba(239,68,68,.28) !important;
  background:
    radial-gradient(circle at top right, rgba(239,68,68,.10), transparent 24%),
    linear-gradient(180deg, rgba(28,14,18,.96), rgba(18,10,12,.94)) !important;
}
.dock.interditada .dock-head strong{
  color:#fecaca;
}
.dock-state.interditada{
  background:rgba(239,68,68,.16);
  color:#fecaca;
  border:1px solid rgba(239,68,68,.22);
}
.dock-interdicao-note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(239,68,68,.18);
  color:#fecaca;
  font-size:10.5px;
  line-height:1.45;
}


/* ===== DOCA INTERDITADA V5 ===== */
.select-option-interditada{
  color:#fecaca;
}
.doca-chip-interditada{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  background:rgba(239,68,68,.14);
  color:#fecaca;
  border:1px solid rgba(239,68,68,.22);
  margin-left:6px;
}
.doca-motivo-inline{
  display:block;
  margin-top:4px;
  color:#fecaca;
  font-size:10px;
  line-height:1.45;
}


#docaInterdicaoModal{ z-index: 520; }
#docaInterdicaoModal .modal-content{ z-index: 521; }


/* ===== V8: Doca interditada na Agenda e Auditoria ===== */
.doca-tag-interditada{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  margin-left:6px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
  background:rgba(239,68,68,.14);
  color:#fecaca;
  border:1px solid rgba(239,68,68,.22);
  white-space:nowrap;
}

.doca-motivo-bloqueio{
  display:block;
  margin-top:5px;
  color:#fecaca;
  font-size:10px;
  line-height:1.45;
}

.auditoria-doca-card.interditada{
  border-color:rgba(239,68,68,.24) !important;
  background:
    radial-gradient(circle at top right, rgba(239,68,68,.10), transparent 24%),
    linear-gradient(180deg, rgba(28,14,18,.96), rgba(18,10,12,.94)) !important;
}

.auditoria-doca-card.interditada .dock-head strong{
  color:#fecaca;
}

.auditoria-alerta-interdicao{
  margin-top:8px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.18);
  color:#fecaca;
  font-size:10.5px;
  line-height:1.45;
}


/* ===== V11 AUDITORIA DIA ATUAL ===== */
.auditoria-table-wrap td[colspan]{
  background:rgba(255,255,255,.01);
}


/* ===== V12 TODAS CARGAS AUDITORIA ===== */
.auditoria-table-wrap .doca-motivo-inline{
  margin-top:5px;
  color:#fecaca;
  font-size:10px;
  line-height:1.4;
}


/* =========================================================
   TOPO INTERNO ALINHADO AO SITE - V2
   ========================================================= */

.site-like-topbar{
  min-height:88px;
  width:100%;
  margin:0 0 18px;
  padding:14px 18px;
  display:grid;
  grid-template-columns:auto minmax(360px,1fr) auto auto;
  grid-template-areas:
    "menu brand nav actions"
    "context status status actions";
  align-items:center;
  gap:10px 18px;
  border-radius:0 0 26px 26px;
  border:1px solid rgba(120,151,190,.20);
  border-top:0;
  background:
    radial-gradient(circle at 88% 40%, rgba(6,182,212,.13), transparent 20%),
    radial-gradient(circle at 20% 0%, rgba(37,99,235,.16), transparent 24%),
    linear-gradient(180deg, rgba(2,8,23,.98), rgba(3,11,25,.96));
  box-shadow:0 20px 55px rgba(0,0,0,.34);
  backdrop-filter:blur(22px);
  overflow:visible;
}

.site-like-topbar::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(13,224,219,.55), rgba(37,99,235,.42), transparent);
}

.site-like-topbar::after{
  content:"";
  position:absolute;
  inset:auto 24px -1px 24px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(13,224,219,.30), transparent);
}

.site-topbar-menu{
  grid-area:menu;
  display:flex !important;
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.24);
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,8,23,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 12px 26px rgba(0,0,0,.24);
}

.site-topbar-brand{
  grid-area:brand;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.site-topbar-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  background:#fff;
  border-radius:0;
  padding:6px;
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}

.site-topbar-brand-copy{
  min-width:0;
}

.site-topbar-brand-copy strong{
  display:block;
  color:#f8fbff;
  font-size:24px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.055em;
  white-space:nowrap;
}

.site-topbar-brand-copy strong span{
  color:#10d7dc;
}

.site-topbar-brand-copy small{
  display:block;
  margin-top:6px;
  color:#8ea2bf;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.site-topbar-nav{
  grid-area:nav;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  min-width:0;
}

.site-topbar-nav button{
  min-height:38px;
  padding:0 11px;
  border-radius:999px;
  color:#cdd8eb;
  font-weight:900;
  font-size:13px;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  transition:.18s ease;
  white-space:nowrap;
}

.site-topbar-nav button:hover{
  color:#fff;
  border-color:rgba(148,163,184,.18);
  background:rgba(255,255,255,.045);
  transform:translateY(-1px);
}

.site-topbar-status{
  grid-area:status;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-width:0;
}

.site-greeting{
  min-width:280px;
  max-width:520px;
}

.site-greeting strong{
  display:block;
  font-size:15px;
  font-weight:950;
  color:#fff;
  letter-spacing:-.02em;
}

.site-greeting span{
  display:block;
  margin-top:4px;
  color:#9fb0ca;
  font-size:12px;
  line-height:1.35;
}

.site-time-pills{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.site-time-pill{
  min-width:86px;
  min-height:44px;
  padding:8px 11px;
  border-radius:15px;
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(180deg, rgba(17,24,39,.82), rgba(8,13,24,.76));
}

.site-time-pill span{
  display:block;
  margin-bottom:4px;
  color:#8fa2bd;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:9px;
  font-weight:950;
}

.site-time-pill strong{
  display:block;
  color:#fff;
  font-size:13px;
  font-weight:950;
}

.site-topbar-actions{
  grid-area:actions;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.site-date-filter{
  width:186px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.site-date-filter label{
  color:#8fa2bd;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
}

.site-date-filter input{
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
  background:rgba(0,0,0,.44);
  border:1px solid rgba(148,163,184,.18);
  color:#fff;
}

.site-refresh-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(56,189,248,.24);
  background:linear-gradient(135deg,#0b6cff,#10d7dc);
  color:#fff;
  font-weight:950;
  box-shadow:0 14px 28px rgba(11,108,255,.22);
}

.site-logout-red{
  margin:0 !important;
  width:auto !important;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px !important;
  border-radius:14px !important;
  border:1px solid rgba(248,113,113,.32) !important;
  background:linear-gradient(135deg,#dc2626,#7f1d1d) !important;
  color:#fff !important;
  font-weight:950;
  box-shadow:0 14px 30px rgba(220,38,38,.22);
}

.site-logout-red:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

.site-page-context{
  grid-area:context;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.site-page-context span{
  color:#8fa2bd;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.site-page-context strong{
  color:#eaf2ff;
  font-size:14px;
  font-weight:950;
  letter-spacing:-.02em;
}

.site-like-topbar .topbar-main,
.site-like-topbar .topbar-utility-panel,
.site-like-topbar .topbar-section-divider,
.site-like-topbar .topbar-title-panel,
.site-like-topbar .welcome-strip,
.site-like-topbar .actions,
.site-like-topbar .topbar-right-tools{
  display:none !important;
}

@media(max-width:1320px){
  .site-like-topbar{
    grid-template-columns:auto minmax(260px,1fr) auto;
    grid-template-areas:
      "menu brand actions"
      "context status status"
      "nav nav nav";
  }
  .site-topbar-nav{
    justify-content:flex-start;
    overflow:auto;
    padding-bottom:2px;
  }
  .site-topbar-actions{
    flex-wrap:wrap;
  }
}

@media(max-width:980px){
  .site-like-topbar{
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "menu brand"
      "status status"
      "actions actions"
      "nav nav"
      "context context";
    border-radius:0 0 22px 22px;
    padding:14px;
  }
  .site-topbar-status{
    flex-direction:column;
    align-items:stretch;
  }
  .site-greeting{
    min-width:0;
    max-width:none;
  }
  .site-time-pills{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .site-topbar-actions{
    justify-content:flex-start;
  }
  .site-date-filter{
    width:min(220px,100%);
  }
}

@media(max-width:620px){
  .site-topbar-brand-copy small{
    display:none;
  }
  .site-topbar-brand-copy strong{
    font-size:19px;
  }
  .site-topbar-logo{
    width:46px;
    height:46px;
  }
  .site-time-pills{
    grid-template-columns:1fr;
  }
  .site-topbar-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .site-date-filter{
    width:100%;
  }
  .site-refresh-btn,
  .site-logout-red{
    width:100% !important;
  }
}

/* =========================================================
   TOPO INTERNO COMPACTO - V3
   ========================================================= */
.site-like-topbar{
  min-height:64px !important;
  margin:0 0 12px !important;
  padding:8px 14px !important;
  grid-template-columns:auto minmax(230px, auto) minmax(260px, 1fr) auto auto !important;
  grid-template-areas:"menu brand nav status actions" !important;
  gap:10px 14px !important;
  align-items:center !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28) !important;
  overflow:visible !important;
}

.site-page-context{
  display:none !important;
}

.site-topbar-menu{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
}

.site-topbar-menu .topbar-toggle-dot{
  display:none !important;
}

.site-topbar-brand{
  gap:10px !important;
}

.site-topbar-logo{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  padding:4px !important;
  box-shadow:0 10px 22px rgba(0,0,0,.24) !important;
}

.site-topbar-brand-copy strong{
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}

.site-topbar-brand-copy small{
  display:none !important;
}

.site-topbar-nav{
  justify-content:flex-start !important;
  gap:2px !important;
  overflow:auto !important;
  scrollbar-width:none;
}

.site-topbar-nav::-webkit-scrollbar{
  display:none;
}

.site-topbar-nav button{
  min-height:34px !important;
  padding:0 10px !important;
  font-size:12px !important;
  border-radius:999px !important;
}

.site-topbar-status{
  justify-content:flex-end !important;
  gap:8px !important;
}

.site-greeting{
  display:none !important;
}

.site-time-pills{
  gap:6px !important;
  flex-wrap:nowrap !important;
}

.site-time-pill{
  min-width:58px !important;
  min-height:34px !important;
  padding:6px 8px !important;
  border-radius:12px !important;
  background:rgba(15,23,42,.72) !important;
}

.site-time-pill span{
  margin-bottom:2px !important;
  font-size:8px !important;
  letter-spacing:.06em !important;
}

.site-time-pill strong{
  font-size:11px !important;
}

.site-topbar-actions{
  gap:8px !important;
}

.site-date-filter{
  width:140px !important;
  gap:3px !important;
}

.site-date-filter label{
  display:none !important;
}

.site-date-filter input{
  min-height:36px !important;
  height:36px !important;
  padding:0 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}

.site-refresh-btn{
  min-height:36px !important;
  height:36px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:12px !important;
  box-shadow:0 10px 22px rgba(11,108,255,.18) !important;
}

.site-logout-red{
  min-height:36px !important;
  height:36px !important;
  padding:0 13px !important;
  border-radius:12px !important;
  font-size:12px !important;
  box-shadow:0 10px 22px rgba(220,38,38,.20) !important;
}

.site-logout-red span{
  font-size:15px !important;
  line-height:1 !important;
}

.main{
  padding-top:14px !important;
}

@media(max-width:1320px){
  .site-like-topbar{
    grid-template-columns:auto minmax(220px, auto) 1fr auto !important;
    grid-template-areas:
      "menu brand status actions"
      "nav nav nav nav" !important;
    min-height:70px !important;
  }
  .site-topbar-nav{
    padding-top:2px !important;
  }
}

@media(max-width:980px){
  .site-like-topbar{
    grid-template-columns:auto 1fr auto !important;
    grid-template-areas:
      "menu brand actions"
      "status status status"
      "nav nav nav" !important;
    padding:10px 12px !important;
    gap:8px 10px !important;
    border-radius:0 0 16px 16px !important;
  }
  .site-topbar-status{
    justify-content:flex-start !important;
  }
  .site-time-pills{
    display:flex !important;
    flex-wrap:wrap !important;
  }
}

@media(max-width:720px){
  .site-date-filter,
  .site-refresh-btn{
    display:none !important;
  }
  .site-topbar-brand-copy strong{
    font-size:16px !important;
  }
  .site-logout-red{
    width:auto !important;
    min-width:64px !important;
  }
}

@media(max-width:520px){
  .site-topbar-logo{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }
  .site-topbar-nav button{
    font-size:11px !important;
    padding:0 8px !important;
  }
  .site-time-pill{
    min-width:54px !important;
  }
}

/* =========================================================
   AJUSTE V4 - BOTÃO SAIR PREMIUM / COMPACTO
   ========================================================= */
.site-logout-red{
  position:relative !important;
  overflow:hidden !important;
  min-width:78px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 15px 0 10px !important;
  gap:9px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,113,113,.42) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,0) 32%),
    linear-gradient(135deg, #fb3b4a 0%, #dc2626 44%, #7f1d1d 100%) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-shadow:0 1px 0 rgba(0,0,0,.24) !important;
  box-shadow:
    0 12px 28px rgba(220,38,38,.28),
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(0,0,0,.22) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease !important;
}

.site-logout-red::before{
  content:"" !important;
  position:absolute !important;
  inset:-1px !important;
  border-radius:inherit !important;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.28) 42%, transparent 58%) !important;
  transform:translateX(-120%) !important;
  transition:transform .48s ease !important;
  pointer-events:none !important;
}

.site-logout-red::after{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  border-radius:inherit !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
  pointer-events:none !important;
}

.site-logout-red span{
  position:relative !important;
  z-index:1 !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  font-size:14px !important;
  line-height:1 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.site-logout-red:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.06) saturate(1.06) !important;
  border-color:rgba(255,160,160,.62) !important;
  box-shadow:
    0 16px 34px rgba(220,38,38,.36),
    0 0 0 4px rgba(239,68,68,.10),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.22) !important;
}

.site-logout-red:hover::before{
  transform:translateX(120%) !important;
}

.site-logout-red:active{
  transform:translateY(0) scale(.98) !important;
}

@media(max-width:720px){
  .site-logout-red{
    min-width:46px !important;
    width:46px !important;
    padding:0 !important;
    font-size:0 !important;
  }
  .site-logout-red span{
    margin:0 !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V8
   Alinhamento definitivo com site principal + topo responsivo
   Corrige estouro do filtro/data para fora do navegador.
   ========================================================= */

:root{
  --site-bg:#04101f;
  --site-bg-deep:#030a15;
  --site-surface:#071a33;
  --site-card:rgba(9,25,48,.78);
  --site-line:rgba(148,180,220,.18);
  --site-line-strong:rgba(148,180,220,.30);
  --site-text:#f8fbff;
  --site-muted:#c8d6ea;
  --site-muted-2:#8fa7c8;
  --site-blue:#0b6cff;
  --site-blue-2:#1899ff;
  --site-cyan:#08d7d0;
  --site-green:#16c784;
  --site-red:#ef4444;
  --site-shadow:0 24px 70px rgba(0,0,0,.36);
}

/* Estrutura geral */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

body.enterprise-shell{
  background:
    radial-gradient(circle at 18% -10%,rgba(11,108,255,.18),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(8,215,208,.10),transparent 24%),
    linear-gradient(180deg,#030a15 0%,#061326 48%,#04101f 100%) !important;
  color:var(--site-text);
}

.app{
  width:100% !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
}

.main{
  min-width:0 !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* Sidebar alinhada com site principal */
.sidebar.sidebar-ultra-premium,
.sidebar{
  background:
    linear-gradient(180deg,rgba(2,9,20,.96),rgba(4,16,31,.98)) !important;
  border-right:1px solid rgba(148,180,220,.12) !important;
  box-shadow:18px 0 55px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(18px) !important;
}

.premium-sidebar-top,
.sidebar-top{
  min-height:72px !important;
  border-bottom:1px solid rgba(148,180,220,.12) !important;
}

.brand-wrap .brand-logo{
  width:46px !important;
  height:46px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 10px 22px rgba(8,215,208,.16)) !important;
}

.brand-title{
  color:#fff !important;
  font-size:18px !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  line-height:1.05 !important;
}

.brand-title span{
  color:var(--site-cyan) !important;
}

.brand-sub{
  color:var(--site-muted-2) !important;
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:850 !important;
}

/* TOPO DEFINITIVO: não deixa filtro/data sair da tela */
.topbar.site-like-topbar,
.site-like-topbar{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;

  display:grid !important;
  grid-template-columns:46px minmax(190px,270px) minmax(0,1fr) auto auto !important;
  grid-template-areas:"menu brand nav status actions" !important;

  align-items:center !important;
  gap:10px !important;
  min-height:64px !important;
  padding:9px 12px !important;
  margin:0 0 14px !important;

  border:1px solid rgba(148,180,220,.12) !important;
  border-radius:0 0 20px 20px !important;
  background:rgba(2,9,20,.88) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}

.site-topbar-menu{
  grid-area:menu !important;
}

.site-topbar-brand{
  grid-area:brand !important;
  min-width:0 !important;
  max-width:270px !important;
  overflow:hidden !important;
}

.site-topbar-logo{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  object-fit:contain !important;
}

.site-topbar-brand-copy{
  min-width:0 !important;
  overflow:hidden !important;
}

.site-topbar-brand-copy strong{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#fff !important;
  font-size:19px !important;
  letter-spacing:-.045em !important;
}

.site-topbar-brand-copy strong span{
  color:var(--site-cyan) !important;
}

.site-topbar-brand-copy small{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:var(--site-muted-2) !important;
  font-size:9px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.site-topbar-nav{
  grid-area:nav !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
}

.site-topbar-nav button{
  min-width:0 !important;
  min-height:34px !important;
  padding:0 4px !important;
  color:#e6eefb !important;
  font-size:13px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-topbar-nav button:hover{
  color:var(--site-cyan) !important;
  transform:none !important;
}

.site-topbar-status{
  grid-area:status !important;
  min-width:0 !important;
  max-width:238px !important;
  width:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.site-greeting{
  display:none !important;
}

.site-time-pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  min-width:0 !important;
}

.site-time-pill{
  width:68px !important;
  min-width:58px !important;
  max-width:68px !important;
  height:42px !important;
  min-height:42px !important;
  padding:6px 8px !important;
  border-radius:14px !important;
  border:1px solid rgba(148,180,220,.16) !important;
  background:rgba(15,23,42,.72) !important;
}

.site-time-pill span{
  display:block !important;
  margin:0 0 3px !important;
  color:var(--site-muted-2) !important;
  font-size:8px !important;
  line-height:1 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

.site-time-pill strong{
  display:block !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.site-topbar-actions{
  grid-area:actions !important;
  min-width:0 !important;
  max-width:370px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  overflow:hidden !important;
}

.site-date-filter{
  flex:0 0 142px !important;
  width:142px !important;
  min-width:142px !important;
  max-width:142px !important;
  height:42px !important;
  min-height:42px !important;
  padding:3px 8px !important;
  gap:0 !important;
  border-radius:14px !important;
  border:1px solid rgba(148,180,220,.16) !important;
  background:rgba(255,255,255,.035) !important;
  overflow:hidden !important;
}

.site-date-filter label{
  display:none !important;
}

.site-date-filter input{
  width:100% !important;
  min-width:0 !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 7px !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:34px !important;
  background:rgba(3,12,24,.72) !important;
}

.site-refresh-btn{
  flex:0 0 auto !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 13px !important;
  border-radius:13px !important;
  font-size:12px !important;
  white-space:nowrap !important;
  background:linear-gradient(135deg,var(--site-blue),var(--site-cyan)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(11,108,255,.18) !important;
}

.site-logout-red{
  flex:0 0 auto !important;
  min-width:76px !important;
  max-width:86px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 12px 0 9px !important;
  gap:8px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

.site-page-context{
  display:none !important;
}

/* Cards e áreas principais */
.card,
.filters-card,
.premium-table-card,
.form-card-premium,
.premium-chart-card,
.auditoria-top-card,
.section-hero-card,
.report-hero-card{
  border:1px solid rgba(148,180,220,.16) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at top right,rgba(11,108,255,.08),transparent 30%),
    linear-gradient(180deg,rgba(8,24,47,.88),rgba(5,18,36,.78)) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.22) !important;
}

.premium-badge{
  border:1px solid rgba(126,196,255,.22) !important;
  color:#7ec4ff !important;
  background:rgba(11,108,255,.10) !important;
}

input,
select,
textarea{
  border:1px solid rgba(148,180,220,.16) !important;
  background:rgba(3,12,24,.72) !important;
  color:#fff !important;
  border-radius:14px !important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(8,215,208,.45) !important;
  box-shadow:0 0 0 4px rgba(8,215,208,.08) !important;
  outline:none !important;
}

.table-wrap{
  max-width:100% !important;
  overflow:auto !important;
}

/* Breakpoints do topo */
@media(max-width:1500px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:46px minmax(180px,250px) minmax(0,1fr) auto !important;
    grid-template-areas:"menu brand nav actions" !important;
  }

  .site-topbar-status{
    display:none !important;
  }

  .site-topbar-actions{
    max-width:360px !important;
  }
}

@media(max-width:1260px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:46px minmax(180px,1fr) auto !important;
    grid-template-areas:"menu brand actions" "nav nav nav" !important;
    gap:8px 10px !important;
  }

  .site-topbar-nav{
    justify-content:flex-start !important;
    overflow:auto !important;
    scrollbar-width:none !important;
  }

  .site-topbar-nav::-webkit-scrollbar{
    display:none !important;
  }

  .site-topbar-actions{
    max-width:none !important;
  }
}

@media(max-width:900px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:46px minmax(0,1fr) !important;
    grid-template-areas:"menu brand" "actions actions" "nav nav" !important;
    padding:9px 10px !important;
  }

  .site-topbar-brand{
    max-width:100% !important;
  }

  .site-topbar-actions{
    width:100% !important;
    justify-content:stretch !important;
  }

  .site-date-filter{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .site-refresh-btn,
  .site-logout-red{
    flex:0 0 auto !important;
  }
}

@media(max-width:620px){
  .site-topbar-logo{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }

  .site-topbar-brand-copy strong{
    font-size:16px !important;
  }

  .site-topbar-brand-copy small{
    display:none !important;
  }

  .site-refresh-btn{
    display:none !important;
  }

  .site-logout-red{
    min-width:46px !important;
    width:46px !important;
    max-width:46px !important;
    padding:0 !important;
    font-size:0 !important;
  }

  .site-logout-red span{
    margin:0 !important;
  }

  .site-topbar-nav button{
    font-size:11px !important;
    padding:0 8px !important;
    min-height:32px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.035) !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V9
   Menu lateral premium: mais limpo, compacto e alinhado ao site
   ========================================================= */

/* Sidebar mais elegante e com largura levemente maior */
.app{
  grid-template-columns:292px 1fr !important;
}

.app.sidebar-collapsed{
  grid-template-columns:76px 1fr !important;
}

.sidebar.sidebar-ultra-premium,
.sidebar{
  width:292px !important;
  padding:14px 12px 16px !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(11,108,255,.16),transparent 28%),
    linear-gradient(180deg,rgba(2,9,20,.98),rgba(4,16,31,.98)) !important;
  border-right:1px solid rgba(148,180,220,.12) !important;
  box-shadow:18px 0 60px rgba(0,0,0,.30) !important;
  backdrop-filter:blur(18px) !important;
}

/* Cabeçalho do menu lateral */
.premium-sidebar-top,
.sidebar-top{
  min-height:72px !important;
  margin:0 0 10px !important;
  padding:0 4px 12px !important;
  border-bottom:1px solid rgba(148,180,220,.12) !important;
}

.brand-wrap{
  min-width:0 !important;
  gap:10px !important;
  margin:0 !important;
  align-items:center !important;
}

.brand-wrap .brand-logo{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:14px !important;
  padding:6px !important;
  background:#fff !important;
  object-fit:contain !important;
  box-shadow:0 12px 26px rgba(8,215,208,.12) !important;
}

.brand-wrap > div:not(.brand-logo){
  min-width:0 !important;
}

.brand-title{
  font-size:17px !important;
  line-height:1.04 !important;
  letter-spacing:-.05em !important;
  max-width:150px !important;
  white-space:normal !important;
}

.brand-title span{
  color:var(--site-cyan) !important;
}

.brand-sub{
  display:block !important;
  max-width:155px !important;
  margin-top:5px !important;
  color:#7f96bb !important;
  font-size:9px !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
  font-weight:900 !important;
}

/* Botão de recolher */
.premium-collapse-btn,
.sidebar-toggle{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:14px !important;
  background:
    radial-gradient(circle at top left,rgba(126,196,255,.16),transparent 42%),
    linear-gradient(180deg,rgba(15,23,42,.92),rgba(3,12,24,.92)) !important;
  border:1px solid rgba(148,180,220,.18) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.22) !important;
  color:#e8f1ff !important;
}

/* Card do usuário — ocupa menos altura e fica mais premium */
.user-box{
  margin:0 2px 18px !important;
  padding:12px 13px !important;
  border-radius:18px !important;
  border:1px solid rgba(126,196,255,.16) !important;
  background:
    radial-gradient(circle at top right,rgba(11,108,255,.13),transparent 34%),
    linear-gradient(180deg,rgba(13,32,60,.72),rgba(9,24,46,.54)) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18) !important;
  line-height:1.45 !important;
  overflow:hidden !important;
}

.user-box strong{
  display:block !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
  margin-bottom:6px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.user-box span{
  color:#92a8c9 !important;
  font-size:11px !important;
  line-height:1.35 !important;
  word-break:break-word !important;
}

.sidebar-divider-premium{
  display:none !important;
}

/* Grupos */
.menu.grouped-menu,
.menu.premium-menu,
.menu{
  gap:7px !important;
}

.menu-section-label{
  position:relative !important;
  margin:14px 4px 7px !important;
  padding-left:13px !important;
  color:#7ec4ff !important;
  font-size:10px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.105em !important;
  font-weight:950 !important;
}

.menu-section-label::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:4px !important;
  height:14px !important;
  transform:translateY(-50%) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,var(--site-blue),var(--site-cyan)) !important;
  box-shadow:0 0 16px rgba(8,215,208,.35) !important;
}

/* Botões do menu */
.premium-menu button,
.menu button,
.submenu-passagem button{
  min-height:44px !important;
  padding:9px 10px !important;
  border-radius:15px !important;
  border:1px solid rgba(148,180,220,.08) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018)) !important;
  color:#dbe8fb !important;
  box-shadow:none !important;
  transform:none !important;
  gap:10px !important;
}

.premium-menu button:hover,
.menu button:hover,
.submenu-passagem button:hover{
  background:
    radial-gradient(circle at top right,rgba(8,215,208,.08),transparent 32%),
    linear-gradient(180deg,rgba(11,108,255,.12),rgba(255,255,255,.025)) !important;
  border-color:rgba(8,215,208,.22) !important;
  transform:translateX(2px) !important;
  box-shadow:0 12px 24px rgba(11,108,255,.12) !important;
}

.premium-menu button.active,
.menu button.active,
.premium-menu button.is-active,
.menu button.is-active{
  background:
    radial-gradient(circle at top right,rgba(8,215,208,.18),transparent 34%),
    linear-gradient(135deg,rgba(11,108,255,.34),rgba(8,215,208,.16)) !important;
  border-color:rgba(8,215,208,.36) !important;
  box-shadow:0 14px 30px rgba(11,108,255,.20), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  color:#fff !important;
  transform:none !important;
}

.premium-menu button::after,
.menu button::after{
  display:none !important;
}

/* Ícones mais refinados */
.menu-icon{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at top left,rgba(126,196,255,.14),transparent 40%),
    rgba(11,108,255,.10) !important;
  border:1px solid rgba(126,196,255,.14) !important;
  color:#7ec4ff !important;
}

.menu-icon svg{
  width:15px !important;
  height:15px !important;
  stroke-width:2.1 !important;
}

.premium-menu button.active .menu-icon,
.menu button.active .menu-icon,
.premium-menu button.is-active .menu-icon,
.menu button.is-active .menu-icon{
  background:linear-gradient(135deg,var(--site-blue),var(--site-cyan)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(11,108,255,.22) !important;
}

/* Texto do menu sem quebrar feio */
.menu-text{
  display:block !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  color:inherit !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.16 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
}

#menu-auditoria-doca .menu-text,
#menu-resultado-separacao .menu-text,
#menu-passagem-turno .menu-text,
#menu-relatorios .menu-text{
  font-size:11.5px !important;
}

/* Submenu Passagem */
.menu-group.grouped-passagem{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

.submenu-chevron{
  margin-left:auto !important;
  color:#9db3d1 !important;
  font-size:12px !important;
}

.submenu-passagem{
  margin:2px 0 4px 40px !important;
  padding-left:10px !important;
  border-left:1px solid rgba(8,215,208,.24) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

.submenu-passagem[hidden]{
  display:none !important;
}

.submenu-passagem button{
  min-height:34px !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  font-size:11px !important;
  color:#a9bddb !important;
}

/* Nota do rodapé lateral mais discreta */
.sidebar-note{
  margin:18px 2px 0 !important;
  padding:12px !important;
  border-radius:16px !important;
  color:#9fb4d3 !important;
  font-size:11px !important;
  line-height:1.55 !important;
  border:1px solid rgba(126,196,255,.12) !important;
  background:rgba(11,108,255,.055) !important;
}

.sidebar-note strong{
  color:#e9f2ff !important;
  font-size:12px !important;
}

/* Sidebar recolhida: mais limpa e sem textos sobrepostos */
.app.sidebar-collapsed .sidebar{
  width:76px !important;
  padding:12px 8px !important;
}

.app.sidebar-collapsed .premium-sidebar-top,
.app.sidebar-collapsed .sidebar-top{
  justify-content:center !important;
  padding:0 0 12px !important;
}

.app.sidebar-collapsed .brand-wrap{
  display:none !important;
}

.app.sidebar-collapsed .sidebar-toggle{
  margin:0 auto !important;
}

.app.sidebar-collapsed .menu-section-label,
.app.sidebar-collapsed .user-box,
.app.sidebar-collapsed .sidebar-note,
.app.sidebar-collapsed .submenu-chevron,
.app.sidebar-collapsed .submenu-passagem{
  display:none !important;
}

.app.sidebar-collapsed .menu button{
  width:44px !important;
  min-height:44px !important;
  margin:0 auto !important;
  padding:0 !important;
  justify-content:center !important;
  border-radius:16px !important;
}

.app.sidebar-collapsed .menu-icon{
  margin:0 !important;
}

.app.sidebar-collapsed .menu-text{
  display:none !important;
}

/* Responsivo */
@media(max-width:900px){
  .app,
  .app.sidebar-collapsed{
    display:block !important;
  }

  .sidebar.sidebar-ultra-premium,
  .sidebar{
    width:min(86vw,310px) !important;
    padding:14px 12px 16px !important;
  }

  .brand-title{
    max-width:170px !important;
  }

  .brand-sub{
    max-width:175px !important;
  }

  .app.sidebar-collapsed .sidebar{
    width:min(86vw,310px) !important;
  }

  .app.sidebar-collapsed .brand-wrap{
    display:flex !important;
  }

  .app.sidebar-collapsed .menu-section-label,
  .app.sidebar-collapsed .user-box,
  .app.sidebar-collapsed .sidebar-note{
    display:block !important;
  }

  .app.sidebar-collapsed .menu button{
    width:100% !important;
    justify-content:flex-start !important;
    padding:9px 10px !important;
  }

  .app.sidebar-collapsed .menu-text{
    display:block !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V10
   Correção fina do topo do menu lateral:
   evita sobreposição de logo, título, subtítulo, usuário e botão recolher.
   ========================================================= */

.sidebar.sidebar-ultra-premium,
.sidebar{
  width:304px !important;
  padding:14px 12px 18px !important;
  overflow-x:hidden !important;
}

.app{
  grid-template-columns:304px 1fr !important;
}

.app.sidebar-collapsed{
  grid-template-columns:76px 1fr !important;
}

/* Cabeçalho lateral agora tem altura real e botão separado */
.sidebar-top.premium-sidebar-top,
.premium-sidebar-top,
.sidebar-top{
  position:relative !important;
  display:block !important;
  min-height:104px !important;
  height:auto !important;
  margin:0 0 12px !important;
  padding:12px 50px 14px 12px !important;
  border:1px solid rgba(148,180,220,.14) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at top right,rgba(8,215,208,.10),transparent 38%),
    linear-gradient(180deg,rgba(13,32,60,.60),rgba(9,24,46,.34)) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
}

/* Marca com grid fixo: logo à esquerda, texto à direita */
.sidebar-top .brand-wrap,
.premium-sidebar-top .brand-wrap,
.brand-wrap{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

.sidebar-top .brand-logo,
.premium-sidebar-top .brand-logo,
.brand-wrap .brand-logo{
  grid-column:1 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  border-radius:14px !important;
  padding:6px !important;
  object-fit:contain !important;
  align-self:center !important;
}

.sidebar-top .brand-wrap > div,
.premium-sidebar-top .brand-wrap > div{
  grid-column:2 !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.sidebar-top .brand-title,
.premium-sidebar-top .brand-title,
.brand-title{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  font-weight:950 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.sidebar-top .brand-title span,
.premium-sidebar-top .brand-title span,
.brand-title span{
  color:var(--site-cyan) !important;
}

.sidebar-top .brand-sub,
.premium-sidebar-top .brand-sub,
.brand-sub{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:5px !important;
  color:#8fa7c8 !important;
  font-size:8.5px !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
  font-weight:900 !important;
  white-space:normal !important;
  overflow:hidden !important;
  max-height:22px !important;
}

/* Botão recolher fixo no canto, sem empurrar a marca */
.sidebar-top .sidebar-toggle,
.premium-sidebar-top .sidebar-toggle,
.sidebar-toggle.premium-collapse-btn{
  position:absolute !important;
  top:12px !important;
  right:10px !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  border-radius:13px !important;
  z-index:3 !important;
}

/* Card do usuário: abaixo do cabeçalho e sem invadir */
.user-box{
  clear:both !important;
  position:relative !important;
  margin:0 2px 18px !important;
  padding:12px 14px !important;
  min-height:68px !important;
  max-height:none !important;
  overflow:hidden !important;
  border-radius:18px !important;
}

.user-box strong{
  display:block !important;
  max-width:100% !important;
  margin:0 0 7px !important;
  font-size:12.5px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.user-box span{
  display:inline !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  color:#91a8c9 !important;
}

#userEmail{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Menus um pouco mais baixos para compensar o novo cabeçalho */
.menu-section-label{
  margin-top:13px !important;
}

.menu button{
  min-height:42px !important;
}

/* Recolhido: mostra só o botão, sem marca quebrada */
.app.sidebar-collapsed .sidebar{
  width:76px !important;
  padding:12px 8px !important;
}

.app.sidebar-collapsed .sidebar-top.premium-sidebar-top,
.app.sidebar-collapsed .premium-sidebar-top,
.app.sidebar-collapsed .sidebar-top{
  min-height:50px !important;
  height:50px !important;
  padding:7px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  border-radius:18px !important;
}

.app.sidebar-collapsed .brand-wrap{
  display:none !important;
}

.app.sidebar-collapsed .sidebar-toggle.premium-collapse-btn,
.app.sidebar-collapsed .sidebar-toggle{
  position:static !important;
  margin:0 auto !important;
  width:36px !important;
  height:36px !important;
}

/* Em telas menores, mantém a marca legível */
@media(max-width:900px){
  .sidebar.sidebar-ultra-premium,
  .sidebar{
    width:min(88vw,320px) !important;
  }

  .app.sidebar-collapsed .sidebar{
    width:min(88vw,320px) !important;
  }

  .app.sidebar-collapsed .sidebar-top.premium-sidebar-top,
  .app.sidebar-collapsed .premium-sidebar-top,
  .app.sidebar-collapsed .sidebar-top{
    min-height:104px !important;
    height:auto !important;
    padding:12px 50px 14px 12px !important;
    display:block !important;
  }

  .app.sidebar-collapsed .brand-wrap{
    display:grid !important;
  }

  .app.sidebar-collapsed .sidebar-toggle.premium-collapse-btn,
  .app.sidebar-collapsed .sidebar-toggle{
    position:absolute !important;
    top:12px !important;
    right:10px !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V11
   Correção aba Agenda: tabela não fica escondida atrás do menu lateral.
   Mantém as ações visíveis sem precisar recolher o menu.
   ========================================================= */

/* Garante que o conteúdo principal nunca ultrapasse a área útil */
.app{
  max-width:100vw !important;
  overflow:hidden !important;
}

.main{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* A agenda agora usa a largura disponível corretamente */
#view-agenda{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

#view-agenda .premium-table-card{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

/* A rolagem horizontal fica dentro da tabela, não na página inteira */
#view-agenda .table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:auto !important;
  border-radius:18px !important;
  scrollbar-width:thin !important;
}

/* Reduz a largura mínima da tabela da agenda.
   Antes o CSS global força table min-width:1500px, causando estouro. */
#view-agenda table{
  width:100% !important;
  min-width:1180px !important;
  table-layout:fixed !important;
}

/* Distribuição mais inteligente das colunas da agenda */
#view-agenda table th,
#view-agenda table td{
  padding:10px 8px !important;
  font-size:11px !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Colunas mais estreitas */
#view-agenda table th:nth-child(1),
#view-agenda table td:nth-child(1){
  width:72px !important;
}

#view-agenda table th:nth-child(2),
#view-agenda table td:nth-child(2){
  width:88px !important;
}

#view-agenda table th:nth-child(3),
#view-agenda table td:nth-child(3){
  width:70px !important;
}

#view-agenda table th:nth-child(6),
#view-agenda table td:nth-child(6){
  width:92px !important;
}

#view-agenda table th:nth-child(7),
#view-agenda table td:nth-child(7){
  width:104px !important;
}

#view-agenda table th:nth-child(8),
#view-agenda table td:nth-child(8){
  width:70px !important;
  text-align:center !important;
}

#view-agenda table th:nth-child(9),
#view-agenda table td:nth-child(9){
  width:104px !important;
}

#view-agenda table th:nth-child(10),
#view-agenda table td:nth-child(10){
  width:92px !important;
}

#view-agenda table th:nth-child(11),
#view-agenda table td:nth-child(11){
  width:170px !important;
}

/* Colunas de cliente e transportadora podem usar o espaço restante */
#view-agenda table th:nth-child(4),
#view-agenda table td:nth-child(4){
  width:240px !important;
}

#view-agenda table th:nth-child(5),
#view-agenda table td:nth-child(5){
  width:230px !important;
}

/* A coluna de ações fica visível no lado direito durante a rolagem */
#view-agenda table th:last-child,
#view-agenda table td:last-child{
  position:sticky !important;
  right:0 !important;
  z-index:4 !important;
  background:
    linear-gradient(90deg,rgba(5,18,36,.82),rgba(5,18,36,.98) 18%,rgba(5,18,36,.98)) !important;
  box-shadow:-12px 0 24px rgba(0,0,0,.20) !important;
}

/* Cabeçalho sticky da coluna ações precisa ficar acima */
#view-agenda table thead th:last-child{
  z-index:8 !important;
  background:#071120 !important;
}

/* Botões menores para caberem mesmo com menu aberto */
#view-agenda .mini-actions{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

#view-agenda .mini{
  min-height:28px !important;
  padding:6px 9px !important;
  border-radius:10px !important;
  font-size:10.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Chips mais compactos na agenda */
#view-agenda .chip{
  padding:6px 9px !important;
  font-size:10px !important;
  max-width:92px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* SLA em duas linhas, sem empurrar a tabela */
#view-agenda .sla-ok,
#view-agenda .sla-alerta,
#view-agenda .sla-atraso{
  display:block !important;
  max-width:76px !important;
  white-space:normal !important;
  line-height:1.15 !important;
  font-size:10.5px !important;
}

/* Cabeçalho da tabela mais compacto */
#view-agenda .premium-table-head{
  padding:16px 16px 10px !important;
}

#view-agenda .premium-table-head .group{
  flex-shrink:0 !important;
}

/* Em telas médias, reduz ainda mais o mínimo para manter operação usável */
@media(max-width:1400px){
  #view-agenda table{
    min-width:1120px !important;
  }

  #view-agenda table th:nth-child(4),
  #view-agenda table td:nth-child(4){
    width:210px !important;
  }

  #view-agenda table th:nth-child(5),
  #view-agenda table td:nth-child(5){
    width:205px !important;
  }

  #view-agenda table th:nth-child(11),
  #view-agenda table td:nth-child(11){
    width:158px !important;
  }
}

@media(max-width:1100px){
  #view-agenda table{
    min-width:1040px !important;
  }

  #view-agenda table th,
  #view-agenda table td{
    padding:9px 7px !important;
    font-size:10.5px !important;
  }

  #view-agenda .premium-table-head{
    align-items:flex-start !important;
  }
}

/* Desktop largo com menu aberto: usa tabela dentro da área e não na viewport inteira */
@media(min-width:901px){
  .app:not(.sidebar-collapsed) #view-agenda .table-wrap{
    max-width:calc(100vw - 304px - 48px) !important;
  }

  .app.sidebar-collapsed #view-agenda .table-wrap{
    max-width:calc(100vw - 76px - 48px) !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V12
   Remove o card "Fluxo operacional" do final do menu lateral.
   ========================================================= */

.sidebar .sidebar-note,
.sidebar-note{
  display:none !important;
}

/* V18 — página Relatórios / KPIs removida */
#menu-relatorios,
#view-relatorios{
  display:none !important;
}


/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V19
   Acabamento fino do menu lateral
   ========================================================= */

/* Sidebar com acabamento inferior premium */
.sidebar,
.sidebar.sidebar-ultra-premium{
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:18px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(126,196,255,.28) transparent !important;
}

.sidebar::-webkit-scrollbar{
  width:7px !important;
}

.sidebar::-webkit-scrollbar-track{
  background:transparent !important;
}

.sidebar::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(11,108,255,.38),rgba(8,215,208,.24)) !important;
  border-radius:999px !important;
  border:2px solid rgba(2,9,20,.96) !important;
}

.sidebar::after{
  content:"" !important;
  display:block !important;
  height:28px !important;
  margin:12px 6px 0 !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(8,215,208,.14),transparent 64%),
    linear-gradient(180deg,rgba(148,180,220,.05),rgba(148,180,220,0)) !important;
  border-top:1px solid rgba(148,180,220,.08) !important;
  pointer-events:none !important;
}

/* Remove blocos fantasma e melhora espaçamento final */
.sidebar-note{
  display:none !important;
}

.menu.grouped-menu,
.menu.premium-menu,
.menu{
  padding-bottom:6px !important;
}

/* Passagem de Turno: submenu com acabamento limpo */
.menu-group.grouped-passagem{
  position:relative !important;
  margin-bottom:8px !important;
}

.menu-group.grouped-passagem.open{
  padding-bottom:10px !important;
}

#submenu-passagem-turno,
.submenu-passagem{
  margin:8px 0 0 34px !important;
  padding:8px 0 8px 10px !important;
  border-left:1px solid rgba(8,215,208,.28) !important;
  display:none !important;
  gap:7px !important;
  position:relative !important;
}

#submenu-passagem-turno.open,
.menu-group.grouped-passagem.open #submenu-passagem-turno,
.menu-group.grouped-passagem.open .submenu-passagem{
  display:flex !important;
  flex-direction:column !important;
}

#submenu-passagem-turno::before,
.submenu-passagem::before{
  content:"" !important;
  position:absolute !important;
  left:-1px !important;
  top:0 !important;
  width:1px !important;
  height:100% !important;
  background:linear-gradient(180deg,var(--site-cyan),rgba(8,215,208,.08)) !important;
  box-shadow:0 0 12px rgba(8,215,208,.24) !important;
}

.submenu-passagem button{
  width:100% !important;
  min-height:38px !important;
  padding:9px 12px !important;
  border-radius:13px !important;
  justify-content:flex-start !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(148,180,220,.08) !important;
  color:#cfe0f7 !important;
}

.submenu-passagem button.active,
.submenu-passagem button.is-active{
  background:linear-gradient(135deg,rgba(11,108,255,.22),rgba(8,215,208,.14)) !important;
  border-color:rgba(8,215,208,.35) !important;
  color:#fff !important;
}

.submenu-chevron{
  margin-left:auto !important;
  transition:transform .18s ease !important;
  opacity:.9 !important;
}

.menu-group.grouped-passagem.open .submenu-chevron{
  transform:rotate(180deg) !important;
}

/* Sidebar recolhida bonita: só ícones centralizados, sem texto espremido */
.app.sidebar-collapsed{
  grid-template-columns:86px 1fr !important;
}

.app.sidebar-collapsed .sidebar,
.app.sidebar-collapsed .sidebar.sidebar-ultra-premium{
  width:86px !important;
  padding:12px 9px 18px !important;
  overflow-x:hidden !important;
}

.app.sidebar-collapsed .sidebar-top,
.app.sidebar-collapsed .premium-sidebar-top{
  min-height:54px !important;
  height:54px !important;
  padding:8px !important;
  margin:0 0 12px !important;
  border-radius:20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.app.sidebar-collapsed .brand-wrap,
.app.sidebar-collapsed .user-box,
.app.sidebar-collapsed .menu-section-label,
.app.sidebar-collapsed .submenu-passagem,
.app.sidebar-collapsed #submenu-passagem-turno,
.app.sidebar-collapsed .sidebar-note{
  display:none !important;
}

.app.sidebar-collapsed .sidebar-toggle,
.app.sidebar-collapsed .sidebar-toggle.premium-collapse-btn{
  position:static !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  margin:0 auto !important;
  border-radius:15px !important;
}

.app.sidebar-collapsed .menu,
.app.sidebar-collapsed .premium-menu{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:10px !important;
}

.app.sidebar-collapsed .menu-group{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}

.app.sidebar-collapsed .menu button,
.app.sidebar-collapsed .premium-menu button,
.app.sidebar-collapsed #menu-passagem-turno{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  padding:0 !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

.app.sidebar-collapsed .menu-text,
.app.sidebar-collapsed .submenu-chevron{
  display:none !important;
}

.app.sidebar-collapsed .menu-icon{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  margin:0 !important;
  border-radius:14px !important;
}

.app.sidebar-collapsed .menu-icon svg{
  width:17px !important;
  height:17px !important;
}

/* Tooltip visual quando recolhido */
.app.sidebar-collapsed .menu button::before{
  content:attr(title) !important;
  position:fixed !important;
  left:78px !important;
  transform:translateY(0) !important;
  min-width:max-content !important;
  max-width:220px !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  background:rgba(2,9,20,.96) !important;
  border:1px solid rgba(148,180,220,.18) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:800 !important;
  opacity:0 !important;
  pointer-events:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.34) !important;
  z-index:9999 !important;
  transition:opacity .12s ease !important;
}

.app.sidebar-collapsed .menu button:hover::before{
  opacity:1 !important;
}

/* Mobile: não aplica modo icon-only, mantém menu completo */
@media(max-width:900px){
  .app.sidebar-collapsed .sidebar,
  .app.sidebar-collapsed .sidebar.sidebar-ultra-premium{
    width:min(88vw,320px) !important;
    padding:14px 12px 18px !important;
  }

  .app.sidebar-collapsed .brand-wrap{
    display:grid !important;
  }

  .app.sidebar-collapsed .user-box,
  .app.sidebar-collapsed .menu-section-label{
    display:block !important;
  }

  .app.sidebar-collapsed .menu{
    align-items:stretch !important;
  }

  .app.sidebar-collapsed .menu-group{
    display:block !important;
  }

  .app.sidebar-collapsed .menu button,
  .app.sidebar-collapsed .premium-menu button,
  .app.sidebar-collapsed #menu-passagem-turno{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:44px !important;
    justify-content:flex-start !important;
    padding:9px 10px !important;
  }

  .app.sidebar-collapsed .menu-text{
    display:block !important;
  }

  .app.sidebar-collapsed .submenu-chevron{
    display:block !important;
  }

  .app.sidebar-collapsed .menu button::before{
    display:none !important;
  }
}



/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V20
   Correção fina do topo com menu expandido/recolhido
   - Mantém botão Sair visível
   - Data/filtro com largura confortável
   - Topbar usa bem o espaço extra quando sidebar está recolhida
   ========================================================= */

/* Garante que a área principal acompanha a sidebar */
.app{
  max-width:100vw !important;
  overflow:hidden !important;
}

.main,
.main.premium-shell{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* Topbar base: layout em grid sem cortar as ações */
.topbar.site-like-topbar,
.site-like-topbar{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;

  display:grid !important;
  grid-template-columns:44px minmax(250px,360px) minmax(300px,1fr) auto auto !important;
  grid-template-areas:"menu brand nav status actions" !important;
  align-items:center !important;
  gap:12px !important;

  min-height:72px !important;
  padding:10px 14px !important;
}

/* Quando a sidebar está expandida, o topo precisa ser mais compacto sem esconder Sair */
.app:not(.sidebar-collapsed) .topbar.site-like-topbar,
.app:not(.sidebar-collapsed) .site-like-topbar{
  grid-template-columns:44px minmax(230px,330px) minmax(250px,1fr) auto minmax(300px,auto) !important;
}

/* Quando a sidebar recolhe, usa o espaço extra para melhorar respiro */
.app.sidebar-collapsed .topbar.site-like-topbar,
.app.sidebar-collapsed .site-like-topbar{
  grid-template-columns:44px minmax(300px,420px) minmax(360px,1fr) auto minmax(360px,auto) !important;
}

/* Marca do topo */
.site-topbar-brand{
  grid-area:brand !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.site-topbar-logo{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
}

.site-topbar-brand-copy{
  min-width:0 !important;
}

.site-topbar-brand-copy strong{
  font-size:21px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.site-topbar-brand-copy small{
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Navegação central: nunca deve empurrar ações para fora */
.site-topbar-nav{
  grid-area:nav !important;
  min-width:0 !important;
  max-width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  overflow:hidden !important;
}

.site-topbar-nav button{
  flex:0 1 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
  font-size:13px !important;
  padding:0 2px !important;
}

/* Hora/data/temp mais legíveis */
.site-topbar-status{
  grid-area:status !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}

.site-time-pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
}

.site-time-pill{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:44px !important;
  padding:6px 8px !important;
}

.site-time-pill span{
  font-size:8.5px !important;
}

.site-time-pill strong{
  font-size:11.5px !important;
}

/* Ações do topo: filtro, atualizar e sair sempre visíveis */
.site-topbar-actions{
  grid-area:actions !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  overflow:visible !important;
}

.site-date-filter{
  flex:0 0 178px !important;
  width:178px !important;
  min-width:178px !important;
  max-width:178px !important;
  height:44px !important;
  padding:4px 10px !important;
  overflow:hidden !important;
}

.site-date-filter label{
  display:none !important;
}

.site-date-filter input{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 10px !important;
  font-size:12px !important;
  line-height:34px !important;
}

.site-refresh-btn{
  flex:0 0 auto !important;
  min-width:88px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 16px !important;
  border-radius:13px !important;
  white-space:nowrap !important;
  font-size:12px !important;
}

.site-logout-red{
  flex:0 0 auto !important;
  display:inline-flex !important;
  min-width:78px !important;
  width:auto !important;
  max-width:none !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  font-size:12px !important;
}

.site-logout-red span,
.site-logout-red svg{
  display:inline-flex !important;
}

/* Ajuste quando sidebar recolhida: não aumentar demais a navegação */
.app.sidebar-collapsed .site-topbar-actions{
  gap:10px !important;
}

.app.sidebar-collapsed .site-date-filter{
  flex-basis:188px !important;
  width:188px !important;
  min-width:188px !important;
  max-width:188px !important;
}

/* Breakpoints: primeiro reduz navegação, depois status; nunca remove o Sair */
@media(max-width:1580px){
  .app:not(.sidebar-collapsed) .topbar.site-like-topbar,
  .app:not(.sidebar-collapsed) .site-like-topbar{
    grid-template-columns:44px minmax(220px,310px) minmax(180px,1fr) auto minmax(286px,auto) !important;
    gap:10px !important;
  }

  .app:not(.sidebar-collapsed) .site-topbar-nav{
    gap:12px !important;
  }

  .app:not(.sidebar-collapsed) .site-date-filter{
    flex-basis:164px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
  }

  .app:not(.sidebar-collapsed) .site-refresh-btn{
    min-width:82px !important;
    padding:0 13px !important;
  }
}

@media(max-width:1400px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:44px minmax(220px,1fr) auto minmax(286px,auto) !important;
    grid-template-areas:"menu brand status actions" "nav nav nav nav" !important;
    gap:8px 10px !important;
  }

  .site-topbar-nav{
    justify-content:flex-start !important;
    overflow:auto !important;
    scrollbar-width:none !important;
    padding:2px 0 0 !important;
  }

  .site-topbar-nav::-webkit-scrollbar{
    display:none !important;
  }
}

@media(max-width:1120px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:44px minmax(0,1fr) minmax(286px,auto) !important;
    grid-template-areas:"menu brand actions" "nav nav nav" !important;
  }

  .site-topbar-status{
    display:none !important;
  }

  .site-date-filter{
    flex-basis:160px !important;
    width:160px !important;
    min-width:160px !important;
    max-width:160px !important;
  }
}

@media(max-width:760px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    grid-template-columns:44px minmax(0,1fr) !important;
    grid-template-areas:"menu brand" "actions actions" "nav nav" !important;
  }

  .site-topbar-actions{
    width:100% !important;
    justify-content:stretch !important;
  }

  .site-date-filter{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .site-refresh-btn{
    flex:0 0 auto !important;
  }

  .site-logout-red{
    flex:0 0 auto !important;
    min-width:72px !important;
  }
}

/* Corrige regra antiga que escondia o texto do Sair no mobile e podia afetar desktop estreito */
@media(max-width:620px){
  .site-logout-red{
    min-width:48px !important;
    width:48px !important;
    padding:0 !important;
    font-size:0 !important;
  }
}

/* Em desktop, jamais esconder o botão sair */
@media(min-width:621px){
  .site-logout-red{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V21
   Topo final: flex controlado para impedir corte do botão Sair
   e corrigir a Data compactada.
   ========================================================= */

/* Topbar deixa de depender do grid anterior */
.topbar.site-like-topbar,
.site-like-topbar{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:72px !important;
  padding:10px 14px !important;
  overflow:hidden !important;
}

/* Cada bloco tem papel fixo no flex */
.site-topbar-menu{
  flex:0 0 44px !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
}

.site-topbar-brand{
  flex:0 1 310px !important;
  min-width:220px !important;
  max-width:330px !important;
  overflow:hidden !important;
}

.site-topbar-brand-copy{
  min-width:0 !important;
  overflow:hidden !important;
}

.site-topbar-brand-copy strong{
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:20px !important;
}

.site-topbar-brand-copy small{
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:9px !important;
}

/* Navegação pode encolher; ações nunca podem sair da tela */
.site-topbar-nav{
  flex:1 1 260px !important;
  min-width:120px !important;
  max-width:420px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  overflow:hidden !important;
}

.site-topbar-nav button{
  flex:0 1 auto !important;
  min-width:0 !important;
  padding:0 1px !important;
  white-space:nowrap !important;
  font-size:13px !important;
}

/* Hora/Data/Temp */
.site-topbar-status{
  flex:0 0 auto !important;
  min-width:0 !important;
  max-width:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}

.site-time-pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  overflow:visible !important;
}

.site-time-pill{
  flex:0 0 68px !important;
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  height:44px !important;
  padding:6px 8px !important;
  overflow:hidden !important;
}

/* O segundo pill é a DATA: precisa ser mais largo */
.site-time-pill:nth-child(2){
  flex-basis:92px !important;
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

.site-time-pill span{
  display:block !important;
  font-size:8.5px !important;
  line-height:1 !important;
  margin-bottom:4px !important;
}

.site-time-pill strong{
  display:block !important;
  font-size:11.5px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Ações sempre visíveis */
.site-topbar-actions{
  flex:0 0 330px !important;
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  overflow:visible !important;
  margin-left:auto !important;
}

.site-date-filter{
  flex:0 0 160px !important;
  width:160px !important;
  min-width:160px !important;
  max-width:160px !important;
  height:44px !important;
  padding:4px 9px !important;
  overflow:hidden !important;
}

.site-date-filter input{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 9px !important;
  font-size:12px !important;
}

.site-refresh-btn{
  flex:0 0 82px !important;
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
  height:44px !important;
  padding:0 10px !important;
  font-size:12px !important;
}

.site-logout-red{
  flex:0 0 72px !important;
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:44px !important;
  padding:0 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  visibility:visible !important;
  opacity:1 !important;
  font-size:12px !important;
  overflow:hidden !important;
}

/* Quando sidebar recolhe, continua flex; apenas dá mais espaço para a marca e navegação */
.app.sidebar-collapsed .site-topbar-brand{
  flex-basis:340px !important;
  max-width:360px !important;
}

.app.sidebar-collapsed .site-topbar-nav{
  flex-basis:300px !important;
  max-width:470px !important;
}

.app.sidebar-collapsed .site-topbar-actions{
  flex-basis:340px !important;
  width:340px !important;
  min-width:340px !important;
  max-width:340px !important;
}

.app.sidebar-collapsed .site-date-filter{
  flex-basis:170px !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
}

/* Em telas intermediárias, some a navegação antes de cortar Sair */
@media(max-width:1420px){
  .site-topbar-nav{
    flex-basis:180px !important;
    max-width:280px !important;
    gap:10px !important;
  }

  .site-topbar-brand{
    flex-basis:270px !important;
    max-width:290px !important;
  }

  .site-topbar-actions{
    flex-basis:320px !important;
    width:320px !important;
    min-width:320px !important;
    max-width:320px !important;
  }

  .site-date-filter{
    flex-basis:150px !important;
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
  }
}

@media(max-width:1260px){
  .site-topbar-nav{
    display:none !important;
  }

  .site-topbar-brand{
    flex:1 1 auto !important;
    min-width:180px !important;
    max-width:none !important;
  }

  .site-topbar-actions{
    margin-left:auto !important;
  }
}

/* Em telas menores, escondemos Hora/Temp/Data do topo, mas Sair continua */
@media(max-width:1040px){
  .site-topbar-status{
    display:none !important;
  }

  .site-topbar-actions{
    flex-basis:318px !important;
    width:318px !important;
    min-width:318px !important;
    max-width:318px !important;
  }
}

@media(max-width:760px){
  .topbar.site-like-topbar,
  .site-like-topbar{
    flex-wrap:wrap !important;
    min-height:auto !important;
  }

  .site-topbar-brand{
    flex:1 1 calc(100% - 60px) !important;
  }

  .site-topbar-actions{
    order:10 !important;
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    justify-content:stretch !important;
    margin-left:0 !important;
  }

  .site-date-filter{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .site-refresh-btn{
    flex:0 0 82px !important;
  }

  .site-logout-red{
    flex:0 0 72px !important;
  }
}

/* Regra antiga de mobile só vale abaixo de 520px */
@media(max-width:520px){
  .site-refresh-btn{
    display:none !important;
  }

  .site-logout-red{
    flex:0 0 48px !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    font-size:0 !important;
    padding:0 !important;
  }
}

/* =========================================================
   V22 — CSS migrado do app.html para eliminar conflito de cascata
   ========================================================= */
.passagem-mini-inputs .passagem-mini-input{
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .passagem-mini-inputs .passagem-mini-input label{
      font-size:11px;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .passagem-mini-inputs .passagem-mini-input input{
      width:100%;
    }
    .passagem-kpi-card small{
      color:var(--muted);
      letter-spacing:.02em;
    }
  
    /* ==========================================================
       Gestão Logística Plus — alinhamento visual com o site v6
       Mantém a estrutura e os IDs originais do sistema.
       ========================================================== */
    :root{
      --site-bg:#04101f;
      --site-bg-deep:#030a15;
      --site-surface:#071a33;
      --site-card:rgba(9,25,48,.78);
      --site-line:rgba(148,180,220,.18);
      --site-line-strong:rgba(148,180,220,.30);
      --site-text:#f8fbff;
      --site-muted:#c8d6ea;
      --site-muted-2:#8fa7c8;
      --site-blue:#0b6cff;
      --site-blue-2:#1899ff;
      --site-cyan:#08d7d0;
      --site-green:#16c784;
      --site-red:#ef4444;
      --site-shadow:0 24px 70px rgba(0,0,0,.36);
    }

    body.enterprise-shell{
      background:
        radial-gradient(circle at 18% -10%,rgba(11,108,255,.18),transparent 28%),
        radial-gradient(circle at 88% 8%,rgba(8,215,208,.10),transparent 24%),
        linear-gradient(180deg,#030a15 0%,#061326 48%,#04101f 100%) !important;
      color:var(--site-text);
    }
    body.enterprise-shell::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.012) 1px,transparent 1px),
        radial-gradient(circle at 14% 18%,rgba(11,108,255,.10),transparent 30%),
        radial-gradient(circle at 78% 76%,rgba(8,215,208,.09),transparent 28%);
      background-size:34px 34px,34px 34px,auto,auto;
      opacity:.85;
    }
    .app{
      position:relative;
      z-index:1;
      background:transparent !important;
    }

    /* Sidebar mais institucional e menos "painel bruto" */
    .sidebar.sidebar-ultra-premium{
      background:
        linear-gradient(180deg,rgba(2,9,20,.94),rgba(4,16,31,.98)) !important;
      border-right:1px solid rgba(148,180,220,.12) !important;
      box-shadow:18px 0 55px rgba(0,0,0,.24);
      backdrop-filter:blur(18px);
    }
    .premium-sidebar-top{
      min-height:78px;
      border-bottom:1px solid rgba(148,180,220,.12) !important;
      background:rgba(2,9,20,.40) !important;
    }
    .brand-wrap{
      align-items:center;
      gap:12px;
    }
    .brand-wrap .brand-logo{
      width:48px !important;
      height:48px !important;
      object-fit:contain;
      filter:drop-shadow(0 10px 22px rgba(8,215,208,.16));
    }
    .brand-title{
      color:#fff !important;
      font-size:18px !important;
      font-weight:950 !important;
      letter-spacing:-.045em !important;
      line-height:1.05 !important;
      white-space:normal !important;
    }
    .brand-title span{color:var(--site-cyan)}
    .brand-sub{
      color:var(--site-muted-2) !important;
      font-size:10px !important;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-weight:850;
    }
    .user-box{
      border:1px solid rgba(148,180,220,.14) !important;
      background:linear-gradient(180deg,rgba(13,32,60,.72),rgba(9,24,46,.50)) !important;
      border-radius:16px !important;
      box-shadow:0 16px 34px rgba(0,0,0,.18);
    }
    .menu-section-label{
      color:#7ec4ff !important;
      letter-spacing:.12em !important;
      font-weight:950 !important;
      opacity:.92 !important;
    }
    .premium-menu button,
    .submenu-passagem button{
      border-radius:13px !important;
      color:#dbe8fb !important;
      border:1px solid transparent !important;
      transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
    }
    .premium-menu button:hover,
    .submenu-passagem button:hover{
      transform:translateY(-1px);
      background:rgba(11,108,255,.10) !important;
      border-color:rgba(148,180,220,.18) !important;
    }
    .premium-menu button.active,
    .premium-menu button.is-active,
    .submenu-passagem button.active{
      background:linear-gradient(135deg,rgba(11,108,255,.24),rgba(8,215,208,.13)) !important;
      border-color:rgba(8,215,208,.28) !important;
      box-shadow:0 14px 30px rgba(11,108,255,.16) !important;
      color:#fff !important;
    }
    .menu-icon{
      background:rgba(11,108,255,.12) !important;
      border:1px solid rgba(126,196,255,.18) !important;
      color:#7ec4ff !important;
    }
    .premium-menu button.active .menu-icon,
    .premium-menu button.is-active .menu-icon{
      background:linear-gradient(135deg,var(--site-blue),var(--site-cyan)) !important;
      color:#fff !important;
      border-color:transparent !important;
    }
    .sidebar-note{
      border:1px solid rgba(126,196,255,.16) !important;
      border-radius:16px !important;
      background:rgba(11,108,255,.08) !important;
      color:var(--site-muted) !important;
    }

    /* Área principal com linguagem do site */
    .main.premium-shell{
      background:
        radial-gradient(circle at 20% 0%,rgba(11,108,255,.13),transparent 26%),
        radial-gradient(circle at 80% 14%,rgba(8,215,208,.08),transparent 24%),
        linear-gradient(180deg,rgba(3,10,21,.25),rgba(4,16,31,.65)) !important;
    }

    .topbar.site-like-topbar{
      min-height:78px !important;
      align-items:center !important;
      border:1px solid rgba(148,180,220,.12) !important;
      border-radius:0 0 22px 22px !important;
      background:rgba(2,9,20,.86) !important;
      backdrop-filter:blur(18px) !important;
      box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
    }
    .site-topbar-logo{
      width:48px !important;
      height:48px !important;
      object-fit:contain !important;
      filter:drop-shadow(0 10px 22px rgba(8,215,208,.16));
    }
    .site-topbar-brand-copy strong{
      font-size:22px !important;
      letter-spacing:-.045em !important;
      color:#fff !important;
    }
    .site-topbar-brand-copy strong span{color:var(--site-cyan) !important}
    .site-topbar-brand-copy small{
      color:var(--site-muted-2) !important;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-weight:850;
    }
    .site-topbar-nav{
      gap:24px !important;
    }
    .site-topbar-nav button{
      background:transparent !important;
      border:0 !important;
      color:#e6eefb !important;
      font-size:14px !important;
      font-weight:800 !important;
      opacity:.92;
      padding:8px 0 !important;
      border-radius:0 !important;
    }
    .site-topbar-nav button:hover{
      color:var(--site-cyan) !important;
      opacity:1;
      transform:none !important;
      box-shadow:none !important;
    }
    .site-topbar-status,
    .site-page-context{
      border:1px solid rgba(148,180,220,.14) !important;
      background:rgba(255,255,255,.035) !important;
      border-radius:16px !important;
    }
    .site-time-pill{
      border:1px solid rgba(148,180,220,.12) !important;
      background:rgba(3,12,24,.45) !important;
      border-radius:14px !important;
    }
    .site-date-filter{
      border:1px solid rgba(148,180,220,.16) !important;
      background:rgba(255,255,255,.035) !important;
      border-radius:14px !important;
    }
    .site-refresh-btn,
    .btn.btn-primary,
    .btn.btn-success{
      background:linear-gradient(135deg,var(--site-blue),var(--site-cyan)) !important;
      border-color:transparent !important;
      color:#fff !important;
      box-shadow:0 12px 28px rgba(11,108,255,.23) !important;
    }
    .site-logout-red{
      background:linear-gradient(135deg,#991b1b,var(--site-red)) !important;
      border-color:rgba(255,255,255,.08) !important;
      box-shadow:0 12px 28px rgba(239,68,68,.18) !important;
    }

    /* Hero das telas mais próximo dos blocos do site */
    .section-hero,
    .report-hero{
      gap:16px !important;
    }
    .section-hero-card,
    .report-hero-card{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(148,180,220,.16) !important;
      border-radius:22px !important;
      background:
        radial-gradient(circle at top right,rgba(11,108,255,.16),transparent 34%),
        linear-gradient(180deg,rgba(13,32,60,.86),rgba(9,24,46,.70)) !important;
      box-shadow:0 16px 40px rgba(0,0,0,.22) !important;
    }
    .section-hero-card::after,
    .report-hero-card::after{
      content:"";
      position:absolute;
      right:-70px;
      top:-70px;
      width:220px;
      height:220px;
      background:radial-gradient(circle,rgba(8,215,208,.12),transparent 62%);
      pointer-events:none;
    }
    .section-hero-card h3,
    .report-hero-card h3{
      font-size:26px !important;
      letter-spacing:-.045em !important;
      color:#fff !important;
    }
    .section-hero-card p,
    .report-hero-card p{
      color:var(--site-muted) !important;
      line-height:1.65 !important;
    }

    /* Cards, KPIs e tabelas com acabamento do site */
    .card,
    .filters-card,
    .premium-table-card,
    .form-card-premium,
    .premium-chart-card,
    .auditoria-top-card{
      border:1px solid rgba(148,180,220,.16) !important;
      border-radius:20px !important;
      background:
        radial-gradient(circle at top right,rgba(11,108,255,.08),transparent 30%),
        linear-gradient(180deg,rgba(8,24,47,.88),rgba(5,18,36,.78)) !important;
      box-shadow:0 16px 40px rgba(0,0,0,.22) !important;
    }
    .card-title-row h2,
    .premium-table-head h2,
    .section-toolbar h2,
    .card h2{
      color:#fff !important;
      letter-spacing:-.035em !important;
    }
    .card-title-row p,
    .premium-table-head p,
    .section-toolbar p,
    .chart-helper{
      color:var(--site-muted) !important;
    }
    .premium-badge{
      border:1px solid rgba(126,196,255,.22) !important;
      color:#7ec4ff !important;
      background:rgba(11,108,255,.10) !important;
      border-radius:999px !important;
      text-transform:uppercase;
      letter-spacing:.045em;
      font-weight:950;
    }
    .section-mini,
    .report-mini,
    .soft-stat,
    .queue-summary .section-mini{
      border:1px solid rgba(148,180,220,.13) !important;
      border-radius:16px !important;
      background:rgba(255,255,255,.035) !important;
      box-shadow:0 12px 26px rgba(0,0,0,.12);
    }
    .section-mini span,
    .report-mini span{
      color:var(--site-muted-2) !important;
      text-transform:uppercase;
      letter-spacing:.06em;
      font-weight:900;
    }
    .section-mini strong,
    .report-mini strong{
      color:#51caff !important;
      letter-spacing:-.04em !important;
    }

    .table-wrap{
      border:1px solid rgba(148,180,220,.10) !important;
      border-radius:16px !important;
      background:rgba(2,9,20,.28) !important;
    }
    table thead th{
      background:rgba(2,9,20,.78) !important;
      color:#dbe8fb !important;
      border-bottom:1px solid rgba(148,180,220,.14) !important;
      text-transform:uppercase;
      letter-spacing:.055em;
      font-size:11px !important;
    }
    table tbody tr{
      background:rgba(255,255,255,.018) !important;
      transition:background .16s ease;
    }
    table tbody tr:hover{
      background:rgba(11,108,255,.08) !important;
    }
    table td{
      border-bottom:1px solid rgba(148,180,220,.08) !important;
      color:#eaf2ff !important;
    }

    input,
    select,
    textarea{
      border:1px solid rgba(148,180,220,.16) !important;
      background:rgba(3,12,24,.72) !important;
      color:#fff !important;
      border-radius:14px !important;
      box-shadow:none !important;
    }
    input:focus,
    select:focus,
    textarea:focus{
      border-color:rgba(8,215,208,.45) !important;
      box-shadow:0 0 0 4px rgba(8,215,208,.08) !important;
      outline:none !important;
    }
    label{
      color:#d8e6fb !important;
      font-weight:850 !important;
    }

    .board,
    .board-premium,
    .dock-grid-premium,
    .executive-grid,
    .grid{
      gap:16px !important;
    }
    .toast{
      border:1px solid rgba(148,180,220,.18) !important;
      background:rgba(2,9,20,.92) !important;
      box-shadow:0 20px 50px rgba(0,0,0,.35) !important;
      border-radius:16px !important;
    }

    /* Modais com o mesmo padrão dark premium */
    .modal,
    .modal-overlay{
      backdrop-filter:blur(18px) !important;
      background:rgba(2,9,20,.72) !important;
    }
    .modal-content,
    .modal-panel{
      border:1px solid rgba(148,180,220,.16) !important;
      border-radius:26px !important;
      background:
        radial-gradient(circle at top right,rgba(11,108,255,.12),transparent 30%),
        linear-gradient(180deg,rgba(8,24,47,.94),rgba(5,18,36,.92)) !important;
      box-shadow:0 30px 90px rgba(0,0,0,.45) !important;
    }

    @media(max-width:1180px){
      .site-topbar-nav{display:none !important;}
      .topbar.site-like-topbar{border-radius:0 0 18px 18px !important;}
    }
    @media(max-width:760px){
      .site-topbar-status,
      .site-page-context{display:none !important;}
      .topbar.site-like-topbar{min-height:auto !important;}
      .brand-title{font-size:16px !important;}
    }

  
    /* ==========================================================
       Correção v7 — topo compacto sem estourar a largura
       ========================================================== */
    .topbar.site-like-topbar{
      display:grid !important;
      grid-template-columns:auto minmax(210px,280px) minmax(0,1fr) auto auto !important;
      gap:12px !important;
      padding:10px 14px !important;
      width:100% !important;
      max-width:100% !important;
      overflow:hidden !important;
    }

    .site-topbar-brand{
      min-width:0 !important;
      max-width:280px !important;
    }

    .site-topbar-brand-copy{
      min-width:0 !important;
    }

    .site-topbar-brand-copy strong,
    .site-topbar-brand-copy small{
      white-space:nowrap !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
      display:block !important;
    }

    .site-topbar-nav{
      min-width:0 !important;
      justify-content:center !important;
      overflow:hidden !important;
      gap:18px !important;
    }

    .site-topbar-status{
      min-width:0 !important;
      width:auto !important;
      max-width:360px !important;
      padding:8px !important;
      gap:8px !important;
    }

    .site-greeting{
      display:none !important;
    }

    .site-time-pills{
      display:flex !important;
      gap:8px !important;
      min-width:0 !important;
    }

    .site-time-pill{
      min-width:58px !important;
      height:44px !important;
      padding:6px 10px !important;
    }

    .site-time-pill span{
      font-size:9px !important;
      line-height:1 !important;
    }

    .site-time-pill strong{
      font-size:12px !important;
      white-space:nowrap !important;
    }

    .site-topbar-actions{
      display:flex !important;
      align-items:center !important;
      justify-content:flex-end !important;
      gap:8px !important;
      min-width:0 !important;
      max-width:430px !important;
      overflow:hidden !important;
    }

    .site-date-filter{
      width:150px !important;
      min-width:150px !important;
      max-width:150px !important;
      height:44px !important;
      padding:4px 10px !important;
      overflow:hidden !important;
    }

    .site-date-filter label{
      display:none !important;
    }

    .site-date-filter input{
      height:34px !important;
      min-height:34px !important;
      padding:0 8px !important;
      font-size:12px !important;
    }

    .site-refresh-btn{
      height:44px !important;
      min-height:44px !important;
      padding:0 14px !important;
      white-space:nowrap !important;
    }

    .site-logout-red{
      height:44px !important;
      min-height:44px !important;
      width:auto !important;
      padding:0 13px !important;
      white-space:nowrap !important;
    }

    .site-page-context{
      display:none !important;
    }

    @media(max-width:1500px){
      .topbar.site-like-topbar{
        grid-template-columns:auto minmax(190px,260px) minmax(0,1fr) auto !important;
      }
      .site-topbar-status{
        max-width:270px !important;
      }
      .site-topbar-actions{
        max-width:390px !important;
      }
      .site-topbar-nav{
        gap:14px !important;
      }
    }

    @media(max-width:1320px){
      .topbar.site-like-topbar{
        grid-template-columns:auto minmax(190px,260px) 1fr auto !important;
      }
      .site-topbar-nav{
        display:none !important;
      }
      .site-topbar-status{
        justify-self:end !important;
      }
    }

    @media(max-width:1060px){
      .topbar.site-like-topbar{
        grid-template-columns:auto minmax(180px,1fr) auto !important;
      }
      .site-topbar-status{
        display:none !important;
      }
      .site-topbar-actions{
        max-width:none !important;
      }
    }

    @media(max-width:760px){
      .topbar.site-like-topbar{
        grid-template-columns:auto 1fr !important;
        gap:10px !important;
      }
      .site-topbar-actions{
        grid-column:1 / -1 !important;
        width:100% !important;
        justify-content:stretch !important;
      }
      .site-date-filter{
        flex:1 1 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
      }
      .site-refresh-btn,
      .site-logout-red{
        flex:0 0 auto !important;
      }
    }

/* =========================================================
   GESTÃO LOGÍSTICA PLUS — V22 ESTABILIZAÇÃO FINAL
   Objetivo: cascata única em styles.css, topbar sem corte e sidebar refinada.
   ========================================================= */

html, body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

.app{
  max-width:100vw !important;
  overflow:hidden !important;
}

.main,
.main.premium-shell{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* Topbar final: flex, não grid. O botão Sair sempre tem área reservada. */
body .topbar.site-like-topbar,
body .site-like-topbar{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:72px !important;
  padding:10px 14px !important;
  overflow:hidden !important;
  border-radius:0 0 22px 22px !important;
}

body .site-topbar-menu{
  flex:0 0 44px !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
}

body .site-topbar-brand{
  flex:0 1 310px !important;
  min-width:220px !important;
  max-width:330px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
}

body .site-topbar-logo{
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
}

body .site-topbar-brand-copy{
  min-width:0 !important;
  overflow:hidden !important;
}

body .site-topbar-brand-copy strong,
body .site-topbar-brand-copy small{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body .site-topbar-brand-copy strong{
  font-size:20px !important;
  line-height:1 !important;
}

body .site-topbar-brand-copy small{
  font-size:9px !important;
  line-height:1.25 !important;
}

body .site-topbar-nav{
  flex:1 1 260px !important;
  min-width:120px !important;
  max-width:420px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  overflow:hidden !important;
}

body .site-topbar-nav button{
  flex:0 1 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
  font-size:13px !important;
  padding:0 1px !important;
}

body .site-topbar-status{
  flex:0 0 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}

body .site-time-pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  overflow:visible !important;
}

body .site-time-pill{
  flex:0 0 68px !important;
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  height:44px !important;
  padding:6px 8px !important;
  overflow:hidden !important;
}

body .site-time-pill:nth-child(2){
  flex-basis:100px !important;
  width:100px !important;
  min-width:100px !important;
  max-width:100px !important;
}

body .site-time-pill span{
  display:block !important;
  font-size:8.5px !important;
  line-height:1 !important;
  margin-bottom:4px !important;
}

body .site-time-pill strong{
  display:block !important;
  font-size:11.5px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

body .site-topbar-actions{
  flex:0 0 338px !important;
  width:338px !important;
  min-width:338px !important;
  max-width:338px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
  overflow:visible !important;
  margin-left:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}

body .site-date-filter{
  flex:0 0 164px !important;
  width:164px !important;
  min-width:164px !important;
  max-width:164px !important;
  height:44px !important;
  padding:4px 9px !important;
  overflow:hidden !important;
}

body .site-date-filter label{
  display:none !important;
}

body .site-date-filter input{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 9px !important;
  font-size:12px !important;
}

body .site-refresh-btn{
  flex:0 0 84px !important;
  width:84px !important;
  min-width:84px !important;
  max-width:84px !important;
  height:44px !important;
  padding:0 10px !important;
  font-size:12px !important;
}

body .site-logout-red{
  flex:0 0 76px !important;
  width:76px !important;
  min-width:76px !important;
  max-width:76px !important;
  height:44px !important;
  padding:0 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  visibility:visible !important;
  opacity:1 !important;
  font-size:12px !important;
  overflow:hidden !important;
}

body .site-logout-red span,
body .site-logout-red svg{
  display:inline-flex !important;
}

.app.sidebar-collapsed body .site-topbar-brand,
.app.sidebar-collapsed .site-topbar-brand{
  flex-basis:340px !important;
  max-width:360px !important;
}

.app.sidebar-collapsed .site-topbar-nav{
  flex-basis:300px !important;
  max-width:470px !important;
}

.app.sidebar-collapsed .site-topbar-actions{
  flex-basis:348px !important;
  width:348px !important;
  min-width:348px !important;
  max-width:348px !important;
}

.app.sidebar-collapsed .site-date-filter{
  flex-basis:174px !important;
  width:174px !important;
  min-width:174px !important;
  max-width:174px !important;
}

@media(max-width:1420px){
  body .site-topbar-nav{
    display:none !important;
  }

  body .site-topbar-brand{
    flex:1 1 auto !important;
    min-width:180px !important;
    max-width:none !important;
  }

  body .site-topbar-actions{
    margin-left:auto !important;
  }
}

@media(max-width:1120px){
  body .site-topbar-status{
    display:none !important;
  }

  body .site-topbar-actions{
    flex-basis:328px !important;
    width:328px !important;
    min-width:328px !important;
    max-width:328px !important;
  }
}

@media(max-width:760px){
  body .topbar.site-like-topbar,
  body .site-like-topbar{
    flex-wrap:wrap !important;
    min-height:auto !important;
  }

  body .site-topbar-brand{
    flex:1 1 calc(100% - 60px) !important;
  }

  body .site-topbar-actions{
    order:10 !important;
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    justify-content:stretch !important;
    margin-left:0 !important;
  }

  body .site-date-filter{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

@media(max-width:520px){
  body .site-refresh-btn{
    display:none !important;
  }

  body .site-logout-red{
    flex:0 0 48px !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    font-size:0 !important;
    padding:0 !important;
  }
}

/* Sidebar: acabamento inferior e modo recolhido limpo */
body .sidebar,
body .sidebar.sidebar-ultra-premium{
  height:100vh !important;
  max-height:100vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:18px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(126,196,255,.28) transparent !important;
}

body .sidebar-note{
  display:none !important;
}

body .sidebar::after{
  content:"" !important;
  display:block !important;
  height:28px !important;
  margin:12px 6px 0 !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(8,215,208,.14),transparent 64%),
    linear-gradient(180deg,rgba(148,180,220,.05),rgba(148,180,220,0)) !important;
  border-top:1px solid rgba(148,180,220,.08) !important;
  pointer-events:none !important;
}

/* Passagem de Turno: submenu abre/recolhe visualmente */
body #submenu-passagem-turno,
body .submenu-passagem{
  margin:8px 0 0 34px !important;
  padding:8px 0 8px 10px !important;
  border-left:1px solid rgba(8,215,208,.28) !important;
  display:none !important;
  gap:7px !important;
}

body #submenu-passagem-turno.open,
body .menu-group.grouped-passagem.open #submenu-passagem-turno,
body .menu-group.grouped-passagem.open .submenu-passagem{
  display:flex !important;
  flex-direction:column !important;
}

/* Página removida */
body #menu-relatorios,
body #view-relatorios{
  display:none !important;
}

/* === FASE 3.1 — Empresa logada visível === */
#userPerfil,
#userEmpresa{
  display:block !important;
  margin-top:6px !important;
  padding:5px 8px !important;
  border-radius:9px !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  color:#d7e7f8 !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

#userEmpresa{
  color:#22e0c5 !important;
  background:rgba(34,224,197,.08) !important;
  border-color:rgba(34,224,197,.20) !important;
}

.empresa-pill-top{
  display:flex !important;
  min-width:120px !important;
  border-color:rgba(34,224,197,.22) !important;
  background:rgba(34,224,197,.07) !important;
}

.empresa-pill-top span{
  color:#8ba8c5 !important;
}

.empresa-pill-top strong{
  color:#22e0c5 !important;
  font-weight:950 !important;
}


/* === FASE 3.2 — Ajuste visual definitivo da empresa logada === */

/* Card do usuário na lateral */
.user-card,
.sidebar-user,
.user-info,
.profile-card{
  min-height: auto !important;
}

/* Perfil e empresa no card lateral */
#userPerfil,
#userEmpresa{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  margin-top:7px !important;
  padding:6px 10px !important;
  border-radius:10px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

#userPerfil{
  color:#dcecff !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

#userEmpresa{
  color:#22e0c5 !important;
  background:rgba(34,224,197,.10) !important;
  border:1px solid rgba(34,224,197,.25) !important;
  box-shadow:0 0 0 1px rgba(34,224,197,.04) inset !important;
}

/* Badge da empresa no topo */
.empresa-pill-top{
  min-width:150px !important;
  height:46px !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:2px !important;
  border-radius:14px !important;
  background:rgba(34,224,197,.08) !important;
  border:1px solid rgba(34,224,197,.24) !important;
}

.empresa-pill-top span{
  display:block !important;
  font-size:9px !important;
  line-height:1 !important;
  color:#83a7bd !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.empresa-pill-top strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.1 !important;
  color:#22e0c5 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

/* Evita que a empresa fique espremida junto com Hora/Data/Temp */
.site-time-row,
.site-header-meta,
.top-metrics,
.header-time-group{
  gap:10px !important;
  flex-wrap:nowrap !important;
}

/* Em telas menores, permite quebrar sem deformar */
@media(max-width:1200px){
  .empresa-pill-top{
    min-width:120px !important;
  }

  .empresa-pill-top strong{
    font-size:12px !important;
  }
}



/* === FASE 3.3 — Identidade Nadir no topo e perfil ===
   Objetivo: usar a marca Nadir em branco + ponto laranja, sem quebrar lógica.
   Aplicar em assets/css/styles.css e app/assets/css/styles.css.
*/

body[data-empresa-slug="nadir"]{
  --empresa-cor-primaria:#ffffff;
  --empresa-cor-secundaria:#ff915f;
  --empresa-cor-acento:#ff915f;
}

/* Badge da empresa no topo usando a marca Nadir em branco/laranja */
body[data-empresa-slug="nadir"] .empresa-pill-top{
  min-width:132px !important;
  width:132px !important;
  height:46px !important;
  padding:0 13px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:0 !important;
  border-radius:15px !important;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,145,95,.16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  border:1px solid rgba(255,145,95,.32) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(255,145,95,.05),
    0 8px 18px rgba(0,0,0,.12) !important;
  overflow:hidden !important;
}

/* Esconde o slug "NADIR" para não duplicar a leitura */
body[data-empresa-slug="nadir"] .empresa-pill-top #empresaSlugTop{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Troca o texto por imagem oficial da marca */
body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
  display:block !important;
  width:92px !important;
  height:34px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  background-image:url("../img/nadir-logo-branco-laranja.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.18)) !important;
}

/* Card lateral: deixa perfil e empresa mais limpos */
#userPerfil,
#userEmpresa{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  margin-top:7px !important;
  padding:6px 10px !important;
  border-radius:10px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

#userPerfil{
  color:#dcecff !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.085) !important;
}

body[data-empresa-slug="nadir"] #userEmpresa{
  color:#ffffff !important;
  background:rgba(255,255,255,.050) !important;
  border:1px solid rgba(255,145,95,.24) !important;
  box-shadow:inset 3px 0 0 #ff915f !important;
}

/* Pequeno ponto laranja inspirado na marca */
body[data-empresa-slug="nadir"] #userEmpresa::after{
  content:"" !important;
  width:7px !important;
  height:7px !important;
  margin-left:7px !important;
  border-radius:999px !important;
  background:#ff915f !important;
  box-shadow:0 0 0 3px rgba(255,145,95,.12) !important;
}

/* Ajuste fino para o grupo Hora/Data/Temp/Empresa */
.site-time-row,
.site-header-meta,
.top-metrics,
.header-time-group{
  gap:10px !important;
}

/* Em telas menores, mantém a marca legível sem quebrar a barra */
@media(max-width:1200px){
  body[data-empresa-slug="nadir"] .empresa-pill-top{
    min-width:112px !important;
    width:112px !important;
    padding:0 10px !important;
  }

  body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
    width:78px !important;
    height:30px !important;
  }
}

@media(max-width:900px){
  body[data-empresa-slug="nadir"] .empresa-pill-top{
    min-width:96px !important;
    width:96px !important;
  }

  body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
    width:68px !important;
    height:26px !important;
  }
}

/* === FASE 3.3.1 — Ajuste fino badge Nadir === */
body[data-empresa-slug="nadir"] .empresa-pill-top{
  min-width:112px !important;
  width:112px !important;
  height:42px !important;
  padding:0 10px !important;
  border-radius:13px !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
  width:82px !important;
  height:30px !important;
}


/* === FASE 3.3.2 — Badge Nadir mais discreta e alinhada === */

body[data-empresa-slug="nadir"] .empresa-pill-top{
  min-width:104px !important;
  width:104px !important;
  height:38px !important;
  padding:0 10px !important;
  border-radius:12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:row !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,145,95,.24) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top:hover{
  background:rgba(255,255,255,.065) !important;
  border-color:rgba(255,145,95,.36) !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top #empresaSlugTop{
  display:none !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
  width:76px !important;
  height:24px !important;
  display:block !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  background-image:url("../img/nadir-logo-branco-laranja.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  filter:none !important;
}

/* Mantém a linha superior mais equilibrada */
.site-time-row,
.site-header-meta,
.top-metrics,
.header-time-group{
  align-items:center !important;
  gap:8px !important;
}

/* Deixa Hora/Data/Temp e Nadir com altura mais próxima */
.site-time-pill{
  min-height:38px !important;
}

/* Card lateral: perfil visível, empresa mais discreta */
#userPerfil{
  display:block !important;
  margin-top:7px !important;
  padding:5px 8px !important;
  border-radius:8px !important;
  font-size:10.5px !important;
  font-weight:850 !important;
  color:#dbeafe !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.075) !important;
}

body[data-empresa-slug="nadir"] #userEmpresa{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:6px !important;
  padding:5px 9px !important;
  border-radius:8px !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  color:#ffffff !important;
  background:rgba(255,145,95,.08) !important;
  border:1px solid rgba(255,145,95,.22) !important;
  box-shadow:none !important;
}

body[data-empresa-slug="nadir"] #userEmpresa::after{
  content:"" !important;
  display:inline-block !important;
  width:6px !important;
  height:6px !important;
  margin-left:6px !important;
  border-radius:50% !important;
  background:#ff915f !important;
  vertical-align:middle !important;
}


/* === FASE 3.3.3 — Nadir como assinatura visual no topo === */

body[data-empresa-slug="nadir"] .empresa-pill-top{
  min-width:86px !important;
  width:86px !important;
  height:34px !important;
  padding:0 8px !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top:hover{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,145,95,.22) !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top #empresaSlugTop{
  display:none !important;
}

body[data-empresa-slug="nadir"] .empresa-pill-top #empresaNomeTop{
  width:64px !important;
  height:22px !important;
  display:block !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  background-image:url("../img/nadir-logo-branco-laranja.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  filter:none !important;
}

/* Menos competição visual com Hora/Data/Temp */
.site-time-row,
.site-header-meta,
.top-metrics,
.header-time-group{
  gap:7px !important;
  align-items:center !important;
}

/* Mantém Hora/Data/Temp como cards principais e Nadir como identificação */
.site-time-pill{
  min-height:36px !important;
}

/* Ajuste lateral: deixa só perfil e empresa pequenos, mas legíveis */
#userPerfil,
body[data-empresa-slug="nadir"] #userEmpresa{
  font-size:10px !important;
  padding:4px 7px !important;
  border-radius:7px !important;
  line-height:1.1 !important;
}

body[data-empresa-slug="nadir"] #userEmpresa{
  color:#ffb28c !important;
  background:rgba(255,145,95,.06) !important;
  border-color:rgba(255,145,95,.16) !important;
}

body[data-empresa-slug="nadir"] #userEmpresa::after{
  width:5px !important;
  height:5px !important;
  margin-left:5px !important;
  background:#ff915f !important;
}



/* GLP - Tipo de Carga no Controle de Doca */
#c_cd_tipo_carga{font-weight:900;letter-spacing:.08em;text-transform:uppercase;}


/* GLP CHECKIN FINAL LIMPO V1 */
#controleDocaCard .fields{
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
}
#controleDocaCard .fields .full{
  grid-column: 1 / -1;
}
#controleDocaCard input[disabled]{
  opacity: .95;
  color: #dbeafe;
}
.compat-alert{
  border: 1px solid rgba(56,189,248,.24);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(15,23,42,.72);
  display: grid;
  gap: 5px;
}
.compat-alert.ok{
  border-color: rgba(34,197,94,.42);
  background: linear-gradient(135deg, rgba(20,83,45,.26), rgba(15,23,42,.72));
}
.compat-alert.atencao{
  border-color: rgba(245,158,11,.55);
  background: linear-gradient(135deg, rgba(120,53,15,.28), rgba(15,23,42,.72));
}
.compat-alert.incompativel{
  border-color: rgba(239,68,68,.62);
  background: linear-gradient(135deg, rgba(127,29,29,.30), rgba(15,23,42,.72));
}
.compat-alert strong{
  color:#f8fafc;
  font-size: 13px;
}
.compat-alert span{
  color:#b7c7dc;
  font-size: 12px;
}
.checklist-fisico-box{
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 16px;
  padding: 12px;
  background: rgba(2,6,23,.28);
}
.check-grid-inline{
  display:grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.check-grid-inline label{
  display:flex;
  align-items:center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 10px;
  border:1px solid rgba(148,163,184,.18);
  border-radius: 12px;
  background: rgba(15,23,42,.64);
}
.check-grid-inline input{
  width: 16px!important;
  height: 16px!important;
}
@media (max-width: 1100px){
  #controleDocaCard .fields{ grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .check-grid-inline{ grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}
@media (max-width: 680px){
  #controleDocaCard .fields{ grid-template-columns: 1fr; }
  .check-grid-inline{ grid-template-columns: 1fr; }
}


/* ===== Resultado Separação V1 Horas ===== */
#view-resultado-separacao .resultado-mao-input-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#view-resultado-separacao .resultado-mao-input-grid-ho{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#view-resultado-separacao .resultado-input-pair{
  display:flex;
  flex-direction:column;
  gap:6px;
}
#view-resultado-separacao .resultado-input-pair > label{
  margin:0 0 2px;
}
#view-resultado-separacao .resultado-qtd-horas{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:8px;
}
#view-resultado-separacao .resultado-qtd-horas div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
#view-resultado-separacao .resultado-qtd-horas span{
  color:#89a0c3;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
}
#view-resultado-separacao .resultado-qtd-horas input{
  min-height:34px;
  padding:9px 10px;
}
#view-resultado-separacao .resultado-turno-breakdown strong{
  font-size:14px;
  line-height:1.35;
  white-space:normal;
}
#view-resultado-separacao .resultado-summary-card.capacidade small,
#view-resultado-separacao .resultado-summary-card.resultado-turno-breakdown small{
  color:#fbbf24;
}
@media(max-width:860px){
  #view-resultado-separacao .resultado-mao-input-grid,
  #view-resultado-separacao .resultado-mao-input-grid-ho{
    grid-template-columns:1fr;
  }
}


/* ===== Resultado Separação V2 Horas + Eficiência no gráfico ===== */
#view-resultado-separacao .resultado-resumo-turnos-topo strong{
  font-size:14px;
  line-height:1.35;
  white-space:normal;
}
#view-resultado-separacao .resultado-qtd-horas{
  grid-template-columns:1fr 1fr !important;
  align-items:end;
}
#view-resultado-separacao .resultado-qtd-horas span{
  display:block !important;
  opacity:1 !important;
}
#view-resultado-separacao .resultado-qtd-horas input[id$="Horas"]{
  border-color:rgba(251,191,36,.22);
  background:rgba(120,53,15,.10);
}
#view-resultado-separacao .resultado-qtd-horas input[id$="Horas"]:focus{
  border-color:rgba(251,191,36,.55);
  box-shadow:0 0 0 4px rgba(251,191,36,.12);
}
#view-resultado-separacao .resultado-qtd-horas input[id$="Horas"]::placeholder{color:#fbbf24;}
#view-resultado-separacao .resultado-summary-card.eficiencia{
  border-color:rgba(34,197,94,.24);
}
