.file-input-container{margin:0;padding:20px;border:2px dashed color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.35)) 80%,transparent);border-radius:12px;text-align:center;background:color-mix(in srgb,var(--theme-card-strong,#ffffff) 92%,transparent);color:var(--theme-text,#1b2232)}.file-input-container #fileButton,.file-input-container button#fileButton{background:linear-gradient(135deg,var(--accent,#0f4c81),var(--accent2,#1a73b8));color:#ffffff;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;box-shadow:0 4px 12px color-mix(in srgb,var(--accent,#0f4c81) 30%,transparent);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.file-input-container #fileButton:hover{filter:brightness(1.08);transform:translateY(-1px)}.file-input-container #fileButton:disabled{filter:grayscale(.4) brightness(.9);cursor:not-allowed}.file-input-container .file-info{margin-top:15px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.35)) 80%,transparent);border-radius:8px;background:color-mix(in srgb,var(--theme-card-strong,#ffffff) 96%,transparent);color:var(--theme-text,#1b2232);text-align:left;font-size:14px;line-height:1.45}.file-input-container .file-info strong{color:var(--theme-text-strong,var(--theme-text,#1b2232))}.file-input-container .success-message{color:var(--theme-success,#2e7d32);font-weight:600;padding:8px 0}.file-input-container .error-message{color:var(--theme-danger,#c62828);font-weight:600;padding:8px 0}.file-input-container .loading{opacity:.75;cursor:progress;color:var(--theme-text-muted,var(--theme-text,#1b2232))}.file-input-container .hidden{display:none!important}.cdr-analysis{margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.35)) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--theme-card-strong,#ffffff) 96%,transparent);color:var(--theme-text,#1b2232);text-align:left;font-size:14px;line-height:1.5}.cdr-analysis-title{font-weight:700;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.35)) 70%,transparent);color:var(--theme-text-strong,var(--theme-text,#1b2232));word-break:break-word}.cdr-analysis-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.cdr-analysis-row span{color:var(--theme-text-muted,var(--theme-text,#1b2232))}.cdr-analysis-row b{color:var(--theme-text-strong,var(--theme-text,#1b2232));white-space:nowrap}.cdr-analysis-ts{opacity:.75;font-size:12px;margin-top:4px}html[data-theme="dark"] .cdr-analysis{background:color-mix(in srgb,var(--theme-card-strong,#1a1f2b) 96%,transparent);color:var(--theme-text,#e6ecf5)}html[data-theme="dark"] .cdr-analysis-row span{color:var(--theme-text-muted,#c6cfdc)}html[data-theme="dark"] .cdr-analysis-row b{color:var(--theme-text,#e6ecf5)}.cdr-analysis{max-width:100%;overflow:hidden}.ffp-summary-wrap{margin-top:12px;border-radius:10px;overflow-x:auto;overflow-y:hidden;box-shadow:0 2px 10px color-mix(in srgb,var(--accent,#0f4c81) 10%,transparent);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ffp-summary-wrap::-webkit-scrollbar{height:6px}.ffp-summary-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent,#0f4c81) 40%,transparent);border-radius:3px}.ffp-summary{width:100%;min-width:360px;border-collapse:separate;border-spacing:0;font-size:12px;background:color-mix(in srgb,var(--theme-card-strong,#ffffff) 100%,transparent);table-layout:auto}.ffp-summary thead th{padding:8px 6px;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:0.03em;color:#ffffff;background:linear-gradient(135deg,var(--accent,#0f4c81),var(--accent2,#1a73b8));border:none;text-align:left;white-space:nowrap}.ffp-summary thead th:first-child{padding-left:10px}.ffp-summary thead th:last-child{padding-right:10px}.ffp-summary tbody td{padding:7px 6px;border-bottom:1px solid color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.18)) 70%,transparent);color:var(--theme-text,#1b2232);vertical-align:middle;white-space:nowrap}.ffp-summary tbody td:first-child{padding-left:10px;font-weight:600}.ffp-summary tbody td:last-child{padding-right:10px}.ffp-summary tbody tr:last-child td{border-bottom:none}.ffp-summary tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--accent,#0f4c81) 4%,transparent)}.ffp-summary tbody tr:hover td{background:color-mix(in srgb,var(--accent,#0f4c81) 10%,transparent);transition:background 0.15s ease}.ffp-summary td.num{text-align:right;font-variant-numeric:tabular-nums}.ffp-summary td.ffp-row-price{font-weight:700;color:var(--accent,#0f4c81)}.ffp-summary td.ffp-row-link a{display:inline-block;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--accent,#0f4c81) 12%,transparent);color:var(--accent,#0f4c81);text-decoration:none;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;transition:background 0.15s ease}.ffp-summary td.ffp-row-link a:hover{background:color-mix(in srgb,var(--accent,#0f4c81) 22%,transparent);text-decoration:none}.ffp-total-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#0f4c81) 8%,transparent),color-mix(in srgb,var(--accent2,#1a73b8) 14%,transparent));border:1px solid color-mix(in srgb,var(--accent,#0f4c81) 20%,transparent);font-size:13px;font-weight:600}.ffp-total-row span{color:var(--theme-text,#1b2232)}.ffp-total-row b{color:var(--accent,#0f4c81);font-size:16px;font-weight:800;white-space:nowrap}html[data-theme="dark"] .ffp-summary{background:color-mix(in srgb,var(--theme-card-strong,#1a1f2b) 100%,transparent)}html[data-theme="dark"] .ffp-summary tbody td{color:var(--theme-text,#e6ecf5);border-bottom-color:color-mix(in srgb,#ffffff 8%,transparent)}html[data-theme="dark"] .ffp-summary tbody tr:nth-child(even) td{background:color-mix(in srgb,#ffffff 4%,transparent)}html[data-theme="dark"] .ffp-summary tbody tr:hover td{background:color-mix(in srgb,var(--accent2,#1a73b8) 16%,transparent)}html[data-theme="dark"] .ffp-summary td.ffp-row-price{color:#7cb7ff}html[data-theme="dark"] .ffp-summary td.ffp-row-link a{background:color-mix(in srgb,#7cb7ff 15%,transparent);color:#7cb7ff}html[data-theme="dark"] .ffp-total-row{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2,#1a73b8) 14%,transparent),color-mix(in srgb,var(--accent2,#1a73b8) 22%,transparent));border-color:color-mix(in srgb,var(--accent2,#1a73b8) 35%,transparent)}html[data-theme="dark"] .ffp-total-row span{color:var(--theme-text,#e6ecf5)}html[data-theme="dark"] .ffp-total-row b{color:#8ec5ff}.ffp-file-list li{border-bottom:1px dashed color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.2)) 60%,transparent)}.ffp-file-list li:last-child{border-bottom:none}html[data-theme="dark"] .ffp-file-list li{border-bottom-color:color-mix(in srgb,#ffffff 10%,transparent)}.mode-selector{display:inline-flex;gap:4px;align-items:center;margin:4px 0 10px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--theme-border,rgba(15,76,129,0.35)) 80%,transparent);border-radius:6px;background:color-mix(in srgb,var(--theme-card-strong,#ffffff) 92%,transparent);color:var(--theme-text,#1b2232);font-size:14px}.mode-selector label{padding:4px 8px;margin:0;cursor:pointer;color:var(--theme-text,#1b2232)}.mode-selector input[type="radio"]{margin:0 4px 0 0;vertical-align:middle;accent-color:var(--accent,#0f4c81)}html[data-theme="dark"] .mode-selector{background:color-mix(in srgb,var(--theme-card-strong,#1a1f2b) 90%,transparent);border-color:color-mix(in srgb,var(--theme-border,rgba(255,255,255,0.18)) 80%,transparent);color:var(--theme-text,#e6ecf5)}html[data-theme="dark"] .mode-selector label{color:var(--theme-text,#e6ecf5)}.file-input-container #loading img{filter:none}html[data-theme="dark"] .file-input-container{background:color-mix(in srgb,var(--theme-card-strong,#1a1f2b) 90%,transparent);border-color:color-mix(in srgb,var(--theme-border,rgba(255,255,255,0.18)) 80%,transparent);color:var(--theme-text,#e6ecf5)}html[data-theme="dark"] .file-input-container .file-info{background:color-mix(in srgb,var(--theme-card-strong,#1a1f2b) 96%,transparent);color:var(--theme-text,#e6ecf5)}