/* ============================================================
   index-inline.css — declarations lifted out of index.html's
   inline style= attributes (monolith decomposition). Loaded LAST so
   equal-specificity ties resolve to the formerly-inline rule. id-keyed
   where the element had an id; .ix-N are deduped shared one-offs.
   Generated by scripts/extract_inline_styles.py — edit there or here,
   not by re-inlining.
   ============================================================ */
#setupContainer { display: none; }
.ix-1 { display:flex; align-items:center; justify-content:center; gap:12px; }
.ix-2 { width:28px; height:28px; color:var(--primary); }
.ix-3 { text-align: center; font-size: 12px; color: var(--gray); margin-top: -20px; margin-bottom: 20px; }
.ix-4 { display:flex; align-items:center; gap:8px; }
.ix-5 { color:var(--person1); }
#person2EditSection { display:none; }
.ix-6 { color:var(--person2); }
#person2VerificationStatus { display:none; margin-bottom:14px; padding:10px 12px; border-radius:var(--r-md); font-size:13px; }
#telegramIntegrationSection { display:none; }
.ix-7 { color:var(--primary); }
.ix-8 { font-size:13px; color:var(--text-muted); margin:-8px 0 16px; }
#ratesSection { display:none; }
.ix-9 { font-size:12px; }
#saveRatesBtn { margin-top:8px; }
#saveRatesMsg { margin-left:12px; font-size:13px; color:var(--gray); }
#totpSection { display:none; }
#totpStatusPill { margin-bottom:16px; padding:10px 14px; border-radius:8px; font-size:13px; background:var(--surface-muted,var(--light)); }
#totpEnableFlow { display:none; }
.ix-10 { font-size:13px; color:var(--text); margin-bottom:8px; }
#totpStartSetupBtn { margin-top:8px; }
#totpEnableStep1Msg { margin-left:12px; font-size:13px; color:var(--gray); }
#totpEnableStep2 { display:none; margin-top:20px; padding-top:20px; border-top:1px solid var(--border,var(--light)); }
.ix-11 { font-size:13px; color:var(--text); margin-bottom:12px; }
.ix-12 { display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; margin-bottom:16px; }
#totpQrCanvas { background:white; padding:8px; border-radius:8px; }
.ix-13 { flex:1; min-width:200px; }
.ix-14 { font-size:12px; color:var(--gray); }
#totpSecretText { display:block; padding:10px 12px; background:var(--surface-card,white); border:1px solid var(--border,var(--light)); border-radius:6px; font-size:13px; word-break:break-all; font-family:'JetBrains Mono',monospace; }
.ix-15 { font-size:11px; color:var(--gray); margin-top:6px; }
.ix-16 { flex:1; }
#totpVerifyCode { font-size:18px; letter-spacing:4px; text-align:center; }
#totpCancelSetupBtn { margin-left:8px; }
#totpEnableStep2Msg { margin-left:12px; font-size:13px; color:var(--gray); }
#totpDisableFlow { display:none; }
#totpDisableBtn { margin-top:8px; }
#totpDisableMsg { margin-left:12px; font-size:13px; color:var(--gray); }
#themeSection { display:none; }
#invitePartnerSection { display:none; }
#invitePartnerBtn { margin-top:8px; }
.ix-17 { width: 100%; padding: 14px; font-size: 16px; }
.ix-18 { display:flex; align-items:center; }
.ix-19 { height:48px; width:auto; }
#person2UnverifiedBadge { display:none; margin-left:6px; color:var(--warning,#d97706); font-size:11px; cursor:pointer; }
#values-toggle-icon-hide { display:none; }
.ix-20 { display:inline-flex; align-items:center; gap:6px; }
#inboxTabBadge { display:none; min-width:18px; height:18px; padding:0 5px; background:var(--warning-bg); color:var(--warning-text); border-radius:var(--r-full); font-size:10px; font-weight:700; align-items:center; justify-content:center; margin-left:4px; }
#triptychCard { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:16px; margin-bottom:24px; }
#triptychMine { border-top:4px solid var(--person1); padding:24px; position:relative; overflow:hidden; }
.ix-21 { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
#triptychMineAvatar { width:28px; height:28px; border-radius:50%; background:var(--person1); color:var(--text-inverse); display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; font-family:var(--font-number); }
#triptychMineName { font-family:var(--font-display); font-weight:500; font-size:15px; color:var(--text); }
#triptychMineValue { font-family:var(--font-number); font-size:30px; font-weight:700; color:var(--text); line-height:1.1; }
#triptychMineSub { font-size:13px; color:var(--text-muted); margin-top:4px; }
#triptychOurs { border-top:4px solid var(--accent-gold); padding:24px; position:relative; overflow:hidden; }
.ix-22 { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--person1),var(--person2)); color:var(--text-inverse); display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; font-family:var(--font-number); }
.ix-23 { font-family:var(--font-display); font-weight:500; font-size:15px; color:var(--text); }
#triptychOursValue { font-family:var(--font-number); font-size:36px; font-weight:700; color:var(--text); line-height:1.1; }
.ix-24 { font-size:13px; color:var(--text-muted); margin-top:4px; }
#triptychSplit { margin-top:14px; }
.ix-25 { display:flex; height:6px; border-radius:var(--r-full); overflow:hidden; background:var(--border); }
#triptychSplitMine { height:100%; background:var(--person1); width:0%; }
#triptychSplitOurs { height:100%; background:var(--accent-gold); width:0%; }
#triptychSplitYours { height:100%; background:var(--person2); width:0%; }
#triptychSplitLegend { display:flex; gap:10px; margin-top:6px; flex-wrap:wrap; font-size:11px; color:var(--text-muted); }
#triptychYours { border-top:4px solid var(--person2); padding:24px; position:relative; overflow:hidden; }
#triptychYoursAvatar { width:28px; height:28px; border-radius:50%; background:var(--person2); color:var(--text-inverse); display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; font-family:var(--font-number); }
#triptychYoursName { font-family:var(--font-display); font-weight:500; font-size:15px; color:var(--text); }
#triptychYoursValue { font-family:var(--font-number); font-size:30px; font-weight:700; color:var(--text); line-height:1.1; }
#triptychYoursSub { font-size:13px; color:var(--text-muted); margin-top:4px; }
#scheduledBillsCard { margin-bottom:24px; display:none; }
#scheduledBillsCount { background:var(--surface-muted); color:var(--text-muted); font-size:11px; }
#scheduledBillsAllLink { font-size:12px; color:var(--text-muted); }
#scheduledBillsBulkBar { display:none; padding:8px 12px; margin-bottom:8px; background:var(--danger-bg); border-radius:var(--r-md); display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ix-26 { font-size:12.5px; color:var(--danger); }
#scheduledBillsList { display:flex; flex-direction:column; gap:6px; }
#recentMovementsCard { margin-bottom:24px; }
#recentMovementsFilters { display:flex; gap:6px; }
#recentMovementsList { display:flex; flex-direction:column; gap:2px; }
#bankHealthCard { margin-bottom:24px; }
.ix-27 { font-size:12px; color:var(--text-muted); }
#goalsGrid { gap:16px; }
.ix-28 { text-transform:uppercase; letter-spacing:0.5px; }
#netWorthDelta { color:var(--success); }
#netWorthChart { height:280px; }
.ix-29 { color:var(--secondary); }
#distributionChart { height:320px; }
.ix-30 { color:var(--info); }
#evolutionChart { height:280px; }
.ix-31 { display:grid; grid-template-columns:1fr 1.2fr; gap:24px; align-items:start; }
#allocationDonut { height:280px; }
#allocationDrift { max-height:280px; overflow-y:auto; }
.ix-32 { width:40px; height:40px; }
#porBancoUpdated { margin-left:auto; }
.ix-33 { display: flex; gap: 12px; }
.ix-34 { display: flex; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; align-items: flex-end; }
.ix-35 { display: block; font-size: 12px; color: var(--text-muted); margin-bottom: 4px; }
#bankFilter { min-width: 200px; height: 44px; }
#typeFilter { min-width: 200px; height: 44px; }
.ix-36 { padding: 8px 16px; }
.ix-37 { margin-left: auto; }
#investmentViewToggle { display:inline-flex; gap:2px; background:var(--surface-muted); padding:3px; border-radius:var(--r-md); }
.ix-38 { padding:6px 14px; background:var(--surface); color:var(--text); border:1px solid var(--border); }
.ix-39 { width:14px; height:14px; }
.ix-40 { padding:6px 14px; background:transparent; color:var(--text-muted); border:1px solid transparent; }
#investmentGlance { display:none; }
.ix-41 { margin-bottom: 24px; }
#performanceComparison { padding: 20px; }
#recentTransactions { max-height: 400px; overflow-y: auto; }
.ix-42 { color:var(--success); }
.ix-43 { display:grid; grid-template-columns:minmax(240px,320px) 1fr; gap:24px; align-items:start; }
.ix-44 { padding:16px; background:var(--surface-muted); border-radius:var(--r-md); margin-top:8px; }
.ix-45 { font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); font-weight:600; }
#retirementFinal { font-size:22px; font-weight:700; color:var(--text); }
.ix-46 { font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-muted); font-weight:600; margin-top:10px; }
#retirementIncome { font-size:18px; font-weight:700; color:var(--success); }
#retirementChart { height:320px; min-height:320px; }
.ix-47 { display: flex; align-items: center; gap: 6px; }
#taxTable { padding: 20px; }
.ix-48 { margin:-4px 0 14px; }
#projectList { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
#budgetSummary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; padding:12px 0 4px; }
.ix-49 { margin-top:16px; }
#budgetsGrid { gap:12px; }
#incomesList { gap:10px; }
#expensesSummary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; padding:12px 0 4px; }
#expensesList { gap:10px; }
.ix-50 { margin-bottom:16px; }
.ix-51 { font-size:14px; color:var(--text-muted); margin-bottom:14px; }
#inboxSummary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
#inboxTabs { display:flex; gap:4px; background:var(--surface); border-radius:var(--r-md); padding:4px; margin-bottom:16px; box-shadow:var(--shadow-xs); }
#inboxBulkBar { display:none; background:var(--surface-elevated); border-radius:var(--r-md); padding:12px 16px; margin-bottom:12px; box-shadow:var(--shadow-sm); border:1px solid var(--border); align-items:center; gap:12px; }
.ix-52 { background:var(--danger-bg); color:var(--danger); }
#debtTotal { color:var(--danger); }
#debtsList { gap:16px; }
#investmentNameRow { display: none; }
#foreignCountryRow { display:none; }
.ix-53 { color:var(--warning-text); margin-top:6px; font-size:12px; }
#incentivizedGroup { display: none; }
#accountCountryRow { display:none; }
#accountRateRow { display:none; }
.ix-54 { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.ix-55 { max-width:min(1200px, 96vw); width:96vw; max-height:92vh; display:flex; flex-direction:column; }
.ix-56 { padding-bottom:8px; margin-bottom:0; }
#accountHistoryBody { padding:4px 0 0; flex:1; overflow:hidden; display:flex; flex-direction:column; }
.ix-57 { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
#transferDestination { display: none; }
#balanceUpdateGroup { display: none; }
.ix-58 { color: var(--gray); display: block; margin-top: 4px; }
#transactionInfo { padding: 12px; background: var(--light); border-radius: 8px; margin-bottom: 16px; }
.ix-59 { max-width: 720px; }
#bankHealthModalBody { max-height: 65vh; overflow-y: auto; }
.ix-60 { max-width: 640px; }
#porBancoModalBody { max-height: 65vh; overflow-y: auto; }
.ix-61 { max-width: 800px; }
#historyContent { max-height: 500px; overflow-y: auto; }
#screenshotFileInput { display: none; }
.ix-62 { color:var(--text-muted); margin-bottom:12px; }
.ix-63 { font-size: 12px; color: var(--text-muted); margin-top: 8px; }
#screenshotPreview { display: none; max-width: 100%; max-height: 400px; border-radius: 8px; }
#screenshotExtractionStatus { display: none; margin-top: 16px; padding: 12px; background: var(--surface-muted); border-radius: 8px; text-align: center; }
.ix-64 { margin: 0 auto 8px; }
#screenshotErrorMessage { display: none; margin-top: 16px; padding: 12px; background: var(--danger-bg); color: var(--danger-text); border-radius: 8px; }
.ix-65 { margin-bottom: 20px; padding: 16px; background: var(--surface-hero); border-radius: 8px; }
#toggleBarcodeBtn { width: 100%; background: var(--surface-elevated); color: var(--primary); font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 8px; }
#barcodeSection { display: none; margin-top: 16px; }
.ix-66 { background: var(--surface-elevated); padding: 16px; border-radius: 8px; }
.ix-67 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 16px; }
.ix-68 { padding: 10px; background: var(--primary); color: var(--surface-app); border: 2px solid var(--primary); border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.ix-69 { padding: 10px; background: var(--surface); color: var(--primary); border: 2px solid var(--primary); border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; }
#manualInputSection { display: block; }
.ix-70 { color: var(--text); font-weight: 600; margin-bottom: 8px; }
.ix-71 { font-size: 12px; color: var(--text-muted); margin-bottom: 12px; }
#barcodeInput { font-family: monospace; font-size: 14px; margin-bottom: 12px; }
.ix-72 { display: flex; gap: 8px; }
.ix-73 { flex: 1; }
#cameraSection { display: none; }
#barcodeReader { margin-bottom: 12px; border-radius: 8px; overflow: hidden; }
#scannerStatus { text-align: center; padding: 8px; background: var(--surface-muted); border-radius: 6px; }
.ix-74 { color: var(--text-muted); margin: 0; font-size: 12px; }
#uploadSection { display: none; }
#barcodeImageInput { display: none; }
.ix-75 { width: 100%; margin-bottom: 12px; }
#imagePreview { text-align: center; margin-bottom: 12px; min-height: 100px; }
#uploadStatus { text-align: center; padding: 8px; background: var(--surface-muted); border-radius: 6px; }
.ix-76 { margin-top: 12px; padding: 12px; background: var(--info-bg); border-left: 3px solid var(--info); border-radius: 4px; }
.ix-77 { font-size: 11px; color: var(--info); margin: 0; line-height: 1.4; }
#billAccountGroup { display: none; }
#billCreditCardGroup { display: none; }
#billInstallmentToggle { display:none; }
.ix-78 { display: flex; align-items: center; gap: 8px; }
#billInstallmentGroup { display:none; padding:14px; background:var(--surface-muted); border-radius:var(--r-md); margin-bottom:16px; }
#billInstallmentPerValue { padding:10px 12px; background:var(--surface); border:2px solid var(--border); border-radius:var(--r-md); font-weight:600; color:var(--text); font-family:var(--font-number); }
#billInstallmentPreview { font-size:13px; color:var(--text-muted); margin-top:6px; }
#billRecurrenceGroup { display: none; }
#billProjectCategoryGroup { display:none; }
.ix-79 { max-width: 900px; }
.ix-80 { padding: 20px; }
.ix-81 { margin-bottom: 30px; }
.ix-82 { color: var(--primary); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.ix-83 { background: var(--warning-bg); padding: 16px; border-radius: 8px; border-left: 4px solid var(--warning); margin-bottom: 16px; }
.ix-84 { color: var(--warning-text); }
.ix-85 { background: var(--light); padding: 16px; border-radius: 8px; margin-bottom: 16px; }
.ix-86 { margin: 8px 0; padding-left: 20px; }
.ix-87 { margin-bottom: 16px; }
.ix-88 { cursor: pointer; font-weight: 600; padding: 8px; background: var(--light); border-radius: 4px; }
.ix-89 { margin-top: 12px; max-height: 300px; overflow-y: auto; overflow-x: auto; }
.ix-90 { width: 100%; border-collapse: collapse; font-size: 13px; }
.ix-91 { background: var(--light); }
.ix-92 { padding: 8px; text-align: left; }
.ix-93 { padding: 8px; text-align: right; }
.ix-94 { padding: 4px; }
.ix-95 { padding: 4px; text-align: right; }
.ix-96 { background: var(--info-bg); padding: 16px; border-radius: 8px; border-left: 4px solid var(--info); }
.ix-97 { margin-top: 8px; font-family: monospace; font-size: 13px; }
.ix-98 { color: var(--success); }
.ix-99 { color: var(--danger); }
.ix-100 { font-weight: 600; }
.ix-101 { margin-bottom: 20px; }
.ix-102 { width: 100%; margin-top: 12px; border-collapse: collapse; }
.ix-103 { border-bottom: 2px solid var(--border); }
.ix-104 { text-align: left; padding: 8px; }
.ix-105 { text-align: right; padding: 8px; }
.ix-106 { padding: 8px; }
.ix-107 { padding: 8px; text-align: right; font-weight: 600; }
.ix-108 { background: var(--success-bg); padding: 16px; border-radius: 8px; border-left: 4px solid var(--success); }
.ix-109 { background: var(--warning-bg); padding: 16px; border-radius: 8px; border-left: 4px solid var(--warning); }
.ix-110 { margin-top: 8px; }
.ix-111 { width: 100%; }
