/* EquityTruth — Upload page styles */

/* Upload zone */
.drop-zone { background:var(--et-bg-card); border:2px dashed #2a3f5f; border-radius:12px; padding:48px 24px;
             text-align:center; cursor:pointer; transition:all .2s; position:relative; }
.drop-zone:hover, .drop-zone.dragover { border-color:var(--et-accent); background:#1a2744; }
.drop-zone input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.drop-icon { font-size:40px; margin-bottom:12px; }
.drop-text { color:var(--et-muted); font-size:15px; }
.drop-text b { color:var(--et-accent); }
.file-name { color:#e2e8f0; font-size:14px; margin-top:12px; display:none; }

/* Buttons */
.btn-upload { display:block; width:100%; padding:14px; margin-top:20px; background:#1565c0; color:#fff;
       border:none; border-radius:8px; font-size:16px; font-weight:600; cursor:pointer; transition:background .2s; }
.btn-upload:hover { background:#1976d2; }
.btn-upload:disabled { background:#2a3f5f; color:#556; cursor:not-allowed; }
.btn-upload-secondary { background:#2a3f5f; color:#c8d6e5; }
.btn-upload-secondary:hover { background:#35506b; }

/* Progress */
.upload-progress { display:none; margin-top:24px; text-align:center; }
.upload-phase { color:var(--et-accent); font-size:15px; }
.upload-sub { color:#6b7f99; font-size:13px; margin-top:6px; }

/* Error */
.upload-error { display:none; margin-top:16px; padding:12px 16px; background:#2d1b1b; border:1px solid #5c2020;
         border-radius:8px; color:#ef9a9a; font-size:14px; }

/* Preview */
.preview { display:none; margin-top:24px; }
.preview-card { background:var(--et-bg-card); border-radius:12px; padding:24px; margin-bottom:16px; }
.preview-card h3 { color:#e2e8f0; font-size:16px; margin-bottom:16px; }
.preview-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid #1e3050; font-size:14px; }
.preview-row:last-child { border-bottom:none; }
.preview-label { color:#6b7f99; }
.preview-value { color:#e2e8f0; }
.title-input { background:#0d1b2e; border:1px solid #2a3f5f; border-radius:6px; padding:10px 14px;
               color:#e2e8f0; font-size:15px; width:100%; margin-top:8px; }
.title-input:focus { outline:none; border-color:var(--et-accent); }

/* Symbols table */
.sym-table { width:100%; border-collapse:collapse; font-size:13px; margin-top:8px; }
.sym-table th { color:#6b7f99; text-align:left; padding:8px 6px; border-bottom:1px solid #1e3050;
                font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:0.5px; }
.sym-table td { padding:8px 6px; border-bottom:1px solid #141e30; }
.sym-table .raw { color:#6b7f99; font-size:12px; }
.sym-table .mapped { color:#e2e8f0; font-weight:600; }
.q-full { color:#66bb6a; }
.q-partial { color:#ffa726; }
.q-synthetic { color:#66bb6a; cursor:pointer; text-decoration:underline; text-decoration-style:dotted;
              text-underline-offset:3px; }
.q-synthetic:hover { color:#81c784; }
.q-missing { color:var(--et-danger); }
.q-none { color:var(--et-danger); }
.q-missing-link { color:var(--et-danger); cursor:pointer; text-decoration:underline; text-decoration-style:dotted;
                  text-underline-offset:3px; position:relative; }
.q-missing-link:hover { color:#ff7043; }
.sim-link { color:#ffa726; cursor:pointer; text-decoration:underline; text-decoration-style:dotted;
            text-underline-offset:3px; }
.sim-link:hover { color:#ffcc80; }
.ccy-warn { color:var(--et-danger); cursor:pointer; margin-left:8px; font-size:15px; vertical-align:middle;
            line-height:1; }
.ccy-warn:hover { color:#ff7043; }
.cs-input { background:#0d1b2e; border:1px solid #2a3f5f; border-radius:4px; padding:3px 6px;
            color:#e2e8f0; font-size:13px; width:80px; text-align:right; display:block; margin-left:auto; }
.cs-input:focus { outline:none; border-color:var(--et-accent); }
.cs-spinner { display:inline-block; width:12px; height:12px; border:2px solid #334155;
              border-top-color:var(--et-accent); border-radius:50%; animation:cs-spin .6s linear infinite;
              vertical-align:middle; margin-left:4px; }
@keyframes cs-spin { to { transform:rotate(360deg); } }
.cs-hint { display:inline-block; width:14px; height:14px; line-height:14px; text-align:center;
           font-size:10px; font-weight:700; color:#90caf9; border:1px solid #3a5f8f; border-radius:50%;
           cursor:help; margin-left:5px; position:relative; vertical-align:middle; }
.cs-hint::after { content:attr(data-tip); position:absolute; left:50%; top:calc(100% + 6px);
                  transform:translateX(-70%); background:#1e3050; color:#c8d6e5; font-size:12px;
                  font-weight:400; padding:8px 12px; border-radius:6px; border:1px solid #2a3f5f;
                  width:240px; white-space:normal; pointer-events:none; opacity:0; transition:opacity .1s;
                  z-index:100; line-height:1.4; }
.cs-hint:hover::after { opacity:1; }

/* Missing quotes popup */
.q-popup-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1000;
                   justify-content:center; align-items:center; }
.q-popup-overlay.active { display:flex; }
.q-popup { background:var(--et-bg-card); border:1px solid #2a3f5f; border-radius:12px; padding:24px; max-width:420px; width:90%;
           box-shadow:0 8px 32px rgba(0,0,0,.5); }
.q-popup h4 { color:#e2e8f0; font-size:15px; margin-bottom:16px; }
.q-popup .q-section { margin-bottom:12px; }
.q-popup .q-section-title { font-size:12px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; }
.q-popup .q-section-title.ok { color:#66bb6a; }
.q-popup .q-section-title.no { color:var(--et-danger); }
.q-popup li { font-size:13px; color:var(--et-muted); padding:2px 0; list-style:none; }
.q-popup li::before { margin-right:6px; }
.q-popup li.ok::before { content:'\2713'; color:#66bb6a; }
.q-popup li.no::before { content:'\2717'; color:var(--et-danger); }
.q-popup-close { margin-top:16px; text-align:right; }
.q-popup-close button { background:#2a3f5f; color:#c8d6e5; border:none; padding:6px 16px;
                        border-radius:6px; cursor:pointer; font-size:13px; }
.q-popup-close button:hover { background:#35506b; }

/* Cashflows */
.cf-row { display:inline-block; margin-right:16px; font-size:14px; }
.cf-label { color:#6b7f99; }
.cf-val { color:#e2e8f0; }
.cf-pos { color:#66bb6a; }
.cf-neg { color:var(--et-danger); }

/* History */
.history { margin-top:48px; }
.history h3 { color:var(--et-muted); font-size:13px; text-transform:uppercase; letter-spacing:1px; margin-bottom:12px; }
.history-list { list-style:none; padding:0; }
.history-list li { background:var(--et-bg-card); border-radius:8px; padding:12px 16px; margin-bottom:8px;
                   display:flex; justify-content:space-between; align-items:center; }
.history-list .title { color:#e2e8f0; font-size:14px; text-decoration:none; }
.history-list .title:hover { color:var(--et-accent); }
.history-list .meta { color:#6b7f99; font-size:12px; }
.badge-status { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; }
.badge-status.completed { background:#1b5e20; color:#a5d6a7; }
.badge-status.processing { background:#0d47a1; color:#90caf9; }
.badge-status.pending { background:#33302a; color:#ffe082; }
.badge-status.failed { background:#4a1c1c; color:#ef9a9a; }
.history-list .li-content { flex:1; min-width:0; }
.history-list .del-btn { background:none; border:none; color:#6b7f99; cursor:pointer; font-size:16px; padding:4px 8px; border-radius:4px; flex-shrink:0; margin-left:8px; }
.history-list .del-btn:hover { color:#ef9a9a; background:#2a1a1a; }
.empty { color:#556; font-size:14px; text-align:center; padding:20px; }

/* Timezone */
.tz-ok { color:#a5d6a7; }
.tz-warn { color:#ffe082; }
.tz-err { color:#ef9a9a; }
.tz-detail { color:#6b7f99; font-size:12px; margin-top:4px; }
.tz-apply { display:block; width:100%; margin-top:14px; padding:10px; background:#1565c0; color:#fff; border:none; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; transition:background .2s; text-align:center; }
.tz-apply:hover { background:#1976d2; }
.tz-applied { display:block; width:100%; margin-top:14px; padding:10px; background:#1b3a2a; color:#a5d6a7; border:1px solid #2d5a3a; border-radius:6px; font-size:14px; font-weight:600; text-align:center; }
.tz-samples { margin-top:12px; }
.tz-samples table { width:100%; font-size:12px; border-collapse:collapse; }
.tz-samples th { color:#6b7f99; font-weight:500; text-align:left; padding:4px 6px; border-bottom:1px solid #1e3050; }
.tz-samples td { padding:4px 6px; border-bottom:1px solid #141e30; }
.tz-samples .match { color:#a5d6a7; }
.tz-samples .mismatch { color:#ef9a9a; }
.tz-samples .close-match { color:#ffe082; }
.tz-heatmap { margin-top:12px; }
.tz-heatmap-title { color:#6b7f99; font-size:12px; margin-bottom:6px; }
.tz-heatmap-bar { display:flex; align-items:flex-end; gap:1px; height:60px; }
.tz-heatmap-bar .bar { flex:1; min-width:2px; border-radius:1px 1px 0 0; transition:background .2s; cursor:default; position:relative; }
.tz-heatmap-labels { display:flex; justify-content:space-between; font-size:10px; color:#556; margin-top:2px; }
.tz-toggle { background:none; border:1px solid #2a3f5f; color:#6b7f99; border-radius:4px; padding:2px 8px; cursor:pointer; font-size:11px; margin-left:8px; }
.tz-toggle:hover { border-color:var(--et-accent); color:#c8d6e5; }

/* Supported formats (under drop zone) — grouped by file type */
.supported-formats { margin-top:16px; font-size:12px; }
.supported-formats .sf-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;
                             justify-content:center; margin-top:8px; }
.supported-formats .sf-row:first-child { margin-top:0; }
.supported-formats .sf-kind { color:#6b7f99; font-size:10px; font-weight:700; letter-spacing:1px;
                              text-transform:uppercase; min-width:38px; text-align:right; }
.supported-formats .sf-chip { color:#c8d6e5; background:var(--et-bg-card); border:1px solid #2a3f5f;
                              border-radius:999px; padding:3px 10px; white-space:nowrap; }

/* Demo gallery */
.demo-section { margin-top:48px; }
.demo-section h3 { color:var(--et-muted); font-size:13px; text-transform:uppercase; letter-spacing:1px; margin-bottom:4px; }
.demo-section .demo-sub { color:#6b7f99; font-size:13px; margin-bottom:16px; }
.demo-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:12px; }
.demo-card { display:flex; flex-direction:column; align-items:flex-start; gap:6px;
             background:var(--et-bg-card); border:1px solid #1e3050; border-radius:12px; padding:16px;
             text-decoration:none; transition:border-color .15s, transform .15s; position:relative; }
a.demo-card:hover { border-color:var(--et-accent); transform:translateY(-2px); }
.demo-card-soon { cursor:default; opacity:0.6; }
.demo-badge { font-size:10px; text-transform:uppercase; letter-spacing:0.5px; color:#90caf9;
              background:#15243f; border:1px solid #2a3f5f; border-radius:6px; padding:2px 8px; }
.demo-icon { font-size:22px; color:var(--et-accent); margin-top:2px; }
.demo-title { color:#e2e8f0; font-size:15px; font-weight:600; }
.demo-desc { color:#6b7f99; font-size:12px; line-height:1.4; flex:1; }
.demo-cta { color:var(--et-accent); font-size:12px; font-weight:600; margin-top:4px; }
.demo-cta i { font-size:11px; transition:transform .15s; }
a.demo-card:hover .demo-cta i { transform:translateX(3px); }
.demo-cta-soon { color:#556; font-weight:500; }

.hidden { display:none !important; }
