:root{--cloistr-primary: #7c3aed;--cloistr-primary-hover: #6d28d9;--cloistr-primary-light: #a78bfa;--cloistr-primary-dark: #5b21b6;--cloistr-success: #10b981;--cloistr-warning: #f59e0b;--cloistr-error: #ef4444;--cloistr-info: #3b82f6;--cloistr-bg: #0f0f0f;--cloistr-bg-elevated: #1a1a1a;--cloistr-bg-hover: #262626;--cloistr-border: #333333;--cloistr-text: #f5f5f5;--cloistr-text-muted: #a3a3a3;--cloistr-text-dim: #737373;--cloistr-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--cloistr-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--cloistr-space-xs: .25rem;--cloistr-space-sm: .5rem;--cloistr-space-md: 1rem;--cloistr-space-lg: 1.5rem;--cloistr-space-xl: 2rem;--cloistr-radius-sm: .25rem;--cloistr-radius-md: .5rem;--cloistr-radius-lg: .75rem;--cloistr-radius-full: 9999px;--cloistr-shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--cloistr-shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--cloistr-shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--cloistr-transition-fast: .15s ease;--cloistr-transition-normal: .25s ease;--cloistr-z-dropdown: 100;--cloistr-z-modal: 200;--cloistr-z-toast: 300}@media (prefers-color-scheme: light){:root.cloistr-light{--cloistr-bg: #ffffff;--cloistr-bg-elevated: #f5f5f5;--cloistr-bg-hover: #e5e5e5;--cloistr-border: #d4d4d4;--cloistr-text: #171717;--cloistr-text-muted: #525252;--cloistr-text-dim: #a3a3a3;--cloistr-shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--cloistr-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--cloistr-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}}.cloistr-btn,.cloistr-input{font-family:var(--cloistr-font-sans);font-size:.875rem;line-height:1.5}.cloistr-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-sm) var(--cloistr-space-md);border:1px solid transparent;border-radius:var(--cloistr-radius-md);font-weight:500;cursor:pointer;transition:all var(--cloistr-transition-fast);text-decoration:none}.cloistr-btn:disabled{opacity:.5;cursor:not-allowed}.cloistr-btn-primary{background:var(--cloistr-primary);color:#fff}.cloistr-btn-primary:hover:not(:disabled){background:var(--cloistr-primary-hover)}.cloistr-btn-secondary{background:var(--cloistr-bg-elevated);border-color:var(--cloistr-border);color:var(--cloistr-text)}.cloistr-btn-secondary:hover:not(:disabled){background:var(--cloistr-bg-hover)}.cloistr-btn-outline{background:transparent;border-color:var(--cloistr-border);color:var(--cloistr-text)}.cloistr-btn-outline:hover:not(:disabled){border-color:var(--cloistr-primary);color:var(--cloistr-primary)}.cloistr-input{width:100%;padding:var(--cloistr-space-sm) var(--cloistr-space-md);background:var(--cloistr-bg);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);color:var(--cloistr-text);transition:border-color var(--cloistr-transition-fast)}.cloistr-input:focus{outline:none;border-color:var(--cloistr-primary)}.cloistr-input::placeholder{color:var(--cloistr-text-dim)}.cloistr-header{display:flex;align-items:center;justify-content:space-between;padding:var(--cloistr-space-md) var(--cloistr-space-lg);background:var(--cloistr-bg-elevated);border-bottom:1px solid var(--cloistr-border)}.cloistr-header-left,.cloistr-header-right{display:flex;align-items:center;gap:var(--cloistr-space-md)}.cloistr-header-logo{display:flex;align-items:center;gap:var(--cloistr-space-sm);color:var(--cloistr-text);text-decoration:none;font-weight:600}.cloistr-header-brand{font-size:1.125rem}.cloistr-footer{padding:var(--cloistr-space-lg);background:var(--cloistr-bg-elevated);border-top:1px solid var(--cloistr-border)}.cloistr-footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--cloistr-space-md)}.cloistr-footer-copyright{color:var(--cloistr-text-muted);font-size:.875rem}.cloistr-footer-links{display:flex;gap:var(--cloistr-space-md)}.cloistr-footer-link{color:var(--cloistr-text-muted);text-decoration:none;font-size:.875rem;transition:color var(--cloistr-transition-fast)}.cloistr-footer-link:hover{color:var(--cloistr-text)}.cloistr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--cloistr-z-modal)}.cloistr-modal{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-lg);width:100%;max-width:400px;box-shadow:var(--cloistr-shadow-lg)}.cloistr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--cloistr-space-md) var(--cloistr-space-lg);border-bottom:1px solid var(--cloistr-border)}.cloistr-modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--cloistr-text)}.cloistr-modal-close{background:none;border:none;color:var(--cloistr-text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.cloistr-modal-close:hover{color:var(--cloistr-text)}.cloistr-modal-content{padding:var(--cloistr-space-lg)}.cloistr-login-options{display:flex;flex-direction:column;gap:var(--cloistr-space-sm)}.cloistr-login-help{margin-top:var(--cloistr-space-md);font-size:.875rem;color:var(--cloistr-text-muted);text-align:center}.cloistr-login-help a{color:var(--cloistr-primary-light)}.cloistr-bunker-form{display:flex;flex-direction:column;gap:var(--cloistr-space-md)}.cloistr-bunker-form label{font-size:.875rem;font-weight:500;color:var(--cloistr-text)}.cloistr-form-actions{display:flex;gap:var(--cloistr-space-sm);justify-content:flex-end}.cloistr-error{padding:var(--cloistr-space-sm) var(--cloistr-space-md);background:#ef44441a;border:1px solid var(--cloistr-error);border-radius:var(--cloistr-radius-md);color:var(--cloistr-error);font-size:.875rem;margin-bottom:var(--cloistr-space-md)}.cloistr-user-menu{position:relative}.cloistr-user-menu-trigger{display:flex;align-items:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-xs) var(--cloistr-space-sm);background:var(--cloistr-bg);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-full);cursor:pointer;transition:border-color var(--cloistr-transition-fast)}.cloistr-user-menu-trigger:hover{border-color:var(--cloistr-primary)}.cloistr-user-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--cloistr-primary);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.cloistr-user-pubkey{font-family:var(--cloistr-font-mono);font-size:.75rem;color:var(--cloistr-text-muted)}.cloistr-user-menu-dropdown{position:absolute;top:calc(100% + var(--cloistr-space-xs));right:0;min-width:200px;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);box-shadow:var(--cloistr-shadow-lg);z-index:var(--cloistr-z-dropdown);overflow:hidden}.cloistr-user-menu-header{padding:var(--cloistr-space-sm) var(--cloistr-space-md);border-bottom:1px solid var(--cloistr-border)}.cloistr-user-menu-pubkey-full{display:block;font-family:var(--cloistr-font-mono);font-size:.75rem;color:var(--cloistr-text-muted)}.cloistr-user-menu-method{font-size:.75rem;color:var(--cloistr-text-dim)}.cloistr-user-menu-items{display:flex;flex-direction:column}.cloistr-user-menu-item{display:block;padding:var(--cloistr-space-sm) var(--cloistr-space-md);color:var(--cloistr-text);text-decoration:none;font-size:.875rem;background:none;border:none;text-align:left;cursor:pointer;width:100%;transition:background var(--cloistr-transition-fast)}.cloistr-user-menu-item:hover{background:var(--cloistr-bg-hover)}.cloistr-user-menu-logout{color:var(--cloistr-error);border-top:1px solid var(--cloistr-border)}.cloistr-service-menu{position:relative}.cloistr-service-menu-trigger{display:flex;align-items:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-xs) var(--cloistr-space-sm);background:transparent;border:1px solid transparent;border-radius:var(--cloistr-radius-md);cursor:pointer;color:var(--cloistr-text);transition:all var(--cloistr-transition-fast)}.cloistr-service-menu-trigger:hover{background:var(--cloistr-bg-hover)}.cloistr-service-icon{font-size:1rem}.cloistr-service-name{font-size:.875rem;font-weight:500}.cloistr-service-chevron{font-size:.625rem;color:var(--cloistr-text-muted)}.cloistr-service-menu-dropdown{position:absolute;top:calc(100% + var(--cloistr-space-xs));left:0;min-width:180px;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);box-shadow:var(--cloistr-shadow-lg);z-index:var(--cloistr-z-dropdown);overflow:hidden}.cloistr-service-menu-item{display:flex;align-items:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-sm) var(--cloistr-space-md);color:var(--cloistr-text);text-decoration:none;font-size:.875rem;transition:background var(--cloistr-transition-fast)}.cloistr-service-menu-item:hover{background:var(--cloistr-bg-hover)}.cloistr-service-menu-item.active{background:var(--cloistr-bg-hover);color:var(--cloistr-primary-light)}.cloistr-toast-container{position:fixed;z-index:var(--cloistr-z-toast, 9999);display:flex;flex-direction:column;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-md);pointer-events:none}.cloistr-toast-top-right{top:0;right:0}.cloistr-toast-top-left{top:0;left:0}.cloistr-toast-bottom-right{bottom:0;right:0}.cloistr-toast-bottom-left{bottom:0;left:0}.cloistr-toast-top-center{top:0;left:50%;transform:translate(-50%)}.cloistr-toast-bottom-center{bottom:0;left:50%;transform:translate(-50%)}.cloistr-toast{display:flex;align-items:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-sm) var(--cloistr-space-md);background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:var(--cloistr-radius-md);box-shadow:var(--cloistr-shadow-lg);pointer-events:auto;animation:cloistr-toast-enter .2s ease-out;max-width:400px}.cloistr-toast-exit{animation:cloistr-toast-exit .2s ease-in forwards}@keyframes cloistr-toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes cloistr-toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.cloistr-toast-icon{flex-shrink:0;font-size:1rem}.cloistr-toast-message{flex:1;font-size:.875rem;color:var(--cloistr-text)}.cloistr-toast-dismiss{flex-shrink:0;background:none;border:none;color:var(--cloistr-text-muted);cursor:pointer;padding:0;font-size:1.25rem;line-height:1}.cloistr-toast-dismiss:hover{color:var(--cloistr-text)}.cloistr-toast-success{border-color:var(--cloistr-success, #22c55e)}.cloistr-toast-success .cloistr-toast-icon{color:var(--cloistr-success, #22c55e)}.cloistr-toast-error{border-color:var(--cloistr-error)}.cloistr-toast-error .cloistr-toast-icon{color:var(--cloistr-error)}.cloistr-toast-warning{border-color:var(--cloistr-warning, #f59e0b)}.cloistr-toast-warning .cloistr-toast-icon{color:var(--cloistr-warning, #f59e0b)}.cloistr-toast-info{border-color:var(--cloistr-info, #3b82f6)}.cloistr-toast-info .cloistr-toast-icon{color:var(--cloistr-info, #3b82f6)}.cloistr-spinner{display:inline-block}.cloistr-spinner svg{width:100%;height:100%;animation:cloistr-spin 1s linear infinite}@keyframes cloistr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cloistr-spinner-track{stroke:var(--cloistr-border)}.cloistr-spinner-head{stroke:var(--cloistr-primary);stroke-dasharray:45 90}.cloistr-spinner-secondary .cloistr-spinner-head{stroke:var(--cloistr-text-muted)}.cloistr-spinner-white .cloistr-spinner-head{stroke:#fff}.cloistr-spinner-white .cloistr-spinner-track{stroke:#ffffff4d}.cloistr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.cloistr-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:var(--cloistr-z-overlay, 100)}.cloistr-loading-blur{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cloistr-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--cloistr-space-md)}.cloistr-loading-message{color:#fff;font-size:.875rem;margin:0}.cloistr-skeleton{background:linear-gradient(90deg,var(--cloistr-bg-hover) 25%,var(--cloistr-bg-elevated) 50%,var(--cloistr-bg-hover) 75%);background-size:200% 100%;animation:cloistr-skeleton-shimmer 1.5s infinite}@keyframes cloistr-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cloistr-skeleton-none{border-radius:0}.cloistr-skeleton-sm{border-radius:var(--cloistr-radius-sm)}.cloistr-skeleton-md{border-radius:var(--cloistr-radius-md)}.cloistr-skeleton-lg{border-radius:var(--cloistr-radius-lg)}.cloistr-skeleton-full{border-radius:var(--cloistr-radius-full)}.cloistr-modal-sm{max-width:320px}.cloistr-modal-md{max-width:480px}.cloistr-modal-lg{max-width:640px}.cloistr-modal-xl{max-width:800px}.cloistr-modal-full{max-width:calc(100vw - var(--cloistr-space-lg) * 2);max-height:calc(100vh - var(--cloistr-space-lg) * 2)}.cloistr-modal-footer{padding:var(--cloistr-space-md) var(--cloistr-space-lg);border-top:1px solid var(--cloistr-border);background:var(--cloistr-bg)}.cloistr-modal-actions{display:flex;justify-content:flex-end;gap:var(--cloistr-space-sm)}.cloistr-confirm-message{margin:0;color:var(--cloistr-text-muted);line-height:1.5}.cloistr-btn-danger{background:var(--cloistr-error);color:#fff}.cloistr-btn-danger:hover:not(:disabled){background:#dc2626}.cloistr-settings{display:flex;flex-direction:column;gap:var(--cloistr-space-lg)}.cloistr-settings-section{display:flex;flex-direction:column;gap:var(--cloistr-space-sm)}.cloistr-settings-section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--cloistr-text);text-transform:uppercase;letter-spacing:.05em}.cloistr-settings-description{margin:0;font-size:.875rem;color:var(--cloistr-text-muted)}.cloistr-settings-options{display:flex;flex-direction:column;gap:var(--cloistr-space-xs);margin-top:var(--cloistr-space-xs)}.cloistr-settings-option{display:flex;align-items:center;gap:var(--cloistr-space-sm);padding:var(--cloistr-space-sm);border-radius:var(--cloistr-radius-md);cursor:pointer;transition:background var(--cloistr-transition-fast)}.cloistr-settings-option:hover{background:var(--cloistr-bg-hover)}.cloistr-settings-option input[type=radio]{width:1rem;height:1rem;margin:0;accent-color:var(--cloistr-primary)}.cloistr-settings-option-label{font-size:.875rem;color:var(--cloistr-text)}.cloistr-settings-saved{margin:0;padding:var(--cloistr-space-sm);font-size:.75rem;color:var(--cloistr-success);background:#22c55e1a;border-radius:var(--cloistr-radius-sm);text-align:center}:root{--signer-bg: #0d1117;--signer-bg-secondary: #161b22;--signer-bg-tertiary: #21262d;--signer-border: #30363d;--signer-text: #c9d1d9;--signer-text-muted: #8b949e;--signer-text-heading: #f0f6fc;--signer-primary: #58a6ff;--signer-primary-hover: #79b8ff;--signer-success: #3fb950;--signer-warning: #d29922;--signer-danger: #f85149;--signer-purple: #a371f7;--sidebar-width: 220px;--header-height: 60px;--footer-height: 48px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background:var(--signer-bg);color:var(--signer-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5}a{color:var(--signer-primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{display:flex;flex:1;margin-top:var(--header-height)}.app-content{flex:1;padding:var(--space-lg);overflow-y:auto;margin-left:var(--sidebar-width)}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:var(--footer-height);width:var(--sidebar-width);background:var(--signer-bg-secondary);border-right:1px solid var(--signer-border);overflow-y:auto;z-index:100}.sidebar-nav{display:flex;flex-direction:column;padding:var(--space-md);gap:var(--space-xs)}.sidebar-nav a{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--signer-text);text-decoration:none;transition:background .15s}.sidebar-nav a:hover{background:var(--signer-bg-tertiary);text-decoration:none}.sidebar-nav a.active{background:var(--signer-primary);color:#fff}.sidebar-divider{height:1px;background:var(--signer-border);margin:var(--space-md) 0}.nav-icon{font-size:16px}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.spinner{width:32px;height:32px;border:3px solid var(--signer-border);border-top-color:var(--signer-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.page-title{margin:0;font-size:24px;font-weight:600;color:var(--signer-text-heading)}.card{background:var(--signer-bg-secondary);border:1px solid var(--signer-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.card-title{margin:0;font-size:16px;font-weight:600;color:var(--signer-text-heading)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-card{background:var(--signer-bg-secondary);border:1px solid var(--signer-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.stat-value{font-size:32px;font-weight:700;color:var(--signer-text-heading)}.stat-label{font-size:14px;color:var(--signer-text-muted);margin-top:var(--space-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--signer-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--signer-primary-hover)}.btn-secondary{background:var(--signer-bg-tertiary);color:var(--signer-text);border-color:var(--signer-border)}.btn-secondary:hover:not(:disabled){background:var(--signer-border)}.btn-danger{background:var(--signer-danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--signer-text)}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--signer-bg);border:1px solid var(--signer-border);border-radius:var(--radius-md);color:var(--signer-text);font-size:14px;transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--signer-primary)}.form-input::placeholder{color:var(--signer-text-muted)}.form-error{color:var(--signer-danger);font-size:13px;margin-top:var(--space-xs)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--signer-border)}.table th{font-weight:600;color:var(--signer-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background:var(--signer-bg-tertiary)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge-success{background:#3fb95033;color:var(--signer-success)}.badge-warning{background:#d2992233;color:var(--signer-warning)}.badge-danger{background:#f8514933;color:var(--signer-danger)}.badge-info{background:#58a6ff33;color:var(--signer-primary)}.empty-state{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--signer-text-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-md)}.empty-state-title{font-size:18px;font-weight:600;color:var(--signer-text);margin-bottom:var(--space-sm)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg)}.auth-card{width:100%;max-width:400px;background:var(--signer-bg-secondary);border:1px solid var(--signer-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.auth-header{text-align:center;margin-bottom:var(--space-lg)}.auth-logo{font-size:48px;margin-bottom:var(--space-md)}.auth-title{font-size:24px;font-weight:600;color:var(--signer-text-heading);margin:0 0 var(--space-xs)}.auth-subtitle{color:var(--signer-text-muted);margin:0}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--signer-text-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--signer-border)}.auth-footer{text-align:center;margin-top:var(--space-lg);color:var(--signer-text-muted)}.auth-error{background:#f851491a;border:1px solid var(--signer-danger);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);color:var(--signer-danger)}.key-list{display:flex;flex-direction:column;gap:var(--space-md)}.key-card{background:var(--signer-bg-secondary);border:1px solid var(--signer-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.key-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.key-name{font-size:16px;font-weight:600;color:var(--signer-text-heading);margin:0 0 var(--space-xs)}.key-pubkey{font-family:monospace;font-size:13px;color:var(--signer-text-muted)}.key-actions{display:flex;gap:var(--space-sm)}.key-meta{display:flex;gap:var(--space-lg);font-size:13px;color:var(--signer-text-muted)}.signer-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);background:var(--signer-bg-secondary);border-bottom:1px solid var(--signer-border);z-index:1000}.signer-header-left{display:flex;align-items:center;gap:var(--space-lg)}.signer-header-logo{display:flex;align-items:center;gap:var(--space-sm);color:var(--signer-text-heading);text-decoration:none}.signer-header-logo:hover{text-decoration:none}.signer-header-brand{font-size:18px;font-weight:600}.signer-service-menu{display:flex;gap:var(--space-sm)}.signer-service-link{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);color:var(--signer-text-muted);text-decoration:none;font-size:14px;transition:color .15s,background .15s}.signer-service-link:hover{color:var(--signer-text);background:var(--signer-bg-tertiary);text-decoration:none}.signer-service-active{color:var(--signer-primary);font-weight:500}.signer-header-right,.signer-user-menu{display:flex;align-items:center;gap:var(--space-md)}.signer-username{color:var(--signer-text);font-weight:500}.welcome-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - var(--footer-height) - var(--space-xl) * 2)}.welcome-content{text-align:center;max-width:500px}.welcome-content h1{font-size:36px;font-weight:700;color:var(--signer-text-heading);margin:0 0 var(--space-md)}.welcome-content p{font-size:18px;color:var(--signer-text-muted);margin:0 0 var(--space-xl);line-height:1.6}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-lg)}.modal{background:var(--signer-bg-secondary);border:1px solid var(--signer-border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--signer-border)}.modal-title{margin:0;font-size:18px;font-weight:600;color:var(--signer-text-heading)}.modal-close{background:none;border:none;font-size:24px;color:var(--signer-text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--signer-text)}.modal-body{padding:var(--space-lg)}.input,input.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--signer-bg);border:1px solid var(--signer-border);border-radius:var(--radius-md);color:var(--signer-text);font-size:14px;transition:border-color .15s}.input:focus,input.input:focus{outline:none;border-color:var(--signer-primary)}label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--signer-text)}small{display:block;margin-top:var(--space-xs);font-size:12px}.alert{padding:var(--space-md);border-radius:var(--radius-md);font-size:14px}.alert-error{background:#f851491a;border:1px solid var(--signer-danger);color:var(--signer-danger)}.alert-success{background:#3fb9501a;border:1px solid var(--signer-success);color:var(--signer-success)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:13px}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:16px}.app-main:not(:has(.sidebar)) .app-content{margin-left:0}@media (max-width: 768px){.sidebar{display:none}.app-content{margin-left:0}.stats-grid{grid-template-columns:1fr}.signer-service-menu{display:none}.welcome-content h1{font-size:28px}.welcome-content p{font-size:16px}}
