/* SEMANA — estilos da ferramenta (portados do protótipo 01 do MED, delimitados ao #semana para não afetar o resto do site). */
#semana{--paper:#f1ede7;--ink:#111115;--pink:#d4145a;--blue:#1b59b9;--muted:#57555d;--rule:#d4cec6;--white:#fff;color:var(--ink);font:16px/1.5 'RosasPageBody',Arial,sans-serif}
#semana *{box-sizing:border-box}
#semana button,#semana input,#semana select,#semana textarea{font:inherit;color:inherit;border:1px solid var(--rule);border-radius:6px;background:var(--white)}
#semana input,#semana select,#semana textarea{width:100%;min-width:0;padding:10px}
#semana button{cursor:pointer;padding:10px 14px;min-height:44px}
#semana button:hover{border-color:var(--ink)}
#semana button:focus-visible,#semana input:focus-visible,#semana select:focus-visible,#semana textarea:focus-visible,#semana summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#semana button.primary{background:var(--pink);color:#fff;border-color:var(--pink)}
#semana button.remove{padding:6px 12px;align-self:end}
#semana textarea{min-height:96px;resize:vertical}
#semana h2{font-size:21px;margin:0 0 10px}#semana h3{font-size:16px;margin:20px 0 8px}
#semana .muted{color:var(--muted)}#semana .small{font-size:13px}
#semana .actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
#semana .layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}
#semana .section{padding:24px 0;border-top:1px solid var(--rule);min-width:0}
#semana .result{background:#fff;padding:24px;border:1px solid var(--rule);border-radius:10px;min-width:0;position:sticky;top:96px}
#semana .result .state{color:var(--pink);font-weight:700;font-size:22px;line-height:1.2;margin:0 0 18px}
#semana .field{display:block;min-width:0}#semana .field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
#semana .row{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:8px;margin:12px 0;padding-bottom:13px;border-bottom:1px solid var(--rule);align-items:end}
#semana .protect-row{grid-template-columns:1fr 1fr}#semana .protect-row .wide{grid-column:1 / -1}
#semana .task-row{display:grid;grid-template-columns:minmax(0,1fr) 95px auto;gap:8px;align-items:end;margin:12px 0;padding-bottom:13px;border-bottom:1px solid var(--rule)}
#semana .task-keep{grid-column:1 / -1;display:flex;gap:8px;align-items:center}
#semana .task-keep input,#semana .check input{width:20px;height:20px;flex:none;margin:0}
#semana .check{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:14px}
#semana .reserve{max-width:230px;margin:18px 0}
#semana .numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
#semana .numbers span{display:block;color:var(--muted);font-size:13px}
#semana .numbers strong{display:block;font-size:22px;font-variant-numeric:tabular-nums}
#semana .balance{border-top:1px solid var(--rule);padding-top:16px;margin-top:16px}#semana .balance strong{font-size:28px;font-variant-numeric:tabular-nums}
#semana .bar-label{display:flex;justify-content:space-between;gap:12px;margin:12px 0 4px;font-size:13px}
#semana .track{height:10px;background:var(--paper);overflow:hidden}
#semana .bar{height:100%;background:var(--blue);width:0}#semana .bar.demand{background:var(--pink)}
#semana ul{padding-left:20px}#semana li{margin:7px 0;overflow-wrap:anywhere}
#semana #errors:not(:empty){border-left:3px solid var(--pink);padding:1px 12px;background:#fff3f7}
#semana #warnings:not(:empty){border-left:3px solid var(--blue);padding:1px 12px;background:#f1f6ff}
#semana details{margin-top:18px}#semana summary{cursor:pointer;font-weight:700;padding:8px 0}
#semana #prompt{min-height:330px;white-space:pre-wrap;font:13px/1.5 Consolas,monospace}
#semana .scope{font-size:13px;border-top:1px solid var(--rule);padding-top:15px;margin-top:20px}
#semana .sample{color:var(--blue);font-weight:700}
#semana [hidden]{display:none!important}
#semana .footnote{border-top:1px solid var(--rule);margin-top:32px;padding:20px 0;color:var(--muted);font-size:12px}
#semana .ponte{margin-top:28px;padding:22px 24px;background:#142750;color:#fff;border-radius:10px}
#semana .ponte h2{color:#fff;font-size:22px}#semana .ponte p{margin:6px 0 14px;color:#e6ecf8}
#semana .ponte a{display:inline-block;background:#EA4D91;color:#fff;font-weight:700;text-decoration:none;padding:12px 18px;border-radius:6px;min-height:44px}
#semana .ponte a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sm-hero{padding:34px 0 8px;max-width:760px}#rm-programa .sm-hero h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;line-height:1.04;margin:0 0 20px}.sm-hero h1 span{color:var(--rm-pink,#d4145a)}
.sm-hero p{margin:10px 0;color:#57555d;font-size:17px}#rm-programa .sm-hero p.small{font-size:14px}.sm-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--rm-pink,#d4145a);font-weight:700;margin:0 0 12px}
.sm-notice{margin:16px 0;padding:12px 16px;border-left:3px solid #1b59b9;background:#f1f6ff;font-size:15px}
.sm-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:start;padding:20px 0 56px}
.sm-steps{list-style:none;margin:22px 0;padding:0;counter-reset:s}.sm-steps li{counter-increment:s;position:relative;padding:4px 0 14px 46px;margin:0;font-size:16px}
.sm-steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;background:#111115;color:#fff;font-weight:700;display:grid;place-items:center;font-size:15px}
.sm-limits{font-size:14px;color:#57555d;border-top:1px solid #d4cec6;padding-top:14px;margin-top:8px}
@media(max-width:760px){#semana .layout{grid-template-columns:1fr;gap:8px}#semana .result{padding:20px;position:static}#semana .row{grid-template-columns:1fr 1fr}#semana .row .field:first-child{grid-column:1 / -1}#semana .row .remove{justify-self:start}#semana .task-row{grid-template-columns:minmax(0,1fr) 85px}#semana .task-row .remove{grid-column:2;justify-self:end}.sm-intro{grid-template-columns:1fr;gap:24px}}
@media(max-width:370px){#semana .task-row{grid-template-columns:1fr}#semana .task-row .remove{grid-column:auto;justify-self:start}#semana .numbers{gap:10px}}
@media print{#semana button,#semana .actions,#semana details,#semana .ponte{display:none}#semana .layout{grid-template-columns:1fr}#semana .result{break-inside:avoid;position:static}}