*{box-sizing:border-box}
body{margin:0;background:#f3f4f6;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:13px;color:#111827}
a{color:#1d4ed8}
.bar{background:#111827;color:#fff;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:700;gap:12px;flex-wrap:wrap}
.bar span:last-child{font-weight:400}
.menu{background:#fff;border-bottom:1px solid #e5e7eb;padding:2px 10px;display:flex;flex-wrap:wrap;gap:2px}
.menu button{font:inherit;background:transparent;border:none;padding:8px 10px;color:#374151;cursor:pointer;border-radius:6px}
.menu button:hover{background:#f3f4f6}
.tools{background:#fff;border-bottom:1px solid #e5e7eb;padding:8px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
input[type=text],input[type=password]{font:inherit;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff}
.btn{font:inherit;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;cursor:pointer}
.btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}
.wrap{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}
.nav{flex:1 1 200px;max-width:230px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px;min-height:300px}
.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:12px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}
.card h3{margin:0;padding:9px 12px;font-size:12px;font-weight:600;letter-spacing:.4px;color:#374151;border-bottom:1px solid #e5e7eb}
.row{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:1px solid #f0f1f3}
.note{padding:8px 12px;color:#4b5563;font-size:12px}
.navitem{padding:2px 8px;line-height:24px}
.navitem.on{background:#e0e7ff;color:#1e3a8a;font-weight:600;border-radius:4px}
.status{background:#fff;border-top:1px solid #e5e7eb;padding:6px 16px;color:#4b5563;display:flex;flex-wrap:wrap;gap:4px}
.status span{padding:2px 10px;border-right:1px solid #e5e7eb}
.login{max-width:340px;margin:12vh auto 0;padding:0 16px}
.login .card{padding:20px}
.login label{display:block;margin:12px 0 4px;font-weight:600}
.login input{width:100%}
.err{color:#b91c1c;margin-top:10px}
@media (max-width:600px){.nav{max-width:none}}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:12px}
.tile{display:block;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;color:inherit;text-decoration:none;background:#fff}
a.tile:hover{border-color:#93c5fd}
.tl{font-size:11px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.4px}
.tv{font-size:22px;font-weight:700;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.tv span{font-size:12px;font-weight:500;color:#6b7280}
.ts{font-size:12px;color:#6b7280}
.tbl{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.tbl th{text-align:left;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 10px;font-size:11px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.tbl td{border-bottom:1px solid #f0f1f3;padding:7px 10px;white-space:nowrap}
.tbl .r{text-align:right}
.grid td{padding:6px 7px}
.chip{display:inline-block;padding:3px 10px;border:1px solid #d1d5db;border-radius:999px;color:#111827;text-decoration:none;font-weight:600;font-size:12px}
.chip:hover{border-color:#2563eb;color:#1d4ed8}
.pill{font:inherit;font-size:12px;padding:3px 12px;border-radius:999px;background:#fff;color:#111827;border:1px solid #d1d5db;cursor:pointer;letter-spacing:0;text-transform:none}
.pill.on{background:#2563eb;color:#fff;border-color:#2563eb}
.menu button:disabled{color:#9ca3af;cursor:default}
.nousd .usd{display:none}

@media print{
  body{background:#fff}
  .menu,.tools,.nav,.status,button,.pill,#shell-nav,input,select,textarea{display:none!important}
  .bar{background:#fff!important;color:#111!important;border-bottom:1px solid #999}
  .bar a{display:none}
  .bar span:last-child{display:none}
  .wrap{padding:0}
  .main{flex:1 1 100%}
  .card{break-inside:avoid;border-color:#ccc}
  .tbl tr.more{display:table-row!important}
  a{color:#111;text-decoration:none}
}
