/* Canonical real-backend integration additions. The approved V2 presentation
   remains in v2.css; this file only covers factual data/state and Scout PNG. */
.topbar .account-state {
  margin-left: auto;
  color: var(--shift-text-muted);
  font-size: 10px;
  letter-spacing: .2px;
  white-space: nowrap;
}
.topbar .account-state.plus { color: #e0a77d; }
.receipt-placeholder { color: var(--shift-text-dim); }
.scout-note--approved {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(78px, 27%) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 4px 0 22px;
  min-height: 122px;
  padding: 10px 14px 10px 8px;
  border-radius: var(--shift-radius-md);
  background:
    radial-gradient(circle at 10% 55%, #f08b3930, transparent 42%),
    linear-gradient(145deg, #2d3137, #1b2026);
  border: 1px solid #f09a4a20;
  box-shadow: inset 0 1px 0 #ffffff05, var(--shift-shadow);
}
.scout-art-wrap { position: relative; min-width: 0; isolation: isolate; }
.scout-art {
  display: block;
  width: 100%;
  height: auto;
  max-width: 88px;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 9px 12px #0008) drop-shadow(0 0 10px #f48b3633);
  animation: scout-arrive 520ms var(--shift-ease) both;
}
.scout-sweep {
  position: absolute;
  inset: 18% -16% 22%;
  z-index: -1;
  border: 1px solid #f6a55f55;
  border-radius: 50%;
  opacity: 0;
  transform: rotate(-15deg);
  animation: scout-sweep 760ms 180ms ease-out 1 both;
}
.scout-message h2 { margin: 0 0 7px; font-size: 15px; font-weight: 550; letter-spacing: -.2px; }
.scout-message p { margin: 0; color: var(--shift-text-muted); font-size: 11px; line-height: 1.58; }
.auth-form-note, .degraded-note { font-size: 10px; color: var(--shift-text-dim); line-height: 1.55; margin-top: 10px; }
.period-select { margin: 10px 0 16px; }
.period-select select { width: 100%; min-height: 44px; border-radius: var(--shift-radius-sm); padding: 0 12px; background: #20262d; border: 1px solid #ffffff0a; color: var(--shift-text); }
.goal-progress-native { width: 100%; height: 5px; appearance: none; -webkit-appearance: none; border: 0; background: transparent; margin: 12px 0 8px; }
.goal-progress-native::-webkit-progress-bar { background: #ffffff0c; border-radius: 99px; }
.goal-progress-native::-webkit-progress-value { background: linear-gradient(90deg,#c96a33,#ff8d4f); border-radius: 99px; box-shadow: 0 0 8px #f0643240; }
.goal-progress-native::-moz-progress-bar { background: linear-gradient(90deg,#c96a33,#ff8d4f); border-radius: 99px; }
.analytics-section { padding: 15px 0; border-bottom: 1px solid var(--shift-divider); }
.analytics-section h2 { font-size: 11px; color: var(--shift-text-muted); font-weight: 450; margin-bottom: 8px; }
.analytics-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:9px 0; font-size:12px; }
.analytics-row span { color:var(--shift-text-muted); min-width:0; }
.analytics-row strong { font-weight:450; text-align:right; }
.external-link { text-decoration: none; }
.inline-form-actions { display:grid; gap:8px; margin-top:14px; }
.loading-shell { min-height: 52vh; display:grid; place-items:center; }
.loading-shell .state-view { min-height:240px; }
.app-shell[data-plus-state="degraded"] .account-state.plus { color: var(--shift-text-muted); }
@keyframes scout-arrive { from { opacity:0; transform:translateY(5px) scale(.975); filter:drop-shadow(0 2px 5px #0005) drop-shadow(0 0 0 transparent); } to { opacity:1; transform:none; } }
@keyframes scout-sweep { 0% { opacity:0; transform:scale(.65) rotate(-18deg); } 35% { opacity:.7; } 100% { opacity:0; transform:scale(1.35) rotate(10deg); } }
@media (max-width: 350px) {
  .scout-note--approved { grid-template-columns: 72px minmax(0,1fr); padding: 8px 10px 8px 6px; gap: 5px; min-height:108px; }
  .scout-art { max-width: 76px; }
  .scout-message h2 { font-size: 13px; }
  .scout-message p { font-size: 10px; }
  .topbar .account-state { font-size: 9px; max-width: 92px; overflow:hidden; text-overflow:ellipsis; }
}
@media (prefers-reduced-motion: reduce) {
  .scout-art { animation: none !important; }
  .scout-sweep { display:none !important; }
}

.receipt-note { margin: 12px 0 14px; }
.receipt-note summary { cursor: pointer; color: var(--shift-text-muted); font-size: 12px; list-style: none; }
.receipt-note summary::-webkit-details-marker { display: none; }
.receipt-note summary::after { content: ' +'; color: var(--shift-accent); }
.receipt-note[open] summary::after { content: ' −'; }
.receipt-note-field { margin-top: 10px; }
.receipt-note-field textarea { min-height: 76px; }
