Быстрый доступ к актуальному состоянию узлов, компонентов и ключевых производственных индикаторов.
+ Показатели в реальном времени
D
-
- Industrial Intelligence Suite
+
+
+ Protected industrial access
+
- Drill View
-
- Операционная среда для мониторинга, схем и инженерной аналитики.
- + Drill Cloud +Единый доступ к буровой телеметрии и сервисам объекта
++ Защищенная операторская среда для мониторинга установок, работы с оборудованием, + архивом параметров и техническим контекстом буровой. +
-
- Live
- Мониторинг состояния оборудования и технологических цепочек в реальном времени.
+
+
01
- Обзор объекта в реальном времени
-
02
- Схемы и связи без лишнего шума
-
03
- Единая среда для команды
-
-
-
+
diff --git a/keycloak/themes/drill-luxe/login/resources/css/drill-luxe.css b/keycloak/themes/drill-luxe/login/resources/css/drill-luxe.css
index 80492d3..81639d1 100644
--- a/keycloak/themes/drill-luxe/login/resources/css/drill-luxe.css
+++ b/keycloak/themes/drill-luxe/login/resources/css/drill-luxe.css
@@ -1,18 +1,18 @@
:root {
- --drill-bg-primary: #0b0d12;
- --drill-bg-secondary: #141820;
- --drill-bg-tertiary: #1c2230;
- --drill-accent-primary: #b96a33;
- --drill-accent-secondary: #d2a170;
- --drill-accent-tertiary: #efd6b4;
- --drill-accent-quaternary: #fff1df;
- --drill-text-primary: #f7f4ee;
- --drill-text-secondary: #d0d7e4;
- --drill-text-muted: #90a0b7;
- --drill-border: rgba(210, 161, 112, 0.16);
- --drill-border-strong: rgba(239, 214, 180, 0.24);
- --drill-shadow-lg: 0 40px 120px rgba(0, 0, 0, 0.55);
- --drill-shadow-glow: 0 0 60px rgba(185, 106, 51, 0.14);
+ --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);
}
* {
@@ -20,128 +20,91 @@
}
body.drill-login {
- margin: 0;
min-height: 100vh;
min-height: 100dvh;
+ margin: 0;
+ color: var(--drill-text);
font-family:
- "Georgia",
- "Inter Variable",
- "Inter",
+ Inter,
+ "Segoe UI",
-apple-system,
BlinkMacSystemFont,
- "Segoe UI",
+ system-ui,
sans-serif;
- color: var(--drill-text-primary);
background:
- radial-gradient(circle at 10% 12%, rgba(185, 106, 51, 0.18), transparent 20%),
- radial-gradient(circle at 84% 14%, rgba(239, 214, 180, 0.08), transparent 18%),
- radial-gradient(circle at 80% 82%, rgba(109, 70, 37, 0.34), transparent 26%),
- linear-gradient(145deg, #06070a 0%, #0a0d12 30%, #111622 68%, #171d29 100%);
- background-attachment: fixed;
- animation: drillBackgroundShift 18s ease-in-out infinite alternate;
+ 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, 1.2fr) minmax(390px, 520px);
- gap: clamp(18px, 2vw, 30px);
- align-items: stretch;
- padding: clamp(16px, 2.4vh, 30px) clamp(16px, 2vw, 30px);
+ 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-radius: 36px;
- border: 1px solid var(--drill-border);
+ border: 1px solid var(--drill-line);
+ border-radius: var(--drill-radius);
background:
- linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.008)),
- rgba(10, 13, 18, 0.72);
- box-shadow: var(--drill-shadow-lg), var(--drill-shadow-glow);
- backdrop-filter: blur(28px);
- animation: drillFadeUp 900ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
-}
-
-.drill-login__brand {
- padding: clamp(28px, 3.8vh, 50px);
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- gap: clamp(18px, 2.2vh, 32px);
+ 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;
- background:
- linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.06) 24%, transparent 48%),
- radial-gradient(circle at top right, rgba(232, 201, 160, 0.12), transparent 32%);
- pointer-events: none;
+ 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::after {
- content: "";
- position: absolute;
- inset: auto -10% -16% auto;
- width: 320px;
- height: 320px;
- border-radius: 50%;
- background:
- radial-gradient(circle, rgba(185, 106, 51, 0.18) 0%, rgba(185, 106, 51, 0.04) 42%, transparent 70%);
- filter: blur(18px);
- pointer-events: none;
-}
-
-.drill-login__brand-orbit,
-.drill-login__brand-grid,
-.drill-login__panel-glow {
- pointer-events: none;
- position: absolute;
-}
-
-.drill-login__brand-orbit {
- border-radius: 999px;
- border: 1px solid rgba(239, 214, 180, 0.08);
- box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
- animation: drillOrbitFloat 16s ease-in-out infinite;
-}
-
-.drill-login__brand-orbit--one {
- width: 220px;
- height: 220px;
- top: -90px;
- right: 18%;
- transform: rotate(-18deg);
- animation-duration: 14s;
-}
-
-.drill-login__brand-orbit--two {
- width: 460px;
- height: 460px;
- bottom: -240px;
- left: -120px;
- opacity: 0.45;
- animation-duration: 22s;
- animation-direction: alternate-reverse;
+.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;
- background-image:
- linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
- linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
- background-size: 72px 72px;
- mask-image: linear-gradient(135deg, rgba(0, 0, 0, 0.6), transparent 70%);
- opacity: 0.35;
- animation: drillGridDrift 26s linear infinite;
+ 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;
@@ -149,249 +112,277 @@ body.drill-login {
}
.drill-login__brand-mark {
- width: 70px;
- height: 70px;
+ position: relative;
+ width: 62px;
+ height: 62px;
display: inline-flex;
align-items: center;
justify-content: center;
- border-radius: 24px;
+ border: 1px solid rgba(215, 161, 95, 0.36);
+ border-radius: 8px;
+ color: #fff3dc;
background:
- linear-gradient(145deg, rgba(185, 106, 51, 0.24), rgba(239, 214, 180, 0.1)),
- rgba(255, 255, 255, 0.02);
- border: 1px solid rgba(210, 161, 112, 0.3);
- color: var(--drill-accent-quaternary);
- font-size: 1.8rem;
- font-weight: 700;
- letter-spacing: 0.1em;
+ 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.08),
- 0 18px 40px rgba(185, 106, 51, 0.18);
- animation: drillMarkGlow 8s ease-in-out infinite;
- overflow: hidden;
-}
-
-.drill-login__brand-mark-core,
-.drill-login__brand-mark-bar,
-.drill-login__brand-mark-ring {
- position: absolute;
+ 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 {
- right: 14px;
- top: 16px;
- width: 8px;
+ position: absolute;
+ right: 11px;
+ top: 11px;
+ width: 6px;
height: 40px;
border-radius: 999px;
- background: linear-gradient(180deg, rgba(255, 241, 223, 0.88), rgba(210, 161, 112, 0.25));
- box-shadow: 0 0 18px rgba(239, 214, 180, 0.24);
-}
-
-.drill-login__brand-mark-ring {
- inset: 8px;
- border-radius: 22px;
- border: 1px solid rgba(255, 241, 223, 0.12);
- box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
+ 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;
- justify-content: center;
- min-height: 40px;
- padding: 9px 16px;
+ gap: 8px;
+ min-height: 34px;
+ padding: 0 12px;
+ border: 1px solid rgba(52, 211, 153, 0.26);
border-radius: 999px;
- border: 1px solid rgba(210, 161, 112, 0.18);
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
- color: var(--drill-accent-tertiary);
+ color: #bbf7d0;
+ background: rgba(52, 211, 153, 0.09);
font-size: 0.72rem;
- letter-spacing: 0.18em;
+ font-weight: 750;
+ letter-spacing: 0.12em;
text-transform: uppercase;
white-space: nowrap;
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
+}
+
+.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: 720px;
+ max-width: 760px;
}
.drill-login__eyebrow {
- display: inline-block;
- color: var(--drill-accent-secondary);
+ 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;
- letter-spacing: 0.28em;
- font-size: 0.74rem;
- margin-bottom: 14px;
}
.drill-login__brand h1,
.drill-login__panel h2 {
margin: 0;
- font-weight: 500;
- letter-spacing: -0.04em;
- line-height: 1;
+ color: var(--drill-text);
+ font-weight: 760;
+ letter-spacing: 0;
+ line-height: 1.06;
}
.drill-login__brand h1 {
- max-width: 760px;
- font-family: Georgia, "Times New Roman", serif;
- font-size: clamp(2.5rem, 4.8vw, 5.1rem);
- line-height: 0.92;
- text-wrap: balance;
+ 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 {
- color: var(--drill-text-secondary);
- line-height: 1.55;
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
- font-size: 0.95rem;
+ max-width: 720px;
+ margin: 16px 0 0;
+ color: #cbd5e1;
+ font-size: 1rem;
+ line-height: 1.6;
}
-.drill-login__metrics {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 14px;
-}
-
-.drill-login__metrics div {
+.drill-login__industrial-panel {
position: relative;
- padding: 16px 18px;
- border-radius: 26px;
- background:
- linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02)),
- rgba(255, 255, 255, 0.012);
- border: 1px solid rgba(210, 161, 112, 0.12);
- transition:
- transform 220ms ease,
- border-color 220ms ease,
- box-shadow 220ms ease,
- background 220ms ease;
+ 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__metrics div::before {
+.drill-login__rig,
+.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__rig {
+ min-height: 224px;
+}
+
+.drill-login__rig::before {
content: "";
position: absolute;
- top: 14px;
- left: 20px;
- width: 32px;
+ inset: auto 24px 28px;
height: 1px;
- background: linear-gradient(90deg, var(--drill-accent-secondary), transparent);
+ background: linear-gradient(90deg, transparent, rgba(215, 161, 95, 0.7), transparent);
}
-.drill-login__metrics div:hover {
- transform: translateY(-3px);
- border-color: rgba(239, 214, 180, 0.2);
- background:
- linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
- rgba(255, 255, 255, 0.016);
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
-}
-
-.drill-login__metrics strong {
+.drill-login__rig-mast,
+.drill-login__rig-leg,
+.drill-login__rig-floor {
+ position: absolute;
+ left: 50%;
display: block;
- margin: 6px 0 8px;
- color: var(--drill-accent-tertiary);
- font-family: Georgia, "Times New Roman", serif;
- font-size: 1.08rem;
- font-weight: 600;
- letter-spacing: 0.03em;
+ background: rgba(215, 161, 95, 0.84);
+ box-shadow: 0 0 18px rgba(215, 161, 95, 0.16);
}
-.drill-login__metrics span {
- display: block;
- color: var(--drill-text-secondary);
- line-height: 1.42;
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
- font-size: 0.88rem;
+.drill-login__rig-mast {
+ bottom: 48px;
+ width: 4px;
+ height: 132px;
+ transform: translateX(-50%);
+}
+
+.drill-login__rig-leg {
+ bottom: 48px;
+ width: 3px;
+ height: 134px;
+ transform-origin: bottom;
+}
+
+.drill-login__rig-leg--left {
+ transform: translateX(-50%) rotate(18deg);
+}
+
+.drill-login__rig-leg--right {
+ transform: translateX(-50%) rotate(-18deg);
+}
+
+.drill-login__rig-floor {
+ bottom: 42px;
+ width: 120px;
+ height: 5px;
+ transform: translateX(-50%);
+}
+
+.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: 14px;
+ gap: 10px;
}
.drill-login__feature-grid article {
- position: relative;
- padding: 18px;
- border-radius: 26px;
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.015));
- border: 1px solid rgba(210, 161, 112, 0.12);
- transition:
- transform 220ms ease,
- border-color 220ms ease,
- background 220ms ease,
- box-shadow 220ms ease;
-}
-
-.drill-login__feature-grid article::after {
- content: "";
- position: absolute;
- inset: auto 22px 0 22px;
- height: 1px;
- background: linear-gradient(90deg, rgba(239, 214, 180, 0.18), transparent);
-}
-
-.drill-login__feature-grid article:hover {
- transform: translateY(-3px);
- border-color: rgba(239, 214, 180, 0.2);
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.018));
- box-shadow: 0 22px 42px rgba(0, 0, 0, 0.16);
+ 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: inline-block;
- color: var(--drill-accent-secondary);
- font-size: 0.8rem;
- margin-bottom: 8px;
+ display: block;
+ margin-bottom: 9px;
+ color: var(--drill-accent-soft);
+ font-size: 0.72rem;
+ font-weight: 800;
}
.drill-login__feature-grid strong {
display: block;
- margin-bottom: 8px;
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
- font-size: 0.94rem;
+ color: #e5e7eb;
+ font-size: 0.9rem;
+ line-height: 1.35;
}
.drill-login__panel {
- padding: clamp(24px, 3.2vh, 38px) clamp(24px, 2vw, 36px);
display: flex;
flex-direction: column;
justify-content: center;
- box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.04),
- var(--drill-shadow-lg),
- var(--drill-shadow-glow);
+ padding: clamp(24px, 3vw, 34px);
}
.drill-login__panel-glow {
- inset: -20% auto auto -30%;
- width: 200px;
- height: 200px;
- border-radius: 50%;
- background: radial-gradient(circle, rgba(239, 214, 180, 0.12), transparent 68%);
- filter: blur(10px);
- animation: drillGlowPulse 10s ease-in-out infinite;
+ display: none;
}
.drill-login__panel-head {
@@ -399,144 +390,130 @@ body.drill-login {
}
.drill-login__panel h2 {
- font-family: Georgia, "Times New Roman", serif;
- font-size: clamp(1.9rem, 3.2vw, 2.8rem);
- margin-bottom: 10px;
- line-height: 0.98;
+ 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: 13px 14px;
- border-radius: 20px;
- border: 1px solid rgba(255, 255, 255, 0.08);
- background: rgba(255, 255, 255, 0.04);
- color: var(--drill-text-primary);
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
+ 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(248, 113, 113, 0.34);
+ 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(74, 222, 128, 0.24);
- background: rgba(20, 83, 45, 0.22);
+ border-color: rgba(52, 211, 153, 0.34);
+ background: rgba(6, 78, 59, 0.22);
}
.drill-login__form {
- display: flex;
- flex-direction: column;
+ display: grid;
gap: 14px;
}
.drill-login__field {
- display: flex;
- flex-direction: column;
- gap: 6px;
+ display: grid;
+ gap: 7px;
}
.drill-login__field-row {
display: flex;
align-items: center;
justify-content: space-between;
- gap: 16px;
+ gap: 12px;
}
.drill-login__field label,
.drill-login__remember span,
.drill-login__field-row a {
- font-size: 0.92rem;
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
+ color: #dbe4ef;
+ font-size: 0.86rem;
+ font-weight: 650;
}
-.drill-login__field-row a {
- color: var(--drill-accent-secondary);
+.drill-login__field-row a,
+.drill-login__footer a {
+ color: var(--drill-accent-soft);
text-decoration: none;
- transition: color 180ms ease, opacity 180ms ease;
}
-.drill-login__field-row a:hover {
- color: var(--drill-accent-tertiary);
- opacity: 0.96;
+.drill-login__field-row a:hover,
+.drill-login__footer a:hover {
+ color: #f8d9ad;
}
.drill-login__field input {
width: 100%;
- border: 1px solid rgba(210, 161, 112, 0.14);
- border-radius: 20px;
+ 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), rgba(255, 255, 255, 0.025)),
- rgba(255, 255, 255, 0.02);
- color: var(--drill-text-primary);
- padding: 14px 16px;
- font:
- 500 0.95rem/1.25 "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
- outline: none;
- transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
+ 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: var(--drill-text-muted);
+ color: #6f7f94;
}
.drill-login__field input:focus {
- border-color: rgba(210, 161, 112, 0.44);
+ border-color: var(--drill-line-strong);
box-shadow:
- 0 0 0 4px rgba(185, 106, 51, 0.14),
- 0 12px 30px rgba(0, 0, 0, 0.16);
- background: rgba(255, 255, 255, 0.055);
+ 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: 10px;
- color: var(--drill-text-secondary);
+ gap: 9px;
+}
+
+.drill-login__remember input {
+ accent-color: var(--drill-accent-soft);
}
.drill-login__submit {
+ min-height: 48px;
margin-top: 4px;
- border: none;
- border-radius: 22px;
- padding: 15px 18px;
- font:
- 700 0.96rem/1.2 "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
- font-weight: 600;
- letter-spacing: 0.03em;
- color: #1c1208;
- cursor: pointer;
- background:
- linear-gradient(135deg, #b96a33 0%, #d2a170 52%, #efd6b4 100%);
+ 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 20px 36px rgba(185, 106, 51, 0.26);
- transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
+ 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 {
- transform: translateY(-2px);
- box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.34),
- 0 26px 44px rgba(185, 106, 51, 0.34);
filter: saturate(1.05);
+ transform: translateY(-1px);
}
.drill-login__submit-link {
@@ -547,642 +524,100 @@ body.drill-login {
}
.drill-login__footer {
- margin-top: 16px;
display: flex;
justify-content: space-between;
gap: 12px;
- color: var(--drill-text-muted);
- font-size: 0.82rem;
- letter-spacing: 0.02em;
- font-family:
- "Inter Variable",
- "Inter",
- "Segoe UI",
- sans-serif;
+ margin-top: 18px;
+ padding-top: 14px;
+ border-top: 1px solid rgba(148, 163, 184, 0.14);
+ color: var(--drill-muted);
+ font-size: 0.78rem;
}
-@media (max-height: 900px) {
- body.drill-login {
- overflow: hidden;
- }
-
+@media (max-width: 1120px) {
.drill-login__shell {
- gap: 16px;
- padding: 16px;
- height: 100vh;
- height: 100dvh;
- }
-
- .drill-login__brand,
- .drill-login__panel {
- border-radius: 28px;
+ grid-template-columns: 1fr;
}
.drill-login__brand {
- padding: 24px;
- gap: 14px;
- }
-
- .drill-login__brand-orbit--one {
- width: 180px;
- height: 180px;
- top: -72px;
- }
-
- .drill-login__brand-orbit--two {
- width: 320px;
- height: 320px;
- bottom: -180px;
- left: -96px;
- }
-
- .drill-login__brand h1 {
- font-size: clamp(2rem, 3.8vw, 3.8rem);
- }
-
- .drill-login__brand p,
- .drill-login__panel p,
- .drill-login__feature-grid p {
- font-size: 0.88rem;
- line-height: 1.45;
- }
-
- .drill-login__metrics div,
- .drill-login__feature-grid article {
- padding: 14px;
- }
-
- .drill-login__metrics strong {
- font-size: 1rem;
- }
-
- .drill-login__metrics span {
- font-size: 0.82rem;
- }
-
- .drill-login__feature-grid strong {
- font-size: 0.9rem;
- }
-
- .drill-login__panel {
- padding: 22px;
- }
-
- .drill-login__panel h2 {
- font-size: clamp(1.7rem, 2.8vw, 2.3rem);
- }
-
- .drill-login__field input {
- padding: 13px 15px;
- }
-
- .drill-login__submit {
- padding: 14px 16px;
- }
-
- .drill-login__feature-grid article p:last-child {
- display: none;
+ min-height: 520px;
}
}
-@media (max-height: 760px) {
+@media (max-width: 760px) {
.drill-login__shell {
- height: 100vh;
- height: 100dvh;
- }
-
- .drill-login__brand-copy p {
- display: none;
- }
-
- .drill-login__metrics {
- display: none;
- }
-
- .drill-login__feature-grid article p {
- display: none;
- }
-
- .drill-login__metrics,
- .drill-login__feature-grid {
- gap: 10px;
- }
-
- .drill-login__metrics div,
- .drill-login__feature-grid article {
padding: 12px;
- border-radius: 20px;
- }
-
- .drill-login__eyebrow {
- margin-bottom: 10px;
- }
-
- .drill-login__footer {
- margin-top: 12px;
- font-size: 0.76rem;
- }
-}
-
-@media (min-width: 1280px) and (max-width: 1440px) and (max-height: 820px) {
- body.drill-login {
- overflow: hidden;
- }
-
- .drill-login__shell {
- grid-template-columns: minmax(0, 1.08fr) minmax(360px, 430px);
- gap: 14px;
- padding: 14px;
- height: 100vh;
- height: 100dvh;
}
.drill-login__brand,
.drill-login__panel {
- border-radius: 24px;
- }
-
- .drill-login__brand {
padding: 20px;
- gap: 12px;
}
- .drill-login__brand-top {
- gap: 12px;
- }
-
- .drill-login__brand-mark {
- width: 60px;
- height: 60px;
- border-radius: 20px;
- font-size: 1.55rem;
- }
-
- .drill-login__brand-mark-bar {
- top: 13px;
- right: 12px;
- height: 34px;
- }
-
- .drill-login__status-pill {
- min-height: 34px;
- padding: 7px 12px;
- font-size: 0.66rem;
- letter-spacing: 0.14em;
- }
-
- .drill-login__eyebrow {
- margin-bottom: 8px;
- font-size: 0.68rem;
- }
-
- .drill-login__brand h1 {
- font-size: clamp(1.9rem, 3.2vw, 3.2rem);
- line-height: 0.92;
- max-width: 12ch;
- }
-
- .drill-login__brand p,
- .drill-login__panel p,
- .drill-login__feature-grid p {
- font-size: 0.82rem;
- line-height: 1.38;
- }
-
- .drill-login__brand-copy > p {
- display: none;
- }
-
- .drill-login__metrics,
- .drill-login__feature-grid {
- gap: 10px;
- }
-
- .drill-login__metrics {
- grid-template-columns: repeat(3, minmax(0, 1fr));
- }
-
- .drill-login__metrics div,
- .drill-login__feature-grid article {
- padding: 12px;
- border-radius: 18px;
- }
-
- .drill-login__metrics strong {
- margin: 4px 0 6px;
- font-size: 0.92rem;
- }
-
- .drill-login__metrics span {
- font-size: 0.77rem;
- line-height: 1.32;
- }
-
- .drill-login__feature-grid span {
- margin-bottom: 6px;
- font-size: 0.72rem;
- }
-
- .drill-login__feature-grid strong {
- margin-bottom: 0;
- font-size: 0.84rem;
- }
-
- .drill-login__feature-grid article p {
- display: none;
- }
-
- .drill-login__feature-grid {
- grid-template-columns: repeat(3, minmax(0, 1fr));
- }
-
- .drill-login__panel {
- padding: 20px 18px;
- justify-content: center;
- }
-
- .drill-login__panel-head {
- margin-bottom: 16px;
- }
-
- .drill-login__panel h2 {
- font-size: clamp(1.55rem, 2.3vw, 2.1rem);
- margin-bottom: 8px;
- }
-
- .drill-login__alert {
- margin-bottom: 10px;
- padding: 10px 12px;
- border-radius: 16px;
- font-size: 0.84rem;
- }
-
- .drill-login__form {
- gap: 10px;
- }
-
- .drill-login__field {
- gap: 5px;
- }
-
- .drill-login__field label,
- .drill-login__remember span,
- .drill-login__field-row a {
- font-size: 0.84rem;
- }
-
- .drill-login__field input {
- padding: 12px 14px;
- border-radius: 16px;
- font-size: 0.88rem;
- }
-
- .drill-login__submit {
- margin-top: 2px;
- padding: 13px 16px;
- border-radius: 18px;
- font-size: 0.88rem;
- }
-
- .drill-login__footer {
- margin-top: 10px;
- font-size: 0.72rem;
- }
-}
-
-@media (max-width: 1440px) and (max-height: 768px) {
- .drill-login__shell {
- grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
- gap: 12px;
- padding: 12px;
- height: 100vh;
- height: 100dvh;
- }
-
- .drill-login__brand,
- .drill-login__panel {
- border-radius: 22px;
- }
-
- .drill-login__brand {
- padding: 18px;
- gap: 10px;
- }
-
- .drill-login__brand-orbit,
- .drill-login__brand-grid,
- .drill-login__panel-glow {
- opacity: 0.45;
- }
-
- .drill-login__brand-orbit--two {
- width: 260px;
- height: 260px;
- bottom: -150px;
- left: -80px;
- }
-
- .drill-login__brand-mark {
- width: 56px;
- height: 56px;
- font-size: 1.4rem;
- }
-
- .drill-login__status-pill {
- min-height: 32px;
- padding: 6px 10px;
- font-size: 0.62rem;
- }
-
- .drill-login__eyebrow {
- margin-bottom: 6px;
- font-size: 0.64rem;
- }
-
- .drill-login__brand h1 {
- font-size: clamp(1.7rem, 2.8vw, 2.8rem);
- max-width: 11ch;
- }
-
- .drill-login__brand-copy > p,
- .drill-login__metrics,
- .drill-login__feature-grid article p {
- display: none;
- }
-
- .drill-login__feature-grid {
- gap: 8px;
- }
-
- .drill-login__feature-grid article {
- padding: 10px;
- border-radius: 16px;
- }
-
- .drill-login__feature-grid strong {
- font-size: 0.8rem;
- }
-
- .drill-login__panel {
- padding: 18px 16px;
- }
-
- .drill-login__panel-head {
- margin-bottom: 14px;
- }
-
- .drill-login__panel h2 {
- font-size: clamp(1.45rem, 2vw, 1.9rem);
- margin-bottom: 6px;
- }
-
- .drill-login__panel-head p {
- font-size: 0.8rem;
- line-height: 1.35;
- }
-
- .drill-login__alert {
- margin-bottom: 8px;
- padding: 9px 10px;
- border-radius: 14px;
- font-size: 0.8rem;
- }
-
- .drill-login__form {
- gap: 8px;
- }
-
- .drill-login__field label,
- .drill-login__remember span,
- .drill-login__field-row a {
- font-size: 0.8rem;
- }
-
- .drill-login__field input {
- padding: 10px 12px;
- border-radius: 14px;
- font-size: 0.84rem;
- }
-
- .drill-login__submit {
- padding: 11px 14px;
- border-radius: 16px;
- font-size: 0.84rem;
- }
-
- .drill-login__footer {
- margin-top: 8px;
- font-size: 0.68rem;
- }
-}
-
-@media (min-width: 1800px) and (min-height: 980px) {
- .drill-login__shell {
- grid-template-columns: minmax(0, 1.22fr) minmax(430px, 520px);
- gap: 22px;
- padding: 22px;
- }
-
- .drill-login__brand {
- padding: 34px;
- gap: 20px;
- }
-
- .drill-login__brand h1 {
- font-size: clamp(3rem, 4.1vw, 4.6rem);
- max-width: 13ch;
- }
-
- .drill-login__brand p,
- .drill-login__panel p,
- .drill-login__feature-grid p {
- font-size: 0.93rem;
- line-height: 1.5;
- }
-
- .drill-login__metrics div,
- .drill-login__feature-grid article {
- padding: 16px;
- }
-
- .drill-login__metrics strong {
- font-size: 1.04rem;
- }
-
- .drill-login__metrics span {
- font-size: 0.84rem;
- }
-
- .drill-login__feature-grid strong {
- font-size: 0.92rem;
- }
-
- .drill-login__panel {
- padding: 28px;
- }
-
- .drill-login__panel h2 {
- font-size: clamp(2rem, 2.4vw, 2.6rem);
- }
-
- .drill-login__field input {
- padding: 13px 16px;
- }
-
- .drill-login__submit {
- padding: 14px 18px;
- }
-}
-
-.drill-login__footer a {
- color: var(--drill-accent-secondary);
- text-decoration: none;
-}
-
-@keyframes drillFadeUp {
- from {
- opacity: 0;
- transform: translateY(18px);
- }
-
- to {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-@keyframes drillOrbitFloat {
- 0% {
- transform: translate3d(0, 0, 0) rotate(-18deg);
- }
-
- 50% {
- transform: translate3d(8px, -10px, 0) rotate(-12deg);
- }
-
- 100% {
- transform: translate3d(-6px, 6px, 0) rotate(-22deg);
- }
-}
-
-@keyframes drillGridDrift {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- to {
- transform: translate3d(24px, 18px, 0);
- }
-}
-
-@keyframes drillGlowPulse {
- 0% {
- opacity: 0.45;
- transform: scale(0.96);
- }
-
- 50% {
- opacity: 0.72;
- transform: scale(1.04);
- }
-
- 100% {
- opacity: 0.5;
- transform: scale(0.98);
- }
-}
-
-@keyframes drillMarkGlow {
- 0% {
- box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.08),
- 0 18px 40px rgba(185, 106, 51, 0.18);
- }
-
- 50% {
- box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.1),
- 0 22px 46px rgba(185, 106, 51, 0.24);
- }
-
- 100% {
- box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.08),
- 0 18px 40px rgba(185, 106, 51, 0.18);
- }
-}
-
-@keyframes drillBackgroundShift {
- 0% {
- background-position:
- 0% 0%,
- 0% 0%,
- 0% 0%,
- 0% 0%;
- }
-
- 100% {
- background-position:
- 2% -1%,
- -2% 1%,
- 1% 2%,
- 0% 0%;
- }
-}
-
-@media (prefers-reduced-motion: reduce) {
- body.drill-login,
- .drill-login__brand,
- .drill-login__panel,
- .drill-login__brand-orbit,
- .drill-login__brand-grid,
- .drill-login__brand-mark,
- .drill-login__panel-glow {
- animation: none !important;
- }
-
- .drill-login__metrics div,
- .drill-login__feature-grid article,
- .drill-login__submit,
- .drill-login__field-row a {
- transition: none !important;
- }
-}
-
-@media (max-width: 1180px) {
- .drill-login__shell {
- grid-template-columns: 1fr;
- }
-
- .drill-login__brand {
- min-height: 420px;
- }
-
- .drill-login__metrics,
- .drill-login__feature-grid {
- grid-template-columns: 1fr;
- }
-}
-
-@media (max-width: 640px) {
- .drill-login__shell {
- padding: 16px;
- }
-
- .drill-login__brand,
- .drill-login__panel {
- padding: 22px;
- border-radius: 26px;
- }
-
- .drill-login__field-row,
.drill-login__brand-top,
+ .drill-login__field-row,
.drill-login__footer {
- flex-direction: column;
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__rig {
+ 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;
+ }
+}
+
+
+
+
-
- Visual
- Наглядные схемы, связи и контекст объекта в одном визуальном контуре.
-
-
- Evidence
- Документы, медиа и инженерные материалы рядом с событиями и сигналами.
+
+
+
+ Telemetry
+ online contour
+
+
+
+ Equipment
+ controlled access
+
+
+
+ Archive
+ timeseries ready
+
Понимание силовых, сигнальных и аварийных контуров через чистую визуальную модель.
+ Оборудование и ТОиРПространство для операторов, инженеров, аналитиков и специалистов сопровождения.
+ Архив и инженерный анализ
- Private Access
-
<#if message?has_content>
@@ -100,7 +111,7 @@
Вход в рабочее пространство
-Используйте корпоративную учетную запись для доступа к среде Drill View.
+ SSO Authorization +Вход в систему
+Используйте корпоративную учетную запись для доступа к Drill Cloud.
<#if realm.resetPasswordAllowed>
- Не удается войти?
+ Восстановить доступ
#if>
- Инженерная визуализация и контекст объекта
- Protected session
+ GReact Drill
+ Secure session