:root{--cor-primaria:#0d5a48;--cor-primaria-claro:#1a7d62;--cor-primaria-escura:#084639;--cor-secundaria:#ff8a3d;--cor-secundaria-claro:#ffb366;--cor-fundo:#f9f7f4;--cor-fundo-claro:#fdfbf8;--cor-texto:#2c2c2c;--cor-texto-cinza:#666;--cor-texto-leve:#999;--cor-borda:#e8e8e8;--cor-borda-leve:#f0f0f0;--cor-erro:#c0392b;--cor-sucesso:#27ae60}*{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--cor-fundo);color:var(--cor-texto);line-height:1.6}.layout-wrapper,body{display:flex;flex-direction:column;min-height:100vh}.layout-content{flex:1 1}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:2.5rem}h1,h2{color:var(--cor-primaria)}h2{font-size:1.8rem}h3{font-size:1.3rem;color:var(--cor-primaria)}p{color:var(--cor-texto-cinza);line-height:1.7}a{color:var(--cor-primaria);text-decoration:none;transition:color .3s ease}a:hover{color:var(--cor-primaria-claro);text-decoration:underline}button{cursor:pointer;font-family:inherit;transition:all .3s ease}input,select,textarea{font-family:inherit;font-size:1rem}.header{background:#fff;border-bottom:1px solid var(--cor-borda);padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px rgba(0,0,0,.05)}.header-container{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:80px}.header-logo-link{text-decoration:none}.header-logo,.header-logo-link{display:flex;align-items:center}.header-logo{font-size:1.8rem;font-weight:700;color:var(--cor-primaria);gap:8px;margin-right:60px;cursor:pointer;transition:color .3s ease}.header-logo-link:hover .header-logo{color:var(--cor-primaria-claro)}.header-logo span{color:var(--cor-secundaria)}.header-nav{display:flex;align-items:center;gap:40px;flex:1 1}.header-nav a{font-size:.95rem;color:var(--cor-texto-cinza);font-weight:500;position:relative;padding-bottom:4px}.header-nav a:hover{color:var(--cor-primaria);text-decoration:none}.header-nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--cor-secundaria);transition:width .3s ease}.header-nav a:hover:after{width:100%}.header-login-btn{background:var(--cor-secundaria);color:#fff;padding:10px 20px;border-radius:6px;font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all .3s ease;margin-left:auto}.header-login-btn:hover{background:#ff7a1f;color:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(255,138,61,.3)}.container{max-width:1400px;margin:0 auto;padding:24px}.container-narrow{max-width:900px;margin:0 auto;padding:24px}.hero{background:linear-gradient(135deg,#f0e6d6,#e8dcc8);padding:80px 24px;text-align:center;margin-bottom:48px;position:relative;overflow:hidden}.hero-content h1{font-size:2.8rem;line-height:1.2;max-width:800px;margin:24px auto 16px}.hero-content p{font-size:1.15rem;color:var(--cor-texto-cinza);max-width:700px;margin:0 auto;line-height:1.8}.hero-badge{display:inline-block;background:var(--cor-primaria);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.card{background:#fff;border:1px solid var(--cor-borda);border-radius:12px;padding:28px;transition:all .3s ease}.card:hover{border-color:var(--cor-primaria);box-shadow:0 8px 24px rgba(13,90,72,.1)}.card-header{border-left:4px solid var(--cor-primaria);padding-left:20px;margin-bottom:20px}.card-title{font-size:1.3rem;font-weight:600;color:var(--cor-primaria);margin:0 0 8px}.card-subtitle{font-size:.95rem;color:var(--cor-texto-cinza);margin:0}.card-content{margin:16px 0}.card-footer{margin-top:20px;padding-top:20px;border-top:1px solid var(--cor-borda-leve)}.ciclos-grid{display:grid;grid-gap:24px;gap:24px;margin-bottom:40px}.ciclo-card{background:#fff;border:1px solid var(--cor-borda);border-radius:12px;padding:28px;transition:all .3s ease;position:relative;overflow:hidden}.ciclo-card:before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:linear-gradient(90deg,var(--cor-primaria),var(--cor-secundaria))}.ciclo-card:hover{border-color:var(--cor-primaria);box-shadow:0 12px 32px rgba(13,90,72,.12);transform:translateY(-4px)}.ciclo-title{font-size:1.4rem;font-weight:600;color:var(--cor-primaria);margin:0 0 8px}.ciclo-description{color:var(--cor-texto-cinza);font-size:.95rem;margin:0 0 20px;line-height:1.6}.ciclo-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin:24px 0;padding:20px 0;border-top:1px solid var(--cor-borda-leve);border-bottom:1px solid var(--cor-borda-leve)}.ciclo-info-item{font-size:.9rem}.ciclo-info-label{font-size:.75rem;color:var(--cor-texto-leve);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ciclo-info-value{color:var(--cor-texto);font-weight:600;font-size:1rem}.ciclo-actions{display:flex;gap:12px;margin-top:20px}.badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-aberto{background:#d4edda;color:#155724}.badge-encerrado{background:#f8d7da;color:#721c24}.badge-rascunho{background:#cfe2ff;color:#084298}.badge-pendente{background:#fff3cd;color:#856404}.badge-em_andamento{background:#cfe2ff;color:#084298}.badge-assinatura_enviada{background:#e2d9f3;color:#4b2e83}.badge-pagamento_agendado{background:#d1ecf1;color:#0c5460}.badge-pagamento_realizado{background:#d4edda;color:#155724}.badge-rejeitada{background:#f8d7da;color:#721c24}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.btn-primario{background:var(--cor-primaria);color:#fff}.btn-primario:hover{background:var(--cor-primaria-escura);box-shadow:0 4px 12px rgba(13,90,72,.3)}.btn-secundario{background:var(--cor-secundaria);color:#fff}.btn-secundario:hover{background:#ff7a1f;box-shadow:0 4px 12px rgba(255,138,61,.3)}.btn-outline{background:transparent;border:2px solid var(--cor-primaria);color:var(--cor-primaria)}.btn-outline:hover{background:var(--cor-primaria);color:#fff}.btn-block{width:100%;display:flex}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-lg{padding:14px 32px;font-size:1rem}.campo{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.campo label{font-weight:600;color:var(--cor-texto);font-size:.95rem}.campo input,.campo select,.campo textarea{padding:12px 16px;border:1px solid var(--cor-borda);border-radius:8px;font-size:.95rem;transition:all .3s ease;background:var(--cor-fundo-claro)}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--cor-primaria);background:#fff;box-shadow:0 0 0 3px rgba(13,90,72,.1)}.campo textarea{resize:vertical;min-height:100px}.campo-erro input,.campo-erro select,.campo-erro textarea{border-color:var(--cor-erro)}.campo-erro input:focus,.campo-erro select:focus,.campo-erro textarea:focus{box-shadow:0 0 0 3px rgba(192,57,43,.1)}.erro{color:var(--cor-erro)}.erro,.sucesso{font-size:.85rem;font-weight:500}.sucesso{color:var(--cor-sucesso)}.info-box{background:#f0f7f3;border-left:4px solid var(--cor-primaria);padding:16px 20px;border-radius:8px;margin:20px 0}.info-box.warning{background:#fff3cd;border-left-color:#ffc107}.info-box.error{background:#f8d7da;border-left-color:var(--cor-erro)}.info-box.success{background:#d4edda;border-left-color:var(--cor-sucesso)}.info-box p{margin:0;font-size:.95rem}.footer{background:#fff;border-top:1px solid var(--cor-borda);padding:32px 24px;margin-top:60px;text-align:center;font-size:.9rem;color:var(--cor-texto-cinza)}.footer a{color:var(--cor-primaria);font-weight:600}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mb-0{margin-bottom:0}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-40{margin-bottom:40px}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.4rem}.header-container{height:auto;padding:12px 16px;flex-wrap:wrap;gap:12px}.header-nav{order:3;width:100%;gap:20px;margin-top:8px;padding-top:8px;border-top:1px solid var(--cor-borda);flex-wrap:wrap}.header-logo{margin-right:0}.header-login-btn{order:2;margin-left:auto}.ciclo-info-grid{grid-template-columns:1fr}.hero{padding:48px 24px}.hero-content h1{font-size:1.8rem}.hero-content p{font-size:1rem}}@media (max-width:480px){.container-narrow{padding:16px}.card,.ciclo-card{padding:20px}.header-nav{gap:12px}h1{font-size:1.6rem}h2{font-size:1.2rem}.btn{padding:10px 16px;font-size:.85rem}}.ctitle{font-size:1.3rem;font-weight:600;color:var(--cor-primaria);margin:0 0 8px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-weight:600;color:var(--cor-texto);font-size:.95rem}.field input,.field select,.field textarea{padding:12px 16px;border:1px solid var(--cor-borda);border-radius:8px;font-size:.95rem;transition:all .3s ease;background:var(--cor-fundo-claro);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cor-primaria);background:#fff;box-shadow:0 0 0 3px rgba(13,90,72,.1)}.field textarea{resize:vertical;min-height:100px}.g2{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:640px){.g2{grid-template-columns:1fr}}.btn-p{background:var(--cor-primaria);color:#fff}.btn-p:hover{background:var(--cor-primaria-escura);box-shadow:0 4px 12px rgba(13,90,72,.3)}.btn-s{background:var(--cor-secundaria);color:#fff}.btn-s:hover{background:#ff7a1f;box-shadow:0 4px 12px rgba(255,138,61,.3)}.alert{padding:14px 18px;border-radius:8px;font-size:.9rem;font-weight:500;margin-bottom:16px}.alert-e{background:#fdecea;color:var(--cor-erro);border:1px solid #f5c6cb}.alert-s{background:#e8f6ee;color:var(--cor-sucesso);border:1px solid #b7e4c7}