:root{--ink:#152f43;--navy:#0a2e4b;--blue:#126c9b;--blue-bright:#197fac;--accent:#ef882d;--bg:#f5f8fb;--card:#fff;--muted:#7e90a1;--border:#e7eef4;--green:#168565;--red:#ca4f53;--shadow:0 6px 22px rgba(18,43,68,.035)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}p{line-height:1.5}h1,h2,h3,p{margin-top:0}.shell{display:flex;min-height:100vh}.sidebar{width:258px;min-width:258px;background:linear-gradient(175deg,#103f68,#092b4a 63%,#072b46);color:#fff;min-height:100vh;display:flex;flex-direction:column;padding:30px 17px 20px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 9px}.brand img{width:50px;height:50px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.65)}.brand b{font-size:14px;letter-spacing:.05em}.brand small{display:block;color:#b8d2e1;font-size:10px;margin-top:4px}.side-separator{border-top:1px solid #ffffff18;margin:30px 7px}.nav-overline{font-size:10px;font-weight:800;letter-spacing:.16em;color:#83b2ce;margin:0 13px 12px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;text-align:left;color:#c1d7e5;border-radius:9px;font-size:13px;padding:13px 14px;display:flex;align-items:center;gap:13px;transition:background .15s}.nav-item:hover{background:#ffffff13;color:white}.nav-item.active{color:white;background:#287ba9;font-weight:650;box-shadow:inset 3px 0 0 var(--accent)}.nav-ic{font-size:20px;width:20px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto;color:#86a8bd;padding:12px 8px}.help-mini{padding:18px 15px;margin-bottom:26px;border:1px solid #3f6d8a;border-radius:11px;background:#ffffff08}.help-mini b{display:block;color:white;font-size:12px;line-height:1.5}.help-mini span{display:block;font-size:11px;line-height:1.5;margin-top:6px}.sidebar-bottom>small{font-size:10px;letter-spacing:.05em}.page{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:white;min-height:77px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.breadcrumb{font-size:13px;color:#94a2af}.breadcrumb b{font-weight:600;color:#415b71}.top-right{display:flex;align-items:center;gap:22px}.online-indicator{color:#278b70;font-size:11px}.user-chip{display:flex;gap:9px;align-items:center}.user-chip b,.user-chip small{display:block;font-size:11px}.user-chip b{font-size:12px}.user-chip small{color:#8e9bac;margin-top:2px}.avatar{height:37px;width:37px;border-radius:50%;background:#eff7fb;display:grid;place-items:center;color:var(--blue);font-weight:800}.icon-btn,.mobile-toggle{border:0;background:none;color:#61778b;font-size:25px}.mobile-toggle{display:none}.content{padding:35px 38px 48px;max-width:1540px;width:100%;margin:auto;flex:1}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading h1{font-size:29px;line-height:1.16;letter-spacing:-.05em;font-weight:800;margin:6px 0 9px}.page-heading p{font-size:13px;color:#8495a5;margin-bottom:0}.heading-dot{color:var(--accent)}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--blue)}.filters{display:flex;gap:10px;flex-wrap:wrap}.field-short{min-width:155px;display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#758798}.field-short input,.field-short select{font-size:12px;padding:10px 12px;background:white;min-width:152px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:21px}.metric{background:white;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:21px;min-height:123px;position:relative;overflow:hidden}.metric .kicker{display:flex;justify-content:space-between;color:#7c91a0;font-size:11px;font-weight:600}.metric .metric-symbol{color:var(--blue);background:#edf6fb;padding:5px 9px;border-radius:8px}.metric .value{font-size:25px;letter-spacing:-.04em;font-weight:800;margin-top:17px}.metric small{color:#9aa8b4;font-size:10px}.metric.income .value{color:#146e61}.metric.expense .value{color:#c76653}.metric.balance{border-bottom:3px solid var(--blue)}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:18px;margin-bottom:20px}.panel{background:white;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px}.panel-head h2,.panel>h2{font-size:15px;font-weight:750;letter-spacing:-.02em;margin:0 0 6px}.panel-head p{font-size:11px;color:#93a1ad;margin:0}.subtle{font-size:10px;color:#9cabb8}.chart-bars{height:216px;display:flex;align-items:end;gap:11px;padding:12px 4px 20px;position:relative;border-bottom:1px solid #ebf1f6}.daybar{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:end;height:100%;gap:9px;min-width:0;position:relative}.daybar .bar{width:42%;min-height:4px;max-width:38px;background:linear-gradient(180deg,#1c85b4,#b6deee);border-radius:5px 5px 1px 1px}.daybar .bar.negative{background:linear-gradient(180deg,#db826a,#f7d1c9)}.daybar span{font-size:10px;color:#9aabb9;white-space:nowrap;position:absolute;bottom:-21px}.team-bars{display:flex;flex-direction:column;gap:14px}.team-row{display:grid;gap:5px}.team-top{display:flex;justify-content:space-between;font-size:11px;gap:10px}.team-top strong{white-space:nowrap}.track{height:8px;background:#f1f5f8;border-radius:8px;overflow:hidden}.track span{display:block;height:100%;border-radius:8px;background:#3d9dc1}.track span.negative{background:#e4a599}.recent-panel{margin-top:0}.table-wrap{width:100%;overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:12px}table.data th{color:#9caab7;font-weight:700;font-size:10px;text-align:left;padding:13px 11px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{border-bottom:1px solid #f1f4f7;padding:14px 11px;color:#3c5669;white-space:nowrap}table.data tr:last-child td{border-bottom:0}.cell-title{font-weight:650;color:var(--ink)}.muted{color:#8495a4}.money-positive{color:#148765!important;font-weight:700}.money-negative{color:#c65c55!important;font-weight:700}.pill{padding:5px 8px;border-radius:6px;background:#edf6fa;color:#28779c;font-size:10px;font-weight:650}.pill.green{color:#0c8060;background:#e6f8f1}.pill.red{color:#a84d48;background:#fff0ed}.pill.grey{color:#6b7c89;background:#eef2f5}.btn{border:1px solid transparent;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,filter .15s;white-space:nowrap}.btn:hover{filter:brightness(.965)}.btn:active{transform:scale(.99)}.btn-primary{background:var(--blue);color:white}.btn-soft{background:#f1f7fb;color:#276d93}.btn-danger{background:#fff0ee;color:#a34141}.btn-sm{padding:6px 9px;font-size:11px}.full{width:100%}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:21px}.mini-stat{background:white;border:1px solid var(--border);padding:19px;border-radius:11px}.mini-stat span{font-size:11px;color:#7d91a3}.mini-stat b{display:block;font-size:23px;margin-top:8px}.sales-grid{display:grid;grid-template-columns:minmax(300px,1.55fr) minmax(320px,1fr);gap:18px}.pos-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pos-card{padding:18px;text-align:left;background:#f8fbfd;border:1px solid var(--border);border-radius:10px;min-height:116px;display:flex;flex-direction:column;justify-content:space-between}.pos-card:hover{border-color:#8bc1df;background:#f4faff}.pos-card b{font-size:12px}.pos-card small{font-size:10px;color:#8396a3}.pos-card strong{font-size:16px;color:var(--blue)}.pos-card:disabled{opacity:.47;cursor:not-allowed}.cart-panel>h2{margin-bottom:20px}.cart-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f6;padding:11px 0;font-size:12px}.cart-line .qty-buttons{display:flex;align-items:center;gap:8px}.qty-buttons button{width:24px;height:24px;border:1px solid var(--border);background:#f8fafc;border-radius:5px}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--border);margin-top:20px}.cart-total span{font-size:12px;color:#8797a6}.cart-total strong{font-size:24px;color:var(--blue)}.hint{color:#9aa8b3;font-size:11px;text-align:center;margin:12px 0 0}.spaced{margin-top:20px}.printer-note{color:#367ba0;background:#eaf5fa;font-size:11px;padding:10px 13px;border-radius:8px}.printer-note select{border:0;background:transparent;color:#286a8f;font-size:11px;font-weight:700;outline:0}.report-guide{background:#edf6fa;border:1px solid #d5e9f1;border-radius:10px;padding:20px;margin-top:20px;font-size:12px}.report-guide b{color:#22658a}.report-guide p{margin:8px 0 0;color:#64849a}.page-footer{display:flex;justify-content:space-between;gap:14px;padding:20px 38px;color:#9caab6;font-size:10px;border-top:1px solid var(--border)}.page-footer b{color:#4a8aa7}.empty{padding:32px 12px;text-align:center;color:#99a9b5;font-size:12px}.empty strong{display:block;color:#6e8798;font-size:13px;margin-bottom:6px}.skeleton{background:linear-gradient(90deg,#fff,#f4f6fa,#fff);background-size:200%;animation:pulse 1.5s infinite}@keyframes pulse{to{background-position-x:-200%}}.dialog{width:min(510px,calc(100vw - 28px));border:none;box-shadow:0 18px 60px rgba(4,40,65,.23);border-radius:13px;padding:0;max-height:90vh}.dialog::backdrop{background:#071b32aa}.modal-head{padding:25px 26px 16px;display:flex;justify-content:space-between;gap:12px}.modal-head h2{font-size:22px;margin:8px 0 0}.modal-close{background:transparent;border:0;color:#8a9aaa;font-size:18px}.modal-body{padding:4px 26px 15px;max-height:60vh;overflow:auto}.modal-actions{padding:17px 26px;border-top:1px solid var(--border);display:flex;justify-content:end;gap:9px}.modal-body label,.cart-panel label,.login-card label{font-size:11px;color:#506a7c;font-weight:680;display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.modal-body input,.modal-body select,.modal-body textarea,.cart-panel input,.cart-panel select,.login-card input,.field-short input,.field-short select{background:white;border:1px solid #dce6ed;border-radius:7px;padding:11px 12px;outline:0;width:100%;color:#243e51}.modal-body input:focus,.modal-body select:focus,.cart-panel input:focus,.login-card input:focus,.field-short input:focus{border-color:#4ca1cc;box-shadow:0 0 0 3px #2c94ca15}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:#c84f4f;font-size:12px;min-height:17px}.toast{position:fixed;right:25px;bottom:25px;padding:14px 20px;background:#103b5b;color:white;font-size:12px;border-radius:10px;box-shadow:0 10px 30px #082a4840;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;z-index:20;max-width:360px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#9e4042}.text-btn{border:0;background:none;color:var(--blue);font-size:11px;font-weight:750;padding:4px}.login-body{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at top left,#e5f4fa,transparent 47%),#f5f9fc;padding:20px}.login-card{background:white;max-width:430px;width:100%;padding:40px 44px 25px;border:1px solid #e3edf4;border-radius:16px;box-shadow:0 20px 70px #18436315}.login-logo{display:block;width:95px;height:95px;object-fit:contain;margin:0 auto 20px}.login-card .eyebrow{text-align:center}.login-card h1{text-align:center;font-size:26px;letter-spacing:-.04em;margin:8px 0 3px}.login-card>.muted{text-align:center;font-size:12px;margin:0 0 28px}.login-card label{font-size:12px}.login-card .btn{margin-top:4px;padding:13px}.login-footer{border-top:1px solid var(--border);padding-top:20px;text-align:center;color:#a3afba;font-size:10px;line-height:1.9;margin-top:25px}.login-footer strong{color:#5b90af}.hide{display:none!important}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.sidebar{width:224px;min-width:224px}.content{padding:28px}.topbar{padding:0 26px}.sales-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:9;transform:translateX(-102%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-toggle{display:block}.topbar{min-height:66px;padding:0 16px}.top-right{gap:10px}.online-indicator{display:none}.user-chip div{display:none}.content{padding:22px 15px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-heading h1{font-size:25px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:14px;min-height:113px}.metric .value{font-size:20px}.analytics-grid{gap:12px}.panel{padding:17px}.mini-stats{grid-template-columns:1fr;gap:8px}.page-footer{padding:16px;flex-direction:column}.filters{width:100%}.field-short{flex:1}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog{max-height:95vh}.modal-body{max-height:64vh}.form-grid{grid-template-columns:1fr}}
/* EJC v1.1 - relacionamento */
.prospect-filters{display:flex;gap:10px;margin:13px 0 20px;align-items:center;flex-wrap:wrap}
.prospect-filters input,.prospect-filters select{padding:11px 12px;border:1px solid #dce6ed;border-radius:7px;background:white;color:#243e51;min-width:185px}
.prospect-filters input{flex:1;min-width:240px}
.consent{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5;font-weight:550!important}
.consent input{width:auto!important;margin-top:3px;flex:none}
@media(max-width:760px){.prospect-filters input,.prospect-filters select{min-width:100%}}

/* v1.2 - rankings e controle de doacoes */
.rankings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
.ranking-list{display:flex;flex-direction:column;gap:16px}
.ranking-entry{display:grid;gap:8px}
.ranking-head{display:flex;align-items:center;gap:10px;min-width:0;font-size:12px}
.ranking-head>strong{white-space:nowrap;color:var(--ink);margin-left:auto}
.ranking-place{font-size:10px;background:#eaf4fa;border-radius:7px;color:#21759e;font-weight:800;min-width:30px;padding:7px;text-align:center}
.ranking-label{display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}
.ranking-label b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ranking-label small{color:#8196a3}
.food-mini-panel{margin-bottom:20px}
.pickup-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d5e4ec;border-radius:8px;background:#f6f9fc;cursor:pointer}
.pickup-toggle input{width:20px;height:20px;accent-color:#178566;cursor:pointer}
@media(max-width:920px){.rankings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ranking-head{gap:6px}.ranking-head>strong{font-size:11px}.food-mini-panel .panel-head{align-items:flex-start;flex-direction:column}}

/* EJC 1.2.1 - matriz de permissões por usuário */
.permissions-panel{border:1px solid var(--border,#dee7ec);border-radius:14px;padding:16px;margin-top:18px;background:var(--card,#fff)}
.permissions-panel>p{margin:5px 0 14px}
.permission-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e7edf0}
.permission-row>b{font-size:13px;font-weight:600;flex:1}
.permission-row select{min-width:155px;max-width:180px;font-size:13px}
.permission-row select:disabled{opacity:.65}
@media(max-width:500px){.permission-row{flex-direction:column;align-items:stretch}.permission-row select{max-width:none;width:100%}}
