:root{--b121-bg-page: #f8fafc;--b121-bg-navbar: rgba(255, 255, 255, .92);--b121-bg-atmosphere: radial-gradient(circle at 50% 20%, rgba(6, 214, 160, .1) 0%, rgba(27, 73, 152, .05) 40%, rgba(248, 250, 252, 0) 75%);--b121-surface-card: #ffffff;--b121-surface-sunken: rgba(0, 0, 0, .02);--b121-border: #e2e8f0;--b121-border-subtle: #cbd5e1;--b121-text-heading: #0f172a;--b121-text-body: #1e293b;--b121-text-muted: #475569;--b121-text-on-accent: #040a1a;--b121-accent: #06d6a0;--b121-accent-strong: #059669;--b121-accent-tint: rgba(6, 214, 160, .15);--b121-gradient-payoff: linear-gradient(135deg, #059669 0%, #047857 100%);--b121-gradient-button: linear-gradient(135deg, #06d6a0 0%, #059669 100%);--b121-tab-tray-bg: #e2e8f0;--b121-tab-inactive: #64748b;--b121-tab-active-bg: #ffffff;--b121-tab-active-text: #0f172a;--b121-tab-active-border: #059669;--b121-input-bg: #fafafa;--b121-input-text: #0f172a;--b121-input-border: #cbd5e1;--b121-notice-bg: #ecfdf5;--b121-notice-border: #a7f3d0;--b121-notice-text: #065f46;--b121-radius-hero: 20px;--b121-radius-card: 16px;--b121-radius-control: 10px;--b121-radius-pill: 20px;--b121-shadow-card: 0 20px 40px rgba(15, 23, 42, .08);--b121-shadow-button: 0 6px 20px rgba(6, 214, 160, .35);--b121-font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--b121-font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{--b121-bg-page: #040a1a;--b121-bg-navbar: rgba(4, 10, 26, .92);--b121-bg-atmosphere: radial-gradient(circle at 50% 20%, rgba(27, 73, 152, .4) 0%, rgba(6, 214, 160, .15) 35%, rgba(4, 10, 26, 0) 70%);--b121-surface-card: rgba(10, 22, 54, .92);--b121-surface-sunken: rgba(255, 255, 255, .02);--b121-border: rgba(255, 255, 255, .14);--b121-border-subtle: rgba(255, 255, 255, .08);--b121-text-heading: #ffffff;--b121-text-body: #f1f5f9;--b121-text-muted: #94a3b8;--b121-accent-strong: #06d6a0;--b121-gradient-payoff: linear-gradient(135deg, #06d6a0 0%, #059669 100%);--b121-tab-tray-bg: rgba(0, 0, 0, .5);--b121-tab-inactive: #94a3b8;--b121-tab-active-bg: #182854;--b121-tab-active-text: #ffffff;--b121-tab-active-border: rgba(6, 214, 160, .5);--b121-input-bg: rgba(4, 10, 26, .85);--b121-input-text: #ffffff;--b121-input-border: rgba(255, 255, 255, .15);--b121-notice-bg: rgba(6, 214, 160, .06);--b121-notice-border: rgba(6, 214, 160, .2);--b121-notice-text: #a7f3d0;--b121-shadow-card: 0 20px 45px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #1a73e8;--color-primary-dark: #1558b0;--color-danger: #d93025;--color-success: #1e8e3e;--color-warning: #f29900;--color-bg: #f8f9fa;--color-surface: #ffffff;--color-border: #dadce0;--color-text: #202124;--color-text-secondary: #5f6368;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08);--overlay-safe-top: 8px}@media (max-width: 767px){:root{--overlay-safe-top: 60px}}body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:14px;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 16px;font-weight:500}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-danger{background:var(--color-danger);color:#fff}.btn-warning{background:var(--color-warning);color:#fff}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover{background:#f1f3f4}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.form-control{width:100%;min-width:0;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}input[type=date].form-control{-webkit-appearance:none;appearance:none}@media (max-width: 600px){input[type=date].form-control{padding-left:4px;padding-right:4px;font-size:12px}}.form-control:focus{border-color:var(--color-primary)}.form-control.ng-invalid.ng-touched{border-color:var(--color-danger)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{position:sticky;top:0;z-index:1;background:#f1f3f4;text-align:left;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}td{padding:10px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#f8f9fa}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.badge-buy{background:#e8f0fe;color:#1a73e8}.badge-sell{background:#fce8e6;color:#d93025}.badge-interest{background:#e6f4ea;color:#1e8e3e}.badge-dividend{background:#fef7e0;color:#f29900}.badge-transfer{background:#f1f3f4;color:#5f6368}.badge-transfer_in{background:#e8f0fe;color:#1a73e8}.badge-transfer_out{background:#fce8e6;color:#d93025}.pl-positive{color:var(--color-success);font-weight:500}.pl-negative{color:var(--color-danger);font-weight:500}.dir-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dir-income{background:#e6f4ea;color:#137333}.dir-expense{background:#fce8e6;color:#c5221f}.dir-transfer{background:#e8f0fe;color:#1a73e8}.type-badge{display:inline-block;padding:2px 7px;border-radius:12px;font-size:11px;font-weight:500;background:#f1f3f4;color:var(--color-text-secondary)}.status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.s-linked{background:#e6f4ea;color:#137333}.s-paid{background:#e8f0fe;color:#1a73e8}.s-missed{background:#fce8e6;color:#c5221f}.s-overdue{background:#fef7e0;color:#b06a00}.s-upcoming{background:#f1f3f4;color:var(--color-text-secondary)}.s-awaiting-data{background:#eef1f5;color:#5b6472;border:1px dashed #b9c3d0;padding:1px 7px}.form-row{display:flex;flex-wrap:wrap;gap:12px}.check-label{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--color-text);cursor:pointer;font-size:14px;text-transform:none;letter-spacing:0}.field-hint{color:var(--color-text-secondary);font-weight:400;font-size:12px;text-transform:none;letter-spacing:0;display:block;margin-top:2px}.btn-dots{background:none;border:none;cursor:pointer;font-size:20px;color:var(--color-text-secondary);padding:2px 8px;border-radius:4px;line-height:1}.btn-dots:hover{background:#f1f3f4;color:var(--color-text)}.dropdown{position:fixed;z-index:500;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:160px;padding:4px 0}.dropdown button{display:block;width:100%;text-align:left;padding:8px 16px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--color-text);white-space:nowrap}.dropdown button:hover{background:#f1f3f4}.dropdown button.danger{color:var(--color-danger)}.dropdown button.warning{color:var(--color-warning)}.dropdown .sep,.sep{height:1px;background:var(--color-border);margin:4px 0}.page{padding:24px;max-width:1280px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}@media (max-width: 767px){.page{padding:16px 12px}.page-header{flex-wrap:wrap;gap:10px;margin-bottom:16px}}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px}.alert-error{background:#fce8e6;color:#d93025;border:1px solid #f28b82}.alert-success{background:#e6f4ea;color:#1e8e3e;border:1px solid #81c995}.alert-info{background:#e8f0fe;color:#1a73e8;border:1px solid #8ab4f8}.alert-warning{background:#fef7e0;color:#b06000;border:1px solid #fdd663}
