/* ============================================================
   ABA ASSINATURAS
   ============================================================ */
#view-assinaturas{background:var(--paper); min-height:0;}
#as-search{width:240px; max-width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:16px; font-family:'Inter',sans-serif; font-size:13px; background:var(--paper);}
#as-body{flex:1; overflow-y:auto; padding:20px 32px 40px; min-height:0;}
.as-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 170px auto; cursor:pointer;}
.as-row:hover{border-color:#B8C3D9;}
.as-row.novo{border-left:3px solid var(--gold);}
.as-novo{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; background:var(--gold); color:var(--ink); border-radius:8px; padding:1px 7px; vertical-align:2px;}
.as-prog{display:flex; gap:6px; flex-wrap:wrap;}
.as-chip{font-size:12px; font-weight:600; border:1.5px solid var(--c); color:var(--c); border-radius:12px; padding:2px 9px; background:#fff; white-space:nowrap;}
.as-chip.ok{background:var(--c); color:#fff;}
.as-st{display:inline-block; font-size:11.5px; font-weight:600; padding:3px 10px; border-radius:12px; white-space:nowrap;}
.as-st.pend{background:#FBEEDC; color:#9A5B0E;} .as-st.ok{background:var(--status-done-light); color:var(--status-done);}
.as-st.dev{background:#F7E6E4; color:var(--stamp-red);} .as-st.can{background:var(--paper-dark); color:var(--gray-blue);}

.ct-modal.xl{width:min(1200px,100%) !important; max-height:94vh; padding:0 !important; overflow:hidden;}
.as-ed{display:grid; grid-template-columns:340px minmax(0,1fr); height:min(94vh,900px);}
.as-ed-lado{padding:24px 20px; overflow-y:auto; border-right:1px solid var(--line); background:var(--white);}
.as-ed-pags{overflow-y:auto; background:#E7EBF1; padding:16px; display:flex; flex-direction:column; align-items:center;}
.as-pag{position:relative; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.15); margin-bottom:6px; flex:none;}
.as-pag canvas{display:block;}
.as-pag.editavel{cursor:crosshair;}
.as-pag-n{font-size:11.5px; color:var(--gray-blue); margin:8px 0 4px; align-self:center;}
.as-box{position:absolute; border:2px dashed var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); border-radius:4px; color:var(--c); display:flex; align-items:center; justify-content:center; text-align:center; font-size:11px; line-height:1.25; cursor:grab; user-select:none; touch-action:none;}
.as-box.mov{cursor:grabbing; box-shadow:0 6px 16px -6px rgba(0,0,0,.35);}
.as-box b{font-size:11.5px;}
.as-box button{position:absolute; top:-10px; right:-10px; width:20px; height:20px; border-radius:50%; border:0; background:var(--c); color:#fff; font-size:13px; line-height:1; cursor:pointer;}
.as-box.fixo{cursor:default;}
.as-box.feito{border:1.5px solid #2F7A4E; background:transparent;}
.as-box.feito em{position:absolute; top:-19px; left:-1.5px; font-style:normal; font-size:10.5px; font-weight:700; background:#2F7A4E; color:#fff; padding:1px 7px; border-radius:4px 4px 0 0; white-space:nowrap;}
.as-box.meu{animation:asPulso 1.6s infinite;}
@keyframes asPulso{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--c) 25%, transparent);}}
@media (prefers-reduced-motion:reduce){.as-box.meu{animation:none;}}
.as-quem{display:grid; gap:6px;}
.as-q{text-align:left; border:2px solid var(--line); background:#fff; border-radius:6px; padding:9px 12px; font-family:'Inter',sans-serif; font-size:13.5px; cursor:pointer; color:var(--ink); position:relative; padding-left:28px;}
.as-q::before{content:""; position:absolute; left:11px; top:50%; width:10px; height:10px; margin-top:-5px; border-radius:50%; background:var(--c);}
.as-q.on{border-color:var(--c); background:color-mix(in srgb, var(--c) 8%, #fff); font-weight:600;}
.as-q span{color:var(--gray-blue); font-weight:400;}
.as-drop{display:flex; flex-direction:column; align-items:center; gap:4px; border:2px dashed #9AA6C4; border-radius:8px; padding:30px 16px; text-align:center; cursor:pointer; background:var(--paper); color:var(--ink);}
.as-drop span{font-size:12.5px; color:var(--gray-blue);}
.as-drop.over{border-color:var(--ink); background:#E9EEF8;}
.as-drop.sm{padding:16px 12px;}
.as-obs{background:#FBF4EA; border-left:3px solid var(--gold); border-radius:3px; padding:8px 12px; font-size:13px;}
.as-acoes{display:grid; gap:10px;}
.as-acoes .btn{width:100%; margin-top:0;}
.as-passo{display:grid; gap:8px; border:1px solid var(--line); border-radius:6px; padding:12px; background:var(--paper);}
.as-ajuda{font-size:12.5px; color:var(--ink);}
.as-ajuda summary{cursor:pointer; color:var(--gray-blue);}
.as-ajuda ol{margin:6px 0 0; padding-left:18px; display:grid; gap:3px;}
.as-erro{color:var(--stamp-red); font-weight:600;}
.as-hist{list-style:none; margin:0; padding:0; display:grid; gap:6px; font-size:12.5px;}
.as-hist li span{display:block; font-size:11px; color:var(--gray-blue);}
.as-hist small{color:var(--gray-blue);}

@media (max-width:860px){
  #as-body{padding:12px 12px 30px;}
  #as-search{width:100%;}
  .as-row{grid-template-columns:1fr auto;}
  .as-row .as-prog{grid-column:1/-1;}
  .as-row .pr-acts{grid-column:1/-1; justify-content:flex-start;}
  .as-ed{grid-template-columns:1fr; height:auto; max-height:94vh; overflow-y:auto;}
  .as-ed-lado{border-right:0; border-bottom:1px solid var(--line);}
  .as-ed-pags{overflow:visible;}
}

.as-quem-tit{font-size:12px;font-weight:600;color:var(--ink-soft,#555);margin:0 0 6px}

.as-modo{display:flex;flex-direction:column;gap:8px}
.as-modo-op{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line,#dde2ea);border-radius:10px;cursor:pointer;background:#fff}
.as-modo-op:has(input:checked){border-color:#5C3D9E;background:#F6F2FC}
.as-modo-op:has(input:disabled){opacity:.55;cursor:not-allowed}
.as-modo-op input{margin-top:3px;accent-color:#5C3D9E}
.as-modo-op span{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.35}
.as-modo-op small{color:var(--ink-soft,#5C6B85);font-size:12px}
.as-rec{font-style:normal;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1F7A4D;background:#E4F4EA;border-radius:6px;padding:1px 6px;margin-left:4px}
.as-ed-pags.so-ver .as-pag{cursor:default}
.as-ed-pags.so-ver .as-box{display:none}

/* empresa (cliente) */
.as-emp{margin-top:14px;border-top:1px solid var(--line,#dde2ea);padding-top:12px}
.as-emp-tog{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.as-emp-tog input{margin-top:3px;width:17px;height:17px;accent-color:#15803D;flex:none}
.as-emp-tog span{display:flex;flex-direction:column;gap:2px;font-size:13px}
.as-emp-tog small{color:var(--ink-soft,#5C6B85);font-size:12px}
#as-emp-box{margin-top:10px;padding:12px;border:1px solid #CFE6D7;background:#F4FAF6;border-radius:10px}
#as-emp-box .field{margin-bottom:10px}
.as-seg{display:flex;border:1px solid var(--line,#dde2ea);border-radius:9px;overflow:hidden;background:#fff}
.as-seg label{flex:1;cursor:pointer;margin:0}
.as-seg input{position:absolute;opacity:0;pointer-events:none}
.as-seg span{display:block;text-align:center;padding:8px 6px;font-size:13px;font-weight:600;color:var(--ink-soft,#5C6B85)}
.as-seg input:checked+span{background:#15803D;color:#fff}
.as-seg input:focus-visible+span{outline:2px solid #15803D;outline-offset:-2px}
.as-emp-card{border:1px solid #CFE6D7;background:#F4FAF6;border-radius:12px;padding:12px;margin-bottom:12px}
.as-emp-tit{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#15803D}
.as-emp-nome{font-weight:700;margin-top:4px;display:flex;flex-direction:column}
.as-emp-nome small{font-weight:500;color:var(--ink-soft,#5C6B85);font-size:12px}
.as-emp-card .field{margin-bottom:8px}
.as-linha{display:flex;gap:6px}
.as-linha input{flex:1;min-width:0}
.as-linha .mini-btn{white-space:nowrap}
.as-link{width:100%;font:inherit;font-size:13px;padding:10px;border:1px solid var(--line,#dde2ea);border-radius:8px}
.as-emp-bloco{margin-bottom:10px}
.as-q-ninguem{font-weight:500}

/* assinatura pelo link (selfie) */
.as-simp-p{border-left:3px solid var(--c);background:#fff;border-radius:8px;padding:8px 10px;margin-bottom:10px}
.as-simp-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:var(--c)}
.as-sp-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#as-simp-box{margin-top:10px;padding:12px;border:1px solid #CDE3EA;background:#F3F9FB;border-radius:10px}
#as-simp-box .field{margin-bottom:8px}
.as-simp-card{border-color:#CDE3EA;background:#F3F9FB}
.as-simp-card .as-emp-tit{color:#0E7490}
.as-sp-item{border-left:3px solid var(--c);background:#fff;border-radius:8px;padding:8px 10px;margin-top:8px}
.as-sp-ok{color:#2F7A4E;font-weight:600;font-size:13px;margin:4px 0}
.as-sp-selfie{display:flex;gap:10px;align-items:flex-start}
.as-selfie{flex:none;width:72px;height:96px;border:1px solid var(--line,#dde2ea);border-radius:8px;overflow:hidden;padding:0;background:#EEF1F6;cursor:zoom-in;font-size:10px;color:#5C6B85}
.as-selfie img{width:100%;height:100%;object-fit:cover;display:block}
.as-selfie.grande{width:220px;height:auto;cursor:zoom-out}
.as-selfie.grande img{height:auto;object-fit:contain}
.as-sp-conf{color:#2F7A4E;font-size:12.5px;font-weight:600}
.as-sp-ua{font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.as-q-simp{display:contents}
