/* AUSAPE V7.4 · Layout anti-solape + A4/16:9 exports + firma prudente */
:root{
  --v74-blue:#009fe3;
  --v74-navy:#003b5c;
  --v74-soft:#f4fbff;
  --v74-line:#d8edf8;
  --v74-gold:#f0b040;
  --v74-shadow:0 16px 44px rgba(0,63,99,.10);
}
*{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
.main,.section,.card,.grid,.tablewrap,.topbar,.sidebar{min-width:0;}
.section{position:relative;max-width:100%;}
.section.active{display:block!important;}
.section::after{
  content:"";
  display:block;
  width:max-content;
  max-width:100%;
  margin:22px 0 4px auto;
  padding:6px 10px;
  border-radius:999px;
  color:#6b7f91;
  background:linear-gradient(135deg,#ffffff,#f2fbff);
  border:1px solid rgba(0,159,227,.13);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.035em;
  opacity:.62;
}
.login-screen::after,.modal::after{content:none!important;}
.card,.v72-card,.v73-agency-card,.exec-hero-pro,.budget-general-pro,.incident-monthly-pro,.incident-dashboard-stable,.incident-board-stable{
  max-width:100%;
  overflow:hidden;
  box-shadow:var(--v74-shadow)!important;
}
.tablewrap,.v72-table-shell,.forum-preview-grid,.budget-move-list,.guide-preview,.guide-library,.incident-trend-bars{overflow:auto!important;}
img,svg,canvas,video{max-width:100%;height:auto;}
canvas{display:block;}
.actions,.top-actions,.block-actions,.v72-actions,.v73-agency-actions,.budget-general-actions,.guide-actions,.pro-toolbar,.v74-module-tools{flex-wrap:wrap;min-width:0;}
.actions .btn,.actions .secondary,.actions .warn,.v72-actions .btn,.v73-agency-actions .btn,.v74-module-tools .btn{min-width:0;white-space:normal;}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.topbar>div:first-child{min-width:min(420px,100%);flex:1 1 420px;}
.topbar .top-actions{flex:1 1 560px;justify-content:flex-end;}
.session-card{min-width:0;max-width:100%;}
.session-card img{max-width:190px;}
.session-card b,.session-card span{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;}
.kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important;}
.two,.main-dash{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important;}
.filters,.filters.wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))!important;}
.kpi,.exec-kpi,.budget-general-kpi,.v72-kpi,.v73-agency-metric,.incident-kpi-card,.incident-pro-kpi{
  min-width:0;
  overflow:hidden;
}
.kpi b,.exec-kpi b,.budget-general-kpi b,.v72-kpi b,.v73-agency-metric b,.incident-kpi-card b,.incident-pro-kpi b{
  font-size:clamp(22px,2.8vw,34px)!important;
  line-height:1.02;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.kpi span,.exec-kpi span,.budget-general-kpi span,.v72-kpi span,.v73-agency-metric span{overflow-wrap:anywhere;}
.exec-hero-pro{padding:clamp(16px,2vw,24px)!important;}
.exec-kpi-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;}
.exec-kpi{position:relative;z-index:1;}
.exec-spark{max-width:100%;}
#budgetit .section-title{align-items:flex-start;gap:18px;}
#budgetit .section-title .actions{max-width:760px;justify-content:flex-end;}
#budgetit .budget-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;}
.budget-layout,.budget-visual-grid,.budget-split-layout{grid-template-columns:1fr!important;}
.budget-main-card{min-height:auto!important;}
.budget-general-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;}
.budget-bucket-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;}
.budget-bucket-money{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;}
.budget-table-card .filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important;}
.budget-money,.budget-status,.budget-type-tag{white-space:normal!important;overflow-wrap:anywhere;}
#forum .forum-planner-pro,#forum .justificantes-grid,#forum .rating-pro-studio{grid-template-columns:1fr!important;}
#forum .v72-ppt-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));}
#forum .v72-forum-preview{isolation:isolate;}
#forum .v72-ppt-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));}
#forum .v72-table{min-width:980px;}
#forumPptPreviewV72.v74-ppt-frame{
  aspect-ratio:16/9;
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
#forumPptPreviewV72.v74-ppt-frame .v72-ppt-grid{overflow:auto;max-height:calc(100% - 210px);padding-right:2px;}
.v74-forum-optimizer{background:linear-gradient(145deg,#fff,#f5fbff);border:1px solid rgba(0,159,227,.18);border-radius:28px;padding:20px;margin:18px 0;box-shadow:var(--v74-shadow);position:relative;overflow:hidden;}
.v74-forum-optimizer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 96% 0,rgba(0,159,227,.16),transparent 28%),radial-gradient(circle at 2% 100%,rgba(240,176,64,.12),transparent 30%);pointer-events:none;}
.v74-forum-optimizer>*{position:relative;z-index:1;}
.v74-forum-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px;}
.v74-forum-head h3{margin:0;color:var(--v74-navy);font-size:22px;letter-spacing:-.03em;}
.v74-forum-head p{margin:5px 0 0;color:#60758a;}
.v74-forum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;}
.v74-forum-grid label{display:grid;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#0f3a56;font-weight:950;}
.v74-forum-grid textarea{min-height:120px;}
.v74-forum-grid .wide{grid-column:1/-1;}
.v74-forum-note{margin-top:12px;padding:12px 14px;border-radius:18px;background:#fff8e8;border:1px solid #fde7ae;color:#7c4b00;font-weight:800;}
.v74-module-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin:10px 0 16px;
  padding:10px;
  border:1px solid rgba(0,159,227,.16);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f2fbff);
  box-shadow:0 10px 26px rgba(0,70,110,.06);
}
.v74-module-tools .v74-tool-title{margin-right:auto;color:#003b5c;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;}
.v74-module-tools .btn{padding:10px 13px;border-radius:13px;font-size:12px;font-weight:950;}
.v74-a4-btn{background:linear-gradient(135deg,#003b5c,#009fe3)!important;color:#fff!important;}
.v74-img-btn{background:linear-gradient(135deg,#f0b040,#f59e0b)!important;color:#fff!important;}
.v74-html-btn{background:#eaf8ff!important;color:#075985!important;border:1px solid #cfe8fb!important;}
.v74-export-sign{font-size:10px;color:#789;letter-spacing:.04em;text-align:right;margin-top:14px;font-weight:900;opacity:.7;}
.v74-safe-panel{padding:14px;border:1px dashed rgba(0,159,227,.30);background:#f7fcff;border-radius:18px;color:#31566e;font-weight:800;}
@media(max-width:980px){
  .app{grid-template-columns:1fr!important;}
  .sidebar{position:relative!important;max-height:none!important;}
  .nav{max-height:320px!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;}
  .topbar .top-actions{justify-content:flex-start;}
  .session-card{width:100%;}
  .v74-module-tools{justify-content:flex-start;}
  .v74-module-tools .v74-tool-title{width:100%;margin-right:0;}
}
@media(max-width:680px){
  .main{padding:12px!important;}
  .card,.v72-card,.v73-agency-card,.v74-forum-optimizer{border-radius:20px!important;padding:14px!important;}
  .topbar{gap:10px;}
  .topbar h2{font-size:22px;}
  .actions .btn,.v74-module-tools .btn{width:100%;}
  .session-card{display:grid!important;grid-template-columns:1fr auto!important;}
  .session-card img{max-width:170px;}
}
@media print{
  .v74-module-tools,.no-print,.sidebar,.topbar,.nav,.footer,.modal-actions{display:none!important;}
  body{background:white!important;overflow:visible!important;}
  .main{padding:0!important;}
  .section.active{display:block!important;}
  .section:not(.active){display:none!important;}
  .card,.v72-card,.v73-agency-card,.exec-hero-pro{box-shadow:none!important;break-inside:avoid;}
  @page{size:A4 portrait;margin:10mm;}
}
