| 3049 |
3049 |
|
related innerHTML in static/project-sections.js)
|
| 3050 |
3050 |
|
=========================================== */
|
| 3051 |
3051 |
|
|
| 3052 |
|
- |
/* Image picker row: 120×120 preview + hint + button + status. */
|
| 3053 |
|
- |
.proj-image-row {
|
| 3054 |
|
- |
display: flex;
|
| 3055 |
|
- |
align-items: flex-start;
|
| 3056 |
|
- |
gap: var(--space-5);
|
| 3057 |
|
- |
}
|
| 3058 |
|
- |
.proj-image-preview {
|
|
3052 |
+ |
/* Canonical 120×120 thumbnail/preview box. Used by project image picker,
|
|
3053 |
+ |
item image picker, and anywhere a small square cover preview is needed.
|
|
3054 |
+ |
Pair with .cover-empty for the "No image" placeholder text inside it. */
|
|
3055 |
+ |
.cover-thumb,
|
|
3056 |
+ |
.proj-image-preview,
|
|
3057 |
+ |
.image-preview-thumb {
|
| 3059 |
3058 |
|
width: 120px;
|
| 3060 |
3059 |
|
height: 120px;
|
| 3061 |
3060 |
|
background: var(--border);
|
| 3064 |
3063 |
|
justify-content: center;
|
| 3065 |
3064 |
|
flex-shrink: 0;
|
| 3066 |
3065 |
|
}
|
| 3067 |
|
- |
.proj-image-preview img {
|
|
3066 |
+ |
.cover-thumb img,
|
|
3067 |
+ |
.proj-image-preview img,
|
|
3068 |
+ |
.image-preview-thumb img {
|
| 3068 |
3069 |
|
width: 100%;
|
| 3069 |
3070 |
|
height: 100%;
|
| 3070 |
3071 |
|
object-fit: cover;
|
| 3071 |
3072 |
|
}
|
| 3072 |
|
- |
.proj-image-empty { opacity: 0.4; font-size: 0.8rem; }
|
|
3073 |
+ |
.cover-empty,
|
|
3074 |
+ |
.proj-image-empty,
|
|
3075 |
+ |
.image-preview-empty { opacity: 0.4; font-size: 0.8rem; }
|
|
3076 |
+ |
|
|
3077 |
+ |
/* Companion flex row: thumbnail + form-control column. */
|
|
3078 |
+ |
.cover-row,
|
|
3079 |
+ |
.proj-image-row,
|
|
3080 |
+ |
.image-preview-row {
|
|
3081 |
+ |
display: flex;
|
|
3082 |
+ |
align-items: flex-start;
|
|
3083 |
+ |
gap: var(--space-5);
|
|
3084 |
+ |
}
|
| 3073 |
3085 |
|
.proj-image-hint {
|
| 3074 |
3086 |
|
font-size: 0.85rem;
|
| 3075 |
3087 |
|
opacity: 0.7;
|
| 3160 |
3172 |
|
}
|
| 3161 |
3173 |
|
|
| 3162 |
3174 |
|
/* Multi-creator summary bar (only renders when seller_groups.len() > 1). */
|
| 3163 |
|
- |
.cart-multi-bar {
|
| 3164 |
|
- |
margin-bottom: var(--space-5);
|
| 3165 |
|
- |
padding: 1rem 1.25rem;
|
| 3166 |
|
- |
background: var(--surface-muted);
|
| 3167 |
|
- |
border: 1px solid var(--border-color);
|
| 3168 |
|
- |
display: flex;
|
| 3169 |
|
- |
justify-content: space-between;
|
| 3170 |
|
- |
align-items: center;
|
| 3171 |
|
- |
flex-wrap: wrap;
|
| 3172 |
|
- |
gap: var(--space-3);
|
| 3173 |
|
- |
}
|
|
3175 |
+ |
/* (cart-multi-bar aliased into .stack-row canonical; surface-muted card variant) */
|
| 3174 |
3176 |
|
.cart-multi-bar__note {
|
| 3175 |
3177 |
|
opacity: 0.7;
|
| 3176 |
3178 |
|
margin-left: var(--space-2);
|
| 3206 |
3208 |
|
gap: 0.25rem;
|
| 3207 |
3209 |
|
}
|
| 3208 |
3210 |
|
.cart-pwyw-symbol { font-size: 0.9rem; }
|
| 3209 |
|
- |
.cart-pwyw-input {
|
| 3210 |
|
- |
width: 80px;
|
| 3211 |
|
- |
padding: 0.25rem;
|
| 3212 |
|
- |
font-size: 0.9rem;
|
| 3213 |
|
- |
text-align: right;
|
| 3214 |
|
- |
}
|
|
3211 |
+ |
/* (cart-pwyw-input sized by alias group; width + numeric align via .w-80 .input--numeric in template) */
|
| 3215 |
3212 |
|
|
| 3216 |
3213 |
|
/* Compact action button used in cart/wishlist tables. */
|
| 3217 |
3214 |
|
/* (cart-row-btn aliased into .small recipe near top) */
|
| 3245 |
3242 |
|
|
| 3246 |
3243 |
|
/* Checkout form within a seller group. */
|
| 3247 |
3244 |
|
.cart-promo-row { margin-bottom: var(--space-2); }
|
| 3248 |
|
- |
.cart-promo-input {
|
| 3249 |
|
- |
padding: 0.4rem 0.6rem;
|
| 3250 |
|
- |
font-size: 0.85rem;
|
| 3251 |
|
- |
width: 180px;
|
| 3252 |
|
- |
}
|
|
3245 |
+ |
/* (cart-promo-input padded by alias group; width via .w-180 in template) */
|
| 3253 |
3246 |
|
.cart-checkout-share {
|
| 3254 |
3247 |
|
display: flex;
|
| 3255 |
3248 |
|
align-items: center;
|
| 7397 |
7390 |
|
margin-bottom: 1rem;
|
| 7398 |
7391 |
|
}
|
| 7399 |
7392 |
|
|
| 7400 |
|
- |
.type-card {
|
|
7393 |
+ |
/* Canonical selectable-card primitive. One recipe; per-context size modifiers.
|
|
7394 |
+ |
Used by wizard type pickers, pricing-model pickers, content-choice pickers,
|
|
7395 |
+ |
monetization-mode pickers — anywhere a radio-like choice is rendered as a card. */
|
|
7396 |
+ |
.card--selectable,
|
|
7397 |
+ |
.type-card,
|
|
7398 |
+ |
.pricing-card,
|
|
7399 |
+ |
.content-choice-card {
|
| 7401 |
7400 |
|
cursor: pointer;
|
| 7402 |
7401 |
|
display: block;
|
| 7403 |
7402 |
|
}
|
| 7404 |
|
- |
|
|
7403 |
+ |
.card--selectable input[type="radio"],
|
|
7404 |
+ |
.card--selectable input[type="checkbox"],
|
| 7405 |
7405 |
|
.type-card input[type="radio"],
|
| 7406 |
|
- |
.type-card input[type="checkbox"] {
|
|
7406 |
+ |
.type-card input[type="checkbox"],
|
|
7407 |
+ |
.pricing-card input[type="radio"],
|
|
7408 |
+ |
.content-choice-card input[type="radio"] {
|
| 7407 |
7409 |
|
position: absolute;
|
| 7408 |
7410 |
|
opacity: 0;
|
| 7409 |
7411 |
|
pointer-events: none;
|
| 7410 |
7412 |
|
}
|
| 7411 |
7413 |
|
|
| 7412 |
|
- |
.type-card-inner {
|
|
7414 |
+ |
.card--selectable-inner,
|
|
7415 |
+ |
.type-card-inner,
|
|
7416 |
+ |
.pricing-card-inner,
|
|
7417 |
+ |
.content-choice-card-inner {
|
| 7413 |
7418 |
|
display: flex;
|
| 7414 |
7419 |
|
flex-direction: column;
|
| 7415 |
7420 |
|
align-items: center;
|
| 7422 |
7427 |
|
transition: border-color 0.15s, background 0.15s;
|
| 7423 |
7428 |
|
min-height: 60px;
|
| 7424 |
7429 |
|
}
|
|
7430 |
+ |
/* Variant: column-aligned content (text-heavy pricing cards). */
|
|
7431 |
+ |
.pricing-card-inner,
|
|
7432 |
+ |
.card--selectable.is-text-heavy .card--selectable-inner {
|
|
7433 |
+ |
align-items: stretch;
|
|
7434 |
+ |
text-align: left;
|
|
7435 |
+ |
padding: 1.25rem;
|
|
7436 |
+ |
}
|
| 7425 |
7437 |
|
|
|
7438 |
+ |
.card--selectable input:checked + .card--selectable-inner,
|
|
7439 |
+ |
.card--selectable.is-selected .card--selectable-inner,
|
| 7426 |
7440 |
|
.type-card input:checked + .type-card-inner,
|
| 7427 |
|
- |
.type-card.is-selected .type-card-inner {
|
| 7428 |
|
- |
/* `:checked +` covers the radio-input pattern; `.is-selected` covers
|
| 7429 |
|
- |
templates that mark the wrapper directly. */
|
|
7441 |
+ |
.type-card.is-selected .type-card-inner,
|
|
7442 |
+ |
.pricing-card input:checked + .pricing-card-inner,
|
|
7443 |
+ |
.pricing-card.is-selected .pricing-card-inner,
|
|
7444 |
+ |
.content-choice-card input:checked + .content-choice-card-inner,
|
|
7445 |
+ |
.content-choice-card.is-selected .content-choice-card-inner {
|
| 7430 |
7446 |
|
border-color: var(--highlight);
|
| 7431 |
7447 |
|
background: var(--highlight-faint);
|
| 7432 |
7448 |
|
}
|
| 7433 |
7449 |
|
|
| 7434 |
|
- |
.type-card:hover .type-card-inner {
|
|
7450 |
+ |
.card--selectable:hover .card--selectable-inner,
|
|
7451 |
+ |
.type-card:hover .type-card-inner,
|
|
7452 |
+ |
.pricing-card:hover .pricing-card-inner,
|
|
7453 |
+ |
.content-choice-card:hover .content-choice-card-inner {
|
| 7435 |
7454 |
|
background: var(--surface-muted);
|
| 7436 |
7455 |
|
}
|
| 7437 |
7456 |
|
|
| 7438 |
|
- |
.type-card-label {
|
|
7457 |
+ |
.card--selectable-label,
|
|
7458 |
+ |
.type-card-label,
|
|
7459 |
+ |
.pricing-card-label,
|
|
7460 |
+ |
.content-choice-card-label {
|
| 7439 |
7461 |
|
font-weight: bold;
|
| 7440 |
7462 |
|
font-size: 0.9rem;
|
| 7441 |
7463 |
|
}
|
| 7442 |
7464 |
|
|
| 7443 |
|
- |
.type-card-desc {
|
|
7465 |
+ |
.card--selectable-desc,
|
|
7466 |
+ |
.type-card-desc,
|
|
7467 |
+ |
.pricing-card-desc,
|
|
7468 |
+ |
.content-choice-card-desc {
|
| 7444 |
7469 |
|
font-size: 0.75rem;
|
| 7445 |
7470 |
|
color: var(--text-muted);
|
| 7446 |
7471 |
|
margin-top: 0.25rem;
|
| 7729 |
7754 |
|
/* ===========================================
|
| 7730 |
7755 |
|
PAYMENTS TAB (replaces inline styles in user_payments.html)
|
| 7731 |
7756 |
|
=========================================== */
|
| 7732 |
|
- |
.stack-row {
|
|
7757 |
+ |
/* Canonical "stack row" — title-on-left + actions-on-right header bar.
|
|
7758 |
+ |
One primitive; per-context modifiers handle gap, wrap, alignment, margins.
|
|
7759 |
+ |
Aliases below cover existing per-tab class names (kept as JS hooks). */
|
|
7760 |
+ |
.stack-row,
|
|
7761 |
+ |
.content-header,
|
|
7762 |
+ |
.user-media-header,
|
|
7763 |
+ |
.transactions-header,
|
|
7764 |
+ |
.analytics-range-bar,
|
|
7765 |
+ |
.cart-multi-bar {
|
| 7733 |
7766 |
|
display: flex;
|
| 7734 |
7767 |
|
justify-content: space-between;
|
| 7735 |
7768 |
|
align-items: center;
|
| 7738 |
7771 |
|
}
|
| 7739 |
7772 |
|
.stack-row--tight { gap: var(--space-3); flex-wrap: nowrap; }
|
| 7740 |
7773 |
|
.stack-row--top { align-items: flex-start; }
|
|
7774 |
+ |
.stack-row--bordered,
|
|
7775 |
+ |
.transactions-header {
|
|
7776 |
+ |
margin-bottom: var(--space-4);
|
|
7777 |
+ |
padding-bottom: var(--space-3);
|
|
7778 |
+ |
border-bottom: 1px solid var(--border);
|
|
7779 |
+ |
}
|
|
7780 |
+ |
.content-header,
|
|
7781 |
+ |
.user-media-header,
|
|
7782 |
+ |
.analytics-range-bar { margin-bottom: var(--space-4); }
|
|
7783 |
+ |
.cart-multi-bar {
|
|
7784 |
+ |
margin-bottom: var(--space-5);
|
|
7785 |
+ |
padding: 1rem 1.25rem;
|
|
7786 |
+ |
background: var(--surface-muted);
|
|
7787 |
+ |
border: 1px solid var(--border-color);
|
|
7788 |
+ |
}
|
| 7741 |
7789 |
|
|
| 7742 |
7790 |
|
/* Canonical list row (flex, gap, padding, bottom border). Aliases below cover
|
| 7743 |
7791 |
|
the per-tab variants — they exist as JS hooks but share the same look. */
|
| 7863 |
7911 |
|
text-overflow: ellipsis;
|
| 7864 |
7912 |
|
}
|
| 7865 |
7913 |
|
|
| 7866 |
|
- |
.transactions-header {
|
| 7867 |
|
- |
display: flex;
|
| 7868 |
|
- |
justify-content: space-between;
|
| 7869 |
|
- |
align-items: center;
|
| 7870 |
|
- |
margin-bottom: var(--space-4);
|
| 7871 |
|
- |
padding-bottom: var(--space-3);
|
| 7872 |
|
- |
border-bottom: 1px solid var(--border);
|
| 7873 |
|
- |
}
|
|
7914 |
+ |
/* (transactions-header aliased into .stack-row.stack-row--bordered) */
|
| 7874 |
7915 |
|
.transactions-title { font-size: 1.2rem; }
|
| 7875 |
7916 |
|
|
| 7876 |
7917 |
|
/* ===========================================
|
| 8020 |
8061 |
|
/* ===========================================
|
| 8021 |
8062 |
|
PROJECT CONTENT TAB (replaces inline styles in project_content.html)
|
| 8022 |
8063 |
|
=========================================== */
|
| 8023 |
|
- |
.content-header {
|
| 8024 |
|
- |
display: flex;
|
| 8025 |
|
- |
justify-content: space-between;
|
| 8026 |
|
- |
align-items: center;
|
| 8027 |
|
- |
margin-bottom: var(--space-4);
|
| 8028 |
|
- |
}
|
|
8064 |
+ |
/* (content-header aliased into .stack-row canonical) */
|
| 8029 |
8065 |
|
|
| 8030 |
8066 |
|
.empty-state--lg { padding: var(--space-6) var(--space-4); }
|
| 8031 |
8067 |
|
|
| 8081 |
8117 |
|
display: block;
|
| 8082 |
8118 |
|
margin-bottom: var(--space-1);
|
| 8083 |
8119 |
|
}
|
| 8084 |
|
- |
.bulk-form-input {
|
| 8085 |
|
- |
width: 120px;
|
| 8086 |
|
- |
padding: var(--space-1) var(--space-2);
|
| 8087 |
|
- |
}
|
| 8088 |
|
- |
.bulk-form-input--wide { width: 260px; }
|
|
8120 |
+ |
/* (bulk-form-input: use .input--xs .w-120 in templates; --wide uses .w-260) */
|
| 8089 |
8121 |
|
|
| 8090 |
8122 |
|
/* Sortable table column header */
|
| 8091 |
8123 |
|
.sortable-th { cursor: pointer; }
|
| 8104 |
8136 |
|
.col-32 { width: 32%; }
|
| 8105 |
8137 |
|
.col-45 { width: 45%; }
|
| 8106 |
8138 |
|
|
|
8139 |
+ |
/* Pixel-width utilities for inputs and narrow fixed-width controls.
|
|
8140 |
+ |
Use on form inputs that can't be sized by their parent column. */
|
|
8141 |
+ |
.w-80 { width: 80px; }
|
|
8142 |
+ |
.w-100 { width: 100px; }
|
|
8143 |
+ |
.w-120 { width: 120px; }
|
|
8144 |
+ |
.w-180 { width: 180px; }
|
|
8145 |
+ |
.w-220 { width: 220px; }
|
|
8146 |
+ |
.w-260 { width: 260px; }
|
|
8147 |
+ |
.w-full { width: 100%; }
|
|
8148 |
+ |
.maxw-320 { max-width: 320px; }
|
|
8149 |
+ |
|
|
8150 |
+ |
/* Canonical input shape modifiers. One base form-input look (defined globally
|
|
8151 |
+ |
at line ~365 input[type], textarea, select) plus these size + feature variants.
|
|
8152 |
+ |
Apply alongside the per-tab class which acts as a JS hook. */
|
|
8153 |
+ |
.input--xs {
|
|
8154 |
+ |
padding: 0.25rem 0.4rem;
|
|
8155 |
+ |
font-size: 0.85rem;
|
|
8156 |
+ |
}
|
|
8157 |
+ |
.input--sm {
|
|
8158 |
+ |
padding: 0.3rem 0.5rem;
|
|
8159 |
+ |
font-size: 0.85rem;
|
|
8160 |
+ |
}
|
|
8161 |
+ |
.input--mono { font-family: var(--font-mono); }
|
|
8162 |
+ |
.input--upper { text-transform: uppercase; }
|
|
8163 |
+ |
.input--numeric { text-align: right; }
|
|
8164 |
+ |
|
|
8165 |
+ |
|
| 8107 |
8166 |
|
.order-arrow-btn {
|
| 8108 |
8167 |
|
padding: 0.1rem 0.3rem;
|
| 8109 |
8168 |
|
font-size: 0.7rem;
|
| 8159 |
8218 |
|
/* ===========================================
|
| 8160 |
8219 |
|
ITEM DETAILS TAB (replaces inline styles in item_details.html)
|
| 8161 |
8220 |
|
=========================================== */
|
| 8162 |
|
- |
.image-preview-row {
|
| 8163 |
|
- |
display: flex;
|
| 8164 |
|
- |
align-items: flex-start;
|
| 8165 |
|
- |
gap: var(--space-5);
|
| 8166 |
|
- |
}
|
| 8167 |
|
- |
.image-preview-thumb {
|
| 8168 |
|
- |
width: 120px;
|
| 8169 |
|
- |
height: 120px;
|
| 8170 |
|
- |
background: var(--border);
|
| 8171 |
|
- |
display: flex;
|
| 8172 |
|
- |
align-items: center;
|
| 8173 |
|
- |
justify-content: center;
|
| 8174 |
|
- |
flex-shrink: 0;
|
| 8175 |
|
- |
}
|
| 8176 |
|
- |
.image-preview-empty {
|
| 8177 |
|
- |
opacity: 0.4;
|
| 8178 |
|
- |
font-size: 0.8rem;
|
| 8179 |
|
- |
}
|
|
8221 |
+ |
/* (.image-preview-row/-thumb/-empty aliased into canonical .cover-* recipe near top) */
|
| 8180 |
8222 |
|
|
| 8181 |
8223 |
|
/* Compact button utility (small icon-side actions) */
|
| 8182 |
8224 |
|
.btn-compact { padding: 0.4rem 0.8rem; }
|
| 8339 |
8381 |
|
text-overflow: ellipsis;
|
| 8340 |
8382 |
|
white-space: nowrap;
|
| 8341 |
8383 |
|
}
|
| 8342 |
|
- |
.batch-queue-title-input {
|
| 8343 |
|
- |
width: 100%;
|
| 8344 |
|
- |
padding: 0.25rem 0.4rem;
|
| 8345 |
|
- |
font-size: 0.85rem;
|
| 8346 |
|
- |
}
|
| 8347 |
|
- |
.batch-queue-type-select {
|
| 8348 |
|
- |
padding: 0.25rem;
|
| 8349 |
|
- |
font-size: 0.85rem;
|
| 8350 |
|
- |
}
|
|
8384 |
+ |
/* (batch-queue inputs/selects sized by alias group; width via .w-full in template) */
|
| 8351 |
8385 |
|
|
| 8352 |
8386 |
|
/* (Batch progress cell uses canonical .upload-progress-row / .progress-bar-container--slim --rounded / .progress-bar--highlight / .upload-progress-pct.) */
|
| 8353 |
8387 |
|
|
| 8635 |
8669 |
|
grid-column: 1 / -1;
|
| 8636 |
8670 |
|
}
|
| 8637 |
8671 |
|
|
| 8638 |
|
- |
.proj-promo-code-input {
|
| 8639 |
|
- |
text-transform: uppercase;
|
| 8640 |
|
- |
}
|
|
8672 |
+ |
/* (proj-promo-code-input: use .input--upper) */
|
| 8641 |
8673 |
|
|
| 8642 |
8674 |
|
.proj-promo-actions {
|
| 8643 |
8675 |
|
margin-top: 1rem;
|
| 8739 |
8771 |
|
.proj-synckit-label {
|
| 8740 |
8772 |
|
display: block; font-size: 0.85rem; margin-bottom: var(--space-1);
|
| 8741 |
8773 |
|
}
|
| 8742 |
|
- |
.proj-synckit-name-input {
|
| 8743 |
|
- |
padding: var(--space-2); font-size: 0.9rem; width: 220px;
|
| 8744 |
|
- |
}
|
|
8774 |
+ |
/* (proj-synckit-name-input: use .input--sm .w-220) */
|
| 8745 |
8775 |
|
.proj-synckit-code { font-size: 0.8rem; }
|
| 8746 |
8776 |
|
.proj-synckit-code--wrap { font-size: 0.8rem; word-break: break-all; }
|
| 8747 |
8777 |
|
.proj-synckit-code--selectable { font-size: 0.85rem; word-break: break-all; user-select: all; }
|
| 8760 |
8790 |
|
}
|
| 8761 |
8791 |
|
.proj-synckit-status-active { color: var(--success); }
|
| 8762 |
8792 |
|
.proj-synckit-status-inactive { color: var(--error); }
|
| 8763 |
|
- |
.proj-synckit-slug-input {
|
| 8764 |
|
- |
padding: 0.3rem; font-size: 0.85rem; width: 120px;
|
| 8765 |
|
- |
}
|
|
8793 |
+ |
/* (proj-synckit-slug-input: use .input--sm .w-120) */
|
| 8766 |
8794 |
|
.proj-synckit-new-key {
|
| 8767 |
8795 |
|
padding: 0.75rem; background: var(--light-background);
|
| 8768 |
8796 |
|
border: 1px solid var(--border-color); margin-top: var(--space-2);
|
| 8957 |
8985 |
|
.promo-codes-edit-label {
|
| 8958 |
8986 |
|
font-size: 0.8rem; display: block; margin-bottom: var(--space-1);
|
| 8959 |
8987 |
|
}
|
| 8960 |
|
- |
.promo-codes-edit-input {
|
| 8961 |
|
- |
padding: 0.3rem; font-size: 0.85rem;
|
| 8962 |
|
- |
}
|
| 8963 |
|
- |
.promo-codes-edit-input--num { width: 100px; }
|
|
8988 |
+ |
/* (promo-codes-edit-input: use .input--sm; --num adds .w-100) */
|
| 8964 |
8989 |
|
.promo-codes-edit-save { font-size: 0.85rem; }
|
| 8965 |
8990 |
|
.promo-codes-bulk-row { margin-top: var(--space-3); }
|
| 8966 |
8991 |
|
.promo-codes-bulk-btn { font-size: 0.85rem; opacity: 0.7; }
|
| 8969 |
8994 |
|
USER MEDIA TAB (replaces inline styles in partials/tabs/user_media.html)
|
| 8970 |
8995 |
|
=========================================== */
|
| 8971 |
8996 |
|
|
| 8972 |
|
- |
.user-media-header {
|
| 8973 |
|
- |
display: flex;
|
| 8974 |
|
- |
justify-content: space-between;
|
| 8975 |
|
- |
align-items: center;
|
| 8976 |
|
- |
}
|
|
8997 |
+ |
/* (user-media-header aliased into .stack-row canonical) */
|
| 8977 |
8998 |
|
|
| 8978 |
8999 |
|
.user-media-intro {
|
| 8979 |
9000 |
|
margin-bottom: 1rem;
|
| 9297 |
9318 |
|
margin-top: 0.75rem;
|
| 9298 |
9319 |
|
}
|
| 9299 |
9320 |
|
|
| 9300 |
|
- |
.proj-members-input-full {
|
| 9301 |
|
- |
width: 100%;
|
| 9302 |
|
- |
}
|
| 9303 |
|
- |
|
| 9304 |
|
- |
.proj-members-input-split {
|
| 9305 |
|
- |
width: 80px;
|
| 9306 |
|
- |
}
|
|
9321 |
+ |
/* (proj-members-input-full: use .w-full; -split uses .w-80) */
|
| 9307 |
9322 |
|
|
| 9308 |
9323 |
|
.proj-members-add-result {
|
| 9309 |
9324 |
|
margin-top: var(--space-2);
|
| 9359 |
9374 |
|
font-size: 0.8125rem;
|
| 9360 |
9375 |
|
margin-bottom: var(--space-1);
|
| 9361 |
9376 |
|
}
|
| 9362 |
|
- |
.placement-list-select,
|
| 9363 |
|
- |
.placement-list-input {
|
| 9364 |
|
- |
font-family: var(--font-body);
|
| 9365 |
|
- |
padding: 0.375rem 0.5rem;
|
| 9366 |
|
- |
}
|
| 9367 |
|
- |
.placement-list-input {
|
| 9368 |
|
- |
width: 100px;
|
| 9369 |
|
- |
}
|
|
9377 |
+ |
/* (placement-list inputs/selects: use .input--sm .w-100 in template) */
|
| 9370 |
9378 |
|
.placement-list-add {
|
| 9371 |
9379 |
|
font-family: var(--font-mono);
|
| 9372 |
9380 |
|
}
|
| 9424 |
9432 |
|
.user-synckit-status-active { color: var(--success); }
|
| 9425 |
9433 |
|
.user-synckit-status-inactive { color: var(--error); }
|
| 9426 |
9434 |
|
|
| 9427 |
|
- |
.user-synckit-edit-input {
|
| 9428 |
|
- |
padding: 0.3rem;
|
| 9429 |
|
- |
font-size: 0.85rem;
|
| 9430 |
|
- |
width: 120px;
|
| 9431 |
|
- |
}
|
| 9432 |
|
- |
.user-synckit-edit-select {
|
| 9433 |
|
- |
padding: 0.3rem;
|
| 9434 |
|
- |
font-size: 0.85rem;
|
| 9435 |
|
- |
}
|
|
9435 |
+ |
/* (user-synckit-edit-input: use .input--sm .w-120; -select uses .input--sm) */
|
| 9436 |
9436 |
|
.user-synckit-edit-btn {
|
| 9437 |
9437 |
|
padding: 0.15rem 0.4rem;
|
| 9438 |
9438 |
|
font-size: 0.75rem;
|
| 9782 |
9782 |
|
=========================================== */
|
| 9783 |
9783 |
|
|
| 9784 |
9784 |
|
.analytics-export-link { margin-left: var(--space-4); }
|
| 9785 |
|
- |
.analytics-range-bar {
|
| 9786 |
|
- |
display: flex;
|
| 9787 |
|
- |
justify-content: space-between;
|
| 9788 |
|
- |
align-items: center;
|
| 9789 |
|
- |
margin-bottom: var(--space-4);
|
| 9790 |
|
- |
}
|
|
9785 |
+ |
/* (analytics-range-bar aliased into .stack-row canonical) */
|
| 9791 |
9786 |
|
.analytics-range-heading {
|
| 9792 |
9787 |
|
font-size: 1.1rem;
|
| 9793 |
9788 |
|
margin: 0;
|
| 10011 |
10006 |
|
min-height: 400px;
|
| 10012 |
10007 |
|
resize: vertical;
|
| 10013 |
10008 |
|
}
|
| 10014 |
|
- |
.blog-editor-input {
|
| 10015 |
|
- |
width: 100%;
|
| 10016 |
|
- |
padding: var(--space-2);
|
| 10017 |
|
- |
}
|
|
10009 |
+ |
/* (blog-editor-input: use .input--sm .w-full) */
|
| 10018 |
10010 |
|
.blog-editor-slug-spinner { font-size: 0.85rem; }
|
| 10019 |
10011 |
|
.blog-editor-media-btn {
|
| 10020 |
10012 |
|
margin-top: var(--space-2);
|
| 10322 |
10314 |
|
/* Compact row-action button (wishlist Add to Cart / Remove, etc.). */
|
| 10323 |
10315 |
|
/* (library-row-btn aliased into .small recipe near top) */
|
| 10324 |
10316 |
|
|
| 10325 |
|
- |
/* Filter input above the purchases table. */
|
| 10326 |
|
- |
.library-filter-input {
|
| 10327 |
|
- |
width: 100%;
|
| 10328 |
|
- |
max-width: 320px;
|
| 10329 |
|
- |
padding: var(--space-2);
|
| 10330 |
|
- |
font-size: 0.9rem;
|
| 10331 |
|
- |
}
|
|
10317 |
+ |
/* (library-filter-input: use .input--sm .w-full .maxw-320) */
|
| 10332 |
10318 |
|
.library-filter-wrap { margin-bottom: var(--space-4); }
|
| 10333 |
10319 |
|
|
| 10334 |
10320 |
|
/* Purchases table "Open" action link + context menu trigger group. */
|
| 10863 |
10849 |
|
/* Faded "Following" follow-button state. */
|
| 10864 |
10850 |
|
.follow-btn.is-following { opacity: 0.7; }
|
| 10865 |
10851 |
|
|
| 10866 |
|
- |
/* Item-edit price input. */
|
| 10867 |
|
- |
.item-edit-price-input { width: 80px; }
|
|
10852 |
+ |
/* (item-edit-price-input: use .w-80 .input--numeric) */
|
| 10868 |
10853 |
|
|
| 10869 |
10854 |
|
/* Project blog footer. */
|
| 10870 |
10855 |
|
.project-blog-footer {
|