.w2dc-dash {
max-width: 1100px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
color: #1e293b;
font-size: 14px;
line-height: 1.5;
box-sizing: border-box;
}
.w2dc-dash *,
.w2dc-dash *::before,
.w2dc-dash *::after { box-sizing: border-box; } .w2dc-dash__header {
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: center;
justify-content: space-between;
padding: 16px 20px;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 8px;
margin-bottom: 16px;
}
.w2dc-dash__user { display: flex; align-items: center; gap: 12px; }
.w2dc-dash__avatar { border-radius: 50%; }
.w2dc-dash__user-name { font-weight: 600; }
.w2dc-dash__user-email { color: #6b7280; font-size: 13px; }
.w2dc-dash__actions { display: flex; gap: 8px; flex-wrap: wrap; } .w2dc-dash__btn,
a.w2dc-dash__btn,
a.w2dc-dash__btn:link,
a.w2dc-dash__btn:visited {
display: inline-block;
padding: 8px 16px;
font-size: 13px;
font-weight: 500;
color: #1e293b;
background: #fff;
border: 1px solid #d1d5db;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
transition: background 0.12s, border-color 0.12s, color 0.12s;
line-height: 1.4;
}
.w2dc-dash__btn:hover,
.w2dc-dash__btn:focus,
a.w2dc-dash__btn:hover,
a.w2dc-dash__btn:focus,
a.w2dc-dash__btn:active {
background: #f3f4f6;
border-color: #9ca3af;
color: #1e293b;
text-decoration: none;
} .w2dc-dash__btn--primary,
a.w2dc-dash__btn--primary,
a.w2dc-dash__btn--primary:link,
a.w2dc-dash__btn--primary:visited {
background: var(--w2dc-button-primary, #2271b1);
border-color: var(--w2dc-button-primary, #2271b1);
color: var(--w2dc-button-text, #ffffff);
} .w2dc-dash__btn--primary:hover,
.w2dc-dash__btn--primary:focus,
a.w2dc-dash__btn--primary:hover,
a.w2dc-dash__btn--primary:focus,
a.w2dc-dash__btn--primary:active {
background: var(--w2dc-button-secondary, #185a8d);
border-color: var(--w2dc-button-secondary, #185a8d);
color: var(--w2dc-button-text, #ffffff);
}
.w2dc-dash__btn--block { display: block; width: 100%; text-align: center; } .w2dc-dash__tabs {
display: flex;
gap: 2px;
border-bottom: 1px solid #e5e7eb;
margin-bottom: 16px;
} .w2dc-dash__tab,
a.w2dc-dash__tab,
a.w2dc-dash__tab:link,
a.w2dc-dash__tab:visited {
padding: 10px 18px;
color: #6b7280;
background: transparent;
border: 1px solid transparent;
border-bottom: none;
border-radius: 6px 6px 0 0;
cursor: pointer;
text-decoration: none;
font-size: 14px;
font-weight: 500;
transition: color 0.12s, background 0.12s, border-color 0.12s;
position: relative;
top: 1px;
}
.w2dc-dash__tab:hover,
.w2dc-dash__tab:focus,
a.w2dc-dash__tab:hover,
a.w2dc-dash__tab:focus { color: #1e293b; background: #f9fafb; text-decoration: none; }
.w2dc-dash__tab.is-active,
a.w2dc-dash__tab.is-active,
a.w2dc-dash__tab.is-active:hover,
a.w2dc-dash__tab.is-active:focus {
color: var(--w2dc-primary, #2271b1);
background: #fff;
border-color: #e5e7eb;
} .w2dc-dash__body { padding-bottom: 32px; } .w2dc-dash-messages { margin-bottom: 16px; }
.w2dc-dash-msg {
padding: 10px 14px;
border: 1px solid;
border-radius: 6px;
margin-bottom: 8px;
font-size: 13px;
}
.w2dc-dash-msg--success {
background: #ecfdf5;
border-color: #a7f3d0;
color: #065f46;
}
.w2dc-dash-msg--error {
background: #fef2f2;
border-color: #fecaca;
color: #991b1b;
}
.w2dc-dash-msg--info {
background: #eff6ff;
border-color: #bfdbfe;
color: #1e40af;
} .w2dc-dash__anon-section {
margin: 0 1rem 1.5rem;
padding: 1.25rem 1.5rem 1rem;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
} .w2dc-dash__required { color: #dc2626; font-weight: 700; margin-left: 2px; } .w2dc-dash--auth { max-width: 420px; }
.w2dc-dash__auth-card {
padding: 24px 24px 20px;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.w2dc-dash__auth-title {
margin: 0 0 16px 0;
font-size: 20px;
font-weight: 600;
color: #1e293b;
}
.w2dc-dash__auth-links {
margin-top: 14px;
font-size: 13px;
color: #6b7280;
text-align: center;
}
.w2dc-dash__auth-links a,
.w2dc-dash__auth-links a:link,
.w2dc-dash__auth-links a:visited {
color: var(--w2dc-links, #2271b1);
text-decoration: none;
}
.w2dc-dash__auth-links a:hover,
.w2dc-dash__auth-links a:focus,
.w2dc-dash__auth-links a:active {
color: var(--w2dc-links-hover, #185a8d);
text-decoration: underline;
}
.w2dc-dash__auth-divider { color: #d1d5db; padding: 0 6px; } .w2dc-dash__form { display: flex; flex-direction: column; gap: 12px; }
.w2dc-dash__field {
display: flex;
flex-direction: column;
gap: 4px;
}
.w2dc-dash__field > span {
font-size: 13px;
font-weight: 500;
color: #475569;
}
.w2dc-dash__field input[type="text"],
.w2dc-dash__field input[type="email"],
.w2dc-dash__field input[type="password"] {
width: 100%;
padding: 8px 12px;
border: 1px solid #d1d5db;
border-radius: 6px;
background: #fff;
font-size: 14px;
color: #1e293b;
transition: border-color 0.12s, box-shadow 0.12s;
}
.w2dc-dash__field input:focus {
outline: none;
border-color: var(--w2dc-primary, #2271b1);
box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15);
}
.w2dc-dash__field input:disabled {
background: #f3f4f6;
color: #6b7280;
cursor: not-allowed;
}
.w2dc-dash__check {
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
color: #475569;
cursor: pointer;
}
.w2dc-dash__check input { margin: 0; }
.w2dc-dash__hint {
font-size: 12px;
color: #6b7280;
font-style: italic;
margin: 4px 0 0;
}
.w2dc-dash__fieldset {
border: 1px solid #e5e7eb;
border-radius: 6px;
padding: 12px 16px;
margin: 8px 0;
}
.w2dc-dash__fieldset legend {
padding: 0 6px;
font-weight: 600;
color: #1e293b;
font-size: 13px;
} .w2dc-dash__table {
width: 100%;
border-collapse: collapse;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
font-size: 13px;
}
.w2dc-dash__table th,
.w2dc-dash__table td {
padding: 10px 14px;
text-align: left;
border-bottom: 1px solid #f3f4f6;
vertical-align: middle;
}
.w2dc-dash__table th {
background: #f9fafb;
font-weight: 600;
color: #475569;
text-transform: uppercase;
font-size: 11px;
letter-spacing: 0.4px;
}
.w2dc-dash__table tr:last-child td { border-bottom: none; }
a.w2dc-dash__link-title,
a.w2dc-dash__link-title:link,
a.w2dc-dash__link-title:visited {
color: var(--w2dc-links, #2271b1);
text-decoration: none;
font-weight: 500;
}
a.w2dc-dash__link-title:hover,
a.w2dc-dash__link-title:focus,
a.w2dc-dash__link-title:active {
color: var(--w2dc-links-hover, #185a8d);
text-decoration: underline;
}
.w2dc-dash__muted { color: #9ca3af; font-style: italic; } .w2dc-dash__badge {
display: inline-block;
padding: 2px 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.4px;
background: #f3f4f6;
color: #475569;
}
.w2dc-dash__badge--active   { background: #dcfce7; color: #166534; }
.w2dc-dash__badge--publish  { background: #dcfce7; color: #166534; }
.w2dc-dash__badge--expired  { background: #fee2e2; color: #991b1b; }
.w2dc-dash__badge--pending  { background: #fef3c7; color: #92400e; }
.w2dc-dash__badge--draft    { background: #e0e7ff; color: #3730a3; }
.w2dc-dash__badge--unpaid   { background: #fed7aa; color: #9a3412; }
.w2dc-dash__badge--stopped  { background: #f3f4f6; color: #475569; } .w2dc-dash__badge--completed  { background: #dcfce7; color: #166534; }
.w2dc-dash__badge--processing { background: #dbeafe; color: #1e40af; }
.w2dc-dash__badge--on-hold    { background: #fef3c7; color: #92400e; }
.w2dc-dash__badge--cancelled,
.w2dc-dash__badge--failed     { background: #fee2e2; color: #991b1b; }
.w2dc-dash__badge--refunded   { background: #e0e7ff; color: #3730a3; } .w2dc-dash__pagination {
margin-top: 16px;
display: flex;
justify-content: center;
gap: 4px;
}
.w2dc-dash__pagination .page-numbers {
padding: 6px 12px;
border: 1px solid #e5e7eb;
border-radius: 4px;
color: #475569;
text-decoration: none;
font-size: 13px;
}
.w2dc-dash__pagination .page-numbers:hover {
background: #f3f4f6;
color: #1e293b;
}
.w2dc-dash__pagination .page-numbers.current {
background: var(--w2dc-button-primary, #2271b1);
border-color: var(--w2dc-button-primary, #2271b1);
color: var(--w2dc-button-text, #ffffff);
} .w2dc-dash__empty {
padding: 48px 24px;
text-align: center;
background: #f9fafb;
border: 1px dashed #d1d5db;
border-radius: 8px;
color: #6b7280;
}
.w2dc-dash__empty p { margin: 0 0 16px 0; font-size: 15px; } .w2dc-dash__detail {
display: grid;
grid-template-columns: 1fr 280px;
gap: 20px;
align-items: start;
}
@media (max-width: 768px) {
.w2dc-dash__detail { grid-template-columns: 1fr; }
}
.w2dc-dash__detail-main {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 16px 20px;
}
.w2dc-dash__breadcrumb { margin-bottom: 8px; font-size: 13px; }
.w2dc-dash__breadcrumb a { color: #6b7280; text-decoration: none; }
.w2dc-dash__breadcrumb a:hover { color: #1e293b; }
.w2dc-dash__detail-title {
margin: 0 0 16px 0;
font-size: 22px;
font-weight: 600;
color: #1e293b;
}
.w2dc-dash__metabox {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 16px;
}
.w2dc-dash__metabox-title {
margin: 0 0 12px 0;
font-size: 13px;
font-weight: 600;
color: #475569;
text-transform: uppercase;
letter-spacing: 0.4px;
padding-bottom: 8px;
border-bottom: 1px solid #f3f4f6;
}
.w2dc-dash__metabox-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
padding: 8px 0;
font-size: 13px;
}
.w2dc-dash__metabox-row + .w2dc-dash__metabox-row {
border-top: 1px solid #f3f4f6;
}
.w2dc-dash__metabox-label {
color: #6b7280;
font-weight: 500;
} .w2dc-dash--submit {
max-width: 48rem;
margin-left: auto;
margin-right: auto;
}
.w2dc-dash__submit-header {
padding: 1.5rem 1rem 0; margin-bottom: 1.5rem;
}
.w2dc-dash__submit-title {
margin: 0 0 4px 0;
font-size: 24px;
font-weight: 600;
color: #1e293b;
}
.w2dc-dash__submit-userline {
font-size: 13px;
color: #6b7280;
}
.w2dc-dash__submit-userline a,
.w2dc-dash__submit-userline a:link,
.w2dc-dash__submit-userline a:visited {
color: var(--w2dc-links, #2271b1);
text-decoration: none;
}
.w2dc-dash__submit-userline a:hover,
.w2dc-dash__submit-userline a:focus,
.w2dc-dash__submit-userline a:active {
color: var(--w2dc-links-hover, #185a8d);
text-decoration: underline;
} .w2dc-dash-error {
padding: 14px 18px;
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 6px;
color: #991b1b;
font-family: ui-monospace, SFMono-Regular, monospace;
font-size: 12px;
} .w2dc-pwd__row {
display: flex;
gap: 6px;
align-items: stretch;
}
.w2dc-pwd__input {
flex: 1 1 auto;
min-width: 0;
}
.w2dc-pwd__btn {
flex: 0 0 auto;
padding: 6px 10px;
font-size: 12px;
line-height: 1.2;
color: #374151;
background: #f3f4f6;
border: 1px solid #d1d5db;
border-radius: 4px;
cursor: pointer;
}
.w2dc-pwd__btn:hover {
background: #e5e7eb;
}
.w2dc-pwd__meter {
margin-top: 6px;
font-size: 12px;
color: #6b7280;
}
.w2dc-pwd__meter-bar {
width: 100%;
height: 4px;
background: #e5e7eb;
border-radius: 2px;
overflow: hidden;
margin-bottom: 4px;
}
.w2dc-pwd__meter-bar > span {
display: block;
height: 100%;
width: 0;
background: transparent;
transition: width 120ms ease, background 120ms ease;
}
.w2dc-pwd__match {
margin-top: 4px;
font-size: 12px;
} .w2dc-dash__publish-messages {
flex: 1 1 100%;
}
.w2dc-dash__publish-messages > div {
box-sizing: border-box;
width: 100%;
}  .w2dc-dash__metabox-history {
padding: 8px 0;
border-top: 1px solid #f3f4f6;
}
.w2dc-dash__metabox-subtitle {
margin: 0 0 8px;
font-size: 12px;
font-weight: 600;
color: #6b7280;
text-transform: uppercase;
letter-spacing: 0.4px;
}
.w2dc-dash .w2dc-log__list {
list-style: none;
margin: 0;
padding: 0;
}
.w2dc-dash .w2dc-log__item {
padding: 8px 0;
border-bottom: 1px solid #f1f5f9;
}
.w2dc-dash .w2dc-log__item:first-child { padding-top: 0; }
.w2dc-dash .w2dc-log__item:last-child  { border-bottom: 0; padding-bottom: 0; }
.w2dc-dash .w2dc-log__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.w2dc-dash .w2dc-log__when {
color: #6b7280;
font-size: 11px;
white-space: nowrap;
}
.w2dc-dash .w2dc-log__meta {
margin-top: 3px;
color: #475569;
font-size: 12px;
line-height: 1.4;
}
.w2dc-dash .w2dc-log__badge {
display: inline-block;
padding: 2px 10px;
border-radius: 12px;
font-size: 11px;
font-weight: 600;
background: #e5e7eb;
color: #1f2937;
letter-spacing: 0.2px;
}
.w2dc-dash .w2dc-log__event--created            { background: #dbeafe; color: #1e40af; }
.w2dc-dash .w2dc-log__event--activated          { background: #dcfce7; color: #166534; }
.w2dc-dash .w2dc-log__event--renewed            { background: #ccfbf1; color: #0f766e; }
.w2dc-dash .w2dc-log__event--expired            { background: #fee2e2; color: #991b1b; }
.w2dc-dash .w2dc-log__event--expiration_changed { background: #fef3c7; color: #92400e; }
.w2dc-dash .w2dc-log__empty {
margin: 0;
color: #6b7280;
font-style: italic;
font-size: 12px;
} .w2dc-dash__btn--saving {
opacity: 0.75;
pointer-events: none;
}
.w2dc-dash__btn--saving::before {
content: "";
display: inline-block;
width: 13px;
height: 13px;
border: 2px solid rgba(255, 255, 255, 0.35);
border-top-color: #fff;
border-radius: 50%;
margin-right: 8px;
vertical-align: -2px;
animation: w2dc-dash-btn-spin 0.6s linear infinite;
}
@keyframes w2dc-dash-btn-spin {
to { transform: rotate(360deg); }
} .w2dc-dash__th--thumb,
.w2dc-dash__td--thumb {
width: 40px;
padding-right: 0; } .w2dc-dash__table td.w2dc-dash__td--thumb img {
display: block;
width: 40px !important;
height: 40px !important;
max-width: none !important;
object-fit: cover;
border-radius: 4px;
}