/* Shared low-fidelity wireframe styles for wallet prototypes */
:root{
  --bg:#fff; --ink:#111; --muted:#666; --line:#111;
  --soft:#f2f2f2; --softer:#fafafa; --paper:#e9e9e9;
  --ok:#2e7d32; --warn:#ffb020; --err:#c62828;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Courier New',Courier,monospace;color:var(--ink)}
button,input,select,textarea{font-family:inherit;color:var(--ink)}
a{color:var(--ink)}

/* primitives */
.btn{border:2px solid var(--line);background:#fff;color:#111;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-family:inherit}
.btn:hover{background:var(--soft)}
.btn.primary{background:#111;color:#fff}
.btn.primary:hover{filter:brightness(1.15)}
.btn.danger{border-color:var(--err);color:var(--err)}
.btn.ok{border-color:var(--ok);color:var(--ok)}
.btn.full{width:100%}
.btn.sm{padding:5px 8px;font-size:11px;border-radius:6px}
.input,.textarea,select.input{width:100%;border:2px solid var(--line);border-radius:6px;padding:8px;background:#fff;font-size:12px}
label{font-size:11px;color:var(--muted);display:block;margin-bottom:3px}
.group{display:flex;flex-direction:column;gap:3px}
.row{display:flex;align-items:center;gap:8px}
.row.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:10px}
.hr{height:2px;background:var(--line);margin:6px 0}
.small{font-size:11px;color:var(--muted)}
.center{text-align:center}
.kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}
.kv .k{color:var(--muted)}

.icon-btn{width:30px;height:30px;border:2px solid var(--line);background:#fff;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}
.icon-btn:hover{background:var(--soft)}

.badge{display:inline-block;border:1.5px solid var(--line);border-radius:999px;padding:1px 7px;font-size:10px;background:#fff}
.badge.ok{border-color:var(--ok);color:var(--ok)}
.badge.warn{border-color:var(--warn);color:var(--warn)}
.badge.err{border-color:var(--err);color:var(--err)}
.badge.solid{background:#111;color:#fff;border-color:#111}

.dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:inline-block}
.dot.k{background:#111}
.dot.ok{background:var(--ok)}
.dot.warn{background:var(--warn)}
.dot.err{background:var(--err)}

.avatar{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:repeating-linear-gradient(45deg,#ddd 0 4px,#fff 4px 8px);display:inline-block;flex-shrink:0}
.avatar.lg{width:36px;height:36px}
.token{width:30px;height:30px;border:2px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;background:#fff;flex-shrink:0}

.list{display:flex;flex-direction:column;gap:6px}
.li{display:flex;align-items:center;justify-content:space-between;border:2px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;cursor:pointer;gap:8px}
.li:hover{background:var(--soft)}
.li-l{display:flex;align-items:center;gap:8px;min-width:0}
.li-r{text-align:right;font-size:12px;flex-shrink:0}

.tabs{display:flex;border-bottom:2px solid var(--line)}
.tab{flex:1;padding:7px;text-align:center;cursor:pointer;font-size:12px;border-right:2px solid var(--line);background:#fff}
.tab:last-child{border-right:none}
.tab.active{background:#111;color:#fff}

.toggle{width:34px;height:18px;border:2px solid var(--line);border-radius:999px;position:relative;cursor:pointer;background:#fff;flex-shrink:0}
.toggle::after{content:"";position:absolute;top:1px;left:1px;width:12px;height:12px;background:#111;border-radius:50%;transition:left .15s}
.toggle.on::after{left:17px}
.checkbox{width:14px;height:14px;border:2px solid var(--line);display:inline-block;cursor:pointer;background:#fff;flex-shrink:0}
.checkbox.on{background:#111}

/* QR placeholder */
.qr{width:140px;height:140px;margin:0 auto;background:repeating-linear-gradient(0deg,#111 0 4px,transparent 4px 8px),repeating-linear-gradient(90deg,#111 0 4px,transparent 4px 8px);border:4px solid #111;position:relative}
.qr::before,.qr::after{content:"";position:absolute;width:28px;height:28px;border:5px solid #111;background:#fff}
.qr::before{top:3px;left:3px}.qr::after{top:3px;right:3px}

/* seed */
.seed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.seed-cell{border:2px solid var(--line);border-radius:5px;padding:6px 4px;text-align:center;font-size:11px;background:var(--softer)}
.seed-cell .num{color:var(--muted);margin-right:3px}

/* modal/drawer (positioned absolute within their container) */
.modal-back{position:absolute;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;padding:14px;z-index:50}
.modal-back.show{display:flex}
.modal{width:100%;max-height:92%;overflow-y:auto;background:#fff;border:2px solid var(--line);border-radius:10px;padding:12px}
.modal h4{margin:0 0 8px;font-size:14px}

.drawer-back{position:absolute;inset:0;background:rgba(0,0,0,.4);display:none;z-index:40}
.drawer-back.show{display:block}

/* simple chart placeholder */
.chart{height:120px;border:2px solid var(--line);border-radius:8px;background:linear-gradient(180deg,transparent 0,transparent 60%,#eee 60%,#eee 100%);position:relative;overflow:hidden}
.chart::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,transparent 24%,#111 24% 24.5%,transparent 24.5%) 0 0/100% 100% no-repeat;}
.chart::after{content:"";position:absolute;left:0;right:0;bottom:30%;height:2px;background:#111;clip-path:polygon(0 60%,8% 50%,16% 65%,24% 35%,32% 45%,40% 25%,48% 30%,56% 18%,64% 28%,72% 12%,80% 22%,88% 8%,100% 14%,100% 100%,0 100%);}

/* skeleton/placeholder image */
.ph-img{background:repeating-linear-gradient(45deg,#eee 0 8px,#fff 8px 16px);border:2px solid var(--line);border-radius:6px}
.ph-dash{background:repeating-linear-gradient(135deg,#ddd 0 8px,#fff 8px 16px);border:2px solid var(--line);border-radius:6px}

.scroll{overflow-y:auto}
.pad{padding:12px}
.gap{gap:10px}
