Files
dashboards/apps/business/src/pages/SettingsPage.module.css
T
Alireza HassaniandCursor 5e799eddf9 Localize order modals, add dual logos, and improve admin order tools.
Farsi business order/variation UI, light/dark logo upload on business profile, payment order steps, variation editing, super-admin site links, and checkout/auth fixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 00:21:48 +03:30

246 lines
4.2 KiB
CSS

.stack {
display: flex;
flex-direction: column;
gap: 24px;
}
.gatewayCard,
.comingSoonCard {
background: rgba(255, 255, 255, 0.45);
border: 1px solid rgba(148, 163, 184, 0.22);
border-radius: var(--radius);
padding: 20px;
box-shadow: var(--glass-shadow);
transition: var(--card-hover-transition);
}
.gatewayCard[data-card-hover]:hover {
transform: translateY(var(--card-hover-lift));
box-shadow: var(--card-hover-shadow);
}
.gatewayHeader {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
}
.gatewayTitle {
margin: 0 0 4px;
font-size: 15px;
font-weight: 600;
color: var(--text-primary);
}
.gatewayDesc {
margin: 0;
font-size: 13px;
line-height: 1.5;
color: var(--text-secondary);
}
.masterOffHint {
margin: 0;
padding: 10px 12px;
border-radius: var(--radius-sm);
font-size: 12px;
line-height: 1.5;
background: rgba(217, 119, 6, 0.1);
border: 1px solid rgba(217, 119, 6, 0.28);
color: #b45309;
}
.credentials {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 10px 12px;
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid rgba(148, 163, 184, 0.2);
align-items: end;
}
.credentialsInline {
display: flex;
align-items: center;
gap: 10px 12px;
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid rgba(148, 163, 184, 0.2);
}
.credentialsDisabled {
filter: blur(2px);
opacity: 0.55;
pointer-events: none;
user-select: none;
}
.field {
grid-column: span 3;
min-width: 0;
}
.inlineLabel {
flex-shrink: 0;
font-size: 12px;
font-weight: 500;
color: var(--text-secondary);
white-space: nowrap;
}
.inlineInput {
flex: 1;
min-width: 0;
min-height: var(--field-height);
padding: var(--field-padding-y) var(--field-padding-x);
font-size: var(--field-font-size);
line-height: 1.4;
font-family: var(--font-ui);
color: var(--text-primary);
background-color: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(148, 163, 184, 0.35);
border-radius: var(--radius-sm);
outline: none;
box-sizing: border-box;
}
.inlineInput:focus {
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(var(--primary-rgb) / 0.12);
}
.inlineInput:disabled {
opacity: 0.7;
cursor: not-allowed;
}
.hint {
font-weight: 400;
color: var(--text-muted);
font-size: 12px;
}
.passwordWrap {
position: relative;
}
.passwordWrap input {
padding-inline-end: 40px;
width: 100%;
}
.passwordToggle {
position: absolute;
inset-inline-end: 10px;
top: 50%;
transform: translateY(-50%);
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border: none;
background: transparent;
color: var(--text-muted);
cursor: pointer;
border-radius: var(--radius-sm);
}
.passwordToggle:hover:not(:disabled) {
color: var(--text-primary);
background: rgba(148, 163, 184, 0.15);
}
.passwordToggle:disabled {
cursor: not-allowed;
opacity: 0.6;
}
.actionsInline {
grid-column: span 3;
display: flex;
align-items: flex-end;
justify-content: flex-end;
min-width: 0;
}
.saveBtn {
min-height: var(--field-height);
padding: 0 16px;
border: none;
border-radius: var(--radius-sm);
background: var(--primary);
color: #fff;
font-size: var(--field-font-size);
font-weight: 600;
font-family: var(--font-ui);
cursor: pointer;
flex-shrink: 0;
white-space: nowrap;
}
.saveBtn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.comingSoonGrid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.badge {
flex-shrink: 0;
font-size: 11px;
font-weight: 600;
letter-spacing: 0.02em;
text-transform: uppercase;
color: var(--text-muted);
background: rgba(148, 163, 184, 0.18);
border-radius: 999px;
padding: 4px 10px;
}
@media (max-width: 768px) {
.credentials,
.comingSoonGrid {
grid-template-columns: 1fr;
}
.field,
.actionsInline {
grid-column: 1 / -1;
}
.actionsInline {
justify-content: stretch;
}
.actionsInline .saveBtn {
width: 100%;
}
.credentialsInline {
flex-wrap: wrap;
}
.inlineLabel {
width: 100%;
}
.inlineInput {
flex: 1 1 100%;
}
.credentialsInline .saveBtn {
width: 100%;
}
.gatewayHeader {
flex-direction: column;
}
}