/* ============================================================
   Dashboard — weigh-in flash + modal inputs
   ============================================================ */

.dash-flash {
    margin: 0.5rem 0 0;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid transparent;
}
.dash-flash--ok  { background: #E8F5E9; color: #2E7D32; border-color: #A5D6A7; }
.dash-flash--err { background: #FFEBEE; color: #C62828; border-color: #EF9A9A; }
.dash-flash--info{ background: var(--nr-surface); color: var(--nr-text-mute); border-color: var(--nr-border); }
[data-theme="dark"] .dash-flash--ok  { background: #1B3B1E; color: #81C784; border-color: #388E3C; }
[data-theme="dark"] .dash-flash--err { background: #3B1B1B; color: #EF9A9A; border-color: #C62828; }

/* Make button.qa look identical to a.qa */
button.qa {
    cursor: pointer;
    font-family: inherit;
    background: var(--nr-surface);
    border: 1px solid var(--nr-border);
}
button.qa:hover { background: var(--nr-bg); border-color: var(--nr-yellow); }

.qa-weight-logged {
    font-weight: 700;
    font-size: 0.85rem;
    color: #2E7D32;
}
[data-theme="dark"] .qa-weight-logged { color: #81C784; }

/* Weigh-in modal inputs */
.weighin-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--nr-text-mute);
    margin-bottom: 8px;
}
.weighin-last {
    font-size: 0.8rem;
    color: var(--nr-text-mute);
    margin: -4px 0 12px;
}
/* Wrap input + unit as a single pill so the unit sits inside the border */
.weighin-input-group {
    display: flex;
    align-items: stretch;
    border: 1.5px solid var(--nr-border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--nr-bg);
    transition: border-color 0.15s;
}
.weighin-input-group:focus-within { border-color: var(--nr-yellow); }

.weighin-input {
    flex: 1;
    padding: 14px 12px;
    font-size: 1.3rem;
    font-weight: 700;
    border: none;
    background: transparent;
    color: var(--nr-text);
    text-align: center;
    -moz-appearance: textfield;
    outline: none;
    min-width: 0;
}
.weighin-input::-webkit-outer-spin-button,
.weighin-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Stones layout: two narrow inputs side by side inside the same pill */
.weighin-input--stones { max-width: 80px; text-align: right; padding-right: 4px; }
.weighin-input--lbs    { max-width: 90px; text-align: left;  padding-left:  4px; }
.weighin-unit {
    display: flex;
    align-items: center;
    padding: 0 14px 0 4px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--nr-text-mute);
    flex-shrink: 0;
    background: transparent;
}
/* Stones: unit labels sit between inputs */
.weighin-unit--mid {
    padding: 0 4px;
}

/* ============================================================
   Weigh-in — warning state styles
   ============================================================ */

.dash-flash--warn {
    background: #FFF8E1;
    color: #795548;
    border-color: #FFE082;
}
[data-theme="dark"] .dash-flash--warn { background: #3B2E00; color: #FFD54F; border-color: #F9A825; }

.weighin-warn-banner {
    background: #FFF3E0;
    color: #E65100;
    border: 1px solid #FFCC80;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 10px;
}
[data-theme="dark"] .weighin-warn-banner { background: #3B2300; color: #FFB74D; border-color: #E65100; }

.weighin-warn-body {
    font-size: 0.85rem;
    color: var(--nr-text);
    margin: 0 0 6px;
    line-height: 1.45;
}

.weighin-warn-edit {
    font-size: 0.8rem;
    color: var(--nr-text-mute);
    margin: 0 0 12px;
}

.weighin-confirm-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 14px;
    font-size: 0.83rem;
    color: var(--nr-text);
    line-height: 1.4;
    cursor: pointer;
}

.weighin-confirm-check {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: #E65100;
    cursor: pointer;
}
