@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--green:#0f6b57;--green2:#0ea37a;--green-light:#e7f7f1;--bg:#eef3f7;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e5e7eb;--shadow:0 10px 25px #02061714;--radius:14px}*{box-sizing:border-box}html,body{color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}body{background:var(--bg)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0;border-radius:12px;padding:10px 14px;font-weight:700}button:disabled{opacity:.6;cursor:not-allowed}input,textarea{border:1px solid var(--border);border-radius:12px;outline:none;width:100%;padding:10px 12px;font-size:15px}input:focus,textarea:focus{border-color:#b7c5d6}.container{max-width:1100px;margin:0 auto;padding:22px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.cardPad{padding:16px}.grid3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@media (max-width:950px){.grid3{grid-template-columns:1fr}}.topbar{color:#fff;background:linear-gradient(90deg,#0f6b57,#0a5d4c);align-items:center;height:64px;display:flex;box-shadow:0 8px 20px #0206171f}.topbarInner{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1100px;margin:0 auto;padding:0 22px;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:10px;font-weight:900;display:flex}.brandDot{color:#38f0c2;border:2px solid #38f0c2;border-radius:999px;place-items:center;width:34px;height:34px;font-weight:900;display:grid;overflow:hidden}.nav{align-items:center;gap:8px;display:flex}.nav a{color:#ffffffe6;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .2s}.nav a:hover{background:#ffffff1f}.nav a.active{background:#ffffff26}.user-menu{align-items:center;gap:12px;display:flex}.user-email{opacity:.9;font-size:13px}.user-avatar{background:#fff3;border-radius:999px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.primary{background:linear-gradient(90deg,var(--green2),#0f6b57);color:#fff}.ghost{border:1px solid var(--border);background:#fff}.badge{color:#0f6b57;background:#e7f7f1;border:1px solid #c8efe1;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.muted{color:var(--muted)}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:12px;font-size:14px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.auth-container{min-height:100vh;display:flex}.auth-brand{background:linear-gradient(135deg,#0f6b57 0%,#0a5d4c 50%,#084a3d 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-brand-content{z-index:2;text-align:center;color:#fff}.auth-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.auth-logo-circle{color:#38f0c2;border:3px solid #38f0c2;border-radius:999px;place-items:center;width:56px;height:56px;font-size:24px;font-weight:900;display:grid;overflow:hidden}.auth-logo-text{letter-spacing:-.5px;font-size:32px;font-weight:900}.auth-brand-tagline{opacity:.85;margin-top:8px;font-size:16px}.auth-brand-pattern{opacity:.15;background-image:linear-gradient(45deg,#ffffff0d 25%,#0000 25%),linear-gradient(-45deg,#ffffff0d 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff0d 75%),linear-gradient(-45deg,#0000 75%,#ffffff0d 75%);background-position:0 0,0 30px,30px -30px,-30px 0;background-size:60px 60px;position:absolute;inset:0}.auth-form-panel{background:#fff;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-form-container{width:100%;max-width:400px}.auth-form-logo-mobile{align-items:center;gap:10px;margin-bottom:30px;display:none}.auth-title{color:var(--green);margin:0 0 8px;font-size:32px;font-weight:300}.auth-subtitle{color:var(--muted);margin:0 0 30px;font-size:15px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-input{border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;font-size:15px;transition:border-color .2s}.auth-input:focus{border-color:var(--green);outline:none}.auth-button{background:linear-gradient(90deg,var(--green2),var(--green));color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:14px 20px;font-size:16px;font-weight:600;transition:opacity .2s}.auth-button:hover{opacity:.9}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px;font-size:14px}.auth-switch{text-align:center;color:var(--muted);margin-top:30px;font-size:14px}.auth-link{color:var(--green);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-footer{text-align:center;color:#9ca3af;margin-top:60px;font-size:12px}@media (max-width:900px){.auth-brand{display:none}.auth-form-logo-mobile{display:flex}.auth-form-panel{padding:24px}}.dashboard{padding:0}.dashboard-loading{height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:24px;display:grid}@media (max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f}.balance-card{color:#fff;background:linear-gradient(135deg,#0f6b57 0%,#0a5d4c 100%);position:relative;overflow:hidden}.balance-icon{margin-bottom:16px}.balance-info{margin-bottom:20px}.balance-label{letter-spacing:.05em;opacity:.7;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.balance-amount{font-size:28px;font-weight:800}.token-symbol{opacity:.8;font-size:18px}.balance-usd{border-top:1px solid #ffffff26;padding-top:16px}.contribution-amount{font-size:16px;font-weight:600}.token-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.token-stage{align-items:center;gap:10px;margin-bottom:12px;display:flex}.stage-badge{background:var(--green-light);color:var(--green);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.stage-name{font-size:18px;font-weight:700}.token-price{margin-bottom:20px}.price-value{color:var(--green);font-size:20px;font-weight:800}.buy-button{background:linear-gradient(90deg,var(--green2),var(--green));color:#fff;cursor:pointer;border:none;border-radius:10px;padding:14px 32px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s}.buy-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0f6b574d}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 20px;font-size:14px;font-weight:700}.status-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.status-item:last-child{border-bottom:none}.status-label{color:var(--muted);font-size:14px}.status-value{font-size:14px;font-weight:600}.status-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.status-badge.active{background:var(--green-light);color:var(--green)}.content-card{padding:32px}.content-title{color:var(--green);margin:0 0 16px;font-size:22px;font-weight:700}.content-subtitle{color:var(--text);margin:28px 0 12px;font-size:18px;font-weight:700}.content-text{color:var(--muted);margin:0;font-size:15px;line-height:1.7}.page-header{margin-bottom:24px}.page-title{margin:0 0 6px;font-size:24px;font-weight:800}.page-subtitle{color:var(--muted);margin:0;font-size:15px}.empty-state{text-align:center;border:1px solid var(--border);background:#fff;border-radius:16px;padding:60px 20px}.empty-icon{margin-bottom:20px}.empty-state h3{margin:0 0 8px;font-size:18px}.empty-state p{color:var(--muted);margin:0 0 20px}.transactions-list{flex-direction:column;gap:12px;display:flex}.transaction-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;align-items:center;padding:16px 20px;transition:box-shadow .2s,transform .2s;display:flex}.transaction-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.transaction-main{flex:1;align-items:center;gap:16px;display:flex}.currency-badge{background:var(--green-light);color:var(--green);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-block}.transaction-amount{font-size:16px;font-weight:700}.transaction-crypto{color:var(--muted);margin-top:2px;font-size:13px}.transaction-date{color:#9ca3af;margin-top:4px;font-size:12px}.transaction-status{text-align:right;margin-right:16px}.status-approved{color:#166534;background:#dcfce7}.status-pending{color:#92400e;background:#fef3c7}.status-submitted{color:#1e40af;background:#dbeafe}.status-rejected{color:#991b1b;background:#fee2e2}.status-expired{color:#6b7280;background:#f3f4f6}.status-created{color:#4338ca;background:#e0e7ff}.tokens-credited{color:var(--green);margin-top:6px;font-size:12px;font-weight:600;display:block}.transaction-arrow{color:#9ca3af}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px;animation:.3s modalFadeIn;box-shadow:0 20px 60px #0003}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-icon{margin-bottom:24px}.modal-icon.success svg{animation:.5s .2s forwards checkmarkDraw}@keyframes checkmarkDraw{0%{stroke-dasharray:100;stroke-dashoffset:100px}to{stroke-dashoffset:0}}.modal-title{color:var(--text);margin:0 0 12px;font-size:22px;font-weight:700}.modal-text{color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.6}.modal-button{padding:14px 32px;font-size:15px}
