:root{--green-dark:#0f3d25;--green:#1a6b3c;--orange:#f4a83a;--bg:#f5f7f5;--card:#fff;--text:#17211b;--muted:#66736b;--line:#dde5df;--danger:#b42318;--success:#157347;--shadow:0 8px 28px rgb(15 61 37 / 8%);font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.45}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}h1{margin:0 0 8px;color:var(--green-dark);font-size:28px;line-height:1.15}h2{margin:0 0 10px;font-size:20px}.subtitle{margin:0 0 20px;color:var(--muted)}.small{margin:3px 0 0;color:var(--muted);font-size:12px}.center{text-align:center}.auth-main{min-height:100vh;padding:20px 16px;display:grid;place-items:center}.auth-content{width:min(100%,430px)}.auth-logo{display:block;width:min(210px,70vw);height:auto;margin:0 auto 20px}.auth-screen{width:100%}.auth-brand,.auth-heading{margin-bottom:18px;text-align:center}.auth-brand{margin-bottom:26px}.card{margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}label{display:block;margin:14px 0 6px;font-size:13px;font-weight:700}input{width:100%;padding:13px 14px;border:1px solid #c9d5cd;border-radius:10px;background:#fff;outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1a6b3c1a}.btn{width:100%;min-height:48px;margin-top:8px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--green-dark);font-weight:700}.btn-primary{border-color:var(--green);background:var(--green);color:#fff}.btn-secondary{background:#eef4f0}.back{margin-bottom:14px;padding:0;border:0;background:transparent;color:var(--green);font-weight:700}.alert{margin:0 0 14px;padding:13px;border:1px solid #f2d69a;border-radius:12px;background:#fff7e8;color:#684a0a;font-size:13px}.alert.success{border-color:#b9dcc1;background:#e9f4ec;color:var(--success)}.alert.error{border-color:#f4c7c2;background:#fff0ee;color:var(--danger)}.app-shell{min-height:100vh;max-width:900px;margin:auto;background:var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 18px;border-bottom:1px solid var(--line);background:#fff}.header-logo{display:block;width:136px;max-width:calc(100% - 52px);height:auto}.avatar{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;border-radius:50%;background:var(--orange);color:var(--green-dark);font-size:12px;font-weight:800}.main-content{max-width:760px;margin:auto;padding:20px 16px}.hero{margin-bottom:18px;padding:24px;border-radius:20px;background:var(--green-dark);color:#fff}.hero h1{margin-top:12px;color:#fff}.hero p{color:#e7f0ea}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#e9f4ec;color:var(--success);font-size:11px;font-weight:800}.badge-hero{background:#2c744b;color:#fff}.screen-title{display:flex;gap:10px;margin-bottom:18px}.profile-row{display:flex;align-items:center;gap:10px}.person-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#eaf1ec;color:var(--green-dark);font-weight:800}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}@media(min-width:700px){.app-shell{box-shadow:0 0 40px #0000000d}.main-content{padding-right:28px;padding-left:28px}}.hero .btn-primary{border-color:#fff;background:#fff;color:var(--green-dark)}.success-title{margin-top:12px}.field-help{margin:5px 0 0;color:var(--muted);font-size:12px}.group-summary dl{margin:16px 0}.group-summary dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.group-summary dt{color:var(--muted)}.group-summary dd{margin:0;text-align:right;font-weight:700}.calculated-input{background:#eef4f0;color:var(--green-dark);font-weight:700}.calculated-value{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 4px;padding:14px;border-radius:12px;background:#e9f4ec;color:var(--green-dark)}.calculated-value span{font-size:13px;font-weight:700}.calculated-value output{font-size:18px;font-weight:800}.group-list{display:flex;flex-direction:column;gap:14px}.group-list .card{margin:0}.group-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.group-card-heading h2{overflow-wrap:anywhere}.manager-label{margin:4px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.role-label{margin:0 0 12px;color:var(--green);font-size:13px;font-weight:800}.group-card dl{margin:0}.group-card dl div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.group-card dt{color:var(--muted);font-size:13px}.group-card dd{margin:0;text-align:right;font-weight:700}.badge.danger{background:#fff0ee;color:var(--danger)}.empty-state{text-align:center}.empty-state p{margin-bottom:0;color:var(--muted)}.btn-danger{border-color:#f4c7c2;background:#fff0ee;color:var(--danger)}.btn-danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}.btn-quiet{border-color:transparent;background:transparent;color:var(--muted)}.link-button{display:block;margin-top:8px;padding:0;border:0;background:transparent;color:inherit;font-weight:800;text-decoration:underline}.details-title{margin-top:12px}.confirmation p{color:var(--muted)}.edit-locked{margin:0 0 8px}.invite-action p,.invite-card>p{color:var(--muted)}.invite-link{margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#eef4f0;color:var(--green-dark);font-size:13px;font-weight:700;overflow-wrap:anywhere}.invite-received h1{margin-top:14px}.invite-received>p{color:var(--muted)}.invite-received dl{margin:18px 0}.invite-received dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.invite-received dt{color:var(--muted)}.invite-received dd{margin:0;text-align:right;font-weight:700}.group-members-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.group-members-heading strong{color:var(--green-dark);font-size:14px;white-space:nowrap}.group-members ul{margin:8px 0 14px;padding:0;list-style:none}.group-members li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.group-members li span{font-weight:700;overflow-wrap:anywhere}.group-members li small{color:var(--muted);font-weight:700}.group-members li .manager-role{color:var(--green)}.formation-status{margin:0;padding:12px;border-radius:12px;background:#eef4f0;color:var(--green-dark);font-size:14px;font-weight:700}.group-situation{flex-shrink:0;text-align:center}.group-situation.forming{background:#eef1ef;color:#35443b}.group-situation.complete{background:#e9f4ec;color:#12602f}.group-situation.ready{background:#fff1d8;color:#744400}.group-situation.drawn{background:#dcecff;color:#124582}.group-situation.danger{background:#fff0ee;color:#a51e15}.group-card .group-situation.finished{background:#f4a83a;color:#0f3d25}.draw-result ol{margin:12px 0 0;padding:0;list-style:none}.draw-result li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.draw-result li:last-child{border-bottom:0}.draw-result li>strong{min-width:35px;color:var(--green-dark);font-size:20px}.draw-result li div{min-width:0;overflow-wrap:anywhere}.draw-result li p{margin:4px 0 0;color:var(--muted);font-size:14px}.cycle-current{padding:16px;border-radius:12px;background:#e9f4ec;border:1px solid #b9dcc1}.cycle-current>strong{display:block;color:var(--green-dark);font-size:22px}.cycle-current p{margin:10px 0 0}.payment-progress{padding-top:10px;border-top:1px solid #b9dcc1}.payments-section{margin-top:20px}.payments-section h3{margin:0;font-size:17px}.cycle-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.cycle-item{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.cycle-item>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.cycle-item p{margin:7px 0 0;overflow-wrap:anywhere}.cycle-status{flex-shrink:0;font-size:12px;font-weight:800;color:var(--muted)}.cycle-atual{border:2px solid var(--green);background:#f3faf5}.cycle-atual>div strong,.cycle-atual .cycle-status{color:var(--green-dark)}.cycle-concluido{background:#f5f7f5}.cycle-concluido .cycle-status{color:var(--green)}.info-disclosure{border-top:1px solid var(--line)}.info-disclosure>button{width:100%;padding:15px 2px;border:0;background:transparent;color:var(--green-dark);font-weight:800;text-align:left}.info-disclosure>button:after{content:"+";float:right;font-size:20px}.info-disclosure>button[aria-expanded=true]:after{content:"−"}.info-disclosure>button:focus-visible{border-radius:6px;outline:3px solid var(--orange);outline-offset:2px}.info-disclosure>button[aria-expanded=true]{border-bottom:1px solid var(--line)}.group-info .group-summary dl{margin:4px 0 12px}.group-info .group-members{padding:4px 0 12px}.payments-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.payment-item{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.payment-item p{margin:7px 0 0;overflow-wrap:anywhere}.payment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.payment-heading strong{overflow-wrap:anywhere}.payment-state{flex-shrink:0;font-size:12px;font-weight:800}.payment-pendente .payment-state{color:var(--muted)}.payment-alert,.payment-aguardando_confirmacao{border-color:#e8c67f;background:#fff9ec}.payment-alert .payment-state,.payment-aguardando_confirmacao .payment-state{color:#744400}.payment-atrasado{border-color:#f4c7c2;background:#fff0ee}.payment-atrasado .payment-state{color:var(--danger)}.payment-confirmado{border-color:#b9dcc1;background:#e9f4ec}.payment-confirmado .payment-state{color:var(--green)}.payment-deadline{font-weight:700}.payment-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px;background:#09190fa6}.payment-modal{width:min(100%,420px);max-height:calc(100dvh - 32px);margin:0;overflow:auto;box-shadow:0 18px 50px #00000040}.payment-modal p{line-height:1.45}.payment-modal .alert{margin-top:14px}.payment-modal .btn:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.payment-rejeitado{border-color:#b9c7d9;background:#f3f6fa}.payment-rejeitado .payment-state{color:#304b6b}.payment-actions{display:grid;gap:8px;margin-top:8px}.payment-actions .btn{margin-top:0}@media(min-width:520px){.payment-actions{grid-template-columns:1fr 1fr}}
