*{box-sizing:border-box}body{margin:0;background:#f7f7f7;font-family:Arial,Helvetica,sans-serif;color:#111}.app{display:flex;min-height:100vh}.registrar{width:410px;background:#fafafa;padding:14px;border-right:1px solid #eee}.registrar h1,.relatorio h1{text-align:center;font-size:22px;margin:12px 0}.registrar label{font-size:20px;font-weight:bold;display:block;margin-top:8px}.registrar input,.registrar select,.filtro input,.filtro select{width:100%;background:#fff8ed;border:1px solid #ddd;border-radius:8px;padding:14px;font-size:18px;min-height:52px}.tipo-row{display:flex;gap:6px}.tipo-row input{display:none}.tipo-btn{flex:1;text-align:center;border:1px solid #ddd;background:#fff;border-radius:10px;padding:16px;font-size:20px!important;margin:0!important;cursor:pointer}.tipo-row input:checked+.tipo-btn{background:#ff7900;color:white}.btn-laranja{background:#ff7900;color:white;border:none;border-radius:10px;padding:14px 22px;font-size:20px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-block}.full{width:100%;margin-top:8px}.check-small{font-size:12px!important}.check-small input{width:auto;min-height:0}.small-label{font-size:12px!important}.registrar h2{font-size:20px;margin:8px 0}.categorias{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cat-btn{height:52px;border:none;border-radius:7px;color:white;font-size:15px;font-weight:bold;cursor:pointer}.cat-btn.selected{outline:4px solid #222}.nova-cat{display:flex;gap:6px;margin-top:8px}.nova-cat input{flex:1}.nova-cat input[type=color]{width:45px;padding:2px;min-height:45px}.nova-cat button{font-size:18px}.excluir-cat{margin-top:8px}.excluir-cat button{width:100%;margin-top:6px;border:1px solid #ddd;background:white;border-radius:8px;padding:13px;font-weight:bold}.relatorio{flex:1;padding:16px;background:white}.filtro{display:grid;grid-template-columns:60px 1fr 55px 100px 210px 100px;gap:8px;align-items:center}.filtro label{font-size:20px;font-weight:bold}.filtro .ano{width:100px}.filtro .link{text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.card{border-radius:8px;padding:14px;font-size:20px;font-weight:bold;background:white}.red{border:1px solid red;color:red}.green{border:1px solid green;color:green}.blue{border:1px solid #0645ad;color:#0645ad}.chart-box{height:260px;display:flex;align-items:center;justify-content:center}.sem{font-size:18px;font-weight:bold}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border:1px solid #999;padding:6px;text-align:center}th{background:#f0f0f0;font-weight:bold}td input,td select{width:100%;border:1px solid #ddd;padding:5px}.actions{display:flex;gap:4px;justify-content:center}.actions form{display:inline}.bottom-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}.bottom-actions a,.bottom-actions button,.importar{display:block;text-align:center;border:1px solid #ddd;background:white;border-radius:7px;padding:14px;font-size:15px;font-weight:bold;text-decoration:none;color:#111;cursor:pointer}.login-body{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-card{width:480px;background:#fafafa;border:1px solid #ddd;border-radius:18px;padding:25px}.login-card h1{text-align:center}.login-card label{font-size:22px;font-weight:bold;margin-top:12px;display:block}.login-card input{width:100%;padding:14px;font-size:22px;border:1px solid #ddd;border-radius:10px;background:#fff8ed}.login-card button{width:100%;margin-top:18px;background:#ff7900;color:white;border:none;border-radius:15px;padding:16px;font-size:24px;font-weight:bold}.flash{padding:10px;border-radius:8px;margin:6px 0;font-weight:bold}.flash.erro{background:#ffe2e2;color:#b00000}.flash.ok{background:#e6ffe6;color:#006400}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center}.modal-card{width:520px;background:white;border-radius:15px;padding:20px}.modal-card input{width:100%;padding:12px;margin:5px 0 10px;border:1px solid #ddd;border-radius:8px;font-size:18px}@media(max-width:900px){.app{flex-direction:column}.registrar{width:100%}.filtro{grid-template-columns:1fr}.bottom-actions{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}
