.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{background:#1a1a2e;color:#eee;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.layout-title{margin:0;font-size:1.25rem}.layout-nav{display:flex;gap:1rem;flex-wrap:wrap}.layout-nav a{color:#aaa;text-decoration:none}.layout-nav a:hover{color:#fff}.layout-nav a.active{color:#7c3aed;font-weight:600}.layout-user{display:flex;align-items:center;gap:8px;font-size:13px}.layout-user button{border:1px solid #4b5563;background:transparent;color:#e5e7eb;border-radius:6px;padding:4px 8px;cursor:pointer}.layout-user button:hover{border-color:#7c3aed}.layout-main{flex:1;padding:1rem}.overview-page{max-width:1280px;margin:0 auto}.overview-header{margin-bottom:1rem}.overview-header h1{margin:0 0 .35rem;font-size:1.35rem}.overview-header p{margin:0;color:#6b7280;font-size:.92rem}.overview-config{margin-bottom:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.overview-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.overview-config label{display:flex;flex-direction:column;gap:.35rem;color:#374151;font-size:.86rem}.overview-config input,.overview-config select{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:.55rem .65rem;color:#111827;background:#fff;font-size:.9rem}.overview-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem;color:#6b7280;font-size:.86rem}.overview-actions button{border:none;border-radius:8px;padding:.6rem 1.05rem;background:#2563eb;color:#fff;cursor:pointer;font-weight:600}.overview-actions button:disabled{cursor:not-allowed;opacity:.65}.overview-error,.overview-card-error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:10px;padding:.75rem .9rem;white-space:pre-wrap}.overview-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;color:#4b5563;font-size:.9rem}.overview-summary span{background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:.35rem .7rem}.overview-instrument-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.overview-instrument-card{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;background:#f9fafb}.overview-instrument-card h3{margin:0 0 .5rem;font-size:.95rem}.overview-instrument-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}.overview-instrument-fields div{display:flex;flex-direction:column;gap:.2rem}.overview-instrument-fields span{color:#6b7280;font-size:.78rem}.overview-instrument-fields strong{color:#111827;font-size:.85rem;word-break:break-all}.overview-grid{display:grid;grid-template-columns:1fr;gap:1rem}.overview-card{padding:1rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.overview-card-title{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.75rem}.overview-card-title h2{margin:0;font-size:1rem}.overview-card-title span{color:#6b7280;font-size:.86rem}.overview-chart{position:relative;width:100%;min-height:360px}.overview-empty{display:flex;align-items:center;justify-content:center;min-height:180px;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;background:#f9fafb}.overview-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:-.25rem 0 .75rem;color:#6b7280;font-size:.82rem}.overview-legend span{display:inline-flex;align-items:center;gap:.35rem}.overview-dot{width:.6rem;height:.6rem;border-radius:999px;display:inline-block}.overview-tooltip{position:absolute;z-index:10;min-width:190px;max-width:min(420px,calc(100% - 24px));border:1px solid #d1d5db;border-radius:10px;background:#fffffff5;box-shadow:0 10px 24px #0f172a24;color:#111827;font-size:.78rem;padding:.55rem .65rem;pointer-events:none}.overview-tooltip-title{margin-bottom:.4rem;color:#374151;font-weight:700}.overview-tooltip-row{display:flex;justify-content:space-between;gap:1rem;line-height:1.45}.overview-tooltip-label{display:inline-flex;align-items:center;gap:.35rem;color:#4b5563}.overview-tooltip-value{color:#111827;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.overview-deposit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.overview-deposit-card{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;background:#f9fafb}.overview-deposit-card h3{margin:0 0 .5rem;font-size:.95rem}.overview-deposit-table{width:100%;border-collapse:collapse;font-size:.82rem}.overview-deposit-table th,.overview-deposit-table td{padding:.35rem .25rem;border-bottom:1px solid #e5e7eb;text-align:left}.overview-status-ok{color:#15803d;font-weight:600}.overview-status-no{color:#b91c1c;font-weight:600}@media (max-width: 900px){.overview-config-grid,.overview-deposit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-instrument-grid,.overview-instrument-fields{grid-template-columns:1fr}}@media (max-width: 640px){.overview-config-grid,.overview-deposit-grid{grid-template-columns:1fr}.overview-actions,.overview-card-title{align-items:flex-start;flex-direction:column}}.chart-with-tooltip{position:relative}.chart-tooltip{position:absolute;z-index:10;padding:6px 10px;font-size:12px;line-height:1.4;color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 2px 8px #0000001f;pointer-events:none;white-space:nowrap}.chart-tooltip-row{display:flex;justify-content:space-between;gap:12px}.chart-tooltip-row .label{color:#6b7280}.chart-tooltip-row .value{font-weight:600}.loan-info-page{max-width:960px;margin:0 auto}.loan-info-header h2{margin:0 0 .25rem;font-size:1.25rem}.loan-info-desc{font-size:.9rem;color:#666;margin:0 0 1rem}.loan-info-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.loan-info-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#374151}.loan-info-controls select,.loan-info-controls input[type=text],.loan-info-controls input[type=datetime-local]{padding:.45rem .55rem;min-width:140px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.loan-info-controls input.loan-info-currency{min-width:100px}.loan-info-btn{padding:.5rem 1.1rem;background:#059669;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;height:fit-content}.loan-info-btn:hover:not(:disabled){background:#047857}.loan-info-btn:disabled{background:#9ca3af;cursor:not-allowed}.loan-info-hint{font-size:.8rem;color:#6b7280;margin:-.5rem 0 1rem}.loan-info-error{padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.loan-info-section{margin-bottom:1.5rem}.loan-info-section h3{margin:0 0 .5rem;font-size:1rem;color:#111827}.loan-info-meta{font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.loan-info-table-wrap{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.loan-info-table{width:100%;border-collapse:collapse;font-size:.85rem}.loan-info-table th,.loan-info-table td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid #e5e7eb}.loan-info-table th{background:#f9fafb;font-weight:600;color:#374151;white-space:nowrap}.loan-info-table td.num{font-variant-numeric:tabular-nums;text-align:right}.loan-info-chart-section{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #00000014}.loan-info-chart-wrap{overflow-x:auto;padding-left:6px}.loan-info-chart-empty{height:200px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.9rem}.loan-info-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.85rem;color:#374151}.loan-info-legend-item{display:inline-flex;align-items:center;gap:.35rem}.loan-info-legend-dot{width:10px;height:10px;border-radius:50%}.loan-info-legend-note{flex-basis:100%;font-size:.8rem;color:#64748b;margin-top:.15rem}.opp-top-page{display:flex;flex-direction:column;gap:1rem}.opp-top-header h2{margin:0 0 .25rem}.opp-top-desc{margin:0;color:#4b5563;font-size:.95rem}.opp-top-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.opp-top-filter-field{display:inline-flex;flex-direction:column;gap:.25rem;min-width:180px;font-size:.82rem;color:#4b5563}.opp-top-filter-field select,.opp-top-filter-field input{min-height:34px;border:1px solid #d1d5db;border-radius:8px;padding:.35rem .55rem;background:#fff;color:#111827}.opp-top-toolbar button{padding:.5rem .9rem;border:none;border-radius:8px;background:#7c3aed;color:#fff;cursor:pointer;font-weight:600}.opp-top-toolbar button:disabled{opacity:.65;cursor:not-allowed}.opp-top-meta{margin:0;color:#6b7280;font-size:.9rem}.opp-top-error{padding:.9rem 1rem;border-radius:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.opp-top-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.opp-top-table{width:100%;border-collapse:collapse;font-size:.9rem}.opp-top-table th,.opp-top-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid #f3f4f6}.opp-top-table th{background:#f9fafb;color:#374151;font-weight:600;white-space:nowrap}.opp-top-table tbody tr:hover{background:#faf5ff}.opp-top-row-clickable{cursor:pointer}.opp-top-table .num{text-align:right;font-variant-numeric:tabular-nums}.opp-top-empty{padding:2rem;text-align:center;color:#6b7280}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a}.login-card{width:360px;display:flex;flex-direction:column;gap:12px;background:#111827;color:#e5e7eb;border:1px solid #1f2937;border-radius:10px;padding:20px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:14px}.login-card input{border-radius:6px;border:1px solid #374151;background:#0b1220;color:#f9fafb;padding:8px 10px}.login-card button{margin-top:4px;border:none;border-radius:6px;background:#7c3aed;color:#fff;padding:10px;cursor:pointer}.login-card button:disabled{opacity:.7;cursor:not-allowed}.login-error{color:#fca5a5;margin:0;font-size:13px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f5f5f5}#root{min-height:100vh}
