


/* Ensimmainen paletti:
:root {
            --bg:        #0a0a0a;
            --surface:   #111111;
            --surface2:  #1a1a1a;
            --border:    #2a2a2a;
            --accent:    #e8001d;
            --accent2:   #ff6b00;
            --text:      #f0f0f0;
            --muted:     #666;
            --success:   #00c853;
        } */

:root {
    --bg:        #0d1117;
    --surface:   #141b24;
    --surface2:  #1c2634;
    --border:    #243044;
    --accent:    #f05a00;
    --accent2:   #ff8c00;
    --text:      #f0f0f0;
    --muted:     #5a7a9a;
    --success:   #00c853;
}

        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            background: var(--bg);
            color: var(--text);
            font-family: 'Barlow', sans-serif;
            font-weight: 400;
            min-height: 100vh;
            overflow-x: hidden;
        }

        /* ── HEADER ── */
        header {
            position: relative;
            padding: 48px 48px 36px;
            border-bottom: 1px solid var(--border);
            /* background: linear-gradient(135deg, #0a0a0a 60%, #1a0305 100%); */
            background: linear-gradient(135deg, #0d1117 60%, #0f1e35 100%);
            overflow: hidden;
        }
        header::before {
            content: 'WRC';
            position: absolute;
            right: -20px;
            top: -30px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 900;
            font-size: 200px;
            /* color: rgba(232,0,29,0.04); */
            color: rgba(240,90,0,0.04);
            line-height: 1;
            pointer-events: none;
            user-select: none;
        }
        .header-inner {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
        }
        .logo-block { display: flex; flex-direction: column; gap: 4px; }
        .logo-eyebrow {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--accent);
        }
        h1 {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 900;
            font-size: clamp(36px, 5vw, 64px);
            line-height: 1;
            letter-spacing: -1px;
            text-transform: uppercase;
        }
        h1 span { color: var(--accent); }

        /* ── MAIN ── */
        main { padding: 48px; max-width: 1200px; }

        /* ── START BUTTON ── */
        .btn-start {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            background: var(--accent);
            color: #fff;
            border: none;
            padding: 16px 36px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 18px;
            letter-spacing: 2px;
            text-transform: uppercase;
            cursor: pointer;
            clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
            transition: background 0.15s, transform 0.1s;
            position: relative;
        }
        .btn-start::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 60%);
            pointer-events: none;
        }
        .btn-start:hover { background: #c8001a; transform: translateY(-1px); }
        .btn-start:active { transform: translateY(0); }
        .btn-start svg { width: 20px; height: 20px; }

        /* ── EVENTS SECTION ── */
        .section-header {
            display: flex;
            align-items: center;
            gap: 16px;
            margin: 48px 0 24px;
        }
        .section-label {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 13px;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--muted);
        }
        .section-line {
            flex: 1;
            height: 1px;
            background: var(--border);
        }

        /* ── EVENTS TABLE ── */
        .events-table {
            width: 100%;
            border-collapse: collapse;
        }
        .events-table th {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--muted);
            text-align: left;
            padding: 0 16px 12px;
            border-bottom: 1px solid var(--border);
        }
        .events-table td {
            padding: 16px;
            border-bottom: 1px solid var(--border);
            font-size: 14px;
            vertical-align: middle;
        }
        .events-table tr:hover td { background: var(--surface); cursor: pointer; }

        .driver-name {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 18px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
        }
        .car-name { color: var(--muted); font-size: 13px; margin-top: 2px; }

        .badge {
            display: inline-block;
            padding: 3px 10px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .badge-wrc    { background: rgba(232,0,29,0.15); color: var(--accent); border: 1px solid rgba(232,0,29,0.3); }
        .badge-wrc2   { background: rgba(255,107,0,0.15); color: var(--accent2); border: 1px solid rgba(255,107,0,0.3); }
        .badge-junior { background: rgba(255,255,255,0.07); color: #aaa; border: 1px solid rgba(255,255,255,0.15); }

        .status-dot {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 12px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
        }
        .status-dot::before {
            content: '';
            width: 7px; height: 7px;
            border-radius: 50%;
        }
        .status-active { color: var(--success); }
        .status-active::before { background: var(--success); box-shadow: 0 0 6px var(--success); }
        .status-done { color: var(--muted); }
        .status-done::before { background: var(--muted); }

        .empty-state {
            text-align: center;
            padding: 80px 24px;
            color: var(--muted);
        }
        .empty-state p {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 16px;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        /* ── MODAL OVERLAY ── */
        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.85);
            z-index: 1000;
            backdrop-filter: blur(4px);
            align-items: flex-start;
            justify-content: center;
            padding: 40px 16px;
            overflow-y: auto;
        }
        .modal-overlay.active { display: flex; }

        .modal {
            background: var(--surface);
            border: 1px solid var(--border);
            width: 100%;
            max-width: 640px;
            position: relative;
            animation: modalIn 0.2s ease;
            clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
        }
        @keyframes modalIn {
            from { opacity: 0; transform: translateY(-20px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .modal-header {
            padding: 28px 32px 20px;
            border-bottom: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .modal-title {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 900;
            font-size: 28px;
            letter-spacing: 1px;
            text-transform: uppercase;
        }
        .modal-title span { color: var(--accent); }

        .modal-close {
            background: none;
            border: 1px solid var(--border);
            color: var(--muted);
            width: 36px; height: 36px;
            cursor: pointer;
            font-size: 18px;
            display: flex; align-items: center; justify-content: center;
            transition: color 0.15s, border-color 0.15s;
        }
        .modal-close:hover { color: var(--text); border-color: var(--muted); }

        .modal-body { padding: 28px 32px; }

        /* ── FORM ── */
        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-bottom: 16px;
        }
        .form-group { display: flex; flex-direction: column; gap: 6px; }
        .form-group.full { grid-column: 1 / -1; }

        label {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--muted);
        }

        input[type="text"], select {
            background: var(--surface2);
            border: 1px solid var(--border);
            color: var(--text);
            padding: 11px 14px;
            font-family: 'Barlow', sans-serif;
            font-size: 14px;
            outline: none;
            width: 100%;
            transition: border-color 0.15s;
            appearance: none;
            -webkit-appearance: none;
        }
        input[type="text"]:focus, select:focus {
            border-color: var(--accent);
        }
        select {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 14px center;
            padding-right: 40px;
            cursor: pointer;
        }
        select option { background: var(--surface2); }

        /* ── STAGES SECTION ── */
        .stages-wrapper {
            margin-top: 24px;
            border-top: 1px solid var(--border);
            padding-top: 20px;
            display: none;
        }
        .stages-wrapper.visible { display: block; }

        .stages-label {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 16px;
        }

        .stage-row {
            background: var(--surface2);
            border: 1px solid var(--border);
            margin-bottom: 10px;
            padding: 14px 16px;
        }
        .stage-info {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }
        .stage-num {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 22px;
            color: var(--accent);
            min-width: 32px;
        }
        .stage-details {}
        .stage-name-text {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 16px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .stage-km { font-size: 12px; color: var(--muted); margin-top: 1px; }

        /* Time input row */
        .time-input-row {
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .time-input-row input[type="text"] {
            text-align: center;
            padding: 8px 4px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 20px;
            letter-spacing: 1px;
        }
        .time-input-row input.min-input { width: 56px; }
        .time-input-row input.sec-input { width: 56px; }
        .time-input-row input.ms-input  { width: 68px; }

        .time-sep {
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 20px;
            color: var(--muted);
            line-height: 1;
        }

        .btn-save-stage {
            background: none;
            border: 1px solid var(--accent);
            color: var(--accent);
            padding: 8px 18px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 13px;
            letter-spacing: 2px;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.15s, color 0.15s;
            white-space: nowrap;
            margin-left: 8px;
            flex-shrink: 0;
        }
        .btn-save-stage:hover { background: var(--accent); color: #fff; }
        .btn-save-stage.saved { border-color: var(--success); color: var(--success); }
        .btn-save-stage.saved:hover { background: var(--success); color: #fff; }

        /* ── MODAL FOOTER ── */
        .modal-footer {
            padding: 20px 32px 28px;
            border-top: 1px solid var(--border);
            display: flex;
            gap: 12px;
            justify-content: flex-end;
        }
        .btn-cancel {
            background: none;
            border: 1px solid var(--border);
            color: var(--muted);
            padding: 12px 28px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 14px;
            letter-spacing: 2px;
            text-transform: uppercase;
            cursor: pointer;
            transition: color 0.15s, border-color 0.15s;
        }
        .btn-cancel:hover { color: var(--text); border-color: var(--muted); }

        .btn-create {
            background: var(--accent);
            border: none;
            color: #fff;
            padding: 12px 32px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 700;
            font-size: 14px;
            letter-spacing: 2px;
            text-transform: uppercase;
            cursor: pointer;
            clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
            transition: background 0.15s;
        }
        .btn-create:hover { background: #c8001a; }
        .btn-create:disabled { background: var(--border); color: var(--muted); cursor: not-allowed; }

        /* ── NOTIFICATION ── */
        .notif {
            position: fixed;
            bottom: 32px;
            right: 32px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-left: 3px solid var(--success);
            padding: 14px 20px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 600;
            font-size: 14px;
            letter-spacing: 1px;
            text-transform: uppercase;
            z-index: 2000;
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.2s, transform 0.2s;
            pointer-events: none;
        }
        .notif.show { opacity: 1; transform: translateY(0); }
        .notif.error { border-left-color: var(--accent); }

        @media (max-width: 600px) {
            header, main { padding: 24px; }
            .form-row { grid-template-columns: 1fr; }
            .modal-header, .modal-body, .modal-footer { padding-left: 20px; padding-right: 20px; }
        }

        

.btn-end-event {
    background: none;
    border: 1px solid var(--accent2);
    color: var(--accent2);
    padding: 12px 32px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
    transition: background 0.15s, color 0.15s;
}
.btn-end-event:hover { background: var(--accent2); color: #fff; }

.stage-time-view {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}
.stage-time-view:last-child { border-bottom: none; }
.stage-time-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.stage-time-num { color: var(--accent); margin-right: 10px; }
.stage-time-value {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 1px;
    color: var(--text);
}
.stage-time-missing {
    font-size: 14px;
    color: var(--muted);
    font-style: italic;
}
.event-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}
.event-meta-item {}
.event-meta-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 3px;
}
.event-meta-value {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 16px;
}
    