
:root {

    --color-primary:   #FFFFFF;
    --color-secondary: #F5F5F5;
    --color-accent:    #F8D4CB;
    --color-text:      #3C3C3B;

    --color-topbar:      var(--color-primary);
    --color-surface:     var(--color-primary);
    --color-sidebar:     color-mix(in srgb, var(--color-primary) 90%,   var(--color-secondary));
    --color-background:  var(--color-secondary);

    --color-surface-alt: color-mix(in srgb, var(--color-secondary) 99.5%, var(--color-text));
    --color-hover:       color-mix(in srgb, var(--color-secondary) 95.1%, var(--color-text));
    --color-border:      color-mix(in srgb, var(--color-secondary) 90.3%, var(--color-text));
    --color-muted:       color-mix(in srgb, var(--color-secondary) 84.9%, var(--color-text));
    --color-text-muted:  color-mix(in srgb, var(--color-text) 62%, var(--color-surface));
    --color-accent-soft:   color-mix(in srgb, var(--color-accent) 30%, var(--color-surface));
    --color-accent-strong: color-mix(in hsl,  var(--color-accent) 94%,
                                        oklch(from var(--color-accent) clamp(0,(l - 0.6)*-100,1) 0 h));

    /* Text */
    --fs-xs:   clamp(11px, 1.6vh, 14px);
    --fs-sm:   clamp(12px, 1.8vh, 15px);
    --fs-base: clamp(14px, 2.1vh, 17px);
    --fs-md:   clamp(15px, 2.3vh, 19px);
    --fs-lg:   clamp(17px, 2.6vh, 22px);
    --fs-xl:   clamp(19px, 3vh, 26px);
    --fs-2xl:  clamp(22px, 3.6vh, 32px);
    --fs-3xl:  clamp(26px, 4.4vh, 40px);

    /* Icones */
    --icon-xs: clamp(11px, 1.6vh, 15px);
    --icon-sm: clamp(14px, 2vh, 20px);
    --icon-md: clamp(18px, 2.6vh, 26px);
    --icon-lg: clamp(20px, 3vh, 28px);

    /* Controls */
    --control-h: clamp(35px, 4.2vh, 40px);  /* files de taula, botons petits */
    --btn-h:     clamp(35px, 5vh, 46px);    /* botons d'acció, caixa de cerca */

    --topbar-h:  clamp(60px, calc(7vh + 20px), 92px);
    --sidebar-w: clamp(240px, calc(20vh + 40px), 270px);
}

* {
    font-family: "Nunito Sans", Arial, sans-serif;
}

button, input, select, textarea, optgroup {
    color: inherit;
}

::placeholder {
    color: var(--color-text);
    opacity: 0.65;
}

body {
    height: 100%;
    margin:0;
    padding:0;
    background-color: var(--color-background);
    color: var(--color-text);
}


body#mobile {
    font-family: "Nunito Sans", Arial, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;

    background-attachment: fixed;
      /*background-image: url('background.svg');*/
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

html.cameraPage {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

body#mobile.cameraPage {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    min-height: 0;
    max-width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

html {
    height: 100%;
    width: 100%;
}

div.alert {
    padding: 12px 16px;
    border-radius: 6px;
    margin: 10px 0;
    border: 1px solid transparent;
    color: var(--color-text);
}

.alert-success {
    background-color: #d1f7d6;
    border-color: #7edc8b;
    color: #155724;
}

.alert-info {
    background-color: #d1f7d6;
    border-color: #7edc8b;
    color: #155724;
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #f5a3ab;
    color: #721c24;
}

.alert-warning {
    background-color: #fff3cd;
    border-color: #ffe08a;
    color: #856404;
}

.alert button {
    background: transparent;
    border: none;
    color: inherit;
    font-size: var(--fs-lg);
    cursor: pointer;
    float: right;
}

.alert button:hover {
    opacity: 0.7;
}

div.patient {
    text-align: center;
    margin: 20px;
    display:none;
}


.patient input {
    font-size: var(--fs-base);
}

div.image {
    margin: 10px;
    text-align: center;
}
div.syncIdentification {
    text-align: center;
    margin: 20px;
}
.syncIdentification input{
    font-size: var(--fs-base);
}
input.imageInput{
    margin-left:10px;
}
.image input {
    font-size: var(--fs-base);
    
}
#ck-button {
    margin: 4px;
    background-color: var(--color-accent-strong);
    border-radius: 4px;
    border: 1px solid var(--color-border);
}


    #ck-button label {
        width:auto;
        cursor:pointer;
    }

        #ck-button label span {
            text-align: center;
            padding: 10px 10px;
            display: block;
            margin:1px;
        }

        #ck-button label input {
            display:none;
        }

    #ck-button input:checked + span {
        background-color: var(--color-accent-strong);
        color: var(--color-text);
        border-radius: 2px;
    }
    #ck-button input + span {
        background-color: var(--color-accent);
        color: var(--color-text);
        border-radius:2px;
    }

div#ident_selector {
    display: flex;
    justify-content: center;
}
img#logo {
    width: 50%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
div#logoDiv {
    width:100%;
    align-content:center;

}

#submit {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent);
    font-size: var(--fs-base);
    color: var(--color-text);
    padding: 5px 10px;
}

button#submit:hover {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent-strong);
    color: var(--color-text);
    font-size: var(--fs-base);
}

div#submitDiv {
    text-align: center;
}

.circle {
    width: clamp(28px, 4.5vh, 44px);
    height: clamp(28px, 4.5vh, 44px);
    background-color: var(--color-accent-strong);;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.circle-little{
    width: var(--icon-md);
    height: var(--icon-md);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    margin: 0 1.5vh 0 1vh;
}

.b-red{
    background-color: var(--color-accent-strong);
}

.margin-right-30{
    margin-right: 30px;
}

.initialNameLetter {
    color: var(--color-text);
    font-size: var(--fs-lg);
}

.initialNameLetter-little{
    color: var(--color-text);
    font-size: var(--fs-xs);
}

.display-vertical {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.display-horizontal {
    display: flex;
    flex-direction: row;
}

.display-center{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.display-center-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
}

.img-small {
    width: var(--icon-xs);
    height: var(--icon-xs);
}

.inputField {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 10px;
    border: solid 1px var(--color-border);
    padding: 0.5vh;
    margin: 5px;
    font-size: var(--fs-base);
}

.saveButton {
    border:none;
    background-color:transparent;
    cursor: pointer;
}

.switch {
    --w: clamp(28px, 4vh, 40px);
    --h: calc(var(--w) * 0.45);

    position: relative;
    width: var(--w);
    height: var(--h);
    display: inline-block;
    margin: 0.5rem;
}

.switch input {
    display: none;
}

.switch span {
    position: absolute;
    inset: 0;
    background: var(--color-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--h);
    cursor: pointer;
    transition: .25s;
    width: var(--w);
}

.switch span::before {
    content: "";
    position: absolute;
    width: calc(var(--h) - 4px);
    height: calc(var(--h) - 4px);
    top: 2px;
    left: 2px;
    background: var(--color-surface);
    border-radius: 50%;
    transition: .25s;
}

.switch input:checked + span {
    background: var(--color-accent);
}

.switch input:checked + span::before {
    transform: translateX(calc(var(--w) - var(--h)));
}

.placeholder-text {
    color: var(--color-text);
    font-weight: 300;
    font-size: var(--fs-base);
}

.loupe {
    width: var(--icon-xs);
    height: auto;
}

.topPart {
    display: flex;
    flex-direction: column;
}

.topOptions{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.salmon-button{
    border: none;
    background-color: var(--color-accent);
    color: var(--color-text);
    padding: clamp(5px,1vh,10px);
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;

    p{
        margin: 0 1vh 0 0;
    }
}

.salmon-button-add {
    box-sizing: border-box;
    height: var(--btn-h);
    width: auto;
    min-width: clamp(120px, 16vh, 190px);
    white-space: nowrap;
}

/* ---- ESTATS INTERACTIUS -------------------------------------------
   Tot el que es pot clicar ha de respondre. Els fons van a
   --color-hover (superficie) i els botons d'accio a
   --color-accent-strong, que ja es calcula per anar en la direccio
   bona: mes fosc si l'accent es clar, mes clar si es fosc.        */

.salmon-button:hover {
    background-color: var(--color-accent-strong);
}

.button-user:hover:not(.btn-active):not(.btn-active-border) {
    background-color: var(--color-hover);
}

.adminTable tbody tr:hover td {
    background-color: var(--color-hover);
}

.btn-back:hover,
a.simpleA:hover,
.tableNavigator a:hover {
    color: var(--color-accent-strong);
    text-decoration: underline;
}

.saveButton:hover,
.editButton:hover,
.little-button:hover,
.btn-delete:hover {
    opacity: 0.65;
}

.btn-link:hover,
.viewSelector:hover,
.info-cancel-btn:hover {
    background-color: var(--color-hover);
}

.inputField:focus,
.display-search-box:focus-within {
    outline: 2px solid var(--color-accent);
    outline-offset: 1px;
}

.simple-btn {
    background: none;
    border: none;
}

.simple-btn:hover {
    opacity: 0.65;
    transform: scale(1.1);
}

.salmon-light-button {
    height: auto;
    width: auto;
    margin: 1vh;
    padding: 1vh;
    background: var(--color-accent-soft);
    color: var(--color-text);
    border-radius: 4px;
    border: var(--color-border) solid 1px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
}

.salmon-light-button:hover{
    background-color: var(--color-accent);
}

.btn-text{
    font-size: var(--fs-sm);
}

.btn-img-add {
    width: var(--icon-sm);
    height: var(--icon-sm);
    margin: clamp(4px,1vh,10px);
}

.btn-add{
    font-size: var(--fs-sm);

}

.box{
    background-color: var(--color-surface);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    min-width: 80px;

    h1{
        font-size: var(--fs-xl);
        margin: 0;
    }
}

.box-padding {
    padding: 3vh;
}

#topBar {
    background-color: var(--color-topbar);
    padding: 10px 0px;
    width: 100%;
    height: var(--topbar-h);
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 4px 16px 0px rgba(120, 117, 116, 0.2);
    position: fixed; /* Això fa que la barra es mantingui fixa al capdamunt de la pantalla */
    top: 0; /* Posiciona la barra a la part superior de la pantalla */
    z-index: 1000; /* Assegura't que la barra està sobre altres elements de la pàgina */
}

#topBarOptions{
    color: var(--color-text);
    ul {
        list-style: none; /* Elimina els bullets de la llista */
        display: flex;
        column-gap: clamp(20px, 4vh, 40px);
        li a {
            color: var(--color-text);
            text-decoration: none; /* Elimina el subratllat dels enllaços */
            font-weight: bold;
            font-size: var(--fs-lg);
            text-emphasis: #3C3C3B;
            padding: 10px; /* Espaiat interior per als enllaços */
        }
    }

}

#topBarJustify {
    background-color: var(--color-topbar);
    padding: 0px;
    width: 100%;
    padding: 10px 0px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* MOBILE */

#ck-buttonM {
    margin: 20px;
    margin-top:50px;
    background-color: var(--color-accent-strong);
    border-radius: 4px;
    border: 1px solid var(--color-border);
    font-size:25pt;
}


    #ck-buttonM label {
        width: auto;
        cursor: pointer;
    }

        #ck-buttonM label span {
            text-align: center;
            padding: 10px 10px;
            display: block;
            margin: 1px;
        }

        #ck-buttonM label input {
            display: none;
        }

    #ck-buttonM input:checked + span {
        background-color: var(--color-accent-strong);
        color: var(--color-text);
        border-radius: 2px;
    }

    #ck-buttonM input + span {
        background-color: var(--color-accent);
        color: var(--color-text);
        border-radius: 2px;
    }
div.patientM {
    text-align: center;
    margin: 20px;
    display: none;
}

.patientM input {
    font-size: 25pt;
}
div.syncIdentificationM {
    text-align: center;
    margin: 20px;
}

.syncIdentificationM input {
    font-size: 25pt;
}
#submitM {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent);
    font-size: 23pt;
    color: var(--color-text);
    padding: 5px 10px;
}

button#submitM:hover {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent-strong);
    color: var(--color-text);
    font-size: 23pt;
}

.btn-delete{
    all: unset;
    cursor: pointer;
    margin: 1vh;
}

.btn-delete:hover{
    transform: translateY(-1px);
}

.btn-svg-delete {
    width: var(--icon-xs);
    height: var(--icon-xs);
}

.imageM input {
    font-size: 23pt;
}
div.imageM {
    margin: 40px;
    text-align: center;
}


#topBarM {
    background-color: var(--color-topbar);
    width: 100%;
    box-sizing: border-box;
    padding: 10px max(5px, env(safe-area-inset-right)) 10px max(5px, env(safe-area-inset-left));
    padding-top: calc(10px + env(safe-area-inset-top));
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

#topBarJustifyM {
    background-color: var(--color-topbar);
    width: 100%;
    box-sizing: border-box;
    padding: 10px max(5px, env(safe-area-inset-right)) 10px max(5px, env(safe-area-inset-left));
    padding-top: calc(10px + env(safe-area-inset-top));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: var(--fs-md);
    flex: 0 0 auto;
}

.topBarIdM {
    flex: 0 0 auto;
    white-space: nowrap;
}

#topBarM .floatRight,
#topBarJustifyM .floatRight {
    flex: 0 1 auto;
    min-width: 0;
    gap: 6px;
    row-gap: 4px;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-right: 5px;
    padding-left: 5px;
}

#topBarM a.miniButton,
#topBarJustifyM a.miniButton {
    padding: 6px 12px;
    white-space: nowrap;
}

#topBarM a {
    margin-left: 10px;
}


#loginDiv {
    background-color: var(--color-accent-soft);
    border: 1px solid var(--color-accent);
    border-radius: 15px;
    display: inline-table;
    word-wrap: normal;
    padding: 15px;
    margin:auto;
}

.login {
    margin: 15px;
    padding: 0px;
}

.login a{
    font-size:var(--fs-base);
    float:right;

}

a.aAsButton{
    background-color: var(--color-accent-strong);
    border: 2px solid var(--color-accent-strong);
    border-radius: 10px;
    padding: 4px 10px;
    color: var(--color-text);
    font-size:var(--fs-base);
        display: block;
    text-align: center;
    text-decoration: none;
}

a.aAsButton:hover{
    color: var(--color-text);
    background-color: var(--color-accent-strong);
    border: 2px solid var(--color-accent-strong);
}

#submitLogin {
       background-color: var(--color-accent-strong);
    border: 2px solid var(--color-accent-strong);
    border-radius: 10px;
    padding: 4px 10px;
    color: var(--color-text);
    width: 100%;
    font-size:var(--fs-base);

}

    #submitLogin:hover {
            color: var(--color-text);
    background-color: var(--color-accent-strong);
    border: 2px solid var(--color-accent-strong);
    }

.exterior {
    width: 100%;
    display: flex;
    justify-content: center;
    font-size: var(--fs-base);
}

#submitLoginDiv {
    width: 100%;
    display: flex;
    justify-content: center;
}

img#logo2 {
    width: 20%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-bottom:20px;
    
}

.exterior input{
    font-size:var(--fs-base);
}

.base-center{
    width: 100%;
    height: 100%;
    margin-top: var(--topbar-h);
    padding-top: clamp(30px, 9.5vh, 68px);
}

.auth-page {
    width: 100%;
    min-width: 250px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.auth-page-base{
    width: 100%;
    min-width: 250px;
    margin-top: var(--topbar-h);
    height: calc(100vh - var(--topbar-h));
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.auth-page-inline {
    min-height: auto;
    padding-top: 0;
}

.auth-card {
    width: min(500px, calc(100% - 28px));
    background: var(--color-surface);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.07);
    box-sizing: border-box;
    padding: clamp(24px, 3.5vh, 32px) clamp(22px, 5vw, 46px) clamp(30px, 4.5vh, 42px);
}

.auth-logo {
    width: clamp(90px, 13vh, 130px);
    max-width: 44%;
    display: block;
    margin: 0 auto 16px;
}

.auth-title {
    color: var(--color-text);
    font-size: var(--fs-2xl);
    line-height: 1.15;
    margin: 0 0 6px;
    text-align: center;
}

.auth-subtitle {
    color: var(--color-text-muted);
    font-size: var(--fs-base);
    line-height: 1.35;
    margin: 0 0 24px;
    text-align: center;
}

.auth-field {
    margin-bottom: 18px;
}

.auth-label {
    color: var(--color-text);
    display: flex;
    font-size: var(--fs-md);
    font-weight: 700;
    justify-content: space-between;
    margin-bottom: 6px;
}

.auth-label a,
.auth-link {
    color: var(--color-text);
    font-size: var(--fs-base);
    font-weight: 400;
    text-decoration: none;
}

.auth-label a:hover,
.auth-link:hover {
    text-decoration: underline;
}

.auth-card input[type="text"],
.auth-card input[type="email"],
.auth-card input[type="password"],
.auth-card input#id_login,
.auth-card input#id_code,
.auth-card input#id_email,
.auth-card input#id_oldpassword,
.auth-card input#id_password1,
.auth-card input#id_password2 {
    width: 100%;
    background: var(--color-muted);
    border: 0;
    border-radius: 12px;
    box-sizing: border-box;
    color: var(--color-text);
    font-size: var(--fs-base);
    padding: 12px 16px;
}

.auth-card input:focus {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.auth-card #submitLogin,
.auth-card button#submitLogin,
.auth-card .aAsButton {
    width: 100%;
    background: var(--color-accent);
    border: 0;
    border-radius: 12px;
    color: var(--color-text);
    cursor: pointer;
    font-size: var(--fs-base);
    font-weight: 700;
    margin-top: 16px;
    padding: 12px 16px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

.auth-card #submitLogin:hover,
.auth-card button#submitLogin:hover,
.auth-card .aAsButton:hover {
    background: var(--color-accent-strong);
    color: var(--color-text);
}

.auth-error {
    color: darkred;
    font-size: var(--fs-sm);
    margin: -10px 0 18px;
    text-align: center;
}

.auth-back {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}

.auth-qr {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

.auth-qr img {
    max-width: min(260px, 80%);
    height: auto;
}

.auth-card button#id_cancel {
    background-color: transparent;
    border: none;
    color: var(--color-text);
    cursor: pointer;
    font-size: var(--fs-base);
}

@media (max-width: 640px) {
    .auth-page {
        padding-top: 24px;
    }

    .auth-card {
        width: calc(100% - 28px);
        padding: 26px 22px 34px;
    }

    .auth-title {
        font-size: 19pt;
    }

    .auth-subtitle,
    .auth-card input[type="text"],
    .auth-card input[type="email"],
    .auth-card input[type="password"],
    .auth-card input#id_login,
    .auth-card input#id_code,
    .auth-card input#id_email,
    .auth-card input#id_oldpassword,
    .auth-card input#id_password1,
    .auth-card input#id_password2 {
        font-size: 12pt;
    }

    .auth-label {
        font-size: 13pt;
    }
}

div.floatRight{
    padding-right:15px;
    padding-left: 15px;
    display: flex;
    align-items: center;
    font-size: var(--fs-sm);
}

div#logoutDiv{
    padding:20px;
}


div#divVideo{
display: flex;
    align-content: center;
    justify-content: center;
}


div#focusDiv{
    z-index: 10;
    position: absolute;
    display: flex;
    justify-content: center;
    align-content: center;
    width:100%;
    height:80%;
    top:20%;
}

img.focusM{
    max-width:80%;
    max-height:80%;
}

video{
    max-width:100%;
}
div#reader__dashboard{
    display:none;
}
img#flipImg{
    max-width:100%;
    max-height:100%;
}
button#giraButton{
    width:10%;
    background-color: var(--color-accent-soft);
    border-radius: 10%;
}
div#flipDivM{
    display: flex;
    justify-content: center;
    align-content: center;
    z-index: 10;
    bottom: 100px;
    position: absolute;
    width:100%;

}
div#flipDiv{
    display: flex;
    justify-content: center;
    align-content: center;
    width:100%;

}

div#tornaDiv{
     width: 20%;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    position: absolute;
    z-index: 10;
    bottom: 0px;
}
div#tornaDivM{
    width: 20%;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    position: absolute;
    z-index: 10;
    bottom: 100px;
}
img#tornaImg{
width:50px;
margin:50px;
}

div#fonsSignUp{
    background-color: var(--color-accent-soft);
    border: 2px solid var(--color-accent);
    border-radius: 20px;
    padding:50px 100px 100px 100px;
    margin:50px;
}

div.flexCenteredDiv{
    display: flex;
    justify-content: center;
    align-content: center;
}
button.submitButton {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color:var(--color-accent-soft);
    font-size: var(--fs-base);
    color: var(--color-text);
    padding: 5px 10px;
}

button.submitButton:hover {
    border: 2px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent-strong);
    color: var(--color-text);
    font-size: var(--fs-base);
}
input.submitButton {
    border: 1px solid var(--color-accent);
    border-radius: 3px;
    background-color:var(--color-accent-soft);
    color: var(--color-text);
    padding: 5px 10px;
}

input.submitButton:hover {
    border: 1px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent-strong);
    color: var(--color-text);
}

.title-text {
    font-size: var(--fs-md);
    margin: 0 0 10px 0;
}

.name-text {
    font-size: var(--fs-md);
    margin: 0 0 10px 0;
}

a.cancelButton{
    border: 1px solid var(--color-accent);
    border-radius: 3px;
    background-color:var(--color-accent-soft);
    color: var(--color-text);
    padding: 5px 10px;
    text-decoration: none;
    font-size: var(--fs-sm);
}

a.cancelButton:hover {
    border: 1px solid var(--color-accent);
    border-radius: 3px;
    background-color: var(--color-accent-strong);
    color: var(--color-text);
}

div.leftMargin{
    margin:50px;
}
.dropbtn {
  border-radius:50vh;
  background-color: transparent;

  color: var(--color-accent-strong);
  padding: 16px;
  padding-top: 11px;
  padding-bottom: 11px;
  font-size: var(--fs-base);
  border: solid 2px var(--color-accent);
  cursor: pointer;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;

}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  border-radius:10px;
  display: none;
  position: absolute;
  background-color: var(--color-surface-alt);
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
    left: 0;
}

#topBar .dropdown-content,
#topBarJustify .dropdown-content {
    left: auto;
    right: 0;
    min-width: max-content;
    white-space: nowrap;
    background-clip: padding-box;
}

.btn-back{
    font-size: var(--fs-lg);
    font-weight: 500;
    text-decoration: none;
    color: var(--color-text);
}

.permissionsForm {
    display: flex;
    justify-content: center;

    form {
        width: 50%;
        min-width: 250px;
        min-height: 200px;
        border-radius: 20px;
        background-color: var(--color-surface);
        padding: clamp(20px,4vh,40px);
        margin: clamp(16px,2vh,24px);

        div{
            margin: clamp(10px,1.8vh,18px);
            display: flex;
            align-items: center;
        }

        input {
            flex: 1;
            border: none;
            padding: clamp(6px,1vh,10px);
            width: 100%;
            border-radius:10px;
            background-color:var(--color-accent-soft);
            margin: clamp(6px,1vh,10px);
            font-size: var(--fs-base);
        }

        label{
            font-size: var(--fs-base);
            width: max-content;
            font-weight: 600;
            margin: 0 1vh 0 0;
        }

        .submitButton {
            width: 40%;
            border-radius: 20px;
            border: none;
            cursor: pointer;
            font-size: var(--fs-base);
            padding: clamp(6px,1vh,10px);
            background-color: var(--color-accent);
        }

        .submitButton:hover {
            width: 40%;
            min-width: 20px;
            border-radius: 20px;
            border: none;
            cursor: pointer;
            background-color: var(--color-accent-strong);

        }
    }
}

a.miniButton{
    background-color: var(--color-accent-strong);
    text-decoration: none;
    color: var(--color-text);
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    border-radius:10px;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: var(--color-text);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  border-radius:10px;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: var(--color-hover)}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
  background-color: var(--color-hover);
}
img#logoBarraSuperior {
    width: clamp(90px, 15vh, 155px);
    height: clamp(30px, 5vh, 52px);
    padding:0;
    margin-left: clamp(10px, 2vh, 20px);
}

a.withoutDecoration:link{
    text-decoration:none
}
a.withoutDecoration:visited{
    text-decoration:none
}
a.withoutDecoration:hover{
    text-decoration:none
}
a.withoutDecoration:active{
    text-decoration:none
}

.table-border {
    border: 1px solid var(--color-surface);
    border-radius: 1.5vh;
    margin-top: 2vh;
}

table.adminTable {
    width: 100%;
    min-width: 600px;
    min-height: auto;
    height: 100%;
    border-radius: 1.5vh;
    overflow: hidden;
    border-collapse: collapse;
    border: 1px solid var(--color-surface);
}

.adminTable{
    th, td {
        padding: clamp(6px,1vh,10px) clamp(9px,1.5vh,15px);
        border: none;
        min-height: 30px;
        text-align: center;
        vertical-align: middle;
        font-size: var(--fs-base);
    }

     tr:nth-child(odd) {
        background-color: var(--color-surface-alt);
        border: none;

    }

    tr:nth-child(even) {
        background-color: var(--color-surface);
        border: none;
    }

    th, td:first-child {
        color: var(--color-text);
        font-weight: bold;
    }
    td{
        height: var(--control-h);
    }
    th{
        background-color: var(--color-surface);
    }
}

.button-user{
    height: var(--control-h, 30px);
    min-width: 90px;
    background: none;
    border: 1px solid #878787;
    border-radius: 5px;
    margin: 0 clamp(15px,3vh,30px) 0 0;
    font-size: var(--fs-sm, 13px);
}

.btn-active {
    background-color: var(--color-muted, #F5F5F5);
    color: var(--color-text, #3C3C3B);
}

.btn-active-border {
    background-color: var(--color-border, #F5F5F5);
    color: var(--color-text, #3C3C3B);
    border: none;
}

.display-horizontal-between {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 1.8vh 0 1vh 0;
}

.bigText{
    font-size: var(--fs-3xl);
    margin: 0;
}

.light {
    color: var(--color-text);
    font-weight: 300;
    font-size: var(--fs-lg);
    margin: 0.5vh 1vh 3vh 0;
}

img.optionsTable{
    width: var(--icon-md);
    height: auto;
    margin: clamp(4px,1vh,10px);
}

div.tableNavigator{
    text-align:end;
    margin: 2vh 1vh 1vh 1vh;
}

div.tableOptions{
    display: flex;
    justify-content: space-between;

}
a.addButton{
    margin:10px;
}




div.container{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
}




button:hover {
    cursor: pointer;
}


.display-search-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-surface);
    border-radius: 1vh;
    padding: 0.7vh 1vh;
    box-sizing: border-box;
    width: 50%;
    min-width: 300px;
    height: var(--btn-h);
}

.display-search-box input {
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    font-size: var(--fs-base);
}

.display-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin: 1.8vh 0 1.8vh 0;
}



/* El botó de tancar (x) */
.closeButton2 {
    color: var(--color-text-muted);
    float: right;
    font-size: var(--fs-2xl);
    font-weight: bold;
}

.closeButton2:hover,
.closeButton2:focus {
    color: var(--color-text);
    text-decoration: none;
    cursor: pointer;
}





select#language-select {
    text-transform: uppercase;
    background-color: transparent;
    border: none;
    margin-right: 20px;
    font-size: var(--fs-sm);
}

select#language-select:focus {
    text-transform: none;
}
    a.simpleA {
        text-decoration: none;
    color: var(--color-text);
    font-size: var(--fs-base);
    }

    .sidebar-icon-dot {
        position: relative;
        display: inline-flex;
    }

    .sidebar-icon-dot::after {
        content: "";
        position: absolute;
        top: -2px;
        right: -2px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: #E4572E;
        border: 2px solid var(--color-surface, #FFFFFF);
        box-sizing: content-box;
    }

.cameraStage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    background-color: #000;
}

div#camera {
    display: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
}

div#waiting {
    display: flex;
    position: absolute;
    inset: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    padding: clamp(12px, 4vw, 32px);
    padding-bottom: calc(clamp(12px, 4vw, 32px) + env(safe-area-inset-bottom, 0px));
    overflow: auto;
    background-color: var(--color-background);
}

div#my_camera {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #000;
}

div#my_camera > video {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
    background-color: #000;
}

div#buttonDiv,
div#buttonDivM {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(clamp(14px, 4vh, 34px) + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    z-index: 10;
    pointer-events: none;
}

div#buttonDiv > *,
div#buttonDivM > * {
    pointer-events: auto;
}

button.takePhoto,
button.takePhotoM {
    width: clamp(58px, 15vmin, 96px);
    height: clamp(58px, 15vmin, 96px);
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: var(--color-surface);
    border: 4px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
}

button.takePhoto:active,
button.takePhotoM:active {
    transform: scale(0.93);
}

button.takePhoto:disabled,
button.takePhotoM:disabled {
    opacity: 0.5;
}

@media (orientation: landscape) and (max-height: 520px) {
    div#buttonDiv,
    div#buttonDivM {
        top: 0;
        bottom: 0;
        left: auto;
        right: calc(clamp(14px, 3vw, 34px) + env(safe-area-inset-right, 0px));
        flex-direction: column;
    }
}

div#waiting .flexbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 3vh, 26px);
    max-width: 480px;
    width: 100%;
}

svg.waitingIcon,
div#waiting .flexbox > svg {
    width: clamp(90px, 26vmin, 180px);
    height: auto;
    flex: 0 0 auto;
}

div#waiting .flexbox p {
    margin: 0;
    font-size: var(--fs-lg);
}

button.refresh,
button.refreshMobile {
    width: clamp(64px, 17vmin, 110px);
    height: clamp(64px, 17vmin, 110px);
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-accent-soft);
    border: 0;
    border-radius: 50%;
    flex: 0 0 auto;
}

button.refresh svg,
button.refreshMobile svg {
    width: 45%;
    height: 45%;
}

button.refresh:hover,
button.refreshMobile:hover {
    background-color: var(--color-hover);
    border: 0;
}

#blanc {
    position: fixed;
    inset: 0;
    padding: 0;
    margin: 0;
    background: rgba(255, 255, 255, 0.5);
    display: none;
    z-index: 10;
    pointer-events: none;
}

.pagination {
    display: flex;
    gap: 5px;
}

.pagination button {
    padding: 5px 12px;
    border: 1px solid var(--color-border, #E3E3E3);
    border-radius: 20px;
    background-color: var(--color-surface-alt, #F4F4F4);
    cursor: pointer;
    font-size: var(--fs-sm, 13px);
    transition: all 0.2s ease;
    color: var(--color-text);
    margin-bottom: 20px;
}

.subtitle-button {
    font-size: var(--fs-xs, 12px);
    font-weight: 600;
    background: none;
    border: none;
    color: var(--color-text);
}

.little-button{
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text);
}

.pagination button:hover {
    background-color: var(--color-hover, #ECECEC);
}

.pagination button.active {
    background-color: var(--color-accent-soft, #FFF5F1);
    border-color: var(--color-accent, #F8D4CB);
    font-weight: bold;
}

.popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 11;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.55);
}

.popup-content {
    box-sizing: border-box;
    background-color: var(--color-surface);
    margin: clamp(12px, 6vh, 60px) auto;
    padding: clamp(12px, 2.5vw, 20px);
    width: min(92vw, 520px);
    border: 1px solid var(--color-border);
    border-radius: 10px;
}

img#photoImg {
    display: block;
    width: 100%;
    max-height: 55vh;
    object-fit: contain;
    border-radius: 6px;
}

div.flexDivButtons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 8vw, 48px);
}

.flexDivButtons button,
button.buttonMobile {
    width: clamp(56px, 15vmin, 84px);
    height: clamp(56px, 15vmin, 84px);
    margin: clamp(12px, 3vh, 22px) 0 0 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-accent-soft);
    border: solid var(--color-border) 1px;
    border-radius: 50%;
}

.flexDivButtons button svg {
    width: 45%;
    height: 45%;
}

.flexDivButtons button:hover {
    background: var(--color-accent-strong);
}

@media (orientation: landscape) and (max-height: 520px) {
    .popup-content {
        margin: 10px auto;
    }

    img#photoImg {
        max-height: 45vh;
    }
}
