/* ===========================================================================
   CONTAGEM-02 · U4 — the count screen's sheet, hand-built from
   docs/mockups/lotus-contagem-phone-v5.html (phone) and
   lotus-contagem-desktop-v1.html (desktop, under .ct-desk), SCOPED under
   #ct-root so it can repaint nothing else. The mockups' own values, carried as
   #ct-root tokens. Capitals are applied with text-transform, never by
   capitalising data (CAPITALS-BY-THE-SHEET-01).
   =========================================================================== */
#ct-root{--ct-navy:#0B1524;--ct-ink:#0F172A;--ct-ink2:#334155;--ct-mut:#5A6675;--ct-faint:#626E7D;--ct-line:#E5E9F0;--ct-line2:#EFF2F6;
  --ct-bg:#F4F6FA;--ct-blue:#2563EB;--ct-bluebg:#EEF3FF;--ct-red:#B42318;--ct-redbg:#FEF1F0;--ct-green:#067647;--ct-greenbg:#ECFDF3;
  --ct-amber:#B54708;--ct-amberbg:#FFFAEB;--ct-amberln:#FEDF89;--ct-badge:#F79009;--ct-white:#fff;--ct-dash:#C7D2FE;--ct-dashbg:#F8FAFF;
  --ct-off:#E5E9F0;--ct-x:#94A3B8;--ct-shade:rgba(11,21,36,.45);
  color:var(--ct-ink);font:15px/1.4 -apple-system,"Segoe UI",Inter,Roboto,sans-serif;max-width:560px;margin:0 auto;
  padding:4px 2px calc(var(--navh,0px) + 150px)}
#ct-root *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
#ct-root button,#ct-root input,#ct-root textarea{font:inherit;color:inherit}
#ct-root button{cursor:pointer;min-height:0}
#ct-root .ct-n0{font-variant-numeric:tabular-nums}
#ct-root .ct-crumb{font-size:11px;letter-spacing:.12em;color:var(--ct-mut);font-weight:700;text-transform:uppercase}
#ct-root .ct-h1,#ct-root h1{margin:2px 0 12px;font-size:24px;letter-spacing:-.01em}
#ct-root .ct-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
#ct-root .ct-tb{height:34px;padding:0 12px;border:1.5px solid var(--ct-line);border-radius:999px;background:var(--ct-white);font-weight:700;font-size:12px;color:var(--ct-ink2);text-transform:uppercase}
#ct-root .ct-tb.ct-on{background:var(--ct-navy);border-color:var(--ct-navy);color:var(--ct-white)}
#ct-root .ct-tb b,#ct-root .ct-dtb b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:var(--ct-badge);color:var(--ct-white);font-size:11px;margin-left:4px}
#ct-root .ct-card{background:var(--ct-white);border:1px solid var(--ct-line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
#ct-root .ct-lbl{font-size:11px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700;margin:0 0 6px;text-transform:uppercase}
#ct-root .ct-fld{width:100%;height:46px;border:1.5px solid var(--ct-line);border-radius:11px;display:flex;align-items:center;padding:0 14px;font-weight:700;background:var(--ct-white);text-align:left;text-transform:uppercase}
#ct-root .ct-fld:has(.ct-ph){border-color:var(--ct-blue);box-shadow:0 0 0 3px var(--ct-bluebg)}
#ct-root .ct-ph{color:var(--ct-faint);font-weight:500;text-transform:none}
#ct-root .ct-ar{margin-left:auto;color:var(--ct-faint);font-weight:400}
#ct-root .ct-add{margin-top:12px;height:46px;border:1.5px dashed var(--ct-dash);border-radius:11px;background:var(--ct-dashbg);display:flex;align-items:center;gap:8px;padding:0 14px;color:var(--ct-blue);font-weight:700;width:100%}
#ct-root .ct-add:disabled{color:var(--ct-mut);border-color:var(--ct-line);background:var(--ct-bg);cursor:not-allowed}
#ct-root .ct-th,#ct-root .ct-ln{display:grid;grid-template-columns:1fr 50px 64px 48px 22px;gap:6px}
#ct-root .ct-th{font-size:10.5px;letter-spacing:.08em;color:var(--ct-mut);font-weight:700;padding:12px 0 6px;border-bottom:1px solid var(--ct-line);text-transform:uppercase}
#ct-root .ct-th span:not(:first-child){text-align:center}
#ct-root .ct-ln{align-items:center;padding:10px 0;border-bottom:1px solid var(--ct-line2)}
#ct-root .ct-nm{font-weight:700;font-size:13.5px;line-height:1.25;text-transform:uppercase}
#ct-root .ct-nm small{display:block;font-weight:500;color:var(--ct-faint);font-size:11px}
#ct-root .ct-s{text-align:center;color:var(--ct-mut);font-weight:600}
#ct-root .ct-ln input{width:100%;height:36px;border:1.5px solid var(--ct-line);border-radius:8px;text-align:center;font-weight:800;font-size:15px;background:var(--ct-white)}
#ct-root .ct-ln input:focus,#ct-root .ct-tbl input:focus,#ct-root .ct-sin:focus{outline:0;border-color:var(--ct-blue);box-shadow:0 0 0 3px var(--ct-bluebg)}
#ct-root input.ct-empty,#ct-root input.ct-e{border-style:dashed}
#ct-root input.ct-bad{border-color:var(--ct-red)}
#ct-root .ct-x{color:var(--ct-x);text-align:center;font-size:14px;background:none;border:0;padding:0}
#ct-root .ct-d{text-align:center;font-weight:800;font-size:13px;border-radius:7px;padding:5px 0}
#ct-root .ct-d.neg{background:var(--ct-redbg);color:var(--ct-red)}
#ct-root .ct-d.pos{background:var(--ct-greenbg);color:var(--ct-green)}
#ct-root .ct-d.zero,#ct-root .ct-d.none{color:var(--ct-faint)}
#ct-root .ct-d.none{font-weight:500}
#ct-root .ct-val{grid-column:1/-1;font-size:11.5px;text-align:right;margin-top:-4px;font-weight:700}
#ct-root .neg{color:var(--ct-red)}#ct-root .pos{color:var(--ct-green)}
#ct-root .ct-hint{font-size:12px;color:var(--ct-mut);margin-top:8px}
#ct-root .ct-empty-st{text-align:center;color:var(--ct-faint);padding:22px 0 8px;font-size:13.5px}
#ct-root .ct-motivo{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ct-mut)}
#ct-root .ct-motivo b{color:var(--ct-ink);background:var(--ct-line2);padding:3px 10px;border-radius:999px;font-size:12.5px}
#ct-root .ct-msg{margin:8px 0;font-size:13px;color:var(--ct-red);background:var(--ct-redbg);border-radius:10px;padding:10px}
#ct-root .ct-bar{position:fixed;bottom:var(--navh,0px);left:50%;transform:translateX(-50%);width:100%;max-width:560px;background:var(--ct-white);border-top:1px solid var(--ct-line);padding:10px 16px;z-index:40}
#ct-root .ct-sum{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ct-mut);margin-bottom:8px}
#ct-root .ct-sum b{color:var(--ct-ink)}#ct-root .ct-sum b.neg{color:var(--ct-red)}#ct-root .ct-sum b.pos{color:var(--ct-green)}
#ct-root .ct-tot{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--ct-mut);margin-bottom:8px}
#ct-root .ct-tot b{font-size:18px}
#ct-root .ct-cta{width:100%;height:48px;border:0;border-radius:12px;background:var(--ct-navy);color:var(--ct-white);font-weight:800;letter-spacing:.05em;text-transform:uppercase}
#ct-root .ct-cta:disabled{background:var(--ct-off);color:var(--ct-mut);cursor:not-allowed}
#ct-root .ct-cta.ct-g{background:var(--ct-green)}
#ct-root .ct-cta.ct-w{background:var(--ct-white);color:var(--ct-ink);border:1.5px solid var(--ct-line)}
#ct-root .ct-cta.ct-red{color:var(--ct-red)}
#ct-root .ct-two{display:flex;gap:8px}
#ct-root .ct-pc{display:block;width:100%;text-align:left;border:1px solid var(--ct-line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--ct-white)}
#ct-root .ct-t{display:flex;justify-content:space-between;font-weight:800}
#ct-root .ct-m{font-size:12.5px;color:var(--ct-mut);margin-top:2px}
#ct-root .ct-st{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:5px;letter-spacing:.04em;text-transform:uppercase}
#ct-root .ct-st.p{background:var(--ct-amberbg);color:var(--ct-amber)}
#ct-root .ct-st.ok{background:var(--ct-greenbg);color:var(--ct-green)}
#ct-root .ct-st.no{background:var(--ct-line2);color:var(--ct-mut)}
#ct-root .ct-lock{margin-top:10px;font-size:12.5px;color:var(--ct-amber);background:var(--ct-amberbg);border:1px solid var(--ct-amberln);border-radius:10px;padding:10px;text-align:center}
#ct-root .ct-back{background:none;border:0;color:var(--ct-blue);font-weight:700;padding:0;margin-bottom:6px}
#ct-root .ct-cr{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--ct-line2);font-size:14px}
#ct-root .ct-cr small{color:var(--ct-mut)}
#ct-root .ct-cr b.neg{color:var(--ct-red)}#ct-root .ct-cr b.pos{color:var(--ct-green)}
#ct-root .ct-totr{border-top:1.5px solid var(--ct-ink);margin-top:4px}
#ct-root .ct-warn{margin-top:10px;font-size:12.5px;color:var(--ct-mut);text-align:center}
#ct-root .ct-done{text-align:center;padding:30px 10px 10px}
#ct-root .ct-ok{width:64px;height:64px;border-radius:50%;background:var(--ct-greenbg);color:var(--ct-green);display:grid;place-items:center;font-size:30px;margin:0 auto 10px}
#ct-root .ct-ok.ct-wait{background:var(--ct-amberbg);color:var(--ct-amber)}
#ct-root .ct-done h2{margin:0 0 4px}
#ct-root .ct-done p{color:var(--ct-mut);margin:0 0 16px}
#ct-root .ct-day{font-size:11px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700;margin:12px 0 4px;text-transform:uppercase}
#ct-root .ct-it{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--ct-line2)}
#ct-root .ct-ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
#ct-root .ct-ic.neg{background:var(--ct-redbg)}#ct-root .ct-ic.pos{background:var(--ct-greenbg)}#ct-root .ct-ic.zero{background:var(--ct-line2);color:var(--ct-mut)}
#ct-root .ct-mm{flex:1;min-width:0}
#ct-root .ct-nm2{font-weight:700;font-size:14px;text-transform:uppercase}
#ct-root .ct-sb{font-size:12px;color:var(--ct-mut)}
#ct-root .ct-r{text-align:right;flex:none}
#ct-root .ct-r b{display:block;font-size:14px}
#ct-root .ct-r small{font-size:11px;color:var(--ct-mut)}
/* sheet */
#ct-root .ct-ov{position:fixed;left:0;right:0;top:0;bottom:var(--navh,0px);background:var(--ct-shade);display:flex;align-items:flex-end;justify-content:center;z-index:61}
#ct-root .ct-sh{background:var(--ct-white);width:100%;max-width:560px;border-radius:18px 18px 0 0;max-height:88%;display:flex;flex-direction:column}
#ct-root .ct-gr{width:40px;height:4px;border-radius:2px;background:var(--ct-line);margin:8px auto 0}
#ct-root .ct-sh h3{margin:10px 18px 8px;font-size:17px}
#ct-root .ct-bd{overflow:auto;padding:0 18px 12px}
#ct-root .ct-ft{padding:10px 18px 14px;border-top:1px solid var(--ct-line2);display:flex;gap:8px}
#ct-root .ct-ft button{flex:1;height:46px;border-radius:11px;font-weight:700}
#ct-root .ct-no{background:var(--ct-white);border:1.5px solid var(--ct-line)}
#ct-root .ct-yes{background:var(--ct-navy);color:var(--ct-white);border:0;flex:1.4;text-transform:uppercase}
#ct-root .ct-yes:disabled{background:var(--ct-off);color:var(--ct-mut)}
#ct-root .ct-yes.ct-redb{background:var(--ct-red)}
#ct-root .ct-opt{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border:0;border-bottom:1px solid var(--ct-line2);background:none;font-weight:700;text-align:left;text-transform:uppercase}
#ct-root .ct-opt small{color:var(--ct-mut);font-weight:500;text-transform:none}
#ct-root .ct-opt.ct-dis{opacity:.45;cursor:default}
#ct-root .ct-ck{color:var(--ct-green)}
#ct-root .ct-sin{width:100%;height:44px;border:1.5px solid var(--ct-line);border-radius:10px;padding:0 12px;margin-bottom:6px}
#ct-root .ct-ta{height:88px;padding:10px 12px;resize:vertical}
#ct-root .ct-p{color:var(--ct-mut);margin:0 0 10px}

/* ---- DESKTOP (lotus-contagem-desktop-v1.html) ---------------------------------- */
#ct-root.ct-desk{max-width:none;padding:4px 0 40px;font-size:13px;line-height:1.45}
#ct-root.ct-desk .ct-hdr{display:flex;align-items:center;gap:16px;margin-bottom:14px}
#ct-root.ct-desk .ct-hdr h1{margin:0;font-size:20px}
#ct-root .ct-dtabs{display:flex;gap:4px;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:9px;padding:3px}
#ct-root .ct-dtb{height:30px;padding:0 14px;border:0;border-radius:6px;background:none;font-weight:700;font-size:12px;color:var(--ct-mut);display:flex;align-items:center;gap:6px;text-transform:uppercase}
#ct-root .ct-dtb.ct-on{background:var(--ct-navy);color:var(--ct-white)}
#ct-root .ct-grid{display:grid;grid-template-columns:1fr 310px;gap:12px;align-items:start}
#ct-root .ct-grid3{display:grid;grid-template-columns:300px 1fr 280px;gap:12px;align-items:start}
#ct-root .ct-dcard{background:var(--ct-white);border:1px solid var(--ct-line);border-radius:10px;min-width:0}
#ct-root .ct-ctx{display:grid;grid-template-columns:260px 1fr;gap:12px;padding:16px;border-bottom:1px solid var(--ct-line2);align-items:end}
#ct-root .ct-dfld{height:48px;border:1px solid var(--ct-line);border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 12px;position:relative;font-weight:700;font-size:14px;background:var(--ct-white);text-align:left;text-transform:uppercase}
#ct-root .ct-dfld:has(.ct-ph){border-color:var(--ct-blue);box-shadow:0 0 0 3px var(--ct-bluebg)}
#ct-root .ct-k{position:absolute;top:-8px;left:10px;background:var(--ct-white);padding:0 5px;font-size:10px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700}
#ct-root .ct-kb{margin-left:auto;font-size:10.5px;color:var(--ct-mut);border:1px solid var(--ct-line);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-weight:600}
#ct-root .ct-tbl{width:100%;border-collapse:collapse}
#ct-root .ct-tbl th{font-size:10.5px;letter-spacing:.09em;color:var(--ct-mut);text-align:left;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--ct-line);white-space:nowrap;background:var(--ct-bg);text-transform:uppercase}
#ct-root .ct-tbl td{padding:9px 12px;border-bottom:1px solid var(--ct-line2);white-space:nowrap;vertical-align:middle}
#ct-root .ct-rt{text-align:right}#ct-root .ct-c{text-align:center}
#ct-root .ct-ix{width:34px;color:var(--ct-faint);text-align:center}
#ct-root .ct-pn{white-space:normal!important;font-weight:700;text-transform:uppercase}
#ct-root .ct-pn small{display:block;font-weight:500;color:var(--ct-faint);font-size:11.5px}
#ct-root .ct-tbl input{height:32px;width:84px;border:1px solid var(--ct-line);border-radius:6px;text-align:right;padding:0 8px;font-weight:800;font-size:14px}
#ct-root.ct-desk .ct-d{display:inline-block;min-width:44px;padding:3px 6px;border-radius:6px}
#ct-root .ct-v{font-weight:700}
#ct-root .ct-del button{border:0;background:none;color:var(--ct-x)}
#ct-root .ct-del button:hover{color:var(--ct-red)}
#ct-root .ct-entry td{background:var(--ct-bluebg)}
#ct-root .ct-entry .ct-ix{color:var(--ct-blue);font-weight:800}
#ct-root .ct-help{color:var(--ct-mut);font-size:12px}
#ct-root .ct-srch{position:relative}
#ct-root .ct-srch input{width:100%;height:34px;text-align:left;padding:0 10px;font-weight:600;border:1px solid var(--ct-dash);border-radius:7px}
#ct-root .ct-dd{position:absolute;left:0;width:560px;top:40px;background:var(--ct-white);border:1px solid var(--ct-line);border-radius:10px;box-shadow:0 12px 32px rgba(11,18,32,.14);z-index:5;overflow:hidden}
#ct-root .ct-op{display:grid;grid-template-columns:1fr 120px;gap:10px;padding:9px 12px;width:100%;border:0;background:var(--ct-white);text-align:left}
#ct-root .ct-op+.ct-op{border-top:1px solid var(--ct-line2)}
#ct-root .ct-op.ct-act{background:var(--ct-bluebg)}
#ct-root .ct-op.ct-dis{opacity:.45}
#ct-root .ct-os{text-align:right;color:var(--ct-mut);font-weight:600}
#ct-root .ct-emptyr td{padding:26px;text-align:center;color:var(--ct-mut)}
#ct-root .ct-tf{display:flex;gap:14px;flex-wrap:wrap;padding:10px 12px;color:var(--ct-mut);font-size:11.5px}
#ct-root .ct-tf kbd{font:600 10.5px inherit;color:var(--ct-mut);border:1px solid var(--ct-line);border-bottom-width:2px;border-radius:4px;padding:0 5px;background:var(--ct-white);margin-right:4px}
#ct-root .ct-side{position:sticky;top:16px}
#ct-root .ct-h{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ct-line2);font-size:10.5px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700;text-transform:uppercase}
#ct-root .ct-b{padding:10px 16px}
#ct-root .ct-row{display:flex;justify-content:space-between;padding:5px 0;color:var(--ct-ink2)}
#ct-root .ct-dtot{margin:6px 16px 0;padding:14px 0 6px;border-top:1px dashed var(--ct-line);display:flex;justify-content:space-between;align-items:baseline}
#ct-root .ct-dtot span{font-size:10.5px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700;text-transform:uppercase}
#ct-root .ct-dtot b{font-size:26px;font-weight:800}
#ct-root .ct-chk{margin:10px 16px 0;display:grid;gap:6px}
#ct-root .ct-chk div{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ct-mut)}
#ct-root .ct-chk i{font-style:normal;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:var(--ct-line2)}
#ct-root .ct-chk .ct-okk{color:var(--ct-ink2)}#ct-root .ct-chk .ct-okk i{background:var(--ct-greenbg);color:var(--ct-green)}
#ct-root .ct-dcta{display:block;margin:14px 16px 0;width:calc(100% - 32px);height:46px;border:0;border-radius:9px;background:var(--ct-navy);color:var(--ct-white);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
#ct-root .ct-dcta:disabled{background:var(--ct-off);color:var(--ct-mut);cursor:not-allowed}
#ct-root .ct-dcta.ct-g{background:var(--ct-green)}
#ct-root .ct-dcta.ct-w{background:var(--ct-white);border:1px solid var(--ct-line);margin-bottom:14px}
#ct-root .ct-dcta.ct-red{color:var(--ct-red)}
#ct-root .ct-f{opacity:.6;font-size:11px}
#ct-root .ct-fine{padding:9px 16px 14px;text-align:center;font-size:11px;color:var(--ct-mut)}
#ct-root.ct-desk .ct-lock{margin:12px 16px 0}
#ct-root .ct-pl{padding:6px}
#ct-root .ct-pi{display:block;width:100%;text-align:left;padding:12px;border-radius:8px;border:1px solid transparent;background:var(--ct-white)}
#ct-root .ct-pi.ct-on{background:var(--ct-bluebg);border-color:var(--ct-dash)}
#ct-root .ct-dh{padding:16px;border-bottom:1px solid var(--ct-line2);display:flex;justify-content:space-between;align-items:center}
#ct-root .ct-dh h2{margin:0;font-size:18px}
#ct-root .ct-dayr td{background:var(--ct-bg);font-size:10.5px;letter-spacing:.1em;color:var(--ct-mut);font-weight:700;padding:8px 12px;text-transform:uppercase}
#ct-root .ct-emptyc{padding:40px;text-align:center;color:var(--ct-mut)}
#ct-root.ct-desk .ct-ov{bottom:0;align-items:flex-start;padding-top:80px}
#ct-root.ct-desk .ct-sh{width:520px;max-width:520px;border-radius:12px;max-height:80vh}
#ct-root.ct-desk .ct-gr{display:none}
#ct-root .ct-elbl{margin:14px 0 4px}
#ct-root .ct-er{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--ct-line2);font-size:13px;color:var(--ct-ink2)}
#ct-root .ct-noentry{margin-top:10px;font-size:12.5px;color:var(--ct-mut);text-align:center}
#ct-root .ct-confq{margin:12px 0 0;color:var(--ct-ink2);font-weight:600}
