270 lines
6.4 KiB
CSS
270 lines
6.4 KiB
CSS
/* ============================================================================
|
|
* SoftSPM — nowa strona logowania (uklad dwukolumnowy)
|
|
* Lewa kolumna: ciemny panel + animacja "wave mesh" (napis SoftSPM).
|
|
* Prawa kolumna: jasny formularz logowania z nowym logo.
|
|
* Kolory marki: turkus #29ABE2 / #0C7491, czerwien #C1272D.
|
|
* ========================================================================== */
|
|
|
|
:root {
|
|
--spm-teal: #29abe2;
|
|
--spm-teal-dark: #0c7491;
|
|
--spm-red: #c1272d;
|
|
--spm-ink: #26323a;
|
|
--spm-muted: #7d8a93;
|
|
--spm-line: #dfe6ea;
|
|
}
|
|
|
|
/* nadpisanie tla body z index.php na ekranie logowania */
|
|
body.spm-login-body {
|
|
margin: 0;
|
|
background: #06121a !important;
|
|
}
|
|
|
|
.spm-auth {
|
|
position: fixed;
|
|
inset: 0;
|
|
top: 0; left: 0; right: 0; bottom: 0;
|
|
display: flex;
|
|
font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
color: var(--spm-ink);
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* ---------------------------- LEWA: WIZUAL ------------------------------- */
|
|
.spm-auth__visual {
|
|
position: relative;
|
|
flex: 1 1 50%;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
background:
|
|
/* miekka figura: duze kolo w prawym-gornym rogu */
|
|
radial-gradient(42% 42% at 96% 4%, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0) 70%),
|
|
/* miekka figura: duze kolo w lewym-dolnym rogu */
|
|
radial-gradient(46% 46% at 4% 98%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 70%),
|
|
/* poswiata marki przy dolnej krawedzi */
|
|
radial-gradient(60% 55% at 22% 104%, rgba(41, 171, 226, 0.22) 0%, rgba(41, 171, 226, 0) 60%),
|
|
/* lekki turkusowy refleks w prawym-gornym rogu */
|
|
radial-gradient(55% 50% at 100% 0%, rgba(41, 171, 226, 0.14) 0%, rgba(41, 171, 226, 0) 55%),
|
|
/* bazowy gradient panelu */
|
|
linear-gradient(155deg, #0a5366 0%, #074152 45%, #052b39 75%, #04212c 100%);
|
|
}
|
|
|
|
/* wzor geometryczny: delikatna siatka punktow (wygasza sie ku dolowi) */
|
|
.spm-auth__visual::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
top: 0; left: 0; right: 0; bottom: 0;
|
|
z-index: 0;
|
|
pointer-events: none;
|
|
background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, rgba(255, 255, 255, 0) 1.6px);
|
|
background-size: 24px 24px;
|
|
opacity: 0.5;
|
|
-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 65%);
|
|
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 65%);
|
|
}
|
|
|
|
/* wzor geometryczny: kontur duzego okregu w prawym-gornym rogu */
|
|
.spm-auth__visual::after {
|
|
content: "";
|
|
position: absolute;
|
|
z-index: 0;
|
|
pointer-events: none;
|
|
width: 560px;
|
|
height: 560px;
|
|
right: -180px;
|
|
top: -190px;
|
|
border-radius: 50%;
|
|
border: 1px solid rgba(255, 255, 255, 0.07);
|
|
background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 68%);
|
|
}
|
|
|
|
.spm-auth__canvas {
|
|
position: absolute;
|
|
inset: 0;
|
|
top: 0; left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
z-index: 1;
|
|
}
|
|
|
|
.spm-auth__visual-top {
|
|
position: absolute;
|
|
top: 38px;
|
|
left: 44px;
|
|
z-index: 2;
|
|
max-width: 70%;
|
|
}
|
|
|
|
.spm-auth__kicker {
|
|
font-size: 12px;
|
|
letter-spacing: 0.32em;
|
|
text-transform: uppercase;
|
|
color: rgba(41, 171, 226, 0.85);
|
|
margin: 0 0 10px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.spm-auth__lead {
|
|
margin: 0;
|
|
font-size: 44px;
|
|
line-height: 1.15;
|
|
font-weight: 800;
|
|
letter-spacing: -0.01em;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.spm-auth__lead b {
|
|
font-weight: 800;
|
|
color: #fff;
|
|
}
|
|
|
|
/* ---------------------------- PRAWA: FORMULARZ -------------------------- */
|
|
.spm-auth__panel {
|
|
flex: 1 1 50%;
|
|
min-width: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: #ffffff;
|
|
z-index: 2;
|
|
}
|
|
|
|
.spm-auth__card {
|
|
width: 100%;
|
|
max-width: 360px;
|
|
padding: 32px 28px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.spm-auth__logo {
|
|
display: block;
|
|
width: 220px;
|
|
max-width: 80%;
|
|
height: auto;
|
|
margin: 0 0 28px;
|
|
}
|
|
|
|
.spm-auth__heading {
|
|
margin: 0 0 4px;
|
|
font-size: 22px;
|
|
font-weight: 600;
|
|
color: var(--spm-ink);
|
|
}
|
|
|
|
.spm-auth__sub {
|
|
margin: 0 0 26px;
|
|
font-size: 13px;
|
|
color: var(--spm-muted);
|
|
}
|
|
|
|
.spm-field {
|
|
position: relative;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.spm-field__icon {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 14px;
|
|
transform: translateY(-50%);
|
|
width: 18px;
|
|
height: 18px;
|
|
color: var(--spm-teal);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.spm-input,
|
|
.spm-select {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
height: 46px;
|
|
padding: 0 14px 0 42px;
|
|
font-size: 14px;
|
|
color: var(--spm-ink);
|
|
background: #f6f9fb;
|
|
border: 1px solid var(--spm-line);
|
|
border-radius: 8px;
|
|
outline: none;
|
|
transition: border-color .15s, box-shadow .15s, background .15s;
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
}
|
|
|
|
.spm-select {
|
|
cursor: pointer;
|
|
background-image:
|
|
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%237d8a93' d='M1 1l5 5 5-5'/></svg>");
|
|
background-repeat: no-repeat;
|
|
background-position: right 14px center;
|
|
}
|
|
|
|
.spm-input:focus,
|
|
.spm-select:focus {
|
|
border-color: var(--spm-teal);
|
|
background: #fff;
|
|
box-shadow: 0 0 0 3px rgba(41, 171, 226, 0.15);
|
|
}
|
|
|
|
.spm-input::placeholder {
|
|
color: #aab4ba;
|
|
}
|
|
|
|
.spm-btn {
|
|
width: 100%;
|
|
height: 48px;
|
|
margin-top: 8px;
|
|
border: 0;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
font-size: 15px;
|
|
font-weight: 600;
|
|
letter-spacing: 0.02em;
|
|
color: #fff;
|
|
background: linear-gradient(135deg, var(--spm-teal) 0%, var(--spm-teal-dark) 100%);
|
|
box-shadow: 0 6px 16px rgba(12, 116, 145, 0.25);
|
|
transition: transform .08s, box-shadow .15s, filter .15s;
|
|
}
|
|
|
|
.spm-btn:hover {
|
|
filter: brightness(1.05);
|
|
box-shadow: 0 8px 20px rgba(12, 116, 145, 0.32);
|
|
}
|
|
|
|
.spm-btn:active {
|
|
transform: translateY(1px);
|
|
}
|
|
|
|
.spm-auth__foot {
|
|
margin-top: 22px;
|
|
font-size: 12px;
|
|
color: var(--spm-muted);
|
|
text-align: center;
|
|
}
|
|
|
|
.spm-auth__foot b {
|
|
color: var(--spm-red);
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ------------------------------ RESPONSYWNIE ---------------------------- */
|
|
@media (max-width: 860px) {
|
|
.spm-auth {
|
|
flex-direction: column;
|
|
}
|
|
.spm-auth__visual {
|
|
flex: 0 0 200px;
|
|
}
|
|
.spm-auth__visual-top {
|
|
top: 22px;
|
|
left: 24px;
|
|
}
|
|
.spm-auth__lead {
|
|
font-size: 24px;
|
|
}
|
|
.spm-auth__panel {
|
|
flex: 1 1 auto;
|
|
}
|
|
}
|