/* src/v074.css - UI fixes v074 (loaded after v073, so it wins)
   Adopted 2026-09-27 by three-way merge against baseline 479f182.
   Dropped here: .sidebarToggle absolute positioning (unrequested, fixed px).
   Dropped in markup: v074 MS rail / bottom bar / card icons - v073 and v072
   already ship those (v073MsRail, v072BottomBar, v073-q-icon). */

/* src/v074.css — UI bug fixes & interaction improvements
   Fixes: Q10 label, sidebar, overflow menu, MS rail, card icons,
   heatmap, rings, toolbar widths, hint toast, papers sort, filters */

/* === Fix 8: Upgrade button not truncated === */
.v072-upgrade-btn { white-space: nowrap !important; padding: 6px 14px !important; font-size: 11px !important; }


/* === Fix 14: Toolbar width buttons actually show different sizes === */
.v074-w1 { width: 4px !important; height: 4px !important; border-radius: 50% !important; }
.v074-w2 { width: 7px !important; height: 7px !important; border-radius: 50% !important; }
.v074-w3 { width: 11px !important; height: 11px !important; border-radius: 50% !important; }

/* === Fix 15: MS rail text not truncated === */
.v074-ms-rail { width: 44px !important; writing-mode: vertical-rl !important; letter-spacing: 3px !important; font-size: 10px !important; }

/* === Fix 16: Hint toast auto-hides === */
.v074-hint-toast { transition: opacity .5s, transform .5s; }
.v074-hint-toast.fade-out { opacity: 0; transform: translateY(10px); pointer-events: none; }

/* === Fix 19: Progress bar always has track === */
.v074-progress-track { background: #e2e8f0 !important; border-radius: 6px !important; height: 8px !important; }
.v074-progress-fill { border-radius: 6px !important; height: 100% !important; background: linear-gradient(90deg,#4F46E5,#7C3AED) !important; }

/* === Fix 12: Weekly heatmap squares === */
.v074-heat-row { display: flex !important; gap: 6px !important; }
.v074-heat-cell { width: 22px !important; height: 22px !important; border-radius: 5px !important; background: #e2e8f0 !important; display: grid !important; place-items: center !important; font-size: 9px !important; color: #94a3b8 !important; }
.v074-heat-cell.done { background: linear-gradient(135deg,#4F46E5,#7C3AED) !important; color: #fff !important; }
.v074-heat-cell.today { box-shadow: 0 0 0 2px #4F46E5 !important; }

/* === Fix 13: Practice card status icons === */
.v074-card-icon { display: inline-flex !important; width: 20px !important; height: 20px !important; border-radius: 50% !important; align-items: center !important; justify-content: center !important; font-size: 11px !important; margin-right: 6px !important; flex-shrink: 0 !important; }
.v074-card-icon.correct { background: #dcfce7 !important; color: #16a34a !important; }
.v074-card-icon.wrong { background: #fee2e2 !important; color: #dc2626 !important; }
.v074-card-icon.partial { background: #fef3c7 !important; color: #d97706 !important; }
.v074-card-icon.unsure { background: #f1f5f9 !important; color: #cbd5e1 !important; }
.v074-card-acc { font-size: 10px !important; color: #64748b !important; margin-left: 6px !important; }

/* === Fix 21: Overflow menu === */
.v074-overflow { position: relative !important; display: inline-block !important; }
.v074-overflow-menu { position: absolute !important; top: 100% !important; right: 0 !important; margin-top: 4px !important; background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; padding: 6px !important; z-index: 200 !important; display: none !important; min-width: 196px !important; white-space: nowrap !important; }
.v074-overflow-menu.show { display: block !important; }
.v074-overflow-menu button { display: flex !important; align-items: center !important; gap: 8px !important; width: 100% !important; border: 0 !important; background: none !important; padding: 8px 10px !important; border-radius: 6px !important; font-size: 12px !important; cursor: pointer !important; text-align: left !important; color: #334155 !important; }
.v074-overflow-menu button:hover { background: #f1f5f9 !important; }

/* === Fix 22: Bottom action bar === */
.v074-bottom-bar { position: sticky !important; bottom: 0 !important; background: #fff !important; border-top: 1px solid #e2e8f0 !important; padding: 10px 16px !important; display: flex !important; gap: 8px !important; align-items: center !important; justify-content: center !important; z-index: 100 !important; box-shadow: 0 -4px 12px rgba(0,0,0,.06) !important; }
.v074-bottom-bar .btn.primary { padding: 10px 28px !important; font-size: 13px !important; }

/* === Fix 23: MS collapsible rail === */
.v074-ms-rail-btn { width: 44px !important; background: linear-gradient(180deg,#4F46E5,#7C3AED) !important; color: #fff !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; writing-mode: vertical-rl !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 3px !important; border-radius: 8px 0 0 8px !important; flex-shrink: 0 !important; user-select: none !important; }

/* === Fix 27: Ring progress === */
.v074-ring-row { display: flex !important; gap: 10px !important; justify-content: space-around !important; flex-wrap: wrap !important; }
.v074-ring { text-align: center !important; }
.v074-ring svg { width: 50px !important; height: 50px !important; transform: rotate(-90deg) !important; }
.v074-ring circle { fill: none !important; stroke-width: 5 !important; }
.v074-ring .bg { stroke: #e2e8f0 !important; }
.v074-ring .fg { stroke: #4F46E5 !important; stroke-linecap: round !important; }
.v074-ring span { display: block !important; font-size: 10px !important; color: #64748b !important; margin-top: 2px !important; }

/* === Fix 17: Question image fills left panel === */
.v074-qp-img { width: 100% !important; height: auto !important; object-fit: contain !important; }

/* === Fix 20: English date input === */
input[type="date"] { text-align: left !important; }

/* === Fix 10: Confirm button placement === */
.v074-confirm-inline { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-left: 8px !important; }
