:root{--green:#15a45b;--green2:#0c7c44;--green-dark:#063421;--lime:#9be15d;--dark:#10251b;--muted:#6b7c72;--bg:#f3f8f5;--card:#fff;--danger:#d84343;--warning:#d99322;--info:#247bd1;--border:#dce9e1;--shadow:0 12px 30px rgba(16,37,27,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--dark)}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:276px;background:linear-gradient(180deg,#062818,#0f4930);color:#fff;padding:18px 16px;position:fixed;top:0;bottom:0;overflow:auto}.main{margin-left:276px;width:calc(100% - 276px)}

/* Marca lateral ajustada: usa ícone pequeno + nome, sem estourar a sidebar */
.brand-full{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:14px;margin-bottom:18px;text-align:left;box-shadow:none;overflow:hidden}.brand-row{display:flex;align-items:center;gap:12px}.brand-row img{width:54px!important;height:54px!important;max-width:54px!important;object-fit:contain!important;flex:0 0 54px!important}.brand-title{font-weight:900;font-size:18px;line-height:1.05;color:#fff}.brand-title small{display:block;font-size:12px;color:#bdebcf;margin-top:4px;font-weight:800}.brand-full>img,.brand-full>span{display:none!important}
.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar a{padding:12px 14px;border-radius:13px;color:#d7f7e3}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.14);color:#fff}.sidebar a.download-link{background:linear-gradient(135deg,#19b76a,#0c7c44);color:#fff;margin-top:8px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.topbar small{display:block;color:var(--muted);margin-top:4px}.userbox{display:flex;align-items:center;gap:14px}.userbox a{background:#e9f8ef;color:var(--green2);padding:9px 12px;border-radius:10px;font-weight:700}.content{padding:26px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:20px;margin-bottom:20px}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-22px;bottom:-32px;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,rgba(21,164,91,.14),rgba(155,225,93,.18))}.stat small{color:var(--muted);font-weight:700}.stat strong{display:block;font-size:30px;margin-top:8px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.btn,button{border:0;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer;background:#e8f4ed;color:var(--green2);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff}.btn-danger{background:#ffecec;color:var(--danger)}.btn-muted{background:#eef2ef;color:#51635a}.btn-warning{background:#fff5df;color:#9b6107}.btn-small{padding:7px 9px;border-radius:9px;font-size:12px}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#f0f8f3;font-size:12px;text-transform:uppercase;color:#5a7065;letter-spacing:.04em}tr:hover td{background:#fbfefc}.row-copiado td{background:#fff8e8}.row-lancado td{background:#eefaf1}.row-falhou td{background:#fff1f1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field label{display:block;font-weight:800;margin-bottom:7px;color:#2e4938}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:13px;padding:12px;background:#fff;font:inherit}.field textarea{min-height:96px}.alert{padding:14px;border-radius:14px;margin-bottom:16px;font-weight:700}.alert-success{background:#eaf9ef;color:#0b7b3e}.alert-danger{background:#fff0f0;color:#b42e2e}.alert-warning{background:#fff7e6;color:#9b6107}.alert-info{background:#eaf7ff;color:#145b7c}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase}.badge-success{background:#dff7e8;color:#0b7b3e}.badge-warning{background:#fff1cb;color:#9b6107}.badge-danger{background:#ffe1e1;color:#b42e2e}.badge-muted{background:#edf1ef;color:#596c63}.badge-info{background:#e4f0ff;color:#1e63a4}.filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.copybox{background:#0d281b;color:#e6fff0;padding:14px;border-radius:14px;white-space:pre-wrap}.bar{height:10px;border-radius:999px;background:#e4eee8;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--lime))}.mobile-menu{display:none}.muted{color:var(--muted)}

.hero-admin{background:linear-gradient(135deg,#063421,#0c7c44);color:#fff;border-radius:26px;padding:28px;margin-bottom:22px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.hero-admin:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.13)}.hero-admin h1{margin:0 0 8px;font-size:32px;letter-spacing:-.03em}.hero-admin p{margin:0;color:#e6fff0}.hero-admin .btn{position:relative;z-index:2;background:#fff;color:#0c7c44;box-shadow:0 12px 28px rgba(0,0,0,.18);white-space:nowrap}

.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#9be15d,#15a45b 35%,#082519 75%)}.login-card{width:min(440px,92vw);background:#fff;border-radius:28px;padding:30px 34px 34px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin-top:0}.login-logo{text-align:center;margin-bottom:22px}.login-logo img{width:auto!important;height:72px!important;max-width:280px!important;object-fit:contain!important;display:block;margin:0 auto 8px}.login-logo span{color:#4b6558;font-size:13px;font-weight:800}.public-note{max-width:880px;margin:40px auto;padding:20px}.note-card{background:white;border-radius:28px;padding:30px;box-shadow:var(--shadow);border:1px solid var(--border)}.public-note-logo{text-align:center;margin-bottom:22px}.public-note-logo img{width:auto!important;height:76px!important;max-width:320px!important;object-fit:contain!important}

.agent-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;align-items:center}.agent-card img{width:92px;height:92px;object-fit:contain}.download-box{background:linear-gradient(135deg,#eefaf1,#fff);border:1px solid var(--border);border-radius:22px;padding:20px;margin-bottom:20px}.code{background:#0d281b;color:#e6fff0;border-radius:14px;padding:14px;overflow:auto;font-family:Consolas,monospace;font-size:13px}

@media(max-width:1100px){.grid-4,.grid-3,.grid-2,.filters,.form-grid,.form-grid-3{grid-template-columns:1fr 1fr}.hero-admin{grid-template-columns:1fr}.hero-admin .btn{justify-self:start}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);z-index:20;transition:.25s}.sidebar-open .sidebar{transform:none}.main{margin-left:0;width:100%}.mobile-menu{display:block}.grid-4,.grid-3,.grid-2,.filters,.form-grid,.form-grid-3,.agent-card{grid-template-columns:1fr}.content{padding:16px}.topbar{padding:0 14px}.userbox span{display:none}.login-logo img{height:62px!important}.hero-admin h1{font-size:26px}}
.topbar-logo{display:flex;align-items:center;gap:12px}.topbar-logo img{width:42px!important;height:42px!important;object-fit:contain!important;display:block!important}

.check-list-admin{display:grid;gap:10px}.check-list-admin span{display:block;background:#f7fbf8;border:1px solid var(--border);border-radius:14px;padding:12px 14px;color:#385144}.check-list-admin code{background:#e9f8ef;color:#0c7c44;border-radius:8px;padding:2px 6px;font-weight:800}

.qr-box{display:grid;place-items:center;background:#f7fbf8;border:1px solid var(--border);border-radius:24px;padding:24px;margin:14px 0}
.qr-box img{width:min(320px,100%);height:auto;background:#fff;border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.pairing-code{font-size:42px;letter-spacing:.12em;font-weight:900;text-align:center;color:var(--green2);background:#e9f8ef;border:1px solid var(--border);border-radius:22px;padding:24px;margin:14px 0}
.empty-state{display:grid;gap:8px;background:#f7fbf8;border:1px dashed var(--border);border-radius:22px;padding:28px;text-align:center;color:var(--muted)}
.empty-state strong{color:var(--dark);font-size:20px}


/* Ajuste da fila de notas doadas */
.notas-fila-table .nota-indice-cell{
    min-width:86px;
    white-space:nowrap;
}
.notas-fila-table .nota-indice-cell strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#e9f8ef;
    color:var(--green2);
    border:1px solid var(--border);
    border-radius:999px;
    padding:6px 10px;
    font-weight:900;
}

.notas-fila-table th,
.notas-fila-table td{
    vertical-align:top;
}
.notas-fila-table .cnpj-cell{
    font-weight:800;
    white-space:nowrap;
}
.notas-fila-table .qr-key-cell{
    min-width:260px;
    max-width:420px;
}
.notas-fila-table .qr-key-cell code{
    display:block;
    background:#f7fbf8;
    border:1px solid var(--border);
    color:#183725;
    border-radius:10px;
    padding:9px 10px;
    font-family:Consolas,Monaco,monospace;
    font-size:12px;
    line-height:1.45;
    white-space:normal;
    word-break:break-all;
}
.notas-actions{
    margin-bottom:0;
    gap:7px;
}
@media(max-width:760px){
    .notas-fila-table .qr-key-cell{
        min-width:220px;
    }
    .notas-actions .btn,
    .notas-actions form{
        width:100%;
    }
    .notas-actions form button{
        width:100%;
    }
}


/* Card elegante para orientação do cron da fila WhatsApp */
.cron-helper{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    align-items:flex-start;
    background:linear-gradient(135deg,#eefaf1,#ffffff);
    border:1px solid var(--border);
    border-radius:20px;
    padding:16px;
    box-shadow:0 10px 24px rgba(16,37,27,.06);
}
.cron-helper-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--green),var(--green2));
    color:#fff;
    font-weight:900;
    font-size:22px;
}
.cron-helper-content strong{
    display:block;
    color:var(--green2);
    font-size:16px;
    margin-bottom:4px;
}
.cron-helper-content span{
    display:block;
    color:var(--muted);
    line-height:1.45;
    font-weight:700;
}
.cron-helper details{
    margin-top:12px;
}
.cron-helper summary{
    cursor:pointer;
    color:var(--green2);
    font-weight:900;
}
.cron-command-row{
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:10px;
    flex-wrap:wrap;
}
.cron-command-row code{
    flex:1 1 320px;
    min-width:0;
    display:block;
    background:#0d281b;
    color:#e6fff0;
    border-radius:12px;
    padding:12px;
    overflow:auto;
    white-space:nowrap;
    font-family:Consolas,Monaco,monospace;
    font-size:12px;
}
@media(max-width:760px){
    .cron-helper{grid-template-columns:1fr}
    .cron-helper-icon{width:42px;height:42px;border-radius:14px}
    .cron-command-row .btn{width:100%}
}


/* Editor visual do site */
.site-hero-admin{margin-bottom:18px}
.site-editor-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:linear-gradient(135deg,#eefaf1,#fff)}
.site-editor-intro strong{display:block;color:var(--green2);margin-bottom:5px;font-size:16px}.site-editor-intro span{display:block;color:var(--muted);line-height:1.5;font-weight:700}.site-editor-intro code{background:#e9f8ef;color:#0c7c44;border-radius:8px;padding:2px 6px}
.site-editor-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}.site-editor-menu{position:sticky;top:92px;display:flex;flex-direction:column;gap:8px}.site-editor-menu strong{display:block;margin-bottom:8px;color:var(--green2)}.site-editor-menu a{padding:10px 12px;border-radius:12px;background:#f4fbf6;color:#315943;font-weight:800}.site-editor-menu a:hover{background:#e5f6ec;color:var(--green2)}.site-editor-menu .btn{margin-top:10px;width:100%}
.site-section-card{scroll-margin-top:90px}.site-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.site-section-title h2{margin:0 0 4px}.site-section-title p{margin:0}.site-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:1/-1}.site-image-editor{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:start}.site-image-preview{height:130px;border:1px solid var(--border);background:#f7fbf8;border-radius:16px;display:grid;place-items:center;overflow:hidden}.site-image-preview img{max-width:100%;max-height:100%;object-fit:contain}.site-image-inputs{display:grid;gap:10px}.site-save-bar{display:flex;gap:12px;align-items:center;justify-content:flex-end;position:sticky;bottom:0;z-index:4;border:1px solid rgba(21,164,91,.25);box-shadow:0 -8px 30px rgba(16,37,27,.08)}.site-reset-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-reset-card strong{display:block;color:var(--danger);margin-bottom:4px}
@media(max-width:1000px){.site-editor-layout{grid-template-columns:1fr}.site-editor-menu{position:relative;top:auto}.site-editor-intro{grid-template-columns:1fr}.site-save-bar{position:relative;flex-direction:column;align-items:stretch}.site-save-bar .btn{width:100%}}
@media(max-width:760px){.site-fields-grid{grid-template-columns:1fr}.site-image-editor{grid-template-columns:1fr}.site-section-title{display:block}.site-section-title .btn{margin-top:10px}.site-reset-card{display:block}.site-reset-card .btn{width:100%;margin-top:12px}}


/* Solicitações de parceiros pelo site */
.partner-lead-card{border-left:5px solid var(--green)}
.partner-lead-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.partner-lead-head h2{margin:0 0 4px;color:var(--green2)}
.partner-lead-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.partner-lead-grid div{border:1px solid var(--border);background:#f8fcf9;border-radius:14px;padding:12px;min-width:0}
.partner-lead-grid small{display:block;color:var(--muted);font-weight:900;margin-bottom:5px;text-transform:uppercase;font-size:11px;letter-spacing:.4px}
.partner-lead-grid strong{display:block;color:var(--green2);overflow-wrap:anywhere}
.partner-lead-grid span{display:block;color:var(--muted);font-size:13px;margin-top:4px;overflow-wrap:anywhere}
.partner-lead-message{background:#fffdf4;border:1px solid #eadfae;border-radius:14px;padding:14px;margin-top:12px;color:#4d4429;line-height:1.55}
.partner-lead-actions{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;margin-top:14px;align-items:end}
.partner-lead-actions textarea{min-height:74px}
.partner-buttons{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.partner-lead-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-lead-actions{grid-template-columns:1fr}}
@media(max-width:700px){.partner-lead-head{display:block}.partner-lead-head .badge{margin-top:10px}.partner-lead-grid{grid-template-columns:1fr}.partner-buttons .btn{width:100%}}


/* Monitoramento dos agentes PDV */
.monitor-stats .stat-online:after{background:linear-gradient(135deg,rgba(21,164,91,.18),rgba(155,225,93,.22))}
.monitor-stats .stat-warning:after{background:linear-gradient(135deg,rgba(217,147,34,.17),rgba(255,213,109,.2))}
.monitor-stats .stat-offline:after{background:linear-gradient(135deg,rgba(216,67,67,.16),rgba(255,170,170,.2))}
.agent-monitor-table code{font-size:12px;word-break:break-all;background:#f7fbf8;border:1px solid var(--border);padding:5px 7px;border-radius:8px;display:inline-block;max-width:260px}
.agent-monitor-table .monitor-row-online td{background:#fbfffc}
.agent-monitor-table .monitor-row-warning td{background:#fffdf6}
.agent-monitor-table .monitor-row-offline td{background:#fff8f8}
.agent-monitor-table .monitor-row-muted td{background:#f8faf9}
.agent-monitor-table small{line-height:1.4}


/* Suporte remoto dos PDVs */
.hero-actions{position:relative;z-index:2;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.hero-admin .hero-actions .btn{position:relative;z-index:2;box-shadow:0 12px 28px rgba(0,0,0,.18);white-space:nowrap}
.hero-admin .hero-actions .btn-hero{background:#fff;color:#0c7c44}
.hero-admin .hero-actions .btn-hero-secondary{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:none}
.suporte-hero{background:linear-gradient(135deg,#062818,#107c52)}
.suporte-card h2{margin-top:0;color:var(--green2)}
.suporte-steps span{display:flex;gap:10px;align-items:flex-start}
.suporte-steps code{min-width:32px;text-align:center;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff}
.suporte-alerta{margin:14px 0;background:linear-gradient(135deg,#eefaf1,#fff)}
.suporte-alerta strong{display:block;color:var(--green2);margin-bottom:4px}
.suporte-quick{border-left:5px solid var(--green)}
.sidebar a.suporte-link{background:#fff5df;color:#9b6107;font-weight:900}
@media(max-width:1100px){.hero-actions{justify-content:flex-start}.hero-actions .btn{width:auto}}
@media(max-width:760px){.hero-actions{width:100%}.hero-actions .btn{width:100%}.suporte-steps span{display:block}.suporte-steps code{display:inline-block;margin-right:6px}}


/* Menu recolhível para ampliar a área útil do painel */
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.sidebar-toggle{background:#eef7f1;color:var(--green2);border:1px solid var(--border);padding:9px 12px;border-radius:12px;font-weight:900;white-space:nowrap}
.sidebar-toggle:hover{background:#dff5e8}
body.sidebar-collapsed .sidebar{transform:translateX(-100%)}
body.sidebar-collapsed .main{margin-left:0;width:100%}
body.sidebar-collapsed .sidebar-toggle{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;border-color:transparent}
.sidebar,.main{transition:.25s ease}
@media(max-width:760px){.topbar-left{gap:8px}.sidebar-toggle{padding:8px 10px;font-size:12px}.sidebar-collapsed .sidebar{transform:translateX(-100%)}}


/* Menu hamburger recolhível - versão corrigida */
.topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}
.hamburger-menu{
    width:46px;
    height:46px;
    min-width:46px;
    padding:0;
    border-radius:14px;
    border:1px solid var(--border);
    background:#eef7f1;
    color:var(--green2);
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    box-shadow:0 8px 18px rgba(16,37,27,.06);
    transition:.2s ease;
}
.hamburger-menu span{
    width:22px;
    height:3px;
    border-radius:999px;
    background:currentColor;
    display:block;
    transition:.2s ease;
}
.hamburger-menu:hover{
    background:#dff5e8;
    transform:translateY(-1px);
}
body.sidebar-collapsed .hamburger-menu{
    background:linear-gradient(135deg,var(--green),var(--green2));
    color:#fff;
    border-color:transparent;
}
body.sidebar-collapsed .sidebar{
    transform:translateX(-105%) !important;
}
body.sidebar-collapsed .main{
    margin-left:0 !important;
    width:100% !important;
}
.sidebar,
.main{
    transition:margin-left .25s ease, width .25s ease, transform .25s ease;
}
.sidebar-toggle{display:none!important}
.mobile-menu{display:none!important}
@media(max-width:760px){
    .hamburger-menu{
        width:44px;
        height:44px;
        min-width:44px;
        border-radius:13px;
    }
    body.sidebar-open .hamburger-menu{
        background:linear-gradient(135deg,var(--green),var(--green2));
        color:#fff;
        border-color:transparent;
    }
    body.sidebar-open .hamburger-menu span:nth-child(1){transform:translateY(8px) rotate(45deg)}
    body.sidebar-open .hamburger-menu span:nth-child(2){opacity:0}
    body.sidebar-open .hamburger-menu span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
    body.sidebar-collapsed .sidebar{transform:translateX(-100%) !important}
}
