*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#333;background-color:#f9f9f9}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:1rem}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:.875rem}h6{font-size:.75rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#2d6a4f;text-decoration:none;transition:color .2s}a:hover{color:#52b788}button,input,select,textarea{font-family:inherit;font-size:inherit}.alert{padding:1rem 1.5rem;border-radius:.5rem;margin-bottom:1rem;display:flex;gap:.75rem;animation:slideIn .3s ease-out;border-left:4px solid}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:.5rem;font-size:1rem}.alert-message{font-size:.875rem;line-height:1.5}.alert-close{background:none;border:none;cursor:pointer;font-size:1.125rem;color:inherit;padding:0;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:opacity .2s}.alert-close:hover{opacity:.7}.alert-success{background-color:#d8f3dc;color:#1b4332;border-left-color:#52b788}.alert-error{background-color:#f4c4c4;color:#7d0000;border-left-color:#d62828}.alert-warning{background-color:#ffe6d5;color:#5a3a1a;border-left-color:#f77f00}.alert-info{background-color:#d6e4f0;color:#0d3b66;border-left-color:#457b9d}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.875rem;color:#404040}.form-control{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #ddd;border-radius:.5rem;background-color:#fff;transition:all .2s;color:#333}.form-control:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1a}.form-control:disabled{background-color:#f5f5f5;color:gray;cursor:not-allowed}.form-control.is-invalid{border-color:#d62828;background-color:#d6282805}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #d628281a}.form-control.is-valid{border-color:#52b788;background-color:#52b78805}.form-control.is-valid:focus{box-shadow:0 0 0 3px #52b7881a}textarea.form-control{resize:vertical;min-height:120px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#2d6a4f;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1f4d38}.btn-secondary{background-color:#fbb548;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#f0a030}.btn-danger{background-color:#d62828;color:#fff}.btn-danger:hover:not(:disabled){background-color:#a01c1c}.btn-outline{background-color:transparent;border:2px solid #2d6a4f;color:#2d6a4f}.btn-outline:hover:not(:disabled){background-color:#2d6a4f0d}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-block{width:100%}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:1024px){.container{padding:0 1.5rem}}.card{background-color:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;transition:box-shadow .2s}.card:hover{box-shadow:0 10px 15px -3px #0000001a}.card-header{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e8e8e8}.card-title{font-size:1.125rem;font-weight:700;margin:0}.card-body{margin-bottom:1.5rem}.card-body:last-child{margin-bottom:0}.card-footer{padding-top:1.5rem;border-top:1px solid #e8e8e8}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#999}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.hidden{display:none!important}.loading{opacity:.6;pointer-events:none}
