@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--black:#1d2024;--nav:#202328;--yellow:#ffcc18;--warm:#f7f7f4;--white:#fff;--ink:#252a2f;--dim:#697079;--border:#e6e5de;--red:#b94d43;--green:#1e8064;--amber:#a86c15;--blue:#3264aa;--shadow:0 4px 24px rgba(40,39,31,.05)}
*{box-sizing:border-box}body{margin:0;background:var(--warm);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{padding:11px 12px;width:100%;min-width:0;background:#fff;border:1px solid #dcdedc;border-radius:9px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#b59522;box-shadow:0 0 0 3px rgba(255,204,24,.15)}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}th{text-align:left;color:#828585;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}th,td{padding:13px 12px;border-bottom:1px solid #f0f0eb}td{font-size:13px}tbody tr:hover{background:#fbfbf6}b,strong{font-weight:700}.muted{color:var(--dim)}.small{font-size:12px}.loader{height:100vh;display:grid;place-content:center;text-align:center;font-family:'Playfair Display',serif;font-size:32px;font-weight:800}.loader span{font:13px 'DM Sans';color:var(--dim);margin-top:12px}
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#fff}.login-side{background:radial-gradient(circle at 30% 25%,#46433a,var(--black) 60%);color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px;gap:26px}.login-side img{width:210px;height:210px;object-fit:contain}.login-side h1{font:700 42px 'Playfair Display',serif;margin:0;text-align:center}.login-side p{color:#c9c9c2;max-width:360px;line-height:1.8;text-align:center}.login-main{display:grid;place-items:center;padding:30px}.login-card{width:min(380px,100%)}.login-card h2{font:700 30px 'Playfair Display',serif;margin:0 0 7px}.login-card p{color:var(--dim);line-height:1.8}.login-card label{display:block;font-size:12px;font-weight:700;color:#555;margin:20px 0 8px}.login-card .primary{margin-top:24px;width:100%;padding:14px}.login-note{font-size:12px;color:var(--dim);margin-top:20px;line-height:1.7}
.layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d7d8d9;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:26px 15px}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 22px;border-bottom:1px solid #383a40;margin-bottom:21px}.brand img{width:49px;height:49px;object-fit:contain}.brand b{display:block;color:#fff;font:700 20px 'Playfair Display',serif}.brand span{display:block;font-size:10px;color:#adadb2;text-transform:uppercase;letter-spacing:.16em;margin-top:3px}.side-heading{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:#898c95;margin:21px 10px 7px}.navlink{display:flex;align-items:center;gap:10px;width:100%;border:0;color:#c6c7ca;background:none;text-align:left;padding:11px 12px;border-radius:8px;margin:3px 0;font-weight:500;font-size:13px}.navlink:hover{background:#35373d;color:#fff}.navlink.active{background:#ffd029;color:#25231c;font-weight:700}.navicon{width:19px;text-align:center;font-size:16px}.side-footer{margin-top:auto;border-top:1px solid #383a40;padding:20px 9px 3px}.side-footer small{font-size:11px;color:#9da0a7;display:block;margin-top:5px}.logout{border:0;background:none;color:#d1d3d9;margin-top:16px;padding:0}.main{min-width:0;max-width:1650px;padding:32px 38px 60px;margin:0 auto;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:31px}.eyebrow{display:block;color:var(--amber);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}.topbar h1{font:700 34px 'Playfair Display',serif;margin:0}.topbar p{margin:8px 0 0;color:var(--dim)}.actionbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button,.primary,.secondary,.danger,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:11px 15px;font-weight:700;border:1px solid transparent;white-space:nowrap}.primary{background:var(--yellow);color:#27251f}.primary:hover{background:#f4bf09}.secondary{background:#25292d;color:white}.ghost{border-color:var(--border);background:white;color:var(--ink)}.danger{background:#fff0ee;color:var(--red);border-color:#f2dbd5}.button.sm,.primary.sm,.secondary.sm,.ghost.sm,.danger.sm{padding:7px 10px;font-size:11px}.grid{display:grid;gap:18px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.twocol{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.threecol{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.metric{background:white;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.panel{padding:22px;margin-bottom:20px;min-width:0}.metric{padding:22px}.metric .meta{font-size:12px;color:var(--dim);font-weight:600}.metric .number{font-size:28px;font-weight:800;letter-spacing:-.04em;display:block;margin:13px 0 9px}.metric .delta{font-size:12px;color:var(--dim)}.metric .delta.pos{color:var(--green)}.metric .delta.neg{color:var(--red)}.sectiontitle{font:700 21px 'Playfair Display',serif;margin:0 0 6px}.sectionhint{color:var(--dim);font-size:12px;margin:0 0 18px;line-height:1.5}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.table-wrap{overflow:auto}.empty{padding:34px 18px;text-align:center;color:#8a8b88;border-radius:10px;background:#fafaf7;font-size:13px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;background:#eee;color:#5c6265;white-space:nowrap}.badge.ok{background:#e4f5ee;color:var(--green)}.badge.warn{background:#fff1d5;color:var(--amber)}.badge.bad{background:#fce9e7;color:var(--red)}.badge.info{background:#e8f1fb;color:var(--blue)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field label{display:block;color:#62666a;font-size:11px;font-weight:700;margin-bottom:6px}.wide{grid-column:1/-1}.field small{color:var(--dim)}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:17px;flex-wrap:wrap}.hidden{display:none!important}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.toolbar input{max-width:320px}.toolbar select{max-width:210px}.mini-bars{height:210px;display:flex;align-items:flex-end;gap:18px;padding:14px 2px 0}.bar-item{display:flex;flex:1;min-width:0;align-items:center;flex-direction:column;justify-content:flex-end;height:100%;gap:7px}.bar-fill{width:min(100%,65px);background:var(--yellow);border-radius:6px 6px 0 0;min-height:3px}.bar-item small{font-size:10px;color:#7b7d78}.bar-item em{font-style:normal;font-size:10px;white-space:nowrap;color:#333;font-weight:700}.toplist{display:flex;flex-direction:column;gap:16px}.topline{display:flex;justify-content:space-between;gap:12px;font-size:12px}.topline b{font-size:12px}.track{height:6px;border-radius:6px;background:#f0efec;margin-top:7px;overflow:hidden}.track>span{display:block;background:#e3b01d;height:100%;border-radius:6px}.message{background:#fff9e4;border:1px solid #f7e9b2;padding:13px 16px;border-radius:9px;color:#86650a;margin:15px 0;font-size:12px;line-height:1.7}.soft{background:#fbfaf5;padding:15px;border-radius:10px}.inline-flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.item-row{display:grid;grid-template-columns:2fr .65fr 1fr 1fr 36px;gap:8px;align-items:end;margin:9px 0}.order-summary{margin:20px 0 4px;margin-left:auto;max-width:420px;padding:16px;background:#fff9e8;border-radius:10px}.summary-line{display:flex;justify-content:space-between;margin:8px 0}.summary-line.total{padding-top:11px;border-top:1px solid #eaddab;font-size:19px;font-weight:800}.portal-box{background:linear-gradient(125deg,#22252a,#353229);color:#fff;border-radius:14px;padding:30px;margin-bottom:20px;position:relative;overflow:hidden}.portal-box h2{font:700 30px 'Playfair Display',serif;margin:0 0 9px}.portal-box p{max-width:580px;line-height:1.8;color:#e3e1dc}.portal-box img{position:absolute;width:180px;right:20px;top:-34px;opacity:.12}.hint-list{font-size:12px;color:var(--dim);line-height:1.9}.footer-note{font-size:11px;color:#949896;margin:34px 0 0}.kpi-row{padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}.kpi-row:last-child{border-bottom:0}.kpi-row strong{font-size:18px}.float-actions{display:flex;gap:7px}.form-error{color:var(--red);font-size:12px;margin-top:13px}.modal-veil{position:fixed;z-index:100;inset:0;background:rgba(25,24,25,.65);display:grid;place-items:center;padding:16px}.modal-card{width:min(740px,100%);max-height:92vh;overflow:auto;background:#fff;padding:27px;border-radius:15px;box-shadow:0 25px 80px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h3{margin:0;font:700 24px 'Playfair Display',serif}.close{border:0;background:#f2f2ee;border-radius:10px;padding:8px 13px;font-size:20px}.divider{height:1px;background:var(--border);margin:20px 0}#toast{position:fixed;z-index:110;right:25px;bottom:25px;min-width:240px;max-width:440px}.toastmsg{padding:14px 18px;background:#222;color:white;border-radius:10px;box-shadow:0 20px 60px #0003;margin-top:8px;font-size:13px}.toastmsg.error{background:#9e3028}.mobile-menu{display:none}.role{font-weight:500;color:#f1ca41}.link{background:none;color:#766017;border:0;text-decoration:underline;padding:0;cursor:pointer}
@media(max-width:1100px){.main{padding:28px 22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol{grid-template-columns:1fr}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.login{grid-template-columns:1fr}.login-side{padding:35px 20px}.login-side img{width:104px;height:104px}.login-side h1{font-size:28px}.login-side p{display:none}.login-main{padding:50px 25px}.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:10px;display:block}.sidebar .brand{border:0;margin:0;padding:5px}.sidebar .brand img{width:38px;height:38px}.brand b{font-size:17px}.side-heading,.side-footer{display:none}.navitems{display:flex;overflow:auto;gap:5px;padding:5px}.navlink{min-width:max-content;font-size:12px;padding:10px}.navicon{display:none}.main{padding:23px 15px 45px}.topbar{align-items:flex-start}.topbar h1{font-size:28px}.metrics{gap:11px}.metric{padding:17px}.metric .number{font-size:23px}.form-grid,.form-grid.four{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 70px 80px 28px}.item-row .line-total{display:none}.threecol{grid-template-columns:1fr}.portal-box{padding:20px}.portal-box h2{font-size:26px}.portal-box img{width:120px}.modal-card{padding:19px}}
/* Painel executivo e operação comercial v0.3 */
.sidebar{overflow-y:auto}.navitems{flex:1}.priority{padding:12px 4px;border-bottom:1px solid var(--border);font-size:13px;color:#52585d}.priority b{display:inline-block;color:#98741c;font-size:15px;margin-right:8px}.panel .toolbar select{max-width:245px}.panel td .small{margin-top:4px}.panel .badge.bad{font-weight:800}.metric .number{font-variant-numeric:tabular-nums}
@media(max-width:800px){.sidebar{overflow-y:visible}.navitems{flex:initial}.priority{font-size:12px}}

/* Produtos Caicó v0.3.2 — dashboard executivo responsivo */
.period-select{width:auto;min-width:136px}.executive-bars{gap:8px;overflow-x:auto;justify-content:space-between}.executive-bars .bar-item{min-width:36px}.executive-bars .bar-item em{font-size:9px}.executive-bars .bar-item small{font-size:9px}.executive-bars .bar-fill{background:#ffc921}
@media(max-width:820px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol,.threecol{grid-template-columns:1fr}.main{padding:20px 15px 35px}.topbar{align-items:flex-start;flex-direction:column}.panel{padding:17px}.metric{padding:15px}.metric .number{font-size:23px}.form-grid,.form-grid.four{grid-template-columns:1fr 1fr}.executive-bars{gap:6px}.executive-bars .bar-item{min-width:42px}}
@media(max-width:560px){.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:12px}.metric .number{font-size:19px}.form-grid,.form-grid.four{grid-template-columns:1fr}.period-select{min-width:130px}.topbar h1{font-size:26px}.executive-bars{justify-content:flex-start}.executive-bars .bar-item{min-width:49px}}

/* v0.3.5 */
.report-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.report-tile{border:1px solid #dedbd3;border-radius:12px;padding:18px;background:#fff}.recon-input{width:125px;max-width:100%}.table-wrap{overflow-x:auto}.input-info{font-size:12px;color:#777}

/* v0.4.0 — Central de Integrações Jota Intelligence */
.jota-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#25292d;color:white;padding:29px;border-radius:14px;margin-bottom:16px}
.jota-hero .eyebrow{color:#ffd029}.jota-hero h2{font:700 28px 'Playfair Display',serif;margin:0 0 6px}.jota-hero p{margin:0;color:#d2d5d5;font-size:13px}
.jota-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:14px}
.jota-stats>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:7px}
.jota-stats strong{font-size:29px}.jota-stats span,.jota-meta{font-size:12px;color:var(--dim)}.jota-meta{margin:10px 0 20px}
.jota-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.jota-filter{border:1px solid var(--border);border-radius:22px;background:#fff;padding:9px 13px;font-size:12px;font-weight:700;color:#555}
.jota-filter.chosen{background:#272a2d;color:#fff;border-color:#272a2d}
.jota-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px}
.jota-module{border:1px solid var(--border);background:#fff;border-radius:13px;padding:19px;display:flex;flex-direction:column;min-height:207px}
.jota-module-top{display:flex;align-items:start;justify-content:space-between;gap:6px;color:var(--dim);font-size:11px}
.jota-module h3{font-size:16px;line-height:1.3;margin:14px 0 8px}.jota-module p{font-size:12px;line-height:1.6;color:#666;margin:0}
.jota-module .jota-note{margin-top:8px;color:#896a1d}.jota-module-foot{margin-top:auto;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.jota-module-foot small,.jota-pending{font-size:11px;color:var(--dim)}.jota-disclaimer{font-size:12px;color:#777;margin:22px 0}
@media(max-width:760px){.jota-hero{padding:20px;align-items:stretch;flex-direction:column}.jota-stats{gap:7px}.jota-stats>div{padding:12px}.jota-stats strong{font-size:23px}.jota-cards{grid-template-columns:1fr}}


/* v0.4.1 — agrupamento do menu lateral */
.navitems{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.nav-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.nav-group-title{
  padding:10px 18px 4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#c9a227;
  opacity:.95;
}

.nav-group-items{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.nav-group .navlink{
  margin:0 10px;
}

.nav-group + .nav-group{
  margin-top:2px;
}


/* Produtos Caico v0.4.2 — Drill-Down + Mascote + Gerenciador */
.nav-group-toggle{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;color:#d5ad20;border-radius:9px;padding:12px 17px;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.nav-group-toggle::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.nav-group.is-expanded .nav-group-toggle::after{transform:rotate(45deg)}
.nav-group-toggle:hover{background:rgba(255,205,31,.08)}.nav-group-toggle:focus-visible{outline:2px solid #ffcc18;outline-offset:2px}
.nav-group-items[hidden]{display:none!important}
.jota-module-options{max-height:55vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:15px 0}
.jota-module-option{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid #e7e2d6;border-radius:10px;font-size:12px;cursor:pointer}
.jota-module-option input{accent-color:#d9a915;width:17px;height:17px;margin-top:2px;flex-shrink:0}
.jota-module-option span{display:flex;flex-direction:column;gap:5px}.jota-module-option small{color:#767a7c}.jota-module-option:has(input:disabled){opacity:.6;cursor:not-allowed}
#jota-mascot{position:fixed;right:18px;bottom:18px;z-index:85;font-family:'DM Sans',sans-serif}
.jota-mascot-launch{background:#25282c;border:2px solid #ffcc18;color:#fff;border-radius:28px;padding:11px 17px;box-shadow:0 10px 36px #0004;font-weight:700;cursor:pointer}
.jota-mascot-launch span{font-size:21px;margin-right:5px}
.jota-mascot-panel{position:absolute;right:0;bottom:64px;width:min(380px,calc(100vw - 26px));max-height:70vh;overflow:auto;padding:19px;border-radius:16px;background:#fff;box-shadow:0 16px 60px #0005;border:1px solid #e8e2cc;color:#272b30;font-size:13px}
.jota-mascot-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px}
.jota-mascot-panel ol{padding-left:21px;line-height:1.7}.jota-mascot-panel li{padding:3px 0}
.jota-mascot-question{display:flex;flex-direction:column;gap:6px;margin-top:16px}.jota-mascot-question label{font-size:12px;font-weight:700}
.jota-mascot-question input{width:100%;border:1px solid #d7d4cc;border-radius:8px;padding:10px}
.jota-mascot-answer{margin-top:10px;padding:10px;border-radius:8px;background:#fff6dd;line-height:1.65}
@media(max-width:800px){.navitems{display:block;overflow-x:hidden;overflow-y:visible}.nav-group-items .navlink{white-space:normal;min-width:0}#jota-mascot{right:10px;bottom:10px}}
