:root {
    --col-bg:          #000;  /* fons */
    --col-fg:          #fff;  /* text */
    --col-border:      #888;  /* border */
    --col-link:        #aaf;  /* links */
    --col-side:        #044;  /* sidebar i header */
    --col-tr-1:        #333;  /* files*/
    --col-tr-2:        #555;  /* files alternes */
    --col-thead:       #0a0;  /* capçalera de les taules */
    --col-adjudicades: #00f;  /* places adjudicades */
    --col-disponibles: #f90;  /* places disponibles (no adjudicades) */
    --col-anulades:    #f00;  /* places anul·lades */
    --col-alert:       #550;  /* missatges d'alerta */
    --col-adjudicacio: #707;  /* adjudicació (persona) */
}
@media (prefers-color-scheme: light) {
    :root {
        --col-bg:          #fff;  /* fons */
        --col-fg:          #000;  /* text */
        --col-border:      #888;  /* border */
        --col-link:        #00f;  /* links */
        --col-side:        #0bb;  /* sidebar i header */
        --col-tr-1:        #eee;  /* files alternes */
        --col-tr-2:        #bbb;  /* files*/
        --col-thead:       #0c0;  /* capçalera de les taules */
        --col-adjudicades: #77f;  /* places adjudicades */
        --col-disponibles: #f90;  /* places disponibles (no adjudicades) */
        --col-anulades:    #f77;  /* places anul·lades */
        --col-alert:       #cc0;  /* missatges d'alerta */
        --col-adjudicacio: #f7f;  /* adjudicació (persona) */
    }
}
* {
    box-sizing: border-box;
}
body {
    background: var(--col-bg);
    color: var(--col-fg);
    max-width: 1000px;
    margin: 2.5em 0 0 15em;
    padding: .5em 1.5em;
}
a {color: var(--col-link);}
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.8em;
}
tr {background-color: var(--col-tr-1);}
.bg-light {background-color: var(--col-tr-2) !important;}
td, th {
    word-wrap: break-word;
    max-width: 200px;  /* adjust as needed */
    border: 1px solid var(--col-border);
    padding: 3px 8px;
}
#placesAdjudicades tr          {background-color: var(--col-adjudicades) !important; font-size: .8em}
#placesDisponiblesAnullades tr {background-color: var(--col-anulades)    !important; font-size: .8em}
#placesDisponibles tr          {background-color: var(--col-disponibles) !important; font-size: .8em}
thead tr                       {background-color: var(--col-thead)       !important;}
h2 br {display: none}
h2 small:last-child {display: none}
.material-icons {display: none;}
.alert-warning {
    background: var(--col-alert);
    font-size: .9em;
    padding: .2em .5em;
    border-radius: 3px;
    margin-bottom: .5em;
}
#botonsResum {
    position: fixed;
    z-index: 1;
    background: var(--col-side);
    width: calc(100vw - 15em);
    left: 15em;
    top: 0;
    display: inline-flex;
    padding: .5em 1.5em !important;
}
#botonsResum a {
    margin-right: 1em
}
#sidebar {
    position: fixed;
    background-color: var(--col-side);
    left: 0;
    top: 0;
    width: 15em;
    height: 100vh;
    padding: 0 1em;
    overflow: auto;
}
.alert-primary {
    background: var(--col-adjudicacio);
}
.sticky-top {
    display: none;
}
fieldset {
    margin-bottom: 1em;
    border: 0;
    margin-left: 0;
    padding: .5em 0;
}
fieldset label {
    display: inline-flex;
    align-items: flex-start;
}
.text-center {text-align: center}
#a_inici {display: none;}
#mobil {display: none;}
#ckfiltres {visibility: hidden; display: none}

@media screen and (max-width: 768px) {
    table {
        font-size: .8em;
    }
    body {
        margin: 0;
        padding: .3em;
    }
    table {
        max-width: 100%;
    }
    td {
        padding: 5px 1px;
    }
    #sidebar {
        display: none;
        width: 100vw;
        margin-top: 5.5em;
        height: calc(100vh - 5.5em);
    }
    #botonsResum {
        position: static;
        width: 100%;
        display: block;
        background: inherit;
        padding: 0;
    }
    #botonsResum > * {
        padding: .2em 0 !important;
    }
    #mobil {
        display: block;
        margin-bottom: .5em;
    }
    #btnfiltres {
        display: block;
        width: 100%;
        background: var(--col-tr-2);
        color: var(--col-fg);
        border: 2px solid var(--col-fg);
        padding: .5em;
        text-align: center;
    }
    #btntop {
        position: fixed;
        bottom: 1em;
        right: 1em;
        background: var(--col-bg);
        color: var(--col-fg);
        border: 2px solid var(--col-fg);
        padding: .5em;
        text-decoration: none;
    }
    #ckfiltres:checked ~ #sidebar {
        display: block;
    }
    .pc {display: none}
    #mobil h3, h1 {
        margin: .5em 0;
        text-align: center;
    }
}
