*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-success: #16a34a;--color-warning: #f59e0b;--color-bg: #f9fafb;--color-surface: #ffffff;--color-text: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}#app{display:flex;flex-direction:column;min-height:100vh}#app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 1rem;position:sticky;top:0;z-index:10}.header-content{max-width:800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px}.logo{font-size:1.25rem;font-weight:700;color:var(--color-primary)}#app-nav{display:flex;gap:.5rem}.nav-link{text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--color-bg);color:var(--color-text)}.nav-link.active{background:var(--color-primary);color:#fff}#app-main{flex:1;max-width:800px;margin:0 auto;padding:2rem 1rem;width:100%}.screen{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.screen-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.card+.card{margin-top:1rem}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.375rem;color:var(--color-text)}.form-input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;transition:border-color .15s;background:var(--color-surface)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a}.form-input.error{border-color:var(--color-danger)}.form-error{color:var(--color-danger);font-size:.8125rem;margin-top:.25rem}.form-row{display:flex;gap:.75rem}.form-row .form-group{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-outline:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-block{width:100%}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.credential-card{position:relative}.credential-card .credential-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:.5rem}.credential-card .credential-issuer{font-weight:600;margin-bottom:.75rem}.credential-card .credential-meta{display:flex;gap:1.5rem;font-size:.8125rem;color:var(--color-text-secondary)}.credential-card .credential-meta dt{font-weight:500}.credential-card .credential-actions{position:absolute;top:1.5rem;right:1.5rem}.credential-status{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.credential-status.valid{background:#dcfce7;color:var(--color-success)}.credential-status.expired{background:#fef2f2;color:var(--color-danger)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.empty-state p{margin-bottom:1rem}.prove-container{max-width:420px;margin:0 auto;text-align:center}.prove-container .site-name{font-size:1.125rem;font-weight:700;color:var(--color-primary);margin:1rem 0}.prove-container .consent-text{color:var(--color-text-secondary);margin-bottom:1.5rem}.prove-actions{display:flex;gap:.75rem}.prove-actions .btn{flex:1}.progress-bar{width:100%;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin:1.5rem 0}.progress-bar .progress-fill{height:100%;background:var(--color-primary);border-radius:2px;animation:progress 2.5s ease-in-out}@keyframes progress{0%{width:0%}to{width:100%}}.progress-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.settings-section{margin-bottom:1.5rem}.settings-section h3{font-size:1rem;font-weight:600;margin-bottom:.75rem}.debug-info{font-size:.8125rem;color:var(--color-text-secondary)}.debug-info dt{font-weight:600;color:var(--color-text)}.debug-info dd{margin-bottom:.5rem}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}@media(max-width:480px){.form-row{flex-direction:column;gap:0}.credential-card .credential-meta{flex-direction:column;gap:.25rem}}
