:root{--ground: #f5f6f8;--surface: #ffffff;--ink: #151b26;--muted: #5b6577;--line: #e2e6ec;--line-strong: #cbd2dc;--accent: #0f766e;--accent-ink: #0b5b54;--soft: #e3f2f0;--danger: #b42318;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#e9ecf0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:16px;color:inherit}button{cursor:pointer}.app{height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:var(--ground);position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.top{flex:none;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top)) 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top h1{margin:0;font-size:18px;font-weight:700}.top .sub{font-size:13px;color:var(--muted);margin-top:2px}.content{flex:1;min-height:0;overflow-y:auto;padding:16px 16px 24px;display:flex;flex-direction:column;gap:12px}.hidden{display:none!important}.tabs{flex:none;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;min-height:64px;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:500;color:var(--muted)}.tab.on{color:var(--accent);font-weight:700}.btn{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);font-weight:500;font-size:15px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.danger{color:var(--danger);border-color:transparent;background:transparent}.btn:disabled{opacity:.55;cursor:default}.icon-btn{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none}.icon-btn.outline{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.fab{position:absolute;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:28px;border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0f766e59}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:13px;font-weight:500;color:var(--muted)}.field input,.field select,.field textarea{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);width:100%}.field textarea{padding:12px 14px;min-height:96px;resize:vertical}.row{display:flex;gap:8px}.row>*{flex:1;min-width:0}.msg-erro{color:var(--danger);font-size:14px;margin:4px 0 8px}.msg-ok{color:var(--accent-ink);font-size:14px;margin:4px 0 8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}.card.list{padding:0}.item{display:flex;align-items:center;gap:12px;padding:4px 4px 4px 14px;min-height:56px;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:none}.item .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item .t{font-size:15px;font-weight:500;overflow-wrap:anywhere}.item .s{font-size:13px;color:var(--muted)}.item .v{font-size:15px;font-weight:700}.vazio{text-align:center;color:var(--muted);font-size:14px;padding:24px 8px}.titulo-secao{font-size:14px;font-weight:700;color:var(--muted);margin:4px 0 0}.chat{flex:1;min-height:0;display:flex;flex-direction:column}.chat .content{gap:12px}.bubble{max-width:82%;padding:10px 14px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-radius:18px 18px 4px}.bubble.bot{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 18px 4px}.bot-wrap{align-self:flex-start;width:90%;display:flex;flex-direction:column;gap:8px}.bot-wrap .bubble{max-width:100%}.kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.big{font-size:20px;font-weight:700;overflow-wrap:anywhere}.line{font-size:15px;color:var(--muted);margin-top:4px}.actions{display:flex;gap:8px;margin-top:12px}.actions .primary{flex:1}.composer{flex:none;padding:8px 12px 12px;display:flex;align-items:center;gap:8px;background:var(--ground)}.composer input{flex:1;height:48px;min-width:0;padding:0 16px;border-radius:24px;border:1px solid var(--line-strong);background:var(--surface)}.round{width:48px;height:48px;border-radius:24px;border:1px solid var(--line-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;padding:0;flex:none}.round.primary{background:var(--accent);border-color:var(--accent);color:#fff}.round.rec{background:#fde8e6;border-color:var(--danger);color:var(--danger)}.round:disabled{opacity:.5}.pill{font-size:12px;color:var(--accent-ink);background:var(--soft);padding:4px 10px;border-radius:12px;white-space:nowrap}.semana{display:flex;gap:4px;padding:0 12px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.dia{flex:1;min-height:64px;border:none;border-radius:14px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;color:var(--muted);font-weight:500;padding:0}.dia b{font-size:17px;color:var(--ink)}.dia.on{background:var(--accent);color:#fff}.dia.on b{color:#fff}.dia .dot{width:5px;height:5px;border-radius:3px;background:var(--accent)}.dia.on .dot{background:#fff}.dia .dot.off{background:transparent}.evento{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 6px 14px 14px}.evento .barra{width:4px;border-radius:2px;background:#4f8ef7;flex:none}.evento .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.evento .hora{font-size:13px;color:var(--muted)}.evento .nome{font-size:17px;font-weight:700;overflow-wrap:anywhere}.evento .loc{font-size:14px;color:var(--muted)}.resumo{background:var(--surface);border-bottom:1px solid var(--line);padding:4px 20px 18px}.resumo .lbl{font-size:13px;color:var(--muted)}.resumo .total{font-size:32px;font-weight:700;margin:2px 0 12px}.barra-cat{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;background:var(--line)}.cat-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px}.cat-row .bola{width:10px;height:10px;border-radius:5px;flex:none}.cat-row .nome{flex:1}.cat-row b{font-weight:700}.progresso{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.progresso div{height:100%;background:var(--accent);transition:width .2s}.check{width:44px;height:44px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;padding:0;flex:none;margin-left:-10px}.check span{width:24px;height:24px;border-radius:12px;border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:#fff}.check span.on{background:var(--accent);border-color:var(--accent)}.feito .t{color:var(--muted);text-decoration:line-through}.add-row{display:flex;gap:8px}.add-row input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface)}.add-row input.qtd{flex:none;width:84px}.dica{background:var(--soft);color:var(--accent-ink);border-radius:16px;padding:14px;font-size:14px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#151b2673;display:flex;align-items:flex-end;z-index:10}.sheet{width:100%;max-height:92%;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sheet-head h2{margin:0;font-size:18px}.auth{flex:1;overflow-y:auto;padding:48px 24px 24px;display:flex;flex-direction:column;justify-content:center}.auth h1{margin:0 0 4px;font-size:26px}.auth p{margin:0 0 24px;color:var(--muted)}.auth .btn{width:100%}.link{background:none;border:none;color:var(--accent);font-size:14px;min-height:44px;text-decoration:underline}.logo{width:56px;height:56px;border-radius:14px;margin-bottom:16px}.center{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted)}
