:root{--primary:#4f46e5;--primary-hover:#4338ca;--bg-gradient-start:#0f172a;--bg-gradient-end:#1e1b4b;--card-bg:#1e293bb3;--text-main:#f8fafc;--text-muted:#94a3b8;--success:#10b981;--border-color:#ffffff1a}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));color:var(--text-main);justify-content:center;align-items:center;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.container{width:100%;max-width:900px;padding:2rem}.dashboard{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);text-align:center;border-radius:24px;padding:3rem;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.dashboard:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#4f46e526 0%,#0000 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.content{z-index:1;position:relative}h1{background:linear-gradient(90deg,#a5b4fc,#c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}p.subtitle{color:var(--text-muted);margin-bottom:3rem;font-size:1.1rem}.verification-options{justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.option-card{border:1px solid var(--border-color);cursor:pointer;background:#ffffff08;border-radius:16px;width:250px;padding:2rem;transition:all .3s}.option-card:hover{border-color:var(--primary);background:#ffffff14;transform:translateY(-5px);box-shadow:0 10px 25px -5px #4f46e566}.option-icon{margin-bottom:1rem;font-size:2.5rem}.option-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.option-desc{color:var(--text-muted);font-size:.9rem}.qr-section{animation:.5s ease-out forwards fadeIn}.qr-container{background:#fff;border-radius:16px;margin:2rem 0;padding:2rem;display:inline-block;box-shadow:0 0 30px #ffffff1a}.success-screen{animation:.6s cubic-bezier(.175,.885,.32,1.275) forwards popIn}.success-icon{background:var(--success);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 2rem;display:flex;box-shadow:0 0 40px #10b98166}.success-icon svg{color:#fff;width:50px;height:50px}.btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:1.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:background .2s}.btn:hover{background:var(--primary-hover)}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;margin-bottom:1rem;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.app-layout{width:100vw;height:100vh;display:flex}.sidebar{border-right:1px solid var(--border-color);background:#0f172ae6;flex-direction:column;width:260px;padding:2rem 1rem;display:flex}.sidebar-header{color:#fff;align-items:center;gap:12px;margin-bottom:3rem;padding:0 1rem;display:flex}.logo-icon{color:var(--primary)}.sidebar-nav{flex-direction:column;gap:.5rem;display:flex}.nav-link{color:var(--text-muted);border-radius:8px;align-items:center;gap:12px;padding:12px 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#4f46e526}.nav-link.active{border-left:3px solid var(--primary)}.main-content{flex:1;padding:2rem 4rem;overflow-y:auto}.center-container{justify-content:center;align-items:center;min-height:calc(100vh - 4rem);display:flex}.page-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;margin-bottom:2rem;padding-bottom:1rem;display:flex}.schema-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.schema-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.schema-card-header{color:#fff;align-items:center;gap:12px;margin-bottom:1rem;display:flex}.schema-icon{color:var(--primary)}.hash-text{color:var(--text-muted);word-break:break-all;font-family:monospace;font-size:.85rem}.field-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.field-tag{color:#fff;background:#ffffff1a;border-radius:12px;padding:4px 10px;font-size:.8rem}.btn-secondary{border:1px solid var(--text-muted);background:0 0}.btn-secondary:hover{background:#ffffff0d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);background:#1e293b;border-radius:16px;width:100%;max-width:600px;padding:2rem}.modal-header{justify-content:space-between;margin-bottom:1.5rem;display:flex}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.form-group{flex-direction:column;gap:8px;margin-bottom:1.5rem;display:flex}.input-field{border:1px solid var(--border-color);color:#fff;background:#0003;border-radius:8px;width:100%;padding:12px;font-family:inherit}.json-textarea{font-family:monospace;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:12px;margin-top:2rem;display:flex}.dynamic-form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;max-width:700px;padding:2rem}.query-builder{align-items:flex-end;gap:12px;display:flex}.flex-1{flex:1}.schema-summary{color:#10b981;background:#10b9811a;border-radius:8px;margin-bottom:2rem;padding:12px;font-size:.95rem}.w-full{width:100%}.mt-4{margin-top:1rem}.error-text{color:#ef4444;margin-top:1rem}.receipt-list,.receipt-card{flex-direction:column;gap:1rem;display:flex}.receipt-details{background:#0003;border-radius:8px;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid}.detail-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem}.status-badge{text-transform:uppercase;white-space:nowrap;border-radius:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.status-verified{color:var(--success);background:#10b9811a}.status-pending{color:#eab308;background:#eab3081a}.header-icon-badge{width:56px;height:56px;color:var(--primary);background:#4f46e526;border:1px solid #4f46e54d;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.did-input-wrapper{box-sizing:border-box;background:#0206178c;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:.95rem 16px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.did-input-wrapper:focus-within{border-color:#818cf899;box-shadow:0 0 0 4px #6366f126}.did-input{min-width:0;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:1rem}.did-input::placeholder{color:#f8fafceb}.input-hint-row{color:#c7d2fe;background:#6366f114;border:1px solid #6366f12e;border-radius:12px;align-items:center;gap:10px;margin-top:1.5rem;padding:.85rem 1.1rem;font-size:.85rem;display:flex;position:relative}.receipt-search-card{background:linear-gradient(160deg,#4338ca2e,#0f172a80 55%);border:1px solid #818cf838;border-radius:20px;max-width:960px;padding:2.25rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 25px 50px -25px #0009,0 0 45px -18px #6366f173,inset 0 1px #ffffff0f}.receipt-search-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#818cf847,#0000 70%);width:280px;height:280px;position:absolute;top:-90px;right:-70px}.search-card-title{color:#fff;letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.3rem;font-weight:700;position:relative}.search-card-subtitle{color:var(--text-muted);margin-bottom:1.75rem;font-size:.88rem;position:relative}.did-icon-badge{color:#a5b4fc;background:linear-gradient(160deg,#818cf84d,#6366f114);border:1px solid #818cf840;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.btn-with-badge{box-sizing:border-box;background:linear-gradient(135deg,#818cf8,#4f46e5);border-radius:14px;justify-content:center;align-self:stretch;align-items:center;gap:10px;margin:0;padding:0 1.85rem;transition:transform .15s,box-shadow .15s;display:inline-flex;position:relative;box-shadow:0 12px 28px -10px #4f46e5a6}.btn-with-badge:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px -10px #4f46e5cc}.btn-with-badge:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon-badge{background:#ffffff2e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.vf-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;max-width:820px;overflow:hidden}.vf-step{border-bottom:1px solid var(--border-color);padding:1.5rem 1.75rem}.vf-step-head{align-items:flex-start;gap:14px;margin-bottom:1.1rem;display:flex}.vf-step-head h3{font-size:1.02rem;font-weight:600;line-height:1.3}.vf-step-head p{color:var(--text-muted);margin-top:2px;font-size:.875rem}.vf-num{color:#c7d2fe;background:#4f46e538;border:1px solid #818cf880;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:600;display:grid}.vf-grid{gap:16px;padding-left:40px;display:grid}.vf-grid-2{grid-template-columns:1.6fr 1fr}.vf-grid-3{grid-template-columns:1.3fr 1.3fr 1fr}.vf-step>.vf-field,.vf-step>.vf-help,.vf-step>.vf-note{margin-left:40px}.vf-field{flex-direction:column;gap:6px;min-width:0;display:flex}.vf-field label{color:var(--text-muted);letter-spacing:.02em;font-size:.8rem;font-weight:500}.vf-control{border:1px solid var(--border-color);width:100%;height:44px;color:var(--text-main);font:inherit;background:#00000040;border-radius:8px;padding:0 12px;font-size:.95rem}.vf-control:focus{outline-offset:1px;outline:2px solid #818cf899}.vf-control:disabled{opacity:.6}.vf-help{color:var(--text-muted);margin-top:8px;font-size:.8rem;line-height:1.45;display:block}.vf-note{color:#a7f3d0;background:#10b98112;border:1px solid #10b98147;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.vf-note svg{color:var(--success);flex:none;margin-top:2px}.vf-note p{font-size:.875rem;line-height:1.5}.vf-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444459;border-radius:8px;margin:1rem 1.75rem 0;padding:10px 14px;font-size:.9rem}.vf-actions{justify-content:flex-end;padding:1.25rem 1.75rem 1.5rem;display:flex}.vf-primary{background:var(--primary);color:#fff;min-width:220px;height:46px;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:0 28px;font-size:.95rem;font-weight:600;transition:background .15s}.vf-primary:hover{background:var(--primary-hover)}.vf-primary:focus-visible{outline-offset:2px;outline:2px solid #c7d2fe}@media (width<=720px){.vf-grid-2,.vf-grid-3{grid-template-columns:1fr;padding-left:0}.vf-step>.vf-field,.vf-step>.vf-help,.vf-step>.vf-note{margin-left:0}.vf-primary{width:100%}}.vo,.vq{width:100%;max-width:820px}.vo{flex-direction:column;gap:16px;display:flex}.vo-banner{border:1px solid var(--border-color);border-radius:14px;align-items:center;gap:16px;padding:20px 24px;display:flex}.vo-banner h1,.vq-head h1{-webkit-text-fill-color:currentColor;color:inherit;background:0 0;font-size:1.35rem;line-height:1.25}.vo-banner p{opacity:.85;overflow-wrap:anywhere;margin-top:2px;font-size:.95rem}.vo-banner>div{flex:1;min-width:0}.vo-ok{color:#d1fae5;background:#10b9811a;border-color:#10b98166}.vo-ok>svg{color:#34d399;flex:none}.vo-bad{color:#fee2e2;background:#ef444417;border-color:#ef444466}.vo-bad>svg{color:#f87171;flex:none}.vo-chip{border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;background:#00000040;border-radius:999px;flex:none;padding:4px 10px;font-size:.75rem}.vo-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:20px 24px}.vo-card h2{margin-bottom:12px;font-size:.95rem;font-weight:600}.vo-soft{background:#ffffff08}.vo-text{font-size:.92rem;line-height:1.55}.vo-muted{color:var(--text-muted);margin-top:8px;font-size:.85rem;line-height:1.5}.vo-checks{flex-direction:column;gap:10px;list-style:none;display:flex}.vo-checks li{align-items:flex-start;gap:10px;font-size:.92rem;display:flex}.vo-checks svg{color:#34d399;flex:none;margin-top:2px}.vo-chain{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:14px;list-style:none;display:flex}.vo-chain li{border:1px solid var(--border-color);background:#0003;border-radius:10px;flex:200px;align-items:center;gap:10px;min-width:0;padding:12px 14px;display:flex;position:relative}.vo-dot{color:#c7d2fe;background:#4f46e540;border:1px solid #818cf880;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:grid}.vo-node{flex-direction:column;gap:4px;min-width:0;display:flex}.vo-node strong{font-size:.85rem}.vo-did{align-items:center;gap:4px;min-width:0;display:flex}.vo code{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.vo-arrow{color:var(--text-muted);z-index:1;background:#17203a;border-radius:50%;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}.vo-copy{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:inline-flex}.vo-copy:hover{color:var(--text-main);background:#ffffff14}.vo-dl{grid-template-columns:max-content 1fr;gap:8px 18px;font-size:.9rem;display:grid}.vo-dl dt{color:var(--text-muted)}.vo-dl dd{overflow-wrap:anywhere;min-width:0}.vo-details{color:var(--text-muted);margin-top:12px;font-size:.85rem}.vo-details summary{cursor:pointer}.vo-details ul{gap:4px;margin:8px 0 0 18px;display:grid}.vo-actions{justify-content:flex-end;display:flex}@media (width<=720px){.vo-banner{flex-wrap:wrap}.vo-arrow{display:none}.vo-dl{grid-template-columns:1fr}}.vq-head h1{font-size:1.35rem}.vq-head p{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px}.vq-grid{grid-template-columns:290px 1fr;align-items:start;gap:20px;margin-top:18px;display:grid}.vq-qr{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.vq-qr-box{background:#fff;border-radius:10px;padding:4px;line-height:0}.vq-timer{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.vq-timer-low{color:#f87171}.vq-bar{background:#ffffff1a;border-radius:2px;width:100%;height:4px;overflow:hidden}.vq-bar span{background:var(--primary);height:100%;transition:width 1s linear;display:block}.vq-steps{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:20px 24px}.vq-steps ol{counter-reset:s;flex-direction:column;gap:16px;list-style:none;display:flex}.vq-steps li{counter-increment:s;grid-template-columns:28px 1fr;column-gap:12px;display:grid}.vq-steps li:before{content:counter(s);color:#c7d2fe;background:#4f46e540;border:1px solid #818cf880;border-radius:50%;grid-row:1/span 3;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:grid}.vq-steps li strong{font-size:.95rem}.vq-steps li span{color:var(--text-muted);font-size:.85rem}.vq-raw{width:100%;height:84px;color:var(--text-main);border:1px solid var(--border-color);background:#00000040;border-radius:8px;margin-top:8px;padding:8px;font-family:ui-monospace,Menlo,monospace;font-size:.75rem}.vq-linkrow{align-items:center;gap:10px;margin-top:12px;display:flex}.vq-url{min-width:0;color:var(--text-main);border:1px solid var(--border-color);background:#00000040;border-radius:8px;flex:1;padding:8px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.vq-link{color:#a5b4fc;cursor:pointer;font:inherit;background:0 0;border:none;margin-top:0;padding:0;font-size:.85rem}.vq-cancel{border:1px solid var(--border-color);color:var(--text-muted);height:38px;font:inherit;cursor:pointer;background:0 0;border-radius:8px;margin-top:18px;padding:0 16px}.vq-cancel:hover{color:var(--text-main);border-color:var(--text-muted)}@media (width<=760px){.vq-grid{grid-template-columns:1fr}}
