html {color-scheme:light;background:#fff}
body {margin:0;background:#fff}
#ac-mensal {max-width:1120px;margin:0 auto}
#ac-mensal a.cm-brand {display:inline-block;text-decoration:none}
#ac-mensal .cm-brand img {display:block;width:64px;height:64px;object-fit:contain}
#ac-mensal .cm-model {display:grid;gap:6px;max-width:480px;margin-top:19px}
#ac-mensal .cm-model label {font-size:14px;font-weight:600}
#ac-mensal .cm-model input {width:100%;min-width:0;min-height:42px;border:1px solid var(--rule);border-radius:7px;padding:9px 11px;background:var(--sheet);color:var(--ink);font:400 16px/1.4 "Segoe UI",Arial,sans-serif}
#ac-mensal .cm-model input:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
#ac-mensal .cm-model input[aria-invalid=true] {border-color:var(--error)}
#ac-mensal .cm-export {margin-top:19px}
#ac-mensal .cursor-interaction {cursor:pointer}
#ac-mensal {
      color-scheme:light;
      --sheet:#fff; --ground:#fff; --ink:light-dark(#2b2649,#f5f2fc);
      --dim:light-dark(#605d70,#c5bfd3); --rule:light-dark(#dddbe6,#4c475d); --accent:light-dark(#514085,#c8b9fc);
      --pale:light-dark(#eeeaf7,#343044); --deep:light-dark(#312951,#3e335d); --on-deep:#faf8ff; --muted-deep:#dfd8ef;
      --error:light-dark(#9c3828,#ffb1a2);
      background:var(--ground); color:var(--ink); font:15px/1.45 "Segoe UI",Arial,sans-serif; container-type:inline-size; border-radius:16px;
    }
    #ac-mensal *{box-sizing:border-box}
    #ac-mensal [hidden]{display:none!important}
    #ac-mensal h1,#ac-mensal h2,#ac-mensal p{margin:0}
    #ac-mensal .cm-top{padding:18px clamp(14px,3.6%,36px) 20px;border-radius:16px 16px 0 0;background:var(--sheet);border-bottom:1px solid var(--rule)}
    #ac-mensal .cm-brand{font-size:15px;letter-spacing:-.04em;color:var(--accent);margin-bottom:10px}
    #ac-mensal h1{font-size:clamp(24px,3.4cqw,35px);letter-spacing:-.04em;line-height:1.15;font-weight:600}
    #ac-mensal .cm-period{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:baseline;margin-top:7px;font-size:13px;color:var(--dim)}
    #ac-mensal .cm-body{padding:16px clamp(12px,3%,30px) 22px}
    #ac-mensal .cm-hours{border-bottom:1px solid var(--rule);margin-bottom:10px}
    #ac-mensal .cm-hours .cm-row label{font-weight:600}
    #ac-mensal .cm-panel h3{font-size:15px;margin:0 0 5px}
    #ac-mensal .cm-results,#ac-mensal .cm-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    #ac-mensal .cm-result{display:grid;gap:5px;padding:16px clamp(14px,2.5cqw,26px);border-radius:11px;background:var(--pale)}
    #ac-mensal .cm-result h2{font-size:15px;font-weight:550}
    #ac-mensal .cm-result>output{font-size:clamp(25px,4cqw,40px);line-height:1.15;font-weight:600;letter-spacing:-.045em;overflow-wrap:anywhere}
    #ac-mensal .cm-result p{font-size:13px;color:var(--dim)}
    #ac-mensal .cm-result.cm-full{background:var(--deep);color:var(--on-deep)}
    #ac-mensal .cm-full p{color:var(--muted-deep)}
    #ac-mensal .cm-columns{margin-top:15px;align-items:start}
    #ac-mensal .cm-panel{background:var(--sheet);border:1px solid var(--rule);border-radius:11px;min-width:0;padding:0 15px}
    #ac-mensal .cm-panel h2{font-size:18px;letter-spacing:-.025em;font-weight:600;margin:14px 0 5px}
    #ac-mensal .cm-note{font-size:13px;color:var(--dim);margin:0 0 11px}
    #ac-mensal .cm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,34%);align-items:center;gap:6px 12px;padding:5px 0}
    #ac-mensal .cm-row label{font-size:14px}
    #ac-mensal .cm-box{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 9px;border:1px solid var(--rule);border-radius:6px;background:var(--sheet)}
    #ac-mensal .cm-box:focus-within{outline:2px solid var(--accent);outline-offset:1px}
    #ac-mensal .cm-box span{font-size:12px;color:var(--dim)}
    #ac-mensal .cm-box input{font:500 16px/1.4 "Segoe UI",Arial,sans-serif;min-width:0;width:100%;padding:6px 0;text-align:right;color:var(--ink);background:transparent;border:0}
    #ac-mensal input,#ac-mensal output{font-variant-numeric:tabular-nums}
    #ac-mensal details{margin:0;padding:0;border:0;border-top:1px solid var(--rule);border-radius:0;background:transparent}
    #ac-mensal details>div{padding-bottom:12px}
    #ac-mensal summary{display:flex;align-items:center;gap:8px;min-height:45px;padding:9px 0;list-style:none;font-size:14px;font-weight:600}
    #ac-mensal summary::-webkit-details-marker{display:none}
    #ac-mensal summary::before{content:"";width:6px;height:6px;flex:none;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}
    #ac-mensal details[open]>summary::before{transform:rotate(45deg)}
    #ac-mensal summary output{margin-left:auto;font-size:13px;font-weight:550;color:var(--accent);text-align:right;overflow-wrap:anywhere}
    #ac-mensal .cm-separate{margin:10px -15px 0;padding:0 15px 8px;border-top:1px solid var(--rule)}
    #ac-mensal .cm-subtotal{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:10px 0;font-size:14px;font-weight:600}
    #ac-mensal .cm-panel>.cm-subtotal{border-top:1px solid var(--rule)}
    #ac-mensal .cm-mini{font-size:13px;font-weight:400;color:var(--dim);padding:3px 0}
    #ac-mensal .cm-error{grid-column:1/-1;color:var(--error);font-size:12px}
    #ac-mensal .cm-box:has([aria-invalid=true]){border-color:var(--error)}
    #ac-mensal .cm-chart{margin:10px -15px 0;padding:16px 15px;border-top:1px solid var(--rule)}
    #ac-mensal .cm-chart figcaption{font-size:16px;font-weight:600;letter-spacing:-.02em}
    #ac-mensal .cm-chart-top{display:flex;gap:16px;align-items:center;margin:12px 0}
    #ac-mensal .cm-ring{position:relative;flex:0 0 clamp(96px,13cqw,132px);aspect-ratio:1}
    #ac-mensal .cm-ring svg{display:block;width:100%;height:100%;overflow:visible}
    #ac-mensal .cm-center{position:absolute;inset:30% 10%;display:grid;place-items:center;pointer-events:none;font-size:clamp(15px,2.3cqw,21px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
    #ac-mensal .cm-chart-detail{min-width:0;display:grid;align-content:center;gap:4px;overflow-wrap:anywhere}
    #ac-mensal .cm-chart-detail strong{font-size:15px;font-weight:600}
    #ac-mensal .cm-chart-detail span{color:var(--dim);font-size:14px;font-variant-numeric:tabular-nums}
    #ac-mensal .cm-legend{display:grid;gap:1px}
    #ac-mensal .cm-legend button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;min-height:32px;padding:5px 7px;width:100%;border:0;border-radius:5px;background:transparent;color:var(--ink);font:inherit;font-size:13px}
    #ac-mensal .cm-legend button[aria-pressed=true],#ac-mensal .cm-legend button:hover{background:var(--pale)}
    #ac-mensal .cm-key{width:9px;height:9px;border-radius:3px;background:var(--slice)}
    #ac-mensal .cm-percent{font-variant-numeric:tabular-nums;white-space:nowrap}
    #ac-mensal .cm-chart-empty{margin:10px 0;color:var(--dim);font-size:13px}
    @container(max-width:470px){#ac-mensal .cm-chart{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}}
    @media(pointer:coarse){#ac-mensal .cm-legend button{min-height:44px}}
    @container(max-width:660px){#ac-mensal .cm-columns{grid-template-columns:minmax(0,1fr)}}
    @container(max-width:470px){#ac-mensal .cm-results{grid-template-columns:minmax(0,1fr);gap:7px}#ac-mensal .cm-result{padding:11px 14px}#ac-mensal .cm-panel{padding:0 12px}#ac-mensal .cm-separate{margin-left:-12px;margin-right:-12px;padding:0 12px 8px}}
    @media(pointer:coarse){#ac-mensal .cm-box{min-height:44px}}

#cm-salvar-pdf {
  margin-top: 5px;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  padding: 10px 19px;
  font: 600 15px/1.4 "Segoe UI", Arial, sans-serif;
  color: var(--on-deep);
  background: var(--deep);
  cursor: pointer;
}
#cm-salvar-pdf:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#cm-salvar-pdf:disabled { opacity: .7; cursor: progress; }
#cm-pdf-status { color: var(--dim); font-size: 13px; margin: 5px 0 0; }
#cm-pdf-status:empty { display: none; }
