* {
    box-sizing: border-box;
}

body {

    margin:0;
    min-height:100vh;

    padding:40px 20px;

    font-family:
    "Segoe UI",
    Arial,
    sans-serif;

    color:#f8fafc;

    text-align:center;


    background:
    linear-gradient(
        135deg,
        #020617,
        #0b1f3a,
        #111827
    );

}


/* LOGO */

.logo-container {

    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-bottom:30px;
    flex-wrap:wrap;

}


.logo-img {

    width:120px;
    height:120px;

    object-fit:contain;

    filter:
    drop-shadow(0 0 12px rgba(37,99,235,.8));

    transition:.3s;

}


.logo-img:hover {

    transform:scale(1.05);

    filter:
    drop-shadow(0 0 20px #2563eb);

}



/* NOMBRE LINKGUARD */

.logo-text {

    font-size:52px;

    font-weight:900;

    letter-spacing:2px;

    color:#f8fafc;


    text-shadow:

    0 0 10px rgba(37,99,235,.8),
    0 0 25px rgba(37,99,235,.4);

}


/* TITULO */

h1 {

    font-size:34px;

    color:#e2e8f0;

}


p {

    color:#cbd5e1;

}



/* INPUT */

input {

    width:90%;

    max-width:500px;


    padding:16px;


    border-radius:12px;


    border:

    1px solid #334155;


    background:#020617;


    color:white;


    font-size:16px;

}


input:focus {

    outline:none;

    border-color:#2563eb;

    box-shadow:
    0 0 10px rgba(37,99,235,.5);

}



/* BOTON */

button {

    margin-top:15px;

    padding:14px 45px;


    border:none;


    border-radius:12px;


    background:#2563eb;


    color:white;


    font-weight:bold;


    font-size:16px;


    cursor:pointer;


    transition:.3s;

}


button:hover {

    background:#1d4ed8;

    transform:translateY(-2px);

}



/* PANEL RESULTADOS */

#resultado {

    max-width:800px;

    margin:35px auto;


    padding:30px;


    background:

    rgba(15,23,42,.85);


    border-radius:20px;


    border:

    1px solid #334155;


    box-shadow:

    0 15px 40px rgba(0,0,0,.4);


    text-align:left;

}



/* TITULOS DEL PANEL */

#resultado h2 {

    text-align:center;

    color:#60a5fa;

}


#resultado h3 {

    color:#93c5fd;

}



/* MAPA */

#map {

    height:350px;

    width:100%;

    border-radius:15px;

    margin-top:20px;


    border:

    1px solid #2563eb;

}



/* MOVIL */

@media(max-width:600px){

.logo-text{

font-size:36px;

}

h1{

font-size:24px;

}


}
/* =========================
   RESULTADO PROFESIONAL
========================= */


.result-panel {

    background:#0f172a;

    padding:30px;

    border-radius:20px;

    border:1px solid #334155;

    box-shadow:
    0 15px 40px rgba(0,0,0,.4);

}



.result-panel h2 {

    text-align:center;

    color:#60a5fa;

    margin-bottom:30px;

}



.info-grid {

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}



.info-card {

    background:#111827;

    border:1px solid #334155;

    padding:18px;

    border-radius:15px;

    transition:.3s;

}



.info-card:hover {

    transform:translateY(-5px);

    border-color:#2563eb;

}



.info-card span {

    display:block;

    color:#94a3b8;

    font-size:14px;

    margin-bottom:8px;

}



.info-card strong {

    color:#f8fafc;

    font-size:17px;

    word-break:break-word;

}



.section-box {

    margin-top:25px;

    padding:20px;

    background:#020617;

    border-radius:15px;

    border:1px solid #1e293b;

}



.section-box h3 {

    color:#93c5fd;

}



.map-box {

    height:350px;

    margin-top:15px;

    border-radius:15px;

    overflow:hidden;

    border:1px solid #2563eb;

}
.user-menu {

    position:absolute;

    top:20px;

    right:30px;

    display:flex;

    gap:15px;

}


.user-menu a {

    color:#93c5fd;

    text-decoration:none;

    font-weight:bold;

}


.user-menu a:hover {

    color:white;

}
/* =========================
   MENU DE USUARIO
========================= */

/* =========================
   BOTONES DE USUARIO
========================= */


.user-menu {

    position:absolute;

    top:25px;

    right:35px;

    display:flex;

    gap:15px;

    z-index:1000;

}



.user-menu a {

    text-decoration:none;

    padding:12px 22px;

    border-radius:14px;

    font-size:15px;

    font-weight:700;

    letter-spacing:.3px;

    transition:.3s;

    backdrop-filter:blur(10px);

}



/* LOGIN */

.btn-login {


    color:#e2e8f0;

    background:

    rgba(15,23,42,.8);


    border:

    1px solid #3b82f6;


    box-shadow:

    0 5px 20px rgba(0,0,0,.3);


}



.btn-login:hover {


    background:#1e40af;


    color:white;


    transform:

    translateY(-3px);


    box-shadow:

    0 8px 25px rgba(37,99,235,.5);


}



/* REGISTRO */


.btn-register {


    color:white;


    background:

    linear-gradient(
        135deg,
        #2563eb,
        #1d4ed8
    );


    border:

    1px solid #60a5fa;


    box-shadow:

    0 5px 20px rgba(37,99,235,.35);


}



.btn-register:hover {


    background:

    linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    );


    transform:

    translateY(-3px);


    box-shadow:

    0 10px 30px rgba(37,99,235,.6);


}



/* EFECTO AL HACER CLICK */


.user-menu a:active {

    transform:scale(.95);

}



/* CELULAR */


@media(max-width:600px){


.user-menu {

    position:relative;

    top:auto;

    right:auto;

    justify-content:center;

    margin-bottom:20px;

}


}
/* =========================
   REGISTRO DE USUARIO
========================= */


.register-container {

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

}



.register-card {


    width:100%;

    max-width:430px;


    padding:35px;


    background:#0f172a;


    border-radius:25px;


    border:1px solid #334155;


    box-shadow:
    0 20px 50px rgba(0,0,0,.5);


}



.register-card .logo-container {

    margin-bottom:15px;

}



.register-card h1 {

    color:#60a5fa;

    font-size:30px;

}



.register-card label {


    display:block;

    text-align:left;

    color:#cbd5e1;

    margin-top:15px;

    margin-bottom:5px;


}



.register-card input {


    width:100%;

    max-width:none;


}



.register-card button {


    width:100%;

    margin-top:25px;


}



.login-link {


    margin-top:25px;

    font-size:15px;


}



.login-link a {


    color:#60a5fa;

    text-decoration:none;

    font-weight:bold;


}
/* =========================
   DASHBOARD
========================= */


.dashboard {

    max-width:1000px;

    margin:auto;

}



.dashboard-header {

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.logout {

    background:#dc2626;

    color:white;

}



.stats {

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

    margin-top:30px;

}



.stat-card {


    background:#0f172a;

    padding:25px;

    border-radius:20px;

    border:1px solid #334155;


}



.stat-card span {

    color:#94a3b8;

}



.stat-card strong {

    display:block;

    font-size:40px;

    margin-top:10px;

    color:#60a5fa;

}



.actions {

    margin-top:30px;

    display:flex;

    gap:20px;

    justify-content:center;

    flex-wrap:wrap;

}



.actions a {


    padding:15px 25px;

    background:#2563eb;

    color:white;

    border-radius:15px;

    text-decoration:none;

    font-weight:bold;


}



.history {


    margin-top:40px;

    background:#0f172a;

    padding:25px;

    border-radius:20px;

    border:1px solid #334155;


}



.history-item {


    display:flex;

    justify-content:space-between;

    padding:15px;

    border-bottom:1px solid #334155;


}



.safe {

    color:#22c55e;

}



.danger {

    color:#ef4444;

}
/* =========================
   TITULO DEL RESULTADO
========================= */

.result-title{

    text-align:center;

    margin-bottom:30px;

}

.result-title h2{

    color:#60a5fa;

    margin-bottom:8px;

}

.result-title span{

    color:#94a3b8;

    font-size:15px;

}

/* =========================
   TARJETAS
========================= */

.info-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

.info-card{

    background:#111827;

    border:1px solid #334155;

    border-radius:15px;

    padding:18px;

    transition:.3s;

}

.info-card:hover{

    transform:translateY(-4px);

    border-color:#2563eb;

}

.info-card small{

    display:block;

    color:#94a3b8;

    margin-bottom:10px;

    font-size:14px;

}

.info-card strong{

    display:block;

    color:white;

    font-size:18px;

    word-break:break-word;

}

.risk-card{

    border:2px solid #2563eb;

}

/* =========================
   SECCIONES
========================= */

.section-result{

    margin-top:30px;

    padding:20px;

    background:#020617;

    border:1px solid #334155;

    border-radius:15px;

}

.section-result h3{

    color:#60a5fa;

    margin-bottom:15px;

}

/* =========================
   MAPA
========================= */

.map-result{

    width:100%;

    height:350px;

    margin-top:20px;

    border-radius:15px;

    overflow:hidden;

    border:1px solid #2563eb;

}