/* ===================== Eleger — Marketing Digital · estilos ===================== */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Libre Franklin',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#101826;background:#F5F7FA;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select,textarea{font-family:inherit;}
::selection{background:#1B4DB1;color:#fff;}
.mono{font-family:'IBM Plex Mono',monospace;}

@keyframes spin{to{transform:rotate(360deg);}}
@keyframes shimmer{0%{background-position:-700px 0;}100%{background-position:700px 0;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes pop{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:none;}}

/* ---------- boot ---------- */
.boot{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#5B6470;font-size:14px;}
.boot-spin{width:18px;height:18px;border:2.6px solid #D6DEE8;border-top-color:#1B4DB1;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;}

/* ---------- shell ---------- */
.viewport{height:100vh;overflow:hidden;background:#F5F7FA;}
.shell{display:flex;height:100vh;}

/* ---------- toast ---------- */
.toast-wrap{position:fixed;top:18px;right:18px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:360px;}
.toast{background:#13316E;color:#fff;border-radius:11px;padding:12px 15px;font-size:13px;line-height:1.45;box-shadow:0 14px 40px rgba(16,24,38,.28);animation:fadeUp .25s ease both;}
.toast.err{background:#9A2820;}
.toast.ok{background:#0F7A3D;}

/* ============================ ONBOARDING ============================ */
.ob{display:flex;height:100vh;}
.ob-side{width:42%;max-width:560px;background:#13316E;color:#fff;padding:54px 50px;display:flex;flex-direction:column;justify-content:space-between;}
.ob-logo{display:flex;align-items:center;gap:11px;}
.ob-logo-badge{width:32px;height:32px;border-radius:9px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ob-logo-name{font-size:21px;font-weight:800;letter-spacing:-.01em;}
.ob-logo-name .dim{opacity:.55;font-weight:600;}
.ob-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.16em;color:#9DB6E8;text-transform:uppercase;margin-bottom:20px;}
.ob h1{font-size:37px;line-height:1.13;font-weight:800;letter-spacing:-.022em;margin:0 0 18px;}
.ob-lead{font-size:16px;line-height:1.55;color:#C5D4F0;margin:0 0 32px;max-width:42ch;}
.ob-feats{display:flex;flex-direction:column;gap:15px;}
.ob-feat{display:flex;align-items:center;gap:12px;}
.ob-feat-ic{width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.13);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ob-feat span{font-size:14.5px;color:#E4ECF9;}
.ob-foot{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#7E97C9;letter-spacing:.02em;}
.ob-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;overflow:auto;}
.ob-form{width:100%;max-width:444px;}
.ob-form .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#1B4DB1;margin-bottom:9px;}
.ob-form h2{font-size:27px;font-weight:800;letter-spacing:-.022em;margin:0 0 28px;color:#101826;}
.fld-label{display:block;font-size:13px;font-weight:700;color:#2B3442;margin-bottom:9px;}
.txt{width:100%;padding:12px 14px;border:1.5px solid #E1E6EC;border-radius:10px;font-size:14.5px;color:#101826;background:#fff;outline:none;}
.txt:focus{border-color:#1B4DB1;box-shadow:0 0 0 3px rgba(27,77,177,.12);}
.seg{display:flex;gap:4px;padding:4px;background:#F1F3F6;border-radius:11px;}
.seg button{flex:1;padding:11px;border-radius:8px;font-size:13.5px;font-weight:600;background:transparent;color:#5B6470;}
.seg button.on{font-weight:700;background:#fff;color:#16307A;box-shadow:0 1px 2px rgba(16,24,38,.12);}
.btn-primary{background:#1B4DB1;color:#fff;border-radius:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-primary:hover{background:#16307A;}
.btn-primary:disabled{opacity:.6;cursor:default;}
.ob-note{font-size:12px;color:#8A929D;text-align:center;margin:14px 0 0;line-height:1.5;}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;font-size:13.5px;font-weight:600;border:1.5px solid #E4E8EE;background:#fff;color:#3D4756;}
.chip.on{border-color:#1B4DB1;background:#E8EFFC;color:#16307A;}

/* ============================ APP SHELL ============================ */
aside.side{width:248px;flex:none;background:#fff;border-right:1px solid #E4E8EE;display:flex;flex-direction:column;padding:18px 14px;}
.side-logo{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;}
.side-logo-badge{width:30px;height:30px;border-radius:8px;background:#1B4DB1;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.side-logo-name{font-size:18px;font-weight:800;color:#101826;letter-spacing:-.01em;}
.side-logo-name .dim{color:#9AA3AE;font-weight:600;}
.side-module{margin:0 4px 18px;padding:10px 12px;border:1px solid #E4E8EE;border-radius:11px;background:#FAFBFC;cursor:pointer;}
.side-module .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8A929D;}
.side-module .row{display:flex;align-items:center;justify-content:space-between;margin-top:3px;}
.side-module .row span{font-size:14px;font-weight:700;color:#16307A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
nav.nav{display:flex;flex-direction:column;gap:3px;}
.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:10px 13px;border-radius:9px;color:#414B59;font-size:14px;font-weight:600;text-align:left;}
.nav-item .bg{position:absolute;inset:0;background:#E8EFFC;border-radius:9px;}
.nav-item .ic{position:relative;width:18px;height:18px;color:#5B6470;display:inline-flex;}
.nav-item .lbl{position:relative;}
.nav-item.active{color:#16307A;}
.nav-item.active .ic{color:#1B4DB1;}
.nav-badge{position:relative;margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1B4DB1;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;}
.side-user{margin-top:auto;padding:12px;border:1px solid #E4E8EE;border-radius:12px;display:flex;align-items:center;gap:10px;}
.avatar{border-radius:9px;background:#13316E;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none;}
.side-user .avatar{width:36px;height:36px;font-size:15px;}
.side-user .meta{min-width:0;}
.side-user .nm{font-size:13px;font-weight:700;color:#101826;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.side-user .sub{font-size:11.5px;color:#7A828D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.main-col{flex:1;display:flex;flex-direction:column;min-width:0;}
header.topbar{height:64px;flex:none;border-bottom:1px solid #E4E8EE;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px;}
.topbar-left{display:flex;align-items:center;gap:13px;}
.topbar-left h1{font-size:18px;font-weight:800;color:#101826;letter-spacing:-.01em;margin:0;}
.phase-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#E8EFFC;color:#16307A;font-size:12px;font-weight:700;}
.phase-pill .dot{width:6px;height:6px;border-radius:50%;background:#1B4DB1;}
.topbar-right{display:flex;align-items:center;gap:12px;}
.topbar-right .avatar{width:34px;height:34px;font-size:14px;}
.gen-cta{display:flex;align-items:center;gap:7px;background:#1B4DB1;color:#fff;padding:9px 15px;border-radius:9px;font-size:13.5px;font-weight:700;}
.gen-cta:hover{background:#16307A;}
main.content{flex:1;overflow:auto;}
.page{padding:28px 30px;max-width:1080px;margin:0 auto;}
.page-wide{max-width:1140px;}
.page-head{margin-bottom:22px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8A929D;}
.page-head h2{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:6px 0 0;color:#101826;}

/* card */
.card{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:20px;min-width:0;}
.card-r14{border-radius:14px;}
.section-title{font-size:15.5px;font-weight:800;color:#101826;margin:0;}
.link-btn{font-size:12.5px;font-weight:700;color:#1B4DB1;}

/* KPI grid */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.kpi{background:#fff;border:1px solid #E4E8EE;border-radius:14px;padding:16px 18px;}
.kpi .v{font-size:29px;font-weight:800;color:#101826;letter-spacing:-.02em;}
.kpi .v small{font-size:15px;color:#9AA3AE;font-weight:700;}
.kpi .l{font-size:12.5px;color:#5B6470;margin-top:3px;font-weight:600;}

/* painel grid */
.painel-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;}
.queue{display:flex;flex-direction:column;gap:10px;}
.q-row{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #EEF1F5;border-radius:12px;}
.tag-mono{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:500;padding:4px 8px;border-radius:6px;background:#F1F3F6;color:#5B6470;flex:none;}
.q-row .mid{min-width:0;flex:1;}
.q-row .t{font-size:14px;font-weight:700;color:#101826;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.q-row .s{font-size:12px;color:#8A929D;margin-top:1px;}
.q-btn{flex:none;font-size:12.5px;font-weight:700;color:#fff;background:#1B4DB1;padding:7px 13px;border-radius:8px;}
.q-btn:hover{background:#16307A;}
.empty{padding:30px;text-align:center;color:#8A929D;font-size:13.5px;}
.cal{display:flex;flex-direction:column;gap:8px;}
.cal-row{display:flex;align-items:center;gap:12px;}
.cal-row .day{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8A929D;width:30px;flex:none;}
.cal-chips{flex:1;display:flex;gap:6px;flex-wrap:wrap;}
.cal-chip{font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:7px;}

/* ===== GERAR ===== */
.hint{display:flex;align-items:flex-start;gap:11px;background:#E8EFFC;border:1px solid #CFE0FA;border-radius:12px;padding:13px 15px;margin-bottom:20px;}
.hint .tx{font-size:13px;color:#16307A;line-height:1.5;}
.gen-grid{display:grid;grid-template-columns:380px 1fr;gap:22px;align-items:start;}
.gen-panel{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:22px;}
.gen-panel .fld-label{font-size:12.5px;margin-bottom:11px;}
.gen-go{width:100%;background:#1B4DB1;color:#fff;padding:13px;border-radius:11px;font-size:14.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;}
.gen-go:hover{background:#16307A;}
.gen-go:disabled{opacity:.7;cursor:default;}
.ref-box{margin-top:18px;border-top:1px solid #EEF1F5;padding-top:16px;}
.ref-hd{font-size:12.5px;font-weight:700;color:#16307A;display:flex;align-items:center;gap:6px;}
.ref-hd span{font-weight:600;color:#8A929D;}
.ref-note{font-size:11.5px;color:#5B6470;line-height:1.45;margin-top:7px;}
.ref-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.ref-thumb{position:relative;width:54px;height:54px;border-radius:9px;overflow:hidden;border:1px solid #E4E8EE;}
.ref-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ref-x{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(16,24,38,.72);color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0;}
.ref-x:hover{background:#C0362C;}
.ref-empty{font-size:11.5px;color:#9AA3AE;font-style:italic;}
.ref-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3D4756;margin-top:12px;line-height:1.4;cursor:pointer;}
.ref-consent input{margin-top:2px;flex:none;}
.ref-upload{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 13px;border:1.5px solid #E1E6EC;border-radius:10px;font-size:13px;font-weight:700;color:#16307A;cursor:pointer;}
.ref-upload:hover{border-color:#1B4DB1;background:#F8FAFF;}
.ref-upload.off{opacity:.5;cursor:not-allowed;}
.gen-result{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:22px;min-height:480px;}
.gen-idle{height:436px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.gen-idle .badge{width:56px;height:56px;border-radius:15px;background:#F1F3F6;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;}
.gen-idle .t{font-size:15px;font-weight:700;color:#3D4756;}
.gen-idle .s{font-size:13px;color:#8A929D;margin-top:5px;max-width:30ch;}
.skel{display:flex;flex-direction:column;gap:13px;}
.skel .tag{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#1B4DB1;letter-spacing:.04em;}
.skel .bar{height:14px;border-radius:6px;background:linear-gradient(90deg,#EEF1F5 25%,#E0E6ED 37%,#EEF1F5 63%);background-size:800px 100%;animation:shimmer 1.3s infinite linear;}
.skel .bar.big{height:22px;}
.gen-out{animation:fadeUp .35s ease both;}
.gen-out .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;}
.tag-blue{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:500;padding:4px 9px;border-radius:7px;background:#E8EFFC;color:#16307A;}
.score-ok{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#0F7A3D;}
.gen-out h3{font-size:20px;font-weight:800;color:#101826;letter-spacing:-.01em;margin:0 0 12px;}
.corpo{white-space:pre-line;font-size:14.5px;line-height:1.62;color:#2B3442;}
.slides{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;}
.slide{flex:none;width:152px;aspect-ratio:4/5;border-radius:12px;background:#13316E;color:#fff;padding:14px;display:flex;flex-direction:column;}
.slide .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#9DB6E8;}
.slide .t{font-size:14px;font-weight:800;margin-top:auto;line-height:1.2;}
.slide .d{font-size:11.5px;color:#C5D4F0;margin-top:6px;line-height:1.4;}
.hashtags{font-size:13.5px;font-weight:600;color:#1B4DB1;margin-top:14px;}
.slide-edit{margin-top:16px;border:1px solid #E4E8EE;border-radius:12px;padding:14px;background:#FAFBFD;}
.slide-edit-hd{font-size:12.5px;font-weight:700;color:#16307A;display:flex;align-items:center;gap:6px;margin-bottom:12px;}
.slide-edit-hd span{font-weight:600;color:#8A929D;}
.slide-edit-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;}
.slide-edit-row:last-child{margin-bottom:0;}
.slide-edit-row .sn{flex:none;width:26px;height:26px;border-radius:7px;background:#E8EFFC;color:#16307A;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:6px;}
.slide-edit-row .sf{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0;}
.slide-in{font-size:13.5px;padding:9px 11px;}
.slide-in.sub{font-size:12.5px;color:#5B6470;}
.img-prompt-in{resize:vertical;min-height:64px;font-size:13.5px;line-height:1.5;font-family:inherit;}
.divider{border-top:1px solid #EEF1F5;margin-top:18px;padding-top:16px;}
.sub-mono{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#8A929D;}
.flags-mini{display:flex;flex-direction:column;gap:7px;margin-top:10px;}
.flag-mini{display:flex;align-items:center;gap:9px;font-size:13px;color:#3D4756;}
.flag-dot{width:8px;height:8px;border-radius:50%;flex:none;}
.gen-image{margin-top:16px;}
.gen-image img{width:100%;max-width:320px;border-radius:12px;border:1px solid #E4E8EE;display:block;}
.gen-image .wm{font-size:11.5px;color:#8A929D;margin-top:6px;display:flex;align-items:center;gap:6px;}
/* carousel: per-slide finished cards as a horizontal scrollable row (~4:5) */
.carousel-images{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;max-width:100%;min-width:0;}
.carousel-images img{flex:none;width:190px;aspect-ratio:4/5;object-fit:cover;border-radius:12px;border:1px solid #E4E8EE;display:block;max-width:none;}
.actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.btn-send{flex:1;min-width:200px;background:#128C4B;color:#fff;padding:13px;border-radius:11px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-send:hover{background:#0F7A3D;}
.btn-send:disabled{opacity:.7;cursor:default;}
.btn-ghost{background:#fff;border:1.5px solid #E1E6EC;color:#5B6470;padding:13px 16px;border-radius:11px;font-size:14px;font-weight:700;}
.btn-ghost:hover{border-color:#C7CED6;}
.btn-img{background:#fff;border:1.5px solid #E1E6EC;color:#16307A;padding:13px 16px;border-radius:11px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-img:hover{border-color:#1B4DB1;background:#F8FAFF;}
.btn-img:disabled{opacity:.7;cursor:default;}

/* ===== APROVAÇÕES ===== */
.aprov-grid{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;}
.aprov-list{display:flex;flex-direction:column;gap:10px;}
.aprov-item{text-align:left;display:flex;align-items:center;gap:13px;padding:14px;border:1.5px solid #E4E8EE;background:#fff;border-radius:13px;width:100%;}
.aprov-item.sel{border-color:#1B4DB1;background:#F5F8FF;}
.aprov-item .mid{min-width:0;flex:1;}
.aprov-item .t{font-size:14px;font-weight:700;color:#101826;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aprov-item .s{font-size:12px;color:#8A929D;margin-top:1px;}
.pill-pend{font-size:11.5px;font-weight:700;color:#9A6700;background:#FBF1DC;padding:4px 9px;border-radius:7px;flex:none;}
.how{background:#F8FAFC;border:1px solid #E9EEF4;border-radius:14px;padding:18px;margin-top:18px;}
.how h4{font-size:13.5px;font-weight:800;color:#16307A;margin:0 0 12px;}
.how-steps{display:flex;flex-direction:column;gap:10px;}
.how-step{display:flex;gap:11px;align-items:flex-start;}
.how-step .n{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;width:22px;height:22px;border-radius:7px;background:#E8EFFC;color:#16307A;display:flex;align-items:center;justify-content:center;flex:none;}
.how-step span:last-child{font-size:13px;color:#3D4756;line-height:1.45;}

/* phone */
.phone-wrap{display:flex;justify-content:center;}
.phone{width:320px;background:#0B141A;border-radius:38px;padding:10px;box-shadow:0 26px 60px rgba(16,24,38,.24);}
.phone-screen{border-radius:30px;overflow:hidden;background:#ECE5DD;}
.phone-bar{background:#128C4B;color:#fff;padding:13px 14px;display:flex;align-items:center;gap:10px;}
.phone-bar .ava{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;}
.phone-bar .nm{font-size:13.5px;font-weight:700;}
.phone-bar .sub{font-size:11px;color:#D6F0DF;}
.phone-body{padding:16px 12px;min-height:430px;display:flex;flex-direction:column;gap:9px;}
.wa-day{align-self:center;font-size:10.5px;font-weight:600;color:#5B6470;background:#FCF4D7;padding:3px 11px;border-radius:8px;margin-bottom:2px;}
.wa-card{align-self:flex-start;max-width:86%;background:#fff;border-radius:10px;border-top-left-radius:3px;padding:11px 12px;box-shadow:0 1px 1px rgba(0,0,0,.12);}
.wa-card .hd{font-size:10.5px;font-weight:700;color:#128C4B;margin-bottom:5px;}
.wa-card .meta{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:#8A929D;margin-bottom:4px;}
.wa-card .ti{font-size:14px;font-weight:800;color:#101826;line-height:1.25;}
.wa-card .pv{font-size:12.5px;color:#54606C;line-height:1.45;margin-top:6px;white-space:pre-line;}
.wa-card .cp{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid #F0F0F0;font-size:11px;color:#0F7A3D;font-weight:700;}
.wa-card .tm{text-align:right;font-size:10px;color:#9AA3AE;margin-top:5px;}
.wa-img{width:100%;border-radius:8px;margin-top:8px;display:block;}
.wa-actions{align-self:flex-start;width:86%;display:flex;flex-direction:column;gap:3px;}
.wa-btn{width:100%;background:#fff;font-weight:700;font-size:14px;padding:11px;border-radius:9px;box-shadow:0 1px 1px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;gap:7px;}
.wa-btn:disabled{opacity:.6;cursor:default;}
.wa-btn.ok{color:#128C4B;} .wa-btn.ok:hover{background:#F4FBF6;}
.wa-btn.adj{color:#1B4DB1;} .wa-btn.adj:hover{background:#F5F8FF;}
.wa-btn.no{color:#C0362C;} .wa-btn.no:hover{background:#FEF5F4;}
.wa-reply{align-self:flex-end;max-width:74%;background:#D9FDD3;border-radius:10px;border-top-right-radius:3px;padding:9px 12px;box-shadow:0 1px 1px rgba(0,0,0,.12);animation:pop .25s ease both;}
.wa-reply .lb{font-size:13.5px;font-weight:700;color:#0B3D1E;}
.wa-reply .tm{text-align:right;font-size:10px;color:#5A9C6E;margin-top:2px;}
.wa-sys{align-self:flex-start;max-width:86%;background:#fff;border-radius:10px;border-top-left-radius:3px;padding:11px 12px;box-shadow:0 1px 1px rgba(0,0,0,.12);animation:pop .3s ease both;}
.wa-sys .tx{font-size:13px;color:#101826;line-height:1.5;white-space:pre-line;}
.wa-sys .tm{text-align:right;font-size:10px;color:#9AA3AE;margin-top:5px;}
.wa-empty{align-self:center;margin-top:120px;text-align:center;color:#7A828D;font-size:12.5px;padding:0 24px;line-height:1.5;}
.phone-input{background:#F0F0F0;padding:8px 12px;display:flex;gap:8px;align-items:center;}
.phone-input .box{flex:1;background:#fff;border-radius:18px;padding:9px 14px;font-size:12.5px;color:#9AA3AE;}
.phone-input .snd{width:38px;height:38px;border-radius:50%;background:#128C4B;display:flex;align-items:center;justify-content:center;flex:none;}

/* ===== COMPLIANCE ===== */
.comp-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start;}
.comp-tag-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.comp h3{font-size:20px;font-weight:800;color:#101826;letter-spacing:-.01em;margin:0 0 18px;}
.comp-media{margin:0 0 20px;}
.comp-media .comp-img{width:100%;max-width:280px;border-radius:12px;border:1px solid #E4E8EE;display:block;}
.flags-list{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;}
.flag-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #EEF1F5;border-radius:11px;}
.flag-row .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.flag-row .tx{flex:1;font-size:13.5px;color:#2B3442;}
.flag-tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;flex:none;}
.aimeta{background:#0E1828;border-radius:12px;padding:15px 16px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;line-height:1.75;color:#9FB0C9;margin:10px 0 22px;}
.aimeta .k{color:#5E7191;display:inline-block;min-width:64px;}
.trail{display:flex;flex-direction:column;gap:0;margin-top:10px;}
.trail-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #F1F3F6;}
.trail-row:last-child{border-bottom:none;}
.trail-row .ts{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#9AA3AE;width:140px;flex:none;}
.trail-row .ac{font-size:13px;color:#3D4756;}
.donut-card{background:#fff;border:1px solid #E4E8EE;border-radius:16px;padding:22px;text-align:center;}
.donut{width:148px;height:148px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:16px auto 0;}
.donut .inner{width:112px;height:112px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.donut .num{font-size:36px;font-weight:800;color:#101826;letter-spacing:-.03em;}
.donut .of{font-size:10.5px;color:#8A929D;font-family:'IBM Plex Mono',monospace;}
.donut-card .risk{font-size:12.5px;color:#5B6470;margin-top:14px;line-height:1.45;}
.comp-pub{width:100%;background:#1B4DB1;color:#fff;padding:13px;border-radius:11px;font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;}
.comp-pub:hover{background:#16307A;}
.comp-pub:disabled{opacity:.55;cursor:default;}
.comp-pub.ghost{background:#fff;border:1.5px solid #E1E6EC;color:#16307A;}
.comp-pub.ghost:hover{border-color:#1B4DB1;background:#F8FAFF;}
.comp-pick{margin-bottom:18px;}
.comp-pick select{width:100%;}

/* ===== RELATÓRIOS ===== */
.rel-charts{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:18px;}
.chart-title{font-size:15px;font-weight:800;color:#101826;margin:0 0 20px;}
.bars{display:flex;align-items:flex-end;gap:14px;height:170px;}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end;}
.bar-col .v{font-size:12px;font-weight:700;color:#3D4756;}
.bar-col .bar{width:100%;max-width:30px;background:#1B4DB1;border-radius:7px 7px 3px 3px;min-height:3px;}
.bar-col .d{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8A929D;}
.canal-list{display:flex;flex-direction:column;gap:16px;}
.canal-row .hd{display:flex;justify-content:space-between;margin-bottom:6px;}
.canal-row .c{font-size:13px;font-weight:600;color:#3D4756;}
.canal-row .p{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#8A929D;}
.canal-track{height:9px;border-radius:999px;background:#EEF1F5;overflow:hidden;}
.canal-fill{height:100%;background:#1B4DB1;border-radius:999px;}
.rel-bottom{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;}
.comp-summary{background:#13316E;color:#fff;border-radius:16px;padding:22px;}
.comp-summary h3{font-size:15px;font-weight:800;margin:0 0 18px;}
.comp-summary .nums{display:flex;gap:20px;}
.comp-summary .num{font-size:30px;font-weight:800;letter-spacing:-.02em;}
.comp-summary .num.amber{color:#FFD27A;}
.comp-summary .lb{font-size:12px;color:#9DB6E8;margin-top:2px;}
.comp-summary .ft{font-size:12.5px;color:#C5D4F0;line-height:1.5;margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px;}
.top-list{display:flex;flex-direction:column;gap:11px;}
.top-row{display:flex;align-items:center;gap:13px;}
.top-row .t{flex:1;font-size:13.5px;font-weight:600;color:#101826;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.top-row .sc{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;color:#0F7A3D;flex:none;}

/* generic */
.loading-block{display:flex;align-items:center;gap:10px;color:#8A929D;font-size:13.5px;padding:30px;justify-content:center;}
.loading-block .sp{width:16px;height:16px;border:2.4px solid #D6DEE8;border-top-color:#1B4DB1;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;}
.btn-spin{width:16px;height:16px;border:2.4px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;}
.inline-err{background:#FBE7E5;border:1px solid #F3CFCB;color:#9A2820;border-radius:11px;padding:13px 15px;font-size:13px;line-height:1.5;}
.note-503{background:#FBF1DC;border:1px solid #F0E0B8;color:#7A5800;border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.5;margin-top:14px;}
.switcher{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.switcher select{padding:9px 12px;border:1.5px solid #E1E6EC;border-radius:9px;font-size:13.5px;background:#fff;color:#101826;outline:none;}
.switcher select:focus{border-color:#1B4DB1;box-shadow:0 0 0 3px rgba(27,77,177,.12);}
.switcher .new{font-size:12.5px;font-weight:700;color:#1B4DB1;}

.painel-grid>*,.gen-grid>*,.aprov-grid>*,.comp-grid>*,.rel-charts>*,.rel-bottom>*{min-width:0;}

@media(max-width:920px){
  .painel-grid,.gen-grid,.aprov-grid,.comp-grid,.rel-charts,.rel-bottom{grid-template-columns:1fr;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:760px){
  .viewport{height:auto;min-height:100dvh;overflow:visible;}
  .shell{height:auto;min-height:100dvh;display:block;}
  aside.side{
    position:sticky;top:0;z-index:20;width:100%;border-right:none;border-bottom:1px solid #E4E8EE;
    padding:10px 12px;background:#fff;
  }
  .side-logo{padding:0 2px 9px;}
  .side-logo-name{font-size:16px;}
  .side-module,.side-user{display:none;}
  nav.nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;overflow:visible;padding-bottom:0;}
  .nav-item{justify-content:center;width:100%;padding:9px 7px;font-size:11.5px;gap:6px;white-space:nowrap;}
  .nav-item .ic{width:17px;height:17px;}
  .nav-badge{min-width:18px;height:18px;font-size:10px;padding:0 5px;}

  .main-col{display:block;}
  header.topbar{height:auto;min-height:58px;padding:10px 14px;gap:10px;align-items:flex-start;}
  .topbar-left{min-width:0;display:block;}
  .topbar-left h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw;}
  .phase-pill{margin-top:6px;font-size:11px;padding:4px 9px;}
  .topbar-right{gap:8px;flex:none;}
  .topbar-right .avatar{display:none;}
  .gen-cta{padding:9px 11px;font-size:12.5px;}
  main.content{overflow:visible;}
  .page{padding:18px 14px;max-width:none;}
  .page-head{margin-bottom:16px;}
  .page-head h2{font-size:21px;}
  .card,.gen-panel,.gen-result,.donut-card{border-radius:12px;padding:16px;}

  .kpi-grid{grid-template-columns:1fr;gap:10px;margin-bottom:16px;}
  .kpi{padding:14px 15px;}
  .kpi .v{font-size:25px;}
  .q-row,.aprov-item,.top-row{align-items:flex-start;flex-wrap:wrap;}
  .q-row .mid,.aprov-item .mid{flex-basis:100%;order:2;}
  .q-btn{order:3;width:100%;padding:9px 13px;}
  .tag-mono{font-size:10px;}

  .hint{padding:12px;margin-bottom:14px;}
  .gen-result{min-height:360px;}
  .gen-idle{height:300px;}
  .gen-out .top{align-items:flex-start;flex-direction:column;}
  .corpo{font-size:14px;}
  .slide{width:138px;}
  .carousel-images img{width:150px;}
  .actions{display:grid;grid-template-columns:1fr;gap:8px;}
  .btn-send,.btn-img,.btn-ghost{width:100%;min-width:0;}

  .phone{width:min(320px,100%);border-radius:30px;}
  .phone-screen{border-radius:23px;}
  .phone-body{min-height:360px;}
  .wa-card,.wa-actions,.wa-sys{max-width:92%;width:92%;}

  .comp h3{font-size:18px;}
  .trail-row{display:block;}
  .trail-row .ts{display:block;width:auto;margin-bottom:4px;}
  .flag-row{align-items:flex-start;}
  .aimeta{font-size:11px;overflow-wrap:anywhere;}
  .donut{width:132px;height:132px;}
  .donut .inner{width:98px;height:98px;}

  .bars{gap:8px;height:150px;}
  .comp-summary .nums{gap:14px;flex-wrap:wrap;}
  .switcher{gap:8px;}
  .switcher select{width:100%;}
  .toast-wrap{left:12px;right:12px;top:12px;max-width:none;}
}

@media(max-width:640px){
  .ob{display:block;min-height:100dvh;}
  .ob-side{width:auto;max-width:none;min-height:auto;padding:24px 20px;gap:24px;}
  .ob h1{font-size:28px;}
  .ob-lead{font-size:14.5px;margin-bottom:20px;}
  .ob-feats,.ob-foot{display:none;}
  .ob-main{padding:24px 16px;display:block;}
  .ob-form{max-width:none;}
  .ob-form h2{font-size:23px;margin-bottom:22px;}
  .seg{display:grid;grid-template-columns:1fr;}
  .chip{padding:9px 12px;font-size:13px;}
}
