@charset "UTF-8";
:root{color-scheme:light;--ink:#173b27;--ink-soft:#5b6d60;--green:#176b37;--green-2:#238348;--mint:#eaf5ed;--line:#dce8de;--paper:#fff;--wash:#f3f8f4;--danger:#a52b37;--shadow:0 18px 50px rgba(20,60,34,.075);font-family:Tahoma,Arial,sans-serif}
*{box-sizing:border-box}
html{min-width:320px;scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 50% -8%,#e2f2e5 0,transparent 42%),var(--wash);color:var(--ink);font-family:Tahoma,Arial,sans-serif;line-height:1.65}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.page-shell{width:min(100% - 32px,760px);margin:26px auto 44px}
.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;border-radius:30px;padding:30px 22px 34px;color:#fff;background:linear-gradient(135deg,#103e24 0%,#176b37 60%,#28834a 100%);box-shadow:0 20px 55px rgba(20,79,42,.2);margin-bottom:20px}
.hero-glow{position:absolute;z-index:-1;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);left:-100px;top:-145px;filter:blur(1px)}
.brand-mark{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 10px;border-radius:20px;background:#fff;color:var(--green);box-shadow:0 8px 24px rgba(0,0,0,.12);font-weight:900;font-size:19px;letter-spacing:-1px;transform:rotate(-4deg)}
.brand-kicker{font-size:10px;font-weight:800;letter-spacing:2px;opacity:.76;direction:ltr}
.hero h1{font-size:clamp(25px,6vw,34px);line-height:1.25;margin:9px 0 7px;font-weight:800}
.hero-copy{margin:0 auto;max-width:470px;font-size:14px;color:rgba(255,255,255,.83)}
.card{background:var(--paper);border:1px solid rgba(23,107,55,.07);border-radius:23px;padding:24px;margin:0 0 17px;box-shadow:var(--shadow)}
.card h2{font-size:20px;line-height:1.35;margin:1px 0 0;font-weight:800;letter-spacing:-.25px}
.card-heading{text-align:center;margin:5px auto 20px;max-width:480px}
.card-heading p,.muted-copy{font-size:13px;color:var(--ink-soft);margin:9px 0 0;line-height:1.8}
.section-icon{width:46px;height:46px;margin:0 auto 11px;display:grid;place-items:center;border-radius:15px;background:#edf7ef;color:var(--green)}
.section-icon svg,.button svg,.upload-symbol svg,.file-chip svg,.success-mark svg{width:22px;height:22px;fill:currentColor}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 17px;border:1px solid transparent;border-radius:13px;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.button:hover:not(:disabled){transform:translateY(-1px)}
.button:focus-visible,.icon-button:focus-visible,input:focus-visible,.drop-zone:focus-visible{outline:3px solid rgba(44,145,77,.27);outline-offset:2px}
.button-primary{background:var(--green);color:#fff;box-shadow:0 7px 15px rgba(23,107,55,.16)}
.button-primary:hover:not(:disabled){background:#115b2d}
.button-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.button-dark{background:#173b27;color:#fff}
.button-dark:hover{background:#0d2f1b}
.button-outline{background:#fff;color:var(--green);border-color:#bfd7c4}
.button-outline:hover{background:#f1f8f2;border-color:#8cb99a}
.button-quiet{min-height:36px;padding:7px 11px;background:#f2f7f3;color:var(--ink-soft);font-size:12px}
.button-wide{width:100%;min-height:53px;font-size:15px}
.eyebrow{color:#558166;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1px}
.card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.signed-in{margin:9px 0 15px;color:var(--ink-soft);font-size:12px}
.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:205px;padding:22px 14px;border:1.5px dashed #9fc8a8;border-radius:19px;background:linear-gradient(145deg,#f7fbf7,#eff8f0);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.drop-zone:hover,.drop-zone.is-dragging{background:#e8f5eb;border-color:#39864f;transform:translateY(-1px)}
.upload-symbol{display:grid;place-items:center;width:54px;height:54px;margin-bottom:8px;border-radius:17px;background:#fff;color:var(--green);box-shadow:0 5px 16px rgba(23,107,55,.09)}
.upload-symbol svg{width:29px;height:29px}
.drop-zone strong{font-size:16px}
.drop-hint{margin:4px 0 14px;font-size:12px;color:#75867a}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.selected-file{display:flex;align-items:center;gap:11px;padding:12px;margin-top:14px;border:1px solid var(--line);border-radius:15px;background:#fbfdfb}
.file-chip{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#edf7ef;color:var(--green);flex:0 0 auto}
.selected-meta{display:flex;flex-direction:column;min-width:0;flex:1}
.selected-meta strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-meta small{font-size:11px;color:var(--ink-soft)}
.icon-button{width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f2;color:#607266;font-size:22px;line-height:1;cursor:pointer}
.progress-wrap{margin-top:16px}
.progress-labels{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px;color:var(--ink-soft)}
.progress-track{height:10px;overflow:hidden;border-radius:10px;background:#e9efea}
.progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#2b8a4b,#71b97f);transition:width .18s ease}
.status-message,.inline-error{min-height:0;margin:0;font-size:13px;line-height:1.65}
.status-message:not(:empty),.inline-error:not(:empty){margin-top:10px}
.status-message.is-error,.inline-error{color:var(--danger)}
.status-message.is-success{color:#246d38}
.upload-button{margin-top:17px}
.privacy-note{margin:12px 0 0;text-align:center;font-size:11px;color:#7a887d}
.hidden{display:none!important}
.result-card{border-color:#d1e8d6;background:linear-gradient(180deg,#fbfffb,#fff 38%)}
.result-heading{display:flex;align-items:center;gap:12px}
.success-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#e5f5e9;color:#287b3f;flex:0 0 auto}
.success-mark svg{width:26px;height:26px}
.file-summary{display:flex;flex-direction:column;gap:2px;margin:17px 0 12px;padding:12px 14px;border-radius:13px;background:#f4faf5}
.file-summary strong{overflow-wrap:anywhere;font-size:13px}
.file-summary span{font-size:11px;color:var(--ink-soft)}
.qr-panel,.manual-result{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 12px 12px}
.qr-frame{display:grid;place-items:center;width:220px;height:220px;padding:9px;border:1px solid #e7eee8;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(28,67,39,.055)}
.qr-frame img{display:block;width:100%;height:100%;object-fit:contain}
.qr-panel p{margin:0;color:var(--ink-soft);font-size:12px}
.field-label{display:block;margin:8px 0 6px;font-size:12px;font-weight:700;color:#52665a}
.copy-row,.manual-input-row{display:flex;gap:8px;direction:ltr}
.copy-row input,.manual-input-row input{min-width:0;flex:1;height:46px;padding:10px 12px;border:1px solid #d8e4da;border-radius:12px;background:#fcfdfc;color:#24392b;direction:ltr;text-align:left;font-size:12px}
.copy-row .button{flex:0 0 auto}
.button-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.link-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#eaf5ed;color:var(--green);font-size:19px;font-weight:700}
.manual-form{margin-top:15px}
.manual-input-row .button{flex:0 0 auto;white-space:nowrap}
.manual-result{margin-top:10px;border-top:1px solid #edf1ed}
.manual-result .qr-frame{width:200px;height:200px}
.footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;color:#839087;font-size:11px}
.footer-dot{width:7px;height:7px;border-radius:50%;background:#438c54}
@media(max-width:560px){.page-shell{width:min(100% - 22px,760px);margin:11px auto 24px}.hero{border-radius:24px;padding:24px 16px 26px;margin-bottom:13px}.brand-mark{width:52px;height:52px;border-radius:17px}.hero h1{font-size:26px}.hero-copy{font-size:13px}.card{padding:18px 16px;border-radius:19px;margin-bottom:12px}.card h2{font-size:18px}.drop-zone{min-height:190px}.copy-row{flex-direction:column}.copy-row .button{width:100%}.manual-input-row{flex-direction:column}.manual-input-row .button{width:100%}.button-row>*{flex:1}.qr-frame{width:206px;height:206px}.card-topline{align-items:flex-start}.button-quiet{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
