/* GEOCoop — estilos de las páginas (sin estilos en línea: CSP default-src 'self') */
:root {
    --texto: #1f2a2e;
    --suave: #5b6b70;
    --fondo: #f6f8f7;
    --marca: #1f5f4a;
    --borde: #d5dcd9;
    --aviso: #fff6d6;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--texto);
    background: var(--fondo);
    line-height: 1.5;
}

.barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: var(--marca);
}

.barra .marca { color: #fff; font-weight: 700; text-decoration: none; }

main { max-width: 64rem; margin: 0 auto; padding: 1rem; }

.pie {
    max-width: 64rem;
    margin: 2rem auto;
    padding: 0 1rem;
    display: flex;
    gap: 1rem;
    color: var(--suave);
    font-size: 0.875rem;
}

a { color: var(--marca); }

button, .boton {
    display: inline-block;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--marca);
    border-radius: 0.375rem;
    background: #fff;
    color: var(--marca);
    font: inherit;
    text-decoration: none;
    cursor: pointer;
}

.salir button { background: transparent; border-color: #fff; color: #fff; }

.proveedores, .lista { list-style: none; padding: 0; display: grid; gap: 0.5rem; }

.aviso { background: var(--aviso); border: 1px solid #e8d48a; border-radius: 0.375rem; padding: 0.75rem; }

.nota { color: var(--suave); font-size: 0.9rem; }

.menu { display: flex; gap: 1rem; margin: 1rem 0; }

table { width: 100%; border-collapse: collapse; background: #fff; }

th, td { border-bottom: 1px solid var(--borde); padding: 0.5rem; text-align: left; vertical-align: top; }

.semaforo { padding: 0.1rem 0.5rem; border-radius: 1rem; font-size: 0.85rem; }
.semaforo.verde { background: #dcefe3; }
.semaforo.amarillo { background: #fbecb7; }
.semaforo.rojo { background: #f4d2c9; }
.semaforo.cumplida { background: #e3e7e6; }

.en-linea { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 0.25rem; }

.formulario { display: grid; gap: 0.5rem; max-width: 32rem; }

.formulario label { display: grid; gap: 0.25rem; }

input { padding: 0.4rem; border: 1px solid var(--borde); border-radius: 0.25rem; font: inherit; }

.enlace { word-break: break-all; }

.invitaciones { margin: 0; padding-left: 1rem; }
