
/* =========================================================
   DONASSAN ERP PREMIUM V3 PRO
   Correção profissional de layout desktop/mobile e relatórios
   ========================================================= */

:root{
  --dd-bg:#08090b;
  --dd-panel:#111318;
  --dd-panel-2:#15181d;
  --dd-panel-3:#0d0f12;
  --dd-border:#282c33;
  --dd-border-soft:#202329;
  --dd-gold:#d7aa3b;
  --dd-gold-2:#f3d16c;
  --dd-gold-dark:#8f6819;
  --dd-text:#f5f2e9;
  --dd-muted:#959ca8;
  --dd-success:#43d6a1;
  --dd-danger:#ef6d74;
  --dd-warning:#e6b94e;
}

html{
  font-size:16px!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{min-width:0!important}
*{box-sizing:border-box}

.container{
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ========================= SITE ========================= */

.premium-site{
  background:var(--dd-bg)!important;
  color:var(--dd-text)!important;
  overflow-x:hidden!important;
}
.premium-site .site-header{
  min-height:82px!important;
  background:rgba(7,8,10,.92)!important;
  border-bottom:1px solid #25282d!important;
  backdrop-filter:blur(18px);
}
.premium-site .site-nav{
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.premium-site .premium-brand{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
.premium-site .premium-brand img{
  width:315px!important;
  max-width:46vw!important;
  height:auto!important;
  display:block!important;
}
.premium-site .site-links{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  font-size:13px!important;
}
.premium-site .site-links a{
  white-space:nowrap!important;
}

.premium-hero{
  width:100%!important;
  min-height:720px!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}
.premium-hero .hero-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.premium-hero .hero-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 38%!important;
  display:block!important;
}
.premium-hero .hero-vignette{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(5,6,8,.96) 0%,rgba(5,6,8,.83) 32%,rgba(5,6,8,.40) 58%,rgba(5,6,8,.14) 76%,rgba(5,6,8,.35) 100%),
    linear-gradient(0deg,rgba(5,6,8,.64),transparent 46%)!important;
}
.premium-hero-grid{
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
  margin-inline:auto!important;
  position:relative!important;
  z-index:2!important;
}
.premium-hero .hero-copy{
  width:min(700px,58vw)!important;
  max-width:700px!important;
  padding:92px 0 68px!important;
}
.premium-hero h1{
  font-size:clamp(50px,5.1vw,82px)!important;
  line-height:1.02!important;
  letter-spacing:-.036em!important;
  margin:18px 0 26px!important;
}
.premium-hero .hero-copy>p{
  max-width:620px!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.premium-hero .hero-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:28px!important;
}
.premium-trust-row{
  max-width:780px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  margin-top:48px!important;
}
.premium-trust-row>div{
  min-width:0!important;
  padding:18px 20px!important;
}

.premium-intro-grid,
.premium-feature-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,.92fr)!important;
  gap:68px!important;
  align-items:center!important;
}
.premium-intro .lead{
  max-width:660px!important;
  font-size:17px!important;
  line-height:1.8!important;
}
.premium-photo-card{
  width:100%!important;
  min-width:0!important;
}
.premium-photo-card img{
  width:100%!important;
  height:560px!important;
  object-fit:cover!important;
  display:block!important;
}
.premium-area-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.premium-area-card{
  min-width:0!important;
  min-height:250px!important;
}
.premium-lawyer-photo{
  width:100%!important;
  min-width:0!important;
}
.premium-lawyer-photo img{
  width:100%!important;
  height:650px!important;
  object-fit:cover!important;
  display:block!important;
}
.premium-principles{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.lawyer-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.premium-lawyer-card .lawyer-photo{
  height:390px!important;
}
.premium-lawyer-card .lawyer-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.gallery-grid{
  display:grid!important;
  grid-template-columns:1.45fr .78fr .78fr!important;
  gap:18px!important;
}
.gallery-grid figure{
  margin:0!important;
  width:100%!important;
  height:420px!important;
  min-height:0!important;
}
.gallery-grid .gallery-main{
  height:520px!important;
  min-height:0!important;
}
.gallery-grid img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

/* ========================= ADMIN ========================= */

.premium-admin{
  background:var(--dd-bg)!important;
  color:var(--dd-text)!important;
}
.premium-admin .admin-shell{
  width:100%!important;
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  background:var(--dd-bg)!important;
}
.premium-admin .sidebar{
  width:250px!important;
  min-width:250px!important;
  max-width:250px!important;
  height:100vh!important;
  position:sticky!important;
  top:0!important;
  overflow-y:auto!important;
  background:#0a0b0e!important;
  border-right:1px solid #22262c!important;
}
.premium-admin .premium-sidebar-brand{
  min-height:92px!important;
  display:flex!important;
  align-items:center!important;
  padding:18px 16px!important;
}
.premium-admin .premium-sidebar-brand img{
  width:100%!important;
  max-width:205px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.premium-admin .admin-main{
  width:100%!important;
  min-width:0!important;
}
.premium-admin .premium-topbar{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 28px!important;
  background:rgba(9,10,12,.96)!important;
  border-bottom:1px solid #24272d!important;
}
.premium-admin .admin-content{
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:34px 38px 58px!important;
}
.premium-admin .page-title{
  width:100%!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  margin:0 0 26px!important;
}
.premium-admin .page-title h1{
  margin:7px 0 8px!important;
  font-size:38px!important;
  line-height:1.08!important;
  font-weight:700!important;
}
.premium-admin .page-title p{
  max-width:760px!important;
  margin:0!important;
  color:var(--dd-muted)!important;
  font-size:13px!important;
  line-height:1.6!important;
}

/* RELATÓRIOS */
.premium-admin .report-kpis{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 20px!important;
}
.premium-admin .report-kpi{
  display:block!important;
  min-width:0!important;
  min-height:118px!important;
  padding:18px!important;
  background:linear-gradient(180deg,#15181d 0%,#101216 100%)!important;
  border:1px solid var(--dd-border)!important;
  border-radius:16px!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
}
.premium-admin .report-kpi span{
  display:block!important;
  color:#8f96a2!important;
  font-size:10px!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  margin:0!important;
}
.premium-admin .report-kpi b{
  display:block!important;
  margin:14px 0 0!important;
  color:var(--dd-text)!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.premium-admin .report-kpi.is-success b{color:var(--dd-success)!important}
.premium-admin .report-kpi.is-warning b{color:var(--dd-gold-2)!important}

.premium-admin .premium-report-panel{
  width:100%!important;
  margin:0!important;
  padding:24px!important;
  background:linear-gradient(180deg,#121419,#0e1014)!important;
  border:1px solid var(--dd-border)!important;
  border-radius:18px!important;
}
.premium-admin .premium-report-panel .panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding-bottom:17px!important;
  margin-bottom:20px!important;
  border-bottom:1px solid #272a31!important;
}
.premium-admin .premium-report-panel .panel-head h2{
  margin:5px 0 0!important;
  font-size:20px!important;
}
.premium-admin .report-form{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(220px,1.2fr) minmax(180px,.9fr) minmax(180px,.9fr) auto!important;
  gap:14px!important;
  align-items:end!important;
}
.premium-admin .report-form label{
  display:block!important;
  min-width:0!important;
}
.premium-admin .report-form label>span{
  display:block!important;
  margin:0 0 8px!important;
  color:#969da8!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.premium-admin .report-form input,
.premium-admin .report-form select{
  width:100%!important;
  height:46px!important;
  margin:0!important;
  padding:0 12px!important;
  background:#0a0c0f!important;
  color:#f2f3f5!important;
  border:1px solid #30343c!important;
  border-radius:10px!important;
  outline:none!important;
}
.premium-admin .report-form .btn{
  min-width:175px!important;
  height:46px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.premium-admin .report-features{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:22px!important;
}
.premium-admin .report-features>div{
  min-width:0!important;
  min-height:96px!important;
  padding:16px!important;
  background:#0b0d10!important;
  border:1px solid #262a30!important;
  border-radius:13px!important;
}
.premium-admin .report-features b{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--dd-gold-2)!important;
  font-size:12px!important;
}
.premium-admin .report-features span{
  display:block!important;
  color:#8c939e!important;
  font-size:11px!important;
  line-height:1.5!important;
}

/* ========================= PRINT ========================= */

.print-body{
  background:#272727!important;
  color:#1b1b1b!important;
}
.report-sheet{
  width:210mm!important;
  min-height:297mm!important;
  max-width:none!important;
  margin:24px auto!important;
  padding:15mm 14mm 14mm!important;
  background:#fff!important;
  position:relative!important;
  overflow:hidden!important;
}
.report-watermark{
  position:fixed!important;
  width:120mm!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) rotate(-1deg)!important;
  pointer-events:none!important;
}
.report-header img{
  width:76mm!important;
  max-height:27mm!important;
}
.report-section table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
.report-section td,
.report-section th{
  word-wrap:break-word!important;
  overflow-wrap:anywhere!important;
}

/* ========================= BREAKPOINTS ========================= */

@media(max-width:1180px){
  .premium-admin .report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .premium-admin .report-features{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .premium-admin .report-form{grid-template-columns:1fr 1fr!important}
  .premium-admin .report-form .btn{width:100%!important}
}
@media(max-width:980px){
  .container,
  .premium-hero-grid{width:min(100% - 32px,1320px)!important}
  .premium-hero .hero-copy{width:min(650px,90%)!important}
  .premium-intro-grid,
  .premium-feature-grid{grid-template-columns:1fr!important;gap:36px!important}
  .premium-area-grid,
  .lawyer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-grid{grid-template-columns:1fr 1fr!important}
  .gallery-grid .gallery-main{grid-column:1/-1!important}
}
@media(max-width:900px){
  .premium-admin .admin-shell{grid-template-columns:1fr!important}
  .premium-admin .sidebar{
    position:fixed!important;
    left:-280px!important;
    top:0!important;
    z-index:1000!important;
    width:270px!important;
    min-width:270px!important;
    max-width:270px!important;
    transition:left .25s ease!important;
  }
  .premium-admin .sidebar.open{left:0!important}
  .premium-admin .admin-content{padding:24px 18px 44px!important}
}
@media(max-width:680px){
  .premium-site .premium-brand img{width:248px!important;max-width:74vw!important}
  .premium-hero{min-height:660px!important}
  .premium-hero .hero-copy{width:100%!important;padding:70px 0 44px!important}
  .premium-hero h1{font-size:44px!important}
  .premium-trust-row{grid-template-columns:1fr!important}
  .premium-area-grid,
  .lawyer-grid,
  .gallery-grid{grid-template-columns:1fr!important}
  .gallery-grid .gallery-main{grid-column:auto!important}
  .premium-admin .report-kpis,
  .premium-admin .report-form,
  .premium-admin .report-features{grid-template-columns:1fr!important}
  .premium-admin .page-title h1{font-size:30px!important}
}

@media print{
  @page{size:A4;margin:0}
  .no-print{display:none!important}
  .print-body{background:#fff!important}
  .report-sheet{margin:0!important;box-shadow:none!important}
}
