
/* =========================================================
   GRAFIQ UPDATE 005 — VISUAL PROFISSIONAL
   ========================================================= */

:root{
  --g-bg:#f5f7fb;
  --g-card:#ffffff;
  --g-text:#101828;
  --g-muted:#667085;
  --g-border:#e4e7ec;
  --g-primary:#2563eb;
  --g-primary-2:#6d42f5;
  --g-sidebar:#0e1a31;
  --g-success:#0f9f62;
  --g-warning:#f59e0b;
  --g-danger:#ef4444;
  --g-radius:16px;
  --g-shadow:0 8px 26px rgba(16,24,40,.06);
}

html,body{
  min-height:100%;
  background:var(--g-bg)!important;
  color:var(--g-text)!important;
}

body{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
}

/* LOGIN */
body.grafiq-login-page{
  min-height:100vh!important;
  overflow:auto!important;
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  background:
    radial-gradient(circle at 80% 20%,rgba(70,105,255,.28),transparent 34%),
    linear-gradient(135deg,#071327,#143a91 60%,#2f65dd)!important;
}

body.grafiq-login-page > *{
  max-width:100%;
}

.grafiq-login-shell{
  width:min(430px,94vw)!important;
  max-height:none!important;
  margin:auto!important;
  padding:32px!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
  overflow:visible!important;
}

.grafiq-login-brand{
  text-align:center;
  margin-bottom:20px;
}

.grafiq-login-brand .grafiq-wordmark{
  font-size:34px;
  font-weight:900;
  letter-spacing:-1.5px;
  color:#101828;
}

.grafiq-login-brand .grafiq-wordmark span{
  color:var(--g-primary-2);
}

.grafiq-login-brand small{
  display:block;
  margin-top:5px;
  color:var(--g-muted);
  font-weight:600;
}

body.grafiq-login-page img{
  max-width:100%!important;
}

body.grafiq-login-page .grafiq-company-logo-login{
  display:none!important;
}

body.grafiq-login-page input{
  min-height:42px!important;
  border-radius:10px!important;
  border:1px solid #d0d5dd!important;
  padding:10px 12px!important;
}

body.grafiq-login-page button{
  min-height:42px!important;
  border-radius:10px!important;
}

body.grafiq-login-page .grafiq-login-links{
  margin-top:15px!important;
}

body.grafiq-login-page .grafiq-register-note{
  margin-bottom:0!important;
}

/* SHELL PRINCIPAL */
.grafiq-pro-app{
  background:var(--g-bg)!important;
}

.grafiq-pro-app aside,
.grafiq-pro-app nav.sidebar,
.grafiq-pro-app .sidebar,
.grafiq-pro-app [class*="sidebar"]{
  background:linear-gradient(180deg,#0b1730,#101d35)!important;
  color:#fff!important;
}

.grafiq-pro-app .sidebar{
  box-shadow:5px 0 24px rgba(16,24,40,.08)!important;
}

.grafiq-pro-app .sidebar a,
.grafiq-pro-app .sidebar button,
.grafiq-pro-app aside a,
.grafiq-pro-app aside button{
  color:#e6ecf7!important;
  border-radius:10px!important;
  transition:.18s ease!important;
}

.grafiq-pro-app .sidebar a:hover,
.grafiq-pro-app .sidebar button:hover,
.grafiq-pro-app aside a:hover,
.grafiq-pro-app aside button:hover{
  background:#1c3157!important;
  color:#fff!important;
}

.grafiq-pro-app .sidebar .active,
.grafiq-pro-app aside .active,
.grafiq-pro-app [aria-current="page"]{
  background:linear-gradient(135deg,#2563eb,#316bea)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(37,99,235,.28)!important;
}

.grafiq-pro-app main,
.grafiq-pro-app .content,
.grafiq-pro-app [class*="content"]{
  background:var(--g-bg)!important;
}

.grafiq-pro-app .card,
.grafiq-pro-app [class*="card"],
.grafiq-pro-app .panel,
.grafiq-pro-app [class*="panel"]{
  border:1px solid var(--g-border)!important;
  border-radius:var(--g-radius)!important;
  background:var(--g-card)!important;
  box-shadow:var(--g-shadow)!important;
}

.grafiq-pro-app h1,
.grafiq-pro-app h2,
.grafiq-pro-app h3{
  color:var(--g-text)!important;
  letter-spacing:-.3px;
}

.grafiq-pro-app input,
.grafiq-pro-app select,
.grafiq-pro-app textarea{
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  background:#fff!important;
}

.grafiq-pro-app button{
  border-radius:10px!important;
}

.grafiq-pro-app table{
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}

.grafiq-pro-app th{
  background:#f8fafc!important;
  color:#667085!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.grafiq-pro-app td,
.grafiq-pro-app th{
  border-bottom:1px solid #eaecf0!important;
}

/* CARDS DO DASHBOARD */
.grafiq-pro-app .grafiq-metric-card{
  position:relative;
  overflow:hidden;
}

.grafiq-pro-app .grafiq-metric-card::after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-35px;
  top:-35px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(49,107,234,.13),rgba(109,66,245,.08));
}

.grafiq-pro-app .grafiq-metric-card strong,
.grafiq-pro-app .grafiq-metric-card [class*="value"]{
  font-size:28px!important;
  color:#101828!important;
}

/* MENU SIMPLIFICADO */
.grafiq-hide-client{
  display:none!important;
}

/* LOGO DA EMPRESA APENAS NO SISTEMA E DOCUMENTOS */
.grafiq-pro-app .grafiq-company-logo{
  object-fit:contain!important;
  max-height:58px!important;
  max-width:170px!important;
}

body.grafiq-login-page .grafiq-company-logo{
  display:none!important;
}

/* RESPONSIVO */
@media(max-width:900px){
  .grafiq-pro-app .sidebar,
  .grafiq-pro-app aside{
    position:relative!important;
    width:100%!important;
    min-height:auto!important;
  }

  .grafiq-pro-app main,
  .grafiq-pro-app .content{
    margin-left:0!important;
    width:100%!important;
  }
}

@media(max-width:560px){
  body.grafiq-login-page{
    padding:12px!important;
    align-items:start!important;
  }

  .grafiq-login-shell{
    padding:22px!important;
    margin-top:12px!important;
  }
}
