initial files
This commit is contained in:
434
public/styles/default.css
Normal file
434
public/styles/default.css
Normal file
@@ -0,0 +1,434 @@
|
||||
/* #region DOM */
|
||||
*::placeholder { text-align:center; }
|
||||
* {
|
||||
user-select:none;
|
||||
cursor: var(--theme-cursor-default) 1 1, auto;
|
||||
}
|
||||
|
||||
|
||||
.selectable { user-select: text !important; cursor: var(--theme-cursor-pointer) 0 16, pointer; }
|
||||
|
||||
input, input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="date"], textarea, select { border-width:2px; border-style:solid; font-size: var(--fontSize); font-family: var(--fontFamily); border-radius:10px; padding:10px 12px; outline:none; transition:all .5s ease; width:auto; }
|
||||
input.width\:100px { width:100px; }
|
||||
input.width\:90px { width:90px; }
|
||||
input.width\:75px { width:75px; }
|
||||
input.width\:50px { width:50px; }
|
||||
input.width\:25px { width:25px; }
|
||||
|
||||
*::placeholder, input[id="sAMAccountName"] { font-style:italic; font-weight:100; letter-spacing:3px; }
|
||||
|
||||
html, button { font-size: var(--fontSize); font-family: var(--fontFamily); }
|
||||
button.monolyth, button.bluebutton, button.greenbutton, button.yellowbutton, button.redbutton { display:inline-block; padding:8px 10px; margin:0.2rem 1.6rem; font-weight:600; text-align:center; text-decoration:none; color:rgb(255, 255, 255); border:none; border-radius:8px; box-shadow:0 4px 6px rgba(0,0,0,0.1); transition:all 0.2s ease; }
|
||||
button.monolyth { background-color:transparent; }
|
||||
button:not(:disabled).monolyth:hover { opacity:0.9; }
|
||||
button.bluebutton { color:var(--theme-button-blue-default-color); background:var(--theme-button-blue-default-backcolor); }
|
||||
button.greenbutton { color:var(--theme-button-green-default-color); background:var(--theme-button-green-default-backcolor); }
|
||||
button.yellowbutton { color:var(--theme-button-yellow-default-color); background:var(--theme-button-yellow-default-backcolor); }
|
||||
button.redbutton { color:var(--theme-button-red-default-color); background:var(--theme-button-red-default-backcolor); }
|
||||
button:disabled { color:var(--theme-button-disabled-color); background:var(--theme-button-disabled-backcolor); }
|
||||
button:not(:disabled).redbutton:hover { background:var(--theme-button-red-hover-color); background:var(--theme-button-red-hover-backcolor); }
|
||||
button:not(:disabled).greenbutton:hover { background:var(--theme-button-green-hover-color); background:var(--theme-button-green-hover-backcolor); }
|
||||
button:not(:disabled).bluebutton:hover { background:var(--theme-button-blue-hover-color); background:var(--theme-button-blue-hover-backcolor); }
|
||||
button:not(:disabled).yellowbutton:hover { background:var(--theme-button-yellow-hover-color); background:var(--theme-button-yellow-hover-backcolor); }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
|
||||
/* #region Container */
|
||||
.container.static { width:calc(100% - 20px); margin:10px auto; display:flex; gap:12px; min-height:0; overflow:auto; max-height:100%; flex-direction: column;}
|
||||
/* .card.static { display:flex; flex-direction:column;flex: 0 0 auto; } */
|
||||
.card.static.row { overflow:hidden; display:flex; flex-direction:row; flex-wrap: wrap;}
|
||||
.card.static { overflow:hidden; display:flex; flex-direction:column; }
|
||||
|
||||
.container { width:calc(100% - 20px); margin:10px auto; display:grid; grid-template-columns:100%; gap:12px; min-height:0; overflow:auto; max-height:100%; }
|
||||
.container:not(.static) * { box-sizing:border-box; }
|
||||
.card { border-width:1px; border-style:solid; border-radius:8px; padding:20px; }
|
||||
|
||||
.grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Copy icon */
|
||||
.copy-icon { transition:opacity .25s; cursor:var(--theme-cursor-pointer) -16 16, pointer; opacity:0.7; }
|
||||
.copy-icon:hover { opacity:1; }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Tooltip */
|
||||
.global-tooltip { position:fixed; padding:6px 8px; border-width:1px; border-style:solid; border-radius:10px; max-width:50vw; white-space:normal; z-index:999; pointer-events:none; opacity:0; transform:translateY(-30px); transition:opacity .12s ease; }
|
||||
.global-tooltip.visible { opacity:1; }
|
||||
/* #endregion*/
|
||||
|
||||
|
||||
/* #region Scrollbar */
|
||||
::-webkit-scrollbar { width:12px; height:12px; }
|
||||
::-webkit-scrollbar-track { border-radius:0px; }
|
||||
::-webkit-scrollbar-thumb { border-radius:6px; border-width:2px; border-style:solid; }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Messagebox */
|
||||
#message-container { position: fixed; top: 1rem; right: 1px; display: flex; flex-direction: column; gap: 0.5rem; z-index: 1000; max-height: 80vh; padding-left: 15px; overflow-y: auto; overflow-x: visible; scrollbar-width: none; -ms-overflow-style: none; }
|
||||
#message-container::-webkit-scrollbar { display: none; }
|
||||
.message { border-radius: 8px; margin: 8px 8px 8px 0; padding: 10px 14px; width: auto; max-width: 45vw; animation: slideIn 0.4s ease-out; transition: transform 0.2s ease; word-break: break-word; overflow-wrap: anywhere; }
|
||||
.message:hover { transform:scale(1.02); }
|
||||
.message-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
|
||||
.message-title { flex:1; font-weight:600; }
|
||||
.countdown { margin-right:8px; white-space:nowrap; }
|
||||
.pin-div { margin-left:8px; cursor:var(--theme-cursor-pointer) -16 16, pointer; user-select:none; transition:transform 0.2s ease, color 0.2s ease; }
|
||||
.pin-div:hover { transform:scale(1.2); }
|
||||
.pin-div.pinned { transform:scale(1.1); }
|
||||
@keyframes slideIn { 0% { opacity:0; transform:translateX(100%); } 60% { opacity:1; transform:translateX(-10px); } 80% { opacity:1; transform:translateX(5px); } 100% { opacity:1; transform:translateX(-10px); } }
|
||||
@keyframes slideOut { 0% { opacity:1; transform:translateX(0); } 100% { opacity:1; transform:translateX(100%); } }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Toggle switch */
|
||||
/*
|
||||
<label class="cb cb-switch">
|
||||
<input data-status="{{name}}" type="checkbox" {{#if active}}checked{{/if}} >
|
||||
<span class="switch-track" aria-hidden="true">
|
||||
<span class="switch-thumb" aria-hidden="true"></span>
|
||||
</span>
|
||||
<span class="cb-label">Ein / Aus</span>
|
||||
</label>
|
||||
*/
|
||||
.cb-switch { --w:45px; --h:27px; display:inline-flex; align-items:center; }
|
||||
.cb-switch input { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
|
||||
.switch-track { width:var(--w); height:var(--h); border-radius:999px; padding:3px; border-width:1px; border-style:solid; box-sizing:border-box; display:inline-flex; align-items:center; transition:background .18s ease, transform .12s ease, border-color .25s ease; }
|
||||
.switch-thumb { min-width:calc(var(--h) - 2 * 3px); width:calc(var(--h) - 2 * 3px); height:calc(var(--h) - 2 * 3px); background:var(--theme-switch-thumb); border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.15); transform:translateX(-1px); transition:transform .25s cubic-bezier(.2,.9,.2,1), background .18s ease }
|
||||
|
||||
|
||||
|
||||
.cb-switch input:disabled + .switch-track { background-color: dimgray;}
|
||||
.cb-switch input:disabled + .switch-track .switch-thumb { background-color: rgb(54, 50, 50); }
|
||||
|
||||
.cb-switch input:not(:disabled):checked + .switch-track { background:var(--theme-switch-active); }
|
||||
|
||||
.cb-switch input:not(:disabled):hover + .switch-track { border-color:var(--theme-switch-hover); }
|
||||
|
||||
.cb-switch input:focus-visible + .switch-track { box-shadow:0 0 0 6px rgba(6,193,103,0.12); }
|
||||
.cb-switch input:checked + .switch-track .switch-thumb { transform:translateX(calc(var(--w) - var(--h))); }
|
||||
.cb-switch label { width: calc(100% - var(--w)); }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region CheckBox */
|
||||
/*
|
||||
<label class="cb cb-modern">
|
||||
<input data-status="{{name}}" type="checkbox" {{#if active}}checked{{/if}} disabled>
|
||||
<span class="cb-box" aria-hidden="true"></span>
|
||||
</label>
|
||||
*/
|
||||
.cb { display:inline-flex; align-items:center; gap:10px; user-select:none; transform:translateY(2px); }
|
||||
.cb input { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
|
||||
.cb-box { width:20px; height:20px; border-radius:6px; background:var(--theme-checkbox-backcolor); border-width:2px; border-style:solid; display:inline-grid; place-items:center; transition:transform .12s ease, border-color .12s ease, background .12s ease; }
|
||||
.cb-box::after { content:""; width:12px; height:8px; transform:scale(0) translateY(-2px); background-repeat:no-repeat; background-position:center; background-size:contain; background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L4 7l7-7' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); transition:transform .18s cubic-bezier(.2,.9,.2,1); }
|
||||
.cb input:checked + .cb-box { transform:translateY(-1px); }
|
||||
.cb input:checked + .cb-box::after { transform:scale(1) translate(-1px, 1px); }
|
||||
table .cb input:checked + .cb-box::after { transform:scale(1) translate(1px, 1px); }
|
||||
.cb input:focus-visible + .cb-box { outline:none; }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Required */
|
||||
.is-required-empty { border-width:2px; border-style:solid; }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Tabs */
|
||||
.tabs { display: flex; margin-bottom: 10px; border-bottom-width: 2px; border-bottom-style: solid; }
|
||||
.tab { padding: 10px 20px; border: 1px solid transparent; border-top-left-radius: 5px; border-top-right-radius: 5px; margin-right: 5px; transition: background .25s, color .25s, border-color .25s; }
|
||||
.tab-content { border-width: 1px; border-style: solid; border-radius: 5px; padding: 15px; }
|
||||
.item { margin-bottom: 5px; }
|
||||
/* #endregion */
|
||||
|
||||
|
||||
/* #region Feebox */
|
||||
.feedbox-overlay { position:fixed; top:0; left:0; width:100vw; height:100vh; display:flex; align-items:center; justify-content:center; z-index:999; }
|
||||
.feedbox { border-radius:8px; max-width:50vw; width:100%; padding:20px; animation:feedboxFadeIn 0.2s ease-out; max-height:80vh; display:flex; flex-direction:column; overflow:hidden; }
|
||||
.feedbox h3 { margin:0 0 10px 0; }
|
||||
.feedbox-message { margin-bottom:20px; line-height:1.4; flex:1; overflow-y: auto; /* font-size:1rem; */ }
|
||||
.feedbox-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; flex-shrink:0; }
|
||||
@keyframes feedboxFadeIn { from { transform:translateY(-20px); opacity:0; } to { transform:translateY(0); opacity:1; } }
|
||||
|
||||
.feedbox-btn {
|
||||
padding:6px 14px;
|
||||
/* font-size:0.95rem; */
|
||||
border-radius:4px;
|
||||
border:1px solid #ccc;
|
||||
background:#f5f5f5;
|
||||
transition:all 0.15s;
|
||||
}
|
||||
|
||||
.feedbox-btn:hover {
|
||||
background:#e5e5e5;
|
||||
}
|
||||
|
||||
.feedbox-btn.primary {
|
||||
background:#4a90e2;
|
||||
color:#fff;
|
||||
border-color:#4a90e2;
|
||||
}
|
||||
|
||||
.feedbox-btn.primary:hover {
|
||||
background:#357ABD;
|
||||
}
|
||||
|
||||
.feedbox-btn.danger {
|
||||
background:#e94e3c;
|
||||
color:#fff;
|
||||
border-color:#e94e3c;
|
||||
}
|
||||
|
||||
.feedbox-btn.danger:hover {
|
||||
background:#c0392b;
|
||||
}
|
||||
|
||||
.feedbox-input {
|
||||
width:100%;
|
||||
padding:6px 8px;
|
||||
/* font-size:0.95rem; */
|
||||
margin-top:8px;
|
||||
margin-bottom:12px;
|
||||
border:1px solid #ccc;
|
||||
border-radius:4px;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
|
||||
.feedbox-btn:focus, .feedbox-input:focus {
|
||||
outline:2px solid #4a90e2;
|
||||
outline-offset:2px;
|
||||
}
|
||||
|
||||
/* Responsive Small Screens */
|
||||
@media (max-width:400px) {
|
||||
.feedbox {
|
||||
padding:15px;
|
||||
}
|
||||
|
||||
.feedbox-actions {
|
||||
flex-direction:column-reverse;
|
||||
gap:8px;
|
||||
}
|
||||
|
||||
.feedbox-btn {
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.select-wrapper {
|
||||
position: relative;
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
.select-wrapper select {
|
||||
width: 100%;
|
||||
padding: 12px 40px 12px 14px;
|
||||
font-size: 16px;
|
||||
border: 2px solid #ddd;
|
||||
border-radius: 10px;
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
appearance: none; /* entfernt Standard-Styling */
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
/* Hover / Focus */
|
||||
.select-wrapper select:hover {
|
||||
border-color: #999;
|
||||
}
|
||||
|
||||
.select-wrapper select:focus {
|
||||
outline: none;
|
||||
border-color: #4a90e2;
|
||||
box-shadow: 0 0 0 3px rgba(74,144,226,0.2);
|
||||
}
|
||||
|
||||
/* Custom Pfeil */
|
||||
.select-wrapper::after {
|
||||
content: "▾";
|
||||
position: absolute;
|
||||
right: 14px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
pointer-events: none;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.error-field { padding:12px 16px; border-radius:10px; border-width:1px; border-style:solid; }
|
||||
.success-field { border-width: 1px; border-style: solid; padding:12px 16px; border-radius:10px; }
|
||||
|
||||
label { color:var(--muted); display:block; margin-bottom:6px; }
|
||||
|
||||
|
||||
/* #region Dropzone */
|
||||
.dropzone {
|
||||
max-width:360px;
|
||||
padding:12px;
|
||||
box-shadow:0 6px 18px rgba(0,0,0,.08);
|
||||
|
||||
background:var(--theme-dropzone-default-backcolor);
|
||||
|
||||
border:1px dashed #aaa;
|
||||
border-radius:8px;
|
||||
padding:10px;
|
||||
/* font-size:13px; */
|
||||
text-align:center;
|
||||
margin-bottom:8px;
|
||||
color:var(--theme-dropzone-default-color);
|
||||
}
|
||||
|
||||
.dropzone.active {
|
||||
border-color:var(--theme-dropzone-active-border-color);
|
||||
color:var(--theme-dropzone-active-color);
|
||||
background:var(--theme-dropzone-active-backcolor);
|
||||
}
|
||||
|
||||
|
||||
.dropzone-area ul {
|
||||
list-style:none;
|
||||
padding:0;
|
||||
margin:0;
|
||||
max-height:120px;
|
||||
overflow-y:auto;
|
||||
}
|
||||
|
||||
.dropzone-area li {
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
align-items:center;
|
||||
/* font-size:13px; */
|
||||
padding:4px 0;
|
||||
border-bottom:1px solid #eee;
|
||||
}
|
||||
|
||||
button.removeButton {
|
||||
border:none;
|
||||
background:none;
|
||||
color:#d11a2a;
|
||||
cursor:var(--theme-cursor-pointer) -16 16, pointer;
|
||||
/* font-size:14px; */
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display:none;
|
||||
}
|
||||
|
||||
tr.drop-hover {
|
||||
outline:3px dashed var(--theme-dropzone-active-border-color);
|
||||
/* outline:2px dashed var(--primary-color, #4a90e2);
|
||||
background:rgba(74, 144, 226, 0.08); */
|
||||
}
|
||||
|
||||
tr.no-drop-hover {
|
||||
outline:3px dashed red;
|
||||
cursor:no-drop !important;
|
||||
/* outline:2px dashed var(--primary-color, #4a90e2);
|
||||
background:rgba(74, 144, 226, 0.08); */
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* #region Multiselect textbox */
|
||||
.mst-wrapper {
|
||||
position:relative;
|
||||
display:block;
|
||||
border-radius:4px;
|
||||
padding:4px 8px;
|
||||
background:var(--theme-window-backcolor);
|
||||
|
||||
cursor:text;
|
||||
width:300px; /* optional, je nach gewünschter Breite */
|
||||
}
|
||||
|
||||
/* Eingabefeld oben */
|
||||
.mst-input {
|
||||
width:100%;
|
||||
border:none;
|
||||
outline:none;
|
||||
/* font-size:14px; */
|
||||
padding:4px 0;
|
||||
}
|
||||
|
||||
/* Container für Chips unterhalb des Inputs */
|
||||
.mst-chips-container {
|
||||
display:flex;
|
||||
flex-wrap:wrap; /* Chips umbrechen */
|
||||
gap:4px;
|
||||
margin-top:4px;
|
||||
}
|
||||
|
||||
/* Einzelner Chip */
|
||||
.mst-chip {
|
||||
display:inline-flex;
|
||||
align-items:center;
|
||||
background-color:#007bff;
|
||||
color:#fff;
|
||||
border-radius:8px;
|
||||
padding:8px 8px;
|
||||
/* font-size:13px; */
|
||||
}
|
||||
|
||||
/* Entfernen-Button im Chip */
|
||||
.mst-chip-remove {
|
||||
margin-left:4px;
|
||||
cursor:var(--theme-cursor-pointer) -16 16, pointer;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Dropdown-Liste */
|
||||
.mst-dropdown {
|
||||
position:absolute;
|
||||
top:100%;
|
||||
left:0;
|
||||
right:0;
|
||||
max-height:200px;
|
||||
overflow-y:auto;
|
||||
border:1px solid #ccc;
|
||||
background:inherit;
|
||||
z-index:1000;
|
||||
}
|
||||
|
||||
.mst-item {
|
||||
padding:6px 8px;
|
||||
cursor:var(--theme-cursor-pointer) -16 16, pointer;
|
||||
}
|
||||
|
||||
.mst-item:hover {
|
||||
background-color:var(--theme-accent-hover-backcolor);
|
||||
}
|
||||
|
||||
.mst-item.new {
|
||||
font-style:italic;
|
||||
color:#555;
|
||||
}
|
||||
|
||||
/* #endregion */
|
||||
|
||||
|
||||
.tutorial-highlight {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
Reference in New Issue
Block a user