        :root,
        :host {
            --pico-spacing: 1rem;
            --pico-typography-spacing-vertical: .2rem;
            --pico-grid-row-gap: 0;
            --pico-form-element-spacing-vertical: 0.5rem;
            --pico-line-height: 1.3;
            --pico-font-size: 90%;
            --pico-primary: #409614;
            --pico-primary-background: #409614;
            --pico-primary-border: var(--pico-primary-background);
        }

        button {
            --pico-font-weight: 600;
        }

        .menu {
            display: flex;
            gap: 2px;
            background-color: #eee;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }

        .menu input[type="radio"] {
            opacity: 0;
            position: absolute;
        }

        .menu label {
            padding: .4rem 1rem;
            background: #eee;
            border: 0px solid #ccc;
            cursor: pointer;
            border-radius: 4px;
            transition: background 0.3s;
        }

        .menu input[type="radio"]:checked+label {
            background: #c2d9f1;
            color: #444;
        }

        td,
        th {
            padding: .5rem 1rem;
        }

        .align-center {
            text-align: center;
        }

        .align-right {
            text-align: right;
        }

        .overlayer {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            background-color: rgba(230, 230, 230, .6);
            height: 100vh;
        }

        .panel-lateral {
            position: fixed;
            top: 0;
            right: 0;
            width: 45%;
            min-width: 500px;
            background-color: #f9f9f9;

            border-left-style: groove;
            border-color: #eee;
            height: 100vh;
            padding: 1rem 3rem;
            overflow: auto;
        }

        .btn {
            background-color: #0172ad;
            color: white;
            padding: .4rem .7rem;
            text-align: center;
            line-height: 1.3;
            font-size: 1rem;
            border-radius: 5px;
            cursor: pointer;
        }

        .btn:hover {
            background-color: #017fc0;
        }

        .fancy-link {
            color: steelblue;
            cursor: pointer;
            padding: 1rem .4rem;
            font-size: 1.1rem;
        }

        .fancy-link:hover {
            font-size: 1.2rem;
            text-decoration-line: underline;
        }

        #generando {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #fafafa;
            display: none;
            justify-content: center;
            align-items: center;
            font-size: 1.4rem;
        }

        .mx-1 {
            margin-left: 1rem;
            margin-right: 1rem;
        }
        
        #spinner{
            position: fixed;
            top: 0;
            left: 0;
            height: 100vh;
            width: 100vw;
            background-color: rgba(200,200,200, 0.3);
            display: flex;
            justify-content: center;
            align-items: center;
            visibility: hidden;
        }
        
        .htmx-indicator {
            position: fixed;
            top: 0;
            left: 0;
            height: 100vh;
            width: 100vw;
            background-color: rgba(200,200,200, 0.3);
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            visibility: hidden;
        }
        .htmx-request .htmx-indicator,
        .htmx-request.htmx-indicator {
            opacity: 1;
            visibility: visible;
        }