WKVS v 1.0.0

This commit is contained in:
Fabio Herzig
2026-07-24 21:49:40 +02:00
commit 6cb5386205
469 changed files with 76191 additions and 0 deletions
File diff suppressed because one or more lines are too long
+206
View File
@@ -0,0 +1,206 @@
.msgDiv {
position: fixed;
bottom: 50px;
right: 20px;
display: flex;
align-items: end;
flex-direction: column-reverse;
z-index: 1000;
}
.msgDiv, .msgDiv > * {
box-sizing: border-box;
}
.msgBox,
.confirmBox {
transform: translateX(calc(100% + 40px)) scaleY(0);
height: 0;
margin-top: 0;
padding: 10px 15px;
color: #fff;
background-color: #0b0b0b;
border-left: 4px solid;
border-radius: 2px;
transition: all 1s ease;
}
.msgBox.show,
.confirmBox.show {
transform: translateX(0) scaleY(1);
height: 40px;
margin-top: 10px;
}
.msgBox.show {
height: 40px;
}
.confirmBox.show {
height: 100px;
}
.buttonConfirmDiv {
margin-top: 16px;
display: flex;
justify-content: space-around;
}
.confirmBox button {
padding: 8px 24px;
transition: background-color 0.3s ease, opacity 1s ease, height 1s ease;
color: #fff;
border: none;
border-radius: 8px;
opacity: 0;
height: 0;
font-size: 18px;
}
.confirmBox.show button {
opacity: 1;
height: auto;
}
.confirmYesButton {
background-color: rgba(0, 255, 0, 0.75);
}
.confirmNoButton {
background-color: rgba(255, 0, 0, 0.75);
}
.confirmYesButton:hover {
background-color: rgba(0, 255, 0, 1);
}
.confirmNoButton:hover {
background-color: rgba(255, 0, 0, 1);
}
.confirmImportantHeading {
font-size: 22px;
margin: 0;
letter-spacing: 1px;
color: #36454F;
}
.confirmImportantText {
font-size: 16px;
margin: 0;
color: #36454F;
}
.confirmImportantLabel {
font-size: 12px;
margin: 0;
color: #36454F;
}
.confirmImportantInput {
border: 1px solid #36454F;
padding: 12px;
width: 100%;
border-radius: 12px;
color: #36454F;
}
.confirmImportantInput.notOk {
color: #692727;
}
.confirmImportantInput.ok {
color: #2b6927;
}
.confirmImportantInput:focus {
outline: none;
}
.confirmImportantInput.notOk:focus {
color: #8b0000;
border-color: #692727;
}
.confirmImportantInput.ok:focus {
color: #008b00;
border-color: #2b6927;
}
.confirmImportantInputDiv {
display: grid;
gap: 6px;
}
.confirmImportantConfrimBtn, .confirmImportantCancelBtn {
background: #25789e;
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease filter 0.5s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.confirmImportantConfrimBtn {
background: #25789e;
}
.confirmImportantCancelBtn {
background: #9e253d;
}
.confirmImportantInputDiv button:hover {
transform: scale(1.02);
}
.confirmImportantInputDiv button:active {
transform: scale(0.98);
}
.notValidBtn {
user-select: none;
cursor: not-allowed;
filter: grayscale(1);
}
.confirmImportantBtnDiv {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
}
.confirmImportantTextDiv {
display: grid;
gap: 12px;
grid-template-columns: 1fr;
}
.confirmImportantBox {
display: grid;
padding: 20px;
grid-template-columns: 1fr;
position: relative;
border-radius: 10px;
background-color: #fff;
width: min(500px, 90vw);
gap: 18px;
}
.confirmImportantBg {
display: flex;
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
z-index: 10000;
align-items: center;
justify-content: center;
backdrop-filter: blur(2px);
background-color: #36454f2f;
}
+92
View File
@@ -0,0 +1,92 @@
.customSelect {
position: relative;
}
.customSelect>* {
margin: 0;
}
.selectTrigger .selectArrow {
transition: rotate 0.6s ease;
}
table input {
height: 38px;
}
.selectTrigger,
.selectTriggerBulk {
background: none;
border: none;
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
width: 100%;
}
.selectOptions,
.selectOptionsBulk {
position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
padding: 4px;
list-style: none;
border: 1px solid var(--color-border);
border-radius: 12px;
background: #fff;
z-index: 1000;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
opacity: 0;
transform: scaleY(0);
transform-origin: top;
pointer-events: none;
transition: opacity 0.2s ease, transform 0.2s ease;
}
.customSelect.open .selectOptions,
.customSelect.open .selectOptionsBulk {
opacity: 1;
transform: scaleY(1);
pointer-events: auto;
}
.customSelect.open .selectArrow {
rotate: 180deg
}
.selectOptions li,
.selectOptionsBulk li {
padding: 10px 14px;
cursor: pointer;
border-radius: 8px;
margin-bottom: 2px;
transition: background-color 0.15s ease;
}
.selectOptions li:last-child,
.selectOptionsBulk li:last-child {
margin-bottom: 0;
}
.selectOptions li:hover,
.selectOptionsBulk li:hover {
background-color: #eee;
}
.selectOptions li.selected,
.selectOptionsBulk li.selected {
background-color: #ccc;
color: #000;
font-weight: 500;
}
.selectLabel:not(.sidebar-links .selectLabel) {
font-size: 1rem;
}
+187
View File
@@ -0,0 +1,187 @@
:root {
--main: #6e285f;
--bg-top-raw: 110 40 95;
--main-box-shadow: rgb(from var(--main) r g b / 0.05);
--accent: #737444;
--paddingSite: 40px;
--card-radius: 20px;
--card-bg: #ffffff;
--bg: #FDFDFD;
--card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
--accent-soft: #f0f5ff;
--border-subtle: #d4d7e1;
--text-main: #191919;
--text-muted: #5e5e5e;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html,
body,
section {
margin: 0;
overscroll-behavior: none;
}
body {
margin: 0;
background-color: var(--bg);
color: var(--text-main);
}
.bgSection {
padding: var(--paddingSite);
}
.headerDivTrainer {
padding: var(--paddingSite);
background-color: var(--main);
color: var(--bg);
margin-bottom: var(--paddingSite);
display: flex;
justify-content: space-between;
align-items: center;
}
.headingPanel {
margin: 0;
font-weight: 200;
}
.controls-wrapper {
display: flex;
flex-direction: column;
gap: 20px;
align-items: center;
margin-bottom: var(--paddingSite);
flex-wrap: wrap;
}
.controls-wrapper>div,
.controls-wrapper>form {
display: flex;
flex-direction: row;
gap: 10px;
flex-wrap: wrap;
}
/* From Trainer Dashboard - newBtn style */
button.change-type,
button[type="submit"] {
cursor: pointer;
font-weight: 700;
transition: all 0.2s;
padding: 10px 24px;
border-radius: 100px;
background: #cfef00;
border: 1px solid transparent;
display: flex;
align-items: center;
font-size: 15px;
color: #000;
}
button.change-type:hover,
button[type="submit"]:hover {
background: #c5e300;
transform: translateY(-1px);
}
button.change-type:active,
button[type="submit"]:active {
transform: scale(0.95);
}
.change-type-form {
display: flex;
align-items: center;
}
.change-type-form textarea {
padding: 10px 15px;
border-radius: 8px;
border: 1px solid var(--border-subtle);
background: #fff;
font-size: 15px;
width: 250px;
outline: none;
transition: border-color 0.2s;
}
.change-type-form textarea:focus {
border-color: var(--main);
}
.iframe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 30px;
}
.iframeWithTitle {
background: #000;
border-radius: 20px;
padding: 15px;
display: flex;
flex-direction: column;
align-items: center;
box-shadow: var(--card-shadow);
}
@media (max-width: 500px) {
:root {
--paddingSite: 20px;
}
.iframeWithTitle {
max-width: calc(100vw - 2 * var(--paddingSite));
}
}
.iframeWithTitle h1 {
color: #fff;
font-size: 1.2rem;
margin-bottom: 15px;
font-weight: 400;
}
iframe {
width: 100%;
aspect-ratio: 16/9;
border: none;
border-radius: 15px;
background: #222;
}
.divSucsess {
display: flex;
opacity: 0;
position: fixed;
top: 20px;
right: 20px;
transform: translateX(400px);
background-color: #ffffff;
z-index: 10000;
border-radius: 12px;
box-shadow: var(--card-shadow);
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border-left: 5px solid #4ade80;
padding-right: 20px;
}
.divSucsess.show {
opacity: 1;
transform: translateX(0);
}
.textSucsess {
color: #137333;
margin: 15px;
font-weight: 600;
font-size: 14px;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+147
View File
@@ -0,0 +1,147 @@
body{
overflow: hidden;
}
* {
box-sizing: border-box;
}
.page-secure-login{
display: flex;
}
.bg-secure-login-form {
gap: 20px;
display: grid;
}
.bg-picture-secure-login{
width: calc(100vw - 550px);
height: 100vh;
position: absolute;
left: 0px;
top: 0px;
background-color: #fff;
}
.bg-picture-secure-login img{
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0 80px 0 0;
display: block;
}
.bg-secure-login{
display: flex;
width: 100vw;
max-width: 550px;
height: 100vh;
background-color: #fff;
position: absolute;
right: 0px;
top: 0px;
align-items: center;
justify-content: center;
padding: 30px;
}
.bg-secure-login-form > h1{
color: #36454F !important;
font-size: 32px;
font-weight: 500;
letter-spacing: 1px;
}
.bg-secure-login-form input[type=password], .bg-secure-login-form input[type=text]{
padding: 5px;
width: 100%;
max-width: 300px;
border-top: none !important;
border-left: none !important;
border-right: none !important;
font-size: 16px;
border-bottom: 1px solid #000 !important;
border-radius: 0px !important;
}
#access_username {
margin-bottom: 20px;
}
.bg-secure-login-form input[type=password]:focus, .bg-secure-login-form input[type=text]:focus{
outline: none;
border-bottom: 1px solid #000 !important;
}
.bg-secure-login-form input[type=password]::placeholder, .bg-secure-login-form input[type=text]::placeholder {
color: #ccc !important;
}
.bg-secure-login-form input[type=submit]{
background-color: #fff !important;
padding: 10px 20px !important;
margin-top: 25px !important;
border: 1px solid #000 !important;
color: #36454F !important;
transition: all 0.3s ease-out !important;
border-radius: 0px !important;
font-weight: 500;
letter-spacing: 1px;
}
.bg-secure-login-form input[type=submit]:hover{
background-color: #36454F !important;
color: #fff !important;
}
.bg-secure-login-form > p{
margin-bottom: 30px;
}
.seclog_home_link{
position: fixed;
z-index: 1000;
top: 30px;
right: 30px;
height: 48px;
width: 48px;
}
.seclog_home_link > img{
object-fit: cover;
width: 100%;
}
#div_showpw, #access_username {
margin-top: 10px;
}
#togglePassword {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
cursor: pointer;
transition: all 0.5s ease;
}
#togglePassword:hover {
transform: translateY(-50%) scale(1.15);
}
#div_showpw{
position: relative;
display: inline-block;
width: 100%;
max-width: 300px;
}
label {
color: #36454F !important;
font-weight: 300;
letter-spacing: 1px;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
box-shadow: 0 0 0 1000px #ffffff inset !important;
-webkit-text-fill-color: #000000 !important;
transition: background-color 5000s ease-in-out 0s;
}
File diff suppressed because it is too large Load Diff
+120
View File
@@ -0,0 +1,120 @@
body{
overflow: hidden;
}
.page-secure-login{
display: flex;
}
.bg-picture-secure-login{
width: calc(100vw - 450px);
height: 100vh;
position: absolute;
left: 0px;
top: 0px;
}
.bg-picture-secure-login img{
width: 100%;
height: 100vh;
object-fit: cover;
}
.bg-secure-login{
display: flex;
width: 100vw;
max-width: 450px;
height: 100vh;
background-color: #fff;
position: absolute;
right: 0px;
top: 0px;
align-items: center;
padding: 30px;
}
.bg-secure-login-form > h1{
color: #000 !important;
font-size: 32px;
}
.bg-secure-login-form input[type=password], .bg-secure-login-form input[type=text]{
padding: 5px;
width: 100%;
max-width: 300px;
border-top: none !important;
border-left: none !important;
border-right: none !important;
font-size: 16px;
border-bottom: 1px solid #000 !important;
border-radius: 0px !important;
}
.divShowPw:not(#lastDivShowPw) {
margin-bottom: 20px;
}
.bg-secure-login-form input[type=password]:focus, .bg-secure-login-form input[type=text]:focus{
outline: none;
border-bottom: 1px solid #000 !important;
}
.bg-secure-login-form input[type=password]::placeholder, .bg-secure-login-form input[type=text]::placeholder {
color: #ccc !important;
}
.bg-secure-login-form input[type=submit]{
background-color: #fff !important;
padding: 10px 20px !important;
margin-top: 25px !important;
border: 1px solid #000 !important;
color: #000 !important;
transition: all 0.3s ease-out !important;
border-radius: 0px !important;
}
body {
color: #000 !important;
}
* {
box-sizing: border-box;
}
.bg-secure-login-form input[type=submit]:hover{
background-color: #000 !important;
color: #fff !important;
}
.bg-secure-login-form > p{
margin-bottom: 30px;
}
.seclog_home_link{
position: fixed;
z-index: 1000;
top: 30px;
right: 30px;
}
.divShowPw {
margin-top: 10px;
position: relative;
display: inline-block;
width: 100%;
max-width: 300px;
}
.togglePassword {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
cursor: pointer;
transition: all 0.5s ease;
}
.togglePassword:hover {
transform: translateY(-50%) scale(1.15);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
box-shadow: 0 0 0 1000px #ffffff inset !important;
-webkit-text-fill-color: #000000 !important;
transition: background-color 5000s ease-in-out 0s;
}
+585
View File
@@ -0,0 +1,585 @@
:root {
--paddingSite: 40px;
--card-radius: 24px;
--card-bg: #ffffff;
--bg: #F4F3EF;
--card-shadow: 0 12px 40px rgba(0, 0, 0, 0.04);
--accent: #FF5A5F;
/* Soft energetic pink/red from Dribbble */
--accent-secondary: #FF8A65;
--bg-top: rgb(54, 137, 13);
--bg-top-raw: 54 137 13;
--accent-soft: #f0f5ff;
--border-subtle: #eaeaea;
--text-main: #1b1b1b;
--text-muted: #8A8A8A;
--disabled-bg: #f3f4f6;
--disabled-border: #cbd5f5;
--ui-border: #dfe4ea;
--main-button: #36454F;
}
/* Base */
*,
*::after,
*::before {
box-sizing: border-box;
}
html,
body,
section {
margin: 0;
overscroll-behavior: none;
}
body {
margin: 0;
width: 100vw;
background: var(--bg);
}
::selection {
background: #0000003d;
color: #ffffffff;
}
::-moz-selection {
background: #a4bf4a99;
color: #000;
}
input {
border: none;
}
/* General numeric inputs in scoring area */
.bgSection input[type="number"] {
font-size: 16px;
}
.nopadding {
height: 40px;
}
/* Layout */
.bgSection {
position: relative;
margin-left: auto;
/*margin: var(--paddingSite);
width: calc(100vw - 2 * var(--paddingSite));*/
width: 100vw;
box-sizing: border-box !important;
background: none;
}
@media (min-width: 1081px) {
.bgSection.open {
width: calc(100vw - 380px);
/* - 2 * var(--paddingSite) */
}
}
/* Cards */
.headerDivTrainer {
padding: var(--paddingSite);
padding-bottom: 10px;
background: transparent;
margin-bottom: 20px;
position: relative;
z-index: 3;
}
.dashboardGrid {
padding: 0 var(--paddingSite) var(--paddingSite);
display: grid;
grid-template-columns: 1fr;
gap: 30px;
align-items: start;
width: 100%;
}
.twoColumDiv {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
align-items: start;
width: 100%;
}
@media (max-width: 1080px) {
.twoColumDiv {
grid-template-columns: 1fr;
}
}
/* headings */
.containerHeading {
margin-top: 0;
font-weight: 600;
font-size: 20px;
margin-bottom: 24px;
color: var(--text-main);
}
.subSettingsRowGroup .settingsRow span {
color: #36454f;
}
.subSettingsRowGroup {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
align-items: end;
gap: 16px 22px;
padding: 20px;
border: 1px solid #000;
}
.customSelectSubGroupHeader {
border-bottom: 1px solid #1c2d34;
font-weight: 600;
border-radius: 0 !important;
pointer-events: none;
}
.customSelectAddOption {
display: inline-flex;
}
.headerThRankLiveConfig > span {
display: flex;
justify-content: space-between;
position: relative;
padding: 20px;
border: 1px solid #00000046;
}
#bodyRowRankLiveConfig > td > span {
display: flex;
justify-content: flex-end;
gap: 15px;
position: relative;
padding: 10px 20px;
border: 1px solid #00000046;
position: relative;
min-height: 54.5px;
align-items: center;
}
.headerThRankLiveConfig .addColumnBtn {
font-size: 24px;
height: 30px;
width: 30px;
line-height: 0;
position: absolute;
top: 0px;
background-color: #5d9ab9;
border: 1px solid #3a6b83;
color: #fff;
border-radius: 15px;
align-content: center;
cursor: pointer;
z-index: 3;
}
.headerThRankLiveConfig .addColumnBtn.addColumnBtnAfter {
right: 0;
transform: translateX(50%) translateY(-50%);
}
.headerThRankLiveConfig .addColumnBtn.addColumnBtnBefore {
left: 0;
transform: translateX(-50%) translateY(-50%);
}
.headerThRankLiveConfig .addColumnBtn {
display: none;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover .addColumnBtn.addColumnBtnAfter {
display: block;
}
.headerThRankLiveConfig:not(.ui-sortable-helper):first-child > span:hover .addColumnBtn.addColumnBtnBefore {
display: block;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover {
border-right: 1px solid #3a6b83;
}
.headerThRankLiveConfig:not(.ui-sortable-helper):first-child > span:hover {
border-left: 1px solid #3a6b83;
}
.deleteColumnBtn {
color: #6a2a2a;
cursor: pointer;
}
.customSelectAddOption {
max-width: min(100vw, 600px);
border: 1px solid #777;
border-radius: 5px;
padding: 10px;
}
.rankLiveFieldContainerEmty {
display: block;
min-height: 30px;
width: 100%;
background: repeating-linear-gradient(
45deg,
#eeeeee50,
#eeeeee50 5px,
#dddddd50 5px,
#dddddd50 10px
);
}
.singleValueSpan {
position: relative;
padding: 5px;
border-radius: 5px;
border: 1px solid #777;
cursor: grab;
}
.staticText {
border-color: #00f;
background-color: #fff;
}
.staticText .textSingleValueSpan {
white-space: pre;
}
.settingSpan {
display: none;
padding: 2px;
border-radius: 3px;
background-color: #09d1ce;
position: absolute;
top: 0px;
transform: translateX(50%) translateY(-50%);
cursor: pointer;
}
.headerThRankLiveConfig .settingSpan {
right: 50%;
}
.singleValueSpan .settingSpan {
right: 0px;
}
.mainTable:not(.selectCondEl) .singleValueSpan:hover .settingSpan,
.mainTable:not(.selectCondEl) .headerThRankLiveConfig:hover .settingSpan,
.settingsDivSingleValueSpan:not(.hidden) + .settingSpan {
display: inline-flex;
}
.settingSpan > svg {
display: block;
height: 16px;
width: 16px;
pointer-events: none;
}
.settingsDivSingleValueSpan {
background-color: #fff;
padding: 15px;
position: absolute;
bottom: 0;
left: 0;
display: flex;
flex-direction: column;
transform: translateY(100%);
min-width: 100%;
width: fit-content;
gap: 12px;
z-index: 10;
font-weight: 400;
}
.settingsInputGroup {
display: flex;
flex-direction: column;
gap: 8px;
}
.singleValueSpan[data-bold="true"] .textSingleValueSpan, .singleValueSpan[data-bold="true"] .statischerTextInput {
font-weight: 600;
}
.addFieldBtn {
position: absolute;
top: 0;
left: 0;
background-color: #36e049;
display: flex;
height: 30px;
width: 30px;
justify-content: center;
align-items: center;
color: #fff;
font-weight: 800;
border-radius: 0 0 10px 0;
filter: grayscale(1);
transform: translateY(-37.5%) translateX(-37.5%) scale(0.25);
transition: transform 0.3s ease, scale 0.3s ease;
cursor: pointer;
z-index: 2;
}
.mainTable.selectCondEl .addFieldBtn {
transform: scale(0) translateY(-50%) translateX(-50%);
scale: 1;
}
.mainTable:not(.selectCondEl) .rankLiveFieldContainer:hover:not(:has(.singleValueSpan:hover)) .addFieldBtn {
filter: grayscale(0);
transform: scale(1) translateY(0) translateX(0);
scale: 1;
}
.headerThRankLiveConfig > span .deleteColumnBtn {
position: absolute;
top: 0;
right: 0;
background-color: #e03669;
display: flex;
height: 30px;
width: 30px;
justify-content: center;
align-items: center;
color: #fff;
font-weight: 800;
border-radius: 0 0 0 10px;
filter: grayscale(1);
transform: translateY(-37.5%) translateX(37.5%) scale(0.25);
transition: transform 0.3s ease, scale 0.3s ease;
cursor: pointer;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover .deleteColumnBtn {
filter: grayscale(0);
transform: scale(1) translateY(0) translateX(0);
scale: 1;
}
.checkbox {
display: flex;
align-items: center;
justify-content: center;
width: max-content;
cursor: pointer;
user-select: none;
}
.checkbox input {
position: absolute;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none;
}
.checkbox-ui {
position: relative;
display: inline-flex;
width: 42px;
height: 24px;
flex: 0 0 auto;
background: var(--ui-border);
border: 1px solid color-mix(in srgb, var(--ui-border) 80%, #000);
border-radius: 999px;
transition:
background-color 180ms ease,
border-color 180ms ease,
box-shadow 180ms ease;
}
.checkbox-ui::after {
content: "";
position: absolute;
top: 50%;
left: 3px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
box-shadow: 0 2px 7px rgba(15, 23, 42, 0.22);
transform: translateY(-50%);
transition: transform 180ms ease;
}
.checkbox input:checked + .checkbox-ui {
background: var(--bg-top);
border-color: var(--bg-top);
}
.checkbox input:checked + .checkbox-ui::after {
transform: translate(18px, -50%);
}
.checkbox input:focus-visible + .checkbox-ui {
box-shadow: 0 0 0 4px var(--ui-focus);
}
.dropPlaceholder {
border: 2px dashed #ccc;
border-radius: 8px;
}
.dropPlaceholderColumn {
border: 2px dashed #ddd;
border-radius: 2px;
}
.statischerTextInput {
border-bottom: 1px solid #000;
}
.statischerTextInput:focus {
border-color: var(--bg-top);
outline: none;
}
.columnTitleInput, .inputFontSize, .gebutsdatumFormatInput, .inputDisplayOnDisplayWidth {
background: none;
padding: 2px;
margin-right: 10px;
height: auto;
width: 100%;
max-width: 20vw;
border-bottom: 1px solid #000;
}
.columnTitleInput:focus {
border-color: var(--bg-top);
}
.customSelectAddOption .selectOptions {
width: fit-content;
}
.customSelectAddOption {
position: absolute !important;
background: #fff;
}
.inputFontSize {
max-width: 60px;
}
.inputDisplayOnDisplayWidth {
width: 90px;
}
.autocomplete-container {
position: relative;
width: 100%;
}
.dropdown-list {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: white;
border: 1px solid #ccc;
max-height: 200px;
overflow-y: auto;
z-index: 1000;
}
.dropdown-item {
padding: 8px;
cursor: pointer;
}
.dropdown-item:hover {
background-color: #f0f0f0;
}
.verticalLayoutEl {
display: grid;
grid-template-columns: 1fr;
}
.verticalLayoutEl > span.dragableDropArea {
min-height: 20px;
min-width: max(50px, 100%);
padding: 12px;
display: flex;
width: fit-content;
justify-content: center;
}
.verticalLayoutEl > span.dragableDropArea:not(:last-child) {
border-bottom: 1px solid #000;
}
.inputLabelWrapper {
display: flex;
flex-direction: row;
}
.selectSlugType {
max-width: 300px;
}
.customSelectSlugType {
border: 1px solid #000;
padding: 6px 12px;
border-radius: 6px;
}
.selectCondEl.mainTable .singleValueSpan:not(.condEl) {
border-color: #a5a5a5;
color: #a5a5a5;
background-color: #ececec;
}
.selectCondEl.mainTable .singleValueSpan:not(.condEl):hover {
border-color: #0fab91;
color: #0fab91;
background-color: #ffffff;
}
.selectCondEl.mainTable .singleValueSpan.selectedCondEl {
border-color: #ab4b0f;
color: #ab4b0f;
background-color: #ffffff;
}
.hidden {
display: none !important;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: inline-flex;
align-self: flex-start;
font-size: 14px;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
File diff suppressed because it is too large Load Diff
+637
View File
@@ -0,0 +1,637 @@
:root {
--main: #fe3f18;
--bg-top-raw: 254 63 24;
--main-box-shadow: rgb(from var(--main) r g b / 0.05);
--accent: #fe3f18;
--accent-hover: #c5e300;
--paddingSite: 40px;
--card-radius: 20px;
--card-bg: #ffffff;
--bg: #FDFDFD;
--card-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
--border-subtle: #d4d7e1;
--text-main: #191919;
--text-muted: #5e5e5e;
--main-button: #36454F;
}
/* --- BASE & TYPOGRAPHY --- */
*,
*::before,
*::after {
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
}
b {
font-weight: 600;
}
body {
margin: 0;
width: 100vw;
background: var(--bg);
color: var(--text-main);
overflow-x: hidden;
overscroll-behavior: none;
font-optical-sizing: auto;
}
/* --- LAYOUT WRAPPERS --- */
.bgSection {
position: relative;
width: 100vw;
margin-left: auto;
box-sizing: border-box;
background: none;
min-height: 100vh;
}
@media (min-width: 1200px) {
.bgSection.open {
width: calc(100vw - 450px);
}
}
.menuTransition {
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1), width 0.45s cubic-bezier(.4, 0, .2, 1) !important;
}
/* --- HEADER --- */
.headerDivKampfrichter {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--paddingSite);
background: var(--main);
color: #fff;
margin-bottom: var(--paddingSite);
position: relative;
z-index: 3;
}
.heading-pannel {
margin: 0;
font-weight: 300;
font-size: 2rem;
letter-spacing: -0.5px;
}
.menuWrapper {
display: flex;
align-items: center;
gap: 24px;
}
.mainContentDiv {
padding: 0 var(--paddingSite);
}
/* --- FOOTER / LOGOUT --- */
.footerInternMenu {
margin-top: auto;
padding-top: 20px;
}
/* Burger + menu (unchanged from your style) */
.wk-leitungBurgerMenuDiv {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
cursor: pointer;
z-index: 99;
color: var(--bg);
}
.wk-leitungBurgerMenuDiv svg {
width: 100%;
height: 100%;
stroke: currentColor;
transition: transform 0.3s ease;
}
.wk-leitungBurgerMenuDiv.open svg {
transform: rotate(45deg);
}
.internMenuDiv {
background-color: #fff;
box-shadow: none;
position: fixed;
left: 0;
top: 0;
height: 100svh;
width: 100%;
max-width: 450px;
transform: translateX(-100%);
z-index: 100;
padding: 30px;
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1);
opacity: 1;
}
.internMenuDiv.open {
transform: translateX(0);
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
}
.innerInternMenuDiv {
display: flex;
flex-direction: column;
gap: 14px;
height: 100%;
overflow-y: auto;
}
.text_akt_abt {
font-size: 1rem;
color: #555;
text-align: center;
line-height: 1.6;
}
.innerInternMenuDiv form {
margin: 0;
}
.innerInternMenuDiv input[type="submit"],
.innerInternMenuDiv select {
width: 100%;
padding: 12px 14px;
border-radius: 10px;
border: 1px solid #ccc;
font-size: 0.95rem;
transition: all 0.3s ease;
}
.innerInternMenuDiv input[type="submit"]:focus,
.innerInternMenuDiv select:focus {
outline: none;
border-color: #2d73ac;
box-shadow: 0 0 6px rgba(45, 115, 172, 0.3);
}
.innerInternMenuDiv .button-secondary {
background: linear-gradient(135deg, #2d73ac, #1f4f75);
color: #fff;
border: none;
border-radius: 12px;
font-weight: 600;
cursor: pointer;
padding: 12px 18px;
transition: transform 0.2s ease, background 0.3s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.innerInternMenuDiv .button-secondary:hover {
background: linear-gradient(135deg, #245d8a, #163b5a);
transform: translateY(-2px);
}
/* Riegeneinteilung Specific Styles */
.headerAbt {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 8px;
}
.headerAbt h2 {
margin: 0;
font-weight: 400;
color: var(--main);
font-size: 1.5rem;
}
.textInputAbtTitel {
margin: 0;
font-weight: 400;
border-top: none;
border-left: none;
border-right: none;
border-bottom: 1px solid var(--main);
font-size: 1.5rem;
color: #191919;
background: none;
width: max-content;
padding: 4px 8px;
}
.deleteProgramm {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
border: 1px solid #fee2e2;
border-radius: 50%;
width: 36px;
height: 36px;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(244, 63, 94, 0.1);
}
.deleteProgramm:hover {
transform: scale(1.1);
background: #fee2e2;
box-shadow: 0 4px 8px rgba(244, 63, 94, 0.2);
}
.deleteProgramm svg,
.deleteProgramm path {
fill: #f43f5e;
}
#bin-lid {
transform-origin: 50% 100%;
transform-box: fill-box;
transition: transform 0.3s ease;
}
.deleteProgramm:hover #bin-lid {
transform: rotate(20deg) translateY(-100px);
}
/* Sidebar Menu Button Styling */
.headerOptionConatiner {
display: flex;
flex-direction: column;
padding-top: 20px;
gap: 15px;
margin-top: auto;
}
.headerOptionConatiner > button {
}
.headerOptionConatiner label {
font-weight: 400;
color: var(--text-main);
font-size: 0.9rem;
margin-bottom: -5px;
}
.headerOptionConatiner input[type="number"] {
padding: 12px 15px;
border-radius: 12px;
border: 1px solid var(--border-subtle);
background: #fff;
font-size: 15px;
outline: none;
transition: all 0.2s ease;
width: 100%;
}
.headerOptionConatiner input[type="number"]:focus {
border-color: var(--main);
box-shadow: 0 0 0 3px rgba(40, 102, 110, 0.1);
}
/* Custom Table / Drag and Drop Area */
.geraet-table {
background: var(--card-bg);
border: 1px solid var(--border-subtle);
border-radius: 16px;
box-shadow: var(--card-shadow);
min-width: 260px;
overflow: hidden;
margin-right: 15px;
transition: all 0.3s ease;
border-collapse: separate;
border-spacing: 0;
width: 100%;
}
.geraet-table thead {
background: var(--main);
}
.geraet-table thead th {
display: flex;
justify-content: space-between;
color: #fff;
padding: 14px 20px;
font-weight: 300;
font-size: 1.05rem;
text-align: left;
letter-spacing: 0.5px;
border-bottom: 1px solid var(--border-subtle);
}
.geraet-table thead th i span {
font-size: 0.9rem;
opacity: 0.8;
font-weight: 400;
}
.geraet-table tbody {
display: block;
max-height: 480px;
overflow-y: auto;
overscroll-behavior-y: contain;
padding: 10px;
}
/* Custom Scrollbar for tbody */
.geraet-table tbody::-webkit-scrollbar {
width: 6px;
}
.geraet-table tbody::-webkit-scrollbar-track {
background: #f1f5f9;
border-radius: 10px;
}
.geraet-table tbody::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 10px;
}
.geraet-table tbody::-webkit-scrollbar-thumb:hover {
background: #94a3b8;
}
.turnerin-row {
cursor: grab;
background: #fff;
border-radius: 8px;
margin-bottom: 8px;
transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
display: block;
border: 1px solid transparent;
user-select: none;
-webkit-user-select: none;
-webkit-touch-callout: none;
}
.turnerin-row:active {
cursor: grabbing;
}
.turnerin-row>td {
padding: 12px 16px;
border: none;
display: block;
width: 100%;
color: var(--text-main);
font-weight: 200;
}
.turnerin-row:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
z-index: 10;
position: relative;
border-color: #cbd5e1;
}
/* Drag State */
.dragging {
opacity: 0.9 !important;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
transform: scale(1.03) rotate(1deg) !important;
z-index: 9999 !important;
}
.drop-placeholder {
height: 54px;
background: #f8fafc;
border: 2px dashed #94a3b8;
border-radius: 8px;
margin: 8px 0;
}
.ui-sortable {
min-height: 120px;
}
.empty-drop-row td {
padding: 20px;
text-align: center;
color: var(--text-muted);
font-style: italic;
}
/* Grouping Row Styling */
.group-row {
background: transparent;
margin-bottom: 12px;
}
.group-row>td {
padding: 0;
display: block;
}
.group-header {
padding: 12px 16px;
cursor: grab;
gap: 18px;
border-radius: 10px;
font-weight: 200;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
margin-bottom: 6px;
display: flex;
user-select: none;
-webkit-user-select: none;
-webkit-touch-callout: none;
justify-content: space-between;
align-items: center;
}
.group-header:active {
cursor: grabbing;
}
.group-inner {
width: 100%;
border-collapse: separate;
border-spacing: 0;
padding-left: 10px;
}
.group-row .group-inner {
display: none;
}
/* Invalid / Unassigned Wrapper */
.invalidAbtDiv {
padding: 10px 0;
}
.invalidAbtDiv .geraet-table {
box-shadow: none;
border-color: #d93f4a;
width: 100%;
}
.invalidAbtDiv .geraet-table thead {
background: #d93f4a;
}
.invalidAbtDiv .geraet-table thead th {
color: #ffffff;
}
.singleAbtDiv {
padding-bottom: 20px;
}
.singleAbtDataContainer {
overflow-x: auto;
padding: 10px 0 20px 0;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-top: 24px;
margin-bottom: 8px;
}
.singleAbtDataContainer::-webkit-scrollbar {
height: 8px;
}
.singleAbtDataContainer::-webkit-scrollbar-track {
background: #f1f5f9;
border-radius: 10px;
}
.singleAbtDataContainer::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 10px;
}
.disabled {
opacity: 0.5;
pointer-events: none;
}
.buttonMoveDiv {
display: flex;
flex-direction: column;
gap: 4px;
}
.buttonMove {
background: #fff;
border: 1px solid #d1d5db;
border-radius: 6px;
width: 24px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
}
input.abtIndexInput::-webkit-outer-spin-button,
input.abtIndexInput::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input.abtIndexInput[type=number] {
-moz-appearance: textfield;
}
.abtIndexInput {
text-align: center;
}
.nichtBezahlt {
color: #e11d48;
font-size: 0.9rem;
font-weight: 500;
}
.timePicker {
border: none;
border-bottom: 1px solid #000;
background: none;
padding: 4px 8px;
font-size: 1rem;
color: var(--main);
width: 80px;
text-align: center;
}
.addTimetypeButton {
color: #2dac79;
}
.removeTimetypeButton {
color: #e11d48;
}
.subHeaderAbt {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 4px 8px;
background: #f1f5f9;
border-radius: 8px;
font-size: 0.9rem;
align-self: start;
margin-top: 18px;
position: relative;
}
.subHeaderAbt .customSelect {
position: absolute;
width: 160px;
bottom: 0px;
transform: translateY(120%) translateX(-10%);
padding: 6px;
background: #fff;
border: 1px solid #7b7676;
border-radius: 6px;
}
.hidden {
display: none !important;
}
.buttonsDiv {
display: flex;
flex-direction: column;
gap: 12px;
justify-content: flex-start;
margin-bottom: 20px;
position: fixed;
bottom: 10px;
right: 20px;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
h3.normalTitle {
color: var(--main-button);
margin-bottom: 8px;
letter-spacing: 1px;
}
+341
View File
@@ -0,0 +1,341 @@
/* ─── Sidebar Navigation ─── */
:root {
--sidebar-width: 280px;
--sidebar-bg: #111218;
/* Dark navy / charcoal */
--sidebar-text: #A0A0A0;
/* Soft grey text */
--sidebar-hover: rgba(255, 255, 255, 0.05);
/* Subtile hover effect */
--sidebar-active: rgba(255, 255, 255, 0.1);
--sidebar-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Sidebar Panel */
.sidebar-nav {
position: fixed;
top: 0;
left: 0;
width: var(--sidebar-width);
height: 100vh;
background: var(--sidebar-bg);
z-index: 10000;
transform: translateX(-100%);
transition: transform var(--sidebar-transition), box-shadow var(--sidebar-transition);
display: flex;
flex-direction: column;
overflow-y: auto;
box-shadow: none;
}
.sidebar-nav.open {
transform: translateX(0);
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.25);
}
/* Sidebar Header */
.sidebar-header {
padding: 28px 24px 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
display: flex;
align-items: center;
justify-content: space-between;
}
.sidebar-header h3 {
margin: 0;
font-size: 16px;
font-weight: 600;
color: #FFFFFF;
letter-spacing: 0.5px;
}
.sidebar-close-btn {
background: none;
border: none;
color: var(--sidebar-text);
cursor: pointer;
padding: 4px;
display: flex;
align-items: center;
border-radius: 6px;
transition: background 0.2s;
}
.sidebar-close-btn:hover {
background: var(--sidebar-hover);
}
/* Section Labels */
.sidebar-section-label {
padding: 20px 24px 8px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.2px;
color: rgba(255, 255, 255, 0.35);
}
/* Links */
.sidebar-links {
list-style: none;
margin: 0;
padding: 0;
flex: 1;
}
.sidebar-links a {
display: flex;
align-items: center;
gap: 14px;
padding: 12px 24px;
color: var(--sidebar-text);
text-decoration: none;
font-size: 14px;
font-weight: 500;
transition: all 0.2s;
border-left: 3px solid transparent;
}
.sidebar-links a:hover {
background: var(--sidebar-hover);
color: #FFFFFF;
}
.sidebar-links a.active {
background: var(--sidebar-active);
color: #FFFFFF;
border-left-color: var(--accent);
}
.sidebar-links a svg {
width: 20px;
height: 20px;
flex-shrink: 0;
stroke: currentColor;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
/* Overlay */
.sidebar-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(2px);
z-index: 9999;
opacity: 0;
pointer-events: none;
transition: opacity var(--sidebar-transition);
}
.sidebar-overlay.open {
opacity: 1;
pointer-events: auto;
}
/* Hamburger Toggle */
.sidebar-toggle {
background: #FFFFFF;
border: none;
border-radius: 50%;
width: 48px;
height: 48px;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 5px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
transition: all var(--sidebar-transition);
padding: 0;
}
.sidebar-toggle span {
display: block;
width: 20px;
height: 2px;
background: #111;
border-radius: 2px;
transition: all 0.3s;
}
.sidebar-toggle.open span:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}
.sidebar-toggle.open span:nth-child(2) {
opacity: 0;
}
.sidebar-toggle.open span:nth-child(3) {
transform: rotate(-45deg) translate(5px, -5px);
}
/* Footer */
.sidebar-footer {
padding: 16px 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
font-size: 11px;
color: rgba(255, 255, 255, 0.4);
}
.menuWrapper {
position: fixed;
right: 20px;
top: 20px;
display: flex;
align-items: center;
gap: 16px;
padding: 20px;
border-radius: 40px;
background-color: rgb(var(--bg-top-raw));
}
.abmeldenbutton {
width: 100%;
padding: 14px;
background: linear-gradient(135deg, #e53935, #b71c1c);
border: none;
border-radius: 12px;
font-weight: 600;
color: #fff;
cursor: pointer;
transition: transform 0.2s ease, background 0.3s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.abmeldenbutton:hover {
background: linear-gradient(135deg, #c62828, #8e1919);
transform: translateY(-2px);
}
.sidebarUsername {
padding: 20px 24px 8px;
font-size: 14px;
font-weight: 400;
color: rgb(146 146 146 / 85%);
}
.customSelect {
position: relative;
}
.customSelect>* {
margin: 0;
}
.selectTrigger .selectArrow {
transition: rotate 0.6s ease;
}
table input {
height: 38px;
}
.selectTriggerSidebar {
background: none;
border: none;
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
}
.sidebar-nav .selectOptionsSidebar {
position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
padding: 4px;
list-style: none;
margin-top: 2px;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
background: #fff;
z-index: 1000;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
opacity: 0;
transform: scaleY(0);
transform-origin: top;
pointer-events: none;
transition: opacity 0.2s ease, transform 0.2s ease;
}
.sidebar-nav .customSelect.open .selectOptionsSidebar {
opacity: 1;
transform: scaleY(1);
pointer-events: auto;
}
.customSelect.open .selectArrow {
rotate: 180deg
}
.selectOptionsSidebar li {
padding: 10px 14px;
cursor: pointer;
border-radius: 8px;
margin-bottom: 2px;
transition: background-color 0.15s ease;
}
.selectOptionsSidebar li:last-child {
margin-bottom: 0;
}
/* ─── Sidebar Freigaben ─── */
.sidebar-li-freigaben {
padding: 0 24px 16px 42px;
/* Indented under the icon of the active link */
margin-top: 4px;
}
.sidebar-freigaben-label {
display: block;
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
color: #fff;
margin-bottom: 6px;
letter-spacing: 0.5px;
}
.selectTriggerSidebar {
width: 100%;
padding: 9px 12px;
background: #171717;
border: 1px solid #fcfcfc;
border-radius: 8px;
font-size: 13px;
font-weight: 500;
color: #fcfcfc;
transition: all 0.2s ease;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.selectTriggerSidebar:hover, .sidebar-li-freigaben .customSelect.open .selectTriggerSidebar {
background: #fcfcfc;
color: #171717;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}
.selectOptionsSidebar li {
font-size: 13px;
padding: 8px 12px;
color: #000;
}
.selectOptionsSidebar li.selected {
background: var(--sidebar-active);
color: #111;
font-weight: 600;
}
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
/* Dies ist eine CSS-Datei, welche mit eigener CSS-Logik gefüllt werden kann. Diese CSS Datei glit für alle Intern Seiten.*/