/* Scan terminal calendar/action view — user timezone oriented. */ /* ── View root ── */ .root :global(.scan-calendar-view) { overflow-y: auto; display: flex; flex-direction: column; gap: 16px; padding-right: 4px; } /* ── User clock header ── */ .root :global(.scan-calendar-header) { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border: 1px solid rgba(77, 163, 255, 0.16); border-radius: 16px; background: linear-gradient(135deg, rgba(77, 163, 255, 0.06), rgba(34, 197, 94, 0.03)); } .root :global(.scan-calendar-clock) { display: flex; flex-direction: column; gap: 2px; } .root :global(.scan-calendar-clock-time) { font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--color-text-primary); letter-spacing: -0.02em; line-height: 1.1; } .root :global(.scan-calendar-clock-date) { font-size: 13px; font-weight: 600; color: var(--color-text-secondary); } .root :global(.scan-calendar-clock-meta) { font-size: 11px; font-weight: 700; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em; } /* ── Empty state ── */ .root :global(.scan-calendar-empty) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 64px 32px; text-align: center; } .root :global(.scan-calendar-empty-title) { font-size: 18px; font-weight: 800; color: var(--color-text-primary); } .root :global(.scan-calendar-empty-sub) { font-size: 13px; color: var(--color-text-secondary); } /* ── Groups ── */ .root :global(.scan-calendar-groups) { display: flex; flex-direction: column; gap: 16px; } .root :global(.scan-calendar-group) { border: 1px solid rgba(90, 123, 166, 0.12); border-radius: 18px; background: rgba(8, 17, 30, 0.8); overflow: hidden; } .root :global(.scan-calendar-group-head) { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid rgba(90, 123, 166, 0.1); } .root :global(.scan-calendar-group-label) { font-size: 16px; font-weight: 800; color: var(--color-text-primary); } .root :global(.scan-calendar-group-sub) { margin-top: 3px; color: var(--color-text-muted); font-size: 12px; font-weight: 600; } .root :global(.scan-calendar-group-count) { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 999px; background: rgba(77, 163, 255, 0.12); color: var(--color-accent-secondary); font-size: 12px; font-weight: 800; } /* ── Card grid ── */ .root :global(.scan-calendar-grid) { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; padding: 14px; } /* ── Card ── */ .root :global(.scan-calendar-card) { text-align: left; padding: 14px; border: 1px solid rgba(90, 123, 166, 0.12); border-radius: 16px; background: linear-gradient(180deg, rgba(10, 20, 35, 0.92), rgba(8, 17, 29, 0.92)); cursor: pointer; transition: border-color 0.15s ease, box-shadow 0.15s ease; } .root :global(.scan-calendar-card:hover) { border-color: rgba(77, 163, 255, 0.24); } .root :global(.scan-calendar-card.selected) { border-color: rgba(77, 163, 255, 0.42); box-shadow: inset 0 0 0 1px rgba(77, 163, 255, 0.14); } .root :global(.scan-calendar-card.peak-active) { border-color: rgba(34, 197, 94, 0.3); background: linear-gradient(180deg, rgba(12, 42, 38, 0.9), rgba(8, 20, 30, 0.94)); } .root :global(.scan-calendar-card.peak-next) { border-color: rgba(245, 158, 11, 0.24); } .root :global(.scan-calendar-card.peak-past) { opacity: 0.72; } /* ── Card top row ── */ .root :global(.scan-calendar-card-top) { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; } .root :global(.scan-calendar-city) { font-size: 15px; font-weight: 800; color: var(--color-text-primary); } .root :global(.scan-calendar-badge) { flex-shrink: 0; padding: 2px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; } .root :global(.scan-calendar-badge.tone-active) { background: rgba(34, 197, 94, 0.14); color: #4ade80; } .root :global(.scan-calendar-badge.tone-upcoming) { background: rgba(245, 158, 11, 0.14); color: #fbbf24; } .root :global(.scan-calendar-badge.tone-later) { background: rgba(77, 163, 255, 0.12); color: var(--color-accent-secondary); } .root :global(.scan-calendar-badge.tone-past) { background: rgba(148, 163, 184, 0.12); color: #94a3b8; } /* ── User local time (primary) ── */ .root :global(.scan-calendar-user-time) { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; padding: 10px 12px; border-radius: 10px; background: rgba(77, 163, 255, 0.06); } .root :global(.scan-calendar-user-label) { font-size: 10px; font-weight: 700; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em; } .root :global(.scan-calendar-user-time strong) { font-size: 16px; font-weight: 800; color: var(--color-text-primary); font-variant-numeric: tabular-nums; } /* ── Countdown timer ── */ .root :global(.scan-calendar-countdown) { margin-bottom: 8px; } .root :global(.scan-calendar-countdown-timer) { font-size: 14px; font-weight: 800; } .root :global(.scan-calendar-countdown-timer.tone-active) { color: #4ade80; } .root :global(.scan-calendar-countdown-timer.tone-upcoming) { color: #fbbf24; } .root :global(.scan-calendar-countdown-timer.tone-later) { color: var(--color-accent-secondary); } .root :global(.scan-calendar-countdown-timer.tone-past) { color: #94a3b8; } /* ── Reason text ── */ .root :global(.scan-calendar-reason) { margin: 0 0 10px; color: var(--color-text-secondary); font-size: 12px; font-weight: 600; line-height: 1.5; } /* ── Card footer row ── */ .root :global(.scan-calendar-card-foot) { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(90, 123, 166, 0.08); } .root :global(.scan-calendar-deb) { display: flex; align-items: baseline; gap: 6px; } .root :global(.scan-calendar-deb span) { font-size: 11px; font-weight: 600; color: var(--color-text-muted); } .root :global(.scan-calendar-deb b) { font-size: 14px; font-weight: 800; color: var(--color-text-primary); } .root :global(.scan-calendar-phase) { font-size: 11px; font-weight: 700; color: var(--color-text-muted); } /* ── City window time (secondary, subtle) ── */ .root :global(.scan-calendar-city-time) { margin-top: 8px; padding-top: 6px; border-top: 1px solid rgba(90, 123, 166, 0.06); font-size: 10px; font-weight: 600; color: var(--color-text-muted); }