/* =====================================================
   NEXTCARGO.RS
   STYLE GLOBAL PADRONIZADO
   ===================================================== */


/* =========================
   1 - RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica,sans-serif;
}


:root{

    --dark:#06111f;
    --blue:#006ee6;

    --bg:#f5f7fb;
    --card:#ffffff;

    --text:#111827;
    --muted:#64748b;

    --green:#16a34a;
    --red:#dc2626;

    --border:#e5e7eb;

    --radius:22px;
    --safe-top:env(safe-area-inset-top, 0px);
    --safe-right:env(safe-area-inset-right, 0px);
    --safe-bottom:env(safe-area-inset-bottom, 0px);
    --safe-left:env(safe-area-inset-left, 0px);
    --bottom-nav-safe-bottom:min(var(--safe-bottom), 16px);
}



body{
    background:var(--dark);
}



/* =========================
   2 - APP CELULAR
========================= */


.app-body{

    min-height:100vh;
    min-height:100dvh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:28px 0;

    background:
    radial-gradient(
        circle at top,
        rgba(0,110,230,.25),
        transparent 35%
    ),
    var(--dark);

}


.app-shell{

    width:430px;
    max-width:430px;

    height:860px;

    background:var(--bg);

    border-radius:38px;

    overflow-y:auto;
    overflow-x:hidden;

    position:relative;

    box-shadow:
    0 25px 80px rgba(0,0,0,.45);

}



.app-shell::-webkit-scrollbar{
    width:6px;
}


.app-shell::-webkit-scrollbar-thumb{
    background:#94a3b8;
    border-radius:20px;
}




/* =========================
   3 - TOPO
========================= */


.app-header{

    min-height:calc(78px + var(--safe-top));

    background:var(--dark);

    color:white;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:var(--safe-top) calc(18px + var(--safe-right)) 0 calc(18px + var(--safe-left));

    position:sticky;
    top:0;

    z-index:50;

}



.brand{

    display:flex;
    align-items:center;
    justify-content:center;

}


.brand-logo-img{

    display:block;
    width:156px;
    max-width:100%;
    height:auto;
    object-fit:contain;

}


.brand .brand-logo-img{

    width:150px;
    max-height:66px;

}


.side-logo .brand-logo-img,
.operator-logo .brand-logo-img{

    width:190px;
    max-height:82px;

}


.login-logo .brand-logo-img{

    width:224px;
    margin:0 auto;
    max-height:94px;

}



.icon-button{

    width:42px;
    height:42px;

    border:0;

    background:none;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    font-size:22px;

}




/* =========================
   4 - CONTEÚDO PADRÃO
========================= */


.page-content{

    padding:22px calc(18px + var(--safe-right)) calc(104px + var(--bottom-nav-safe-bottom)) calc(18px + var(--safe-left));

}



.page-title{

    margin-bottom:22px;

}



.page-title h1{

    color:var(--text);

    font-size:28px;

}



.page-title p{

    margin-top:5px;

    color:var(--muted);

    font-size:14px;

}

/* =========================
   5 - MENU INFERIOR
========================= */

.bottom-nav{

    position:fixed;

    left:50%;
    right:auto;
    bottom:0;
    transform:translateX(-50%);

    width:430px;
    max-width:100%;
    min-height:calc(70px + var(--bottom-nav-safe-bottom));
    padding-right:var(--safe-right);
    padding-bottom:var(--bottom-nav-safe-bottom);
    padding-left:var(--safe-left);

    background:white;

    border-top:1px solid var(--border);

    display:grid;
    grid-template-columns:repeat(4,1fr);

    z-index:80;

    border-radius:24px 24px 0 0;

}


.bottom-nav a{

    height:70px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:5px;

    text-decoration:none;

    color:var(--muted);

    font-size:11px;

}


.bottom-nav i{

    font-size:20px;

}


.bottom-nav .active{

    color:var(--blue);

}

.tabs a.tab{
    text-decoration:none;
}



/* =========================
   6 - MENU LATERAL
========================= */


.menu-toggle{

    display:none;

}


.menu-backdrop{

    position:fixed;

    top:var(--app-shell-top, max(0px, calc((100dvh - 860px) / 2)));
    left:var(--app-shell-left, max(0px, calc((100vw - 430px) / 2)));
    width:var(--app-shell-width, min(430px, 100vw));
    height:var(--app-shell-height, min(860px, 100dvh));

    background:rgba(0,0,0,.48);

    z-index:90;

    opacity:0;

    pointer-events:none;

    transition:.3s;

}


.side-menu{

    position:fixed;

    top:var(--app-shell-top, max(0px, calc((100dvh - 860px) / 2)));
    left:var(--app-shell-left, max(0px, calc((100vw - 430px) / 2)));

    width:min(calc(var(--app-shell-width, 100vw) * .78), 330px);
    max-width:330px;

    height:var(--app-shell-height, min(860px, 100dvh));
    max-height:var(--app-shell-height, min(860px, 100dvh));
    overflow-y:auto;
    overscroll-behavior:contain;

    background:var(--dark);

    z-index:100;

    padding:34px 24px;

    transform:translateX(-105%);

    transition:.35s ease;

    display:flex;
    flex-direction:column;

    box-shadow:18px 0 40px rgba(0,0,0,.35);

}

.app-body:has(.menu-toggle:checked){

    overflow:hidden;

}


.menu-toggle:checked ~ .menu-backdrop{

    opacity:1;

    pointer-events:auto;

}


.menu-toggle:checked ~ .side-menu{

    transform:translateX(0);

}


.side-logo{

    margin-bottom:30px;

}


.side-logo strong{

    display:block;

    color:white;

    font-size:24px;

    font-weight:900;

    font-style:italic;

}


.side-logo span{

    color:#0b84ff;

}


.side-logo small{

    display:block;

    margin-top:6px;

    color:#94a3b8;

    font-size:11px;

    text-transform:uppercase;

    letter-spacing:.7px;

}


.side-nav{

    display:flex;

    flex-direction:column;

    gap:6px;

}


.side-nav a{

    display:flex;

    align-items:center;

    gap:14px;

    color:#e5e7eb;

    text-decoration:none;

    padding:12px 0;

    font-size:14px;

}


.side-nav i{

    width:22px;

    text-align:center;

    font-size:16px;

}


.side-nav .active{

    color:#0b84ff;

}


.exit-link{

    color:#fb7185 !important;

}


.balance-card{

    margin-top:auto;

    background:white;

    border-radius:18px;

    padding:18px;

    display:grid;

    grid-template-columns:1fr auto;

    gap:4px;

    align-items:end;

}


.balance-card span{

    grid-column:1 / 3;

    color:var(--muted);

    font-size:13px;

}


.balance-card strong{

    color:var(--text);

    font-size:20px;

}


.balance-card a{

    color:var(--blue);

    font-size:12px;

    text-decoration:none;

    font-weight:700;

}



/* =========================
   7 - BOTÕES
========================= */


.main-button,
.confirm-button{

    width:calc(100% - 36px);

    height:58px;

    margin:22px 18px 0;

    border:0;

    border-radius:16px;

    background:var(--blue);

    color:white;

    text-decoration:none;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

    font-weight:800;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(0,110,230,.28);

}


.secondary-button{

    height:54px;

    margin-top:12px;

    border-radius:16px;

    background:white;

    color:var(--blue);

    border:1px solid #bfdbfe;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    text-decoration:none;

    font-size:15px;

    font-weight:800;

}



/* =========================
   8 - CARDS E STATUS
========================= */


.status{

    font-size:11px;

    padding:6px 9px;

    border-radius:10px;

    flex-shrink:0;

}


.delivered{

    background:#dcfce7;

    color:#15803d;

}


.transit{

    background:#dbeafe;

    color:#1d4ed8;

}


.pending{

    background:#fef3c7;

    color:#b45309;

}

.status.entregue{
    background:#dcfce7;
    color:#15803d;
}

.status.transito,
.status.coletado,
.status.aceita{
    background:#dbeafe;
    color:#1d4ed8;
}

.status.aguardando_entregador{
    background:#fef3c7;
    color:#b45309;
}

.status.cancelada{
    background:#fee2e2;
    color:#b91c1c;
}


.empty-card{

    background:white;

    border-radius:24px;

    padding:40px 20px;

    text-align:center;

}


.empty-card i{

    font-size:48px;

    color:#94a3b8;

    margin-bottom:16px;

}


.empty-card strong{

    display:block;

    color:var(--text);

    margin-bottom:8px;

}


.empty-card p{

    color:var(--muted);

    font-size:14px;

}


.alert-error{

    background:#7f1d1d;

    color:white;

    border-radius:12px;

    padding:12px;

    margin-bottom:18px;

    font-size:14px;

}

/* =========================
   9 - LOGIN
========================= */


.login-body{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    radial-gradient(
        circle at top right,
        rgba(0,102,255,.28),
        transparent 35%
    ),
    linear-gradient(
        135deg,
        #020617,
        #06111f,
        #0f172a
    );

    padding:20px;

}


.login-container{

    width:100%;

    max-width:420px;

    background:rgba(2,6,23,.92);

    border:1px solid rgba(255,255,255,.08);

    border-radius:28px;

    padding:38px;

    box-shadow:0 25px 70px rgba(0,0,0,.45);

}


.login-logo{

    text-align:center;

    margin-bottom:34px;

}


.login-logo h1{

    color:white;

    font-size:38px;

    font-weight:900;

    letter-spacing:-1px;

}


.login-logo span{

    color:#0b84ff;

}


.login-logo p{

    color:#94a3b8;

    font-size:13px;

    text-transform:uppercase;

    margin-top:8px;

    letter-spacing:1px;

}


.login-form h2{

    color:white;

    font-size:23px;

    margin-bottom:24px;

}


.form-group{

    margin-bottom:18px;

}


.form-group label{

    display:block;

    color:#cbd5e1;

    font-size:14px;

    margin-bottom:8px;

}


.input-box{

    height:54px;

    border-radius:15px;

    background:#0f172a;

    border:1px solid #1e293b;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 16px;

}


.input-box i{

    color:#64748b;

}


.input-box input{

    width:100%;

    border:0;

    outline:0;

    background:transparent;

    color:white;

    font-size:15px;

}


.btn-login{

    width:100%;

    height:56px;

    border:0;

    border-radius:15px;

    background:var(--blue);

    color:white;

    font-weight:800;

    font-size:16px;

    cursor:pointer;

    margin-top:8px;

}



/* =========================
   10 - PAINEL CLIENTE
========================= */


.map-area{

    height:330px;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,.78),
        rgba(240,244,248,.94)
    ),
    repeating-linear-gradient(
        45deg,
        transparent 0,
        transparent 28px,
        rgba(148,163,184,.35) 29px,
        rgba(148,163,184,.35) 31px
    ),
    repeating-linear-gradient(
        -45deg,
        transparent 0,
        transparent 34px,
        rgba(203,213,225,.45) 35px,
        rgba(203,213,225,.45) 37px
    );

    position:relative;

    overflow:hidden;

}

.register-container{
    max-width:760px;
}

.pending-container{
    max-width:520px;
}

.form-grid-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.input-box select,
.input-box input[type="file"]{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:white;
    font-size:15px;
}

.input-box select option{
    color:#111827;
}

.file-box{
    min-height:48px;
}

.form-help{
    display:block;
    margin-top:7px;
    color:#94a3b8;
    font-size:12px;
    line-height:1.35;
}

.terms-check{
    margin:4px 0 18px;
    display:flex;
    gap:10px;
    color:#cbd5e1;
    font-size:13px;
    line-height:1.4;
}

.terms-check input{
    margin-top:2px;
    flex:0 0 auto;
}

.terms-check a,
.register-links a{
    color:#38bdf8;
    font-weight:800;
    text-decoration:none;
}

.register-links{
    margin-top:18px;
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
    font-size:13px;
}

.pending-card{
    padding:24px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(15,23,42,.72);
    text-align:center;
}

.pending-card i{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#0b84ff;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.pending-card h2{
    margin:16px 0 8px;
    color:#fff;
    font-size:24px;
}

.pending-card p,
.pending-card span{
    color:#cbd5e1;
    line-height:1.45;
}

.pending-card span{
    display:block;
    margin-top:14px;
    font-weight:900;
}

.pending-logout{
    margin-top:18px;
    text-decoration:none;
}

.terms-body{
    min-height:100vh;
    background:#f5f7fb;
    color:#162033;
}

.terms-page{
    width:min(920px, calc(100% - 32px));
    margin:0 auto;
    padding:34px 0 56px;
}

.terms-logo{
    width:190px;
    height:auto;
    display:block;
    margin-bottom:20px;
}

.terms-page h1{
    font-size:32px;
    color:#06111f;
}

.terms-version{
    margin:8px 0 24px;
    color:#68758a;
    font-weight:800;
}

.terms-page section{
    margin-top:16px;
    padding:20px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
}

.terms-page h2{
    margin:0 0 8px;
    font-size:18px;
}

.terms-page p{
    margin:8px 0 0;
    color:#475569;
    line-height:1.55;
}

.home-map-area{
    background:#eef2f7;
}

.home-map,
.home-map-fallback{
    width:100%;
    height:100%;
}

.home-map-fallback{
    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,.78),
        rgba(240,244,248,.94)
    ),
    repeating-linear-gradient(
        45deg,
        transparent 0,
        transparent 28px,
        rgba(148,163,184,.35) 29px,
        rgba(148,163,184,.35) 31px
    ),
    repeating-linear-gradient(
        -45deg,
        transparent 0,
        transparent 34px,
        rgba(203,213,225,.45) 35px,
        rgba(203,213,225,.45) 37px
    );
    position:relative;
}

.home-map-dot{
    width:18px;
    height:18px;
    border:4px solid white;
    border-radius:50%;
    background:#126bff;
    box-shadow:0 0 0 14px rgba(18,107,255,.15);
    position:absolute;
    left:50%;
    top:42%;
    transform:translate(-50%, -50%);
}

.home-locate-button{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:white;
    color:#162033;
    box-shadow:0 10px 22px rgba(15,23,42,.18);
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:16px;
    bottom:82px;
    z-index:4;
    cursor:pointer;
}

.home-location-pill{
    min-height:32px;
    max-width:calc(100% - 32px);
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#334155;
    box-shadow:0 8px 18px rgba(15,23,42,.14);
    font-size:12px;
    font-weight:800;
    position:absolute;
    left:16px;
    bottom:84px;
    z-index:4;
}


.route-line{

    position:absolute;

    width:155px;

    height:110px;

    left:120px;

    top:68px;

    border-left:8px solid #0575e6;

    border-bottom:8px solid #0575e6;

    border-radius:0 0 0 45px;

    transform:rotate(-35deg);

}


.pin{

    position:absolute;

    display:flex;

    align-items:center;

    justify-content:center;

}


.pin-start{

    width:38px;

    height:38px;

    border-radius:50%;

    background:#0575e6;

    box-shadow:0 0 0 18px rgba(5,117,230,.18);

    color:white;

    left:118px;

    top:60px;

    font-size:13px;

}


.pin-end{

    width:52px;

    height:52px;

    background:var(--dark);

    color:white;

    border-radius:50% 50% 50% 10px;

    transform:rotate(-45deg);

    right:82px;

    top:145px;

    font-size:22px;

}


.pin-end i{

    transform:rotate(45deg);

}


.delivery-card{

    margin:-58px 18px 0;

    background:white;

    border-radius:24px;

    padding:20px;

    position:relative;

    z-index:5;

    box-shadow:0 12px 35px rgba(15,23,42,.16);

}

.home-delivery-card{
    border-radius:20px;
    padding:16px;
}


.delivery-card h2{

    font-size:19px;

    color:var(--text);

    margin-bottom:16px;

}


.home-delivery-form{

    width:100%;

}


.search-box{

    height:56px;

    background:#f8fafc;

    border:1px solid var(--border);

    border-radius:18px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 14px;

    margin-bottom:16px;

}


.search-box i{

    color:#0575e6;

}


.search-box input{

    width:100%;

    border:0;

    outline:0;

    background:transparent;

    font-size:14px;

    color:var(--text);

}

.pac-container{
    z-index:999999 !important;
    border:1px solid #dce4ef;
    border-radius:14px;
    box-shadow:0 18px 38px rgba(15,23,42,.18);
    overflow:hidden;
    font-family:Arial, sans-serif;
}

.pac-item{
    min-height:44px;
    padding:8px 12px;
    cursor:pointer;
}

.pac-item:hover{
    background:#f1f5f9;
}

.pac-item-query{
    color:#162033;
    font-size:14px;
    font-weight:800;
}


.quick-actions{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:10px;

}


.quick-card{

    text-decoration:none;

    color:var(--text);

    border:1px solid var(--border);

    border-radius:16px;

    padding:14px 8px;

    min-height:92px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:white;

    cursor:pointer;

}


button.quick-card{

    appearance:none;

    border:1px solid var(--border);

}


.quick-card.active{

    border:2px solid var(--text);

}


.quick-card i{

    font-size:23px;

    margin-bottom:9px;

}


.quick-card strong{

    font-size:12px;

    line-height:1.2;

}


.quick-card span{

    font-size:10px;

    color:var(--muted);

    margin-top:4px;

}


.recent-section{

    width:100%;

    padding:22px 18px 0;

    display:block;

    position:relative;

    z-index:5;

}


.section-title{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:12px;

}


.section-title h3{

    font-size:18px;

    color:var(--text);

}


.section-title a{

    color:var(--blue);

    text-decoration:none;

    font-size:13px;

}


.recent-list{

    display:flex;

    flex-direction:column;

    gap:10px;

}


.recent-card{

    width:100%;

    background:white;

    border-radius:18px;

    padding:14px;

    display:flex;

    align-items:center;

    gap:12px;

    box-shadow:0 8px 22px rgba(15,23,42,.08);

}


.recent-icon{

    width:42px;

    height:42px;

    border-radius:12px;

    background:var(--dark);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}


.recent-info{

    flex:1;

    min-width:0;

    overflow:hidden;

}


.recent-info strong,
.recent-info span{

    display:block;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}


.recent-info strong{

    font-size:13px;

    color:var(--text);

}


.recent-info span{

    font-size:12px;

    color:var(--muted);

}



/* =========================
   11 - FORMULÁRIOS
========================= */


.delivery-form{

    width:100%;

    display:flex;

    flex-direction:column;

    gap:10px;

}


.form-card{

    background:white;

    border-radius:20px;

    padding:16px;

    box-shadow:0 10px 25px rgba(15,23,42,.08);

}


.form-card h3{

    font-size:16px;

    color:var(--text);

    margin-bottom:10px;

}


.input-group{

    height:52px;

    border-radius:16px;

    background:#f1f5f9;

    border:1px solid var(--border);

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 16px;

}


.input-group i{

    color:var(--blue);

}


.input-group input{

    width:100%;

    border:0;

    outline:0;

    background:transparent;

    font-size:14px;

}


.select-box{

    margin-bottom:10px;

}


.select-box label,
.textarea-box label{

    display:block;

    margin-bottom:8px;

    font-size:13px;

    color:var(--muted);

}


.select-box select{

    width:100%;

    height:50px;

    border-radius:14px;

    border:1px solid var(--border);

    padding:0 14px;

    background:#f8fafc;

}


.textarea-box textarea{

    width:100%;

    height:90px;

    resize:none;

    border-radius:16px;

    border:1px solid var(--border);

    padding:14px;

    background:#f8fafc;

    outline:none;

}


.price-card{

    background:var(--dark);

    color:white;

    border-radius:20px;

    padding:18px 20px;

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:12px;

    flex-wrap:wrap;

}


.price-card span{

    color:#cbd5e1;

}


.price-card strong{

    font-size:25px;

}

.price-card small{

    width:100%;

    color:#cbd5e1;

    font-size:12px;

    font-weight:700;

}


.delivery-form .confirm-button{

    width:100%;

    margin:0;

}

.delivery-map-card{
    overflow:hidden;
}

.delivery-map-panel{
    margin-top:16px;
}

.delivery-map{
    width:100%;
    height:280px;
    border:1px solid #dce4ef;
    border-radius:8px;
}

.delivery-map-card .delivery-map{
    height:230px;
}

.delivery-map-empty{
    min-height:180px;
    padding:20px;
    border:1px dashed #b8c5d6;
    border-radius:8px;
    background:#f8fafc;
    color:#68758a;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:14px;
    font-weight:800;
}

.delivery-map-error{
    padding:20px;
    background:#fff7ed;
    color:#9a3412;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:14px;
    font-weight:900;
}

.delivery-map-note{
    display:block;
    margin-top:10px;
    color:#68758a;
    font-size:12px;
    font-weight:800;
}

.tracking-map{
    width:100%;
    height:260px;
    border:1px solid #dce4ef;
    border-radius:8px;
}

.tracking-bottom-sheet{
    margin-top:-22px;
    padding:14px;
    border:1px solid #e4eaf2;
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 34px rgba(15,23,42,.16);
    position:relative;
    z-index:8;
    display:grid;
    grid-template-columns:52px 1fr 46px;
    align-items:center;
    gap:12px;
}

.tracking-bottom-sheet .driver-avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#e8f1ff;
    color:#0b78f0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

.tracking-bottom-sheet .driver-info{
    min-width:0;
}

.tracking-bottom-sheet .driver-info strong,
.tracking-bottom-sheet .driver-info span,
.tracking-bottom-sheet .driver-info small{
    display:block;
}

.tracking-bottom-sheet .driver-info strong{
    color:#162033;
    font-size:15px;
    font-weight:900;
}

.tracking-bottom-sheet .driver-info span{
    margin-top:3px;
    color:#475569;
    font-size:13px;
    font-weight:800;
}

.tracking-bottom-sheet .driver-info small{
    margin-top:3px;
    color:#68758a;
    font-size:12px;
    font-weight:800;
}

.tracking-bottom-sheet .call-button{
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#0b78f0;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 12px 22px rgba(11,120,240,.24);
}

.active-route-panel{
    margin:14px 0;
    padding:14px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#eff6ff;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.active-route-panel span,
.active-route-panel small{
    color:#5f6f86;
    font-size:12px;
    font-weight:800;
}

.active-route-panel strong{
    display:block;
    margin-top:3px;
    color:#0b78f0;
    font-size:14px;
    font-weight:900;
}

.active-route-panel small{
    grid-column:1 / -1;
}

.saved-address-strip{
    padding:16px 20px;
    border-bottom:1px solid #edf1f6;
}

.saved-address-strip > span{
    display:block;
    margin-bottom:10px;
    color:#68758a;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.saved-address-strip > div,
.saved-address-list{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:10px;
}

.saved-address-chip{
    width:100%;
    min-width:0;
    max-width:none;
    padding:12px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    color:#162033;
    text-align:left;
    cursor:pointer;
}

.saved-address-chip strong,
.saved-address-chip small{
    display:block;
}

.saved-address-chip strong{
    font-size:13px;
    font-weight:900;
}

.saved-address-chip small{
    margin-top:4px;
    color:#68758a;
    font-size:12px;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.saved-address-panel{
    margin-top:18px;
}

.saved-address-grid{
    padding:18px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}

.saved-address-card{
    padding:14px;
    border:1px solid #e4eaf2;
    border-radius:8px;
    background:#fff;
}

.saved-address-card span{
    color:#0b78f0;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.saved-address-card strong{
    display:block;
    margin-top:6px;
    color:#162033;
    font-size:14px;
}

.saved-address-card p{
    margin:6px 0 0;
    color:#68758a;
    font-size:13px;
    line-height:1.35;
}

.saved-mobile-section{
    padding:0 18px 18px;
}

.saved-mobile-list{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}

.saved-mobile-card{
    width:100%;
    padding:12px;
    border:1px solid #e4eaf2;
    border-radius:16px;
    background:#fff;
    color:#162033;
    text-decoration:none;
    display:flex;
    gap:10px;
    align-items:flex-start;
}

.saved-mobile-card i{
    color:#0b78f0;
    margin-top:2px;
}

.saved-mobile-card strong,
.saved-mobile-card small{
    display:block;
}

.saved-mobile-card strong{
    font-size:13px;
    font-weight:900;
}

.saved-mobile-card small{
    margin-top:4px;
    color:#68758a;
    font-size:12px;
    line-height:1.25;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.address-manager-panel{
    margin-bottom:18px;
}

.address-manager-form{
    padding:18px;
    display:grid;
    grid-template-columns:1fr 180px;
    gap:14px;
    align-items:end;
}

.address-manager-form.compact{
    padding:0;
    grid-template-columns:1fr 160px;
}

.address-manager-wide{
    grid-column:1 / -1;
}

.address-manager-list{
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.address-manager-card{
    border:1px solid #e4eaf2;
    border-radius:8px;
    padding:14px;
    background:#fff;
}

.address-manager-actions{
    display:flex;
    justify-content:flex-start;
}

.address-delete-form{
    margin-top:10px;
}

.operator-danger-btn{
    min-height:42px;
    padding:0 14px;
    border:0;
    border-radius:8px;
    background:#fee2e2;
    color:#b91c1c;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

/* =========================
   12 - LISTAS DE ENTREGAS
========================= */


.tabs{

    display:flex;

    gap:10px;

    margin-bottom:18px;

    overflow:auto;

}


.tab{

    border:0;

    background:white;

    border-radius:14px;

    padding:10px 16px;

    font-size:13px;

    font-weight:700;

    color:var(--muted);

    white-space:nowrap;

}


.tab.active{

    background:var(--blue);

    color:white;

}


.envios-list{

    display:flex;

    flex-direction:column;

    gap:12px;

}


.envio-card{

    background:white;

    border-radius:22px;

    padding:18px;

    text-decoration:none;

    box-shadow:0 10px 25px rgba(15,23,42,.08);

}


.envio-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-bottom:16px;

}


.envio-header strong{

    color:var(--text);

    font-size:15px;

}


.envio-address{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:10px;

    color:var(--muted);

    font-size:14px;

}


.envio-address i{

    color:var(--blue);

}



/* =========================
   13 - DETALHES / TIMELINE
========================= */


.tracking-card{

    background:white;

    border-radius:24px;

    padding:20px;

    box-shadow:0 10px 25px rgba(15,23,42,.08);

    margin-bottom:18px;

}


.tracking-top{

    background:#f8fafc;

    border:1px solid var(--border);

    border-radius:16px;

    padding:16px;

    margin-bottom:22px;

}


.tracking-top span{

    display:block;

    color:var(--muted);

    font-size:13px;

    margin-bottom:4px;

}


.tracking-top strong{

    color:var(--blue);

    font-size:18px;

}


.timeline{

    position:relative;

    display:flex;

    flex-direction:column;

    gap:24px;

}


.timeline::before{

    content:"";

    position:absolute;

    left:16px;

    top:0;

    bottom:0;

    width:2px;

    background:#d1d5db;

}


.timeline-item{

    position:relative;

    display:flex;

    align-items:flex-start;

    gap:16px;

    z-index:2;

}


.timeline-icon{

    width:34px;

    height:34px;

    border-radius:50%;

    background:#d1d5db;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}


.timeline-item.done .timeline-icon{

    background:#22c55e;

    color:white;

}


.timeline-item.active .timeline-icon{

    background:var(--blue);

    color:white;

}


.timeline-info{

    flex:1;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

}


.timeline-info strong{

    color:var(--text);

    font-size:15px;

}


.timeline-info span{

    color:var(--muted);

    font-size:13px;

}


.detail-card{

    background:white;

    border-radius:22px;

    padding:18px;

    box-shadow:0 10px 25px rgba(15,23,42,.08);

    margin-bottom:16px;

}


.detail-card h3{

    font-size:17px;

    color:var(--text);

    margin-bottom:14px;

}


.detail-row{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:14px;

}


.detail-row:last-child{

    margin-bottom:0;

}


.detail-row i{

    color:var(--blue);

    margin-top:4px;

}


.detail-row span,
.info-grid span{

    display:block;

    color:var(--muted);

    font-size:12px;

    margin-bottom:4px;

}


.detail-row strong,
.info-grid strong{

    color:var(--text);

    font-size:14px;

}


.info-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

}


.detail-text{

    color:#475569;

    font-size:14px;

    line-height:1.5;

}


.detalhes-page .bottom-nav{

    display:none;

}



/* =========================
   14 - ENTREGADOR
========================= */


.driver-status-card.option-five{

    background:white;

    border-radius:24px;

    padding:16px;

    margin-top:16px;

    box-shadow:0 14px 30px rgba(15,23,42,.08);

    display:grid;

    grid-template-columns:52px 1fr 116px;

    gap:12px;

    align-items:center;

}


.status-circle{

    width:52px;

    height:52px;

    border-radius:50%;

    background:var(--green);

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    box-shadow:0 0 0 12px rgba(22,163,74,.12);

}


.status-circle.offline{

    background:#94a3b8;

    box-shadow:0 0 0 12px rgba(148,163,184,.15);

}


.driver-status-info span{

    display:block;

    color:var(--muted);

    font-size:12px;

    margin-bottom:4px;

}


.driver-status-info strong{

    display:block;

    font-size:22px;

    font-weight:900;

}


.driver-status-info small{

    display:block;

    color:#475569;

    font-size:12px;

    white-space:nowrap;

}


.online-text{

    color:var(--green);

}


.offline-text{

    color:#334155;

}


.status-toggle-btn{

    width:116px;

    height:44px;

    border-radius:14px;

    text-decoration:none;

    font-weight:800;

    font-size:13px;

    display:flex;

    align-items:center;

    justify-content:center;

    justify-self:end;

}


.status-toggle-btn.outline{

    background:white;

    color:#334155;

    border:1px solid #cbd5e1;

}


.status-toggle-btn.online{

    background:var(--blue);

    color:white;

}


.driver-summary-card{

    background:white;

    border-radius:22px;

    padding:16px;

    margin-top:16px;

    box-shadow:0 14px 30px rgba(15,23,42,.08);

    display:grid;

    gap:14px;

}


.summary-box{

    display:flex;

    align-items:center;

    gap:12px;

}


.summary-box span{

    display:block;

    color:var(--muted);

    font-size:13px;

    margin-bottom:4px;

}


.summary-box strong{

    color:#020617;

    font-size:22px;

    font-weight:900;

}


.summary-icon{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#eaf7ef;

    color:#15803d;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    flex-shrink:0;

}


.status-pill{

    display:inline-flex;

    align-items:center;

    gap:8px;

    background:#e8f1ff;

    color:#0b78f0;

    padding:8px 14px;

    border-radius:999px;

    font-size:14px;

}


.driver-section-title{

    margin-top:24px;

    margin-bottom:12px;

}


.driver-section-title h2{

    font-size:24px;

    color:#020617;

}


.driver-section-title p{

    color:var(--muted);

    font-size:14px;

    margin-top:4px;

}


.driver-action-list{

    display:flex;

    flex-direction:column;

    gap:12px;

}


.driver-action-card{

    min-height:78px;

    border-radius:18px;

    background:white;

    border:1px solid #bfdbfe;

    box-shadow:0 10px 22px rgba(15,23,42,.06);

    padding:13px;

    display:grid;

    grid-template-columns:48px 1fr 18px;

    align-items:center;

    gap:12px;

    text-decoration:none;

}


.driver-action-card strong{

    display:block;

    color:#0b78f0;

    font-size:15px;

    font-weight:900;

    margin-bottom:3px;

}


.driver-action-card span{

    display:block;

    color:var(--muted);

    font-size:13px;

    line-height:1.3;

}


.action-icon{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#e8f1ff;

    color:#0b78f0;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

}


.action-arrow{

    color:#0b78f0;

    font-size:16px;

}


.driver-action-card.success{

    border-color:#bbf7d0;

    background:#f0fdf4;

}


.driver-action-card.success strong,
.driver-action-card.success .action-arrow{

    color:#15803d;

}


.action-icon.success{

    background:#dcfce7;

    color:#15803d;

}

.driver-action-card.route{

    border-color:#fde68a;

    background:#fffbeb;

}

.driver-action-card.route strong,
.driver-action-card.route .action-arrow{

    color:#b45309;

}

.action-icon.route{

    background:#fef3c7;

    color:#b45309;

}

.driver-location-alert{

    margin:14px 0 0;

    padding:13px;

    border:1px solid #fed7aa;

    border-radius:14px;

    background:#fff7ed;

    color:#9a3412;

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:13px;

    font-weight:800;

    line-height:1.35;

}


.delivery-footer{

    margin-top:18px;

    padding-top:14px;

    border-top:1px solid var(--border);

}


.delivery-footer a{

    height:44px;

    color:#475569;

    text-decoration:none;

    display:flex;

    align-items:center;

    justify-content:space-between;

    font-size:14px;

    font-weight:700;

}


.delivery-footer i{

    color:#94a3b8;

    font-size:14px;

}

.envio-card-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.envio-card-actions a{
    height:46px;
    justify-content:center;
    border:1px solid #dbe4ef;
    border-radius:12px;
    padding:0 12px;
    background:#f8fafc;
}

.envio-card-actions a.envio-action-primary{
    border-color:#0b78f0;
    background:#0b78f0;
    color:#fff;
}

.envio-card-actions a.envio-action-primary i{
    color:#fff;
}

.envio-card-actions a:only-child{
    grid-column:1 / -1;
}



/* =========================
   15 - HISTÓRICO
========================= */


.history-summary{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

    margin-top:16px;

    margin-bottom:18px;

}


.history-summary div{

    background:white;

    border-radius:20px;

    padding:16px;

    box-shadow:0 12px 25px rgba(15,23,42,.06);

}


.history-summary span{

    display:block;

    color:var(--muted);

    font-size:13px;

    margin-bottom:6px;

}


.history-summary strong{

    font-size:22px;

    color:#020617;

    font-weight:900;

}


.history-card{

    background:white;

    border-radius:20px;

    padding:14px;

    display:grid;

    grid-template-columns:46px 1fr auto;

    gap:12px;

    align-items:center;

    text-decoration:none;

    box-shadow:0 12px 25px rgba(15,23,42,.06);

}


.history-icon{

    width:46px;

    height:46px;

    border-radius:50%;

    background:#dcfce7;

    color:var(--green);

    display:flex;

    align-items:center;

    justify-content:center;

}


.history-info strong{

    display:block;

    color:#020617;

    font-size:15px;

    margin-bottom:4px;

}


.history-info span{

    display:block;

    color:#475569;

    font-size:13px;

}


.history-info small{

    display:block;

    color:#94a3b8;

    font-size:12px;

    margin-top:3px;

}


.history-value{

    color:var(--green);

    font-weight:900;

    font-size:15px;

}



/* =========================
   16 - RESPONSIVO
========================= */


@media(max-width:600px){

    .app-body{

        padding:0;

        align-items:flex-start;

    }


    .app-shell{

        width:100%;

        max-width:100%;

        height:100vh;
        height:100dvh;

        border-radius:0;

        box-shadow:none;

    }


    .bottom-nav{

        border-radius:0;

    }

}


/* =========================
   AJUSTES POR TELA
========================= */


.painel-page .app-shell {
    position: relative;
}

.painel-page .page-content {
    min-height: calc(860px - 78px - 76px);
    padding-bottom: calc(96px + var(--bottom-nav-safe-bottom));
}

.painel-page .bottom-nav {
    position: fixed;
}

.historico-page .app-shell {
    position: relative;
}

.historico-page .page-content {
    min-height: calc(860px - 78px - 76px);
    padding-bottom: calc(96px + var(--bottom-nav-safe-bottom));
}

.historico-page .bottom-nav {
    position: fixed;
}

.envios-page .app-shell {
    position: relative;
}

.envios-page .page-content {
    min-height: calc(860px - 78px - 76px);
    padding-bottom: calc(96px + var(--bottom-nav-safe-bottom));
}

.envios-page .bottom-nav {
    position: fixed;
}

.saved-address-mobile-card {
    background:#fff;
    border-radius:24px;
    padding:18px;
    margin-bottom:18px;
    box-shadow:0 16px 36px rgba(15,23,42,.08);
}

.saved-address-mobile-card summary,
.saved-address-mobile-edit summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    cursor:pointer;
    color:#06111f;
    font-weight:900;
}

.saved-address-mobile-card summary::-webkit-details-marker,
.saved-address-mobile-edit summary::-webkit-details-marker{
    display:none;
}

.saved-address-mobile-card[open] summary{
    margin-bottom:14px;
}

.saved-address-mobile-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.saved-address-mobile-head strong{
    display:block;
    color:#06111f;
    font-size:18px;
}

.saved-address-mobile-head span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.saved-address-mobile-head i{
    width:36px;
    height:36px;
    border-radius:12px;
    background:#eaf3ff;
    color:#0b73e8;
    display:flex;
    align-items:center;
    justify-content:center;
}

.saved-address-mobile-text{
    margin:12px 0;
    color:#40506a;
    font-size:14px;
    line-height:1.4;
}

.saved-address-mobile-edit{
    border-top:1px solid #edf1f6;
    padding-top:12px;
}

.saved-address-mobile-edit[open] summary{
    margin-bottom:12px;
}

.address-delete-form{
    margin-top:10px;
}

.form-card .input-group{

    margin-bottom:10px;

}

.input-group input[type="file"]{

    padding-top:14px;

    font-size:12px;

}

.proof-box{

    width:100%;

    margin-top:16px;

    padding:10px;

    border:1px solid var(--border);

    border-radius:18px;

    background:#f8fafc;

}

.proof-box span{

    display:block;

    margin-bottom:8px;

    color:var(--muted);

    font-size:12px;

    font-weight:700;

}

.proof-box a{

    display:block;

    text-decoration:none;

}

.proof-image{

    width:100%;

    height:260px;

    display:block;

    border-radius:14px;

    background:#e5e7eb;

    object-fit:contain;

}

.entregador-app .app-shell{

    display:flex;

    flex-direction:column;

}

.entregador-app .app-header{

    flex-shrink:0;

}

.entregador-app .page-content{

    flex:1;

    min-height:auto !important;

    padding-bottom:calc(96px + var(--bottom-nav-safe-bottom)) !important;

}

.entregador-app .bottom-nav{

    position:fixed !important;

    bottom:0;

}

.operador-app .app-shell{

    display:flex;

    flex-direction:column;

}

.operador-app .app-header{

    flex-shrink:0;

}

.operador-app .page-content{

    flex:1;

    min-height:auto !important;

    padding-bottom:calc(96px + var(--bottom-nav-safe-bottom)) !important;

}

.operador-app .bottom-nav{

    position:fixed !important;

    bottom:0;

}

.operator-pix-card{

    margin-top:14px;

    margin-bottom:0;

    box-shadow:none;

    background:#f8fafc;

}

.operator-action-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;

    margin-top:14px;

}

.operator-action-btn{

    width:100%;

    height:48px;

    border:0;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    color:white;

    font-weight:800;

    cursor:pointer;

}

.operator-action-btn.approve{

    background:var(--green);

}

.operator-action-btn.reject{

    background:var(--red);

}

.operator-client-form{

    display:block;

}

.operator-check-row{

    min-height:44px;

    display:flex;

    align-items:center;

    gap:10px;

    margin:14px 0 10px;

    color:var(--text);

    font-size:14px;

    font-weight:800;

}

.operator-check-row input{

    width:18px;

    height:18px;

}

.operator-driver-list{

    margin:12px 0 14px;

    padding:12px;

    border:1px solid var(--border);

    border-radius:16px;

    background:#f8fafc;

    display:flex;

    flex-direction:column;

    gap:8px;

}

.operator-driver-list > span{

    color:var(--muted);

    font-size:12px;

    font-weight:800;

}

.operator-driver-list label{

    display:flex;

    align-items:center;

    gap:8px;

    color:var(--text);

    font-size:14px;

}

.operator-driver-list input{

    width:16px;

    height:16px;

}

/* Area operacional web */

.operator-web-body{
    margin:0;
    min-height:100vh;
    background:#f3f6fb;
    color:#162033;
    font-family:Inter, Arial, sans-serif;
}

.operator-web-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
}

.operator-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    padding:28px 20px 18px;
    background:#081423;
    color:#fff;
    display:flex;
    flex-direction:column;
    gap:20px;
    overflow:hidden;
}

.operator-logo strong{
    display:block;
    font-size:22px;
    letter-spacing:0;
}

.operator-logo span{
    color:#20d26b;
}

.operator-logo small{
    display:block;
    margin-top:6px;
    color:#aab7c8;
    font-size:13px;
    font-weight:700;
}

.operator-logo{
    flex-shrink:0;
}

.operator-nav{
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding-right:4px;
}

.operator-nav::-webkit-scrollbar{
    width:6px;
}

.operator-nav::-webkit-scrollbar-thumb{
    background:#1d3552;
    border-radius:999px;
}

.operator-nav-group{
    border:1px solid rgba(148,163,184,.16);
    border-radius:12px;
    background:rgba(255,255,255,.03);
}

.operator-nav-group summary{
    min-height:42px;
    padding:0 12px;
    color:#8ea0b8;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    list-style:none;
}

.operator-nav-group summary::-webkit-details-marker{
    display:none;
}

.operator-nav-group summary i{
    font-size:11px;
    transition:transform .18s ease;
}

.operator-nav-group[open] summary i{
    transform:rotate(180deg);
}

.operator-nav-group[open]{
    padding-bottom:6px;
}

.operator-nav a{
    min-height:46px;
    padding:0 14px;
    border-radius:8px;
    color:#c9d4e3;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    font-weight:800;
}

.operator-nav-group a{
    margin:0 6px 4px;
}

.operator-nav a:hover,
.operator-nav a.active{
    background:#10243c;
    color:#fff;
}

.operator-nav-footer{
    margin-top:auto;
    padding-top:10px;
}

.operator-nav .exit-link{
    color:#ffb4b4;
}

.operator-main{
    min-width:0;
    padding:30px;
}

.operator-topbar{
    margin-bottom:24px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.operator-topbar h1{
    margin:0;
    color:#162033;
    font-size:28px;
    line-height:1.15;
}

.operator-topbar p{
    margin:8px 0 0;
    color:#68758a;
    font-size:15px;
}

.operator-user{
    min-height:42px;
    padding:0 12px 0 16px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:12px;
    color:#162033;
    font-size:14px;
    font-weight:800;
}

.operator-user a{
    color:#69788d;
}

.operator-alert{
    margin:0 0 16px;
    padding:14px 16px;
    border:1px solid #b9e6c9;
    border-radius:8px;
    background:#eefaf2;
    color:#126b32;
    font-size:14px;
    font-weight:800;
}

.operator-metrics{
    margin-bottom:22px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
    gap:16px;
}

.operator-metrics article,
.operator-panel,
.operator-client-card{
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 10px 24px rgba(8, 20, 35, .05);
}

.operator-metrics article{
    padding:18px;
}

.operator-metrics span{
    display:block;
    color:#68758a;
    font-size:13px;
    font-weight:800;
}

.operator-metrics strong{
    display:block;
    margin-top:8px;
    color:#162033;
    font-size:30px;
    line-height:1;
}

.operator-metric-warning{
    border-left:4px solid #f59e0b;
}

.operator-metric-danger{
    border-left:4px solid #ef4444;
}

.operator-alert-strip{
    margin:-6px 0 22px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:14px;
}

.operator-alert-strip article{
    border:1px solid #ffd7a8;
    border-radius:8px;
    background:#fff8ed;
    padding:14px 16px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.operator-alert-strip strong{
    color:#172033;
    font-size:15px;
}

.operator-alert-strip span{
    color:#5f6c80;
    font-size:13px;
    line-height:1.45;
}

.operator-alert-strip a{
    color:#0b73e8;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.operator-grid-two{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

.operator-panel{
    overflow:hidden;
}

.operator-map-panel{
    margin-bottom:18px;
}

.operator-live-map{
    width:100%;
    height:420px;
    background:#eef3f9;
}

.operator-panel-header{
    padding:18px 20px;
    border-bottom:1px solid #e4eaf2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.operator-panel-header h2{
    margin:0;
    color:#162033;
    font-size:18px;
}

.operator-panel-header p{
    margin:6px 0 0;
    color:#68758a;
    font-size:13px;
}

.operator-panel-header a{
    color:#0b73e8;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

.operator-table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
}

.operator-table th,
.operator-table td{
    padding:14px 18px;
    border-bottom:1px solid #edf1f6;
    text-align:left;
    vertical-align:middle;
    color:#162033;
    font-size:14px;
}

.operator-table th{
    background:#f8fafd;
    color:#68758a;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.operator-table tr:last-child td{
    border-bottom:0;
}

.operator-table td small{
    display:block;
    margin-top:4px;
    color:#68758a;
    font-size:12px;
}

.operator-table a{
    color:#0b73e8;
    font-weight:900;
    text-decoration:none;
}

.operator-wide-table td{
    max-width:260px;
}

.operator-pix-cell{
    max-width:260px;
    word-break:break-word;
}

.operator-status{
    display:inline-flex;
    min-height:26px;
    padding:0 10px;
    border-radius:999px;
    align-items:center;
    background:#eef2f7;
    color:#536274;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.operator-status.aprovado{
    background:#e8f8ee;
    color:#15803d;
}

.operator-status.pendente{
    background:#fff7db;
    color:#9a6500;
}

.operator-status.recusado{
    background:#ffe9e9;
    color:#b42318;
}
.operator-status.ok{
    background:#e8f8ee;
    color:#15803d;
}
.operator-status.aviso{
    background:#fff7db;
    color:#9a6500;
}
.operator-status.erro{
    background:#ffe9e9;
    color:#b42318;
}

.operator-toolbar{
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:10px;
}

.operator-filter-toolbar{
    flex-wrap:wrap;
}

.operator-toolbar button,
.operator-primary-btn,
.operator-table-action{
    min-height:42px;
    border:0;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    cursor:pointer;
    font-weight:900;
    font-size:14px;
}

.operator-toolbar button,
.operator-primary-btn{
    padding:0 16px;
    background:#0b73e8;
    color:#fff;
}

.operator-secondary-btn{
    min-height:42px;
    padding:0 16px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    color:#536274;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

.operator-search{
    min-height:42px;
    width:min(440px, 100%);
    padding:0 12px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:10px;
    color:#68758a;
}

.operator-search.compact{
    width:280px;
}

.operator-search input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#162033;
    font-size:14px;
}

.operator-client-list{
    padding:18px;
    display:grid;
    gap:16px;
}

.operator-client-card{
    padding:18px;
}

.operator-client-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.operator-client-head strong{
    display:block;
    color:#162033;
    font-size:17px;
}

.operator-client-head span{
    display:block;
    margin-top:4px;
    color:#68758a;
    font-size:13px;
}

.approval-list{
    padding:18px;
    display:grid;
    gap:16px;
}

.approval-card{
    padding:18px;
    border:1px solid #edf1f6;
    border-radius:12px;
    background:#fff;
}

.approval-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.approval-card-head strong{
    display:block;
    color:#162033;
    font-size:18px;
}

.approval-card-head span{
    display:block;
    margin-top:4px;
    color:#68758a;
    font-size:13px;
}

.approval-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(130px,1fr));
    gap:12px;
    margin-bottom:16px;
}

.approval-grid div{
    padding:12px;
    border-radius:10px;
    background:#f8fafd;
}

.approval-grid span,
.approval-document small{
    display:block;
    color:#68758a;
    font-size:12px;
}

.approval-grid strong{
    display:block;
    margin-top:4px;
    color:#162033;
    font-size:14px;
}

.approval-documents h3{
    margin-bottom:10px;
    color:#162033;
    font-size:15px;
}

.approval-document{
    min-height:56px;
    padding:12px;
    border:1px solid #edf1f6;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#162033;
    text-decoration:none;
    font-weight:900;
}

.approval-document + .approval-document{
    margin-top:8px;
}

.approval-document span{
    flex:1;
}

.approval-empty-doc{
    padding:12px;
    border-radius:10px;
    background:#fff7db;
    color:#9a6500;
    font-weight:800;
}

.approval-actions{
    margin-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.approval-actions form{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.operator-client-grid{
    margin-top:16px;
    display:grid;
    grid-template-columns:minmax(180px, .8fr) minmax(200px, 1fr) minmax(220px, 1fr);
    gap:14px;
    align-items:end;
}

.operator-profile-grid{
    margin-top:16px;
    display:grid;
    grid-template-columns:minmax(160px, .8fr) repeat(4, minmax(180px, 1fr));
    gap:14px;
    align-items:end;
}

.operator-switch,
.operator-field,
.operator-split-preview{
    min-height:70px;
    padding:12px;
    border:1px solid #e4eaf2;
    border-radius:8px;
    background:#f8fafd;
}

.operator-switch{
    display:flex;
    align-items:center;
    gap:10px;
    color:#162033;
    font-size:14px;
    font-weight:900;
}

.operator-switch input{
    width:18px;
    height:18px;
}

.operator-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.operator-field span,
.operator-split-preview span,
.operator-driver-picker-head span{
    color:#68758a;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.operator-field input,
.operator-field select{
    width:100%;
    min-height:36px;
    padding:0 10px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    color:#162033;
    font-size:15px;
    font-weight:800;
}

.operator-field select{
    cursor:pointer;
}

.operator-split-preview{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
}

.operator-split-preview strong{
    color:#162033;
    font-size:16px;
}

.operator-driver-picker{
    margin-top:16px;
    border:1px solid #e4eaf2;
    border-radius:8px;
    overflow:hidden;
}

.operator-driver-picker-head{
    padding:14px;
    background:#f8fafd;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.operator-driver-picker-head small{
    display:block;
    margin-top:4px;
    color:#68758a;
    font-size:12px;
}

.operator-driver-options{
    max-height:240px;
    overflow:auto;
    padding:10px;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
    gap:8px;
}

.operator-driver-options label{
    min-height:48px;
    padding:10px;
    border:1px solid #e4eaf2;
    border-radius:8px;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:10px;
    align-items:center;
    background:#fff;
}

.operator-driver-options input{
    width:16px;
    height:16px;
    grid-row:1 / span 2;
}

.operator-driver-options span{
    color:#162033;
    font-size:14px;
    font-weight:900;
}

.operator-driver-options small{
    color:#68758a;
    font-size:12px;
}

.operator-card-actions{
    margin-top:16px;
    display:flex;
    justify-content:flex-end;
}

.operator-table-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.operator-inline-form{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:8px;
}

.operator-table-action{
    padding:0 12px;
}

.operator-inline-input{
    min-height:42px;
    width:170px;
    padding:0 10px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    color:#162033;
    font-size:13px;
    font-weight:700;
}

.operator-table-action.approve{
    background:#16a34a;
    color:#fff;
}

.operator-table-action.reject{
    background:#dc2626;
    color:#fff;
}

.operator-empty{
    padding:36px 18px;
    text-align:center;
    color:#68758a;
}

.operator-empty i{
    display:block;
    margin-bottom:10px;
    color:#9aa8ba;
    font-size:28px;
}

.operator-empty strong{
    display:block;
    color:#162033;
    font-size:16px;
}

.operator-empty p{
    margin:6px 0 0;
    font-size:14px;
}

.operator-detail-actions{
    margin-bottom:18px;
    display:flex;
    justify-content:flex-start;
}

.operator-metric-text{
    font-size:20px !important;
    line-height:1.2 !important;
}

.operator-detail-grid{
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.operator-detail-grid > div{
    min-height:70px;
    padding:12px;
    border:1px solid #e4eaf2;
    border-radius:8px;
    background:#f8fafd;
}

.operator-detail-grid span{
    display:block;
    color:#68758a;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.operator-detail-grid strong{
    display:block;
    margin-top:8px;
    color:#162033;
    font-size:14px;
    line-height:1.35;
    word-break:break-word;
}

.operator-detail-wide{
    grid-column:1 / -1;
}

.operator-proof-panel{
    padding:18px;
}

.operator-proof-panel img{
    width:100%;
    max-height:520px;
    object-fit:contain;
    border:1px solid #e4eaf2;
    border-radius:8px;
    background:#f8fafd;
    display:block;
    margin-bottom:14px;
}

/* Area web do cliente */

.client-sidebar{
    background:#0a1726;
}

.client-form-grid{
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.client-form-wide{
    grid-column:1 / -1;
}

.operator-field textarea{
    width:100%;
    min-height:110px;
    padding:10px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    color:#162033;
    resize:vertical;
    font-size:14px;
    font-weight:700;
}

.client-summary-bar{
    margin-top:18px;
    padding:16px 18px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow:0 10px 24px rgba(8, 20, 35, .05);
}

.client-summary-bar span,
.client-quick-panel span{
    display:block;
    color:#68758a;
    font-size:13px;
    font-weight:800;
}

.client-summary-bar strong{
    display:block;
    margin-top:4px;
    color:#162033;
    font-size:26px;
}

.client-quick-panel{
    padding:20px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.client-quick-panel strong{
    color:#162033;
    font-size:20px;
}

.operator-search select{
    width:100%;
    min-height:40px;
    border:0;
    outline:0;
    background:transparent;
    color:#162033;
    font-size:14px;
    font-weight:800;
}

@media (max-width: 980px){
    .operator-web-shell{
        grid-template-columns:1fr;
    }

    .operator-sidebar{
        position:static;
        height:auto;
        padding:18px;
        overflow:visible;
    }

    .operator-nav{
        flex-direction:row;
        overflow-x:auto;
        overflow-y:visible;
        padding-bottom:4px;
    }

    .operator-nav-group{
        min-width:220px;
        flex:0 0 auto;
    }

    .operator-nav a{
        white-space:nowrap;
    }

    .operator-nav-footer{
        margin-top:0;
        flex:0 0 auto;
    }

    .operator-main{
        padding:20px;
    }

    .operator-metrics,
    .operator-grid-two,
    .operator-client-grid,
    .operator-profile-grid,
    .operator-detail-grid,
    .approval-grid,
    .address-manager-list,
    .saved-address-grid{
        grid-template-columns:1fr;
    }

    .operator-topbar,
    .operator-driver-picker-head,
    .operator-toolbar,
    .approval-card-head,
    .approval-actions,
    .approval-actions form,
    .client-summary-bar{
        align-items:stretch;
        flex-direction:column;
    }

    .client-form-grid,
    .form-grid-two,
    .address-manager-form,
    .address-manager-form.compact{
        grid-template-columns:1fr;
    }

    .operator-search,
    .operator-search.compact{
        width:100%;
    }

    .operator-table{
        min-width:720px;
    }

    .operator-panel{
        overflow:auto;
    }
}


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

.client-account-form .operator-primary-btn{
    width:max-content;
}

.client-terms-list,
.client-notification-list{
    display:grid;
    gap:12px;
}

.client-terms-list article,
.client-notification-card{
    padding:14px;
    border:1px solid #e3eaf4;
    border-radius:12px;
    background:#fff;
}

.client-terms-list article{
    display:grid;
    gap:4px;
}

.client-terms-list span,
.client-terms-list small,
.client-notification-card small{
    color:#64748b;
    font-size:12px;
}

.client-notification-card{
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.client-notification-card i{
    width:34px;
    height:34px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#edf5ff;
    color:#0b73e8;
    flex:0 0 auto;
}

.client-notification-card p{
    margin:4px 0 6px;
    color:#536274;
}

.client-notification-card.unread{
    border-color:#bcd8ff;
    background:#f8fbff;
}

.delivery-mode-selector,
.payment-method-selector{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin:0 0 14px;
}

.delivery-mode-selector label,
.payment-method-selector label{
    cursor:pointer;
}

.schedule-box input{
    width:100%;
    min-height:48px;
    border:1px solid #d9e1ec;
    border-radius:12px;
    background:#f6f9fc;
    color:#06111f;
    font:inherit;
    font-weight:700;
    padding:0 14px;
}

.schedule-box small{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
    line-height:1.35;
}

.delivery-mode-selector input,
.payment-method-selector input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.delivery-mode-selector label > span,
.payment-method-selector label > span{
    min-height:102px;
    display:grid;
    grid-template-columns:28px 1fr;
    align-content:center;
    gap:3px 8px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#f8fafc;
    color:var(--text);
}

.payment-method-selector label > span{
    min-height:88px;
}

.delivery-mode-selector i,
.payment-method-selector i{
    grid-row:1 / span 2;
    align-self:center;
    color:var(--blue);
    font-size:20px;
}

.delivery-mode-selector strong,
.delivery-mode-selector small,
.payment-method-selector strong,
.payment-method-selector small{
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
}

.delivery-mode-selector strong,
.payment-method-selector strong{
    display:block;
    max-width:100%;
    font-size:13px;
    line-height:1.15;
    word-break:break-word;
}

.delivery-mode-selector small,
.payment-method-selector small{
    color:var(--muted);
    line-height:1.25;
}

.delivery-mode-selector input:checked + span,
.payment-method-selector input:checked + span{
    border-color:var(--blue);
    background:#eef6ff;
    box-shadow:0 0 0 2px rgba(5,117,230,.12);
}

.delivery-mode-selector input:focus-visible + span,
.payment-method-selector input:focus-visible + span{
    outline:2px solid var(--blue);
    outline-offset:2px;
}

.form-section-highlight{
    border-radius:14px;
    box-shadow:0 0 0 3px rgba(5,117,230,.14);
}

.operator-price-form{
    max-width:900px;
}

.operator-price-group{
    padding:16px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#f8fafc;
}

.operator-price-group > div{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.operator-price-group > div i{
    color:var(--blue);
    font-size:20px;
}

.operator-price-group h3{
    margin:0;
}

.operator-price-commission{
    max-width:320px;
    margin-top:16px;
}

.pix-payment-content{padding-bottom:calc(32px + env(safe-area-inset-bottom));}
.pix-payment-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(6,17,31,.08);text-align:center;}
.pix-payment-summary{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #e3e9f1;text-align:left;}
.pix-payment-summary span{color:#607089;font-size:14px;}
.pix-payment-summary strong{color:#06111f;font-size:24px;}
.pix-payment-status{display:inline-flex;align-items:center;gap:8px;margin:20px 0 12px;padding:8px 12px;border-radius:999px;background:#fff5d8;color:#8b5b00;font-weight:700;font-size:13px;}
.pix-payment-status .status-dot{width:8px;height:8px;border-radius:50%;background:#f2a900;}
.pix-payment-status.manual{background:#eaf3ff;color:#07579d;}
.pix-payment-status.manual .status-dot{background:#087cf0;}
.pix-qr-code{display:block;width:min(250px,80vw);height:auto;margin:4px auto 14px;border:1px solid #dce4ef;border-radius:8px;}
.pix-payment-hint{max-width:320px;margin:0 auto 14px;color:#52647e;font-size:14px;line-height:1.45;}
.pix-copy-code{width:100%;min-height:82px;resize:none;border:1px solid #ccd7e5;border-radius:10px;padding:12px;background:#f5f8fc;color:#26364d;font-size:12px;line-height:1.35;word-break:break-all;}
.pix-copy-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;margin-top:12px;border:0;border-radius:10px;background:#087cf0;color:#fff;font-weight:800;cursor:pointer;}
.pix-sync-form{margin-top:10px;}.pix-sync-button{width:100%;min-height:46px;border:1px solid #bfd0e5;border-radius:10px;background:#fff;color:#0d3159;font-weight:800;cursor:pointer;}
.pix-ticket-link{display:block;margin:16px 0 10px;color:#087cf0;font-weight:700;text-decoration:none;}
.pix-payment-card>small{display:block;color:#718097;font-size:12px;}
.pix-payment-success,.pix-payment-unavailable{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 10px;}
.pix-payment-success i{font-size:52px;color:#10ad68;}.pix-payment-unavailable i{font-size:42px;color:#e59a00;}
.pix-payment-unavailable.manual{padding:24px 10px;color:#31415b;}
.pix-payment-unavailable.manual i{color:#087cf0;}
.pix-payment-unavailable.manual strong{font-size:18px;color:#06111f;}
.pix-payment-unavailable.manual p{max-width:330px;margin:0;color:#52647e;line-height:1.45;}
.pix-payment-flow-card{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    margin:18px 0;
    padding:16px;
    border:1px solid #dce8f6;
    border-radius:16px;
    background:#f6faff;
    text-align:left;
}
.pix-payment-flow-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:#e7f2ff;
    color:#087cf0;
    font-size:22px;
}
.pix-payment-flow-card strong{
    display:block;
    margin-bottom:5px;
    color:#06111f;
    font-size:17px;
}
.pix-payment-flow-card p{
    margin:0;
    color:#52647e;
    line-height:1.45;
    font-size:14px;
}
.pix-payment-steps{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
    margin:16px 0;
}
.pix-payment-steps div{
    min-width:0;
    padding:10px 7px;
    border-radius:14px;
    background:#f5f8fc;
    border:1px solid #e1e8f2;
}
.pix-payment-steps div.active{
    background:#eef6ff;
    border-color:#b9d9ff;
}
.pix-payment-steps span{
    display:inline-grid;
    place-items:center;
    width:24px;
    height:24px;
    margin-bottom:7px;
    border-radius:50%;
    background:#dbe8f7;
    color:#33455f;
    font-size:12px;
    font-weight:900;
}
.pix-payment-steps div.active span{
    background:#087cf0;
    color:#fff;
}
.pix-payment-steps p{
    margin:0;
    color:#465872;
    font-size:11px;
    line-height:1.25;
    font-weight:800;
}
.pix-payment-note{
    margin:0 0 12px;
    padding:12px 14px;
    border-radius:13px;
    background:#fff8e6;
    border:1px solid #f0d58a;
    color:#6e5618;
    font-size:13px;
    line-height:1.4;
    text-align:left;
}
.pix-payment-reference{margin-top:10px;padding:12px;border-radius:12px;background:#f5f8fc;border:1px solid #dce4ef;text-align:left;}
.pix-payment-reference span{display:block;color:#607089;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.pix-payment-reference strong{display:block;margin-top:4px;color:#06111f;font-size:14px;word-break:break-word;}
.pix-payment-success a{display:block;width:100%;padding:14px;border-radius:10px;background:#087cf0;color:#fff;font-weight:800;text-decoration:none;}
.card-payment-root{margin:16px 0;text-align:left;}
.card-payment-root #cardPaymentBrick_container{min-height:320px;}
.card-payment-message{margin:12px 0 0;padding:11px 12px;border-radius:10px;background:#eef6ff;color:#07579d;font-weight:800;font-size:13px;text-align:center;}
.card-payment-message[data-type="success"]{background:#eaf8f1;color:#087a49;}
.card-payment-message[data-type="error"]{background:#fff0f2;color:#c62f48;}
.pix-pending-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:16px;border-radius:14px;background:#fff5d8;border:1px solid #f0d27b;}
.pix-pending-banner div{display:flex;flex-direction:column;gap:4px;}.pix-pending-banner span{color:#6b5a25;font-size:13px;}.pix-pending-banner a{flex:none;padding:10px 13px;border-radius:9px;background:#087cf0;color:#fff;font-weight:800;text-decoration:none;}
.delivery-cancel-card{margin-bottom:16px;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;}.delivery-cancel-card>strong,.delivery-cancel-card>span{display:block;margin-bottom:6px;}.delivery-cancel-card p,.delivery-cancel-card small{color:#607089;}.delivery-cancel-card textarea{width:100%;min-height:82px;margin:10px 0;padding:12px;border:1px solid #ccd7e5;border-radius:10px;resize:vertical;}.delivery-cancel-card button{width:100%;min-height:44px;border:1px solid #e04b62;border-radius:10px;background:#fff;color:#c62f48;font-weight:800;cursor:pointer;}

.operator-notification-link{
    position:relative;
    width:40px;
    height:40px;
    border:1px solid #dbe4ef;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0f172a;
}

.notification-nav-badge{
    margin-left:auto;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#ef4444;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.notification-center-header,
.notification-center-actions,
.notification-card-title{
    display:flex;
    align-items:center;
    gap:10px;
}

.notification-center-header{
    justify-content:space-between;
}

.notification-center-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
}

.notification-center-actions form{
    margin:0;
}

.notification-permission-status{
    margin:0 0 16px;
    color:#64748b;
    font-size:13px;
}

.notification-center-list .client-notification-card{
    align-items:center;
}

.notification-type-icon{
    flex:0 0 auto;
}

.notification-card-content{
    min-width:0;
    flex:1;
}

.notification-card-title{
    justify-content:flex-start;
}

.notification-card-title span{
    padding:3px 7px;
    border-radius:10px;
    background:#0b73e8;
    color:#fff;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.notification-open-button{
    width:38px;
    height:38px;
    border:0;
    border-radius:8px;
    background:#edf5ff;
    color:#0b73e8;
    cursor:pointer;
}

.notification-empty{
    min-height:240px;
}

@media (max-width:700px){
    .notification-center-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .notification-center-actions{
        width:100%;
        justify-content:stretch;
    }

    .notification-center-actions form,
    .notification-center-actions button{
        width:100%;
    }
}

.compact-empty{
    padding:16px;
}

.saved-address-mobile-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    margin:12px 0;
}

.compact-action{
    min-height:38px;
    padding:0 10px;
    font-size:12px;
    text-decoration:none;
}

.secondary-button{
    min-height:48px;
    border:1px solid #dce4ef;
    border-radius:14px;
    background:#fff;
    color:#06111f;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    text-decoration:none;
}

.address-manager-actions{
    flex-wrap:wrap;
}

@media (max-width: 760px){
    .client-account-form,
    .saved-address-mobile-actions{
        grid-template-columns:1fr;
    }

    .client-account-form .operator-primary-btn{
        width:100%;
    }
}


.operator-date-filter{
    min-height:42px;
    padding:6px 12px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:8px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.operator-date-filter input{
    border:0;
    outline:0;
    background:transparent;
    color:#162033;
    font-weight:800;
}

.support-list,
.support-rules{
    display:grid;
    gap:14px;
}

.support-list article{
    padding:16px;
    border:1px solid #e3eaf4;
    border-radius:12px;
    background:#fff;
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.support-list i{
    width:38px;
    height:38px;
    border-radius:10px;
    background:#edf5ff;
    color:#0b73e8;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.support-list strong,
.support-list span,
.support-list a{
    display:block;
}

.support-list span,
.support-rules p,
.support-note{
    color:#536274;
}

.support-faq-panel,
.support-thread,
.support-thread-header{
    margin-bottom:18px;
}

.support-search{
    min-height:46px;
    margin-bottom:14px;
    padding:0 14px;
    border:1px solid #dce4ef;
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    color:#64748b;
}

.support-search input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    font-size:14px;
}

.support-faq-list{
    display:grid;
    gap:8px;
}

.support-faq-list details{
    border:1px solid #e3eaf4;
    border-radius:8px;
    background:#fff;
}

.support-faq-list summary{
    min-height:48px;
    padding:12px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    font-weight:800;
    list-style:none;
}

.support-faq-list summary::-webkit-details-marker{display:none}
.support-faq-list details[open] summary i{transform:rotate(180deg)}
.support-faq-list summary i{font-size:12px;transition:transform .2s ease}
.support-faq-list details p{margin:0;padding:0 14px 14px;color:#536274;line-height:1.5}

.support-main-grid{align-items:start}
.support-ticket-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.support-form-wide{grid-column:1/-1}
.support-ticket-form textarea,
.support-reply-form textarea{
    width:100%;
    padding:13px;
    border:1px solid #dce4ef;
    border-radius:8px;
    resize:vertical;
    font:inherit;
}

.support-ticket-list{display:grid;gap:10px}
.support-ticket-card{
    padding:14px;
    border:1px solid #e3eaf4;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#162033;
    text-decoration:none;
}
.support-ticket-card:hover{border-color:#9cc8fa;background:#f8fbff}
.support-ticket-card>div:first-child{min-width:0;display:grid;gap:4px}
.support-ticket-card>div:first-child>span,.support-ticket-card small{color:#64748b;font-size:12px}
.support-ticket-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-ticket-side{display:grid;justify-items:end;gap:6px;flex:0 0 auto}

.support-status,.support-priority{
    width:max-content;
    padding:5px 9px;
    border-radius:12px;
    display:inline-flex;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}
.status-aberto{background:#fff3cd;color:#8a5a00}
.status-em_atendimento{background:#e5f0ff;color:#0757ae}
.status-aguardando_cliente{background:#f1e8ff;color:#6d28d9}
.status-resolvido{background:#dcfce7;color:#16713a}
.status-fechado{background:#e8edf3;color:#475569}
.priority-normal{background:#e8edf3;color:#475569}
.priority-alta{background:#fff3cd;color:#8a5a00}
.priority-urgente{background:#fee2e2;color:#b42318}

.support-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:16px}
.support-contact-strip div{display:grid;gap:4px}
.support-contact-strip span{color:#64748b}

.support-thread-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.support-thread-header>div{display:grid;gap:5px}
.support-thread-header>div>span,.support-thread-header p{color:#64748b;margin:0}
.support-thread-header h2{margin:0}
.support-message-list{display:grid;gap:12px;margin-bottom:18px}
.support-message{
    width:min(82%,680px);
    padding:13px 15px;
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
}
.support-message.mine,.support-message.operator-message{margin-left:auto;background:#eaf4ff;border-color:#b8d8fb}
.support-message.client-message{margin-right:auto}
.support-message.internal-message{margin-left:0;background:#fff8df;border-color:#efd988}
.support-message>div{display:flex;justify-content:space-between;gap:12px}
.support-message small{color:#64748b}
.support-message p{margin:8px 0 0;line-height:1.5}
.support-reply-form,.support-control-form{display:grid;gap:12px}
.support-internal-check{display:flex;align-items:center;gap:8px;color:#536274;font-size:13px}
.support-file-field small{color:#64748b;font-size:12px}
.support-file-field input[type="file"]{padding:9px;border:1px dashed #b9c7d8;border-radius:8px;background:#f8fafc}
.support-compact-file{
    width:max-content;
    max-width:100%;
    min-height:40px;
    padding:8px 12px;
    border:1px solid #dce4ef;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:#0b73e8;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}
.support-compact-file input{max-width:210px;font-size:12px;color:#536274}
.support-attachments{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}
.support-attachments a{
    max-width:100%;
    padding:7px 9px;
    border:1px solid #c9d8ea;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#0757ae;
    background:#f8fbff;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.support-closed-note{padding:14px;border-radius:8px;background:#eef2f6;color:#536274;text-align:center;font-weight:700}
.support-ticket-control{align-self:start}
.support-ticket-meta{display:grid;gap:10px;margin:20px 0 0}
.support-ticket-meta div{padding-top:10px;border-top:1px solid #e3eaf4;display:flex;justify-content:space-between;gap:12px}
.support-ticket-meta dt{color:#64748b}.support-ticket-meta dd{margin:0;font-weight:700;text-align:right}
.support-metrics{
    margin-bottom:18px;
}
.support-operator-filters{
    padding:18px 18px 0;
}
.support-table td small{display:block;margin-top:4px;color:#64748b}
.operator-table-action{font-weight:800;color:#0b73e8;text-decoration:none}
.support-operator-filters select{min-height:42px;padding:0 10px;border:1px solid #dce4ef;border-radius:8px;background:#fff}

.operator-map-metrics{
    margin-bottom:18px;
}

.operator-control-map-panel{
    overflow:hidden;
}

.operator-map-legend{
    padding:14px 18px;
    border-bottom:1px solid #e4eaf2;
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    color:#52647e;
    font-size:13px;
    font-weight:800;
}

.operator-map-legend span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.operator-map-legend i{
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--legend-color);
    box-shadow:0 0 0 3px rgba(15,23,42,.06);
}

.operator-map-workspace{
    min-height:640px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
}

.operator-control-map{
    min-height:640px;
    background:#eef4fb;
}

.operator-map-sidebar{
    border-left:1px solid #e4eaf2;
    background:#f8fbff;
    display:flex;
    min-width:0;
    flex-direction:column;
}

.operator-map-sidebar-head{
    padding:16px;
    border-bottom:1px solid #e4eaf2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.operator-map-sidebar-head span{
    color:#64748b;
    font-size:12px;
    font-weight:700;
}

.operator-map-list{
    padding:14px;
    display:grid;
    gap:10px;
    overflow:auto;
}

.operator-map-delivery-card{
    padding:13px;
    border:1px solid #dce4ef;
    border-left:5px solid var(--delivery-color,#0b84ff);
    border-radius:8px;
    background:#fff;
    color:#0b1728;
    display:grid;
    gap:7px;
    text-decoration:none;
}

.operator-map-delivery-card:hover{
    border-color:#9bc7f8;
    border-left-color:var(--delivery-color,#0b84ff);
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.operator-map-delivery-card strong,
.operator-map-delivery-card span,
.operator-map-delivery-card small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.operator-map-delivery-card span,
.operator-map-delivery-card small{
    color:#64748b;
    font-size:12px;
}

.operator-map-delivery-card .danger{
    color:#dc2626;
    font-weight:900;
}

.operator-map-empty{
    min-height:160px;
    padding:18px;
    border:1px dashed #c7d5e8;
    border-radius:8px;
    display:grid;
    place-content:center;
    gap:6px;
    color:#64748b;
    text-align:center;
}

@media (max-width:1100px){
    .operator-map-workspace{
        grid-template-columns:1fr;
    }
    .operator-map-sidebar{
        border-left:0;
        border-top:1px solid #e4eaf2;
    }
    .operator-control-map,
    .operator-map-workspace{
        min-height:520px;
    }
}
.support-mobile-page{background:#f3f6fa}
.support-mobile-content{padding-bottom:100px}
.support-mobile-content .operator-panel{padding:16px;border-radius:8px}
.support-mobile-content .operator-grid-two{grid-template-columns:1fr}
.support-mobile-content .operator-panel-header h2{font-size:18px}

@media (max-width:900px){
    .support-ticket-form{grid-template-columns:1fr}
    .support-form-wide{grid-column:auto}
    .support-contact-strip,.support-thread-header{align-items:flex-start;flex-direction:column}
    .support-operator-detail{grid-template-columns:1fr}
    .support-table thead{display:none}
    .support-table,.support-table tbody,.support-table tr,.support-table td{display:block;width:100%}
    .support-table tr{margin-bottom:12px;padding:12px;border:1px solid #e3eaf4;border-radius:8px;background:#fff}
    .support-table td{padding:7px 0;border:0;display:flex;justify-content:space-between;gap:12px;text-align:right}
    .support-table td::before{content:attr(data-label);color:#64748b;font-weight:700;text-align:left}
    .support-table td:last-child::before{content:""}
}

@media (max-width:520px){
    .support-ticket-card{align-items:flex-start;flex-direction:column}
    .support-ticket-side{width:100%;grid-template-columns:1fr auto;align-items:center;justify-items:start}
    .support-message{width:92%}
    .support-message>div{flex-direction:column;gap:3px}
}

.account-mobile-page,
.notifications-mobile-page{
    background:#f3f6fa;
}

.account-mobile-content,
.notifications-mobile-content{
    padding-bottom:100px;
}

.account-mobile-content .operator-panel,
.notifications-mobile-content .operator-panel{
    padding:16px;
    border-radius:8px;
    margin-bottom:14px;
}

.account-profile-card{
    display:flex;
    align-items:center;
    gap:14px;
}

.account-avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e5f0ff;
    color:#0b73e8;
    font-size:20px;
    flex:0 0 auto;
}

.account-profile-card>div:last-child{
    min-width:0;
    display:grid;
    gap:4px;
}

.account-profile-card strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.account-profile-card span{
    color:#64748b;
    font-size:13px;
}

.account-mobile-links{
    display:grid;
    padding:0!important;
    overflow:hidden;
}

.account-mobile-links>a{
    min-height:66px;
    padding:12px 15px;
    border-bottom:1px solid #e3eaf4;
    display:flex;
    align-items:center;
    gap:12px;
    color:#162033;
    text-decoration:none;
}

.account-mobile-links>a:last-child{border-bottom:0}
.account-mobile-links>a>i:first-child{width:24px;color:#0b73e8;text-align:center}
.account-mobile-links>a>i:last-child{margin-left:auto;color:#94a3b8;font-size:12px}
.account-mobile-links span{min-width:0;display:grid;gap:3px}
.account-mobile-links small{color:#64748b}
.account-mobile-links .account-logout,
.account-mobile-links .account-logout>i:first-child{color:#e11d48}

.notification-mobile-actions{
    margin-bottom:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.notification-mobile-actions form,
.notification-mobile-actions button{
    width:100%;
}

@media (max-width:520px){
    .account-mobile-content .client-account-form{grid-template-columns:1fr}
    .account-mobile-content .client-form-wide{grid-column:auto}
    .account-mobile-content .operator-primary-btn{width:100%}
    .notifications-mobile-content .client-notification-card{padding:12px;gap:9px}
    .notifications-mobile-content .notification-type-icon i{width:30px;height:30px}
    .notification-mobile-actions{grid-template-columns:1fr}
}

.support-list a{
    margin-top:8px;
    color:#0b73e8;
    font-weight:900;
    text-decoration:none;
}

.support-rules p,
.support-note{
    margin:0;
    line-height:1.5;
}


.offline-page{
    min-height:100dvh;
    margin:0;
    padding:24px;
    display:grid;
    place-items:center;
    background:#06111f;
    color:#111827;
}

.offline-card{
    width:min(420px, 100%);
    padding:28px;
    border-radius:18px;
    background:#fff;
    text-align:center;
}

.offline-card img{
    width:180px;
    max-width:70%;
    margin-bottom:20px;
}

.offline-card p{
    color:#64748b;
    line-height:1.5;
}

.offline-card button{
    min-height:46px;
    padding:0 18px;
    border:0;
    border-radius:10px;
    background:#0b73e8;
    color:#fff;
    font-weight:900;
}

.is-offline body::before{
    content:"Sem conexão - dados podem estar desatualizados";
    position:fixed;
    top:0;
    left:50%;
    z-index:1000;
    width:min(100%, 430px);
    padding:7px 12px;
    transform:translateX(-50%);
    background:#f59e0b;
    color:#111827;
    text-align:center;
    font-size:12px;
    font-weight:900;
}


.delivery-audit-list{display:grid;gap:10px;}
.delivery-audit-list article{display:flex;gap:12px;padding:14px;border:1px solid #e3eaf4;border-radius:10px;background:#fff;}
.delivery-audit-list i{color:#0b73e8;margin-top:3px;}
.delivery-audit-list strong,.delivery-audit-list span,.delivery-audit-list small{display:block;}
.delivery-audit-list span,.delivery-audit-list small,.delivery-audit-list p{color:#64748b;}
.delivery-audit-list p{margin:6px 0 0;}


.driver-command-form,.driver-status-form{margin:0;}
.driver-command-form .driver-action-card{width:100%;border:0;text-align:left;font:inherit;cursor:pointer;}
.driver-command-form .main-button{width:100%;border:0;cursor:pointer;}
.driver-status-form{display:flex;}
.driver-status-form .status-toggle-btn{border:0;cursor:pointer;font:inherit;}



.account-summary-grid{
    margin-bottom:18px;
}

.account-mobile-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 14px;
}

.account-mobile-summary article{
    border:1px solid #dce4ef;
    border-radius:8px;
    background:#fff;
    padding:14px;
}

.account-mobile-summary span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.account-mobile-summary strong{
    display:block;
    margin-top:6px;
    color:#071426;
    font-size:22px;
    line-height:1;
}

.driver-profile-summary strong{
    font-size:24px;
}

.driver-mini-list{
    display:grid;
    gap:10px;
    margin-top:14px;
}

.driver-mini-list article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px;
    border:1px solid #e3eaf4;
    border-radius:8px;
    background:#f8fbff;
}

.driver-mini-list div{
    min-width:0;
    display:grid;
    gap:4px;
}

.driver-mini-list strong,
.driver-mini-list span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.driver-mini-list span,
.muted-text{
    color:#64748b;
    font-size:13px;
}

.driver-document-summary{
    margin-top:4px;
}
.notification-button{position:relative;text-decoration:none;}
.notification-badge{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;}


.tracking-live-alert{margin:12px 0;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:10px;background:#eef6ff;color:#0b5fb5;font-weight:800;font-size:13px;}
.tracking-live-alert[hidden]{display:none;}
.tracking-live-alert.warning{background:#fff7e6;color:#9a5700;}
.tracking-live-alert.arriving{background:#eafaf2;color:#087443;}

.tracking-empty-state .main-button{
    width:100%;
    margin:14px 0 0;
}

.operator-status.recebido,
.operator-status.aguardando_entregador{
    background:#fff7db;
    color:#9a6500;
}

.operator-status.aceita,
.operator-status.indo_coleta{
    background:#e8f1ff;
    color:#175cd3;
}

.operator-status.coletado{
    background:#f1e8ff;
    color:#6d28d9;
}

.operator-status.transito{
    background:#e8f8ee;
    color:#15803d;
}

.operator-row-alert{
    background:#fff7f7;
}

.operator-row-alert td:first-child{
    border-left:4px solid #ef4444;
}

.operator-gps-alert{
    color:#dc2626;
    font-weight:900;
}

.operator-map-delivery-card.gps-alert{
    background:#fff7f7;
    border-color:#fecaca;
    border-left-color:#ef4444;
    box-shadow:0 8px 20px rgba(239,68,68,.08);
}
