693 lines
14 KiB
CSS
693 lines
14 KiB
CSS
:root {
|
|
--drill-bg: #070a0f;
|
|
--drill-panel: rgba(13, 18, 26, 0.88);
|
|
--drill-panel-strong: rgba(7, 10, 15, 0.94);
|
|
--drill-line: rgba(148, 163, 184, 0.22);
|
|
--drill-line-strong: rgba(215, 161, 95, 0.46);
|
|
--drill-accent: #c97a3d;
|
|
--drill-accent-soft: #d7a15f;
|
|
--drill-text: #f8fafc;
|
|
--drill-muted: #9aa8ba;
|
|
--drill-success: #34d399;
|
|
--drill-warning: #f59e0b;
|
|
--drill-danger: #ef4444;
|
|
--drill-radius: 10px;
|
|
--drill-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body.drill-login {
|
|
min-height: 100vh;
|
|
min-height: 100dvh;
|
|
margin: 0;
|
|
color: var(--drill-text);
|
|
font-family:
|
|
Inter,
|
|
"Segoe UI",
|
|
-apple-system,
|
|
BlinkMacSystemFont,
|
|
system-ui,
|
|
sans-serif;
|
|
background:
|
|
radial-gradient(circle at 18% 18%, rgba(201, 122, 61, 0.16), transparent 28%),
|
|
radial-gradient(circle at 88% 76%, rgba(52, 211, 153, 0.08), transparent 24%),
|
|
linear-gradient(145deg, #05070b 0%, #080c12 44%, #111821 100%);
|
|
}
|
|
|
|
body.drill-login::before {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
background-image:
|
|
linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
|
|
background-size: 56px 56px;
|
|
mask-image: linear-gradient(110deg, rgba(0, 0, 0, 0.72), transparent 72%);
|
|
}
|
|
|
|
.drill-login__shell {
|
|
min-height: 100vh;
|
|
min-height: 100dvh;
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
|
|
gap: 18px;
|
|
padding: clamp(14px, 2.2vw, 26px);
|
|
}
|
|
|
|
.drill-login__brand,
|
|
.drill-login__panel {
|
|
position: relative;
|
|
overflow: hidden;
|
|
border: 1px solid var(--drill-line);
|
|
border-radius: var(--drill-radius);
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 34%),
|
|
repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.024) 0 1px, transparent 1px 11px),
|
|
var(--drill-panel);
|
|
box-shadow:
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.08),
|
|
inset 0 -1px 0 rgba(0, 0, 0, 0.48),
|
|
var(--drill-shadow);
|
|
}
|
|
|
|
.drill-login__brand::before,
|
|
.drill-login__panel::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0 auto 0 0;
|
|
width: 5px;
|
|
background: linear-gradient(180deg, var(--drill-accent-soft), rgba(52, 211, 153, 0.78), var(--drill-accent));
|
|
box-shadow: 0 0 18px rgba(215, 161, 95, 0.32);
|
|
}
|
|
|
|
.drill-login__brand {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
gap: clamp(18px, 2.5vh, 28px);
|
|
padding: clamp(24px, 4vw, 42px);
|
|
}
|
|
|
|
.drill-login__brand-grid {
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
background:
|
|
linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.06) 28%, transparent 52%),
|
|
radial-gradient(circle at 78% 18%, rgba(215, 161, 95, 0.12), transparent 28%);
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.drill-login__brand-top {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 14px;
|
|
}
|
|
|
|
.drill-login__brand-mark {
|
|
position: relative;
|
|
width: 62px;
|
|
height: 62px;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 1px solid rgba(215, 161, 95, 0.36);
|
|
border-radius: 8px;
|
|
color: #fff3dc;
|
|
background:
|
|
linear-gradient(145deg, rgba(201, 122, 61, 0.26), rgba(2, 6, 23, 0.48)),
|
|
rgba(2, 6, 23, 0.42);
|
|
box-shadow:
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1),
|
|
0 16px 34px rgba(0, 0, 0, 0.24);
|
|
}
|
|
|
|
.drill-login__brand-mark-core {
|
|
position: relative;
|
|
z-index: 2;
|
|
font-size: 1.8rem;
|
|
font-weight: 800;
|
|
letter-spacing: 0.08em;
|
|
}
|
|
|
|
.drill-login__brand-mark-bar {
|
|
position: absolute;
|
|
right: 11px;
|
|
top: 11px;
|
|
width: 6px;
|
|
height: 40px;
|
|
border-radius: 999px;
|
|
background: linear-gradient(180deg, #fff3dc, rgba(215, 161, 95, 0.3));
|
|
box-shadow: 0 0 16px rgba(215, 161, 95, 0.34);
|
|
}
|
|
|
|
.drill-login__status-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
min-height: 34px;
|
|
padding: 0 12px;
|
|
border: 1px solid rgba(52, 211, 153, 0.26);
|
|
border-radius: 999px;
|
|
color: #bbf7d0;
|
|
background: rgba(52, 211, 153, 0.09);
|
|
font-size: 0.72rem;
|
|
font-weight: 750;
|
|
letter-spacing: 0.12em;
|
|
text-transform: uppercase;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.drill-login__status-pill span {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 999px;
|
|
background: var(--drill-success);
|
|
box-shadow: 0 0 14px var(--drill-success);
|
|
}
|
|
|
|
.drill-login__brand-copy {
|
|
position: relative;
|
|
z-index: 1;
|
|
max-width: 760px;
|
|
}
|
|
|
|
.drill-login__eyebrow {
|
|
display: inline-flex;
|
|
margin-bottom: 12px;
|
|
color: var(--drill-accent-soft);
|
|
font-size: 0.72rem;
|
|
font-weight: 800;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.drill-login__brand h1,
|
|
.drill-login__panel h2 {
|
|
margin: 0;
|
|
color: var(--drill-text);
|
|
font-weight: 760;
|
|
letter-spacing: 0;
|
|
line-height: 1.06;
|
|
}
|
|
|
|
.drill-login__brand h1 {
|
|
max-width: 780px;
|
|
font-size: clamp(2.25rem, 4.8vw, 4.9rem);
|
|
}
|
|
|
|
.drill-login__brand p,
|
|
.drill-login__panel p,
|
|
.drill-login__feature-grid p {
|
|
max-width: 720px;
|
|
margin: 16px 0 0;
|
|
color: #cbd5e1;
|
|
font-size: 1rem;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.drill-login__industrial-panel {
|
|
position: relative;
|
|
z-index: 1;
|
|
min-height: 224px;
|
|
display: grid;
|
|
grid-template-columns: minmax(260px, 0.9fr) minmax(260px, 0.7fr);
|
|
gap: 16px;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.drill-login__signal-flow,
|
|
.drill-login__signal-list {
|
|
position: relative;
|
|
overflow: hidden;
|
|
border: 1px solid rgba(148, 163, 184, 0.18);
|
|
border-radius: 8px;
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent 36%),
|
|
rgba(2, 6, 23, 0.32);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
.drill-login__signal-flow {
|
|
min-height: 224px;
|
|
display: grid;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.drill-login__signal-flow::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
background:
|
|
radial-gradient(circle at 18% 24%, rgba(52, 211, 153, 0.12), transparent 28%),
|
|
linear-gradient(90deg, rgba(215, 161, 95, 0.08), transparent 38%, rgba(52, 211, 153, 0.08));
|
|
}
|
|
|
|
.drill-login__signal-flow svg {
|
|
position: relative;
|
|
z-index: 1;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 224px;
|
|
padding: 16px;
|
|
}
|
|
|
|
.drill-login__signal-path {
|
|
fill: none;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
|
|
.drill-login__signal-path--base {
|
|
stroke: rgba(148, 163, 184, 0.24);
|
|
stroke-width: 2;
|
|
}
|
|
|
|
.drill-login__signal-path--pulse {
|
|
stroke: url("#signalLine");
|
|
stroke-width: 3;
|
|
stroke-dasharray: 42 280;
|
|
animation: drillSignalFlow 3.2s linear infinite;
|
|
filter: drop-shadow(0 0 8px rgba(52, 211, 153, 0.42));
|
|
}
|
|
|
|
.drill-login__signal-path--one {
|
|
animation-delay: 0s;
|
|
}
|
|
|
|
.drill-login__signal-path--two {
|
|
animation-delay: -1s;
|
|
}
|
|
|
|
.drill-login__signal-path--three {
|
|
animation-delay: -2s;
|
|
}
|
|
|
|
.drill-login__signal-nodes circle {
|
|
fill: #0b1220;
|
|
stroke: rgba(215, 161, 95, 0.68);
|
|
stroke-width: 2;
|
|
filter: drop-shadow(0 0 8px rgba(215, 161, 95, 0.22));
|
|
animation: drillSignalNodePulse 2.8s ease-in-out infinite;
|
|
}
|
|
|
|
.drill-login__signal-nodes circle:nth-child(3n) {
|
|
stroke: rgba(52, 211, 153, 0.78);
|
|
animation-delay: -1.4s;
|
|
}
|
|
|
|
.drill-login__signal-flow-label {
|
|
position: absolute;
|
|
left: 14px;
|
|
right: 14px;
|
|
bottom: 12px;
|
|
z-index: 2;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding-top: 10px;
|
|
border-top: 1px solid rgba(148, 163, 184, 0.12);
|
|
}
|
|
|
|
.drill-login__signal-flow-label strong {
|
|
color: #f8fafc;
|
|
font-size: 0.86rem;
|
|
}
|
|
|
|
.drill-login__signal-flow-label span {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
color: var(--drill-muted);
|
|
font-size: 0.74rem;
|
|
text-align: right;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.drill-login__signal-list {
|
|
display: grid;
|
|
gap: 8px;
|
|
padding: 12px;
|
|
}
|
|
|
|
.drill-login__signal-list div {
|
|
min-width: 0;
|
|
display: grid;
|
|
grid-template-columns: auto minmax(0, 1fr);
|
|
grid-template-rows: auto auto;
|
|
column-gap: 10px;
|
|
align-content: center;
|
|
padding: 12px;
|
|
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
border-radius: 7px;
|
|
background: rgba(15, 23, 42, 0.44);
|
|
}
|
|
|
|
.drill-login__signal {
|
|
grid-row: 1 / 3;
|
|
width: 10px;
|
|
height: 10px;
|
|
margin-top: 4px;
|
|
border-radius: 999px;
|
|
background: currentColor;
|
|
box-shadow: 0 0 14px currentColor;
|
|
}
|
|
|
|
.drill-login__signal--ok {
|
|
color: var(--drill-success);
|
|
}
|
|
|
|
.drill-login__signal--warn {
|
|
color: var(--drill-warning);
|
|
}
|
|
|
|
.drill-login__signal-list strong {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
color: var(--drill-text);
|
|
font-size: 0.9rem;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.drill-login__signal-list small {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
color: var(--drill-muted);
|
|
font-size: 0.76rem;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.drill-login__feature-grid {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 10px;
|
|
}
|
|
|
|
.drill-login__feature-grid article {
|
|
min-height: 86px;
|
|
padding: 14px;
|
|
border: 1px solid rgba(148, 163, 184, 0.16);
|
|
border-radius: 8px;
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 36%),
|
|
rgba(2, 6, 23, 0.28);
|
|
}
|
|
|
|
.drill-login__feature-grid span {
|
|
display: block;
|
|
margin-bottom: 9px;
|
|
color: var(--drill-accent-soft);
|
|
font-size: 0.72rem;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.drill-login__feature-grid strong {
|
|
display: block;
|
|
color: #e5e7eb;
|
|
font-size: 0.9rem;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.drill-login__panel {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
padding: clamp(24px, 3vw, 34px);
|
|
}
|
|
|
|
.drill-login__panel-glow {
|
|
display: none;
|
|
}
|
|
|
|
.drill-login__panel-head {
|
|
margin-bottom: 22px;
|
|
}
|
|
|
|
.drill-login__panel h2 {
|
|
font-size: clamp(1.8rem, 3vw, 2.35rem);
|
|
}
|
|
|
|
.drill-login__panel p {
|
|
margin-top: 10px;
|
|
font-size: 0.94rem;
|
|
}
|
|
|
|
.drill-login__alert {
|
|
margin-bottom: 14px;
|
|
padding: 12px 13px;
|
|
border: 1px solid rgba(148, 163, 184, 0.18);
|
|
border-radius: 8px;
|
|
color: var(--drill-text);
|
|
background: rgba(15, 23, 42, 0.58);
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.drill-login__alert--error {
|
|
border-color: rgba(239, 68, 68, 0.42);
|
|
background: rgba(127, 29, 29, 0.28);
|
|
}
|
|
|
|
.drill-login__alert--warning {
|
|
border-color: rgba(245, 158, 11, 0.42);
|
|
background: rgba(120, 53, 15, 0.24);
|
|
}
|
|
|
|
.drill-login__alert--success,
|
|
.drill-login__alert--info {
|
|
border-color: rgba(52, 211, 153, 0.34);
|
|
background: rgba(6, 78, 59, 0.22);
|
|
}
|
|
|
|
.drill-login__form {
|
|
display: grid;
|
|
gap: 14px;
|
|
}
|
|
|
|
.drill-login__field {
|
|
display: grid;
|
|
gap: 7px;
|
|
}
|
|
|
|
.drill-login__field-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
|
|
.drill-login__field label,
|
|
.drill-login__remember span,
|
|
.drill-login__field-row a {
|
|
color: #dbe4ef;
|
|
font-size: 0.86rem;
|
|
font-weight: 650;
|
|
}
|
|
|
|
.drill-login__field-row a,
|
|
.drill-login__footer a {
|
|
color: var(--drill-accent-soft);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.drill-login__field-row a:hover,
|
|
.drill-login__footer a:hover {
|
|
color: #f8d9ad;
|
|
}
|
|
|
|
.drill-login__field input {
|
|
width: 100%;
|
|
min-height: 46px;
|
|
padding: 0 13px;
|
|
border: 1px solid rgba(148, 163, 184, 0.22);
|
|
border-radius: 8px;
|
|
outline: 0;
|
|
color: var(--drill-text);
|
|
background:
|
|
linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
|
|
rgba(2, 6, 23, 0.46);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
|
font: 500 0.95rem/1.25 Inter, "Segoe UI", system-ui, sans-serif;
|
|
}
|
|
|
|
.drill-login__field input::placeholder {
|
|
color: #6f7f94;
|
|
}
|
|
|
|
.drill-login__field input:focus {
|
|
border-color: var(--drill-line-strong);
|
|
box-shadow:
|
|
0 0 0 3px rgba(201, 122, 61, 0.14),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.07);
|
|
}
|
|
|
|
.drill-login__remember {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
}
|
|
|
|
.drill-login__remember input {
|
|
accent-color: var(--drill-accent-soft);
|
|
}
|
|
|
|
.drill-login__submit {
|
|
min-height: 48px;
|
|
margin-top: 4px;
|
|
border: 1px solid rgba(255, 255, 255, 0.16);
|
|
border-radius: 8px;
|
|
color: #1a1209;
|
|
background: linear-gradient(135deg, #c97a3d 0%, #d7a15f 58%, #f3d8aa 100%);
|
|
box-shadow:
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.34),
|
|
0 18px 36px rgba(201, 122, 61, 0.24);
|
|
cursor: pointer;
|
|
font: 800 0.95rem/1.2 Inter, "Segoe UI", system-ui, sans-serif;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
|
|
.drill-login__submit:hover {
|
|
filter: saturate(1.05);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.drill-login__submit-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.drill-login__footer {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-top: 18px;
|
|
padding-top: 14px;
|
|
border-top: 1px solid rgba(148, 163, 184, 0.14);
|
|
color: var(--drill-muted);
|
|
font-size: 0.78rem;
|
|
}
|
|
|
|
@keyframes drillSignalFlow {
|
|
from {
|
|
stroke-dashoffset: 320;
|
|
}
|
|
|
|
to {
|
|
stroke-dashoffset: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes drillSignalNodePulse {
|
|
0%,
|
|
100% {
|
|
opacity: 0.72;
|
|
}
|
|
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 1120px) {
|
|
.drill-login__shell {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.drill-login__brand {
|
|
min-height: 520px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 760px) {
|
|
.drill-login__shell {
|
|
padding: 12px;
|
|
}
|
|
|
|
.drill-login__brand,
|
|
.drill-login__panel {
|
|
padding: 20px;
|
|
}
|
|
|
|
.drill-login__brand-top,
|
|
.drill-login__field-row,
|
|
.drill-login__footer {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.drill-login__brand h1 {
|
|
font-size: clamp(1.9rem, 10vw, 3rem);
|
|
}
|
|
|
|
.drill-login__industrial-panel,
|
|
.drill-login__feature-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.drill-login__status-pill {
|
|
white-space: normal;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 820px) and (min-width: 1121px) {
|
|
.drill-login__shell {
|
|
padding: 12px;
|
|
gap: 12px;
|
|
}
|
|
|
|
.drill-login__brand,
|
|
.drill-login__panel {
|
|
padding: 20px;
|
|
}
|
|
|
|
.drill-login__brand h1 {
|
|
font-size: clamp(2rem, 3.5vw, 3.35rem);
|
|
}
|
|
|
|
.drill-login__brand p {
|
|
font-size: 0.9rem;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.drill-login__industrial-panel {
|
|
min-height: 180px;
|
|
}
|
|
|
|
.drill-login__signal-flow,
|
|
.drill-login__signal-flow svg {
|
|
min-height: 180px;
|
|
}
|
|
|
|
.drill-login__feature-grid article {
|
|
min-height: 72px;
|
|
padding: 11px;
|
|
}
|
|
|
|
.drill-login__feature-grid strong {
|
|
font-size: 0.82rem;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
animation: none !important;
|
|
transition: none !important;
|
|
}
|
|
}
|