dialog.bottom-sheet{background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:85vh;padding:0;padding-bottom:env(safe-area-inset-bottom,0);border:none;margin:auto 0 0;inset:auto 0 0;overflow:hidden;&::backdrop{background:var(--bg-overlay)}&[open]{flex-direction:column;animation:.25s ease-out sheet-slide-up;display:flex}}@keyframes sheet-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.sheet-handle{background:var(--border-hover);border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:10px auto}.sheet-header{padding:var(--space-2) var(--space-4) var(--space-3);flex-shrink:0;justify-content:space-between;align-items:flex-start;display:flex}.sheet-header-left{flex:1}.sheet-header-right{align-items:center;gap:10px;display:flex}.sheet-title{font-size:18px;font-weight:var(--font-bold);color:var(--text-strong)}.sheet-subtitle{color:var(--text-muted);margin-top:2px;font-size:11px}.sheet-close{color:var(--text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:none;font-size:24px;&:hover{color:var(--text)}&:focus,&:focus-visible{box-shadow:none;border:none;outline:none}}.sheet-badge{padding:var(--space-1) 10px;font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;border-radius:6px;&.buy{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}&.sell{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}}.sheet-content{padding:0 var(--space-4) var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;& .table-scroll{border:1px solid var(--border);border-radius:var(--radius-md);overscroll-behavior:contain;flex:1;min-height:0;max-height:none;overflow:auto}}.sheet-status{padding:var(--space-1) 10px;font-size:11px;font-weight:var(--font-semibold);background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border-radius:6px;&.error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}&.pending{background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}}.trade-summary{gap:var(--space-3);grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid}.summary-box{background:var(--bg-raised);border-radius:var(--radius-lg);padding:var(--space-3);& .summary-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}& .summary-value{font-size:18px;font-weight:var(--font-bold);color:var(--text-strong);&.buy{color:var(--success)}&.sell{color:var(--danger)}}}.summary-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.fills-section{margin-top:var(--space-4)}.fills-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.fills-count{background:var(--border);padding:2px var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-xs);color:var(--text-muted)}.fills-table{background:var(--bg-raised);border-radius:var(--radius-lg);overflow:hidden;& table{border-collapse:collapse;width:100%}& th{background:var(--border);padding:10px var(--space-2);font-size:9px;font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;text-align:left}& td{padding:10px var(--space-2);border-bottom:1px solid var(--border);color:var(--text);font-family:ui-monospace,monospace;font-size:11px}& tr:last-child td{border-bottom:none}}.fills-total{background:var(--border);& td{font-weight:var(--font-bold);color:var(--text-strong)}}dialog.modal{background:var(--bg-surface);border:none;border-radius:20px;max-width:320px;margin:auto;padding:0;&::backdrop{background:#000000d9}}.modal-btn:focus,.modal-btn:focus-visible{outline:none!important}.modal-content{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:20px;width:100%;max-width:320px;padding:28px 24px}.modal-icon{background:color-mix(in srgb, var(--danger) 12%, transparent);border-radius:var(--radius-full);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex;&--success{background:color-mix(in srgb, var(--success) 12%, transparent)}}.modal-title{font-size:18px;font-weight:var(--font-bold);color:var(--text-strong);margin-bottom:var(--space-2)}.modal-text{color:var(--text-muted);margin-bottom:20px;font-size:13px;line-height:1.5;& strong{color:var(--text-strong)}}.modal-btn{width:100%;padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;border:none;&.confirm{background:linear-gradient(135deg, var(--danger-dark) 0%, var(--danger-darker) 100%);color:var(--text-strong);margin-bottom:var(--space-3)}&.cancel{background:var(--border);color:var(--text-strong)}&.primary{background:var(--success-solid);color:var(--text-strong);&:active{background:var(--success-active)}}}.biometric-prompt+.modal-btn{margin-top:var(--space-2)}.link-box~.modal-btn,#devicesList+.modal-btn{margin-top:var(--space-4)}dialog.action-sheet{padding:0 var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0));background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overscroll-behavior:contain;border:none;width:100%;max-width:100%;margin:auto 0 0;inset:auto 0 0;overflow:hidden;transform:translateY(100%);&::backdrop{background:var(--bg-overlay)}&[open]{animation:.25s ease-out sheet-slide-up;transform:translateY(0)}& .sheet-handle{margin:10px auto var(--space-2)}}.action-header{padding:0 var(--space-1) var(--space-2);justify-content:space-between;align-items:center;display:flex}.action-header-title{font-size:18px;font-weight:var(--font-bold);color:var(--text-strong)}.action-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 10px;border-radius:var(--radius-lg);cursor:pointer;display:flex;&:active{background:var(--border)}&.danger:active{background:color-mix(in srgb, var(--danger) 12%, transparent)}&.success:active{background:color-mix(in srgb, var(--success) 12%, transparent)}}.action-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;&.danger{background:color-mix(in srgb, var(--danger) 12%, transparent)}&.success{background:color-mix(in srgb, var(--success) 12%, transparent)}&--info{background:color-mix(in srgb, var(--info) 12%, transparent)}&--neutral{background:color-mix(in srgb, var(--text-muted) 15%, transparent)}& svg{width:18px;height:18px}}.action-text{flex:1}.action-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-strong)}.action-title--neutral{color:var(--text)}.action-item.danger .action-title{color:var(--danger)}.action-item.success .action-title{color:var(--success)}.action-desc{color:var(--text-muted);margin-top:1px;font-size:11px}dialog.notif-panel{background:var(--bg-base);overscroll-behavior:contain;border:none;width:100%;max-width:375px;height:100%;max-height:100%;margin:0 0 0 auto;padding:0;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%);&::backdrop{background:var(--bg-overlay)}&[open]{animation:.25s ease-out slide-left;transform:translate(0)}}@keyframes slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-header{padding:var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;& h2{font-size:18px;font-weight:var(--font-bold);color:var(--text-strong)}}.notif-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);gap:var(--space-3);display:flex;&.unread{border-left:3px solid var(--success-solid)}}.notif-icon{border-radius:var(--radius-md);width:32px;height:32px;font-size:var(--text-base);flex-shrink:0;justify-content:center;align-items:center;display:flex;&.buy{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}&.sell{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}}.notif-content{flex:1}.notif-title{font-size:13px;font-weight:var(--font-semibold);color:var(--text-strong)}.notif-desc{color:var(--text-muted);margin-top:2px;font-size:11px}.notif-amount{margin-top:2px;font-size:11px}.notif-time{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.notif-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}