* {
box-sizing: border-box;
}
html {
min-height: 100%;
}
body {
margin: 0;
min-width: 320px;
max-width: none;
min-height: 100vh;
background: #0f1720;
color: #e8eef6;
font: 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.side-panel-body {
width: 100%;
}
.layout {
padding: 12px;
min-height: 100vh;
}
.panel {
display: flex;
flex-direction: column;
gap: 12px;
min-height: calc(100vh - 24px);
}
.panel-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
}
.panel-header h1 {
margin: 0;
font-size: 18px;
}
.muted {
margin: 2px 0 0;
color: #9aabbd;
}
.small {
font-size: 12px;
}
.pill {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 0 10px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
}
.pill-offline {
background: #4b1f28;
color: #ffc4cf;
}
.pill-online {
background: #153926;
color: #b7f5ce;
}
.card {
display: flex;
flex-direction: column;
gap: 10px;
padding: 12px;
border: 1px solid #253446;
border-radius: 8px;
background: #131d29;
}
.card-title {
font-size: 13px;
font-weight: 700;
}
.field {
display: flex;
flex-direction: column;
gap: 6px;
}
.field span {
font-size: 12px;
color: #b8c4d1;
}
input[type="text"],
input[type="password"],
select {
width: 100%;
padding: 10px 12px;
border: 1px solid #314459;
border-radius: 8px;
background: #0d141d;
color: #edf3fb;
}
.checkbox-row {
display: flex;
align-items: center;
gap: 8px;
}
.actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.btn {
min-height: 36px;
padding: 0 12px;
border: 0;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
}
.btn.primary {
background: #2f7df4;
color: #fff;
}
.btn.secondary {
background: #243446;
color: #e8eef6;
}
.btn.danger {
background: #6a2430;
color: #ffd6de;
}
.btn:disabled {
opacity: 0.55;
cursor: default;
}
.code {
font-size: 30px;
font-weight: 700;
letter-spacing: 0.12em;
}
.summary-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.summary-row code {
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #bed5f5;
}
.status {
padding: 10px 12px;
border-radius: 8px;
font-size: 13px;
}
.status.info {
background: #172838;
color: #d8ebff;
}
.status.error {
background: #4d1e26;
color: #ffd0d8;
}
.hidden {
display: none;
}
.device-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.device-row {
padding: 8px 10px;
border: 1px solid #243446;
border-radius: 8px;
background: #0d141d;
}
.device-state {
font-size: 12px;
text-transform: lowercase;
}
.device-state-online {
color: #b7f5ce;
}
.device-state-offline {
color: #ffc4cf;
}
.device-state-unknown {
color: #f8e2a0;
}
.wallet-pubkey {
display: block;
width: 100%;
padding: 10px 12px;
border: 1px solid #314459;
border-radius: 8px;
background: #0d141d;
color: #bed5f5;
white-space: normal;
line-break: anywhere;
}