/*
    #############################################################################
    #                             Online KGV                                    #
    #                   Copyright © 2025 Olaf Penschke                          #
    #                     Alle Rechte vorbehalten.                              #
    #                                                                           #
    #   Dieses Script ist urheberrechtlich geschuetzt.                          #
    #                                                                           #
    #   Das Script darf weder als Ganzes oder als Teil eines anderen Projekts   #
    #   verwendet werden.                                                       #
    #                                                                           #
    #   Jegliche Haftung für Schaeden und deren Folgen ist ausgeschlossen.      #
    #                                                                           #
    #############################################################################
*/
* {
  margin: 0;
  padding: 0;
}
h1 {
    margin: .2em 0 .5em 0;
}
h2, h3 {
    margin: .5em 0;
}
p, ul {
    margin-left: .5em;
}
hr {
    margin: .5em 0;
}
form {
    margin: 1em;
}
ul {
    margin-top: 1em;
}
html {}
/* grids */
main {}
header {}
nav {}
article {}
aside {}
footer {}
@media (min-width: 40em) {
    main {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
    }
    header {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    nav {
        grid-column: 1 / 2;
    }
    article {
        grid-column: 2 / -1;
    }
    aside {
        grid-column: 1 / -1;
    }
    footer {
        grid-column: 1 / -1;
    }
}
@media (min-width: 65em) {
    header {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
    article {
        grid-column: 2 / -2;
    }
    aside {
        grid-column: -2 / -1;
    }
    footer {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
}
/* blocks */
body {
    margin: 10px auto;
    max-width: 105em;
    font-family: sans-serif;
    color: #333333;
}
main,
header,
nav,
article,
aside,
footer {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
}
nav,
article,
aside {
    max-height: 80vH;
    overflow: auto;
    scrollbar-color: #090 #fff;
}
header {
    background: #090;
    border-color: #fff;
}
nav,
article,
aside,
footer {
    background: #f9f9f9;
    border-color: #d5d5d5;
}
header {}
#header_1 {
    display: none;
}
@media (min-width: 65em) {
    #header_1 {
        display: block;
        border-radius: .5em;
        border: 1px solid;
        padding: 10px;
        margin: 10px;
        border-color: #d5d5d5;
    }
}
#header_1_logo img {
    min-height: 110px;
    max-height: 110px;
    margin: .5em 2em;
}
#header_2 {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
    border-color: #d5d5d5;
/*    display: flex;
    justify-content: center;
    align-items: center;*/
    color: #fff;
    text-align: center;
}
#header_3 {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
    border-color: #d5d5d5;
    display: flex;
    justify-content: right;
    align-items: top;
    color: #fff;
}
#header_3_version {
    font-size: .8em;
}
#footer_1 {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
    border-color: #d5d5d5;
}
#footer_2 {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
    border-color: #d5d5d5;
}
#footer_3 {
    border-radius: .5em;
    border: 1px solid;
    padding: 10px;
    margin: 10px;
    border-color: #d5d5d5;
}
#footer_1 p,
#footer_2 p,
#footer_3 p {
    margin-left: 2em;
}
/* messages */
#okgv_successful,
#okgv_fail {
    display: block;
}
#okgv_successful ul,
#okgv_fail ul {
    list-style-position: inside;
    padding: 0;
    margin: 0 0 .5em 0;
}
#okgv_successful ul li,
#okgv_fail ul li{
    list-style: none;
    border-top: 1px solid #fff;
}
#okgv_successful ul li span,
#okgv_fail ul li span {
    padding: .475em .5em .5em 2em;
    display: block;
}
#okgv_successful ul li span {
    background: #e1f8cb url("success.svg") no-repeat .5em .5em;
    color: #37620d;
    border: 1px solid #c6d880;
}
#okgv_fail ul li span {
    background: #ffeae5 url("fail.svg") no-repeat .5em .5em;
    color: #f30;
    border: 1px solid #f2a197;
}
/* summary */
.summary_category {
    border: 1px solid;
    border-radius: .5em;
    border-color: #d5d5d5;
    padding: 1em;
    margin: 1em;
}
.summary_category span {
    font-size: 1.2em;
    font-weight: 600;
}
.summary_category ul {
    list-style-type: none;
}
.summary_category ul li {
    padding: .4em;
    overflow: auto;
}
.summary_category ul li::before  {
    content: "» ";
}
#change_year a {
    text-decoration: none;
    padding: .5em;
    display: inline-block;
    color: #fff;
    background: #666;
    border: 0;
}
#change_year a.link_cfg_activ_year {
    background: #090;
}
#change_year a:hover {
    background: #999;
}
/* form */
label {
    display: block;
    margin-bottom: .5rem;
}
button, input {
    overflow: visible;
}
button,
input,
optgroup,
select,
textarea {
    margin: 0;
    margin-top: 0px;
    margin-left: 0px;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
input[type="text"]:read-only,
input[type="number"]:read-only,
input[type="checkbox"]:disabled {
    cursor: not-allowed;
    /*background-color: #f6f6f6;
    border: 0;*/
}
.form-group {
    margin-bottom: 2em;
}
/*.form-control::placeholder {
    color: #bbb;
}*/
.form-control::placeholder {
    color: #6c757d66;
    opacity: 1;
}
.form-control {
    display: block;
    width: 400px;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control-sm {
    height: calc(1.5em + .5rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}
.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}
.form-check-input {
    position: absolute;
    margin-top: .3rem;
    margin-left: -1.25rem;
}
.form-small {
    font-size: .8rem;
}
.form-save {
    margin-top: 1em
}
.form-save input {
  background-color: #666;
  border: none;
  color: white;
  padding: .5em 1em;
  text-decoration: none;
  margin: .3em . 2em;
  cursor: pointer;
}
.form-save input:hover {
  background-color: #888;
}
/* links */
#clients_view div#change_archived,
#clients_view div#csv_export {
    display: inline-block;
}
#change_archived a,
#csv_export a {
    text-decoration: none;
    padding: .5em;
    display: inline-block;
    color: #fff;
    background: #666;
    border: 0;
}
#change_archived a:hover,
#csv_export a:hover {
    background: #999;
}
/* search field */
#table_search_field {
    margin: .5em 0;
}
#table_search_field input#table_search {
    padding: .2em;
}
/* table */
#table_filter.sortierbar.is_sortable tbody tr td a {
    color: #000;
    text-decoration-style: dotted
}
.table_scroll {
    overflow: auto;
    scrollbar-color: #090 #fff;
    max-height: 35em;
}
.table_scroll table {
    background-color: #ebebeb;
    width: 100%;
    border-collapse: collapse;
}
.table_scroll table thead th {
    position: sticky;
    top: 0;
}
.table_scroll th.sortierbar:nth-child(1),
.table_scroll td:nth-child(1) {
    position: sticky;
    left: 0;
    z-index: 1;
}
.table_scroll table thead th,
.table_scroll table tbody td {
    padding: 8px 4px;
/*    text-align: center;*/
}
#clients_view div.table_scroll table#table_filter td:nth-child(4),
#clients_view div.table_scroll table#table_filter td:nth-child(16),
#gardens_view div.table_scroll table#table_filter td:nth-child(2),
#gardens_view div.table_scroll table#table_filter td:nth-child(6),
#gardens_view div.table_scroll table#table_filter td:nth-child(7),
#split_view div.table_scroll table#table_filter td:nth-child(5),
#split_view div.table_scroll table#table_filter td:nth-child(6),
#systeminfo_view div.table_scroll.table_badip table#table_filter td:nth-child(1),
#systeminfo_view div.table_scroll.table_badip table#table_filter td:nth-child(2),
#systeminfo_view div.table_scroll.table_badip table#table_filter td:nth-child(3),
#systeminfo_view div.table_scroll.table_badip table#table_filter td:nth-child(4),
#systeminfo_view div.table_scroll.table_user table#table_filter td:nth-child(3),
#systeminfo_view div.table_scroll.table_user table#table_filter td:nth-child(4) {
    text-align: center;
}
#systeminfo_view div.table_scroll.table_user table#table_filter td:nth-child(2),
#split_view div.table_scroll table#table_filter td:nth-child(3),
#split_view div.table_scroll table#table_filter td:nth-child(4),
#clients_view div.table_scroll table#table_filter td:nth-child(2),
#clients_view div.table_scroll table#table_filter td:nth-child(5),
#clients_view div.table_scroll table#table_filter td:nth-child(6),
#clients_view div.table_scroll table#table_filter td:nth-child(10),
#clients_view div.table_scroll table#table_filter td:nth-child(20),
#gardens_view div.table_scroll table#table_filter td:nth-child(3),
#gardens_view div.table_scroll table#table_filter td:nth-child(4),
#gardens_view div.table_scroll table#table_filter td:nth-child(5) {
    text-align: right;
    padding-right: 1em;
}
.table_scroll table th {
    background-color: #666;
    border-left: 1px solid #fff;
    white-space: nowrap;
    color: #fff;
}
.table_scroll table td {
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #fff;
    white-space: nowrap;
}
.table_scroll table tr:nth-child(even) {
    background-color: #f7f7f7;
}
.table_scroll table tr:hover {
    background-color:#fff;
}
.table_scroll table tr:hover td {
    border-left: 1px solid #ddd;
}
/*.table_scroll table td:hover{
    background-color: #fff;
}*/
/* navigation */
nav {
    display: block;
}
nav hr {
    color: #d5d5d5;
}
nav ul {
    list-style-position: inside;
    padding: 0;
    margin: 0;
}
nav ul li {
    list-style: none;
    border-top: 1px solid #fff;
}
nav ul li a {
    text-decoration: none;
    padding: .5em;
    display: block;
    color: #fff;
    background: #666;
    border: 0;
}
nav ul li span {
    text-decoration: none;
    padding: .5em;
    display: block;
    color: #fff;
    background: #888;
    border: 0;
}
nav ul li a:hover {
    background: #999;
}
nav ul li span:hover {
    cursor: not-allowed;
}
/* linklist */
#filelist_view {
    display: block;
}
#filelist_view ul.link_list {
    list-style-position: inside;
    padding: 0;
    margin: 0;
}
#filelist_view ul.link_list li {
    list-style: none;
    border-top: 1px solid #fff;
}
#filelist_view ul.link_list li a {
    text-decoration: none;
    padding: .5em;
    display: block;
    color: #fff;
    background: #666;
    border: 0;
}
#filelist_view ul.link_list li a:hover {
    background: #999;
}
/* file list */
#filelist_view {
    max-width: 100%;
}
#filelist_view h2 {
    display: block;
    color: #fff;
    background-color: #090;
    padding: .3em;
    margin: 0;
}
#filelist_view h2:not(:first-child) {
    border-top: 1px solid #fff;
}
#filelist_view h3 {
    display: block;
    color: #fff;
    background-color: #666;
    padding: .3em;
    margin: .1em 0 0 0;
}
#filelist_view ul.file_list {
    list-style-position: inside;
    padding: 0;
    margin: 0;
}
#filelist_view ul.file_list li {
    list-style: none;
    border-top: 1px solid #fff;
}
#filelist_view ul.file_list li a {
    text-decoration: none;
    padding: .5em 1em;
    display: block;
    color: #fff;
    background: #666;
    border: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#filelist_view ul.file_list li a:hover {
    background: #999;
}
#filelist_view ul.system_file_list {
    margin: 0 0 1em 0;
}
#filelist_view ul.system_file_list li {
    padding: .4em;
    overflow: auto;
}
#filelist_view ul.system_file_list li::before  {
    content: "» ";
}
#filelist_view details {
    border-top: 1px solid #fff;
}
#filelist_view details summary::before,
#filelist_view ul.lnk_filemanager li a::before {
    content: "» ";
}
#filelist_view details summary {
    padding: .5em 1em;
    display: block;
    color: #fff;
    background: #666;
    border: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#filelist_view details summary:hover {
    background: #999;
    cursor: pointer;
}
#filelist_view form {
    margin: 0;
    max-width: 100%;
    background: #eee;
    padding: 1rem;
    border: 0;
}
#filelist_view form input[type="file"]::file-selector-button, 
#filelist_view form input[type="file"]::-webkit-file-upload-button,
#filelist_view form input[type="submit"] {
    text-transform: capitalize;
    display: block;
    background: #666;
    color: #fff;
    border: 0;
    padding: .4em 1em;
    cursor: pointer;
    transition: background 0.2s;
    width: 10em;
    text-overflow: ellipsis;
}
#filelist_view form input[type="file"]::file-selector-button:hover,
#filelist_view form input[type="submit"]:hover {
    background: #999;
}
#filelist_view form input[type="submit"] {
    margin-top: .5em;
}
