:root{--bg:#050505;--panel:#0d0d0d;--panel2:#131313;--line:#2d2d2d;--text:#f5f5f5;--muted:#858585}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 92% 0,#252525 0,transparent 25%),#050505;color:var(--text);font-family:Segoe UI,Arial,sans-serif}
button,input,textarea{font:inherit}
.layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}
aside{background:#080808;border-right:1px solid #222;padding:20px 16px;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.logo{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#050505;font-weight:1000;background:linear-gradient(145deg,#fff,#aaa 45%,#242424 68%,#eaeaea)}
.brand b{display:block;letter-spacing:.12em;font-size:13px}.brand small{display:block;color:#777}
.nav{border:0;border-radius:8px;background:transparent;color:#aaa;text-align:left;padding:13px;margin:3px 0;cursor:pointer}
.nav.active,.nav:hover{color:#fff;background:linear-gradient(90deg,#1d1d1d,#0e0e0e);box-shadow:inset 3px 0 #e9e9e9}
.dbbox{margin-top:auto;border:1px solid #282828;border-radius:10px;padding:12px;display:flex;gap:9px;align-items:center}
.dbox{}
#dbdot{width:9px;height:9px;border-radius:50%;background:#555}#dbdot.ok{background:#fff;box-shadow:0 0 10px #fff8}
.dbbox small,.dbbox b{display:block}.dbbox small{font-size:10px;color:#777}.dbbox b{font-size:12px}
main{padding:26px 32px;min-width:0}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
header small,.panel small{color:#777;letter-spacing:.16em;font-size:10px}h1{margin:4px 0 0;font-size:25px}
.metal{border:1px solid #d8d8d8;border-radius:9px;background:linear-gradient(#fff,#d2d2d2 46%,#777 51%,#ececec);color:#050505;font-weight:800;padding:10px 15px;cursor:pointer}
.wide{width:100%;margin-top:8px}
.page{display:none}.page.active{display:block}
.hero{border:1px solid #303030;border-radius:16px;padding:34px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#151515,#080808 65%,#191919)}
.hero h2{font-size:40px;line-height:1.05;margin:16px 0}.hero em{font-style:normal;background:linear-gradient(90deg,#fff,#777,#fff);-webkit-background-clip:text;color:transparent}.hero p{max-width:620px;color:#969696}
.orb{width:165px;height:165px;border-radius:50%;margin-right:35px;background:radial-gradient(circle at 30% 25%,#fff,#bdbdbd 8%,#444 29%,#060606 56%,#aaa 75%,#151515 88%);box-shadow:inset -20px -20px 35px #000,0 0 45px #ffffff12}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0}
.stats>div,.panel{border:1px solid #292929;border-radius:13px;background:linear-gradient(#121212,#0b0b0b);padding:18px}
.stats small{color:#888}.stats b{display:block;font-size:30px;margin-top:7px}
.panel h3{margin:2px 0 14px}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.search,label input,label textarea,.ing-row input{width:100%;background:#070707;border:1px solid #303030;color:#fff;border-radius:8px;padding:11px 12px;outline:none}
.search{margin-bottom:14px}
.cards,.company-grid{display:grid;gap:13px}
.script-card,.company-card{border:1px solid #2b2b2b;border-radius:12px;background:#0a0a0a;overflow:hidden}
.script-top,.company-top{padding:16px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.script-title h3,.company-title h3{margin:0 0 4px}.muted{color:#7d7d7d;font-size:12px}.resource{font-family:Consolas,monospace;color:#d7d7d7}
.actions{display:flex;gap:8px}.ghost,.danger{border:1px solid #373737;background:#151515;color:#ddd;border-radius:7px;padding:7px 10px;cursor:pointer}.danger{color:#bbb}
.command-list{border-top:1px solid #222}.command-row{display:grid;grid-template-columns:180px 1.2fr 1.4fr 80px;gap:12px;padding:13px 16px;border-bottom:1px solid #1c1c1c;align-items:start}.command-row:last-child{border-bottom:0}.command-name{font-family:Consolas,monospace;font-weight:700}.cmdlabel{display:block;color:#707070;font-size:10px;margin-bottom:3px;letter-spacing:.1em}
.company-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.company-image{height:145px;background:#111 center/cover no-repeat;border-bottom:1px solid #262626;position:relative}.company-image.empty:after{content:"SEM IMAGEM";position:absolute;inset:0;display:grid;place-items:center;color:#555;letter-spacing:.16em;font-size:11px}
.company-body{padding:15px}.coord{font-family:Consolas,monospace;color:#a8a8a8;font-size:12px}
.craft-list{margin-top:12px;display:grid;gap:8px}.craft-item{border:1px solid #282828;border-radius:9px;padding:11px;background:#0d0d0d}.craft-output{display:flex;justify-content:space-between;gap:10px;font-weight:700}.ingredients-text{margin-top:6px;color:#8e8e8e;font-size:12px}
.badge{border:1px solid #3a3a3a;border-radius:7px;padding:5px 8px;color:#aaa;font-size:11px}
.tablewrap{max-height:650px;overflow:auto;border:1px solid #242424;border-radius:9px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #202020;font-size:13px}th{position:sticky;top:0;background:#151515;color:#999;font-size:11px}
.modal{position:fixed;inset:0;background:#000d;display:none;place-items:center;padding:20px;z-index:20}.modal.open{display:grid}
.modalbox{width:min(650px,100%);position:relative;border:1px solid #4a4a4a;border-radius:15px;background:linear-gradient(#171717,#0b0b0b);padding:22px;max-height:90vh;overflow:auto}.modalbox.large{width:min(780px,100%)}
.modalbox h2{margin:5px 0 18px}.modalbox label{display:block;color:#aaa;font-size:12px;margin:12px 0}.modalbox input,.modalbox textarea{margin-top:6px}
.close{position:absolute;right:14px;top:10px;border:0;background:none;color:#aaa;font-size:25px;cursor:pointer}
.autoInfo{border:1px solid #2d2d2d;background:#0a0a0a;border-radius:8px;padding:10px;color:#aaa;font-size:12px}
.ingredients-head{display:flex;justify-content:space-between;align-items:center;margin:15px 0 8px}.ingredients{display:grid;gap:8px}
.ing-row{display:grid;grid-template-columns:1fr 100px 42px;gap:8px;align-items:center;margin-bottom:8px}.ing-row button{height:42px}
code{font-family:Consolas,monospace}
@media(max-width:980px){.stats{grid-template-columns:repeat(2,1fr)}.command-row{grid-template-columns:1fr}.orb{display:none}}
@media(max-width:780px){.layout{grid-template-columns:1fr}aside{display:none}main{padding:17px}.company-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}}


/* V3 - seletor customizado de itens */
.item-picker{position:relative}
.picker-results{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);
  max-height:280px;overflow:auto;z-index:50;background:#0b0b0b;
  border:1px solid #3b3b3b;border-radius:10px;box-shadow:0 18px 45px #000;
}
.picker-results.open{display:block}
.picker-head,.picker-option{
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1.2fr);
  gap:14px;align-items:center;
}
.picker-head{
  position:sticky;top:0;z-index:2;padding:9px 12px;background:#171717;
  color:#777;font-size:10px;letter-spacing:.12em;border-bottom:1px solid #292929;
}
.picker-option{
  padding:10px 12px;border-bottom:1px solid #1d1d1d;cursor:pointer;
}
.picker-option:hover{background:linear-gradient(90deg,#222,#121212)}
.picker-option:last-child{border-bottom:0}
.picker-spawn{font-family:Consolas,monospace;color:#f0f0f0;font-size:12px}
.picker-label{color:#c7c7c7;font-size:12px}
.picker-empty{padding:14px;color:#777;font-size:12px}
.selected-item{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;
}
.selected-item>div{
  border:1px solid #2d2d2d;background:#0a0a0a;border-radius:8px;padding:10px;
}
.selected-item span{
  display:block;color:#707070;font-size:9px;letter-spacing:.12em;margin-bottom:4px
}
.selected-item b{font-size:12px}
.ing-row{position:relative}
.ing-picker{position:relative}
.ing-selected{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin-top:-2px;margin-bottom:6px
}
.ing-selected>div{
  border:1px solid #252525;background:#090909;border-radius:7px;padding:7px 9px
}
.ing-selected span{display:block;color:#666;font-size:9px;letter-spacing:.1em}
.ing-selected b{font-size:11px}
@media(max-width:760px){
  .picker-head,.picker-option,.selected-item,.ing-selected{grid-template-columns:1fr}
}

.craft-rule{
  margin:12px 0 4px;
  padding:10px 12px;
  border:1px solid #2c2c2c;
  border-radius:8px;
  background:#090909;
  color:#858585;
  font-size:11px;
}


/* V6 - Pendências */
.pending-box{
  margin-top:auto;
  margin-bottom:10px;
  width:100%;
  border:1px solid #303030;
  border-radius:10px;
  background:linear-gradient(145deg,#151515,#090909);
  color:#eee;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  cursor:pointer;
}
.pending-box:hover{
  border-color:#aaa;
  background:linear-gradient(145deg,#1d1d1d,#0d0d0d);
}
.pending-box small{
  display:block;
  color:#777;
  font-size:9px;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.pending-box b{font-size:12px}
.pending-arrow{font-size:24px;color:#777}
.pending-help{
  color:#8d8d8d;
  font-size:12px;
  line-height:1.6;
  margin-top:0;
  margin-bottom:14px;
}
.pending-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #393939;
  background:#121212;
  color:#bdbdbd;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
}
.pending-status:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#bdbdbd;
}
.manual-item-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 10px;
  color:#7f7f7f;
  font-size:11px;
}
.pending-source{
  display:inline-block;
  margin-left:6px;
  border:1px solid #3b3b3b;
  border-radius:5px;
  padding:2px 5px;
  color:#aaa;
  font-size:9px;
  vertical-align:middle;
}
.db-source{
  display:inline-block;
  margin-left:6px;
  border:1px solid #313131;
  border-radius:5px;
  padding:2px 5px;
  color:#777;
  font-size:9px;
  vertical-align:middle;
}


/* V7 - múltiplas coordenadas por empresa */
.locations-create-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:18px 0 10px;
}
.locations-create-head small{
  display:block;
  color:#747474;
  margin-top:3px;
}
.company-location-field{
  border:1px solid #2c2c2c;
  border-radius:9px;
  background:#0a0a0a;
  padding:11px;
  margin-bottom:8px;
}
.company-location-grid{
  display:grid;
  grid-template-columns:1fr 1fr 42px;
  gap:8px;
  align-items:end;
}
.company-location-grid label{margin:0}
.location-list{
  display:grid;
  gap:7px;
  margin-top:12px;
}
.location-item{
  border:1px solid #292929;
  background:#0b0b0b;
  border-radius:8px;
  padding:10px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.location-item .coords{
  font-family:Consolas,monospace;
  font-size:11px;
  color:#d0d0d0;
}
.location-item .location-desc{
  color:#7d7d7d;
  font-size:11px;
  margin-top:4px;
}
.company-section-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:14px;
  margin-bottom:7px;
}
.company-section-title b{
  font-size:11px;
  letter-spacing:.08em;
  color:#bdbdbd;
}
@media(max-width:760px){
  .company-location-grid{grid-template-columns:1fr}
}


/* V8 - edição e ingredientes em lista */
.craft-ingredients-list{
  margin-top:8px;
  display:grid;
  gap:6px;
}
.craft-ingredient-line{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:8px;
  align-items:start;
  border-top:1px solid #202020;
  padding-top:6px;
}
.craft-ingredient-qty{
  color:#ddd;
  font-weight:700;
}
.craft-ingredient-data{
  color:#9b9b9b;
  font-size:12px;
}
.craft-ingredient-data b{
  color:#e8e8e8;
  font-weight:600;
}


/* V9 - Logo e identidade editáveis */
.brand-editable{
  width:100%;
  border:1px solid transparent;
  background:transparent;
  color:inherit;
  padding:7px 6px;
  border-radius:10px;
  text-align:left;
  cursor:pointer;
  position:relative;
}
.brand-editable:hover{
  border-color:#2d2d2d;
  background:#0d0d0d;
}
.brand-editable .logo{
  flex:0 0 auto;
  overflow:hidden;
}
.brand-editable .logo img,
.branding-preview-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.brand-text{
  min-width:0;
  flex:1;
}
.brand-text b,
.brand-text small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand-pencil{
  opacity:0;
  color:#777;
  font-size:14px;
  transition:.15s ease;
}
.brand-editable:hover .brand-pencil{opacity:1}

.branding-preview{
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid #303030;
  background:#090909;
  border-radius:11px;
  padding:13px;
  margin-bottom:15px;
}
.branding-preview b{
  display:block;
  letter-spacing:.12em;
  font-size:13px;
}
.branding-preview small{
  display:block;
  color:#777;
  margin-top:3px;
}
.branding-preview-logo{
  width:54px;
  height:54px;
}
.branding-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#777;
  font-size:10px;
  margin:8px 0 12px;
}


/* V10 - listas de crafts recolhíveis */
.craft-collapse{
  border:1px solid #292929;
  border-radius:10px;
  overflow:hidden;
  margin-top:8px;
  background:#090909;
}
.craft-collapse-header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:0;
  background:#101010;
  color:#ddd;
  cursor:pointer;
  text-align:left;
}
.craft-collapse-header:hover{
  background:#151515;
}
.craft-collapse-header .left{
  display:flex;
  align-items:center;
  gap:8px;
}
.craft-collapse-arrow{
  display:inline-block;
  width:18px;
  text-align:center;
  color:#aaa;
  transition:transform .18s ease;
}
.craft-collapse.open .craft-collapse-arrow{
  transform:rotate(90deg);
}
.craft-collapse-count{
  color:#777;
  font-size:11px;
}
.craft-collapse-body{
  display:none;
  padding:8px;
}
.craft-collapse.open .craft-collapse-body{
  display:grid;
  gap:8px;
}


/* V11 - Dashboard premium */
.dashboard-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
}
.dashboard-main{min-width:0}
.dash-topline{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  background:linear-gradient(145deg,#f4f4f4,#d7d7d7);
  color:#111;border-radius:18px;padding:22px 24px;margin-bottom:16px;
  box-shadow:inset 0 1px #fff;
}
.dash-topline small{color:#666;letter-spacing:.16em}
.dash-topline h2{margin:4px 0 4px;font-size:29px}
.dash-topline p{margin:0;color:#666;font-size:12px}
.dash-sync{display:flex;align-items:center;gap:10px}
.dash-sync span{
  font-size:11px;color:#444;border:1px solid #aaa;border-radius:999px;padding:7px 10px;background:#ffffff80
}
.dash-cards{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px
}
.metric-card{
  min-height:120px;border-radius:16px;padding:16px;
  background:linear-gradient(145deg,#f0f0f0,#c8c8c8);
  color:#111;display:flex;gap:13px;align-items:flex-start;
  box-shadow:inset 0 1px #fff,0 8px 25px #0004;
}
.metric-card:nth-child(2){background:linear-gradient(145deg,#dadada,#a7a7a7)}
.metric-card:nth-child(3){background:linear-gradient(145deg,#efefef,#bcbcbc)}
.metric-card:nth-child(4){background:linear-gradient(145deg,#cfcfcf,#8f8f8f)}
.metric-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:#181818;color:#fff;font-weight:900
}
.metric-card small{display:block;color:#5f5f5f;font-size:10px;letter-spacing:.08em}
.metric-card b{display:block;font-size:27px;margin:2px 0 4px}
.metric-card span{font-size:10px;color:#666}
.dash-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}
.dash-grid.lower{grid-template-columns:1fr 1fr}
.dash-panel{
  border-radius:16px;background:linear-gradient(145deg,#151515,#0c0c0c);
  border:1px solid #2b2b2b;padding:17px
}
.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.dash-panel-head small{color:#777;font-size:9px;letter-spacing:.14em}
.dash-panel-head h3{margin:3px 0 0}
.dash-panel-head>span{font-size:10px;color:#777}
.activity-chart{display:grid;gap:13px}
.bar-row{display:grid;grid-template-columns:80px 1fr 45px;gap:10px;align-items:center}
.bar-row span{font-size:11px;color:#9a9a9a}
.bar-row b{text-align:right;font-size:11px}
.bar{height:13px;border-radius:999px;background:#222;overflow:hidden;border:1px solid #2c2c2c}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#666,#f2f2f2,#9e9e9e);border-radius:999px;transition:width .3s}
.pending-summary{background:linear-gradient(145deg,#efefef,#bfbfbf);color:#111}
.pending-summary .dash-panel-head small,.pending-summary p{color:#5d5d5d}
.pending-summary .ghost{color:#111;background:#ffffff80;border-color:#999}
.pending-big{display:flex;align-items:flex-end;gap:10px;margin:15px 0}
.pending-big b{font-size:54px;line-height:.85}
.pending-big span{font-size:11px;color:#555;max-width:130px}
.pending-summary p{font-size:11px;line-height:1.5}
.recent-list{display:grid;gap:8px}
.recent-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px;border:1px solid #262626;border-radius:10px;background:#0b0b0b
}
.recent-item b{font-size:12px}.recent-item span{font-size:10px;color:#777}
.recent-empty{color:#6f6f6f;font-size:11px;padding:10px 0}
.dashboard-side{display:grid;gap:14px;align-content:start}
.side-card{
  border-radius:18px;background:linear-gradient(145deg,#eeeeee,#cfcfcf);
  color:#111;padding:18px;border:1px solid #ddd;box-shadow:inset 0 1px #fff
}
.side-card small{color:#666;font-size:9px;letter-spacing:.14em}
.side-card h3{margin:4px 0 12px}
.db-ring{
  width:150px;height:150px;border-radius:50%;margin:18px auto;
  background:conic-gradient(#151515 0 74%,#8c8c8c 74% 86%,#dedede 86% 100%);
  display:grid;place-items:center
}
.db-ring:before{
  content:"";position:absolute
}
.db-ring-inner{
  width:106px;height:106px;border-radius:50%;background:#eee;
  display:grid;place-items:center;align-content:center;text-align:center
}
.db-ring-inner b{font-size:25px}.db-ring-inner span{font-size:10px;color:#666}
.side-stat{
  display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #bcbcbc;font-size:11px
}
.side-stat span{color:#666}.side-stat b{font-family:Consolas,monospace}
.dashboard-side .side-card:last-child{background:linear-gradient(145deg,#151515,#0b0b0b);color:#eee;border-color:#2b2b2b}
.dashboard-side .side-card:last-child p{color:#919191;font-size:11px;line-height:1.6}
@media(max-width:1200px){
  .dashboard-shell{grid-template-columns:1fr}
  .dashboard-side{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .dash-cards{grid-template-columns:repeat(2,1fr)}
  .dash-grid,.dash-grid.lower{grid-template-columns:1fr}
  .dashboard-side{grid-template-columns:1fr}
}
@media(max-width:620px){
  .dash-topline{flex-direction:column}
  .dash-cards{grid-template-columns:1fr}
}


/* V12 - Login / Owner */
.login-screen{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 70% 10%,#2a2a2a 0,transparent 28%),
    linear-gradient(145deg,#050505,#0c0c0c);
  padding:20px;
}
.login-screen.hidden{display:none}
.login-card{
  width:min(430px,100%);
  border:1px solid #3a3a3a;
  border-radius:18px;
  background:linear-gradient(145deg,#171717,#0a0a0a);
  box-shadow:0 30px 80px #000;
  padding:26px;
}
.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}
.login-brand b{display:block;letter-spacing:.13em}
.login-brand small{display:block;color:#777}
.login-kicker{color:#777;letter-spacing:.16em;font-size:9px}
.login-card h2{margin:5px 0 6px}
.login-card p{color:#888;font-size:11px;margin:0 0 18px}
.login-card label{display:block;color:#aaa;font-size:12px;margin:12px 0}
.login-card input{margin-top:6px}
.login-error{min-height:18px;margin-top:10px;color:#bdbdbd;font-size:11px}
.header-actions{display:flex;gap:9px;align-items:center}
.owner-chip{
  border:1px solid #333;background:#0d0d0d;border-radius:9px;padding:7px 10px;
  display:flex;gap:8px;align-items:center
}
.owner-chip span{font-size:9px;letter-spacing:.12em;color:#777}
.owner-chip b{font-size:11px}
