:root {
    /* Surfaces */
    --bg:          #f6f7f9; /* Page background */
    --surface:     #ffffff; /* Primary content background */
    --surface-alt: #eef1f4; /* Secondary/contrasting surface */
    --surface-button: #EFEFEF;

    /* Text */
    --text:        #20242a; /* Primary content text */
    --text-muted:  #68707a; /* Secondary/muted text */

    /* Borders */
    --border:      #d8dde3; /* Standard border/divider */

    /* Primary */
    --primary:       #315f7d; /* Links, primary actions, active state */
    --primary-hover: #274d66; /* Primary hover/active */

    /* Semantic */
    --success: #34785a; /* Success state */
    --warning: #a66b19; /* Warning state */
    --danger:  #9A0718; /* Error/destructive state */
    --info:    #39739d; /* Informational state */
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family:verdana, arial, helvetica;
    font-size:10pt;
    margin: 0;
    color: var(--text-color);
}

#container {
    display: grid;
    grid-template-columns: 25px minmax(250px, auto) 25px;
    grid-template-rows: 100px auto;
    row-gap: 10px;
    background-color: var(--bg);
}

#heading {
    grid-area: 1/2/span 1/span 1;
    width:100%;
    background-color:var(--surface);
    border-width:0 5px 5px 5px;
    border-color:var(--border);
    border-style:solid;
    border-radius: 0 0 15px 15px;
    height: 100%;
    padding:5px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 100%;
}

#logo {
    align-self: end;
}

#menu {
    align-self: end;
    justify-self: end;
    padding: 0 10px 0 0;
    font-size:36pt;
}

#menu a {
    color: var(--primary);
    font-weight: bolder;
    text-decoration: none;
}

#main {
    grid-area: 2/2/span 1/span 1;
    width:100%;
    margin:0 auto;
    background-color:var(--surface);
    border-width:5px 5px 0 5px;
    border-color:var(--border);
    border-style:solid;
    border-radius: 15px 15px 0 0;
    min-height: calc(100dvh - 110px);
    padding:5px;
    display:grid;
    grid-template-rows: auto 1fr;
}

#breadcrumbs {
    width:100%;
    grid-area: 1/1/span 1/span 1;
    font-size: 16pt;
}

#breadcrumbs a {
    color: var(--primary);
    font-weight: bold;
}

#content {
    width:100%;
    grid-area: 2/1/span 1/span 1;
    
}

#center {
    display:flex;
    justify-content: center;
    align-items: center;
    height:100%
}

.navigation {
    display: flex;
    margin: 20px;
    gap: 10px;
    flex-wrap: wrap;
}

.navigation .navButton {
    height: 130px;
    width: 130px;
    display: flex;
    border-color:var(--primary);
    border-width: 3px;
    border-radius: 6px;
    border-style:solid;
    background-color:var(--surface-button);
    font-weight: bolder;
}

.navigation .navButton a {
    color: var(--primary);
    height:100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction:column;
}

.btnDelete {
    color:var(--danger);
    font-weight:bolder;
    border-style: outset;
    border-width: var(--bar-border-width);
    border-radius: 6px 6px 6px 6px;
    padding: 2px;
}

div.addNew {
    width: 150px;
    /* line-height: 29px; */
    height:29px;
    margin: 5px 0;
    font-size: 15px;
    background: linear-gradient(90deg, rgba(48, 88, 24, 1) 75%, #448F01 15%);
    box-shadow: 4px 4px 4px #000;
    border: 0;
    border-radius: 0.188rem;
    padding: 5px 50px 5px 10px;
    position: relative;
}

div.addNew:after {
    font-size: 20px;
    font-weight: bolder;
    content: "\002B";
    position: absolute;
    top: 2px;
    right: 10px;
}

.btnAddNew {
    text-decoration: none;
    display: inline-block;
    min-width: 40px;
    height: 20px;
    padding: 2px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

#content div > a.textbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    max-width: 100%;
    height: 34px;
    padding: 0px 10px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.uiFormBtnWrapper {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    gap: 5px;
    flex-wrap: wrap;
}

input[type=search],input[type=password],input[type=text], input[type=number], select, textarea{
    padding: 4px;
    border: 1px solid #5b5b5b;
    border-radius: 6px;
    color: #000;
    background-color: #fff;
}

div[data-type='checkbox'], td[data-type='checkbox'] {font-size:1.2em;}

.blue {
    color:#fff;
    background-color:#014B9B;
    border-color:#0172C8 var(--blue) var(--blue) #0172C8;
}

.green {
    color:#fff;
    background-color:#305818;
    border-color:#93AC84 #0F2800 #0F2800 #93AC84;
}

.red {
    color: #fff;
    background-color: var(--danger);
    border-color: #F68A8A #55011C #55011C #F68A8A;
}

.all {
    border-style: outset;
    border-width: var(--bar-border-width);
    border-radius: 6px 6px 6px 6px;
}