Files
2026-02-12 19:07:08 -08:00

685 lines
16 KiB
CSS

#qortal-account-root {
max-width: none;
width: 100%;
min-height: 0;
overflow-y: auto;
padding: 0 6px 18px;
}
#app-content #qortal-account-root,
#app-content-vue #qortal-account-root,
#body-settings #qortal-account-root {
max-height: calc(100vh - 96px);
}
#qortal-account-root .qortal-hidden {
display: none !important;
}
#qortal-account-root .qortal-page-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 14px;
}
#qortal-account-root .qortal-page-actions {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
#qortal-account-root .qortal-page-header h2 {
margin: 0;
font-weight: 800;
letter-spacing: 0.01em;
}
#qortal-account-root .qortal-help {
margin: 4px 0 0;
color: var(--color-text-maxcontrast);
font-size: 14px;
}
#qortal-account-root .qortal-card {
border: 1px solid var(--color-border);
border-radius: var(--border-radius-large);
padding: 14px;
margin: 12px 0;
background: var(--color-main-background);
box-shadow: 0 2px 12px color-mix(in srgb, var(--color-text-maxcontrast) 8%, transparent);
}
#qortal-account-root .qortal-card-hero {
background:
radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--color-primary) 24%, transparent), transparent 42%),
linear-gradient(120deg, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 58%),
var(--color-main-background);
}
#qortal-account-root .qortal-card-title {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 10px;
}
#qortal-account-root .qortal-card-title h3,
#qortal-account-root .qortal-card-title h4 {
margin: 0;
}
#qortal-account-root .qortal-card-title--compact {
margin-bottom: 6px;
}
#qortal-account-root .qortal-label {
display: block;
color: var(--color-text-maxcontrast);
font-size: 11px;
margin-bottom: 4px;
text-transform: uppercase;
letter-spacing: 0.07em;
font-weight: 600;
}
#qortal-account-root .qortal-value {
display: block;
font-weight: 760;
word-break: break-word;
font-size: 15px;
line-height: 1.35;
}
#qortal-account-root .qortal-note {
margin: 0 0 10px 0;
color: var(--color-text-maxcontrast);
font-size: 12px;
line-height: 1.4;
}
#qortal-account-root .qortal-error {
color: var(--color-error);
}
#qortal-account-root .qortal-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 10px;
align-items: end;
margin-bottom: 10px;
}
#qortal-account-root .qortal-grid input,
#qortal-account-root .qortal-grid textarea {
width: 100%;
}
#qortal-account-root .qortal-wallet-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 10px;
margin-bottom: 10px;
}
#qortal-account-root .qortal-wallet-summary__item {
border: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
border-radius: var(--border-radius-large);
padding: 10px;
background:
linear-gradient(160deg, color-mix(in srgb, var(--color-main-background) 75%, var(--color-primary) 25%), var(--color-main-background));
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 132px;
box-shadow: 0 1px 10px color-mix(in srgb, var(--color-text-maxcontrast) 8%, transparent);
}
#qortal-account-root .qortal-wallet-summary__item--address {
border-color: color-mix(in srgb, var(--color-primary) 50%, var(--color-border));
}
#qortal-account-root .qortal-wallet-summary__item--primary {
border-color: color-mix(in srgb, var(--color-success) 28%, var(--color-border));
}
#qortal-account-root .qortal-highlight-target {
border-color: color-mix(in srgb, #ffb703 82%, var(--color-border));
box-shadow:
0 0 0 2px color-mix(in srgb, #ffb703 58%, transparent),
0 0 0 6px color-mix(in srgb, #ffb703 24%, transparent);
animation: qortal-register-highlight-pulse 1.3s ease-in-out 6;
}
#qortal-account-root .qortal-highlight-action {
box-shadow:
0 0 0 2px color-mix(in srgb, #ffb703 64%, transparent),
0 0 0 6px color-mix(in srgb, #ffb703 26%, transparent);
animation: qortal-register-highlight-pulse 1.3s ease-in-out 6;
}
@keyframes qortal-register-highlight-pulse {
0% {
transform: translateY(0);
}
50% {
transform: translateY(-1px);
}
100% {
transform: translateY(0);
}
}
#qortal-account-root .qortal-wallet-summary__item--balance {
border-color: color-mix(in srgb, var(--color-border) 76%, transparent);
}
#qortal-account-root .qortal-wallet-summary__item--balance-good {
border-color: color-mix(in srgb, #2cb67d 72%, var(--color-border));
background:
linear-gradient(165deg, color-mix(in srgb, #2cb67d 18%, var(--color-main-background)), var(--color-main-background));
}
#qortal-account-root .qortal-wallet-summary__item--balance-good .qortal-value {
color: #2cb67d;
}
#qortal-account-root .qortal-wallet-summary__item--balance-warn {
border-color: color-mix(in srgb, #d9a441 65%, var(--color-border));
background:
linear-gradient(165deg, color-mix(in srgb, #d9a441 16%, var(--color-main-background)), var(--color-main-background));
}
#qortal-account-root .qortal-wallet-summary__item--balance-warn .qortal-value {
color: #d9a441;
}
#qortal-account-root .qortal-wallet-summary__item--balance-bad {
border-color: color-mix(in srgb, #ff5a5f 66%, var(--color-border));
background:
linear-gradient(165deg, color-mix(in srgb, #ff5a5f 18%, var(--color-main-background)), var(--color-main-background));
}
#qortal-account-root .qortal-wallet-summary__item--balance-bad .qortal-value {
color: #ff5a5f;
}
#qortal-account-root .qortal-item-actions {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 10px;
}
#qortal-account-root #qortal-account-address {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 13px;
}
#qortal-account-root #qortal-account-balance {
font-size: 21px;
line-height: 1.2;
}
#qortal-account-root #qortal-account-request-wrap {
padding: 8px;
border-radius: var(--border-radius-large);
background: color-mix(in srgb, var(--color-main-background) 76%, var(--color-primary) 24%);
}
#qortal-account-root .qortal-item-actions .button {
width: 100%;
font-weight: 700;
}
#qortal-account-root .qortal-chip-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
#qortal-account-root .qortal-chip {
border: 1px solid var(--color-border);
border-radius: 999px;
padding: 6px 12px;
font-weight: 620;
background: color-mix(in srgb, var(--color-main-background) 85%, var(--color-primary) 15%);
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#qortal-account-root .qortal-kv {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 10px;
}
#qortal-account-root .qortal-account-actions {
display: flex;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
#qortal-account-root .qortal-account-actions__left,
#qortal-account-root .qortal-account-actions__right {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}
#qortal-account-root .qortal-send-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 10px;
align-items: end;
margin-bottom: 10px;
}
#qortal-account-root .qortal-send-grid input {
width: 100%;
}
#qortal-account-root .qortal-send-grid__actions {
display: flex;
gap: 8px;
align-items: end;
}
#qortal-account-root .qortal-send-grid__actions .button {
flex: 1 1 auto;
min-height: 38px;
font-weight: 700;
}
#qortal-account-root .qortal-send-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
}
#qortal-account-root .qortal-send-icon {
width: 16px;
height: 16px;
background-image: url('../img/QORT-logo-512.png');
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
#qortal-account-root .qortal-status {
background: var(--color-background-dark);
border: 1px solid color-mix(in srgb, var(--color-border) 45%, transparent);
border-radius: var(--border-radius-large);
padding: 12px;
min-height: 92px;
max-height: 44vh;
overflow: auto;
white-space: pre-wrap;
word-break: break-word;
}
#qortal-account-root .qortal-compact-status {
min-height: 76px;
}
#qortal-account-root .qortal-transactions {
margin-top: 12px;
border-top: 1px solid color-mix(in srgb, var(--color-border) 65%, transparent);
padding-top: 12px;
}
#qortal-account-root .qortal-transactions-list {
display: grid;
gap: 8px;
max-height: 46vh;
overflow: auto;
padding-right: 4px;
}
#qortal-account-root .qortal-request-list,
#qortal-account-root .qortal-admin-request-list {
display: grid;
gap: 10px;
margin-top: 10px;
}
#qortal-account-root .qortal-request-item {
border: 2px solid color-mix(in srgb, var(--color-border) 72%, transparent);
border-radius: var(--border-radius-large);
padding: 10px;
background: color-mix(in srgb, var(--color-main-background) 90%, var(--color-background-dark) 10%);
}
#qortal-account-root .qortal-request-item.status-pending {
border-color: #e8c547;
}
#qortal-account-root .qortal-request-item.status-sent {
border-color: #2cb67d;
}
#qortal-account-root .qortal-request-item.status-denied {
border-color: #ff5a5f;
}
#qortal-account-root .qortal-request-head {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 8px;
margin-bottom: 6px;
}
#qortal-account-root .qortal-request-title {
font-size: 14px;
font-weight: 700;
margin: 0;
}
#qortal-account-root .qortal-request-date {
font-size: 12px;
color: var(--color-text-maxcontrast);
}
#qortal-account-root .qortal-request-meta {
font-size: 12px;
color: var(--color-text-maxcontrast);
line-height: 1.45;
}
#qortal-account-root .qortal-request-message-list {
margin: 8px 0 0;
padding: 0;
list-style: none;
display: grid;
gap: 6px;
}
#qortal-account-root .qortal-request-message {
font-size: 12px;
padding: 6px 8px;
border: 1px solid color-mix(in srgb, var(--color-border) 65%, transparent);
border-radius: var(--border-radius-large);
background: color-mix(in srgb, var(--color-main-background) 78%, var(--color-primary) 22%);
}
#qortal-account-root .qortal-request-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
}
#qortal-account-root .qortal-request-actions .button {
font-weight: 700;
}
#qortal-account-root .qortal-request-actions .button.button-error {
background: #ff5a5f;
border-color: #ff5a5f;
color: #fff;
}
#qortal-account-root #qortal-account-request-feedback {
margin-top: 6px;
font-weight: 600;
}
#qortal-account-root .qortal-app-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 14px;
margin-top: 10px;
}
#qortal-account-root .qortal-app-card {
position: relative;
width: clamp(110px, 16vw, 250px);
aspect-ratio: 1 / 1;
border: 1px solid color-mix(in srgb, var(--color-border) 68%, transparent);
border-radius: var(--border-radius-large);
overflow: hidden;
background: color-mix(in srgb, var(--color-main-background) 90%, var(--color-primary) 10%);
box-shadow: 0 4px 16px color-mix(in srgb, var(--color-text-maxcontrast) 12%, transparent);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
#qortal-account-root .qortal-app-card:hover,
#qortal-account-root .qortal-app-card:focus-visible {
transform: translateY(-2px);
box-shadow: 0 8px 22px color-mix(in srgb, var(--color-primary) 24%, transparent);
border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border));
}
#qortal-account-root .qortal-app-card:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
#qortal-account-root .qortal-app-card__image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
#qortal-account-root .qortal-app-card__title {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
padding: 6px 8px;
font-weight: 760;
font-size: 13px;
color: var(--color-main-text);
background: color-mix(in srgb, var(--color-main-background) 86%, transparent);
border-radius: var(--border-radius-large);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#qortal-account-root .qortal-app-card__desc {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 10px 12px;
background: linear-gradient(
180deg,
color-mix(in srgb, var(--color-main-background) 20%, transparent),
color-mix(in srgb, var(--color-main-background) 92%, var(--color-primary) 8%)
);
color: var(--color-main-text);
font-size: 12px;
line-height: 1.4;
max-height: 48%;
overflow: hidden;
text-overflow: ellipsis;
transform: translateY(100%);
transition: transform 120ms ease-in-out;
}
#qortal-account-root .qortal-app-card:hover .qortal-app-card__desc,
#qortal-account-root .qortal-app-card:focus-visible .qortal-app-card__desc {
transform: translateY(0);
}
#qortal-account-root .qortal-app-card__fallback {
padding: 12px;
text-align: center;
font-weight: 700;
color: var(--color-main-text);
}
#qortal-account-root .qortal-tx-item {
border: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
border-radius: var(--border-radius-large);
background: color-mix(in srgb, var(--color-main-background) 90%, var(--color-background-dark) 10%);
overflow: hidden;
}
#qortal-account-root .qortal-tx-item[open] {
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-border));
}
#qortal-account-root .qortal-tx-item summary {
padding: 10px;
cursor: pointer;
list-style: none;
display: grid;
gap: 4px;
}
#qortal-account-root .qortal-tx-item summary::-webkit-details-marker {
display: none;
}
#qortal-account-root .qortal-tx-title {
font-weight: 700;
font-size: 13px;
line-height: 1.35;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#qortal-account-root .qortal-tx-meta {
font-size: 12px;
color: var(--color-text-maxcontrast);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#qortal-account-root .qortal-tx-detail {
margin: 0;
padding: 10px;
border-top: 1px solid color-mix(in srgb, var(--color-border) 65%, transparent);
background: var(--color-background-dark);
white-space: pre-wrap;
word-break: break-word;
font-size: 12px;
color: var(--color-main-text);
}
#qortal-account-root .qortal-modal {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.55);
display: flex;
align-items: center;
justify-content: center;
z-index: 12000;
padding: 16px;
}
#qortal-account-root .qortal-modal.qortal-hidden {
display: none;
}
#qortal-account-root .qortal-modal__dialog {
width: min(620px, 100%);
max-height: calc(100vh - 32px);
overflow: auto;
background: var(--color-main-background);
border: 1px solid var(--color-border);
border-radius: var(--border-radius-large);
padding: 16px;
}
#qortal-account-root .qortal-modal__actions {
display: flex;
gap: 8px;
justify-content: flex-end;
margin-top: 12px;
}
#qortal-account-root .qortal-wallet-status {
padding: 6px 8px;
border-radius: var(--border-radius-large);
background: var(--color-background-dark);
}
#qortal-account-root .qortal-wallet-status-ok {
color: #2cb67d;
}
#qortal-account-root .qortal-wallet-status-locked {
color: #ff5a5f;
}
#qortal-account-root .qortal-wallet-status-unknown {
color: var(--color-text-maxcontrast);
}
@media (max-width: 980px) {
#qortal-account-root .qortal-page-header {
flex-direction: column;
align-items: stretch;
}
#qortal-account-root .qortal-page-actions {
display: grid;
grid-template-columns: 1fr;
}
#qortal-account-root .qortal-page-actions .button {
width: 100%;
}
}
@media (max-width: 860px) {
#qortal-account-root {
padding: 0 2px 12px;
}
#qortal-account-root .qortal-card {
padding: 12px;
margin: 10px 0;
}
#qortal-account-root .qortal-wallet-summary,
#qortal-account-root .qortal-send-grid,
#qortal-account-root .qortal-grid,
#qortal-account-root .qortal-kv {
grid-template-columns: 1fr;
}
#qortal-account-root .qortal-item-actions .button,
#qortal-account-root .qortal-card-title .button,
#qortal-account-root .qortal-send-grid__actions .button {
width: 100%;
}
#qortal-account-root .qortal-card-title {
flex-direction: column;
align-items: stretch;
}
#qortal-account-root .qortal-send-grid__actions {
flex-direction: column;
}
#qortal-account-root .qortal-app-card {
width: min(100%, 250px);
}
#qortal-account-root .qortal-status {
max-height: 36vh;
}
}