/* DebtSphere — tela do editor */
.ed{display:flex;flex-direction:column;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));min-height:560px;background:#E9E6DA;border-bottom:1.5px solid var(--ink)}
.ed-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:var(--cream);border-bottom:1.5px solid var(--ink)}
.ed-bar h1{font:700 1.05rem var(--f-body);letter-spacing:-.01em;margin:0}
.save{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:7px}
.save::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
.save.bad{color:var(--pink-600)}.save.bad::before{background:var(--pink)}
.ed-bar-r{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.tb{display:inline-flex;align-items:center;gap:7px;font:700 .88rem var(--f-body);padding:9px 14px;border-radius:99px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;transition:.15s}
.tb:hover{background:var(--yellow-soft);transform:translateY(-1px)}
.tb.primary{background:var(--green-600);border-color:var(--green-600);color:#fff}
.tb.primary:hover{background:var(--green-800)}
.tb svg{width:16px;height:16px}
.ed-tabs{display:none}
.ed-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(380px,500px) minmax(0,1fr)}
.ed-left{overflow-y:auto;overflow-x:hidden;background:var(--cream);border-right:1.5px solid var(--ink);padding:16px;scroll-behavior:smooth}
.ed-right{display:flex;flex-direction:column;min-width:0;min-height:0}
.pal-wrap{margin-bottom:16px}
.pal-wrap h2{font:700 .76rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}
.pal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.pal{display:flex;align-items:center;gap:8px;text-align:left;font:600 .78rem/1.2 var(--f-body);padding:7px 9px;border:1.5px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;transition:.15s;min-height:44px}
.pal:hover{background:var(--yellow-soft);transform:translateY(-1px);box-shadow:2px 2px 0 var(--ink)}
.pal span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:8px;font-size:.66rem;font-weight:800;flex-shrink:0}
.blocks{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:60px}
.blk{background:#fff;border:1.5px solid var(--ink);border-radius:14px;position:relative;transition:box-shadow .2s,opacity .2s}
.blk.flash{box-shadow:0 0 0 4px rgba(255,195,0,.7)}
.blk.dragging{opacity:.4}
.blk.drop-before::before,.blk.drop-after::after{content:"";position:absolute;left:0;right:0;height:5px;background:var(--pink);border-radius:3px}
.blk.drop-before::before{top:-8px}.blk.drop-after::after{bottom:-8px}
.blk-h{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 6px}
.blk-handle{border:0;background:transparent;font-size:1.3rem;line-height:1;color:#8A8A7A;cursor:grab;padding:6px 4px;border-radius:8px;min-width:30px;min-height:40px}
.blk-handle:hover{background:#F1EDDD;color:var(--ink)}.blk-handle:active{cursor:grabbing}
.blk-tile{display:grid;place-items:center;min-width:30px;height:30px;border-radius:9px;font-size:.7rem;font-weight:800;border:1.5px solid var(--ink)}
.blk-name{flex:1;min-width:0;text-align:left;background:transparent;border:0;cursor:pointer;font:inherit;color:var(--ink);padding:4px 2px;display:flex;flex-direction:column}
.blk-name strong{font-size:.9rem;display:flex;align-items:center;gap:7px}
.blk-name small{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:1.1em}
.qn{background:var(--ink);color:#fff;border-radius:99px;padding:0 7px;font-size:.68rem;line-height:1.6}
.blk-acts{display:flex;gap:2px}
.blk-acts button{width:34px;height:34px;border:0;background:transparent;border-radius:9px;font-size:1rem;cursor:pointer;color:var(--ink)}
.blk-acts button:hover{background:#F1EDDD}
.blk-acts button.danger:hover{background:var(--pink-soft);color:var(--pink-600)}
.blk-body{padding:4px 14px 14px;border-top:1px dashed var(--line);display:grid;gap:12px;padding-top:12px}
.blk.collapsed .blk-body{display:none}
.fld{display:grid;gap:5px;font-size:.84rem;font-weight:700}
.fld em{font-weight:500;color:var(--muted);font-style:normal}
.fld input[type=text],.fld input[type=number],.fld textarea,.fld select,.opt-row input[type=text],.opt-row select{font:500 .95rem/1.45 var(--f-body);padding:9px 11px;border:1.5px solid #BFB9A0;border-radius:10px;background:#FFFDF8;color:var(--ink);width:100%;min-width:0}
.fld textarea{resize:vertical;min-height:44px;overflow:hidden}
.fld input:focus,.fld textarea:focus,.fld select:focus,.opt-row input:focus,.opt-row select:focus{outline:3px solid var(--yellow);border-color:var(--ink)}
.fld input[type=range]{accent-color:var(--green-600);width:100%}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chks{display:flex;flex-wrap:wrap;gap:6px 16px}
.chk{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:600;cursor:pointer;min-height:32px}
.chk input{width:18px;height:18px;accent-color:var(--green-600)}
.opt-row{display:grid;grid-template-columns:22px 22px 1fr 34px;gap:6px;align-items:center;margin-top:2px}
.opt-row.tf{grid-template-columns:64px 1fr 34px}
.opt-row input[type=radio]{width:20px;height:20px;accent-color:var(--green-600);margin:0;cursor:pointer}
.opt-row b{font-size:.82rem;text-align:center}
.opt-row select{padding:9px 6px;font-weight:800;text-align:center}
.x{width:34px;height:34px;border:0;border-radius:9px;background:transparent;font-size:1.2rem;cursor:pointer;color:var(--muted)}
.x:hover:not(:disabled){background:var(--pink-soft);color:var(--pink-600)}
.x:disabled{opacity:.3;cursor:not-allowed}
.row-actions{display:flex;flex-wrap:wrap;gap:8px}
.mini{font:700 .8rem var(--f-body);padding:8px 12px;border-radius:99px;border:1.5px solid var(--ink);background:var(--yellow-soft);color:var(--ink);cursor:pointer;min-height:36px}
.mini:hover:not(:disabled){background:var(--yellow)}
.mini.ghost{background:#fff;border-color:#BFB9A0;color:var(--muted)}
.mini:disabled{opacity:.45;cursor:not-allowed}
.muted{color:var(--muted);font-size:.9rem;margin:0}
.empty{text-align:center;padding:36px 20px;border:2px dashed #BFB9A0;border-radius:16px;background:#fff}
.empty p{color:var(--muted)}

.pv-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:10px 16px;background:var(--cream);border-bottom:1.5px solid var(--ink)}
.seg{display:inline-flex;background:#fff;border:1.5px solid var(--ink);border-radius:99px;padding:3px}
.seg button{border:0;background:transparent;font:700 .84rem var(--f-body);padding:7px 15px;border-radius:99px;cursor:pointer;color:var(--ink)}
.seg button[aria-selected="true"]{background:var(--ink);color:#fff}
.pv-opts{display:flex;align-items:center;gap:12px;font-size:.84rem;font-weight:600;margin-left:auto;flex-wrap:wrap}
.pv-opts select{font:600 .84rem var(--f-body);padding:6px 8px;border:1.5px solid #BFB9A0;border-radius:8px;background:#fff;color:var(--ink)}
.pv-opts label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.pv-opts input[type=checkbox]{accent-color:var(--green-600);width:16px;height:16px}
.keystat{font-size:.82rem;font-weight:700;color:var(--green-800);background:#E3F4E6;border-radius:99px;padding:5px 11px}
.keystat.warn{background:var(--yellow-soft);color:#6a5200}
.pv-scroll{flex:1;overflow:auto;padding:18px 16px 40px}
.pv{width:max-content;margin-inline:auto;max-width:none}
.pv .sheet{box-shadow:0 2px 4px rgba(0,0,0,.12),0 20px 40px -16px rgba(0,0,0,.35);margin-inline:auto}
.pv-hint{text-align:center;font-size:.78rem;color:var(--muted);margin:10px 0 0}

/* Diálogos */
dialog{border:1.5px solid var(--ink);border-radius:22px;padding:0;max-width:min(640px,calc(100vw - 28px));width:100%;color:var(--ink);background:var(--cream);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:rgba(16,48,26,.55);backdrop-filter:blur(3px)}
.dlg-in{padding:26px}
.dlg-in h2{font-size:1.5rem;margin-bottom:6px}
.dlg-in>p{color:var(--ink-soft);margin:0 0 18px;font-size:.96rem}
.dlg-x{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:1.3rem;cursor:pointer;border:1.5px solid var(--line)}
.dlg-x:hover{background:var(--yellow-soft)}
.tpl-list{display:grid;gap:10px;max-height:60vh;overflow:auto;padding:2px}
.tpl{display:grid;gap:2px;text-align:left;font:inherit;padding:14px 16px;border:1.5px solid var(--ink);border-radius:14px;background:#fff;cursor:pointer;color:var(--ink);transition:.15s}
.tpl:hover{background:var(--yellow-soft);transform:translateY(-2px)}
.tpl strong{font-size:1.02rem}.tpl span{font-size:.8rem;font-weight:700;color:var(--green-800)}.tpl small{font-size:.86rem;color:var(--muted);line-height:1.45}
.choice{display:grid;gap:10px}
.choice button{text-align:left;font:700 1rem var(--f-body);padding:14px 16px;border:1.5px solid var(--ink);border-radius:14px;background:#fff;cursor:pointer;color:var(--ink)}
.choice button:hover{background:var(--yellow-soft)}
.choice button small{display:block;font-weight:500;color:var(--muted);font-size:.86rem;margin-top:2px}
.dlg-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
.pm{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;margin-bottom:9px;transition:.15s}
.pm:hover{border-color:var(--ink)}
.pm:has(input:checked){border-color:var(--green);background:#EAF7EC;box-shadow:0 0 0 2px var(--green)}
.pm input{margin-top:4px;accent-color:var(--green-600);width:18px;height:18px}
.pm strong{display:block}.pm small{color:var(--muted);font-size:.86rem}
.pstat{font-size:.88rem;font-weight:700;background:#E3F4E6;color:var(--green-800);border-radius:10px;padding:9px 12px;margin:4px 0 8px}
.pstat.warn{background:var(--yellow-soft);color:#6a5200}
.ptip{font-size:.84rem;color:var(--muted);margin:10px 0 0}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;display:flex;gap:14px;align-items:center;font-size:.92rem;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:calc(100vw - 28px);box-shadow:var(--shadow-lg)}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{background:var(--yellow);color:var(--ink);border:0;border-radius:99px;padding:7px 14px;font:800 .84rem var(--f-body);cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

#print-root{display:none}

/* Telas menores: abas Editar / Folha */
@media (max-width:900px){
  .ed{height:calc(100dvh - var(--header-h));min-height:520px}
  .ed-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);border-bottom:1.5px solid var(--ink)}
  .ed-tabs button{border:0;background:transparent;font:700 .95rem var(--f-body);padding:13px;cursor:pointer;color:var(--muted);border-bottom:4px solid transparent}
  .ed-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--green)}
  .ed-main{grid-template-columns:1fr}
  .ed[data-view="edit"] .ed-right{display:none}
  .ed[data-view="preview"] .ed-left{display:none}
  .ed-left{border-right:0;padding:12px}
  .ed-bar{padding:8px 12px}
  .ed-bar h1{display:none}
  .ed-bar .save{flex:1 1 100%;order:3;font-size:.78rem}
  .ed-bar-r{margin-left:0;width:100%}
  .ed-bar-r .tb{flex:1;justify-content:center;padding:10px 8px;font-size:.82rem}
  .tb .lbl-long{display:none}
  .pv-opts{margin-left:0}
  .pal-grid{grid-template-columns:repeat(2,1fr)}
  .pal{min-height:48px}
  .two{grid-template-columns:1fr}
  .pv-scroll{padding:12px 8px 40px}
}

/* Impressão: some tudo, sobra só a folha A4 */
@page{size:A4;margin:14mm}
@media print{
  html,body{background:#fff!important;margin:0!important}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block!important}
  #print-root .sheet{width:auto!important;min-height:0!important;padding:0!important;box-shadow:none!important;zoom:1!important;background:#fff!important;margin:0!important}
  #print-root .sheet:not(:first-child){break-before:page;page-break-before:always}
}
