/* Sun, wind/scent, and map measuring modules. */

.sun-widget,
.wind-widget {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    line-height: 1.15;
}

.wind-widget { gap: 3px; }
.wind-arrow {
    display: inline-block;
    color: #8fd3ff;
    font-size: 0.9rem;
    transform-origin: 50% 50%;
    transition: transform 180ms ease;
}

.fieldtools-field,
.wind-hour-control {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #59636d;
    font-size: 0.8rem;
}
.fieldtools-field input,
.wind-settings select {
    min-height: 34px;
    padding: 5px 7px;
    border: 1px solid #ccd3d9;
    border-radius: 4px;
    background: #fff;
}
.sun-countdown {
    margin: 8px 0;
    padding: 7px 8px;
    border-left: 3px solid #e0a526;
    border-radius: 3px;
    background: #fff7dc;
    color: #574612;
    font-size: 0.82rem;
    font-weight: 600;
}
.sun-details { font-size: 0.82rem; }
.sun-details > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 0;
    border-bottom: 1px solid #e8ebed;
}
.sun-details dt { color: #68727c; }
.sun-details dd { text-align: right; font-weight: 600; }

.wind-status {
    margin-bottom: 8px;
    color: #68727c;
    font-size: 0.76rem;
}
.wind-settings {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 0.8rem;
}
.wind-settings label { display: flex; align-items: center; gap: 5px; }
.wind-settings label:last-child { flex-direction: column; align-items: flex-start; gap: 2px; }
.wind-hour-control input { width: 100%; touch-action: pan-y; }
#wind-selected-hour {
    min-height: 30px;
    color: #303942;
    line-height: 1.25;
}
.wind-verdicts {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 9px 0;
}
.wind-verdict {
    padding: 6px 7px;
    border-left: 4px solid #3489c9;
    border-radius: 3px;
    background: #fff;
    font-size: 0.78rem;
}
.wind-verdict.good { border-color: #26a65b; }
.wind-verdict.bad { border-color: #d64541; }
.wind-verdict.warning { border-color: #e09f24; }
.wind-verdict small { display: block; margin-top: 3px; color: #67717b; }
.wind-hours {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #dfe3e6;
    border-radius: 4px;
    background: #fff;
}
.wind-hour {
    display: grid;
    grid-template-columns: 42px 68px minmax(0, 1fr);
    width: 100%;
    min-height: 40px;
    align-items: center;
    gap: 5px;
    padding: 4px 6px;
    border: 0;
    border-bottom: 1px solid #edf0f2;
    background: #fff;
    color: #303942;
    text-align: left;
    cursor: pointer;
}
.wind-hour.selected { background: #eaf4fb; box-shadow: inset 3px 0 #3489c9; }
.wind-hour small { overflow: hidden; color: #69737d; text-overflow: ellipsis; white-space: nowrap; }
.scent-cone { stroke-linejoin: round; }

.measure-panel {
    position: absolute;
    z-index: 850;
    top: 10px;
    left: 56px;
    width: min(300px, calc(100% - 70px));
    padding: 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
    color: #2c3e50;
}
.measure-panel.hidden { display: none; }
.measure-picker,
.measure-actions { display: flex; gap: 6px; }
.measure-picker button,
.measure-actions button {
    min-height: 38px;
    flex: 1;
    padding: 6px 8px;
    border: 1px solid #cbd2d8;
    border-radius: 4px;
    background: #fff;
    color: #263746;
    cursor: pointer;
}
.measure-picker button.active { border-color: #e09213; background: #f39c12; color: #fff; }
.measure-actions.hidden { display: none; }
.measure-instructions {
    margin: 7px 0 3px;
    color: #626e78;
    font-size: 0.76rem;
    line-height: 1.25;
}
.measure-result {
    min-height: 20px;
    margin-bottom: 6px;
    font-size: 0.86rem;
    font-weight: 700;
}
.measure-active { cursor: crosshair; }
.measurement-label {
    width: max-content !important;
    height: auto !important;
    padding: 3px 6px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    color: #263746;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

/* Keep both compact field widgets visible on a portrait phone. */
@media (max-width: 480px) {
    #header {
        gap: 3px;
        padding: 0 4px;
    }
    #header .header-left { min-width: 0; }
    #header .header-center {
        display: flex;
        min-width: 0;
        align-items: flex-start;
        text-align: left;
    }
    #header #project-title { display: none; }
    #header .header-widgets {
        width: 100%;
        gap: 4px;
        overflow: visible;
        font-size: 0.62rem;
    }
    #header .property-btn {
        padding: 4px 5px;
        font-size: 0.68rem;
    }
    #header #logout-btn { padding: 3px 4px; font-size: 0.65rem; }
    #header #toggle-sidebar { padding: 4px 5px; }
    .sun-widget { letter-spacing: -0.15px; }
    .measure-panel { left: 50px; width: calc(100% - 60px); }
    .measure-picker button,
    .measure-actions button { min-height: 44px; }
}
