:root{--bg:#0b1220;--bg2:#0f172a;--sidebar:#07111f;--panel:#111c2e;--card:#162338;--card2:#1d2d47;--text:#f8fafc;--muted:#cbd5e1;--muted2:#94a3b8;--accent:#0d9488;--accent2:#14b8a6;--blue:#2563eb;--border:#334155;--danger:#ef4444;--warning:#f59e0b;--success:#22c55e;--input:#020817;--radius:18px;--shadow:0 14px 40px rgba(0,0,0,.22)}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--text);font-size:15px}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--text);margin-top:0}p{line-height:1.45}.muted{color:var(--muted2)}.layout{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--sidebar);border-right:1px solid var(--border);padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.brand-side{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--accent2));display:grid;place-items:center;font-weight:900;color:#fff}.brand-side h2{font-size:18px;margin:0;color:#fff}.brand-side span{color:#93c5fd;font-size:12px}.nav-title{margin:18px 0 8px;color:#93c5fd;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.nav a{display:block;padding:12px;border-radius:12px;color:var(--muted);margin-bottom:6px;transition:.18s}.nav a:hover,.nav a.active{background:#1e293b;color:#fff;transform:translateX(3px)}.main{flex:1;padding:22px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;background:rgba(15,23,42,.9);border:1px solid var(--border);border-radius:18px;padding:14px 18px}.topbar strong{color:#fff}.userline{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#14b8a6);display:grid;place-items:center;font-weight:900;color:#fff}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:380px 1fr}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card,.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;color:var(--text);box-shadow:var(--shadow)}.panel.light{background:var(--card)!important;color:var(--text)!important}.metric{font-size:28px;font-weight:800;margin-top:8px;color:#fff}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0 18px}.page-head p{color:var(--muted2);margin:6px 0 0}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;border:0;background:var(--accent);color:white;font-weight:800;cursor:pointer;line-height:1;transition:.18s}.btn:hover{background:#0f766e;transform:translateY(-1px)}.btn-secondary,.secondary{background:#334155!important;color:#e5e7eb!important}.btn-danger{background:var(--danger);color:white}.btn-blue{background:var(--blue);color:white}.btn-small{padding:8px 10px;border-radius:10px;font-size:13px}.actions,.quick-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:12px;margin:12px 0}.alert-danger{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.35);color:#fecaca}.alert.ok,.alert-success{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.32);color:#bbf7d0}label{display:block;margin:14px 0 6px;color:var(--muted);font-size:14px;font-weight:700}input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--input);color:var(--text);outline:none}textarea{min-height:88px;resize:vertical}input::placeholder,textarea::placeholder{color:#64748b}select option{background:#0f172a;color:#f8fafc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{margin:0}.form-grid .full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}table,.table{width:100%;border-collapse:collapse;color:var(--text);background:transparent}th,td,.table th,.table td{border-bottom:1px solid var(--border);padding:12px;text-align:left;color:var(--text);vertical-align:middle}th,.table th{color:#bfdbfe;font-size:13px}tr:hover td{background:rgba(255,255,255,.03)}.badge{display:inline-block;padding:5px 10px;border-radius:99px;background:#1e293b;color:#cbd5e1;font-size:12px;font-weight:800}.badge-ok{background:rgba(34,197,94,.16);color:#bbf7d0}.badge-warn{background:rgba(245,158,11,.16);color:#fde68a}.badge-danger{background:rgba(239,68,68,.16);color:#fecaca}.badge-blue{background:rgba(37,99,235,.18);color:#bfdbfe}.badge-purple{background:rgba(124,58,237,.20);color:#ddd6fe}.food-nav-groups{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;margin:8px 0 22px}.food-nav-group{background:rgba(22,35,56,.9);border:1px solid var(--border);border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px}.food-nav-group strong{font-size:12px;color:#93c5fd;text-transform:uppercase;letter-spacing:.08em}.food-tabs{display:flex;gap:8px;flex-wrap:wrap}.food-tabs a{padding:10px 14px;border-radius:12px;background:#1e293b;color:#dbeafe;border:1px solid var(--border);font-weight:800;transition:.18s}.food-tabs a:hover{transform:translateY(-2px);background:#26384f}.food-tabs a.active{background:var(--accent);color:#fff;border-color:transparent}.hero-dashboard{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,rgba(13,148,136,.35),rgba(37,99,235,.22)),var(--card);border:1px solid var(--border);border-radius:24px;padding:24px;margin-bottom:18px}.hero-dashboard h1{font-size:32px;margin:4px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#99f6e4;font-weight:900}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{border-radius:18px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow);min-height:130px;display:flex;flex-direction:column;justify-content:space-between;transition:.18s}.metric-card:hover{transform:translateY(-4px);filter:brightness(1.08)}.metric-card span{color:#e2e8f0;font-weight:800}.metric-card strong{font-size:34px;color:#fff}.metric-card small{color:#e5e7eb}.metric-card.teal{background:linear-gradient(135deg,#0f766e,#115e59)}.metric-card.green{background:linear-gradient(135deg,#15803d,#14532d)}.metric-card.red{background:linear-gradient(135deg,#b91c1c,#7f1d1d)}.metric-card.amber{background:linear-gradient(135deg,#b45309,#78350f)}.metric-card.blue{background:linear-gradient(135deg,#1d4ed8,#1e3a8a)}.metric-card.purple{background:linear-gradient(135deg,#7c3aed,#4c1d95)}.metric-card.danger{background:linear-gradient(135deg,#dc2626,#881337)}.metric-card.slate{background:linear-gradient(135deg,#334155,#0f172a)}.mini-bars{display:grid;gap:12px}.mini-bars div{display:grid;gap:7px}.mini-bars span{color:var(--muted)}.mini-bars b{display:block;height:10px;border-radius:99px;background:var(--accent)}.mini-bars b.danger{background:var(--danger)}.mini-bars b.blue{background:var(--blue)}.mesa-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 18px}.mesa-summary .item{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;align-items:center;justify-content:space-between}.mesa-summary strong{font-size:28px}.mesa-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.mesa-filters a{padding:8px 12px;border-radius:10px;background:#1e293b;color:#dbeafe}.mesa-filters a.active{background:var(--accent);color:white}.mesa-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.mesa-card{background:#17243a;border:1px solid var(--border);border-radius:18px;padding:16px;min-height:145px;display:flex;flex-direction:column;gap:8px;transition:.18s}.mesa-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(0,0,0,.28)}.mesa-card.livre{border-color:rgba(34,197,94,.45)}.mesa-card.ocupada{border-color:rgba(239,68,68,.7)}.mesa-card.producao{border-color:rgba(245,158,11,.7)}.mesa-card.conta_solicitada{border-color:rgba(124,58,237,.8)}.mesa-card.reservada{border-color:rgba(37,99,235,.7)}.mesa-num{font-size:28px;font-weight:900;color:#fff}.mesa-area,.mesa-garcom{color:var(--muted);font-size:13px}.mesa-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.thumb{width:70px;height:54px;border-radius:12px;object-fit:cover;background:#0f172a;border:1px solid var(--border)}.searchbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.searchbar input{max-width:360px}.address-grid{display:grid;grid-template-columns:140px 1fr 120px;gap:12px}.address-map{min-height:220px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#0f172a;display:grid;place-items:center;color:var(--muted2)}.address-map iframe{width:100%;height:260px;border:0;background:#0f172a}.help-text{font-size:12px;color:var(--muted2);margin-top:4px}@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.grid,.grid.two,.grid.three{grid-template-columns:1fr}}@media(max-width:760px){.dashboard-grid{grid-template-columns:1fr}.form-grid,.address-grid{grid-template-columns:1fr}.layout{display:block}.sidebar{width:auto;height:auto;position:relative}.topbar,.hero-dashboard{display:block}.main{padding:14px}.food-nav-group{display:block;width:100%}}
@import url("pdv.css");
.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.input.small{max-width:120px;padding:9px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.table-wrap{overflow:auto}.alert-ok{background:#052e1b;border:1px solid #22c55e;color:#d1fae5;padding:14px;border-radius:14px;margin:12px 0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.printable{background:#111827}@media print{.sidebar,.topbar,.no-print,.hero-dashboard button,.logout-link{display:none!important}.layout{display:block}.main{padding:0}.panel.printable{border:0;background:#fff;color:#111}.table-dark th,.table-dark td{color:#111;border-bottom:1px solid #999}.table-dark{color:#111}.metric-card{border:1px solid #999;color:#111;background:#fff}}

/* Build 1.2 - ajustes gestão de mesas */
.mesa-card-wrap{position:relative;display:flex;flex-direction:column;gap:8px}
.mesa-actions-mini{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:6px}
.mesa-actions-mini a,.mesa-actions-mini button{border:0;border-radius:10px;background:#22324a;color:#dbeafe;padding:7px 10px;font-weight:800;cursor:pointer;text-decoration:none;font-size:12px}
.mesa-actions-mini button{background:#7f1d1d;color:#fee2e2}
.mesa-actions-mini a:hover,.mesa-actions-mini button:hover{filter:brightness(1.15);transform:translateY(-1px)}
.grid.two.narrow-left{grid-template-columns:360px 1fr;align-items:start}
@media(max-width:1100px){.grid.two.narrow-left{grid-template-columns:1fr}}

/* SG Business 1.3.30 - Dashboard Executivo */
.dashboard-exec-hero{background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.34),transparent 35%),radial-gradient(circle at 80% 0,rgba(37,99,235,.32),transparent 32%),var(--card)}
.executive-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.dash-main-grid{grid-template-columns:minmax(320px,420px) 1fr}
.table-wrap{overflow:auto}.table-wrap table{min-width:680px}.mini-bars b[style]{transition:width .3s ease}.panel h2{display:flex;align-items:center;gap:8px}
@media(max-width:1100px){.dash-main-grid{grid-template-columns:1fr}}


/* SG Business 1.3.39 - identidade visual global */
.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px;min-height:58px}.brand-logo{width:210px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(37,99,235,.20))}.brand-fallback{display:none}.sidebar{background:linear-gradient(180deg,#06101d,#030a14)}.topbar{box-shadow:0 16px 44px rgba(0,0,0,.18)}.btn{box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* SG Business 1.3.40 - topo operacional, perfil, chat e dispositivos */
.sg-topbar-pro{gap:18px;align-items:center;min-height:72px}.sg-topbar-pro .userbox{min-width:260px}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar.small{width:34px;height:34px;font-size:12px}.sg-shift-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-left:auto;margin-right:auto;color:#cbd5e1;font-size:12px}.sg-shift-summary span{background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:8px 10px}.sg-shift-summary b{color:#22c55e}.sg-user-actions{display:flex;align-items:center;gap:8px}.sg-top-btn,.sg-avatar-trigger{border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.76);color:#f8fafc;border-radius:13px;padding:9px 12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.sg-top-btn:hover,.sg-avatar-trigger:hover{border-color:#22c55e;background:rgba(20,184,166,.12)}.sg-dot-badge{background:#ef4444;color:#fff;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.sg-avatar-menu{position:relative}.sg-profile-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:220px;background:#0f172a;border:1px solid #334155;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.45);overflow:hidden;z-index:2000}.sg-profile-open .sg-profile-menu{display:block}.sg-profile-menu a{display:block;padding:12px 14px;color:#e2e8f0;text-decoration:none;border-bottom:1px solid rgba(148,163,184,.12);font-weight:700}.sg-profile-menu a:hover{background:rgba(20,184,166,.14);color:#fff}.sg-chat-drawer{position:fixed;right:18px;top:88px;width:360px;max-width:calc(100vw - 36px);height:min(620px,calc(100vh - 110px));background:#0f172a;border:1px solid #334155;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.5);z-index:3000;display:none;flex-direction:column;overflow:hidden}.sg-chat-open .sg-chat-drawer{display:flex}.sg-chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.18)}.sg-chat-head button{border:0;background:#334155;color:#fff;border-radius:10px;width:28px;height:28px;cursor:pointer}.sg-chat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.sg-chat-tabs button{border:1px solid #334155;background:#111c2e;color:#e2e8f0;border-radius:10px;padding:8px;font-weight:800}.sg-chat-tabs button:first-child{background:#16a34a;color:white}.sg-chat-body{padding:12px 16px;overflow:auto;flex:1}.sg-chat-user{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid rgba(148,163,184,.12);cursor:pointer}.sg-chat-user:hover{background:rgba(20,184,166,.1)}.sg-chat-user .status-dot{margin-left:auto;width:9px;height:9px;background:#22c55e;border-radius:50%}.sg-chat-send{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(148,163,184,.18)}.sg-chat-send input{flex:1;border:1px solid #334155;background:#020617;color:#fff;border-radius:12px;padding:10px}.sg-chat-send button{border:0;background:#14b8a6;color:#fff;border-radius:12px;padding:0 14px;font-weight:900}.sg-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.sg-mini-card{background:#142238;border:1px solid #334155;border-radius:16px;padding:16px}.sg-mini-card strong{display:block;font-size:22px;margin-top:6px}.sg-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.sg-status-online{color:#22c55e;font-weight:900}.sg-status-offline{color:#ef4444;font-weight:900}.sg-profile-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.sg-profile-form label{display:grid;gap:7px;font-weight:800;color:#dbeafe}.sg-profile-form input{background:#020617;border:1px solid #334155;color:#fff;border-radius:12px;padding:12px}.sg-btn-primary{border:0;background:#14b8a6;color:#fff;border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer}.sg-btn-danger{border:0;background:#ef4444;color:#fff;border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer}.sg-btn-muted{border:1px solid #334155;background:#334155;color:#fff;border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer}
@media(max-width:900px){.sg-shift-summary{display:none}.sg-topbar-pro{align-items:flex-start}.sg-user-actions{flex-wrap:wrap;justify-content:flex-end}.sg-topbar-pro .userbox{min-width:180px}.sg-chat-drawer{top:70px;right:8px;max-width:calc(100vw - 16px)}}
/* SG Business v1.3.42 - Plantão, avatar e sessão */
.sg-kpi-grid.compact{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:10px 0}.sg-kpi{background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:14px}.sg-kpi small{display:block;color:#9fb3ca;font-size:12px;margin-bottom:5px}.sg-kpi strong{font-size:18px;color:#fff}.sg-avatar-trigger .avatar.small img,.topbar .avatar img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.sg-btn-primary:disabled,.sg-btn-danger:disabled{opacity:.45;cursor:not-allowed}.small{font-size:12px}
/* SG Business 1.5.6 */
.sg-report-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px}.sg-dot-badge{min-width:20px;height:20px;border-radius:99px;background:#ef4444;color:#fff;font-size:11px;font-weight:900;display:inline-grid;place-items:center;padding:0 6px}

/* SG Business 2.2.7 - chat operacional funcional */
.sg-chat-body{display:grid;grid-template-columns:240px 1fr;gap:10px;min-height:0;height:calc(100vh - 145px)}
#sgChatUsers{overflow:auto;border-right:1px solid rgba(148,163,184,.18);padding-right:8px}
.sg-chat-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;cursor:pointer;margin-bottom:5px}
.sg-chat-user:hover,.sg-chat-user.active{background:rgba(37,99,235,.24)}.sg-chat-user .status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;margin-left:auto}
.sg-chat-conversation{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.sg-chat-msg{max-width:82%;padding:9px 11px;border-radius:13px;background:#26364d;align-self:flex-start}.sg-chat-msg.mine{background:#0f766e;align-self:flex-end}.sg-chat-msg small{display:block;opacity:.7;margin-top:4px;font-size:10px}.sg-chat-empty{padding:20px;text-align:center;color:#94a3b8}
@media(max-width:720px){.sg-chat-body{grid-template-columns:1fr;height:calc(100vh - 150px)}#sgChatUsers{max-height:180px;border-right:0;border-bottom:1px solid rgba(148,163,184,.18)}}
/* SG Business 2.2.8 - presença online do chat */
.sg-chat-user.status-online .status-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
.sg-chat-user.status-ausente .status-dot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.sg-chat-user.status-offline{opacity:.72}
.sg-chat-user.status-offline .status-dot{background:#64748b;box-shadow:none}

/* SG Business 2.2.8.2 - chat ampliado e mensagens confortaveis */
.sg-chat-drawer{
  width:min(760px,calc(100vw - 36px));
  height:min(680px,calc(100vh - 110px));
}
.sg-chat-body{
  grid-template-columns:minmax(220px,30%) minmax(0,1fr);
  gap:0;
  height:auto;
  padding:0;
  overflow:hidden;
}
#sgChatUsers{
  padding:12px 10px;
  border-right:1px solid rgba(148,163,184,.18);
  background:rgba(2,6,23,.22);
}
.sg-chat-conversation{
  min-width:0;
  padding:18px;
  gap:10px;
  background:rgba(15,23,42,.55);
}
.sg-chat-msg{
  max-width:72%;
  min-width:90px;
  padding:10px 13px;
  line-height:1.42;
  overflow-wrap:anywhere;
  word-break:break-word;
  box-shadow:0 5px 14px rgba(0,0,0,.16);
}
.sg-chat-msg.mine{border-bottom-right-radius:4px}
.sg-chat-msg:not(.mine){border-bottom-left-radius:4px}
.sg-chat-msg small{margin-top:6px;text-align:right;white-space:nowrap}
.sg-chat-send{padding:12px 14px;gap:10px}
.sg-chat-send input{min-height:44px;font-size:14px;padding:11px 13px}
.sg-chat-send button{min-width:78px;padding:0 18px}
@media(max-width:800px){
  .sg-chat-drawer{top:70px;right:8px;width:calc(100vw - 16px);height:calc(100vh - 78px);max-width:none}
  .sg-chat-body{grid-template-columns:190px minmax(0,1fr)}
  .sg-chat-msg{max-width:84%}
}
@media(max-width:560px){
  .sg-chat-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  #sgChatUsers{max-height:150px;border-right:0;border-bottom:1px solid rgba(148,163,184,.18)}
  .sg-chat-conversation{padding:12px}
  .sg-chat-msg{max-width:90%}
}
