*{
    padding:0;
    margin:0;
    color: black;
}
html{
    background-color: white;
}
html, body{
    height:100%;
}

.input-container{
    min-height:864px;
    min-width:1536px;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(64, 1fr);
    grid-template-rows: repeat(36, 1fr);
    align-content: center;
    justify-content: center;
    justify-items: stretch;
}
.bg-image{
    display: inline;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.settings-container{
    background-color: white;
    z-index: 1;
    position:relative;
    text-align: right;
    z-index: 3;
}
.settings>label{
    grid-column: 1;
}
.expander>label{
    display:block;
}
.settings{
    position:absolute;
    min-height:calc(100% - 2px);
    width:calc(100% - 2px);
    border: solid 1px black;
    border-radius: 3px;
    display:grid;
    grid-template-columns: 1fr 1.2em;
    grid-template-rows: auto;
    justify-content: center;
    justify-items: stretch;
    background-color: #eee;
    box-shadow: 2px 2px 5px -1px;
    padding: 2px;
}

.expander{
    grid-column: 1;
    overflow: hidden;
    width:100%;
    z-index: 10;
    margin-top: -3px;
}
.collapse{
    height:0;
}
.settings .collapse-icon{
    transform: scaleY(1);
}
.expand-button{
    height: calc(100% - 6px);
    width: calc(100% - 6px);
    margin: 2px 2px 0 2px;
    grid-column: 2;
    grid-row: 1;
    text-align: center;
    cursor: pointer;
    transform: scaleY(-1);
    user-select: none;
    background-color: #CCC;
    border-radius:  5px;
    border: solid 1px #AAA;
}
label{
    margin: 2px;
    text-align: left;
}
.expander>label{
    margin: 5px 2px;
}
label>span{
    float: right;
}

.hidden{
    visibility: hidden;
}
.ignore{
    display:none !important;
}
.spacer {
    height: 50px;
    margin: 0 0 -50px 0;
    background: transparent;
    grid-column: 1;
}
input, select{
    text-align: right;
    width: 100px;
}

input[type="number"],input[type="text"],input[disabled]{
    width: calc(100px + 1em);
}

select{
    width: calc(104px + 1em);
}
.centered{
    text-align: center;
}
input.tle{
    width: 260px;
}
.red{
    color: red;
}
input[readonly]{
    color: #555;
    cursor: default;
}
/*-------------------------------------------------------------*/
.result{
    margin-top: 2px;
    width:100%;
    padding-bottom: 20px;
}
table, td, th{
    border: solid 1px black;
    padding: 1px 5px;
    border-collapse: collapse;
    width: 100%;
}
.result-tables{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    grid-auto-flow: dense;
    gap: 10px;
    width: 70%;
    margin: 0 auto;
}
td{
    white-space: nowrap;
}
.result-input{
    margin-top: 20px;
}
.print-header{
    display:grid;
    grid-template-columns: 200px 1fr 500px;
    grid-template-rows: 80px;
    place-items: center;
    margin-bottom: 20px;
}
.print-logo{
    height: 100%;
}

.io-button{
    cursor: pointer;
    margin-top: 3px;
    vertical-align:sub;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    text-decoration: none;
    height: 20px;
}

.io-feedback{
    background-image: url("/static/image/mail.png");
    display: block;
}

.io-export{
    background-image: url("/static/image/export.png");
}

.io-import{
    background-image: url("/static/image/import.png");
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

/*-------------------------------------------------------------*/

@media screen{
    tr:nth-child(even){
        background-color: #EEE;
    }
    .print-header{
        display: none;
    }
    .chart{
        width: 100%;
        height: 350px;
        max-height: 24%;
    }
    .charts-container{
        width: 70%;
        margin: 0 auto;
        padding: 30px;
        min-width: 980px;
    }

    label.out{
        background-image: linear-gradient(10deg, #ccc 5%, #eee 45%);
    }
}

@media print {
    html, body {
        height: 90%;
        max-height: 90%;
        width: 100%;
        max-width: 100%;
    }
    .input-container{
        display: none;
    }
    .print-header{
        display: grid;
    }
    .result-tables{
        width: 90%;
        page-break-inside: avoid;
    }
    @page:first{
        padding-top: 1cm;
        size: A4 landscape;
        max-size: A4 landscape;
    }
    @page{
        size: A4 portrait;
        max-size: A4 portrait;
        padding: 1cm;
        margin: 1cm auto;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        font-size: 11pt;
    }
    .charts-container{
        page-break-before: always;
        page-break-inside: avoid;
        page-break-after:avoid;
    }
}