Files
cozsweet-frontend-nextjs/src/app/subscription/components/subscription-dialog.module.css
T
Codex b34d3a3a67
Docker Image / Build and Push Docker Image (push) Successful in 2m2s
feat(subscription): separate selection from payment and add issue feedback
(cherry picked from commit fe9d31146b)
2026-07-27 11:42:49 +08:00

188 lines
3.1 KiB
CSS

.scrim {
position: fixed;
inset: 0;
z-index: 90;
display: flex;
align-items: center;
justify-content: center;
padding:
calc(20px + var(--app-safe-top, 0px))
calc(16px + var(--app-safe-right, 0px))
calc(20px + var(--app-safe-bottom, 0px))
calc(16px + var(--app-safe-left, 0px));
}
.panel {
width: min(100%, 420px);
max-height: min(86dvh, 720px);
overflow-y: auto;
border: 1px solid rgba(255, 95, 174, 0.24);
border-radius: 24px;
background: #ffffff;
color: #23171d;
box-shadow: 0 28px 80px rgba(42, 20, 31, 0.3);
}
.content {
display: flex;
flex-direction: column;
gap: 16px;
padding: clamp(20px, 5vw, 28px);
}
.title {
margin: 0;
color: #23171d;
font-size: clamp(20px, 5vw, 24px);
font-weight: 900;
line-height: 1.2;
}
.description {
margin: 0;
color: #65545d;
font-size: 14px;
line-height: 1.65;
}
.link {
color: #db327f;
font-weight: 800;
text-decoration: underline;
text-underline-offset: 2px;
}
.reasonList {
display: flex;
flex-direction: column;
gap: 8px;
margin: 0;
padding: 0;
border: 0;
}
.reasonOption {
display: flex;
min-height: 48px;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 11px 13px;
border: 1px solid #eadce3;
border-radius: 14px;
background: #fffafb;
color: #403139;
cursor: pointer;
font-size: 14px;
font-weight: 700;
line-height: 1.35;
}
.reasonOption:has(input:checked) {
border-color: #f657a0;
background: #fff0f7;
box-shadow: 0 0 0 2px rgba(246, 87, 160, 0.12);
}
.reasonOption input {
flex: 0 0 auto;
width: 20px;
height: 20px;
accent-color: #f657a0;
}
.field {
display: flex;
flex-direction: column;
gap: 8px;
color: #403139;
font-size: 14px;
font-weight: 800;
}
.field textarea {
width: 100%;
min-height: 112px;
resize: vertical;
border: 1px solid #dccbd4;
border-radius: 14px;
background: #ffffff;
color: #23171d;
padding: 12px;
font: inherit;
font-weight: 500;
line-height: 1.5;
}
.field textarea:focus-visible {
border-color: #f657a0;
outline: 2px solid rgba(246, 87, 160, 0.18);
}
.error {
margin: 0;
color: #b42318;
font-size: 13px;
font-weight: 700;
line-height: 1.4;
}
.actions {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 2px;
}
.secondaryButton,
.primaryButton {
min-height: 46px;
border-radius: 999px;
padding: 10px 18px;
cursor: pointer;
font: inherit;
font-size: 15px;
font-weight: 900;
}
.secondaryButton {
border: 1px solid #d9c7d0;
background: #f7f1f4;
color: #55434c;
}
.primaryButton {
border: 0;
background: linear-gradient(135deg, #ff67b3 0%, #f657a0 100%);
color: #ffffff;
box-shadow: 0 8px 20px rgba(246, 87, 160, 0.26);
}
.secondaryButton:disabled,
.primaryButton:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.srOnly {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
@media (max-width: 360px) {
.content {
padding: 18px;
}
.reasonOption {
font-size: 13px;
}
}