@import './design-tokens.scss';
|
@import './mixins.scss';
|
|
.top-bar {
|
position: sticky;
|
top: 0;
|
z-index: 10;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
padding: $spacing-md $spacing-lg;
|
background: rgba(11, 26, 44, 0.92);
|
backdrop-filter: blur(12px);
|
border-radius: $radius-lg;
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
box-shadow: $shadow-elevated;
|
color: $color-text-invert;
|
|
&__title {
|
font-size: $font-size-xl;
|
font-weight: 600;
|
letter-spacing: $letter-spacing-wide;
|
}
|
|
&__actions {
|
display: inline-flex;
|
gap: $spacing-sm;
|
}
|
}
|
|
.btn {
|
min-width: $btn-min-width;
|
height: $control-height-md;
|
border-radius: $radius-md;
|
border: none;
|
padding: 0 $spacing-lg;
|
font-size: $font-size-sm;
|
font-weight: 600;
|
letter-spacing: 0.04em;
|
text-transform: uppercase;
|
cursor: pointer;
|
transition: all 0.2s ease;
|
@include smooth-font;
|
|
&:disabled {
|
opacity: 0.45;
|
cursor: not-allowed;
|
}
|
}
|
|
.btn--primary {
|
background: linear-gradient(135deg, $color-primary 0%, $color-primary-dark 100%);
|
color: $color-text-invert;
|
|
&:hover:not(:disabled) {
|
box-shadow: 0 4px 12px rgba(15, 34, 58, 0.45);
|
}
|
|
&:focus-visible {
|
@include focus-ring;
|
}
|
}
|
|
.btn--secondary {
|
background-color: rgba(27, 127, 233, 0.12);
|
color: $color-accent;
|
border: 1px solid rgba(27, 127, 233, 0.4);
|
|
&:hover:not(:disabled) {
|
background-color: rgba(27, 127, 233, 0.2);
|
}
|
}
|
|
.btn--text {
|
min-width: auto;
|
padding: 0 $spacing-sm;
|
background: transparent;
|
color: $color-text-invert;
|
}
|
|
.info-card {
|
@extend .content-panel;
|
display: flex;
|
flex-direction: column;
|
gap: $spacing-sm;
|
border-left: 4px solid $color-primary;
|
|
&__title {
|
font-size: $font-size-sm;
|
color: $color-text-muted;
|
}
|
|
&__value {
|
font-size: 2.2vw;
|
line-height: 1.2;
|
font-weight: 700;
|
color: $color-primary;
|
|
@include respond(compact) {
|
font-size: 32px;
|
}
|
}
|
|
&__meta {
|
font-size: $font-size-xs;
|
color: $color-text-secondary;
|
}
|
}
|
|
.status-pill {
|
display: inline-flex;
|
align-items: center;
|
gap: $spacing-xxs;
|
padding: 0 $spacing-sm;
|
height: 26px;
|
border-radius: 999px;
|
font-size: $font-size-xs;
|
font-weight: 600;
|
text-transform: uppercase;
|
|
&::before {
|
content: '';
|
width: 8px;
|
height: 8px;
|
border-radius: 50%;
|
background: currentColor;
|
}
|
}
|
|
.status-pill--success {
|
background-color: rgba($color-success, 0.15);
|
color: $color-success;
|
}
|
|
.status-pill--warning {
|
background-color: rgba($color-warning, 0.15);
|
color: $color-warning;
|
}
|
|
.status-pill--danger {
|
background-color: rgba($color-danger, 0.15);
|
color: $color-danger;
|
}
|
|
.table {
|
width: 100%;
|
border-spacing: 0;
|
font-size: $font-size-sm;
|
|
&__head {
|
text-transform: uppercase;
|
font-size: $font-size-xs;
|
color: $color-text-secondary;
|
letter-spacing: 0.06em;
|
}
|
|
&__row {
|
@include smooth-font;
|
height: 56px;
|
border-bottom: 1px solid rgba(11, 26, 44, 0.08);
|
transition: background-color 0.2s ease;
|
|
&:nth-child(odd) {
|
background-color: rgba(245, 247, 250, 0.7);
|
}
|
|
&:hover {
|
background-color: rgba(27, 127, 233, 0.08);
|
}
|
}
|
|
&__cell {
|
padding: 0 $spacing-md;
|
color: $color-text-primary;
|
}
|
}
|
|
.form-field {
|
display: flex;
|
flex-direction: column;
|
gap: $spacing-xxs;
|
|
&__label {
|
font-size: $font-size-xs;
|
color: $color-text-secondary;
|
text-transform: uppercase;
|
letter-spacing: 0.08em;
|
}
|
|
&__control {
|
height: $control-height-md;
|
border-radius: $radius-md;
|
border: 1px solid rgba(11, 26, 44, 0.25);
|
background-color: $color-bg-panel;
|
padding: 0 $spacing-md;
|
font-size: $font-size-sm;
|
color: $color-text-primary;
|
transition: border-color 0.2s ease;
|
|
&:focus {
|
border-color: $color-accent;
|
@include focus-ring;
|
}
|
}
|
|
&__message {
|
font-size: $font-size-xs;
|
color: $color-danger;
|
}
|
}
|