/* Generat amb bin/compilar-estils.php. Identitat: tema-duovia.css. */

/* acces-aplicacio */
:root {
    --acces-marca: #176fa3;
    --acces-marca-fosca: #12577f;
    --acces-marca-suau: #e9f4fa;
    --acces-tinta: #172231;
    --acces-silenci: #687687;
    --acces-linia: #dce4eb;
    --acces-fons: #eef4f8;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--acces-tinta);
    background: var(--acces-fons);
    font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--acces-fons); }
body {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    min-height: 100svh;
    color: var(--acces-tinta);
    background:
        radial-gradient(circle at 10% 8%, rgba(23, 111, 163, .13), transparent 31rem),
        radial-gradient(circle at 95% 92%, rgba(74, 153, 198, .10), transparent 34rem),
        var(--acces-fons);
}
button, input { font: inherit; }
a { color: inherit; }
.pagina-acces [data-lucide] {
    --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E");
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask: var(--acces-icona) center / contain no-repeat;
    mask: var(--acces-icona) center / contain no-repeat;
    vertical-align: -.12em;
}
.pagina-acces [data-lucide="arrow-left"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="arrow-right"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="arrow-up-right"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M7 7h10v10'/%3E%3C/svg%3E"); }
.pagina-acces :is([data-lucide="badge-check"], [data-lucide="file-check-2"], [data-lucide="folder-search-2"], [data-lucide="circle-check"]) { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="route"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M8 19h2a4 4 0 0 0 4-4V9a4 4 0 0 1 4-4'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="shield-check"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="sparkles"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.4 3.6L7 8l3.6 1.4L12 13l1.4-3.6L17 8l-3.6-1.4Z'/%3E%3Cpath d='m19 14-.8 2.2L16 17l2.2.8L19 20l.8-2.2L22 17l-2.2-.8Z'/%3E%3Cpath d='m5 14-.8 2.2L2 17l2.2.8L5 20l.8-2.2L8 17l-2.2-.8Z'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="mail"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="lock-keyhole"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v3'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="log-in"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpath d='m10 17 5-5-5-5'/%3E%3Cpath d='M15 12H3'/%3E%3C/svg%3E"); }
.pagina-acces :is([data-lucide="circle-help"], [data-lucide="circle-alert"], [data-lucide="clock-alert"]) { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="circle-user-round"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 20a6 6 0 0 0-12 0'/%3E%3Ccircle cx='12' cy='10' r='4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E"); }
.pagina-acces [data-lucide="building-2"] { --acces-icona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v8h20v-8a2 2 0 0 0-2-2h-2'/%3E%3Cpath d='M10 6h4M10 10h4M10 14h4M10 18h4'/%3E%3C/svg%3E"); }

.acces-salta { position: fixed; z-index: 20; top: 8px; left: 50%; padding: .7rem 1rem; border-radius: .7rem; color: #fff; background: var(--acces-marca-fosca); transform: translate(-50%, -150%); }
.acces-salta:focus { transform: translate(-50%, 0); }
.acces-retorn {
    position: fixed;
    z-index: 5;
    top: 24px;
    left: 28px;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 42px;
    padding: .6rem .9rem;
    border: 1px solid rgba(18, 87, 127, .14);
    border-radius: 999px;
    color: var(--acces-marca-fosca);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 25px rgba(22, 55, 79, .08);
    backdrop-filter: blur(12px);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: .035em;
}
.acces-retorn :is(svg, .bi) { width: 17px; height: 17px; }
.acces-retorn:hover { border-color: rgba(23, 111, 163, .35); background: #fff; transform: translateY(-1px); }
.acces-escenari { display: grid; place-items: center; min-height: 100vh; min-height: 100svh; padding: 76px 30px 30px; }
.acces-targeta {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    width: min(1180px, 100%);
    min-height: 690px;
    overflow: hidden;
    border: 1px solid rgba(27, 72, 104, .10);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(24, 60, 87, .16), 0 5px 18px rgba(24, 60, 87, .08);
}
.acces-targeta, .acces-formulari, .acces-cap, .acces-demo, .acces-demo__text, .acces-credencials, .acces-camp { min-width: 0; }
.acces-demo__text { overflow-wrap: anywhere; }

.acces-presentacio { position: relative; min-height: 690px; overflow: hidden; background: #145c85; }
.acces-imatge { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acces-presentacio::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(7, 46, 75, .82) 0%, rgba(10, 67, 102, .50) 43%, rgba(7, 46, 75, .04) 76%), linear-gradient(0deg, rgba(5, 38, 62, .66), transparent 58%); }
.acces-presentacio__contingut { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; padding: 46px 48px 50px; color: #fff; }
.acces-marca { display: flex; align-items: center; gap: .75rem; width: fit-content; }
.acces-marca__simbol { display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(4, 36, 57, .20); }
.acces-marca__simbol img { width: 100%; height: 100%; display: block; }
.acces-marca__nom { color: #18364d; font-size: 1.48rem; font-weight: 780; letter-spacing: -.045em; }
.acces-marca__nom span { color: #2689c2; }
.acces-marca--clara .acces-marca__nom { color: #fff; text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
.acces-marca--clara .acces-marca__nom span { color: #9ddcff; }
.acces-marca--mobil { display: none; margin-bottom: 2rem; }
.acces-presentacio__missatge { max-width: 500px; }
.acces-sobrelinia, .acces-cap__sobrelinia { margin: 0 0 .65rem; text-transform: uppercase; font-size: .74rem; font-weight: 800; letter-spacing: .12em; }
.acces-sobrelinia { color: #b5e5ff; }
.acces-presentacio h1 { max-width: 520px; margin: 0; font-size: clamp(2.15rem, 3.8vw, 3.55rem); line-height: 1; letter-spacing: -.055em; text-wrap: balance; }
.acces-presentacio__missatge > p:not(.acces-sobrelinia) { max-width: 450px; margin: 1.15rem 0 0; color: rgba(255, 255, 255, .86); font-size: 1.02rem; line-height: 1.65; }
.acces-avantatges { display: flex; flex-wrap: wrap; gap: .65rem 1rem; padding: 0; margin: 1.45rem 0 0; list-style: none; }
.acces-avantatges li { display: inline-flex; align-items: center; gap: .38rem; font-size: .81rem; font-weight: 700; }
.acces-avantatges :is(svg, .bi) { width: 16px; height: 16px; color: #b5e5ff; }

.acces-formulari { display: flex; flex-direction: column; justify-content: center; padding: 42px clamp(34px, 4vw, 58px); background: #fff; }
.acces-cap__sobrelinia { color: var(--acces-marca); }
.acces-cap h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.35rem); line-height: 1.08; letter-spacing: -.045em; }
.acces-cap > p:last-child { margin: .75rem 0 0; color: var(--acces-silenci); line-height: 1.55; }
.acces-tria { display: grid; gap: .85rem; margin-top: 1.65rem; }
.acces-tria__opcio {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    min-height: 86px;
    padding: 1rem 1.05rem;
    border: 1px solid #d5e1e9;
    border-radius: 17px;
    color: var(--acces-tinta);
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 60, 87, .055);
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.acces-tria__opcio:hover { border-color: rgba(23, 111, 163, .55); box-shadow: 0 12px 30px rgba(23, 111, 163, .12); transform: translateY(-2px); }
.acces-tria__icona { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #1b86bd, #176fa3); box-shadow: 0 9px 20px rgba(23, 111, 163, .2); }
.acces-tria__icona--administracio { background: linear-gradient(145deg, #24546f, #173b53); }
.acces-tria__icona [data-lucide] { width: 23px; height: 23px; }
.acces-tria__text { display: grid; gap: .22rem; min-width: 0; }
.acces-tria__text strong { font-size: 1rem; letter-spacing: -.015em; }
.acces-tria__text small { color: var(--acces-silenci); font-size: .79rem; line-height: 1.4; }
.acces-tria__fletxa { color: var(--acces-marca); transition: transform .18s ease; }
.acces-tria__opcio:hover .acces-tria__fletxa { transform: translateX(3px); }
.acces-tria__nota { display: flex; align-items: center; justify-content: center; gap: .4rem; margin: 1.25rem 0 0; color: var(--acces-silenci); font-size: .73rem; text-align: center; }
.acces-tria__nota [data-lucide] { color: var(--acces-marca); }
.acces-demo { display: grid; grid-template-columns: auto 1fr; gap: .25rem .85rem; margin-top: 1.55rem; padding: 1.15rem; border: 1px solid rgba(23, 111, 163, .22); border-radius: 18px; background: linear-gradient(135deg, #f1f8fc, #e6f3fa); }
.acces-demo__icona { display: grid; place-items: center; grid-row: 1 / span 2; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: var(--acces-marca); box-shadow: 0 8px 18px rgba(23, 111, 163, .20); }
.acces-demo__icona :is(svg, .bi) { width: 20px; height: 20px; }
.acces-demo__text p { margin: 0 0 .15rem; color: var(--acces-marca-fosca); text-transform: uppercase; font-size: .66rem; font-weight: 800; letter-spacing: .09em; }
.acces-demo__text h3 { margin: 0; font-size: 1.05rem; letter-spacing: -.018em; }
.acces-demo__text span { display: block; margin-top: .28rem; color: #5c7080; font-size: .82rem; line-height: 1.42; }
.acces-demo__boto { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 46px; margin-top: .75rem; padding: .7rem .9rem; border-radius: 12px; color: #fff; background: var(--acces-marca); box-shadow: 0 8px 20px rgba(23, 111, 163, .18); text-decoration: none; font-size: .9rem; font-weight: 760; }
.acces-demo__boto :is(svg, .bi) { width: 18px; height: 18px; transition: transform .18s ease; }
.acces-demo__boto:hover { background: var(--acces-marca-fosca); }
.acces-demo__boto:hover :is(svg, .bi) { transform: translateX(3px); }
.acces-separador { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 0; color: #859198; font-size: .7rem; text-align: center; }
.acces-separador::before, .acces-separador::after { content: ""; flex: 1; height: 1px; background: var(--acces-linia); }
.acces-flash { display: flex; align-items: flex-start; gap: .55rem; margin: 0 0 .85rem; padding: .75rem .85rem; border: 1px solid #b7d9c3; border-radius: 11px; color: #27653b; background: #f0faf3; font-size: .83rem; }
.acces-flash--error { border-color: #f2b9b6; color: #932c28; background: #fff2f1; }
.acces-flash--info { border-color: #b9d8ea; color: #235d7c; background: #eff8fd; }
.acces-flash :is(svg, .bi) { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; }
.acces-flash p { margin: 0; }
.acces-credencials { display: grid; gap: .95rem; }
.acces-credencials--separades { margin-top: 1.65rem; }
.acces-credencials--valid { margin-top: 0; }
.acces-camp label { display: block; margin-bottom: .4rem; color: #354654; font-size: .78rem; font-weight: 720; }
.acces-camp__control { position: relative; display: block; }
.acces-camp__control > :is(svg, .bi, [data-lucide]) { position: absolute; top: 50%; left: .9rem; width: 18px; height: 18px; color: #82909c; transform: translateY(-50%); pointer-events: none; }
.acces-camp input { width: 100%; height: 48px; padding: 0 .9rem 0 2.75rem; border: 1px solid #cfd9e1; border-radius: 11px; outline: 0; color: var(--acces-tinta); background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
.acces-camp input:hover { border-color: #aab9c4; }
.acces-camp input:focus { border-color: var(--acces-marca); box-shadow: 0 0 0 4px rgba(23, 111, 163, .12); }
.acces-entrar { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 49px; margin-top: .2rem; border: 0; border-radius: 11px; color: #fff; background: #183b54; box-shadow: 0 8px 18px rgba(24, 59, 84, .16); cursor: pointer; font-weight: 760; }
.acces-entrar :is(svg, .bi) { width: 18px; height: 18px; }
.acces-entrar:hover { background: #102e43; transform: translateY(-1px); }
.acces-alternatiu { display: flex; flex-wrap: wrap; justify-content: center; gap: .28rem .55rem; margin: 1rem 0 0; color: var(--acces-silenci); font-size: .76rem; text-align: center; }
.acces-alternatiu a { display: inline-flex; align-items: center; gap: .2rem; color: var(--acces-marca-fosca); font-weight: 750; text-decoration: none; }
.acces-alternatiu a:hover { text-decoration: underline; }
.acces-alternatiu :is(svg, .bi) { width: 14px; height: 14px; }
.acces-alternatiu--retorn { margin-top: 1.35rem; }
.acces-joana { margin-top: 1.35rem; }
.acces-joana__boto {
    display: grid;
    width: 100%;
    min-height: 94px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: .95rem 1rem;
    border: 1px solid #b9d6e4;
    border-radius: 17px;
    color: var(--acces-tinta);
    background: linear-gradient(145deg, #fff, #f3f9fc);
    box-shadow: 0 9px 25px rgba(23, 111, 163, .09);
    cursor: pointer;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.acces-joana__boto:hover { border-color: var(--acces-marca); box-shadow: 0 14px 32px rgba(23, 111, 163, .16); transform: translateY(-2px); }
.acces-joana__logo { display: grid; width: 56px; height: 56px; place-items: center; padding: .55rem; border: 1px solid #dce8ee; border-radius: 15px; background: #fff; box-shadow: 0 6px 16px rgba(24, 60, 87, .1); }
.acces-joana__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.acces-joana__text { display: grid; min-width: 0; gap: .14rem; }
.acces-joana__text strong { color: #122c3e; font-size: 1rem; letter-spacing: -.015em; }
.acces-joana__text small { color: var(--acces-silenci); font-size: .73rem; line-height: 1.35; }
.acces-joana__text small:last-child { color: var(--acces-marca-fosca); font-size: .66rem; font-weight: 700; }
.acces-joana__boto > [data-lucide] { width: 20px; height: 20px; color: var(--acces-marca); transition: transform .18s ease; }
.acces-joana__boto:hover > [data-lucide] { transform: translateX(3px); }
.acces-gestor-demo__icona { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #24546f, #173b53); box-shadow: 0 7px 18px rgba(23,59,83,.2); }
.acces-gestor-demo__icona :is(svg,.bi) { width: 24px; height: 24px; }
.acces-gestor-demo + .acces-separador { margin-bottom: 0; }
.acces-gestor-demo + .acces-separador + .acces-credencials--separades { margin-top: 1.25rem; }
.acces-separador--valid { margin: 1.15rem 0; }

/* Simulació visual de la connexió amb VÀLid/idCAT abans d'enviar el formulari. */
.aoc-overlay {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: none;
    place-items: center;
    padding: 1.25rem;
    background: rgba(8, 37, 56, .64);
    backdrop-filter: blur(8px);
}
.aoc-overlay.visible { display: grid; animation: aoc-fade .2s ease; }
@keyframes aoc-fade { from { opacity: 0; } to { opacity: 1; } }
.aoc-card {
    width: min(410px, 100%);
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(2, 24, 39, .3);
    text-align: center;
}
.aoc-card__logo { display: block; width: 68px; height: 68px; margin: 0 auto .7rem; object-fit: contain; }
.aoc-spinner { width: 34px; height: 34px; margin: 0 auto .8rem; border: 3px solid #d9e8ef; border-top-color: var(--acces-marca); border-radius: 50%; animation: aoc-spin .8s linear infinite; }
@keyframes aoc-spin { to { transform: rotate(360deg); } }
.aoc-card__titol { margin: .2rem 0 .35rem; color: var(--acces-tinta); font-size: 1.2rem; }
.aoc-card__pas { min-height: 1.5em; margin: .25rem 0 1.1rem; color: var(--acces-silenci); font-size: .9rem; }
.aoc-card__barra { height: 7px; overflow: hidden; border-radius: 999px; background: #dce7ed; }
.aoc-card__barra span { display: block; width: 6%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--acces-marca-fosca), #35a4d4); transition: width .45s ease; }
.aoc-card__peu { margin: .9rem 0 0; color: #78909d; font-size: .7rem; }
.acces-legal { margin: 1rem 0 0; color: #788793; font-size: .72rem; text-align: center; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid rgba(23, 111, 163, .34); outline-offset: 3px; }

@media (max-width: 980px) {
    .acces-escenari { padding: 78px 22px 28px; }
    .acces-targeta { grid-template-columns: 1fr; width: min(590px, 100%); min-height: 0; }
    .acces-presentacio { display: none; }
    .acces-formulari { padding: 42px clamp(26px, 8vw, 54px); }
    .acces-marca--mobil { display: flex; }
}
@media (max-width: 560px) {
    body { overflow-x: hidden; }
    .acces-retorn { top: 15px; left: 16px; }
    .acces-escenari { place-items: start center; width: 100%; padding: 70px 12px 22px; }
    .acces-targeta { width: 100%; max-width: 100%; border-radius: 20px; }
    .acces-formulari { padding: 30px 22px 32px; }
    .acces-marca--mobil { margin-bottom: 1.6rem; }
    .acces-demo { padding: 1rem; }
    .acces-tria__opcio { min-height: 78px; padding: .85rem; }
    .acces-tria__icona { width: 44px; height: 44px; }
    .acces-joana__boto { gap: .7rem; padding: .85rem; }
    .acces-joana__logo { width: 48px; height: 48px; padding: .45rem; }
    .acces-separador span { max-width: 185px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* tema-duovia */
/* Identitat compartida amb Convoca360 i Contrata360. */
:root,body.app-shell--civitas,body.pagina-acces {
 --color-primari:#0a7a68;--color-primari-fosc:#086252;--color-primari-clar:#edf7f4;--color-secundari:#0a7a68;--color-secundari-fosc:#086252;
 --color-text:#222d3c;--color-text-suau:#67717e;--color-fons:#f8f7f5;--color-vora:#e8e4e1;
 --civitas:#0a7a68;--civitas-hover:#086252;--civitas-dark:#086252;--civitas-night:#222d3c;--civitas-soft:#edf7f4;--civitas-pale:#f8f7f5;--civitas-ink:#222d3c;--civitas-muted:#67717e;--civitas-line:#e8e4e1;
 --duovia-accent:#0a7a68;--duovia-accent-dark:#086252;--duovia-accent-soft:#edf7f4;--duovia-text:#222d3c;--duovia-muted:#67717e;--duovia-bg:#f8f7f5;--duovia-line:#e8e4e1;
 --acces-marca:#0a7a68;--acces-marca-fosca:#086252;--acces-marca-suau:#edf7f4;--acces-tinta:#222d3c;--acces-silenci:#67717e;--acces-linia:#e8e4e1;--acces-fons:#f8f7f5;
 --grad-marca:linear-gradient(#0a7a68,#0a7a68);--grad-fosc:linear-gradient(#222d3c,#222d3c);--grad-hero:linear-gradient(#f8f7f5,#f8f7f5);
 --ombra:0 4px 16px #222d3c05;--ombra-suau:0 4px 16px #222d3c05;--civitas-shadow:0 4px 16px #222d3c05;--civitas-lateral-amplada:260px;
 font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#222d3c;background:#f8f7f5;font-size:15px;line-height:1.55;
}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}img,svg{max-width:100%}
body :focus-visible{outline:3px solid #0a7a68;outline-offset:3px}body a{color:#0a7a68}body a:hover{color:#086252}
.d360-brand{display:inline-flex;align-items:center;gap:12px;color:#222d3c;font:400 25px/1.05 system-ui,sans-serif;letter-spacing:-.7px;white-space:nowrap;text-decoration:none}
.d360-mark{display:grid;place-items:center;width:44px;height:46px;flex:0 0 44px;border-radius:12px;background:#0a7a68;color:#fff;font-weight:800;letter-spacing:0}
.d360-word strong{color:#0a7a68;font-weight:750}.d360-word small{display:block;font:400 10px/1 system-ui,sans-serif;letter-spacing:2px;margin-top:8px;color:#222d3c}
body.app-shell.app-shell--civitas :is(h1,h2,h3,h4,legend){font-family:inherit;color:#222d3c;font-weight:600;letter-spacing:-.025em}
body.app-shell.app-shell--civitas h1{font-size:clamp(28px,2.5vw,40px);line-height:1.15}
body.app-shell.app-shell--civitas :is(.civitas-workspace,.bo,.bo__principal,.civitas-workspace__principal){background:#f8f7f5;min-width:0}
body.app-shell.app-shell--civitas :is(.civitas-lateral,.bo__lateral.civitas-lateral){background:#fff;color:#222d3c;border-right:1px solid #e8e4e1;box-shadow:none;scrollbar-width:thin}
body.app-shell.app-shell--civitas .civitas-lateral__cap{background:#fff;padding:26px 20px;border-color:#eee9e6}
body.app-shell.app-shell--civitas .civitas-lateral .marca{padding:0;border:0;background:transparent;box-shadow:none;height:auto;min-height:46px;text-decoration:none}
body.app-shell.app-shell--civitas .civitas-lateral nav :is(a,summary){color:#67717e;background:transparent;border:1px solid transparent;border-radius:8px;box-shadow:none;font-size:13px;font-weight:500;min-height:40px}
body.app-shell.app-shell--civitas .civitas-lateral nav :is(a,summary):hover{background:#f6fbf9;color:#0a7a68;transform:none}
body.app-shell.app-shell--civitas .civitas-lateral nav a.actiu{background:#edf7f4;color:#0a7a68;border-color:#e0f2ec;font-weight:650;box-shadow:none}
body.app-shell.app-shell--civitas .civitas-lateral nav :is(a,summary) :is(svg,i){background:transparent;color:inherit;box-shadow:none;border:0}
body.app-shell.app-shell--civitas :is(.civitas-lateral__titol,.bo__menu .grup){color:#8b7a80;font-size:10px;letter-spacing:1.3px;opacity:1}
body.app-shell.app-shell--civitas .civitas-lateral__peu{background:#fff;border-color:#eee9e6;color:#817781}
body.app-shell.app-shell--civitas .marca-duovia p{color:#817781}body.app-shell--civitas .marca-duovia img{max-height:32px;object-fit:contain;opacity:.75}
body.app-shell.app-shell--civitas :is(.civitas-superior,.bo__barra){background:#fff;border-color:#e8e4e1;box-shadow:none;min-height:70px}
body.app-shell.app-shell--civitas :is(.civitas-superior__segell,.civitas-superior__estat){color:#0a7a68;background:#edf7f4;box-shadow:none;border:0}
body.app-shell.app-shell--civitas :is(.civitas-sessio,.bo__usuari){background:#f7faf9;color:#222d3c;border:1px solid #dfeae6;box-shadow:none}
body.app-shell.app-shell--civitas .civitas-sessio :is(strong,p,small,a){color:#67717e}body.app-shell.app-shell--civitas .civitas-sessio strong{color:#222d3c}
body.app-shell.app-shell--civitas .civitas-sessio__avatar{color:#0a7a68;background:#dff2eb;border:0;box-shadow:none}
body.app-shell.app-shell--civitas :is(.bo__cos,.contingut){padding:30px 32px 48px;min-width:0}
body.app-shell.app-shell--civitas :is(.hero,.hero--amb-imatge,.cap-pagina,.capcalera-pagina,.carpeta-cap,.gestio-cap){background:transparent;color:#222d3c;box-shadow:none;border:0;border-radius:0;padding:0;margin-bottom:28px;min-height:0}
body.app-shell.app-shell--civitas :is(.hero,.cap-pagina,.carpeta-cap,.gestio-cap)::before,body.app-shell.app-shell--civitas :is(.hero,.cap-pagina,.carpeta-cap,.gestio-cap)::after{display:none}
body.app-shell.app-shell--civitas .hero__visual{display:none}body.app-shell.app-shell--civitas .hero{display:block;grid-template-columns:1fr}body.app-shell.app-shell--civitas .hero__contingut{padding:0;width:100%;max-width:100%}
body.app-shell.app-shell--civitas .hero :is(h1,h2){color:#222d3c;text-shadow:none;max-width:100%}body.app-shell.app-shell--civitas .hero p{color:#67717e;text-shadow:none}
body.app-shell.app-shell--civitas :is(.targeta,.indicador,.panell,.bloc,.tauler-widget){background:#fff;color:#222d3c;border:1px solid #e8e4e1;border-radius:14px;box-shadow:0 4px 16px #222d3c03}
body.app-shell.app-shell--civitas .targeta__capcalera{background:#fff;border-color:#eee9e6;color:#222d3c}
body.app-shell.app-shell--civitas :is(.boto--primari,.boto--secundari){background:#0a7a68;color:#fff;border-color:#0a7a68;border-radius:8px;box-shadow:none;font-weight:600;filter:none}
body.app-shell.app-shell--civitas :is(.boto--primari,.boto--secundari):hover{background:#086252;box-shadow:none;filter:none;transform:none}
body.app-shell.app-shell--civitas :is(.boto--contorn,.boto--clar){background:#fff;color:#0a7a68;border-color:#d5e3de;border-radius:8px;box-shadow:none}
body.app-shell.app-shell--civitas :is(input,select,textarea){color:#222d3c;border-color:#dedad7;border-radius:8px;box-shadow:none;max-width:100%;accent-color:#0a7a68}
body.app-shell.app-shell--civitas :is(input,select,textarea):focus{border-color:#0a7a68;box-shadow:0 0 0 3px #0a7a6812}
body.app-shell.app-shell--civitas th{background:#faf8f7;color:#776b71;border-color:#e8e4e1}body.app-shell.app-shell--civitas td{border-color:#f0eeec}body.app-shell.app-shell--civitas tbody tr:hover{background:#fafcfb}
body.app-shell.app-shell--civitas .taula-contenidor{overflow-x:auto;background:#fff;border:1px solid #e8e4e1;border-radius:12px;box-shadow:none}
body.app-shell.app-shell--civitas :is(.hero__promeses span,.pas__icona,.indicador__icona){background:#edf7f4;color:#0a7a68;border-color:#deece6;box-shadow:none}
.d360-demo-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d5e6df;border-radius:8px;color:#0a7a68;background:#fff;text-decoration:none;font-size:13px;font-weight:600}
.d360-demo-nota{font-size:12px;color:#776b71;margin:0 0 24px;padding:12px 16px;border:1px solid #dfeae6;border-radius:8px;background:#f8fcfa}.d360-demo-nota strong{color:#0a7a68;margin-right:8px}.d360-demo-nota a{display:inline-block;margin-left:8px}
body.pagina-acces{background:#f8f7f5}body.pagina-acces .acces-targeta{background:#fff;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);width:min(1160px,100%);min-height:640px;border:1px solid #e8e4e1;border-radius:20px;box-shadow:0 14px 45px #222d3c08}
body.pagina-acces .acces-presentacio{background:#f0f7f4;min-height:0;color:#222d3c}body.pagina-acces .acces-imatge,body.pagina-acces .acces-presentacio::after{display:none}
body.pagina-acces .acces-presentacio__contingut{display:flex;flex-direction:column;justify-content:space-between;gap:64px;padding:48px;min-height:100%}
body.pagina-acces .acces-marca{background:transparent;border:0;box-shadow:none;padding:0;backdrop-filter:none}
body.pagina-acces .acces-presentacio__missatge{background:transparent;box-shadow:none;border:0;margin:0;padding:0}
body.pagina-acces .acces-sobrelinia{color:#0a7a68}body.pagina-acces .acces-presentacio h1{color:#222d3c;font-size:38px;font-weight:600;line-height:1.15;text-shadow:none}
body.pagina-acces .acces-presentacio__missatge>p:not(.acces-sobrelinia){color:#67717e;text-shadow:none}body.pagina-acces .acces-avantatges{border-color:#d9e7e1}body.pagina-acces .acces-avantatges li{color:#43574f}body.pagina-acces .acces-avantatges i{color:#0a7a68}
body.pagina-acces .acces-formulari{background:#fff;padding:40px 48px}body.pagina-acces .acces-formulari::before{display:none}
body.pagina-acces :is(.acces-entrar,.acces-demo__boto){background:#0a7a68;box-shadow:none;color:#fff}body.pagina-acces :is(.acces-tria__perfil,.acces-perfil-gestio){background:#fff;border-color:#dce8e3;box-shadow:none}body.pagina-acces :is(.acces-tria__inicial,.acces-perfil-gestio__inicial){background:#edf7f4;color:#0a7a68;box-shadow:none}
@media(max-width:980px){body.pagina-acces .acces-targeta{grid-template-columns:1fr;width:min(620px,100%);min-height:0}body.pagina-acces .acces-presentacio{display:block}body.pagina-acces .acces-presentacio__contingut{padding:28px;gap:0}body.pagina-acces .acces-presentacio__missatge{display:none}body.pagina-acces .acces-formulari{padding:28px}}
@media(max-width:600px){body.app-shell.app-shell--civitas :is(.bo__cos,.contingut){padding:24px 14px 40px}.d360-brand{font-size:23px}body.pagina-acces .acces-escenari{padding:12px}body.pagina-acces .acces-formulari{padding:22px}.d360-demo-link{font-size:12px}}
body.app-shell.app-shell--civitas :is(.civitas-superior,.bo__barra)::before{display:none}
body.app-shell.app-shell--civitas .visita-contextual__llancador>button{background:#0a7a68;border-color:#0a7a68;box-shadow:0 4px 16px #222d3c15}
body.app-shell.app-shell--civitas .procediment-guiat__llancador>button{color:#0a7a68;background:#fff;border-color:#d5e6df}
body.app-shell.app-shell--civitas :is(.visita-contextual__pas,[data-visita-seguent],.visita-contextual__progres span[aria-current="step"]){background:#0a7a68;color:#fff}
body.civitas-menu-obert :is(.visita-contextual__llancador,.procediment-guiat__llancador){visibility:hidden}
body.app-shell.app-shell--civitas .procediment-guiat__llancador :is(strong,small,svg){color:#0a7a68}
@media(max-width:600px){body.app-shell.app-shell--civitas :is(.visita-contextual__llancador,.procediment-guiat__llancador){position:static;margin:12px 14px;transform:none}body.app-shell.app-shell--civitas :is(.visita-contextual__llancador,.procediment-guiat__llancador)>button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
