:root{--primary-green:#124734;--text-black:#000;--label-green:#051510;--bg-body:#fff;--bg-card:#fff;--bg-result-card:#f1f5f9;--error-red:#ef4444;--border-gray:#e2e8f0;--radius-xl:1rem;--radius-lg:1rem;--radius-full:9999px;--back-green:#e6f8ee;--border-green:#124734}*{box-sizing:border-box;margin:0;-webkit-font-smoothing:antialiased}*,body{padding:0}body{align-items:center;background-color:var(--bg-body);color:var(--text-black);display:flex;font-family:Raleway,sans-serif;justify-content:center;min-height:100vh}.main-card{background-color:var(--bg-card);border-radius:var(--radius-xl);box-shadow:0 4px 10px 0 rgba(0,0,0,.15);margin:10% auto;max-width:1300px;min-height:400px;padding:40px;position:relative;width:100%}@media (min-width:992px){.main-card{padding:72px 56px 64px}}.content-layout{align-items:flex-start;display:flex;flex-direction:column;gap:56px;width:100%}@media (min-width:992px){.content-layout{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}}.left-panel{flex:1.2;width:100%}.right-panel{align-items:flex-start;display:flex;flex:1;flex-direction:column;width:100%}@media (min-width:992px){.right-panel{align-items:flex-end}}.main-title{color:var(--primary-green);font-size:2.2rem;font-weight:800;line-height:1.1;margin-bottom:24px}@media (min-width:768px){.main-title{font-size:2.5rem}}.description{color:var(--text-black);font-size:1rem;font-weight:400;line-height:1.5;max-width:500px}.form-box{max-width:440px;width:100%}.input-wrapper{margin-bottom:24px;text-align:left}.field-label{color:var(--label-green);display:block;font-size:1rem;font-weight:700;margin-bottom:12px}.text-input{border:1px solid var(--border-gray);border-radius:var(--radius-lg);color:var(--text-black);font-size:1.1rem;outline:none;padding:18px 20px;transition:border-color .2s;width:100%}.text-input:focus{border-color:var(--primary-green)}.info-caption{color:#666;font-size:.85rem;margin-top:10px}.btn-action{align-items:center;background-color:var(--primary-green);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:700;gap:12px;justify-content:center;padding:18px 48px;transition:background-color .2s,transform .1s}.btn-action:hover{background-color:#0d3627}.btn-action:active{transform:scale(.98)}.results-grid{display:flex;gap:20px;justify-content:flex-start;margin-bottom:20px;width:100%}@media (min-width:992px){.results-grid{justify-content:flex-end;max-width:420px}}.data-card{background-color:#f7f9f8;border:1px solid #dbe6e2;border-radius:1.5rem}.data-card,.data-card-opo{flex:1;max-width:200px;padding:30px 20px;text-align:left}.data-card-opo{background-color:var(--back-green);border:1px solid var(--border-green);border-radius:1.5rem}.wide-card{margin-bottom:30px;max-width:420px;width:100%}.data-card-label{color:var(--primary-green);display:block;font-size:.9rem;font-weight:600;line-height:1.2;margin-bottom:15px}.data-card-value{color:var(--primary-green);font-size:4.5rem;font-weight:800;line-height:1}.btn-dynamic{align-items:center;background-color:var(--primary-green);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:700;gap:12px;justify-content:center;margin-bottom:20px;max-width:420px;padding:18px 24px;text-align:center;text-decoration:none;transition:background-color .2s,transform .1s;width:100%}.btn-dynamic:hover{background-color:#0d3627}.btn-link-refresh{align-items:center;background-color:var(--primary-green);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:700;gap:12px;justify-content:center;margin-bottom:20px;max-width:420px;padding:18px 24px;text-align:center;text-decoration:none;transition:background-color .2s,transform .1s;width:100%}.btn-link-refresh:hover{opacity:.8}.hidden{display:none!important}.error-txt{color:var(--error-red);font-size:.9rem;font-weight:700;margin-top:12px}.loading-view{align-items:center;display:flex;flex-direction:column;padding:80px 0;width:100%}.loader-ring{animation:rotate 1s linear infinite;border:6px solid #eef2f1;border-radius:50%;border-top:6px solid var(--primary-green);height:60px;margin-bottom:24px;width:60px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeInAnim .5s ease-out forwards}@keyframes fadeInAnim{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}