/* 
style.css
Estilos generales para el sitio */








body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #f5f5f5;
    color: #333;
}

/* Top bar */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #0078d4;
    color: #fff;
    padding: 0.5rem 1rem;
    position: sticky;
    top: 0;
    z-index: 100;
}
.topbar .brand a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.2rem;
}
.topnav a {
    color: #fff;
    margin-right: 1rem;
    text-decoration: none;
}
.dropdown {
    position: relative;
    display: inline-block;
}
.dropbtn {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 1rem;
}
.dropdown-content {
    display: none;
    position: absolute;
    background: #fff;
    min-width: 160px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    z-index: 1;
}
.dropdown-content a {
    color: #333;
    padding: 0.5rem 1rem;
    text-decoration: none;
    display: block;
}
.dropdown-content a:hover {
    background: #f2f2f2;
}
.dropdown:hover .dropdown-content {
    display: block;
}

/* Layout */
.wrapper {
    display: flex;
    min-height: calc(100vh - 50px);
}
.sidenav {
    width: 200px;
    background: #2f3236;
    color: #fff;
    display: flex;
    flex-direction: column;
    padding-top: 1rem;
}
.sidenav .navitem {
    color: #ccc;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    font-size: 0.95rem;
}
.sidenav .navitem:hover, .sidenav .navitem.active {
    background: #45484c;
    color: #fff;
}
.sidenav .navitem span {
    flex: 1;
}

.content {
    flex-grow: 1;
    padding: 1rem;
    background: #fff;
}

.footer {
    background: #fafafa;
    padding: 1rem;
    text-align: center;
    font-size: 0.9rem;
    border-top: 1px solid #e5e5e5;
}

/* Secciones específicas */
.clock-display {
    font-size: 4rem;
    text-align: center;
    margin: 1rem 0;
    font-family: 'Courier New', Courier, monospace;
}
.subtext {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    color: #666;
}
.list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}
.list-grid a {
    display: block;
    padding: 0.75rem;
    background: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    color: #333;
}
.list-grid a:hover {
    background: #eaeaea;
}

/* Temporizador/cronómetro styles */
.timer-controls,
.stopwatch-controls {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}
.timer-controls button,
.stopwatch-controls button {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
.btn-primary { background:#0078d4; color:#fff; }
.btn-secondary { background:#ffc107; color:#333; }
.btn-danger { background:#dc3545; color:#fff; }
button:disabled { opacity: 0.5; cursor: not-allowed; }

.laps {
    max-width: 600px;
    margin: 1rem auto;
    border-top: 1px solid #ddd;
    padding-top: 0.5rem;
}
.laps ul { list-style: none; padding: 0; margin: 0; }
.laps li { padding: 0.25rem 0; border-bottom: 1px solid #f0f0f0; font-family: monospace; }

/* Alarm section */
.alarm-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}
.alarm-grid button {
    padding: 0.5rem 0.75rem;
    background: #0078d4;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-family: monospace;
}
.alarm-grid button:hover {
    background: #005fa3;
}
@media (max-width: 768px) {
    .sidenav { width: 60px; }
    .sidenav .navitem span { display: none; }
}





















