Initial commit

This commit is contained in:
2026-09-03 11:24:19 +02:00
commit 6ed3153f36
1897 changed files with 538007 additions and 0 deletions
+269
View File
@@ -0,0 +1,269 @@
/* ============================================================================
* 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;
}
}