1707 lines
35 KiB
CSS
1707 lines
35 KiB
CSS
@import '@dukang/shared-ui/base.css';
|
|
|
|
html, body, #root {
|
|
overflow-x: hidden;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
}
|
|
|
|
/* ── Partner auth ── */
|
|
.partner-auth-page {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 48px var(--space-page) var(--space-page);
|
|
background-color: var(--color-background);
|
|
background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png");
|
|
}
|
|
|
|
.partner-auth-page--quick {
|
|
background-image:
|
|
radial-gradient(at 100% 0%, rgba(166, 29, 36, 0.03) 0, transparent 50%),
|
|
radial-gradient(at 0% 100%, rgba(255, 191, 0, 0.03) 0, transparent 50%);
|
|
}
|
|
|
|
.partner-auth-brand {
|
|
text-align: center;
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.partner-auth-logo-circle {
|
|
width: 80px;
|
|
height: 80px;
|
|
margin: 0 auto 16px;
|
|
border-radius: 50%;
|
|
background: var(--color-heritage-red);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-shadow: 0 4px 20px rgba(166, 29, 36, 0.05);
|
|
}
|
|
|
|
.partner-auth-logo-circle .material-symbols-outlined {
|
|
color: #fff;
|
|
font-size: 36px;
|
|
font-variation-settings: 'FILL' 1;
|
|
}
|
|
|
|
.partner-auth-title {
|
|
font-family: var(--font-headline);
|
|
font-size: 32px;
|
|
font-weight: 700;
|
|
color: var(--color-heritage-red);
|
|
letter-spacing: -0.02em;
|
|
}
|
|
|
|
.partner-auth-subtitle {
|
|
font-family: var(--font-headline);
|
|
font-size: 18px;
|
|
color: var(--color-subtle-gray);
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.partner-auth-card {
|
|
width: 100%;
|
|
max-width: 400px;
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-lg);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid var(--color-surface-container-highest);
|
|
}
|
|
|
|
.partner-auth-card-title {
|
|
font-family: var(--font-headline);
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
text-align: center;
|
|
margin-bottom: var(--space-lg);
|
|
color: var(--color-ink-black);
|
|
}
|
|
|
|
.partner-input-wrap {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
background: var(--color-background);
|
|
border: 1px solid transparent;
|
|
border-radius: var(--radius-md);
|
|
transition: box-shadow 0.2s;
|
|
}
|
|
|
|
.partner-input-wrap:focus-within {
|
|
box-shadow: 0 0 0 2px rgba(166, 29, 36, 0.2);
|
|
}
|
|
|
|
.partner-input-icon {
|
|
position: absolute;
|
|
left: 16px;
|
|
color: var(--color-subtle-gray);
|
|
font-size: 20px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.partner-input {
|
|
width: 100%;
|
|
padding: 16px 16px 16px 44px;
|
|
border: none;
|
|
background: transparent;
|
|
font-size: 14px;
|
|
color: var(--color-on-surface);
|
|
}
|
|
|
|
.partner-input:focus { outline: none; }
|
|
|
|
.partner-input-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.partner-input-row .partner-input-wrap { flex: 1; }
|
|
|
|
.partner-code-btn {
|
|
flex-shrink: 0;
|
|
padding: 16px;
|
|
border: 1px solid rgba(226, 190, 188, 0.2);
|
|
border-radius: var(--radius-md);
|
|
background: var(--color-surface-container-low);
|
|
color: var(--color-heritage-red);
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.partner-code-btn:disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.partner-auth-divider {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
margin: var(--space-md) 0;
|
|
}
|
|
|
|
.partner-auth-divider::before,
|
|
.partner-auth-divider::after {
|
|
content: '';
|
|
flex: 1;
|
|
height: 1px;
|
|
background: rgba(226, 190, 188, 0.2);
|
|
}
|
|
|
|
.partner-auth-divider span {
|
|
font-size: 12px;
|
|
color: var(--color-subtle-gray);
|
|
}
|
|
|
|
.partner-checkbox-row {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
margin-top: var(--space-md);
|
|
font-size: 12px;
|
|
color: var(--color-on-surface-variant);
|
|
}
|
|
|
|
.partner-checkbox-row input { margin-top: 2px; accent-color: var(--color-heritage-red); }
|
|
|
|
.partner-auth-footer {
|
|
margin-top: var(--space-lg);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
color: var(--color-subtle-gray);
|
|
}
|
|
|
|
.partner-auth-footer .material-symbols-outlined { font-size: 16px; }
|
|
|
|
.partner-glass-card {
|
|
width: 100%;
|
|
max-width: 384px;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-md);
|
|
box-shadow: 0 4px 20px rgba(166, 29, 36, 0.05);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: var(--space-md);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.partner-quick-badge {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
background: rgba(255, 191, 0, 0.1);
|
|
color: var(--color-aged-amber);
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
padding: 4px 12px;
|
|
border-bottom-left-radius: var(--radius-md);
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.partner-quick-avatar {
|
|
width: 80px;
|
|
height: 80px;
|
|
border-radius: 50%;
|
|
background: var(--color-surface-container-low);
|
|
border: 4px solid #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.partner-quick-avatar .material-symbols-outlined {
|
|
font-size: 40px;
|
|
color: var(--color-subtle-gray);
|
|
font-variation-settings: 'FILL' 1;
|
|
}
|
|
|
|
.partner-btn-primary {
|
|
width: 100%;
|
|
padding: 16px;
|
|
border: none;
|
|
border-radius: var(--radius-md);
|
|
background: var(--color-heritage-red);
|
|
color: var(--color-on-primary);
|
|
font-family: var(--font-headline);
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
box-shadow: 0 4px 12px rgba(166, 29, 36, 0.2);
|
|
transition: transform 0.1s, opacity 0.2s;
|
|
}
|
|
|
|
.partner-btn-primary:active { transform: scale(0.98); }
|
|
|
|
.partner-btn-ghost {
|
|
width: 100%;
|
|
padding: 12px;
|
|
border: 1px solid transparent;
|
|
border-radius: var(--radius-md);
|
|
background: transparent;
|
|
color: var(--color-on-surface-variant);
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
text-align: center;
|
|
}
|
|
|
|
.partner-btn-outline {
|
|
flex: 1;
|
|
height: 48px;
|
|
border: 1px solid var(--color-outline);
|
|
border-radius: var(--radius-md);
|
|
background: transparent;
|
|
color: var(--color-on-surface);
|
|
font-family: var(--font-headline);
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-link {
|
|
display: block;
|
|
text-align: center;
|
|
margin-top: 16px;
|
|
color: var(--color-heritage-red);
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* ── Home dashboard ── */
|
|
.partner-home {
|
|
padding-bottom: 96px;
|
|
overflow-x: hidden;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.partner-home-body {
|
|
padding: var(--space-md) var(--space-page) var(--space-lg);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-lg);
|
|
max-width: 100%;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.partner-home-header {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 50;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 var(--space-page);
|
|
height: 56px;
|
|
background: var(--color-surface-container-low);
|
|
box-shadow: var(--shadow-card);
|
|
}
|
|
|
|
.partner-home-header-actions {
|
|
position: absolute;
|
|
right: var(--space-page);
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
}
|
|
|
|
.partner-notif-btn {
|
|
position: relative;
|
|
padding: 8px;
|
|
border: none;
|
|
background: none;
|
|
border-radius: 50%;
|
|
cursor: pointer;
|
|
color: var(--color-on-surface-variant);
|
|
}
|
|
|
|
.partner-notif-dot {
|
|
position: absolute;
|
|
top: 6px;
|
|
right: 6px;
|
|
width: 8px;
|
|
height: 8px;
|
|
background: var(--color-heritage-red);
|
|
border-radius: 50%;
|
|
border: 2px solid var(--color-surface);
|
|
}
|
|
|
|
.partner-revenue-card {
|
|
position: relative;
|
|
overflow: hidden;
|
|
background: linear-gradient(135deg, #a61d24 0%, #820012 100%);
|
|
border-radius: var(--radius-md);
|
|
padding: 24px;
|
|
color: #fff;
|
|
box-shadow: 0 8px 24px rgba(166, 29, 36, 0.25);
|
|
}
|
|
|
|
.partner-revenue-card::before {
|
|
content: '';
|
|
position: absolute;
|
|
right: -48px;
|
|
top: -48px;
|
|
width: 192px;
|
|
height: 192px;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
border-radius: 50%;
|
|
filter: blur(24px);
|
|
}
|
|
|
|
.partner-revenue-label {
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
opacity: 0.8;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
|
|
.partner-revenue-amount {
|
|
font-family: var(--font-headline);
|
|
font-size: clamp(28px, 8vw, 36px);
|
|
font-weight: 700;
|
|
margin-top: 8px;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.partner-revenue-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 16px;
|
|
margin-top: 24px;
|
|
padding-top: 24px;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.partner-bento {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: var(--space-gutter);
|
|
min-width: 0;
|
|
}
|
|
|
|
/* Stitch: 移动端单列堆叠,仅平板及以上并排 */
|
|
@media (min-width: 768px) {
|
|
.partner-bento { grid-template-columns: 7fr 5fr; }
|
|
}
|
|
|
|
.partner-bento-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-md);
|
|
box-shadow: var(--shadow-card);
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.partner-bento-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
.partner-store-stats {
|
|
display: flex;
|
|
gap: 12px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-store-stat {
|
|
flex: 1;
|
|
min-width: 0;
|
|
background: var(--color-surface-container-low);
|
|
border-radius: 8px;
|
|
padding: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.partner-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.partner-dot--green {
|
|
background: var(--color-success-green);
|
|
box-shadow: 0 0 8px rgba(45, 106, 79, 0.4);
|
|
}
|
|
|
|
.partner-dot--red {
|
|
background: var(--color-heritage-red);
|
|
box-shadow: 0 0 8px rgba(166, 29, 36, 0.4);
|
|
}
|
|
|
|
.partner-quick-actions {
|
|
display: flex;
|
|
gap: 12px;
|
|
overflow-x: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
scrollbar-width: none;
|
|
padding-bottom: 4px;
|
|
margin: 0 calc(-1 * var(--space-md));
|
|
padding-left: var(--space-md);
|
|
padding-right: var(--space-md);
|
|
}
|
|
|
|
.partner-quick-actions::-webkit-scrollbar { display: none; }
|
|
|
|
.partner-quick-action {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex-shrink: 0;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
color: inherit;
|
|
}
|
|
|
|
.partner-quick-action-icon {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
}
|
|
|
|
.partner-quick-action-icon--red { background: #fef2f2; color: var(--color-heritage-red); }
|
|
.partner-quick-action-icon--amber { background: #fffbeb; color: var(--color-aged-amber); }
|
|
.partner-quick-action-icon--green { background: #ecfdf5; color: var(--color-success-green); }
|
|
.partner-quick-action-icon--blue { background: #eff6ff; color: var(--color-status-blue); }
|
|
|
|
.partner-quick-action-label {
|
|
font-size: 10px;
|
|
font-weight: 500;
|
|
color: var(--color-on-surface-variant);
|
|
}
|
|
|
|
.partner-quick-badge-count {
|
|
position: absolute;
|
|
top: -4px;
|
|
right: -4px;
|
|
width: 20px;
|
|
height: 20px;
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 2px solid #fff;
|
|
}
|
|
|
|
.partner-order-summary-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: var(--space-md);
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-order-summary-header h2 {
|
|
flex-shrink: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-order-summary-header a {
|
|
flex-shrink: 0;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.partner-order-stats {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 8px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-order-stat {
|
|
background: var(--color-card);
|
|
padding: 12px;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
border-left: 4px solid var(--color-aged-amber);
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-order-stat--blue { border-left-color: var(--color-status-blue); }
|
|
.partner-order-stat--green { border-left-color: var(--color-success-green); }
|
|
|
|
.partner-expansion-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-md);
|
|
box-shadow: var(--shadow-card);
|
|
}
|
|
|
|
.partner-expansion-split {
|
|
display: flex;
|
|
border-bottom: 1px solid rgba(226, 190, 188, 0.2);
|
|
padding-bottom: var(--space-md);
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
.partner-expansion-split > div {
|
|
flex: 1;
|
|
}
|
|
|
|
.partner-expansion-split > div + div {
|
|
padding-left: 16px;
|
|
border-left: 1px solid rgba(226, 190, 188, 0.2);
|
|
}
|
|
|
|
.partner-form-error {
|
|
margin: 0 20px 12px;
|
|
padding: 10px 12px;
|
|
border-radius: 8px;
|
|
background: var(--color-error-container);
|
|
color: var(--color-error);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.partner-store-name-list {
|
|
list-style: none;
|
|
margin: 0 0 16px;
|
|
padding: 0;
|
|
border-bottom: 1px solid rgba(226, 190, 188, 0.15);
|
|
padding-bottom: 12px;
|
|
}
|
|
|
|
.partner-store-name-list li {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px 0;
|
|
gap: 12px;
|
|
}
|
|
|
|
.partner-leaderboard-section {
|
|
padding-top: 12px;
|
|
}
|
|
|
|
.partner-leaderboard-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.partner-leaderboard-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 10px 0;
|
|
border-bottom: 1px solid rgba(226, 190, 188, 0.1);
|
|
}
|
|
|
|
.partner-leaderboard-row--compact {
|
|
padding: 8px 0;
|
|
}
|
|
|
|
.partner-leaderboard-rank {
|
|
width: 28px;
|
|
height: 28px;
|
|
border-radius: 50%;
|
|
background: var(--color-surface-container-high);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.partner-leaderboard-row:first-of-type .partner-leaderboard-rank {
|
|
background: var(--color-aged-amber);
|
|
color: #fff;
|
|
}
|
|
|
|
.partner-leaderboard-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-leaderboard-stat {
|
|
text-align: right;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── Partner bottom tabbar ── */
|
|
.app-tabbar {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
align-items: stretch;
|
|
justify-items: stretch;
|
|
padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px));
|
|
}
|
|
|
|
.app-tabbar-item {
|
|
flex: 1;
|
|
min-width: 0;
|
|
width: 100%;
|
|
padding: 4px 2px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.app-tabbar-label {
|
|
max-width: 100%;
|
|
text-align: center;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* ── Store create stepper ── */
|
|
.partner-page-sticky {
|
|
min-height: 100vh;
|
|
padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
|
|
background: var(--color-surface);
|
|
}
|
|
|
|
.partner-stepper {
|
|
--step-circle-size: 32px;
|
|
padding: 16px var(--space-page) 0;
|
|
margin-bottom: var(--space-lg);
|
|
}
|
|
|
|
.partner-stepper-inner {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.partner-stepper-line {
|
|
position: absolute;
|
|
top: calc(var(--step-circle-size) / 2);
|
|
left: calc(100% / 6);
|
|
width: calc(100% * 2 / 3);
|
|
height: 2px;
|
|
background: var(--color-surface-container-highest);
|
|
z-index: 0;
|
|
transform: translateY(-50%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.partner-stepper-line-fill {
|
|
height: 100%;
|
|
background: var(--color-heritage-red);
|
|
transition: width 0.4s;
|
|
}
|
|
|
|
.partner-step {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
z-index: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.partner-step-circle {
|
|
width: var(--step-circle-size);
|
|
height: var(--step-circle-size);
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
background: var(--color-surface-container-highest);
|
|
color: var(--color-subtle-gray);
|
|
flex-shrink: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.partner-step-circle--sm {
|
|
--step-circle-size: 24px;
|
|
width: 24px;
|
|
height: 24px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.partner-step-circle--active {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
box-shadow: 0 4px 12px rgba(166, 29, 36, 0.2), 0 0 0 4px rgba(166, 29, 36, 0.1);
|
|
}
|
|
|
|
.partner-step-circle--done {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
}
|
|
|
|
.partner-step-label {
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
color: var(--color-subtle-gray);
|
|
}
|
|
|
|
.partner-step-label--active {
|
|
color: var(--color-heritage-red);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.partner-form-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-md);
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(226, 190, 188, 0.1);
|
|
}
|
|
|
|
.partner-section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
.partner-section-bar {
|
|
width: 4px;
|
|
height: 20px;
|
|
background: var(--color-heritage-red);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.partner-field {
|
|
margin-bottom: var(--space-md);
|
|
}
|
|
|
|
.partner-field label {
|
|
display: block;
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
color: var(--color-on-surface-variant);
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.partner-field-input {
|
|
display: flex;
|
|
align-items: center;
|
|
border: 1px solid rgba(226, 190, 188, 0.3);
|
|
border-radius: 8px;
|
|
background: var(--color-surface-container-low);
|
|
padding: 0 12px;
|
|
min-height: 48px;
|
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
}
|
|
|
|
.partner-field-input:focus-within {
|
|
border-color: var(--color-heritage-red);
|
|
box-shadow: 0 0 0 1px rgba(166, 29, 36, 0.1);
|
|
}
|
|
|
|
.partner-field-input input,
|
|
.partner-field-input textarea {
|
|
flex: 1;
|
|
border: none;
|
|
background: transparent;
|
|
padding: 12px 0;
|
|
font-size: 14px;
|
|
color: var(--color-on-surface);
|
|
}
|
|
|
|
.partner-field-input input:focus,
|
|
.partner-field-input textarea:focus { outline: none; }
|
|
|
|
.partner-field-input .material-symbols-outlined {
|
|
color: var(--color-subtle-gray);
|
|
font-size: 20px;
|
|
margin-right: 8px;
|
|
}
|
|
|
|
.partner-field textarea {
|
|
width: 100%;
|
|
padding: 12px;
|
|
border: 1px solid rgba(226, 190, 188, 0.3);
|
|
border-radius: 8px;
|
|
background: var(--color-surface-container-low);
|
|
font-size: 14px;
|
|
resize: none;
|
|
}
|
|
|
|
.partner-field textarea:focus {
|
|
outline: none;
|
|
border-color: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-info-banner {
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
padding: var(--space-md);
|
|
border-radius: var(--radius-md);
|
|
background: rgba(166, 29, 36, 0.05);
|
|
border: 1px solid rgba(166, 29, 36, 0.1);
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.partner-upload-dashed {
|
|
width: 100%;
|
|
border: none;
|
|
background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='12' ry='12' stroke='%23A61D244D' stroke-width='2' stroke-dasharray='8%2c 8'/%3e%3c/svg%3e");
|
|
border-radius: 12px;
|
|
background-color: var(--color-surface-container-low);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12px;
|
|
cursor: pointer;
|
|
color: var(--color-primary);
|
|
padding: 24px;
|
|
}
|
|
|
|
.partner-upload-dashed--wide { aspect-ratio: 16 / 9; }
|
|
|
|
.partner-upload-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 8px;
|
|
}
|
|
|
|
.partner-upload-grid .partner-upload-dashed {
|
|
aspect-ratio: 1;
|
|
padding: 12px;
|
|
font-size: 10px;
|
|
}
|
|
|
|
.partner-sticky-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 100%;
|
|
max-width: 480px;
|
|
background: var(--color-card);
|
|
box-shadow: 0 -4px 20px rgba(166, 29, 36, 0.05);
|
|
padding: 16px var(--space-page) calc(16px + env(safe-area-inset-bottom, 0px));
|
|
z-index: 60;
|
|
display: flex;
|
|
gap: 8px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.partner-sticky-footer .partner-btn-primary {
|
|
flex: 2;
|
|
min-height: 48px;
|
|
padding: 12px 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
}
|
|
.partner-sticky-footer .partner-btn-outline { flex: 1; }
|
|
|
|
/* ── Store list ── */
|
|
.partner-store-page {
|
|
padding-bottom: 96px;
|
|
}
|
|
|
|
.partner-page-title-block {
|
|
padding: 0 var(--space-page) 8px;
|
|
}
|
|
|
|
.partner-page-title-block h2 {
|
|
font-family: var(--font-headline);
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
color: var(--color-ink-black);
|
|
}
|
|
|
|
.partner-sticky-filter {
|
|
position: sticky;
|
|
top: 56px;
|
|
z-index: 40;
|
|
background: rgba(250, 249, 247, 0.95);
|
|
backdrop-filter: blur(8px);
|
|
padding: 16px var(--space-page);
|
|
border-bottom: 1px solid var(--color-surface-container);
|
|
}
|
|
|
|
.partner-search {
|
|
position: relative;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.partner-search .material-symbols-outlined {
|
|
position: absolute;
|
|
left: 12px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
color: var(--color-subtle-gray);
|
|
font-size: 20px;
|
|
}
|
|
|
|
.partner-search input {
|
|
width: 100%;
|
|
height: 44px;
|
|
padding: 0 16px 0 40px;
|
|
border: none;
|
|
border-radius: var(--radius-md);
|
|
background: var(--color-surface-container-low);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.partner-search input:focus {
|
|
outline: none;
|
|
box-shadow: 0 0 0 2px rgba(166, 29, 36, 0.2);
|
|
}
|
|
|
|
.partner-chips {
|
|
display: flex;
|
|
gap: 8px;
|
|
overflow-x: auto;
|
|
scrollbar-width: none;
|
|
padding-bottom: 4px;
|
|
}
|
|
|
|
.partner-chips::-webkit-scrollbar { display: none; }
|
|
|
|
.partner-chip {
|
|
flex-shrink: 0;
|
|
padding: 6px 16px;
|
|
border: none;
|
|
border-radius: var(--radius-full);
|
|
background: var(--color-surface-container-highest);
|
|
color: var(--color-on-surface-variant);
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-chip.active {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
}
|
|
|
|
.partner-store-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: 16px;
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(166, 29, 36, 0.05);
|
|
display: block;
|
|
color: inherit;
|
|
}
|
|
|
|
.partner-store-card--dim { opacity: 0.7; }
|
|
|
|
.partner-store-card-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.partner-status-pill {
|
|
padding: 4px 8px;
|
|
border-radius: var(--radius-full);
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.partner-status-pill--open {
|
|
background: rgba(45, 106, 79, 0.1);
|
|
color: var(--color-success-green);
|
|
}
|
|
|
|
.partner-status-pill--paused {
|
|
background: rgba(255, 191, 0, 0.1);
|
|
color: var(--color-secondary);
|
|
}
|
|
|
|
.partner-status-pill--closed {
|
|
background: var(--color-surface-container);
|
|
color: var(--color-subtle-gray);
|
|
}
|
|
|
|
.partner-store-card-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding-top: 16px;
|
|
border-top: 1px solid var(--color-surface-container);
|
|
}
|
|
|
|
.partner-store-card-actions button {
|
|
flex: 1;
|
|
padding: 8px;
|
|
border-radius: 8px;
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-fab-link {
|
|
display: block;
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
}
|
|
|
|
/* ── Store detail ── */
|
|
.partner-detail-page {
|
|
padding-bottom: 96px;
|
|
}
|
|
|
|
.partner-status-toggle {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 8px;
|
|
}
|
|
|
|
.partner-status-toggle button {
|
|
padding: 8px;
|
|
border-radius: 8px;
|
|
border: 1px solid var(--color-outline-variant);
|
|
background: transparent;
|
|
color: var(--color-on-surface-variant);
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-status-toggle button.active {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
border-color: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-cover {
|
|
position: relative;
|
|
aspect-ratio: 16 / 9;
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
margin-bottom: 24px;
|
|
border: 1px solid rgba(226, 190, 188, 0.2);
|
|
background: var(--color-surface-container);
|
|
}
|
|
|
|
.partner-cover .app-image,
|
|
.partner-cover img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.partner-photo-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 12px;
|
|
}
|
|
|
|
.partner-photo-add {
|
|
aspect-ratio: 1;
|
|
border: 2px dashed var(--color-outline-variant);
|
|
border-radius: 8px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
color: var(--color-subtle-gray);
|
|
background: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-save-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 100%;
|
|
max-width: 480px;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(12px);
|
|
border-top: 1px solid rgba(226, 190, 188, 0.2);
|
|
padding: 16px var(--space-page) calc(16px + env(safe-area-inset-bottom, 0px));
|
|
z-index: 50;
|
|
display: flex;
|
|
gap: 16px;
|
|
}
|
|
|
|
.partner-save-footer button {
|
|
height: 48px;
|
|
border-radius: var(--radius-md);
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-save-cancel {
|
|
flex: 1;
|
|
border: 1px solid var(--color-outline-variant);
|
|
background: transparent;
|
|
color: var(--color-on-surface-variant);
|
|
}
|
|
|
|
.partner-save-submit {
|
|
flex: 2;
|
|
border: none;
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
box-shadow: 0 4px 12px rgba(166, 29, 36, 0.2);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.partner-toast {
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
background: rgba(0, 0, 0, 0.75);
|
|
color: #fff;
|
|
padding: 12px 24px;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
z-index: 200;
|
|
}
|
|
|
|
/* ── Orders ── */
|
|
.partner-orders-page {
|
|
padding-bottom: 32px;
|
|
}
|
|
|
|
.partner-segment {
|
|
display: flex;
|
|
background: var(--color-surface-container-highest);
|
|
border-radius: var(--radius-md);
|
|
padding: 4px;
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
}
|
|
|
|
.partner-segment button {
|
|
flex: 1;
|
|
padding: 8px;
|
|
border: none;
|
|
border-radius: 8px;
|
|
font-family: var(--font-headline);
|
|
font-size: 16px;
|
|
background: transparent;
|
|
color: var(--color-on-surface-variant);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.partner-segment button.active {
|
|
background: var(--color-card);
|
|
color: var(--color-heritage-red);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
.partner-filter-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
overflow-x: auto;
|
|
scrollbar-width: none;
|
|
padding: 0 var(--space-page) 8px;
|
|
}
|
|
|
|
.partner-filter-row::-webkit-scrollbar { display: none; }
|
|
|
|
.partner-filter-tab {
|
|
flex-shrink: 0;
|
|
padding: 4px 16px;
|
|
border: none;
|
|
background: none;
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
color: var(--color-on-surface-variant);
|
|
cursor: pointer;
|
|
border-bottom: 2px solid transparent;
|
|
}
|
|
|
|
.partner-filter-tab.active {
|
|
color: var(--color-heritage-red);
|
|
border-bottom-color: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-order-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
padding: 16px;
|
|
margin: 0 var(--space-page) 16px;
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(166, 29, 36, 0.05);
|
|
display: block;
|
|
color: inherit;
|
|
}
|
|
|
|
.partner-order-card-top {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.partner-order-product {
|
|
display: flex;
|
|
gap: 16px;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.partner-order-product-img {
|
|
width: 80px;
|
|
height: 80px;
|
|
border-radius: 8px;
|
|
background: var(--color-surface-container);
|
|
object-fit: cover;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.partner-benefit-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
margin-top: 8px;
|
|
padding: 2px 8px;
|
|
background: rgba(255, 191, 0, 0.1);
|
|
border: 1px solid rgba(255, 191, 0, 0.2);
|
|
border-radius: 4px;
|
|
color: var(--color-aged-amber);
|
|
font-family: var(--font-label);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.partner-order-address {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding: 12px 0;
|
|
border-top: 1px solid var(--color-surface-container-low);
|
|
font-size: 14px;
|
|
color: var(--color-on-surface-variant);
|
|
}
|
|
|
|
.partner-order-commission {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 8px;
|
|
padding-top: 12px;
|
|
border-top: 1px solid var(--color-surface-container-low);
|
|
text-align: center;
|
|
}
|
|
|
|
.partner-order-commission > div:nth-child(2) {
|
|
border-left: 1px solid var(--color-surface-container-low);
|
|
border-right: 1px solid var(--color-surface-container-low);
|
|
}
|
|
|
|
/* ── Order detail ── */
|
|
.partner-order-detail { padding-bottom: 88px; }
|
|
|
|
.partner-status-banner {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
padding: 24px var(--space-page);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.partner-status-banner::before {
|
|
content: '';
|
|
position: absolute;
|
|
right: -20%;
|
|
top: -20%;
|
|
width: 256px;
|
|
height: 256px;
|
|
border: 20px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.partner-timeline {
|
|
margin: var(--space-md) var(--space-page);
|
|
padding: var(--space-page);
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
position: relative;
|
|
}
|
|
|
|
.partner-timeline-line {
|
|
position: absolute;
|
|
left: 23px;
|
|
top: 28px;
|
|
bottom: 28px;
|
|
width: 2px;
|
|
background: var(--color-surface-container-highest);
|
|
}
|
|
|
|
.partner-timeline-item {
|
|
display: flex;
|
|
gap: 16px;
|
|
padding-bottom: 24px;
|
|
position: relative;
|
|
}
|
|
|
|
.partner-timeline-item:last-child { padding-bottom: 0; }
|
|
|
|
.partner-timeline-dot {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
z-index: 1;
|
|
}
|
|
|
|
.partner-timeline-dot--done {
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
}
|
|
|
|
.partner-timeline-dot--done .material-symbols-outlined { font-size: 14px; font-variation-settings: 'FILL' 1; }
|
|
|
|
.partner-timeline-dot--current {
|
|
background: var(--color-heritage-red);
|
|
border: 4px solid #ffdad7;
|
|
}
|
|
|
|
.partner-timeline-dot--current::after {
|
|
content: '';
|
|
width: 8px;
|
|
height: 8px;
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.partner-timeline-dot--pending {
|
|
background: var(--color-surface-container-highest);
|
|
}
|
|
|
|
.partner-timeline-dot--pending::after {
|
|
content: '';
|
|
width: 8px;
|
|
height: 8px;
|
|
background: var(--color-subtle-gray);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.partner-detail-section {
|
|
margin: var(--space-md) var(--space-page);
|
|
padding: var(--space-page);
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
}
|
|
|
|
.partner-detail-section--accent {
|
|
border-left: 4px solid var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-info-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
padding: 6px 0;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.partner-order-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 100%;
|
|
max-width: 480px;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(12px);
|
|
border-top: 1px solid var(--color-surface-container-highest);
|
|
padding: 16px var(--space-page) calc(16px + env(safe-area-inset-bottom, 0px));
|
|
z-index: 50;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.partner-dev-tools {
|
|
padding: 8px var(--space-page);
|
|
border-top: 1px dashed var(--color-outline-variant);
|
|
background: var(--color-surface-container-low);
|
|
}
|
|
|
|
.partner-dev-tools summary {
|
|
font-size: 11px;
|
|
color: var(--color-subtle-gray);
|
|
cursor: pointer;
|
|
padding: 4px 0;
|
|
}
|
|
|
|
.partner-dev-tools button {
|
|
width: 100%;
|
|
margin-top: 4px;
|
|
padding: 6px;
|
|
font-size: 11px;
|
|
border: 1px solid var(--color-outline-variant);
|
|
border-radius: 4px;
|
|
background: var(--color-card);
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* ── Center ── */
|
|
.partner-center-page { padding-bottom: 96px; }
|
|
|
|
.partner-profile-card {
|
|
margin: var(--space-md) var(--space-page);
|
|
padding: var(--space-md);
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(166, 29, 36, 0.05);
|
|
display: flex;
|
|
gap: var(--space-md);
|
|
align-items: center;
|
|
}
|
|
|
|
.partner-profile-avatar {
|
|
width: 64px;
|
|
height: 64px;
|
|
border-radius: 50%;
|
|
background: var(--color-surface-container-low);
|
|
border: 2px solid rgba(166, 29, 36, 0.1);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.partner-profile-avatar .material-symbols-outlined {
|
|
font-size: 32px;
|
|
color: var(--color-subtle-gray);
|
|
font-variation-settings: 'FILL' 1;
|
|
}
|
|
|
|
.partner-role-badge {
|
|
background: var(--color-secondary-container);
|
|
color: var(--color-on-secondary-container);
|
|
padding: 4px 8px;
|
|
border-radius: 8px;
|
|
font-family: var(--font-label);
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.partner-bills-banner {
|
|
margin: 0 var(--space-page) 12px;
|
|
padding: 16px;
|
|
background: rgba(166, 29, 36, 0.05);
|
|
border: 1px solid rgba(166, 29, 36, 0.1);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.partner-bills-banner-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.partner-bills-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
background: rgba(166, 29, 36, 0.1);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-finance-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 12px;
|
|
margin: 0 var(--space-page);
|
|
}
|
|
|
|
.partner-finance-card {
|
|
background: var(--color-card);
|
|
padding: var(--space-md);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(166, 29, 36, 0.05);
|
|
}
|
|
|
|
.partner-finance-card--hero {
|
|
grid-column: span 2;
|
|
background: var(--color-heritage-red);
|
|
color: #fff;
|
|
box-shadow: 0 8px 24px rgba(166, 29, 36, 0.25);
|
|
}
|
|
|
|
.partner-menu-section {
|
|
margin: var(--space-lg) var(--space-page) 0;
|
|
}
|
|
|
|
.partner-menu-card {
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(166, 29, 36, 0.05);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.partner-menu-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--color-surface-container);
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.partner-menu-item:last-child { border-bottom: none; }
|
|
|
|
.partner-menu-item-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.partner-menu-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
background: rgba(166, 29, 36, 0.05);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-logout-btn {
|
|
width: calc(100% - 40px);
|
|
margin: var(--space-lg) var(--space-page);
|
|
padding: 16px;
|
|
border: none;
|
|
border-radius: var(--radius-md);
|
|
background: var(--color-card);
|
|
box-shadow: var(--shadow-card);
|
|
color: var(--color-error);
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
/* ── Bills page ── */
|
|
.partner-bills-page {
|
|
min-height: 100vh;
|
|
padding-bottom: calc(160px + env(safe-area-inset-bottom, 0px));
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.partner-bill-stepper {
|
|
--step-circle-size: 24px;
|
|
padding: 0 var(--space-page);
|
|
margin: var(--space-md) 0 var(--space-lg);
|
|
}
|
|
|
|
.partner-bill-stepper .partner-stepper-inner {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.partner-bill-stepper .partner-step {
|
|
flex: 1;
|
|
}
|
|
|
|
.partner-bill-card {
|
|
margin: 0 var(--space-page) var(--space-md);
|
|
background: var(--color-card);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid rgba(226, 190, 188, 0.1);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.partner-bill-card-bar {
|
|
height: 8px;
|
|
background: var(--color-heritage-red);
|
|
}
|
|
|
|
.partner-bill-amount {
|
|
text-align: center;
|
|
padding: 24px 0;
|
|
border-top: 1px dashed rgba(226, 190, 188, 0.3);
|
|
border-bottom: 1px dashed rgba(226, 190, 188, 0.3);
|
|
margin: 16px 0;
|
|
}
|
|
|
|
.partner-bill-amount .amount-xl { font-size: 28px; }
|
|
|
|
.partner-bill-footer {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 100%;
|
|
max-width: 480px;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
backdrop-filter: blur(10px);
|
|
border-top: 1px solid rgba(226, 190, 188, 0.2);
|
|
padding: 16px var(--space-page) calc(16px + env(safe-area-inset-bottom, 0px));
|
|
z-index: 60;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.partner-bill-footer .partner-btn-primary {
|
|
width: 100%;
|
|
min-height: 48px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
}
|