.dmtp-container {
    max-width: 700px;
    margin: 20px auto;
    padding: 16px;
    background: #f9f9f9;
    font-family: Arial, sans-serif;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

h2 {
    font-size: 1.4rem;
    margin-bottom: 10px;
}

.dmtp-location, .dmtp-time {
    position: relative;
    margin-bottom: 10px;
}

.dmtp-location input,
.dmtp-time input {
    width: 100%;
    padding: 6px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

#dmtp-autodetect {
    position: absolute;
    right: 8px;
    top: 32px;
    font-size: 16px;
    cursor: pointer;
}

#dmtp-find {
    width: 100%;
    padding: 8px;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* Highlighted time box */
.dmtp-timebox {
    margin-top: 10px;
    background: #ffe082;
    padding: 10px;
    text-align: center;
    border-radius: 6px;
    font-size: 1.1rem;
}

/* Light table */
.dmtp-details-table {
    margin-top: 10px;
    background: #f1f1f1;
    padding: 8px;
    border-radius: 6px;
}

.dmtp-details-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.dmtp-details-table td {
    padding: 6px;
    border-bottom: 1px solid #ccc;
}

.dmtp-details-table tr:last-child td {
    border-bottom: none;
}

/* Best time colours */
.dmtp-best { color:#1b5e20; font-weight:600; }
.dmtp-caution { color:#9c6f00; font-weight:600; }
.dmtp-bad { color:#8b0000; font-weight:600; }

#dmtp-best-times span {
    display:block;
    margin-bottom:4px;
}

/* Ultra-compact mobile */
@media(max-width:480px){
    h2 { font-size:1.2rem; }
    .dmtp-timebox { font-size:1rem; }
    .dmtp-details-table table { font-size:0.8rem; }
}
