9198 lines
175 KiB
CSS
9198 lines
175 KiB
CSS
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html {
|
|
text-size-adjust: 100%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-width: 320px;
|
|
min-height: 100vh;
|
|
background: var(--color-bg);
|
|
color: var(--color-text);
|
|
font-family: var(--font-family);
|
|
font-size: var(--font-size-md);
|
|
line-height: var(--line-height-base);
|
|
text-rendering: optimizeLegibility;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
textarea,
|
|
select {
|
|
font: inherit;
|
|
}
|
|
|
|
button {
|
|
cursor: pointer;
|
|
}
|
|
|
|
button:disabled,
|
|
input:disabled,
|
|
textarea:disabled,
|
|
select:disabled {
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
:focus {
|
|
outline: none;
|
|
}
|
|
|
|
:focus-visible {
|
|
box-shadow: var(--focus-ring);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
p {
|
|
margin: 0;
|
|
}
|
|
|
|
h1 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-2xl);
|
|
font-weight: var(--font-weight-bold);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-xl);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
h3 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.text-page-title {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-2xl);
|
|
font-weight: var(--font-weight-bold);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.text-section-title {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.text-card-title {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.text-body {
|
|
color: var(--color-text);
|
|
font-size: var(--font-size-md);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.text-secondary {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.text-caption {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.app-shell {
|
|
display: grid;
|
|
grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
transition: grid-template-columns var(--transition-base);
|
|
}
|
|
|
|
.app-shell--collapsed {
|
|
grid-template-columns: 76px minmax(0, 1fr);
|
|
}
|
|
|
|
.sidebar {
|
|
background: var(--color-surface);
|
|
border-right: 1px solid var(--color-border);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-5);
|
|
height: 100vh;
|
|
padding: var(--space-6) var(--space-4);
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.brand-block {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: center;
|
|
padding: 0 0 var(--space-2);
|
|
}
|
|
|
|
.brand-logo {
|
|
display: block;
|
|
flex: 0 0 auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.brand-logo--full {
|
|
height: 50px;
|
|
width: 148px;
|
|
}
|
|
|
|
.brand-logo--compact {
|
|
display: none;
|
|
height: 34px;
|
|
width: 34px;
|
|
}
|
|
|
|
.brand-copy {
|
|
min-width: 0;
|
|
}
|
|
|
|
.brand-mark {
|
|
color: var(--color-text-strong);
|
|
font-size: 18px;
|
|
font-weight: var(--font-weight-bold);
|
|
line-height: var(--line-height-tight);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.brand-subtitle {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.side-nav {
|
|
align-content: start;
|
|
display: grid;
|
|
flex: 1;
|
|
gap: var(--space-5);
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
margin-right: calc(var(--space-4) * -1);
|
|
padding-right: calc(var(--space-4) - 2px);
|
|
scrollbar-color: transparent transparent;
|
|
scrollbar-width: thin;
|
|
}
|
|
|
|
.side-nav::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.side-nav::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.side-nav::-webkit-scrollbar-thumb {
|
|
background: transparent;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.sidebar:hover .side-nav {
|
|
scrollbar-color: rgba(37, 99, 235, 0.24) transparent;
|
|
}
|
|
|
|
.sidebar:hover .side-nav::-webkit-scrollbar-thumb {
|
|
background: rgba(37, 99, 235, 0.18);
|
|
}
|
|
|
|
.side-nav:hover::-webkit-scrollbar-thumb {
|
|
background: rgba(37, 99, 235, 0.22);
|
|
}
|
|
|
|
.side-nav::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(37, 99, 235, 0.34);
|
|
}
|
|
|
|
.side-nav-section p {
|
|
color: var(--color-text-subtle);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
letter-spacing: 0;
|
|
margin-bottom: var(--space-2);
|
|
padding: 0 var(--space-3);
|
|
}
|
|
|
|
.side-nav-group-toggle {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-strong);
|
|
cursor: pointer;
|
|
display: flex;
|
|
font: inherit;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-3);
|
|
margin-bottom: var(--space-1);
|
|
min-height: 42px;
|
|
padding: 10px var(--space-3);
|
|
text-align: left;
|
|
transition: background var(--transition-fast), color var(--transition-fast);
|
|
width: 100%;
|
|
}
|
|
|
|
.side-nav-group-toggle:hover {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.side-nav-group-label {
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.side-nav-group-chevron {
|
|
color: var(--color-text-muted);
|
|
flex: none;
|
|
}
|
|
|
|
.side-nav-list {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
}
|
|
|
|
.side-nav-list--closed {
|
|
display: none;
|
|
}
|
|
|
|
.side-nav-section:has(.side-nav-group-toggle) .side-nav-list {
|
|
padding-left: var(--space-6);
|
|
}
|
|
|
|
.side-nav a {
|
|
align-items: center;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
font-weight: var(--font-weight-medium);
|
|
padding: 10px var(--space-3);
|
|
transition: background var(--transition-fast), color var(--transition-fast);
|
|
min-width: 0;
|
|
}
|
|
|
|
.side-nav-label {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
flex: 1;
|
|
gap: var(--space-1);
|
|
min-width: 0;
|
|
}
|
|
|
|
.side-nav-label-text {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.dev-status-badge {
|
|
background: var(--color-warning-soft);
|
|
border: 1px solid color-mix(in srgb, var(--color-warning) 24%, transparent);
|
|
border-radius: 999px;
|
|
color: var(--color-warning);
|
|
flex: 0 0 auto;
|
|
font-size: 11px;
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1;
|
|
padding: 3px 6px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.side-nav-pending-badge {
|
|
margin-left: 2px;
|
|
}
|
|
|
|
.ui-tabs__tab {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.side-nav a.active,
|
|
.side-nav a:hover {
|
|
background: var(--color-selected-soft);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.side-nav a.active {
|
|
box-shadow: inset 3px 0 0 var(--color-selected);
|
|
}
|
|
|
|
.sidebar-footer {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: 2px;
|
|
padding: var(--space-3);
|
|
}
|
|
|
|
.sidebar-footer span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.sidebar-footer strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.app-shell--collapsed .sidebar {
|
|
align-items: center;
|
|
padding-left: var(--space-3);
|
|
padding-right: var(--space-3);
|
|
}
|
|
|
|
.app-shell--collapsed .brand-copy,
|
|
.app-shell--collapsed .side-nav-section p,
|
|
.app-shell--collapsed .side-nav-group-label,
|
|
.app-shell--collapsed .side-nav-group-chevron,
|
|
.app-shell--collapsed .side-nav a span,
|
|
.app-shell--collapsed .sidebar-footer {
|
|
display: none;
|
|
}
|
|
|
|
.app-shell--collapsed .brand-block {
|
|
justify-content: center;
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
|
|
.app-shell--collapsed .brand-logo--full {
|
|
display: none;
|
|
}
|
|
|
|
.app-shell--collapsed .brand-logo--compact {
|
|
display: block;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav {
|
|
gap: var(--space-2);
|
|
margin-right: 0;
|
|
overflow-y: auto;
|
|
padding-right: 0;
|
|
scrollbar-width: none;
|
|
width: 100%;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav-section {
|
|
display: grid;
|
|
gap: 6px;
|
|
justify-items: center;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav-group-toggle {
|
|
border-radius: var(--radius-md);
|
|
display: inline-flex;
|
|
height: 38px;
|
|
justify-content: center;
|
|
margin-bottom: 0;
|
|
min-height: 38px;
|
|
padding: 0;
|
|
width: 38px;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav-list {
|
|
gap: 6px;
|
|
justify-items: center;
|
|
padding-left: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav-section:has(.side-nav-group-toggle) .side-nav-list {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav a {
|
|
height: 44px;
|
|
justify-content: center;
|
|
padding: 0;
|
|
width: 44px;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav a svg {
|
|
height: 20px;
|
|
width: 20px;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav a.active {
|
|
box-shadow: inset 0 -3px 0 var(--color-accent);
|
|
}
|
|
|
|
.main-area {
|
|
display: grid;
|
|
grid-template-rows: var(--topbar-height) minmax(0, 1fr);
|
|
height: 100vh;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.topbar {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: flex;
|
|
height: var(--topbar-height);
|
|
justify-content: space-between;
|
|
padding: 0 var(--space-7);
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 20;
|
|
}
|
|
|
|
.topbar-left,
|
|
.topbar-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.topbar span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.icon-button {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
height: var(--control-height-md);
|
|
justify-content: center;
|
|
padding: 0;
|
|
position: relative;
|
|
transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
|
|
width: var(--control-height-md);
|
|
}
|
|
|
|
.icon-button:hover {
|
|
background: var(--color-selected-soft);
|
|
border-color: rgba(37, 99, 235, 0.22);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.icon-button.has-dot::after {
|
|
background: var(--color-danger);
|
|
border: 2px solid var(--color-surface);
|
|
border-radius: var(--radius-full);
|
|
content: "";
|
|
height: 8px;
|
|
position: absolute;
|
|
right: 8px;
|
|
top: 8px;
|
|
width: 8px;
|
|
}
|
|
|
|
.notice-menu-wrap {
|
|
position: relative;
|
|
}
|
|
|
|
.notice-count {
|
|
align-items: center;
|
|
background: var(--color-danger);
|
|
border: 2px solid var(--color-surface);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-text-inverse) !important;
|
|
display: inline-flex;
|
|
font-size: 10px;
|
|
font-weight: var(--font-weight-bold);
|
|
height: 20px;
|
|
justify-content: center;
|
|
min-width: 20px;
|
|
padding: 0 4px;
|
|
position: absolute;
|
|
right: -7px;
|
|
top: -7px;
|
|
}
|
|
|
|
.notice-popover {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-lg);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 238px;
|
|
padding: var(--space-3);
|
|
position: absolute;
|
|
right: 0;
|
|
top: calc(100% + 8px);
|
|
z-index: var(--z-dropdown);
|
|
}
|
|
|
|
.notice-popover__header {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--space-1);
|
|
padding: 0 var(--space-1) var(--space-2);
|
|
}
|
|
|
|
.notice-popover__header strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.notice-popover__header span {
|
|
color: var(--color-danger);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.notice-popover a,
|
|
.notice-popover p {
|
|
align-items: center;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
min-height: 38px;
|
|
padding: 0 var(--space-3);
|
|
}
|
|
|
|
.notice-popover a:hover {
|
|
background: var(--color-selected-soft);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.notice-popover a strong {
|
|
background: var(--color-danger-soft);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-danger);
|
|
min-width: 28px;
|
|
padding: 2px 8px;
|
|
text-align: center;
|
|
}
|
|
|
|
.user-menu {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
height: 42px;
|
|
padding: 0 var(--space-3) 0 var(--space-1);
|
|
}
|
|
|
|
.user-menu-wrap {
|
|
position: relative;
|
|
}
|
|
|
|
.user-menu-popover {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
box-shadow: var(--shadow-lg);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 164px;
|
|
padding: var(--space-2);
|
|
position: absolute;
|
|
right: 0;
|
|
top: calc(100% + 8px);
|
|
z-index: var(--z-dropdown);
|
|
}
|
|
|
|
.user-menu-popover button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
min-height: 36px;
|
|
padding: 0 var(--space-3);
|
|
text-align: left;
|
|
}
|
|
|
|
.user-menu-popover button:hover {
|
|
background: var(--color-selected-soft);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.user-avatar {
|
|
align-items: center;
|
|
background: var(--color-brand);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-accent);
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-bold);
|
|
height: 32px;
|
|
justify-content: center;
|
|
width: 32px;
|
|
}
|
|
|
|
.user-menu span:not(.user-avatar) {
|
|
display: grid;
|
|
gap: 1px;
|
|
text-align: left;
|
|
}
|
|
|
|
.user-menu strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.user-menu small {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.page-content {
|
|
margin: 0 auto;
|
|
max-width: var(--content-max-width);
|
|
overflow-y: auto;
|
|
padding: var(--space-7);
|
|
width: 100%;
|
|
}
|
|
|
|
.page-stack {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.page-heading {
|
|
align-items: end;
|
|
display: flex;
|
|
gap: var(--space-5);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.overview-hero {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-sm);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-5);
|
|
justify-content: space-between;
|
|
padding: var(--space-7);
|
|
}
|
|
|
|
.overview-hero h1 {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.overview-hero .eyebrow {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.overview-hero .muted {
|
|
color: var(--color-text-muted);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.page-heading > p {
|
|
max-width: 460px;
|
|
text-align: right;
|
|
}
|
|
|
|
.eyebrow {
|
|
color: var(--color-selected);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-bold);
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
.surface {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-sm);
|
|
min-width: 0;
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.ui-table-wrap {
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.ui-table {
|
|
border-collapse: collapse;
|
|
min-width: max-content;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-table th,
|
|
.ui-table td {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.ui-modal {
|
|
align-items: center;
|
|
display: grid;
|
|
inset: 0;
|
|
justify-items: center;
|
|
padding: var(--space-6);
|
|
position: fixed;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.ui-modal__mask {
|
|
background: rgba(15, 23, 42, 0.48);
|
|
border: 0;
|
|
cursor: default;
|
|
inset: 0;
|
|
padding: 0;
|
|
position: absolute;
|
|
}
|
|
|
|
.ui-modal__panel {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: 0 24px 70px rgba(18, 18, 26, 0.18);
|
|
display: grid;
|
|
max-height: calc(100vh - 48px);
|
|
max-width: min(920px, calc(100vw - 48px));
|
|
min-width: min(520px, calc(100vw - 48px));
|
|
overflow: hidden;
|
|
position: relative;
|
|
width: min(640px, calc(100vw - 48px));
|
|
z-index: 1;
|
|
}
|
|
|
|
.ui-modal__panel--xl {
|
|
max-width: min(980px, calc(100vw - 48px));
|
|
width: min(860px, calc(100vw - 48px));
|
|
}
|
|
|
|
.ui-modal__header,
|
|
.ui-modal__footer {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
justify-content: space-between;
|
|
padding: var(--space-5) var(--space-6);
|
|
}
|
|
|
|
.ui-modal__title {
|
|
min-width: 0;
|
|
}
|
|
|
|
.ui-modal__body {
|
|
max-height: calc(100vh - 220px);
|
|
overflow: auto;
|
|
padding: 0 var(--space-6) var(--space-6);
|
|
}
|
|
|
|
.ui-modal__footer {
|
|
border-top: 1px solid var(--color-border);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.page-actions,
|
|
.table-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.table-mono-id,
|
|
.table-strong-text,
|
|
.table-long-text {
|
|
display: block;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.table-mono-id {
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.table-strong-text {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.table-long-text {
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.table-long-text--sms-template {
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
display: -webkit-box;
|
|
white-space: normal;
|
|
}
|
|
|
|
.dashboard-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.metric-card {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.metric-card--featured {
|
|
background: linear-gradient(180deg, var(--color-surface), var(--color-accent-soft));
|
|
border-color: rgba(217, 195, 160, 0.72);
|
|
}
|
|
|
|
.metric-card--featured span,
|
|
.metric-card--featured small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.metric-card--featured strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.metric-card span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.metric-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 30px;
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.metric-card small {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.section-stack {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.section-heading {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.chart-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
|
|
}
|
|
|
|
.chart-card {
|
|
min-width: 0;
|
|
}
|
|
|
|
.chart-card h2 {
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
.overview-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
|
|
}
|
|
|
|
.overview-grid--three {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.quick-grid {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.quick-action {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
color: var(--color-text);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: start;
|
|
min-width: 0;
|
|
padding: var(--space-4);
|
|
text-align: left;
|
|
transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
|
|
}
|
|
|
|
.quick-action:hover {
|
|
border-color: rgba(37, 99, 235, 0.24);
|
|
box-shadow: var(--shadow-sm);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.quick-action svg {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.quick-action span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.quick-action small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.progress-heading {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin: var(--space-4) 0 var(--space-2);
|
|
}
|
|
|
|
.progress-heading strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.progress-track {
|
|
background: var(--color-surface-muted);
|
|
border-radius: var(--radius-full);
|
|
height: 10px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.progress-track span {
|
|
background: linear-gradient(90deg, var(--color-selected), var(--color-accent));
|
|
border-radius: inherit;
|
|
display: block;
|
|
height: 100%;
|
|
}
|
|
|
|
.mini-status-card {
|
|
align-items: flex-start;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.mini-status-card svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.mini-status-card div {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 0;
|
|
}
|
|
|
|
.mini-status-card span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.mini-status-card strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mini-status-card small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.downstream-breakdown-table {
|
|
display: grid;
|
|
}
|
|
|
|
.downstream-breakdown-table__head,
|
|
.downstream-breakdown-table__row {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: minmax(140px, 1.2fr) repeat(4, minmax(72px, 0.7fr));
|
|
min-height: 52px;
|
|
}
|
|
|
|
.downstream-breakdown-table__head {
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.downstream-breakdown-table__head--apps,
|
|
.downstream-breakdown-table__row--apps {
|
|
grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(72px, 0.65fr));
|
|
}
|
|
|
|
.downstream-breakdown-table__row {
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.downstream-breakdown-table__row strong,
|
|
.downstream-breakdown-table__row span {
|
|
min-width: 0;
|
|
}
|
|
|
|
.downstream-breakdown-table__empty {
|
|
color: var(--color-text-muted);
|
|
padding: var(--space-5) 0 var(--space-1);
|
|
}
|
|
|
|
.downstream-bucket-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.downstream-bucket-list--wrap {
|
|
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
}
|
|
|
|
.downstream-bucket-item {
|
|
align-items: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
min-height: 56px;
|
|
padding: 0 var(--space-4);
|
|
}
|
|
|
|
.downstream-bucket-item span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.downstream-bucket-item strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.sms-send-page {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.sms-send-title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.sms-send-title h1 {
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sms-send-title__icon {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 40px;
|
|
justify-content: center;
|
|
width: 40px;
|
|
}
|
|
|
|
.sms-send-layout {
|
|
align-items: start;
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
grid-template-columns: minmax(0, 1fr) 372px;
|
|
}
|
|
|
|
.sms-send-main {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.send-card,
|
|
.sms-preview-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.send-card__title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
.send-card__title span {
|
|
align-items: center;
|
|
background: var(--color-selected);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-text-inverse);
|
|
display: inline-flex;
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-bold);
|
|
height: 24px;
|
|
justify-content: center;
|
|
width: 24px;
|
|
}
|
|
|
|
.send-card__title h2,
|
|
.preview-title h2 {
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.send-field {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.send-field span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.send-field input,
|
|
.receiver-table input {
|
|
background: transparent;
|
|
border: 0;
|
|
border-bottom: 1px solid transparent;
|
|
color: var(--color-text);
|
|
height: var(--control-height-md);
|
|
outline: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.send-field input::placeholder,
|
|
.receiver-table input::placeholder {
|
|
color: var(--color-text-subtle);
|
|
}
|
|
|
|
.send-form-row {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
margin-top: var(--space-6);
|
|
}
|
|
|
|
.template-trigger {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
height: var(--control-height-md);
|
|
justify-content: space-between;
|
|
padding: 0 var(--control-padding-x);
|
|
text-align: left;
|
|
transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
|
|
width: 100%;
|
|
}
|
|
|
|
.template-trigger:hover,
|
|
.template-trigger:focus-visible {
|
|
border-color: var(--color-selected);
|
|
box-shadow: var(--focus-ring);
|
|
}
|
|
|
|
.template-trigger span {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.template-trigger svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.template-trigger__placeholder {
|
|
color: var(--color-text-subtle);
|
|
}
|
|
|
|
.radio-row {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-6);
|
|
min-height: var(--control-height-md);
|
|
}
|
|
|
|
.radio-row label {
|
|
align-items: center;
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.radio-row label.is-disabled {
|
|
color: var(--color-text-muted);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.radio-row input[type="radio"] {
|
|
accent-color: var(--color-selected);
|
|
height: 16px;
|
|
width: 16px;
|
|
}
|
|
|
|
.receiver-tabs {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
margin-bottom: var(--space-4);
|
|
}
|
|
|
|
.receiver-tabs button {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
color: var(--color-text-muted);
|
|
height: 44px;
|
|
}
|
|
|
|
.receiver-tabs button.active {
|
|
border-color: var(--color-selected);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.receiver-table {
|
|
border: 1px solid var(--color-border);
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.receiver-table__head,
|
|
.receiver-table__row {
|
|
display: grid;
|
|
grid-template-columns: 120px minmax(0, 1fr) 96px;
|
|
}
|
|
|
|
.receiver-table__head {
|
|
background: var(--color-surface-muted);
|
|
color: var(--color-text);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.receiver-table__head span,
|
|
.receiver-table__row span,
|
|
.receiver-table__row input,
|
|
.receiver-table__row button {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: flex;
|
|
min-height: 50px;
|
|
padding: 0 var(--space-4);
|
|
}
|
|
|
|
.receiver-table__row span {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.receiver-table__row button {
|
|
background: transparent;
|
|
border-left: 0;
|
|
border-right: 0;
|
|
border-top: 0;
|
|
color: var(--color-danger);
|
|
justify-content: center;
|
|
}
|
|
|
|
.receiver-table__row button:disabled {
|
|
color: var(--color-text-subtle);
|
|
}
|
|
|
|
.add-recipient {
|
|
align-items: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px dashed var(--color-selected);
|
|
color: var(--color-selected);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
height: 40px;
|
|
justify-content: center;
|
|
margin-top: var(--space-3);
|
|
width: 100%;
|
|
}
|
|
|
|
.import-panel {
|
|
align-items: center;
|
|
border: 1px dashed var(--color-border-strong);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-auto-rows: max-content;
|
|
align-content: center;
|
|
justify-items: center;
|
|
min-height: 190px;
|
|
padding: var(--space-6);
|
|
text-align: center;
|
|
}
|
|
|
|
.import-panel__icon {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 48px;
|
|
justify-content: center;
|
|
width: 48px;
|
|
}
|
|
|
|
.import-panel__icon svg {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.import-panel strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.send-tip {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
margin-top: var(--space-3);
|
|
}
|
|
|
|
.send-submit-row {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.mms-send-page .send-card {
|
|
box-shadow: none;
|
|
}
|
|
|
|
.mms-send-tip {
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid #bfdbfe;
|
|
color: var(--color-text);
|
|
font-weight: var(--font-weight-medium);
|
|
line-height: 1.6;
|
|
margin-bottom: var(--space-4);
|
|
padding: var(--space-3) var(--space-4);
|
|
}
|
|
|
|
.mms-import-mode {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.mms-import-rules {
|
|
align-items: start;
|
|
background: #e5e7eb;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
gap: var(--space-5);
|
|
justify-content: space-between;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.mms-import-rules strong {
|
|
color: var(--color-text-strong);
|
|
display: block;
|
|
margin-bottom: var(--space-3);
|
|
}
|
|
|
|
.mms-import-rules p {
|
|
margin: 0 0 var(--space-2);
|
|
}
|
|
|
|
.mms-import-panel {
|
|
min-height: 240px;
|
|
}
|
|
|
|
.mms-import-panel .import-panel__icon {
|
|
border-radius: var(--radius-md);
|
|
height: 64px;
|
|
width: 64px;
|
|
}
|
|
|
|
.sms-preview-card {
|
|
position: sticky;
|
|
top: calc(var(--topbar-height) + var(--space-6));
|
|
}
|
|
|
|
.preview-title {
|
|
align-items: center;
|
|
color: var(--color-selected);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
.preview-title h2 {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.phone-preview {
|
|
background: var(--color-surface-muted);
|
|
border-radius: var(--radius-sm);
|
|
padding: 22px;
|
|
}
|
|
|
|
.phone-preview div {
|
|
background: #dbe6ff;
|
|
border: 1px solid #90b0ff;
|
|
border-radius: 10px;
|
|
box-shadow: 0 2px 5px rgba(37, 99, 235, 0.18);
|
|
color: var(--color-text);
|
|
min-height: 54px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.preview-stats {
|
|
display: grid;
|
|
margin-top: var(--space-5);
|
|
}
|
|
|
|
.preview-stats div {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--space-4) 0;
|
|
}
|
|
|
|
.preview-stats span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.preview-stats strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.preview-note {
|
|
background: var(--color-surface-muted);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
margin-top: var(--space-5);
|
|
padding: var(--space-3) var(--space-4);
|
|
}
|
|
|
|
.mms-preview-card {
|
|
min-height: 340px;
|
|
}
|
|
|
|
.mms-message-preview {
|
|
background: #e5e7eb;
|
|
border-radius: var(--radius-sm);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.mms-message-preview > div {
|
|
background: var(--color-surface);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-sm);
|
|
color: var(--color-text);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 64px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.mms-message-preview strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.mms-message-preview p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
line-height: 1.6;
|
|
margin: 0;
|
|
}
|
|
|
|
.template-picker {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.template-picker__list {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
max-height: 360px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.template-picker__list button {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 0;
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
justify-content: space-between;
|
|
padding: var(--space-4);
|
|
text-align: left;
|
|
}
|
|
|
|
.template-picker__list button:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.template-picker__list button:hover,
|
|
.template-picker__list button.active {
|
|
background: var(--color-selected-soft);
|
|
}
|
|
|
|
.template-picker__list button.active {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.template-picker__list span {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 0;
|
|
}
|
|
|
|
.template-picker__list strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.template-picker__list small {
|
|
color: var(--color-text-muted);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.batch-filter-card {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.batch-filter-card h2 {
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.batch-filter-card p strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.batch-filter-grid {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-8);
|
|
grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr);
|
|
}
|
|
|
|
.batch-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.batch-table {
|
|
min-width: 1080px;
|
|
}
|
|
|
|
.batch-table th {
|
|
background: #e5e7eb;
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.batch-table td {
|
|
height: 70px;
|
|
}
|
|
|
|
.batch-table tbody tr:hover {
|
|
background: transparent;
|
|
}
|
|
|
|
.batch-main-row td {
|
|
border-top: 12px solid var(--color-bg);
|
|
position: relative;
|
|
transition: background var(--transition-fast);
|
|
}
|
|
|
|
.batch-main-row td,
|
|
.batch-template-row td {
|
|
background: #fbfcff;
|
|
}
|
|
|
|
.batch-task-id {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: start;
|
|
}
|
|
|
|
.batch-task-id strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.batch-template-row td {
|
|
border-top: 0;
|
|
height: auto;
|
|
padding: 0 var(--space-4) var(--space-5);
|
|
position: relative;
|
|
transition: background var(--transition-fast);
|
|
}
|
|
|
|
.batch-main-row.batch-row--hovered td,
|
|
.batch-template-row.batch-row--hovered td {
|
|
background: #dbeafe;
|
|
}
|
|
|
|
.batch-template-content {
|
|
align-items: flex-start;
|
|
background: var(--color-surface);
|
|
border: 1px solid #edf0f5;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: inset 0 0 0 1px rgba(18, 18, 26, 0.01);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
line-height: 1.7;
|
|
margin-left: 0;
|
|
padding: var(--space-3) var(--space-4);
|
|
transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
|
|
}
|
|
|
|
.batch-template-row.batch-row--hovered .batch-template-content {
|
|
border-color: rgba(37, 99, 235, 0.18);
|
|
box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08);
|
|
}
|
|
|
|
.batch-template-row.batch-row--hovered .ui-inline-text-preview {
|
|
border-color: rgba(37, 99, 235, 0.18);
|
|
box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08);
|
|
}
|
|
|
|
.batch-template-content > span:first-child {
|
|
color: var(--color-text-muted);
|
|
flex: 0 0 auto;
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.batch-template-content p {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.batch-template-content p strong {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-regular);
|
|
margin-right: 2px;
|
|
}
|
|
|
|
.batch-send-time {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
}
|
|
|
|
.batch-send-time span {
|
|
align-items: center;
|
|
color: var(--color-selected);
|
|
display: flex;
|
|
gap: var(--space-1);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.batch-send-time small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.batch-progress {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.batch-progress div:first-child {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.batch-progress span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.batch-progress strong {
|
|
color: var(--color-selected);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.batch-progress__track {
|
|
background: var(--color-border-strong);
|
|
border-radius: var(--radius-full);
|
|
height: 8px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.batch-progress__bar {
|
|
display: block;
|
|
height: 100%;
|
|
}
|
|
|
|
.batch-progress__bar--completed {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.batch-progress__bar--sending {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.batch-progress__bar--terminated {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.batch-actions {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.batch-actions .ui-button {
|
|
min-width: 52px;
|
|
}
|
|
|
|
.batch-actions .ui-button:last-child {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.mms-task-table td {
|
|
height: 96px;
|
|
}
|
|
|
|
.mms-task-content {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: 74px minmax(0, 1fr);
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-task-content img {
|
|
aspect-ratio: 1 / 1;
|
|
border-radius: var(--radius-sm);
|
|
object-fit: cover;
|
|
width: 74px;
|
|
}
|
|
|
|
.mms-task-content div {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-task-content strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.mms-task-content p {
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
color: var(--color-text-muted);
|
|
display: -webkit-box;
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mms-detail-row-content {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: 14px;
|
|
grid-template-columns: 84px minmax(0, 1fr);
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-detail-row-content img {
|
|
aspect-ratio: 1 / 1;
|
|
border-radius: var(--radius-sm);
|
|
object-fit: cover;
|
|
width: 84px;
|
|
}
|
|
|
|
.mms-detail-row-content div {
|
|
display: grid;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-detail-row-content strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.mms-detail-row-content p {
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
color: var(--color-text-muted);
|
|
display: -webkit-box;
|
|
line-height: 1.55;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mms-task-actions {
|
|
grid-template-columns: repeat(2, minmax(62px, 1fr));
|
|
}
|
|
|
|
.mms-task-actions .ui-button:last-child {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.mms-detail-template {
|
|
align-items: start;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: 220px minmax(0, 1fr);
|
|
}
|
|
|
|
.mms-detail-template img {
|
|
aspect-ratio: 4 / 3;
|
|
border-radius: var(--radius-sm);
|
|
object-fit: cover;
|
|
width: 100%;
|
|
}
|
|
|
|
.mms-detail-template div {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.mms-detail-template p {
|
|
color: var(--color-text);
|
|
line-height: 1.7;
|
|
margin: 0;
|
|
}
|
|
|
|
.batch-pagination {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.batch-pagination > span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.batch-pagination > div {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.task-detail-title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.task-detail-title .sms-send-title__icon {
|
|
background: linear-gradient(135deg, #eff6ff 0%, #f6efe4 100%);
|
|
border-color: rgba(37, 99, 235, 0.16);
|
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
|
|
height: 46px;
|
|
width: 46px;
|
|
}
|
|
|
|
.task-detail-title h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: 30px;
|
|
line-height: 1.15;
|
|
margin: 0;
|
|
}
|
|
|
|
.task-detail-title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin: var(--space-2) 0 0;
|
|
}
|
|
|
|
.task-detail {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.task-detail-section {
|
|
background: var(--color-surface);
|
|
border: 1px solid rgba(209, 213, 219, 0.72);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-xs);
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.task-detail-section > h3,
|
|
.task-section-title h3 {
|
|
align-items: center;
|
|
color: var(--color-text-strong);
|
|
display: flex;
|
|
font-size: var(--font-size-xl);
|
|
gap: var(--space-2);
|
|
margin: 0;
|
|
}
|
|
|
|
.task-section-title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.task-info-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.task-info-grid > div {
|
|
background: linear-gradient(180deg, #fbfcfe 0%, #f7f8fa 100%);
|
|
border: 1px solid rgba(209, 213, 219, 0.74);
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 78px;
|
|
padding: var(--space-4);
|
|
transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
|
|
}
|
|
|
|
.task-info-grid > div:hover {
|
|
border-color: rgba(37, 99, 235, 0.22);
|
|
box-shadow: 0 8px 20px rgba(18, 18, 26, 0.05);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.task-info-grid span,
|
|
.task-stat-card span,
|
|
.task-total-progress span,
|
|
.overall-rate-card span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.task-info-grid strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.task-info-full {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.task-info-full strong {
|
|
line-height: 1.7;
|
|
}
|
|
|
|
.task-send-type {
|
|
align-items: center;
|
|
color: var(--color-selected) !important;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.text-blue {
|
|
color: var(--color-selected) !important;
|
|
}
|
|
|
|
.text-green {
|
|
color: var(--color-success) !important;
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.task-stat-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.task-stat-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid rgba(191, 219, 254, 0.9);
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 96px;
|
|
overflow: hidden;
|
|
padding: var(--space-5);
|
|
position: relative;
|
|
}
|
|
|
|
.task-stat-card::before {
|
|
content: "";
|
|
height: 3px;
|
|
inset: 0 0 auto;
|
|
position: absolute;
|
|
}
|
|
|
|
.task-stat-card--blue::before {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.task-stat-card--green {
|
|
border-color: #bbf7d0;
|
|
}
|
|
|
|
.task-stat-card--green::before {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.task-stat-card strong {
|
|
color: var(--color-selected);
|
|
font-size: 32px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.task-stat-card--green strong {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.task-total-progress {
|
|
background: #f8fafc;
|
|
border: 1px solid rgba(209, 213, 219, 0.72);
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.task-total-progress > div:first-child {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.task-total-progress strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.overall-rate-card {
|
|
align-items: center;
|
|
background:
|
|
radial-gradient(circle at 50% 24%, rgba(217, 195, 160, 0.24), transparent 28%),
|
|
linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
|
|
border: 1px solid rgba(191, 219, 254, 0.95);
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
justify-items: center;
|
|
min-height: 178px;
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.overall-rate-card strong {
|
|
color: var(--color-success);
|
|
font-size: 52px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.overall-rate-card small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.task-detail-section h4 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-base);
|
|
margin: 0;
|
|
}
|
|
|
|
.carrier-rate-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.carrier-rate-card {
|
|
background: #ffffff;
|
|
border: 1px solid rgba(209, 213, 219, 0.78);
|
|
border-radius: var(--radius-sm);
|
|
box-shadow: var(--shadow-xs);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.carrier-rate-card > div:first-child,
|
|
.carrier-rate-card p {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.carrier-rate-card > div:first-child strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.carrier-rate-card > div:first-child span {
|
|
color: var(--color-success);
|
|
font-size: var(--font-size-xl);
|
|
font-weight: var(--font-weight-bold);
|
|
}
|
|
|
|
.carrier-rate-card p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
margin: 0;
|
|
}
|
|
|
|
.city-rate-table th {
|
|
background: #f3f4f6;
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.city-rate-table td {
|
|
height: 56px;
|
|
}
|
|
|
|
.city-rate-table tbody tr:hover {
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.ui-modal__panel--xl {
|
|
box-shadow: 0 24px 70px rgba(18, 18, 26, 0.18);
|
|
}
|
|
|
|
.ui-modal__panel--xl .ui-modal__header {
|
|
background:
|
|
linear-gradient(90deg, rgba(217, 195, 160, 0.12), transparent 36%),
|
|
#ffffff;
|
|
padding: 26px 30px 24px;
|
|
position: relative;
|
|
}
|
|
|
|
.ui-modal__panel--xl .ui-modal__header::before {
|
|
background: linear-gradient(90deg, var(--color-brand), var(--color-accent));
|
|
content: "";
|
|
height: 3px;
|
|
inset: 0 0 auto;
|
|
position: absolute;
|
|
}
|
|
|
|
.ui-modal__panel--xl .ui-modal__body {
|
|
background: #f7f8fa;
|
|
padding: 22px 30px;
|
|
}
|
|
|
|
.task-detail-title .sms-send-title__icon {
|
|
background: var(--color-brand);
|
|
border-color: var(--color-brand);
|
|
color: var(--color-accent);
|
|
height: 48px;
|
|
width: 48px;
|
|
}
|
|
|
|
.task-detail-title h2 {
|
|
font-size: 28px;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.task-detail-title p {
|
|
color: #8a93a3;
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
margin-top: 6px;
|
|
}
|
|
|
|
.task-detail {
|
|
gap: 18px;
|
|
}
|
|
|
|
.task-detail-section {
|
|
background: #ffffff;
|
|
border: 1px solid #e9edf3;
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: 0 8px 24px rgba(18, 18, 26, 0.04);
|
|
gap: 18px;
|
|
padding: 22px;
|
|
}
|
|
|
|
.task-detail-section > h3,
|
|
.task-section-title h3 {
|
|
font-size: 18px;
|
|
gap: 8px;
|
|
}
|
|
|
|
.task-section-title {
|
|
border-bottom: 1px solid #eef1f5;
|
|
padding-bottom: 14px;
|
|
}
|
|
|
|
.task-info-grid {
|
|
gap: 0;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
overflow: hidden;
|
|
border: 1px solid #edf0f5;
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
.task-info-grid > div {
|
|
background: #ffffff;
|
|
border: 0;
|
|
border-bottom: 1px solid #edf0f5;
|
|
border-right: 1px solid #edf0f5;
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
min-height: 82px;
|
|
padding: 16px 18px;
|
|
transform: none;
|
|
}
|
|
|
|
.task-info-grid > div:nth-child(4n) {
|
|
border-right: 0;
|
|
}
|
|
|
|
.task-info-grid > div:hover {
|
|
background: #fbfcff;
|
|
border-color: #edf0f5;
|
|
box-shadow: none;
|
|
transform: none;
|
|
}
|
|
|
|
.task-info-grid span,
|
|
.task-stat-card span,
|
|
.task-total-progress span,
|
|
.overall-rate-card span {
|
|
color: #7b8494;
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.task-info-grid strong {
|
|
color: #18202f;
|
|
font-size: 14px;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.task-info-full {
|
|
background: #fbfcff !important;
|
|
border-bottom: 0 !important;
|
|
border-right: 0 !important;
|
|
grid-column: 1 / -1;
|
|
min-height: 92px !important;
|
|
}
|
|
|
|
.task-info-full strong {
|
|
color: #263244;
|
|
font-size: 14px;
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.task-stat-grid {
|
|
gap: 12px;
|
|
}
|
|
|
|
.task-stat-card {
|
|
background: #ffffff;
|
|
border: 1px solid #e7ebf2;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: 0 1px 2px rgba(18, 18, 26, 0.04);
|
|
min-height: 106px;
|
|
padding: 18px;
|
|
}
|
|
|
|
.task-stat-card::before {
|
|
height: 100%;
|
|
inset: 0 auto 0 0;
|
|
width: 3px;
|
|
}
|
|
|
|
.task-stat-card strong {
|
|
font-size: 30px;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.task-total-progress {
|
|
background: #fbfcff;
|
|
border-color: #e7ebf2;
|
|
border-radius: var(--radius-md);
|
|
padding: 18px;
|
|
}
|
|
|
|
.task-total-progress .batch-progress__track {
|
|
height: 10px;
|
|
}
|
|
|
|
.overall-rate-card {
|
|
background:
|
|
linear-gradient(180deg, rgba(37, 99, 235, 0.08), transparent 58%),
|
|
#ffffff;
|
|
border-color: #d9e6ff;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
min-height: 150px;
|
|
}
|
|
|
|
.overall-rate-card strong {
|
|
font-size: 48px;
|
|
}
|
|
|
|
.carrier-rate-grid {
|
|
gap: 12px;
|
|
}
|
|
|
|
.carrier-rate-card {
|
|
border-color: #e7ebf2;
|
|
border-radius: var(--radius-md);
|
|
box-shadow: 0 1px 2px rgba(18, 18, 26, 0.04);
|
|
padding: 18px;
|
|
}
|
|
|
|
.city-rate-table {
|
|
min-width: 760px;
|
|
}
|
|
|
|
.city-rate-table th {
|
|
background: #f7f8fa;
|
|
border-bottom: 1px solid #e7ebf2;
|
|
color: #5f6878;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.city-rate-table td {
|
|
height: 58px;
|
|
}
|
|
|
|
.send-detail-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.send-detail-table {
|
|
min-width: 1420px;
|
|
}
|
|
|
|
.mms-send-detail-table {
|
|
min-width: 1560px;
|
|
}
|
|
|
|
.send-detail-table th {
|
|
background: #e5e7eb;
|
|
color: var(--color-text-strong);
|
|
height: 58px;
|
|
}
|
|
|
|
.send-detail-main-row td {
|
|
background: #ffffff;
|
|
height: 72px;
|
|
}
|
|
|
|
.send-detail-content-row td {
|
|
background: #ffffff;
|
|
border-top: 0;
|
|
height: auto;
|
|
padding: 0 var(--space-4) var(--space-5);
|
|
}
|
|
|
|
.send-detail-message {
|
|
color: var(--color-text-muted);
|
|
display: block;
|
|
line-height: 1.65;
|
|
max-width: 380px;
|
|
}
|
|
|
|
.send-detail-content-block {
|
|
align-items: flex-start;
|
|
background: #fbfcff;
|
|
border: 1px solid #edf0f5;
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
line-height: 1.7;
|
|
padding: var(--space-3) var(--space-4);
|
|
}
|
|
|
|
.send-detail-content-block span {
|
|
color: var(--color-text-muted);
|
|
flex: 0 0 auto;
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.send-detail-content-block p {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.send-detail-app-name,
|
|
.send-detail-count,
|
|
.send-detail-time,
|
|
.send-detail-region {
|
|
display: grid;
|
|
gap: 2px;
|
|
}
|
|
|
|
.send-detail-time,
|
|
.send-detail-region {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.send-detail-time small,
|
|
.send-detail-region small,
|
|
.send-detail-count small {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.send-detail-count strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.send-detail-receipt-code {
|
|
color: var(--color-success);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.send-detail-carrier {
|
|
color: #374151;
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.uplink-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.uplink-table-card .ui-table th {
|
|
background: #e5e7eb;
|
|
color: var(--color-text-strong);
|
|
height: 54px;
|
|
}
|
|
|
|
.uplink-table-card .ui-table td {
|
|
height: 78px;
|
|
}
|
|
|
|
.uplink-content {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.uplink-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.uplink-detail-hint {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.uplink-match-list {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.uplink-match-card {
|
|
background: #f1f3f5;
|
|
border: 1px solid #e5e7eb;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.uplink-match-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.uplink-match-grid div,
|
|
.uplink-match-content {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.uplink-match-grid span,
|
|
.uplink-match-content span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.uplink-match-grid strong,
|
|
.uplink-match-content p {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.uplink-match-content p {
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
}
|
|
|
|
.uplink-match-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.mms-uplink-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid #edf0f5;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 16px 22px;
|
|
}
|
|
|
|
.mms-uplink-pagination > div {
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
|
|
.mms-uplink-detail .task-detail-section:first-child {
|
|
background: #ffffff;
|
|
}
|
|
|
|
.mms-uplink-match-card {
|
|
background: #f4f6f8;
|
|
}
|
|
|
|
.mms-uplink-image {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.mms-uplink-image span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.mms-uplink-image img {
|
|
aspect-ratio: 16 / 7;
|
|
border-radius: var(--radius-sm);
|
|
object-fit: cover;
|
|
width: 100%;
|
|
}
|
|
|
|
.sms-app-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(3, minmax(260px, 1fr));
|
|
}
|
|
|
|
.sms-app-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.sms-app-card h2 {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
|
|
.sms-app-card dl {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
margin: 0;
|
|
}
|
|
|
|
.sms-app-card dl div {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sms-app-card dt {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sms-app-card dd {
|
|
color: var(--color-text-strong);
|
|
margin: 0;
|
|
text-align: right;
|
|
}
|
|
|
|
.sms-app-card dd span {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.sms-app-param-table {
|
|
border: 1px solid var(--color-border);
|
|
display: grid;
|
|
}
|
|
|
|
.sms-app-param-table div {
|
|
display: grid;
|
|
grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr);
|
|
min-height: 58px;
|
|
}
|
|
|
|
.sms-app-param-table div + div {
|
|
border-top: 1px solid var(--color-border);
|
|
}
|
|
|
|
.sms-app-param-table span,
|
|
.sms-app-param-table strong {
|
|
align-items: center;
|
|
display: flex;
|
|
padding: 0 var(--space-5);
|
|
}
|
|
|
|
.sms-app-param-table span {
|
|
background: #f1f3f5;
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sms-app-param-table strong {
|
|
background: #ffffff;
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.signature-page-header {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.signature-search-row {
|
|
max-width: 360px;
|
|
}
|
|
|
|
.signature-list {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.signature-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.signature-card::before {
|
|
content: "";
|
|
inset: 0 auto 0 0;
|
|
position: absolute;
|
|
width: 5px;
|
|
}
|
|
|
|
.signature-card--green::before {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.signature-card--blue::before {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.signature-card--red::before {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.signature-card--gray::before {
|
|
background: var(--color-text-subtle);
|
|
}
|
|
|
|
.signature-summary {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: 28px 1fr 1fr 1fr 1fr 1fr 1fr 110px;
|
|
min-height: 112px;
|
|
padding: var(--space-5) var(--space-6);
|
|
}
|
|
|
|
.signature-summary > button {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
padding: 0;
|
|
}
|
|
|
|
.signature-summary div:not(.signature-actions) {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.signature-summary span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.signature-summary strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.signature-actions {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.drainage-panel {
|
|
background: #f1f3f5;
|
|
border-top: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding: var(--space-5) var(--space-6);
|
|
}
|
|
|
|
.drainage-panel h2 {
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.drainage-table {
|
|
display: grid;
|
|
}
|
|
|
|
.drainage-table__head,
|
|
.drainage-table__row {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(96px, 0.9fr) minmax(180px, 1.5fr) repeat(3, minmax(64px, 0.65fr)) minmax(128px, 1fr) minmax(196px, auto);
|
|
min-height: 58px;
|
|
}
|
|
|
|
.drainage-table__head {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.drainage-table__row {
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.drainage-table__url {
|
|
color: var(--color-text-strong);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.drainage-row-actions {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.drainage-panel__footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.admin-enterprise-signature-list .signature-summary {
|
|
gap: var(--space-2);
|
|
grid-template-columns: 22px minmax(96px, 0.9fr) minmax(132px, 1fr) minmax(104px, 0.85fr) repeat(4, minmax(64px, 0.55fr)) minmax(206px, auto);
|
|
min-width: 1040px;
|
|
padding-inline: var(--space-3);
|
|
}
|
|
|
|
.admin-enterprise-signature-list .signature-actions {
|
|
display: flex;
|
|
gap: 6px;
|
|
justify-content: flex-end;
|
|
justify-self: end;
|
|
min-width: 206px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.admin-enterprise-signature-list .signature-actions .ui-button {
|
|
padding-left: 8px;
|
|
padding-right: 8px;
|
|
}
|
|
|
|
.admin-split-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.2fr) auto;
|
|
}
|
|
|
|
.admin-application-filter {
|
|
grid-template-columns: minmax(320px, 460px) auto;
|
|
}
|
|
|
|
.cmpp-status-cell {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.cmpp-status-cell button {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid rgba(37, 99, 235, 0.22);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-bold);
|
|
height: 28px;
|
|
justify-content: center;
|
|
min-width: 34px;
|
|
padding: 0 var(--space-2);
|
|
}
|
|
|
|
.cmpp-status-cell button:hover {
|
|
background: var(--color-selected);
|
|
color: var(--color-text-inverse);
|
|
}
|
|
|
|
.cmpp-status-cell__params {
|
|
gap: 4px;
|
|
min-width: 58px !important;
|
|
}
|
|
|
|
.cmpp-connection-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.cmpp-connection-summary {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.cmpp-connection-summary > div {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 82px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.cmpp-connection-summary span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.cmpp-connection-summary strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.cmpp-param-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.cmpp-param-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.cmpp-param-grid > div {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 78px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.cmpp-param-grid span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.cmpp-param-grid strong {
|
|
color: var(--color-text-strong);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.cmpp-param-copy {
|
|
background: #0f172a;
|
|
border-radius: var(--radius-md);
|
|
color: #e5e7eb;
|
|
line-height: 1.7;
|
|
margin: 0;
|
|
overflow: auto;
|
|
padding: var(--space-5);
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.admin-split-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
margin-top: var(--space-5);
|
|
padding-top: var(--space-5);
|
|
}
|
|
|
|
.admin-split-pagination span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-confirm-text {
|
|
color: var(--color-text-strong);
|
|
line-height: 1.8;
|
|
margin: 0;
|
|
}
|
|
|
|
.detail-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.detail-grid div {
|
|
background: var(--color-bg-subtle);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.detail-grid span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.detail-grid strong {
|
|
color: var(--color-text-strong);
|
|
line-height: 1.7;
|
|
}
|
|
|
|
.detail-grid__wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.signature-modal-title h2 {
|
|
font-size: var(--font-size-2xl);
|
|
}
|
|
|
|
.signature-modal-title p {
|
|
color: var(--color-text-muted);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.signature-form {
|
|
display: grid;
|
|
gap: var(--space-8);
|
|
}
|
|
|
|
.signature-form section {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.signature-form h3 {
|
|
border-left: 5px solid var(--color-selected);
|
|
padding-left: var(--space-3);
|
|
}
|
|
|
|
.signature-alert {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid #bfdbfe;
|
|
color: var(--color-selected);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
line-height: 1.7;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.signature-form-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.signature-form-grid__wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.signature-upload {
|
|
align-items: center;
|
|
border: 2px dashed var(--color-border);
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: center;
|
|
min-height: 170px;
|
|
padding: var(--space-5);
|
|
text-align: center;
|
|
}
|
|
|
|
.signature-upload > span:first-child {
|
|
justify-self: start;
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.signature-upload svg {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.signature-upload strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.signature-upload small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.signature-upload--compact {
|
|
min-height: 118px;
|
|
}
|
|
|
|
.signature-file-line {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.signature-file-line > span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.signature-file-line small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.drainage-edit-form .signature-upload {
|
|
min-height: 112px;
|
|
}
|
|
|
|
.drainage-form-note {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.drainage-form-note ol {
|
|
margin: 0;
|
|
padding-left: var(--space-5);
|
|
}
|
|
|
|
.drainage-file-picker {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.drainage-file-picker > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.drainage-file-picker > div {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: auto 1fr;
|
|
}
|
|
|
|
.drainage-file-picker em {
|
|
background: var(--color-surface-subtle);
|
|
color: var(--color-text-muted);
|
|
font-style: normal;
|
|
padding: var(--space-3) var(--space-4);
|
|
}
|
|
|
|
.mms-signature-table-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.mms-signature-table-card .ui-table th {
|
|
background: #e1e5ea;
|
|
color: #7b8494;
|
|
font-size: var(--font-size-sm);
|
|
height: 58px;
|
|
}
|
|
|
|
.mms-signature-table-card .ui-table td {
|
|
color: var(--color-text);
|
|
height: 86px;
|
|
}
|
|
|
|
.mms-signature-table-card .ui-table th:first-child,
|
|
.mms-signature-table-card .ui-table td:first-child {
|
|
padding-left: var(--space-6);
|
|
}
|
|
|
|
.mms-signature-name {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.mms-signature-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.mms-signature-actions .ui-button:disabled {
|
|
background: #f5f6f8;
|
|
border-color: #e5e7eb;
|
|
color: var(--color-text-subtle);
|
|
opacity: 1;
|
|
}
|
|
|
|
.mms-signature-delete {
|
|
border-color: rgba(239, 68, 68, 0.22);
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.mms-signature-delete:hover {
|
|
background: rgba(239, 68, 68, 0.06);
|
|
border-color: rgba(239, 68, 68, 0.36);
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.mms-pagination {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
justify-content: center;
|
|
padding: var(--space-3) 0;
|
|
}
|
|
|
|
.mms-pagination button {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text);
|
|
height: 36px;
|
|
min-width: 36px;
|
|
padding: 0 var(--space-3);
|
|
transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
|
|
}
|
|
|
|
.mms-pagination button:hover:not(:disabled),
|
|
.mms-pagination button.active {
|
|
background: var(--color-selected);
|
|
border-color: var(--color-selected);
|
|
color: var(--color-text-inverse);
|
|
}
|
|
|
|
.mms-pagination button:disabled {
|
|
color: var(--color-text-subtle);
|
|
}
|
|
|
|
.mms-template-header {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.mms-template-header .sms-send-title {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.mms-template-header p {
|
|
color: var(--color-text-muted);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.mms-template-toolbar {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
}
|
|
|
|
.mms-template-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(320px, 1fr));
|
|
}
|
|
|
|
.mms-template-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-rows: auto auto;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
|
|
}
|
|
|
|
.mms-template-card:hover {
|
|
border-color: rgba(37, 99, 235, 0.2);
|
|
box-shadow: var(--shadow-sm);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.mms-template-card::before {
|
|
content: "";
|
|
inset: 0 auto 0 0;
|
|
position: absolute;
|
|
width: 5px;
|
|
}
|
|
|
|
.mms-template-card--green::before {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.mms-template-card--blue::before {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.mms-template-card--gray::before {
|
|
background: var(--color-text-subtle);
|
|
}
|
|
|
|
.mms-template-card__body {
|
|
display: grid;
|
|
gap: 10px;
|
|
padding: var(--space-5) var(--space-5) var(--space-4);
|
|
}
|
|
|
|
.mms-template-meta {
|
|
display: grid;
|
|
gap: 7px;
|
|
padding-right: 128px;
|
|
}
|
|
|
|
.mms-template-card h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.mms-template-card h3 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1.28;
|
|
margin-top: 1px;
|
|
}
|
|
|
|
.mms-template-code {
|
|
color: var(--color-text-muted);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-size: var(--font-size-sm);
|
|
line-height: 1.28;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.mms-template-card img {
|
|
aspect-ratio: 16 / 7.2;
|
|
border-radius: var(--radius-sm);
|
|
display: block;
|
|
object-fit: cover;
|
|
width: 100%;
|
|
}
|
|
|
|
.mms-template-content {
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 3;
|
|
color: var(--color-text-muted);
|
|
display: -webkit-box;
|
|
line-height: 1.45;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mms-template-app-tag {
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid rgba(37, 99, 235, 0.16);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-selected);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: 5px 10px;
|
|
position: absolute;
|
|
right: var(--space-5);
|
|
top: var(--space-5);
|
|
z-index: 1;
|
|
}
|
|
|
|
.mms-template-status {
|
|
display: grid;
|
|
gap: 6px;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.mms-template-status > span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.mms-template-status > div {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.mms-template-status section {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: 5px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-template-status small {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.mms-template-card__footer {
|
|
align-items: center;
|
|
background: #f4f6f8;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
justify-content: space-between;
|
|
min-height: 48px;
|
|
padding: 0 var(--space-5);
|
|
}
|
|
|
|
.mms-template-card__footer > span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.mms-template-card__footer div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.mms-template-card__footer button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
gap: 4px;
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: 0;
|
|
}
|
|
|
|
.mms-template-card__footer button:nth-child(2) {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mms-template-card__footer button:last-child {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.mms-template-modal-title h2 {
|
|
font-size: var(--font-size-2xl);
|
|
}
|
|
|
|
.mms-template-modal-title p {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.55;
|
|
margin-top: var(--space-2);
|
|
max-width: 980px;
|
|
}
|
|
|
|
.mms-template-form {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.mms-template-form-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.mms-frame-header {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.mms-frame-header div {
|
|
align-items: baseline;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.mms-frame-header strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mms-frame-header span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.mms-frame-list {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.mms-frame {
|
|
background: #eef0f2;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.mms-frame__top {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: auto 124px 1fr;
|
|
}
|
|
|
|
.mms-frame__top > strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mms-frame__top > button {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-danger);
|
|
justify-self: end;
|
|
padding: 0;
|
|
}
|
|
|
|
.mms-frame-type .ui-field__label {
|
|
display: none;
|
|
}
|
|
|
|
.mms-frame-type .ui-select button {
|
|
background: var(--color-surface);
|
|
}
|
|
|
|
.mms-frame .ui-textarea {
|
|
background: var(--color-surface);
|
|
border-color: transparent;
|
|
min-height: 106px;
|
|
}
|
|
|
|
.mms-file-drop {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 2px dashed var(--color-border);
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
justify-items: center;
|
|
min-height: 132px;
|
|
padding: var(--space-5);
|
|
text-align: center;
|
|
}
|
|
|
|
.mms-file-drop div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.mms-file-drop strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mms-file-drop small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.mms-save-button {
|
|
background: #7c3aed;
|
|
border-color: #7c3aed;
|
|
}
|
|
|
|
.mms-save-button:hover {
|
|
background: #6d28d9;
|
|
border-color: #6d28d9;
|
|
}
|
|
|
|
.mms-preview {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.mms-preview img {
|
|
aspect-ratio: 16 / 9;
|
|
border-radius: var(--radius-md);
|
|
object-fit: cover;
|
|
width: 100%;
|
|
}
|
|
|
|
.mms-preview p {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.75;
|
|
}
|
|
|
|
.mms-preview-frames {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.mms-preview-frames span {
|
|
align-items: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
gap: var(--space-1);
|
|
min-height: 30px;
|
|
padding: 0 var(--space-3);
|
|
}
|
|
|
|
.template-toolbar {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
}
|
|
|
|
.template-card-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(3, minmax(280px, 1fr));
|
|
}
|
|
|
|
.template-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
min-height: 300px;
|
|
overflow: hidden;
|
|
padding: var(--space-6);
|
|
position: relative;
|
|
}
|
|
|
|
.template-card::before {
|
|
content: "";
|
|
inset: 0 auto 0 0;
|
|
position: absolute;
|
|
width: 5px;
|
|
}
|
|
|
|
.template-card--green::before {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.template-card--blue::before {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.template-card--red::before {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.template-card h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.template-hash {
|
|
color: var(--color-text-muted);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
margin: 0;
|
|
}
|
|
|
|
.template-content {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
line-height: 1.65;
|
|
margin: 0;
|
|
}
|
|
|
|
.template-vars {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.template-vars span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.template-vars strong,
|
|
.template-current-vars strong {
|
|
background: #e8f0ff;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-medium);
|
|
padding: 5px 10px;
|
|
}
|
|
|
|
.template-card-footer {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: auto;
|
|
padding-top: var(--space-4);
|
|
}
|
|
|
|
.template-card-footer span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.template-card-footer div {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.template-card-footer button {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
padding: 0;
|
|
}
|
|
|
|
.template-card-footer button:last-child {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.template-modal-title h2 {
|
|
font-size: var(--font-size-2xl);
|
|
}
|
|
|
|
.template-modal-title p {
|
|
color: var(--color-text-muted);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.template-form {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.template-form .ui-textarea {
|
|
min-height: 220px;
|
|
}
|
|
|
|
.template-form-meta {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.template-form-meta button {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: 0;
|
|
}
|
|
|
|
.template-form-meta span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.template-variable-panel {
|
|
border: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.template-variable-panel h3 {
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.template-variable-buttons {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.template-variable-buttons button {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text);
|
|
min-height: 36px;
|
|
padding: 0 var(--space-4);
|
|
}
|
|
|
|
.template-variable-buttons button:hover {
|
|
border-color: var(--color-selected);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.template-custom-variable {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: minmax(0, 1fr) 96px;
|
|
}
|
|
|
|
.template-info-tip {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-left: 4px solid var(--color-selected);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
line-height: 1.7;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.template-info-tip svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.template-current-vars {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.task-detail-title h2 {
|
|
font-size: 22px;
|
|
}
|
|
|
|
.task-stat-layout {
|
|
display: grid;
|
|
gap: 14px;
|
|
grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr);
|
|
}
|
|
|
|
.task-progress-card {
|
|
background:
|
|
linear-gradient(180deg, rgba(37, 99, 235, 0.08), transparent 64%),
|
|
#ffffff;
|
|
border: 1px solid #dbe7ff;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: 14px;
|
|
padding: 20px;
|
|
}
|
|
|
|
.task-progress-card span,
|
|
.task-stat-list span {
|
|
color: #7b8494;
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.task-progress-card strong {
|
|
color: var(--color-selected);
|
|
font-size: 42px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.task-progress-card small {
|
|
color: #7b8494;
|
|
}
|
|
|
|
.task-stat-list {
|
|
background: #ffffff;
|
|
border: 1px solid #e7ebf2;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
overflow: hidden;
|
|
}
|
|
|
|
.task-stat-list > div {
|
|
align-content: center;
|
|
border-right: 1px solid #edf0f5;
|
|
display: grid;
|
|
gap: 10px;
|
|
min-height: 138px;
|
|
padding: 20px;
|
|
}
|
|
|
|
.task-stat-list > div:last-child {
|
|
border-right: 0;
|
|
}
|
|
|
|
.task-stat-list strong {
|
|
color: #18202f;
|
|
font-size: 28px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.overall-rate-card {
|
|
min-height: 188px;
|
|
}
|
|
|
|
.overall-rate-split {
|
|
display: grid;
|
|
gap: 12px;
|
|
grid-template-columns: repeat(2, minmax(120px, 1fr));
|
|
width: min(420px, 100%);
|
|
}
|
|
|
|
.overall-rate-split div {
|
|
background: rgba(255, 255, 255, 0.78);
|
|
border: 1px solid rgba(209, 213, 219, 0.72);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: 4px;
|
|
justify-items: center;
|
|
padding: 12px;
|
|
}
|
|
|
|
.overall-rate-split b {
|
|
color: #18202f;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.rate-tone-low,
|
|
.rate-tone-low .batch-progress__bar {
|
|
--rate-color: var(--color-danger);
|
|
}
|
|
|
|
.rate-tone-medium,
|
|
.rate-tone-medium .batch-progress__bar {
|
|
--rate-color: var(--color-warning);
|
|
}
|
|
|
|
.rate-tone-high,
|
|
.rate-tone-high .batch-progress__bar {
|
|
--rate-color: var(--color-success);
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-low {
|
|
background: linear-gradient(180deg, rgba(220, 38, 38, 0.09), transparent 58%), #ffffff;
|
|
border-color: rgba(220, 38, 38, 0.28);
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-medium {
|
|
background: linear-gradient(180deg, rgba(217, 119, 6, 0.1), transparent 58%), #ffffff;
|
|
border-color: rgba(217, 119, 6, 0.28);
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-high {
|
|
background: linear-gradient(180deg, rgba(22, 163, 74, 0.09), transparent 58%), #ffffff;
|
|
border-color: rgba(22, 163, 74, 0.26);
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-low strong,
|
|
.carrier-rate-card.rate-tone-low > div:first-child span,
|
|
.rate-text.rate-tone-low {
|
|
color: var(--color-danger) !important;
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-medium strong,
|
|
.carrier-rate-card.rate-tone-medium > div:first-child span,
|
|
.rate-text.rate-tone-medium {
|
|
color: var(--color-warning) !important;
|
|
}
|
|
|
|
.overall-rate-card.rate-tone-high strong,
|
|
.carrier-rate-card.rate-tone-high > div:first-child span,
|
|
.rate-text.rate-tone-high {
|
|
color: var(--color-success) !important;
|
|
}
|
|
|
|
.rate-text {
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.carrier-rate-card .batch-progress__bar,
|
|
.city-rate-table .batch-progress__bar {
|
|
background: var(--rate-color, var(--color-success));
|
|
}
|
|
|
|
.detail-message {
|
|
color: var(--color-text-muted);
|
|
display: block;
|
|
max-width: 330px;
|
|
}
|
|
|
|
.receipt {
|
|
color: var(--color-success);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-size: var(--font-size-xs);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.receipt--failed {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.form-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.form-grid--two {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.content-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.6fr);
|
|
}
|
|
|
|
.soft-panel {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
min-width: 0;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.soft-panel h3 {
|
|
margin-bottom: var(--space-3);
|
|
}
|
|
|
|
.summary-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.summary-list div {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.summary-list span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.summary-list strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.plan-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.plan-card {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.plan-card--highlight {
|
|
border-color: rgba(217, 195, 160, 0.78);
|
|
box-shadow: 0 0 0 3px rgba(217, 195, 160, 0.18);
|
|
}
|
|
|
|
.plan-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 26px;
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.muted {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.text-strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.status-success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.status-warning {
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
.status-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.status-info {
|
|
color: var(--color-info);
|
|
}
|
|
|
|
.empty-state {
|
|
align-items: center;
|
|
display: grid;
|
|
justify-items: center;
|
|
min-height: 240px;
|
|
text-align: center;
|
|
}
|
|
|
|
.empty-state strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.empty-state span {
|
|
color: var(--color-text-muted);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.login-page {
|
|
min-height: 100vh;
|
|
display: grid;
|
|
place-items: center;
|
|
padding: 36px 20px;
|
|
background:
|
|
radial-gradient(circle at 18% 16%, rgba(37, 99, 235, 0.12), transparent 32%),
|
|
radial-gradient(circle at 82% 14%, rgba(16, 185, 129, 0.1), transparent 30%),
|
|
linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(15, 23, 42, 0.04)),
|
|
var(--color-bg);
|
|
}
|
|
|
|
.login-panel {
|
|
width: min(428px, 100%);
|
|
padding: 34px 34px 30px;
|
|
border: 1px solid rgba(148, 163, 184, 0.24);
|
|
border-radius: 8px;
|
|
background: var(--color-surface);
|
|
box-shadow: 0 26px 70px rgba(15, 23, 42, 0.14);
|
|
}
|
|
|
|
.login-brand {
|
|
display: grid;
|
|
justify-items: center;
|
|
gap: 14px;
|
|
margin-bottom: 30px;
|
|
text-align: center;
|
|
}
|
|
|
|
.login-brand img {
|
|
display: block;
|
|
width: 178px;
|
|
height: 64px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.login-brand h1 {
|
|
margin: 0;
|
|
color: var(--color-text-strong);
|
|
font-size: 24px;
|
|
font-weight: 800;
|
|
letter-spacing: 0;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.login-brand p {
|
|
margin: 8px 0 0;
|
|
color: var(--color-text-muted);
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.login-form {
|
|
display: grid;
|
|
gap: 17px;
|
|
}
|
|
|
|
.login-captcha-row {
|
|
display: grid;
|
|
grid-template-columns: 1fr 136px;
|
|
gap: 12px;
|
|
align-items: end;
|
|
}
|
|
|
|
.login-captcha {
|
|
height: 40px;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: 8px;
|
|
background: linear-gradient(180deg, #fff, var(--color-surface-muted));
|
|
color: var(--color-text-strong);
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.login-error {
|
|
margin: 0;
|
|
padding: 10px 12px;
|
|
border-radius: 8px;
|
|
color: var(--color-danger);
|
|
background: rgba(239, 68, 68, 0.1);
|
|
}
|
|
|
|
.login-alert-message {
|
|
margin: 0;
|
|
color: var(--color-text-strong);
|
|
line-height: 1.7;
|
|
}
|
|
|
|
.system-page {
|
|
gap: 28px;
|
|
}
|
|
|
|
.system-page-toolbar {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.system-filter-row {
|
|
max-width: 520px;
|
|
}
|
|
|
|
.system-log-filters {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: 22px;
|
|
grid-template-columns: minmax(320px, 1fr) minmax(220px, 0.32fr) minmax(220px, 0.32fr);
|
|
}
|
|
|
|
.system-log-range {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
}
|
|
|
|
.system-log-range > span {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.system-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.system-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.system-table-card .ui-table {
|
|
min-width: 1080px;
|
|
}
|
|
|
|
.system-table-card .ui-table th {
|
|
background: #e5e7eb;
|
|
color: #7b8494;
|
|
height: 58px;
|
|
}
|
|
|
|
.system-table-card .ui-table td {
|
|
height: 72px;
|
|
}
|
|
|
|
.system-table-card .ui-table tbody tr:nth-child(odd) td {
|
|
background: #ffffff;
|
|
}
|
|
|
|
.system-table-card .ui-table tbody tr:nth-child(even) td {
|
|
background: #fbfcfe;
|
|
}
|
|
|
|
.system-table-card .ui-table tbody tr:hover td {
|
|
background: #f2f5fa;
|
|
}
|
|
|
|
.inline-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 12px;
|
|
}
|
|
|
|
.system-user-form {
|
|
display: grid;
|
|
gap: 24px;
|
|
padding-bottom: 96px;
|
|
}
|
|
|
|
.system-user-form .ui-field__label {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.system-log-detail {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.system-log-detail-card {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
line-height: 1.55;
|
|
max-width: 360px;
|
|
padding: var(--space-3);
|
|
}
|
|
|
|
.system-log-detail-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.system-log-detail-card span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.system-log-detail-card small {
|
|
color: var(--color-selected);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.enterprise-page {
|
|
gap: 28px;
|
|
}
|
|
|
|
.enterprise-page-title {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-2xl);
|
|
font-weight: var(--font-weight-semibold);
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-status-card {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 14px;
|
|
min-height: 96px;
|
|
padding: 0 34px;
|
|
}
|
|
|
|
.enterprise-status-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.enterprise-status-card--pending {
|
|
border-color: rgba(37, 99, 235, 0.26);
|
|
}
|
|
|
|
.enterprise-status-card--approved {
|
|
border-color: rgba(22, 163, 74, 0.28);
|
|
}
|
|
|
|
.enterprise-status-card--rejected {
|
|
border-color: rgba(220, 38, 38, 0.28);
|
|
}
|
|
|
|
.enterprise-review-status {
|
|
align-items: center;
|
|
border-radius: var(--radius-full);
|
|
display: inline-flex;
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
min-height: 30px;
|
|
padding: 0 var(--space-3);
|
|
}
|
|
|
|
.enterprise-review-status--uncertified {
|
|
background: var(--color-surface-muted);
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.enterprise-review-status--pending {
|
|
background: var(--color-info-soft);
|
|
color: var(--color-info);
|
|
}
|
|
|
|
.enterprise-review-status--approved {
|
|
background: var(--color-success-soft);
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.enterprise-review-status--rejected {
|
|
background: var(--color-danger-soft);
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.enterprise-status-card button,
|
|
.enterprise-result button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: 4px;
|
|
}
|
|
|
|
.enterprise-info-card {
|
|
padding: 44px 54px;
|
|
}
|
|
|
|
.enterprise-info-card dl {
|
|
display: grid;
|
|
gap: 34px 120px;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
margin: 0;
|
|
max-width: 1120px;
|
|
}
|
|
|
|
.enterprise-info-card div,
|
|
.enterprise-result dl div {
|
|
display: grid;
|
|
gap: 14px;
|
|
grid-template-columns: 170px minmax(0, 1fr);
|
|
}
|
|
|
|
.enterprise-info-card dt,
|
|
.enterprise-result dt {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.enterprise-info-card dd,
|
|
.enterprise-result dd {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-flow-card {
|
|
min-height: 700px;
|
|
padding: 46px 54px;
|
|
}
|
|
|
|
.enterprise-stepper {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: center;
|
|
margin-bottom: 82px;
|
|
}
|
|
|
|
.enterprise-stepper__item {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 14px;
|
|
}
|
|
|
|
.enterprise-stepper__dot {
|
|
align-items: center;
|
|
background: #d1d5db;
|
|
border-radius: var(--radius-full);
|
|
color: #8b95a5;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-bold);
|
|
height: 44px;
|
|
justify-content: center;
|
|
width: 44px;
|
|
}
|
|
|
|
.enterprise-stepper__dot.is-active,
|
|
.enterprise-stepper__dot.is-complete {
|
|
background: var(--color-selected);
|
|
color: #ffffff;
|
|
}
|
|
|
|
.enterprise-stepper__item strong {
|
|
color: #8b95a5;
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.enterprise-stepper__item strong.is-active {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.enterprise-stepper__arrow {
|
|
color: #8b95a5;
|
|
margin: 0 28px;
|
|
}
|
|
|
|
.enterprise-form-panel,
|
|
.enterprise-verify-panel,
|
|
.enterprise-face-panel {
|
|
display: grid;
|
|
gap: 26px;
|
|
margin-left: 0;
|
|
max-width: 920px;
|
|
}
|
|
|
|
.enterprise-form-panel {
|
|
margin-left: 0;
|
|
}
|
|
|
|
.enterprise-required,
|
|
.enterprise-address-selects > span {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.enterprise-required::first-letter,
|
|
.enterprise-address-selects > span::first-letter {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.enterprise-upload {
|
|
align-items: center;
|
|
border: 2px dashed #dfe4ec;
|
|
color: var(--color-selected);
|
|
display: grid;
|
|
gap: 12px;
|
|
height: 176px;
|
|
justify-items: center;
|
|
max-width: 920px;
|
|
}
|
|
|
|
.enterprise-upload strong {
|
|
color: var(--color-selected);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.enterprise-help,
|
|
.enterprise-form-note,
|
|
.enterprise-verify-panel small {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.7;
|
|
margin: -12px 0 0;
|
|
}
|
|
|
|
.enterprise-address-selects {
|
|
display: grid;
|
|
gap: 12px;
|
|
}
|
|
|
|
.enterprise-address-selects > div {
|
|
display: flex;
|
|
gap: 16px;
|
|
}
|
|
|
|
.enterprise-address-selects .ui-field {
|
|
min-width: 140px;
|
|
width: 236px;
|
|
}
|
|
|
|
.enterprise-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 16px;
|
|
justify-content: flex-end;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.enterprise-actions--center {
|
|
justify-content: center;
|
|
}
|
|
|
|
.enterprise-method-panel {
|
|
display: grid;
|
|
gap: 24px;
|
|
margin: 0 auto;
|
|
max-width: 1060px;
|
|
width: 100%;
|
|
}
|
|
|
|
.enterprise-method-card {
|
|
align-items: center;
|
|
background: #ffffff;
|
|
border: 1px solid #e1e6ef;
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: 22px;
|
|
grid-template-columns: 88px minmax(0, 1fr);
|
|
min-height: 168px;
|
|
padding: 34px;
|
|
text-align: left;
|
|
}
|
|
|
|
.enterprise-method-card.is-selected {
|
|
border-color: var(--color-selected);
|
|
box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.35);
|
|
}
|
|
|
|
.enterprise-method-card svg {
|
|
color: #c8d0dc;
|
|
}
|
|
|
|
.enterprise-method-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 20px;
|
|
}
|
|
|
|
.enterprise-method-card strong span,
|
|
.enterprise-verify-copy em,
|
|
.enterprise-info-alert em,
|
|
.enterprise-qr-section em {
|
|
color: #ff7a00;
|
|
font-style: normal;
|
|
}
|
|
|
|
.enterprise-method-card p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-md);
|
|
line-height: 1.75;
|
|
margin: 4px 0 0;
|
|
}
|
|
|
|
.enterprise-verify-panel,
|
|
.enterprise-face-panel {
|
|
margin-left: 0;
|
|
}
|
|
|
|
.enterprise-verify-panel > p,
|
|
.enterprise-face-panel > p {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 28px;
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-verify-panel > p span,
|
|
.enterprise-face-panel > p span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.enterprise-verify-copy {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.8;
|
|
margin-top: 18px !important;
|
|
}
|
|
|
|
.enterprise-verify-copy em:first-of-type {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.enterprise-verify-panel h2,
|
|
.enterprise-face-panel h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: 22px;
|
|
margin: 24px 0 0;
|
|
}
|
|
|
|
.enterprise-info-alert {
|
|
align-items: flex-start;
|
|
background: #eff6ff;
|
|
border: 1px solid #bfdbfe;
|
|
color: #344054;
|
|
display: flex;
|
|
gap: 14px;
|
|
line-height: 1.8;
|
|
margin-top: 24px;
|
|
max-width: 920px;
|
|
padding: 22px;
|
|
}
|
|
|
|
.enterprise-info-alert svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.enterprise-face-panel {
|
|
max-width: 920px;
|
|
}
|
|
|
|
.enterprise-qr-section {
|
|
display: grid;
|
|
gap: 22px;
|
|
justify-items: center;
|
|
margin-top: 36px;
|
|
text-align: center;
|
|
}
|
|
|
|
.enterprise-legal-summary {
|
|
display: grid;
|
|
gap: 22px;
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-legal-summary div {
|
|
display: flex;
|
|
gap: 28px;
|
|
}
|
|
|
|
.enterprise-legal-summary dt {
|
|
color: var(--color-text-muted);
|
|
min-width: 150px;
|
|
}
|
|
|
|
.enterprise-legal-summary dd {
|
|
color: var(--color-text-strong);
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-qr-section h2,
|
|
.enterprise-qr-section p {
|
|
justify-self: start;
|
|
margin: 0;
|
|
text-align: left;
|
|
}
|
|
|
|
.enterprise-qr-section p {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.8;
|
|
}
|
|
|
|
.enterprise-qr {
|
|
align-items: center;
|
|
border: 2px solid #e1e5ec;
|
|
color: #ff4040;
|
|
display: flex;
|
|
font-size: 34px;
|
|
height: 280px;
|
|
justify-content: center;
|
|
width: 280px;
|
|
}
|
|
|
|
.enterprise-qr-section > span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.enterprise-success-test {
|
|
background: var(--color-success);
|
|
border-color: var(--color-success);
|
|
}
|
|
|
|
.enterprise-result {
|
|
align-items: center;
|
|
display: grid;
|
|
justify-items: center;
|
|
min-height: 610px;
|
|
text-align: center;
|
|
}
|
|
|
|
.enterprise-result > span {
|
|
align-items: center;
|
|
border-radius: var(--radius-full);
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.enterprise-result--success > span,
|
|
.enterprise-result--pending > span {
|
|
background: #00bb38;
|
|
color: #ffffff;
|
|
height: 132px;
|
|
width: 132px;
|
|
}
|
|
|
|
.enterprise-result--pending > span {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.enterprise-result--failed > span {
|
|
border: 5px solid #ff4040;
|
|
color: #ff4040;
|
|
font-size: 62px;
|
|
height: 132px;
|
|
width: 132px;
|
|
}
|
|
|
|
.enterprise-result h2 {
|
|
color: var(--color-text-strong);
|
|
font-size: 28px;
|
|
margin: 28px 0 22px;
|
|
}
|
|
|
|
.enterprise-result dl {
|
|
display: grid;
|
|
gap: 22px;
|
|
margin: 0 0 50px;
|
|
text-align: left;
|
|
}
|
|
|
|
.enterprise-result--failed p {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-result--failed > strong {
|
|
color: #ff7a00;
|
|
font-size: 26px;
|
|
margin: 14px 0 26px;
|
|
}
|
|
|
|
.admin-dashboard-hero {
|
|
background: #ffffff;
|
|
border: 1px solid var(--color-border);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.admin-dashboard-hero h1 {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-dashboard-main-grid {
|
|
grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
|
|
}
|
|
|
|
.admin-metric-grid {
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-signature-rank-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-workload-grid {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-workload-card {
|
|
background: #fbfcff;
|
|
border: 1px solid #edf0f5;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: start;
|
|
min-height: 112px;
|
|
padding: var(--space-4);
|
|
text-align: left;
|
|
transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
|
|
}
|
|
|
|
.admin-workload-card:hover {
|
|
background: #f3f7ff;
|
|
border-color: rgba(37, 99, 235, 0.24);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.admin-workload-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 28px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.admin-workload-card span:not(.ui-tag) {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.admin-alert-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-alert {
|
|
border: 1px solid #edf0f5;
|
|
border-left-width: 4px;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-alert--danger {
|
|
border-left-color: var(--color-danger);
|
|
}
|
|
|
|
.admin-alert--warning {
|
|
border-left-color: var(--color-warning);
|
|
}
|
|
|
|
.admin-alert--info {
|
|
border-left-color: var(--color-selected);
|
|
}
|
|
|
|
.admin-alert > div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.admin-alert strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-alert span,
|
|
.admin-alert p {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-alert p {
|
|
line-height: 1.6;
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-summary-grid {
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.enterprise-query-grid {
|
|
grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) minmax(180px, 1fr) auto;
|
|
}
|
|
|
|
.enterprise-query-actions {
|
|
align-items: end;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.enterprise-inline-tag {
|
|
margin-left: var(--space-2);
|
|
}
|
|
|
|
.enterprise-form {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.enterprise-form-page {
|
|
max-width: 1120px;
|
|
}
|
|
|
|
.enterprise-form-card {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.enterprise-upload-panel {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: 120px 176px minmax(0, 1fr);
|
|
}
|
|
|
|
.enterprise-upload-panel > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.enterprise-upload-panel button,
|
|
.enterprise-upload-button {
|
|
align-items: center;
|
|
background: #ffffff;
|
|
border: 1px dashed var(--color-border-strong);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-selected);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
height: 142px;
|
|
justify-items: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.enterprise-upload-panel p {
|
|
color: var(--color-text-muted);
|
|
line-height: var(--line-height-base);
|
|
margin: 0;
|
|
}
|
|
|
|
.enterprise-info-tip {
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid #bfdbfe;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.enterprise-form-footer {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
padding-top: var(--space-5);
|
|
}
|
|
|
|
.admin-enterprise-detail {
|
|
max-width: 1320px;
|
|
}
|
|
|
|
.admin-detail-backbar {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.admin-detail-backbar > span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-detail-metric-grid {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-detail-metric-grid .mini-status-card {
|
|
align-items: stretch;
|
|
}
|
|
|
|
.admin-detail-metric-grid .mini-status-card .ui-button {
|
|
margin-top: var(--space-3);
|
|
}
|
|
|
|
.admin-detail-metric-grid--compact {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
.page-inline-hint {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.admin-enterprise-profile {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.admin-enterprise-profile__main {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.admin-enterprise-profile__icon {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 52px;
|
|
justify-content: center;
|
|
width: 52px;
|
|
}
|
|
|
|
.admin-enterprise-profile h1 {
|
|
font-size: 28px;
|
|
margin: 0 0 var(--space-1);
|
|
}
|
|
|
|
.admin-enterprise-profile p {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-enterprise-profile > .ui-button {
|
|
justify-self: end;
|
|
margin-top: -72px;
|
|
}
|
|
|
|
.admin-enterprise-profile dl {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-enterprise-profile dt {
|
|
color: var(--color-text-muted);
|
|
font-size: 13px;
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
.admin-enterprise-profile dd {
|
|
color: var(--color-text-strong);
|
|
font-size: 18px;
|
|
font-weight: var(--font-weight-semibold);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-business-tabs {
|
|
background: var(--color-surface-muted);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
margin-inline: auto;
|
|
max-width: 560px;
|
|
padding: var(--space-2);
|
|
}
|
|
|
|
.admin-business-tabs button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
justify-content: center;
|
|
min-height: 44px;
|
|
}
|
|
|
|
.admin-business-tabs button.active {
|
|
background: var(--color-surface);
|
|
box-shadow: var(--shadow-sm);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-app-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-app-card {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-app-card header {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.admin-app-card h3 {
|
|
font-size: 20px;
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-app-card header button {
|
|
align-items: center;
|
|
background: var(--color-border-strong);
|
|
border: 0;
|
|
border-radius: 999px;
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
font-size: 13px;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-2);
|
|
padding: 5px 10px;
|
|
}
|
|
|
|
.admin-app-card header button.is-on {
|
|
background: var(--color-selected-soft);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-app-card dl {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-app-card dl div {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.admin-app-card dt {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-app-card dd {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-app-card footer {
|
|
border-top: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
padding-top: var(--space-4);
|
|
}
|
|
|
|
.admin-section-footer {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.admin-mms-signature-summary {
|
|
grid-template-columns: 28px 1.4fr 1fr 1fr 1fr 1fr 130px;
|
|
}
|
|
|
|
.admin-signature-spacer {
|
|
width: 28px;
|
|
}
|
|
|
|
.admin-report-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.admin-report-tabs {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
overflow: hidden;
|
|
}
|
|
|
|
.admin-report-tabs button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: center;
|
|
min-height: 86px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-report-tabs button.active {
|
|
background: var(--color-surface);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.admin-report-tabs strong {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.admin-report-carrier--mobile strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-report-carrier--unicom strong {
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
.admin-report-carrier--telecom strong {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.admin-report-tabs span {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: 6px;
|
|
margin-inline: 4px;
|
|
}
|
|
|
|
.admin-report-tabs i {
|
|
border-radius: 999px;
|
|
display: inline-block;
|
|
height: 8px;
|
|
width: 8px;
|
|
}
|
|
|
|
.admin-report-tabs i.is-success {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.admin-report-tabs i.is-info {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.admin-report-tabs i.is-danger {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.admin-report-carrier-detail {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.admin-report-carrier-title {
|
|
align-items: center;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-report-carrier-title div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-report-carrier-title strong {
|
|
color: var(--color-selected);
|
|
font-size: 18px;
|
|
}
|
|
|
|
.admin-report-carrier-title span,
|
|
.admin-report-carrier-title p {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-report-carrier-title p {
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-report-carrier-title p span {
|
|
color: var(--color-success);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-report-carrier-title p em {
|
|
color: var(--color-selected);
|
|
font-style: normal;
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-report-record-list {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.admin-report-record-list article {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-report-record-list h4 {
|
|
align-items: center;
|
|
color: var(--color-text-strong);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-report-record-list p {
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-report-record-list p span {
|
|
color: var(--color-text);
|
|
margin-left: var(--space-2);
|
|
}
|
|
|
|
.admin-drainage-report-meta {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-drainage-report-meta p {
|
|
color: var(--color-text);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-drainage-report-meta a {
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-app-form-page {
|
|
max-width: 1120px;
|
|
}
|
|
|
|
.admin-app-form-card {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.admin-app-form-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-app-form-row {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-app-form-row--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.admin-app-form-row > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-app-form-tip {
|
|
align-items: flex-start;
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid #bfdbfe;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
line-height: var(--line-height-base);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-app-form-tip svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.admin-app-form-price-note {
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.app-create-modal {
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.app-create-modal__hint {
|
|
background: var(--color-selected-soft);
|
|
border: 1px solid #bfdbfe;
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.app-create-modal__hint strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.app-create-modal__hint span {
|
|
color: var(--color-text-muted);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.admin-app-route-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-app-route-card {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
min-width: 0;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-app-route-card.is-selected {
|
|
background: var(--color-selected-soft);
|
|
border-color: #bfdbfe;
|
|
}
|
|
|
|
.admin-app-route-card header {
|
|
align-items: flex-start;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
}
|
|
|
|
.admin-app-route-card header > span:first-child {
|
|
align-items: center;
|
|
background: #ffffff;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 34px;
|
|
justify-content: center;
|
|
width: 34px;
|
|
}
|
|
|
|
.admin-app-route-card header strong,
|
|
.admin-app-route-card header small {
|
|
display: block;
|
|
}
|
|
|
|
.admin-app-route-card header small,
|
|
.admin-app-route-card p {
|
|
color: var(--color-text-muted);
|
|
line-height: var(--line-height-base);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-switch {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
gap: var(--space-3);
|
|
justify-self: start;
|
|
}
|
|
|
|
.admin-switch span {
|
|
background: var(--color-border-strong);
|
|
border-radius: 999px;
|
|
display: inline-flex;
|
|
height: 24px;
|
|
position: relative;
|
|
width: 44px;
|
|
}
|
|
|
|
.admin-switch span::after {
|
|
background: var(--color-surface);
|
|
border-radius: 999px;
|
|
box-shadow: var(--shadow-sm);
|
|
content: "";
|
|
height: 18px;
|
|
left: 3px;
|
|
position: absolute;
|
|
top: 3px;
|
|
transition: transform var(--transition-fast);
|
|
width: 18px;
|
|
}
|
|
|
|
.admin-switch.is-on {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-switch.is-on span {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.admin-switch.is-on span::after {
|
|
transform: translateX(20px);
|
|
}
|
|
|
|
.breadcrumb-line {
|
|
align-items: center;
|
|
align-self: flex-start;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
max-width: 100%;
|
|
min-height: 40px;
|
|
}
|
|
|
|
.breadcrumb-line__icon {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
flex: 0 0 auto;
|
|
height: 40px;
|
|
justify-content: center;
|
|
width: 40px;
|
|
}
|
|
|
|
.breadcrumb-line h1 {
|
|
align-items: center;
|
|
color: var(--color-text-strong);
|
|
display: flex;
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-4);
|
|
letter-spacing: 0;
|
|
line-height: 1.25;
|
|
margin: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.page-heading > div:has(.breadcrumb-line) > h1 {
|
|
display: none;
|
|
}
|
|
|
|
.channel-report-heading h1 {
|
|
display: none;
|
|
}
|
|
|
|
.channel-route-modal__title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-route-modal__title > span {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 40px;
|
|
justify-content: center;
|
|
width: 40px;
|
|
}
|
|
|
|
.channel-route-modal__title h2,
|
|
.channel-route-modal__title p {
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-route-modal__title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.channel-route-modal__empty {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px dashed var(--color-border-strong);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
margin: 0;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-route-modal__selected {
|
|
align-items: center;
|
|
background: color-mix(in srgb, var(--color-success) 8%, var(--color-surface));
|
|
border: 1px solid color-mix(in srgb, var(--color-success) 35%, var(--color-border));
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-success);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-route-modal__selected strong,
|
|
.channel-route-modal__selected span {
|
|
display: block;
|
|
}
|
|
|
|
.channel-route-modal__selected span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.admin-enterprise-profile__main {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-enterprise-profile__icon {
|
|
height: 40px;
|
|
width: 40px;
|
|
}
|
|
|
|
.admin-enterprise-profile__main h1 {
|
|
font-size: var(--font-size-lg);
|
|
font-weight: var(--font-weight-semibold);
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.admin-audit-page {
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.audit-filter-card,
|
|
.sms-audit-filter {
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.sms-audit-filter h2 {
|
|
border-left: 5px solid var(--color-selected);
|
|
margin-bottom: var(--space-5);
|
|
padding-left: var(--space-3);
|
|
}
|
|
|
|
.audit-filter-grid {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.audit-filter-grid--enterprise {
|
|
grid-template-columns: minmax(280px, 1.4fr) minmax(220px, 1fr) auto;
|
|
}
|
|
|
|
.audit-filter-grid--template {
|
|
grid-template-columns: minmax(320px, 1.4fr) minmax(220px, 0.8fr) auto;
|
|
}
|
|
|
|
.audit-filter-grid--sms {
|
|
grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(220px, 1.2fr) minmax(160px, 1fr) auto;
|
|
}
|
|
|
|
.audit-filter-actions {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.audit-table-card {
|
|
padding: 0;
|
|
}
|
|
|
|
.audit-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.enterprise-audit-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.enterprise-audit-detail section {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.enterprise-audit-detail h3 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
margin: 0 0 var(--space-2);
|
|
}
|
|
|
|
.enterprise-audit-detail div {
|
|
display: grid;
|
|
gap: 4px;
|
|
}
|
|
|
|
.enterprise-audit-detail span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.enterprise-audit-detail strong {
|
|
color: var(--color-text-strong);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.enterprise-audit-detail__remark {
|
|
border-top: 1px solid var(--color-border);
|
|
padding-top: var(--space-3);
|
|
}
|
|
|
|
.audit-link {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-1);
|
|
padding: 0;
|
|
}
|
|
|
|
.audit-link--success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.audit-link--danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.audit-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--space-3);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.sms-bulk-actions {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
margin-top: var(--space-6);
|
|
padding-top: var(--space-5);
|
|
}
|
|
|
|
.sms-bulk-actions .ui-button--secondary {
|
|
background: var(--color-success);
|
|
border-color: var(--color-success);
|
|
color: white;
|
|
}
|
|
|
|
.sms-audit-toolbar {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--space-5);
|
|
padding: var(--space-3) 0;
|
|
}
|
|
|
|
.sms-audit-toolbar > div {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.sms-audit-list {
|
|
padding: 0;
|
|
}
|
|
|
|
.sms-audit-head,
|
|
.sms-audit-row {
|
|
display: grid;
|
|
grid-template-columns: 42px minmax(190px, 1.1fr) minmax(320px, 1.8fr) minmax(120px, 0.7fr) minmax(130px, 0.7fr) minmax(130px, 0.7fr) 112px;
|
|
}
|
|
|
|
.sms-audit-head {
|
|
background: var(--color-surface-subtle);
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.sms-audit-row {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
padding: var(--space-5) var(--space-4);
|
|
}
|
|
|
|
.sms-audit-row:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.sms-audit-customer,
|
|
.sms-audit-count,
|
|
.sms-audit-result,
|
|
.sms-audit-actions {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.sms-audit-customer span,
|
|
.sms-audit-customer small,
|
|
.sms-audit-count {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.sms-audit-content {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
line-height: 1.7;
|
|
margin: 0;
|
|
max-height: 92px;
|
|
overflow: hidden;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.sms-audit-count a,
|
|
.sms-audit-count button {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.sms-audit-count button {
|
|
background: transparent;
|
|
border: 0;
|
|
cursor: pointer;
|
|
justify-self: start;
|
|
padding: 0;
|
|
}
|
|
|
|
.sms-audit-reasons {
|
|
align-items: flex-start;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.audit-dot {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.audit-dot::before {
|
|
border-radius: 999px;
|
|
content: '';
|
|
height: 9px;
|
|
width: 9px;
|
|
}
|
|
|
|
.audit-dot--warning {
|
|
color: #b7791f;
|
|
}
|
|
|
|
.audit-dot--warning::before {
|
|
background: #d97706;
|
|
}
|
|
|
|
.audit-dot--success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.audit-dot--success::before {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.audit-dot--danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.audit-dot--danger::before {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.sms-audit-result small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.sms-audit-actions .ui-button {
|
|
justify-content: center;
|
|
}
|
|
|
|
.sms-audit-actions .ui-button--secondary {
|
|
background: transparent;
|
|
border-color: #86efac;
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.sms-audit-actions .ui-button--danger {
|
|
background: transparent;
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.sms-audit-edit {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.sms-audit-edit__meta {
|
|
background: var(--color-surface-subtle);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.sms-audit-edit__meta span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.sms-audit-edit__meta strong {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.sms-audit-edit__count {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sms-audit-edit__count strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.sms-reject-modal {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.reject-reason-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-3);
|
|
margin-top: var(--space-3);
|
|
}
|
|
|
|
.reject-reason-tags button {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: 999px;
|
|
color: var(--color-text);
|
|
cursor: pointer;
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: var(--space-2) var(--space-4);
|
|
}
|
|
|
|
.reject-reason-tags button:hover {
|
|
border-color: var(--color-selected);
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.audit-collapse-link {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
cursor: pointer;
|
|
justify-self: start;
|
|
padding: 0;
|
|
}
|
|
|
|
.phone-list-modal {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.phone-list-toolbar {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.phone-list-toolbar > label {
|
|
width: 150px;
|
|
}
|
|
|
|
.phone-list-toolbar > div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.phone-list-table {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.phone-list-table .ui-table-wrap {
|
|
border: 0;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.phone-list-table .ui-table tbody tr:nth-child(even) {
|
|
background: var(--color-surface-subtle);
|
|
}
|
|
|
|
.sms-channel-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.sms-channel-filter {
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.sms-channel-filter-grid {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr) auto;
|
|
}
|
|
|
|
.sms-channel-table {
|
|
overflow-x: auto;
|
|
padding: 0;
|
|
}
|
|
|
|
.sms-channel-table__head,
|
|
.sms-channel-table__row {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: minmax(150px, 1.2fr) 88px 86px 96px minmax(210px, 1.35fr) 190px;
|
|
min-width: 860px;
|
|
}
|
|
|
|
.sms-channel-table__head {
|
|
background: var(--color-surface-subtle);
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: var(--space-4) var(--space-5);
|
|
}
|
|
|
|
.sms-channel-table__row {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
min-height: 126px;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.sms-channel-table__row:nth-child(odd) {
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.sms-channel-total {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
|
|
.sms-channel-identity {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-width: 0;
|
|
}
|
|
|
|
.sms-channel-identity strong {
|
|
line-height: 1.45;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.sms-channel-identity span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.sms-channel-carrier-price {
|
|
align-items: flex-start;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
justify-items: start;
|
|
}
|
|
|
|
.sms-channel-status-cell {
|
|
align-items: flex-start;
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: start;
|
|
}
|
|
|
|
.sms-channel-status-cell button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: 4px;
|
|
padding: 0;
|
|
}
|
|
|
|
.sms-channel-status-cell button:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.sms-channel-quality {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
padding: var(--space-3);
|
|
}
|
|
|
|
.sms-channel-rate {
|
|
display: grid;
|
|
gap: 3px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sms-channel-rate small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.sms-channel-rate strong {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.sms-channel-rate--success strong {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.sms-channel-rate--warning strong {
|
|
color: #f59e0b;
|
|
}
|
|
|
|
.sms-channel-rate--danger strong {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.sms-channel-rate span {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.sms-channel-actions {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
width: 190px;
|
|
}
|
|
|
|
.sms-channel-actions button {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-1);
|
|
justify-content: center;
|
|
min-height: 34px;
|
|
font-size: var(--font-size-sm);
|
|
padding: var(--space-1);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sms-channel-actions button:hover {
|
|
background: var(--color-accent-soft);
|
|
border-color: var(--color-selected);
|
|
}
|
|
|
|
.sms-channel-actions button.is-warning {
|
|
color: #ea580c;
|
|
}
|
|
|
|
.sms-channel-actions button.is-success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.sms-channel-actions button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-confirm {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-confirm strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.channel-confirm span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-confirm p {
|
|
color: var(--color-text);
|
|
line-height: 1.7;
|
|
margin: var(--space-3) 0 0;
|
|
}
|
|
|
|
.channel-log-modal,
|
|
.channel-log-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-connection-summary {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-connection-summary article {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(130px, 1fr) auto minmax(110px, auto) minmax(180px, 1.2fr);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-connection-summary span {
|
|
color: var(--color-text-muted);
|
|
display: block;
|
|
font-size: var(--font-size-sm);
|
|
margin-bottom: var(--space-1);
|
|
}
|
|
|
|
.channel-connection-summary strong {
|
|
color: var(--color-text-strong);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.channel-connection-summary p {
|
|
color: var(--color-danger);
|
|
grid-column: 1 / -1;
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-log-item {
|
|
align-items: start;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: 150px minmax(0, 1fr);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-log-item strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.channel-log-item span {
|
|
color: var(--color-text-muted);
|
|
display: block;
|
|
font-size: var(--font-size-sm);
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.channel-log-item pre {
|
|
color: var(--color-text);
|
|
font-family: var(--font-family-mono);
|
|
font-size: var(--font-size-sm);
|
|
line-height: 1.65;
|
|
margin: var(--space-1) 0 0;
|
|
overflow-wrap: anywhere;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.sms-channel-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
padding: var(--space-4) var(--space-5);
|
|
position: sticky;
|
|
right: 0;
|
|
}
|
|
|
|
.sms-channel-pagination > label {
|
|
width: 150px;
|
|
}
|
|
|
|
.sms-channel-form {
|
|
display: grid;
|
|
gap: var(--space-8);
|
|
}
|
|
|
|
.sms-channel-form section {
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding-bottom: var(--space-7);
|
|
}
|
|
|
|
.sms-channel-form section:last-child {
|
|
border-bottom: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.sms-channel-form h3 {
|
|
border-left: 5px solid var(--color-selected);
|
|
padding-left: var(--space-3);
|
|
}
|
|
|
|
.sms-channel-form-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(170px, 180px) minmax(0, 1fr);
|
|
}
|
|
|
|
.sms-channel-form-grid > .ui-field,
|
|
.sms-channel-radio-row,
|
|
.sms-channel-inline-field {
|
|
grid-column: 2;
|
|
}
|
|
|
|
.sms-channel-form-grid .ui-field__label,
|
|
.sms-channel-radio-row > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sms-channel-radio-row {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-8);
|
|
min-height: 42px;
|
|
}
|
|
|
|
.sms-channel-radio-row label {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.sms-channel-inline-field {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(0, 1fr) 160px;
|
|
}
|
|
|
|
.channel-report-page {
|
|
min-width: 1100px;
|
|
}
|
|
|
|
.channel-report-hero {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.channel-report-heading {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.channel-report-heading h1 {
|
|
border-left: 5px solid var(--color-selected);
|
|
font-size: 26px;
|
|
letter-spacing: 0;
|
|
margin: 0;
|
|
padding-left: var(--space-4);
|
|
}
|
|
|
|
.channel-report-config-actions {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
margin-left: auto;
|
|
}
|
|
|
|
.channel-report-filter {
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.channel-report-filter-grid {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(240px, 1fr) minmax(200px, 0.8fr) minmax(360px, 1.4fr);
|
|
}
|
|
|
|
.channel-report-filter-footer {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: var(--space-5);
|
|
padding-top: var(--space-5);
|
|
}
|
|
|
|
.channel-report-filter-footer > div {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-report-table {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.channel-report-table__head,
|
|
.channel-report-row {
|
|
display: grid;
|
|
grid-template-columns: 34px minmax(220px, 1.2fr) 112px 120px 120px 130px minmax(280px, 1.35fr) 132px;
|
|
}
|
|
|
|
.channel-report-table__head {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
min-height: 56px;
|
|
padding: 0 var(--space-5);
|
|
}
|
|
|
|
.channel-report-row {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
min-height: 132px;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.channel-report-row--signature {
|
|
background: var(--color-surface);
|
|
}
|
|
|
|
.channel-report-row--drainage {
|
|
background: #fff9f5;
|
|
border-left: 4px solid var(--color-danger);
|
|
padding-left: calc(var(--space-5) - 4px);
|
|
}
|
|
|
|
.channel-report-name {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-report-name > button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
padding: var(--space-1);
|
|
}
|
|
|
|
.channel-report-name > button:disabled {
|
|
cursor: default;
|
|
opacity: 0.25;
|
|
}
|
|
|
|
.channel-report-name > span {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-report-name strong {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.channel-report-name small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-report-name small b {
|
|
background: var(--color-accent-soft);
|
|
border-radius: 999px;
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
margin-left: var(--space-2);
|
|
min-width: 24px;
|
|
padding: 2px var(--space-2);
|
|
}
|
|
|
|
.channel-report-name--flow {
|
|
padding-left: 36px;
|
|
}
|
|
|
|
.channel-report-name--flow i {
|
|
background: var(--color-danger);
|
|
border-radius: 50%;
|
|
height: 9px;
|
|
width: 9px;
|
|
}
|
|
|
|
.channel-report-date {
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.channel-report-stats {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
min-width: 260px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-report-stats span {
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-report-stats strong {
|
|
margin-left: var(--space-1);
|
|
}
|
|
|
|
.channel-report-stats b {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.channel-report-stats .is-success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.channel-report-stats .is-warning {
|
|
color: #ea580c;
|
|
}
|
|
|
|
.channel-report-stats .is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-report-actions {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
justify-items: start;
|
|
}
|
|
|
|
.channel-report-actions button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-2);
|
|
padding: 0;
|
|
}
|
|
|
|
.channel-report-actions button.is-warning {
|
|
color: #ea580c;
|
|
}
|
|
|
|
.channel-report-actions button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-report-empty {
|
|
color: var(--color-text-muted);
|
|
padding: var(--space-10);
|
|
text-align: center;
|
|
}
|
|
|
|
.channel-report-detail {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.channel-report-detail > strong {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
|
|
.channel-report-detail p {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: grid;
|
|
grid-template-columns: 150px 1fr;
|
|
margin: 0;
|
|
padding-bottom: var(--space-3);
|
|
}
|
|
|
|
.channel-report-detail p > span:first-child {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-signature-title h2,
|
|
.channel-signature-title p {
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-signature-title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-regular);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.channel-signature-detail {
|
|
display: grid;
|
|
gap: var(--space-8);
|
|
}
|
|
|
|
.channel-signature-detail section {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.channel-signature-detail h3 {
|
|
border-left: 5px solid var(--color-selected);
|
|
font-size: var(--font-size-lg);
|
|
letter-spacing: 0;
|
|
margin: 0;
|
|
padding-left: var(--space-3);
|
|
}
|
|
|
|
.channel-signature-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.channel-signature-grid__wide,
|
|
.channel-signature-grid > .channel-signature-upload:first-of-type:last-child {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.channel-signature-detail input[readonly] {
|
|
background: var(--color-surface-subtle);
|
|
color: var(--color-text-strong);
|
|
cursor: default;
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.channel-signature-upload {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-signature-upload > span {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.channel-signature-upload > div {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: center;
|
|
min-height: 68px;
|
|
}
|
|
|
|
.channel-status-title h2,
|
|
.channel-status-title p {
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-status-title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-regular);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.channel-status-form {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.channel-status-options {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.channel-status-options button {
|
|
background: var(--color-surface);
|
|
border: 2px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-strong);
|
|
cursor: pointer;
|
|
font: inherit;
|
|
font-weight: var(--font-weight-semibold);
|
|
min-height: 58px;
|
|
position: relative;
|
|
}
|
|
|
|
.channel-status-options button.is-info {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.channel-status-options button.is-success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.channel-status-options button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-status-options button.is-warning {
|
|
color: #a16207;
|
|
}
|
|
|
|
.channel-status-options button.is-selected {
|
|
border-color: var(--color-selected);
|
|
box-shadow: 0 0 0 2px var(--color-accent-soft);
|
|
}
|
|
|
|
.channel-status-options button > span {
|
|
align-items: center;
|
|
background: var(--color-selected);
|
|
border-radius: 0 var(--radius-sm) 0 var(--radius-sm);
|
|
color: white;
|
|
display: flex;
|
|
height: 30px;
|
|
justify-content: center;
|
|
position: absolute;
|
|
right: -2px;
|
|
top: -2px;
|
|
width: 34px;
|
|
}
|
|
|
|
.channel-field-config-title h2,
|
|
.channel-field-config-title p {
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-field-config-title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-regular);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.channel-field-config {
|
|
display: grid;
|
|
grid-template-columns: minmax(300px, 0.9fr) minmax(380px, 1.1fr);
|
|
margin: calc(-1 * var(--space-6));
|
|
min-height: 620px;
|
|
}
|
|
|
|
.channel-field-config > section {
|
|
display: grid;
|
|
grid-template-rows: auto auto minmax(0, 1fr);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.channel-field-pool {
|
|
border-right: 1px solid var(--color-border);
|
|
}
|
|
|
|
.channel-field-section-head {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-bottom: var(--space-4);
|
|
}
|
|
|
|
.channel-field-section-head h3,
|
|
.channel-field-section-head p {
|
|
margin: 0;
|
|
}
|
|
|
|
.channel-field-section-head p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.channel-field-pool-list,
|
|
.channel-selected-field-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
margin-top: var(--space-4);
|
|
max-height: 520px;
|
|
overflow-y: auto;
|
|
padding-right: var(--space-2);
|
|
}
|
|
|
|
.channel-field-pool-list > button {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-strong);
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
min-height: 58px;
|
|
padding: var(--space-3) var(--space-4);
|
|
text-align: left;
|
|
}
|
|
|
|
.channel-field-pool-list > button:hover {
|
|
background: var(--color-accent-soft);
|
|
border-color: var(--color-selected);
|
|
}
|
|
|
|
.channel-field-pool-list > button > span {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-field-pool-list > button > span:last-child {
|
|
color: var(--color-selected);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.channel-selected-fields {
|
|
background: var(--color-surface-subtle);
|
|
grid-template-rows: auto minmax(0, 1fr) !important;
|
|
}
|
|
|
|
.channel-selected-field-list article {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-selected-field-head {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-selected-field-index {
|
|
align-items: center;
|
|
background: var(--color-selected);
|
|
border-radius: var(--radius-sm);
|
|
color: white;
|
|
display: inline-flex;
|
|
height: 30px;
|
|
justify-content: center;
|
|
width: 30px;
|
|
}
|
|
|
|
.channel-selected-field-order {
|
|
display: flex;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.channel-selected-field-order button,
|
|
.channel-selected-field-controls > button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-text-muted);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
padding: var(--space-1);
|
|
}
|
|
|
|
.channel-selected-field-order button:disabled {
|
|
cursor: default;
|
|
opacity: 0.3;
|
|
}
|
|
|
|
.channel-selected-field-controls {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.channel-selected-field-controls label {
|
|
align-items: center;
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-selected-field-controls > button {
|
|
color: var(--color-danger);
|
|
margin-left: auto;
|
|
}
|
|
|
|
.mms-channel-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.mms-channel-filter {
|
|
align-items: center;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(260px, 1fr) 180px 180px auto;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.mms-channel-list {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.mms-channel-list .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.mms-channel-list .ui-table {
|
|
min-width: 900px;
|
|
}
|
|
|
|
.mms-channel-list .ui-table th,
|
|
.mms-channel-list .ui-table td {
|
|
padding: var(--space-4);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.mms-channel-list .ui-table tbody tr:nth-child(even) {
|
|
background: var(--color-surface-subtle);
|
|
}
|
|
|
|
.mms-channel-identity {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 0;
|
|
}
|
|
|
|
.mms-channel-identity span,
|
|
.mms-channel-identity small {
|
|
color: var(--color-text-muted);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.mms-channel-identity small {
|
|
font-size: var(--font-size-xs);
|
|
}
|
|
|
|
.mms-channel-carrier {
|
|
align-items: flex-start;
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: start;
|
|
}
|
|
|
|
.mms-channel-quality {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
padding: var(--space-3);
|
|
}
|
|
|
|
.mms-channel-metric {
|
|
display: grid;
|
|
gap: 3px;
|
|
}
|
|
|
|
.mms-channel-metric small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.mms-channel-metric strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.mms-channel-metric--success strong {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.mms-channel-metric--warning strong {
|
|
color: #ea580c;
|
|
}
|
|
|
|
.mms-channel-metric--danger strong {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.mms-channel-actions {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.mms-channel-modal-title h2,
|
|
.mms-channel-modal-title p {
|
|
margin: 0;
|
|
}
|
|
|
|
.mms-channel-modal-title p {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-regular);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.mms-channel-form {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.mms-channel-form__wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.sms-channel-group-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.channel-group-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
|
|
}
|
|
|
|
.channel-group-filter__actions {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-group-list {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.channel-group-config-list {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.channel-group-config-item {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: minmax(180px, 1.15fr) minmax(210px, 0.9fr) minmax(200px, 0.95fr) minmax(220px, 1.2fr) minmax(82px, auto);
|
|
min-width: 0;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-group-config-item__identity {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-group-config-item__icon {
|
|
align-items: center;
|
|
background: #eef5ff;
|
|
border: 1px solid #cfe2ff;
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
flex: 0 0 auto;
|
|
height: 38px;
|
|
justify-content: center;
|
|
width: 38px;
|
|
}
|
|
|
|
.channel-group-config-item__identity div {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-group-config-item__identity strong {
|
|
color: var(--color-text-strong);
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.channel-group-config-item__identity span:last-child,
|
|
.channel-group-config-item__metrics span,
|
|
.channel-group-config-item__policy span,
|
|
.channel-group-config-item__channels span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-group-config-item__metrics {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-group-config-item__metrics div {
|
|
border-left: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
padding-left: var(--space-3);
|
|
}
|
|
|
|
.channel-group-config-item__metrics strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.channel-group-config-item__policy {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-3);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-group-config-item__policy span {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-1);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.channel-group-config-item__channels {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-2);
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-group-config-item__channels span {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
max-width: 160px;
|
|
overflow: hidden;
|
|
padding: var(--space-1) var(--space-2);
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.channel-group-config-item__actions {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
justify-self: end;
|
|
min-width: 82px;
|
|
}
|
|
|
|
.channel-group-config-item__actions button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-1);
|
|
padding: 0;
|
|
}
|
|
|
|
.channel-group-config-item__actions button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-group-form-page {
|
|
min-width: 1040px;
|
|
}
|
|
|
|
.channel-group-form-section {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.channel-group-form-section h2 {
|
|
border-bottom: 1px solid var(--color-border);
|
|
border-left: 5px solid var(--color-selected);
|
|
margin: 0;
|
|
padding: 0 0 var(--space-4) var(--space-3);
|
|
}
|
|
|
|
.channel-group-base-form {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
grid-template-columns: 190px minmax(0, 1fr);
|
|
}
|
|
|
|
.channel-group-base-form > .ui-field,
|
|
.channel-group-retry-limit,
|
|
.channel-group-radio-row,
|
|
.channel-group-switch-row {
|
|
grid-column: 2;
|
|
}
|
|
|
|
.channel-group-radio-row,
|
|
.channel-group-switch-row {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-7);
|
|
min-height: 42px;
|
|
}
|
|
|
|
.channel-group-radio-row > span,
|
|
.channel-group-switch-row > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.channel-group-radio-row label {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.channel-group-switch-row button {
|
|
background: #d1d5db;
|
|
border: 0;
|
|
border-radius: 999px;
|
|
cursor: pointer;
|
|
height: 30px;
|
|
padding: 3px;
|
|
transition: background 0.18s ease;
|
|
width: 54px;
|
|
}
|
|
|
|
.channel-group-switch-row button i {
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
box-shadow: var(--shadow-sm);
|
|
display: block;
|
|
height: 24px;
|
|
transition: transform 0.18s ease;
|
|
width: 24px;
|
|
}
|
|
|
|
.channel-group-switch-row button.is-on {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.channel-group-switch-row button.is-on i {
|
|
transform: translateX(24px);
|
|
}
|
|
|
|
.channel-group-row-actions {
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.channel-group-row-actions button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-1);
|
|
padding: 0;
|
|
}
|
|
|
|
.channel-group-row-actions button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-group-retry-limit {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: 150px 150px minmax(220px, 1fr);
|
|
}
|
|
|
|
.channel-group-retry-limit > span {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.channel-group-retry-limit small {
|
|
align-self: center;
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-route-card-grid {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(3, minmax(220px, 1fr));
|
|
}
|
|
|
|
.channel-route-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
min-height: 188px;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-route-card > div {
|
|
align-items: flex-start;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.channel-route-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.channel-route-card span,
|
|
.channel-route-card small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.channel-route-card p {
|
|
color: var(--color-text);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1.5;
|
|
margin: 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.channel-route-card footer {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
margin-top: var(--space-1);
|
|
padding-top: var(--space-3);
|
|
}
|
|
|
|
.channel-route-card footer button {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-1);
|
|
padding: 0;
|
|
}
|
|
|
|
.channel-route-card footer button.is-danger {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.channel-route-empty {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px dashed var(--color-border-strong);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: center;
|
|
min-height: 120px;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.channel-route-modal {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
min-width: 0;
|
|
}
|
|
|
|
.channel-route-modal__channel-select {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.channel-route-modal .ui-select__dropdown {
|
|
max-height: min(360px, calc(100vh - 360px));
|
|
}
|
|
|
|
.channel-route-modal .ui-select__dropdown button {
|
|
align-items: flex-start;
|
|
height: auto;
|
|
line-height: 1.45;
|
|
min-height: 42px;
|
|
padding: var(--space-2) var(--space-3);
|
|
white-space: normal;
|
|
}
|
|
|
|
.channel-route-modal__note {
|
|
align-items: center;
|
|
background: #eff6ff;
|
|
border: 1px solid #bfdbfe;
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.channel-route-modal__note svg {
|
|
color: var(--color-selected);
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.channel-group-form-footer {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
justify-content: center;
|
|
padding: var(--space-4) 0;
|
|
}
|
|
|
|
.channel-group-form-footer .ui-button {
|
|
min-width: 160px;
|
|
}
|
|
|
|
.sms-test-title {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.sms-test-title span {
|
|
align-items: center;
|
|
background: rgba(255, 255, 255, 0.18);
|
|
border-radius: var(--radius-md);
|
|
color: white;
|
|
display: inline-flex;
|
|
height: 58px;
|
|
justify-content: center;
|
|
width: 58px;
|
|
}
|
|
|
|
.sms-test-title h2,
|
|
.sms-test-title p {
|
|
color: white;
|
|
margin: 0;
|
|
}
|
|
|
|
.sms-test-title p {
|
|
margin-top: var(--space-1);
|
|
opacity: 0.86;
|
|
}
|
|
|
|
.ui-modal__title:has(.sms-test-title) {
|
|
margin: calc(-1 * var(--space-6)) calc(-1 * var(--space-7));
|
|
padding: var(--space-6) var(--space-7);
|
|
width: calc(100% + (var(--space-7) * 2));
|
|
}
|
|
|
|
.ui-modal__header:has(.sms-test-title) {
|
|
background: var(--color-selected);
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.ui-modal__header:has(.sms-test-title) .ui-button {
|
|
color: white;
|
|
}
|
|
|
|
.sms-test-modal {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.sms-test-channel {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.sms-test-channel span {
|
|
border-right: 1px solid var(--color-border);
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding-right: var(--space-4);
|
|
}
|
|
|
|
.sms-test-channel strong {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
|
|
.sms-test-counter {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sms-test-counter strong {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sms-test-counter i {
|
|
border-left: 1px solid var(--color-border);
|
|
display: inline-block;
|
|
height: 18px;
|
|
margin: 0 var(--space-3);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.sms-test-note {
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.sms-test-result {
|
|
background: color-mix(in srgb, var(--color-success) 8%, var(--color-surface));
|
|
border: 1px solid color-mix(in srgb, var(--color-success) 35%, var(--color-border));
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.sms-test-result__summary {
|
|
align-items: center;
|
|
color: var(--color-success);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.sms-test-result__summary strong,
|
|
.sms-test-result__summary span {
|
|
display: block;
|
|
}
|
|
|
|
.sms-test-result__summary span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.sms-test-result__records {
|
|
border-top: 1px solid color-mix(in srgb, var(--color-success) 25%, var(--color-border));
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
padding-top: var(--space-3);
|
|
}
|
|
|
|
.sms-test-result__records div {
|
|
align-items: center;
|
|
display: flex;
|
|
font-size: var(--font-size-sm);
|
|
justify-content: space-between;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.sms-test-result__records code {
|
|
color: var(--color-text-muted);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.admin-sms-task-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-task-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(240px, 1.2fr) auto;
|
|
}
|
|
|
|
.admin-task-filter__actions {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-task-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-task-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-task-table-card .ui-table {
|
|
min-width: 1180px;
|
|
}
|
|
|
|
.admin-task-table-card .ui-table th,
|
|
.admin-task-table-card .ui-table td {
|
|
padding: var(--space-4);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.admin-task-id {
|
|
color: var(--color-text-strong);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.admin-task-enterprise,
|
|
.admin-task-counts,
|
|
.admin-task-send-type {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
}
|
|
|
|
.admin-task-enterprise strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-task-enterprise span,
|
|
.admin-task-counts span,
|
|
.admin-task-send-type > span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-task-counts strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-task-send-type .ui-tag {
|
|
gap: 4px;
|
|
justify-self: start;
|
|
}
|
|
|
|
.admin-task-list-progress {
|
|
min-width: 150px;
|
|
}
|
|
|
|
.admin-task-actions {
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.report-page-actions {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.report-task-table-card .ui-table {
|
|
min-width: 1380px;
|
|
}
|
|
|
|
.report-task-table-card .ui-table th:last-child,
|
|
.report-task-table-card .ui-table td:last-child {
|
|
background: var(--color-surface);
|
|
box-shadow: -8px 0 12px rgb(15 23 42 / 6%);
|
|
position: sticky;
|
|
right: 0;
|
|
z-index: 1;
|
|
}
|
|
|
|
.report-task-table-card .ui-table th:last-child {
|
|
z-index: 2;
|
|
}
|
|
|
|
.report-task-time {
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
font-size: var(--font-size-xs);
|
|
gap: 4px;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.report-task-time span {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.admin-remark-cell {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
display: -webkit-box;
|
|
line-height: 1.6;
|
|
max-width: 360px;
|
|
min-width: 220px;
|
|
overflow: hidden;
|
|
padding: var(--space-3);
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
}
|
|
|
|
.admin-remark-cell--empty {
|
|
color: var(--color-text-subtle);
|
|
}
|
|
|
|
.report-task-generate {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.report-task-generate section,
|
|
.report-task-detail .admin-task-card {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.report-task-generate h3,
|
|
.report-receipt-preview h3,
|
|
.report-history h3 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
font-weight: 700;
|
|
margin: 0 0 var(--space-4);
|
|
}
|
|
|
|
.report-task-preview {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.report-task-preview > div,
|
|
.report-receipt-preview > div {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.report-task-preview span,
|
|
.report-receipt-preview span {
|
|
color: var(--color-text-muted);
|
|
display: block;
|
|
font-size: var(--font-size-xs);
|
|
margin-bottom: var(--space-2);
|
|
}
|
|
|
|
.report-task-preview strong,
|
|
.report-receipt-preview strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
|
|
.report-receipt-modal {
|
|
align-items: start;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
|
|
}
|
|
|
|
.report-receipt-modal .ui-field {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.report-upload-drop {
|
|
align-content: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px dashed var(--color-border-strong);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
min-height: 180px;
|
|
padding: var(--space-6);
|
|
place-items: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.report-upload-drop svg {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.report-upload-drop strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
}
|
|
|
|
.report-upload-drop span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.report-receipt-preview {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.report-record-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.report-history {
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.report-history h3 {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.report-history > div {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: 170px 120px 1fr;
|
|
padding: var(--space-3) 0;
|
|
}
|
|
|
|
.report-history span,
|
|
.report-history em {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
font-style: normal;
|
|
}
|
|
|
|
.report-history strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-task-template-row .ui-inline-text-preview {
|
|
background: var(--color-bg-subtle);
|
|
}
|
|
|
|
.admin-task-template-row .ui-inline-text-preview p,
|
|
.admin-task-template-row .ui-inline-text-preview p strong {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.admin-task-detail-title {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-task-detail-title h2 {
|
|
font-size: 24px;
|
|
}
|
|
|
|
.admin-task-detail-title p {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-task-detail-title p > span {
|
|
color: var(--color-text-strong);
|
|
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-task-detail {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.admin-task-metrics {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-task-metric {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
min-height: 104px;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-task-metric span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-task-metric strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 30px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.admin-task-metric--success strong {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.admin-task-metric--primary {
|
|
background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(22, 163, 74, 0.08)), var(--color-surface);
|
|
border-color: rgba(37, 99, 235, 0.24);
|
|
}
|
|
|
|
.admin-task-metric--primary strong {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-task-detail-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
}
|
|
|
|
.admin-task-card {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-task-card h3 {
|
|
align-items: center;
|
|
display: flex;
|
|
font-size: var(--font-size-md);
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-task-card h3 svg {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.admin-task-info-list,
|
|
.admin-task-template-meta {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-task-info-list div,
|
|
.admin-task-template-meta div {
|
|
align-items: start;
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: 120px minmax(0, 1fr);
|
|
}
|
|
|
|
.admin-task-info-list dt,
|
|
.admin-task-template-meta dt {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-task-info-list dd,
|
|
.admin-task-template-meta dd {
|
|
color: var(--color-text-strong);
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
justify-items: end;
|
|
margin: 0;
|
|
text-align: right;
|
|
}
|
|
|
|
.admin-task-info-list dd span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-task-progress-card {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
}
|
|
|
|
.admin-task-progress-card > div:first-child {
|
|
align-items: center;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.admin-task-progress-card > div:first-child span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-task-progress-card > div:first-child strong {
|
|
color: var(--color-selected);
|
|
font-size: 28px;
|
|
}
|
|
|
|
.admin-task-progress-split {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-task-progress-split span {
|
|
background: var(--color-surface-muted);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text-muted);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
justify-items: center;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-task-progress-split strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 20px;
|
|
}
|
|
|
|
.admin-task-template-block {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-task-template-block > span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-task-template {
|
|
background: var(--color-bg-subtle);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text-strong);
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.admin-task-template-meta b {
|
|
color: var(--color-selected);
|
|
margin: 0 var(--space-1);
|
|
}
|
|
|
|
.admin-task-billing-note {
|
|
align-items: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
min-height: 58px;
|
|
padding: var(--space-4) var(--space-5);
|
|
}
|
|
|
|
.admin-task-card--full {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.admin-carrier-grid {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-carrier-card {
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-carrier-card--mobile {
|
|
background: #eef4ff;
|
|
border-color: #a7c4ff;
|
|
}
|
|
|
|
.admin-carrier-card--unicom {
|
|
background: #eaf8ee;
|
|
border-color: #96dda7;
|
|
}
|
|
|
|
.admin-carrier-card--telecom {
|
|
background: #fff3e6;
|
|
border-color: #fdba74;
|
|
}
|
|
|
|
.admin-carrier-card strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.admin-carrier-card p {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-carrier-card b {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-carrier-card div {
|
|
border-top: 1px solid rgba(148, 163, 184, 0.32);
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
padding-top: var(--space-4);
|
|
}
|
|
|
|
.admin-carrier-card em {
|
|
color: var(--color-selected);
|
|
font-size: 30px;
|
|
font-style: normal;
|
|
font-weight: var(--font-weight-bold);
|
|
line-height: 1;
|
|
}
|
|
|
|
.admin-carrier-card--unicom em,
|
|
.admin-success-text {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.admin-carrier-card--telecom em {
|
|
color: #ea580c;
|
|
}
|
|
|
|
.admin-task-card .ui-table-wrap {
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
.admin-mms-task-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-mms-task-table-card .ui-table {
|
|
min-width: 1360px;
|
|
}
|
|
|
|
.admin-mms-task-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-mms-task-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-mms-task-table-card .mms-task-content {
|
|
max-width: 420px;
|
|
}
|
|
|
|
.admin-mms-task-table-card .mms-task-content p {
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
display: -webkit-box;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.admin-mms-task-table-card .mms-task-actions {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.admin-mms-task-table-card .mms-task-actions .ui-button {
|
|
padding: 0 9px;
|
|
}
|
|
|
|
.admin-mms-task-detail .mms-detail-template small {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
margin-top: var(--space-2);
|
|
}
|
|
|
|
.admin-mms-city-list {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-mms-city-list > div {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
grid-template-columns: 120px minmax(140px, 1fr) 80px;
|
|
}
|
|
|
|
.admin-mms-city-list strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-mms-city-list span {
|
|
color: var(--color-text-muted);
|
|
text-align: right;
|
|
}
|
|
|
|
.admin-mms-city-list b {
|
|
color: var(--color-selected);
|
|
text-align: right;
|
|
}
|
|
|
|
.admin-mms-city-list .ui-progress-bar {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.admin-sms-records-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-sms-record-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(4, minmax(180px, 1fr));
|
|
}
|
|
|
|
.admin-sms-record-filter__actions {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(2, minmax(120px, 1fr));
|
|
}
|
|
|
|
.admin-sms-record-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-sms-record-toolbar {
|
|
align-items: center;
|
|
border-bottom: 1px solid var(--color-border);
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
min-height: 76px;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.admin-sms-record-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-sms-record-table {
|
|
min-width: 1180px;
|
|
}
|
|
|
|
.admin-sms-record-table th {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-text-strong);
|
|
height: 58px;
|
|
}
|
|
|
|
.admin-sms-record-table td {
|
|
height: 120px;
|
|
padding: var(--space-5) var(--space-6);
|
|
vertical-align: top;
|
|
}
|
|
|
|
.admin-sms-record-sender,
|
|
.admin-sms-record-phone,
|
|
.admin-sms-record-channel {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
}
|
|
|
|
.admin-sms-record-sender strong,
|
|
.admin-sms-record-phone strong,
|
|
.admin-sms-record-channel strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-sms-record-sender span,
|
|
.admin-sms-record-phone span,
|
|
.admin-sms-record-channel span,
|
|
.admin-sms-record-sender small,
|
|
.admin-sms-record-phone small {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-sms-record-content {
|
|
color: var(--color-text-strong);
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
max-width: 440px;
|
|
}
|
|
|
|
.admin-sms-record-status {
|
|
align-items: center;
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-2);
|
|
margin-top: var(--space-1);
|
|
}
|
|
|
|
.admin-sms-record-status i {
|
|
border-radius: var(--radius-full);
|
|
display: inline-flex;
|
|
height: 10px;
|
|
width: 10px;
|
|
}
|
|
|
|
.admin-sms-record-status i.is-success {
|
|
background: var(--color-success);
|
|
}
|
|
|
|
.admin-sms-record-status i.is-unknown {
|
|
background: #6b7280;
|
|
}
|
|
|
|
.admin-sms-record-status i.is-failed {
|
|
background: var(--color-danger);
|
|
}
|
|
|
|
.admin-sms-record-status:has(.is-success) {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.admin-sms-record-status:has(.is-failed) {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.admin-sms-record-detail-link {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-sms-send-detail {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
}
|
|
|
|
.admin-sms-detail-overview {
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
padding: var(--space-4) var(--space-5);
|
|
}
|
|
|
|
.admin-sms-detail-overview div {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-sms-detail-overview span {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
}
|
|
|
|
.admin-sms-detail-overview strong {
|
|
color: var(--color-text-strong);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.admin-sms-send-detail h3 {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-md);
|
|
margin-bottom: var(--space-3);
|
|
}
|
|
|
|
.admin-sms-detail-content {
|
|
background: var(--color-bg-subtle);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text-strong);
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-sms-detail-status-grid {
|
|
background: var(--color-bg-subtle);
|
|
border-radius: var(--radius-md);
|
|
display: grid;
|
|
gap: var(--space-4) var(--space-6);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-sms-detail-status-grid div {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-sms-detail-status-grid span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-sms-detail-status-grid strong {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.admin-sms-route-list {
|
|
display: grid;
|
|
}
|
|
|
|
.admin-sms-route-list article {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: 44px minmax(0, 1fr);
|
|
padding: var(--space-5) 0;
|
|
}
|
|
|
|
.admin-sms-route-list article + article {
|
|
border-top: 1px solid var(--color-border);
|
|
}
|
|
|
|
.admin-sms-route-list article > span {
|
|
align-items: center;
|
|
background: var(--color-surface-muted);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-text-muted);
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
height: 36px;
|
|
justify-content: center;
|
|
width: 36px;
|
|
}
|
|
|
|
.admin-sms-route-list strong {
|
|
color: var(--color-text-strong);
|
|
display: block;
|
|
margin-bottom: var(--space-4);
|
|
}
|
|
|
|
.admin-sms-route-list dl {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
margin: 0;
|
|
}
|
|
|
|
.admin-sms-route-list dt {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-sms-route-list dd {
|
|
color: var(--color-text-strong);
|
|
margin: var(--space-2) 0 0;
|
|
}
|
|
|
|
.admin-mms-record-search-button {
|
|
background: #9d18ff;
|
|
color: var(--color-text-inverse);
|
|
}
|
|
|
|
.admin-mms-record-search-button:hover {
|
|
background: #8610dc;
|
|
}
|
|
|
|
.admin-mms-record-table {
|
|
min-width: 1120px;
|
|
}
|
|
|
|
.admin-mms-record-table td {
|
|
height: 112px;
|
|
}
|
|
|
|
.admin-mms-template-cell {
|
|
display: grid;
|
|
gap: var(--space-1);
|
|
}
|
|
|
|
.admin-mms-template-cell strong {
|
|
color: var(--color-text-strong);
|
|
}
|
|
|
|
.admin-mms-template-cell span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-mms-template-cell small {
|
|
color: #9d18ff;
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-mms-preview-link {
|
|
align-items: center;
|
|
background: transparent;
|
|
border: 0;
|
|
color: #9d18ff;
|
|
display: inline-flex;
|
|
font-weight: var(--font-weight-semibold);
|
|
gap: var(--space-2);
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-uplink-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-uplink-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(260px, 1.1fr) minmax(220px, 1fr) minmax(220px, 1fr) auto;
|
|
}
|
|
|
|
.admin-uplink-filter__actions {
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: repeat(2, minmax(120px, 1fr));
|
|
}
|
|
|
|
.admin-uplink-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-uplink-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-uplink-table-card .ui-table {
|
|
min-width: 1160px;
|
|
}
|
|
|
|
.admin-uplink-table-card .ui-table th {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
height: 58px;
|
|
}
|
|
|
|
.admin-uplink-table-card .ui-table td {
|
|
height: 84px;
|
|
padding: var(--space-5) var(--space-4);
|
|
}
|
|
|
|
.admin-uplink-checkbox {
|
|
accent-color: var(--color-selected);
|
|
height: 18px;
|
|
width: 18px;
|
|
}
|
|
|
|
.admin-uplink-detail-link {
|
|
background: transparent;
|
|
border: 0;
|
|
color: var(--color-selected);
|
|
font-weight: var(--font-weight-semibold);
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-uplink-detail {
|
|
display: grid;
|
|
gap: var(--space-7);
|
|
}
|
|
|
|
.admin-uplink-info-card,
|
|
.admin-uplink-match-card,
|
|
.admin-uplink-empty-match {
|
|
background: var(--color-bg-subtle);
|
|
border-radius: var(--radius-md);
|
|
padding: var(--space-6);
|
|
}
|
|
|
|
.admin-uplink-info-card h3,
|
|
.admin-uplink-match-section h3 {
|
|
font-size: var(--font-size-lg);
|
|
margin: 0 0 var(--space-5);
|
|
}
|
|
|
|
.admin-uplink-info-grid {
|
|
display: grid;
|
|
gap: var(--space-6) var(--space-8);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-uplink-info-grid div {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-uplink-info-grid__full {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.admin-uplink-info-grid span,
|
|
.admin-uplink-match-section > p,
|
|
.admin-uplink-match-grid span,
|
|
.admin-uplink-match-content span {
|
|
color: var(--color-text-muted);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-uplink-info-grid strong,
|
|
.admin-uplink-match-grid strong {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.admin-uplink-match-section > p {
|
|
margin-bottom: var(--space-5);
|
|
}
|
|
|
|
.admin-uplink-match-grid {
|
|
display: grid;
|
|
gap: var(--space-6);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-uplink-match-grid div,
|
|
.admin-uplink-match-content {
|
|
display: grid;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-uplink-match-content {
|
|
margin-top: var(--space-5);
|
|
}
|
|
|
|
.admin-uplink-match-content p {
|
|
border-bottom: 1px solid var(--color-border);
|
|
color: var(--color-text-strong);
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
padding-bottom: var(--space-5);
|
|
}
|
|
|
|
.admin-uplink-candidate-footer {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
justify-content: space-between;
|
|
margin-top: var(--space-5);
|
|
}
|
|
|
|
.admin-uplink-candidate-footer span {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.6;
|
|
min-width: 0;
|
|
}
|
|
|
|
.admin-uplink-empty-match {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.admin-recharge-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-recharge-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(320px, 1.2fr) minmax(320px, 1.2fr) minmax(360px, 1fr);
|
|
}
|
|
|
|
.admin-recharge-filter__actions {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(140px, 1fr));
|
|
}
|
|
|
|
.admin-recharge-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-recharge-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-recharge-table {
|
|
min-width: 1220px;
|
|
}
|
|
|
|
.admin-recharge-table th {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
height: 58px;
|
|
}
|
|
|
|
.admin-recharge-table td {
|
|
color: var(--color-text-strong);
|
|
font-weight: var(--font-weight-medium);
|
|
height: 76px;
|
|
padding: var(--space-4) var(--space-6);
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.admin-recharge-table td:nth-child(3),
|
|
.admin-recharge-table td:nth-child(4) {
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.admin-recharge-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-5);
|
|
justify-content: flex-end;
|
|
min-height: 88px;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.admin-recharge-pagination > label {
|
|
width: 130px;
|
|
}
|
|
|
|
.admin-recharge-pagination > div {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: var(--space-2);
|
|
}
|
|
|
|
.admin-recharge-pagination .ui-button--primary {
|
|
background: var(--color-selected);
|
|
}
|
|
|
|
.admin-recharge-pagination span {
|
|
color: var(--color-text-muted);
|
|
padding: 0 var(--space-2);
|
|
}
|
|
|
|
.admin-security-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-security-filter {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(320px, 1fr) auto;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.admin-security-filter__actions {
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.admin-security-form {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
}
|
|
|
|
.admin-security-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-security-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-security-table-card .ui-table {
|
|
min-width: 980px;
|
|
}
|
|
|
|
.admin-security-table-card .ui-table th {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
height: 56px;
|
|
}
|
|
|
|
.admin-security-table-card .ui-table td {
|
|
height: 72px;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.phone-segment-tabs .ui-tabs__list {
|
|
width: fit-content;
|
|
}
|
|
|
|
.phone-segment-tabs .ui-tabs__tab {
|
|
min-width: 0;
|
|
padding-inline: var(--space-3);
|
|
}
|
|
|
|
.admin-system-page .page-heading {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-system-toolbar {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(360px, 1fr) auto;
|
|
}
|
|
|
|
.phone-segment-overview {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.phone-segment-overview section {
|
|
align-items: center;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
gap: var(--space-4);
|
|
min-height: 92px;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.phone-segment-overview span {
|
|
align-items: center;
|
|
background: var(--color-selected-soft);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-selected);
|
|
display: inline-flex;
|
|
height: 44px;
|
|
justify-content: center;
|
|
width: 44px;
|
|
}
|
|
|
|
.phone-segment-overview strong {
|
|
color: var(--color-text-strong);
|
|
font-size: 26px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.phone-segment-overview p {
|
|
color: var(--color-text-muted);
|
|
margin: var(--space-1) 0 0;
|
|
}
|
|
|
|
.phone-segment-tabs {
|
|
display: grid;
|
|
gap: var(--space-4);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.phone-segment-tabs button {
|
|
align-items: center;
|
|
background: var(--color-surface-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
color: var(--color-text);
|
|
cursor: pointer;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
grid-template-columns: 36px minmax(0, 1fr) auto;
|
|
min-height: 78px;
|
|
padding: var(--space-4);
|
|
text-align: left;
|
|
}
|
|
|
|
.phone-segment-tabs button > svg {
|
|
color: var(--color-selected);
|
|
}
|
|
|
|
.phone-segment-tabs button span {
|
|
display: grid;
|
|
gap: 4px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.phone-segment-tabs button strong {
|
|
color: var(--color-text-strong);
|
|
font-size: var(--font-size-base);
|
|
}
|
|
|
|
.phone-segment-tabs button small {
|
|
color: var(--color-text-muted);
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.phone-segment-tabs button em {
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: 999px;
|
|
color: var(--color-text-strong);
|
|
font-style: normal;
|
|
font-weight: var(--font-weight-semibold);
|
|
min-width: 40px;
|
|
padding: 5px 10px;
|
|
text-align: center;
|
|
}
|
|
|
|
.phone-segment-tabs button.is-active {
|
|
background: var(--color-selected-soft);
|
|
border-color: #bfdbfe;
|
|
}
|
|
|
|
.phone-segment-tabs button.is-active em {
|
|
background: var(--color-selected);
|
|
border-color: var(--color-selected);
|
|
color: #ffffff;
|
|
}
|
|
|
|
.phone-segment-toolbar {
|
|
align-items: center;
|
|
}
|
|
|
|
.admin-system-table-card {
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
|
|
.admin-system-table-card .ui-table-wrap {
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.admin-system-table-card .ui-table {
|
|
min-width: 1080px;
|
|
}
|
|
|
|
.admin-system-table-card .ui-table th {
|
|
background: var(--color-bg-subtle);
|
|
color: var(--color-text-muted);
|
|
font-size: var(--font-size-sm);
|
|
height: 56px;
|
|
}
|
|
|
|
.admin-system-table-card .ui-table td {
|
|
height: 72px;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.admin-system-actions,
|
|
.admin-drainage-actions {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
gap: var(--space-2);
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.admin-system-modal-form {
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-system-modal-form__wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.admin-drainage-toolbar {
|
|
align-items: end;
|
|
display: grid;
|
|
gap: var(--space-5);
|
|
grid-template-columns: minmax(420px, 1fr) minmax(180px, 220px) minmax(180px, 220px) auto;
|
|
}
|
|
|
|
.admin-drainage-type {
|
|
align-items: center;
|
|
background: var(--color-bg-subtle);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--color-text-strong);
|
|
display: inline-flex;
|
|
font-size: var(--font-size-sm);
|
|
font-weight: var(--font-weight-semibold);
|
|
min-height: 30px;
|
|
padding: 0 var(--space-3);
|
|
}
|
|
|
|
.admin-drainage-actions .ui-button--ghost {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.admin-drainage-pagination {
|
|
align-items: center;
|
|
border-top: 1px solid var(--color-border);
|
|
display: flex;
|
|
gap: var(--space-3);
|
|
justify-content: flex-end;
|
|
min-height: 76px;
|
|
padding: var(--space-4) var(--space-6);
|
|
}
|
|
|
|
.admin-drainage-pagination span {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.file-actions {
|
|
align-items: center;
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
margin-top: 6px;
|
|
}
|
|
|
|
.file-action-link {
|
|
align-items: center;
|
|
background: #fff;
|
|
border: 1px solid var(--border);
|
|
border-radius: 6px;
|
|
color: var(--text);
|
|
display: inline-flex;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
gap: 4px;
|
|
min-height: 30px;
|
|
padding: 0 10px;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.file-action-link:hover {
|
|
border-color: var(--primary);
|
|
color: var(--primary);
|
|
}
|
|
|
|
.file-preview-image {
|
|
display: block;
|
|
height: auto;
|
|
margin: 0 auto;
|
|
max-height: calc(100vh - 300px);
|
|
max-width: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
@media (max-width: 780px) {
|
|
.app-shell {
|
|
grid-template-columns: 1fr;
|
|
height: auto;
|
|
min-height: 100vh;
|
|
overflow: visible;
|
|
}
|
|
|
|
.app-shell--collapsed {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.sidebar {
|
|
align-items: stretch;
|
|
height: auto;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.app-shell--collapsed .sidebar {
|
|
align-items: stretch;
|
|
padding: var(--space-4);
|
|
}
|
|
|
|
.app-shell--collapsed .brand-copy,
|
|
.app-shell--collapsed .side-nav-section p,
|
|
.app-shell--collapsed .side-nav a span,
|
|
.app-shell--collapsed .sidebar-footer {
|
|
display: revert;
|
|
}
|
|
|
|
.app-shell--collapsed .brand-block {
|
|
justify-content: flex-start;
|
|
padding: 0 var(--space-2) var(--space-2);
|
|
}
|
|
|
|
.app-shell--collapsed .brand-logo--full {
|
|
display: block;
|
|
}
|
|
|
|
.app-shell--collapsed .brand-logo--compact {
|
|
display: none;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav a {
|
|
height: auto;
|
|
justify-content: flex-start;
|
|
padding: 10px var(--space-3);
|
|
width: auto;
|
|
}
|
|
|
|
.app-shell--collapsed .side-nav-list {
|
|
justify-items: stretch;
|
|
}
|
|
|
|
.side-nav {
|
|
max-height: 260px;
|
|
}
|
|
|
|
.topbar {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
gap: var(--space-3);
|
|
height: auto;
|
|
padding: var(--space-4);
|
|
position: sticky;
|
|
}
|
|
|
|
.topbar-left,
|
|
.topbar-actions {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.user-menu small {
|
|
display: none;
|
|
}
|
|
|
|
.page-content {
|
|
overflow-y: visible;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.page-heading {
|
|
align-items: start;
|
|
display: grid;
|
|
}
|
|
|
|
.overview-hero {
|
|
align-items: stretch;
|
|
display: grid;
|
|
padding: var(--space-5);
|
|
}
|
|
|
|
.page-heading > p {
|
|
text-align: left;
|
|
}
|
|
|
|
.dashboard-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.content-grid,
|
|
.form-grid--two,
|
|
.plan-grid,
|
|
.chart-grid,
|
|
.overview-grid,
|
|
.overview-grid--three,
|
|
.quick-grid,
|
|
.sms-send-layout,
|
|
.send-form-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.sms-preview-card {
|
|
position: static;
|
|
}
|
|
|
|
.downstream-breakdown-table {
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.downstream-breakdown-table__head,
|
|
.downstream-breakdown-table__row {
|
|
min-width: 560px;
|
|
}
|
|
|
|
.receiver-table__head,
|
|
.receiver-table__row {
|
|
grid-template-columns: 64px minmax(0, 1fr) 64px;
|
|
}
|
|
|
|
.radio-row {
|
|
align-items: flex-start;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.batch-filter-grid {
|
|
gap: var(--space-4);
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.batch-pagination {
|
|
align-items: stretch;
|
|
display: grid;
|
|
gap: var(--space-3);
|
|
}
|
|
|
|
.task-info-grid,
|
|
.task-stat-grid,
|
|
.carrier-rate-grid,
|
|
.sms-app-grid,
|
|
.template-card-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.template-toolbar,
|
|
.template-custom-variable {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.task-detail-title h2 {
|
|
font-size: 26px;
|
|
}
|
|
|
|
.section-heading,
|
|
.page-actions {
|
|
align-items: stretch;
|
|
display: grid;
|
|
}
|
|
|
|
.admin-task-filter,
|
|
.admin-sms-record-filter,
|
|
.admin-uplink-filter,
|
|
.admin-recharge-filter,
|
|
.admin-recharge-filter__actions,
|
|
.admin-system-toolbar,
|
|
.phone-segment-overview,
|
|
.phone-segment-tabs,
|
|
.admin-system-modal-form,
|
|
.admin-drainage-toolbar,
|
|
.channel-route-card-grid,
|
|
.admin-split-filter,
|
|
.detail-grid,
|
|
.admin-task-detail-grid,
|
|
.admin-task-metrics,
|
|
.admin-carrier-grid,
|
|
.admin-mms-city-list > div,
|
|
.admin-sms-detail-overview,
|
|
.channel-connection-summary article,
|
|
.admin-sms-route-list dl,
|
|
.admin-uplink-info-grid,
|
|
.admin-uplink-match-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.admin-recharge-pagination {
|
|
align-items: stretch;
|
|
display: grid;
|
|
justify-content: stretch;
|
|
}
|
|
|
|
}
|