:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg: #f5f7fa;--surface: #ffffff;--surface-2: #eef1f6;--text: #1a1f2b;--text-muted: #5b6472;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-contrast: #ffffff;--border: #dfe3ea;--border-strong: #c7cdd8;--danger: #c62828;--success: #2e7d32;--radius: .6rem;--radius-sm: .4rem;--radius-pill: 999rem;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--shadow-md: 0 6px 18px rgba(16, 24, 40, .1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary) 35%, transparent);font-family:var(--font-sans);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #12151b;--surface: #1b1f27;--surface-2: #232833;--text: #e6e9ef;--text-muted: #9aa4b2;--primary: #3b82f6;--primary-hover: #60a5fa;--primary-contrast: #0b1220;--border: #2c313c;--border-strong: #3a4150;--danger: #f87171;--success: #4ade80;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45)}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;font-weight:650}h1{font-size:1.9rem}h2{font-size:1.4rem}h3{font-size:1.1rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:.45rem .9rem;background:var(--primary);color:var(--primary-contrast);font-weight:550;transition:background-color .12s ease,box-shadow .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button[type=button]:not(.link-button):not(.tag-remove){background:var(--surface);color:var(--text);border-color:var(--border-strong)}button[type=button]:not(.link-button):not(.tag-remove):hover:not(:disabled){background:var(--surface-2)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.45rem .55rem;max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}:focus-visible{outline:none}.app{max-width:60rem;margin:0 auto;padding:var(--space-8) max(var(--space-4),env(safe-area-inset-right)) var(--space-8) max(var(--space-4),env(safe-area-inset-left))}.status{font-weight:600}.status-online{color:var(--success)}.status-offline{color:var(--danger)}.status-checking{color:var(--text-muted)}.top-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.4rem .9rem;padding:.7rem max(var(--space-4),env(safe-area-inset-right)) .7rem max(var(--space-4),env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.top-bar>span{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem}.top-bar a{color:inherit;font-size:1.15rem;line-height:1;text-decoration:none}.top-bar a:hover{color:var(--primary)}.brand{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--text)!important}.page-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.action-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.account-list{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.account-card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.account-card:hover{box-shadow:var(--shadow-md)}.account-card header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.account-balance{white-space:nowrap}.account-kind,.account-owner{margin-left:.5rem;font-size:.8rem;color:var(--text-muted)}.subaccount-list{list-style:none;padding:0;margin:0}.subaccount-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:.35rem 0;border-bottom:1px solid var(--border)}.subaccount-list li:last-child{border-bottom:none}.muted{color:var(--text-muted)}.create-form,.inline-form{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0;max-width:32rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.create-form.nested{box-shadow:none;background:var(--surface-2)}.inline-form{flex-direction:row;flex-wrap:wrap;align-items:center;margin:0;padding:var(--space-3)}.inline-form input{flex:1 1 8rem;min-width:0}.inline-form .currency-input{flex:0 0 auto}.create-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem;color:var(--text-muted)}.create-form input,.create-form select,.create-form textarea{font-size:1rem}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font-weight:500;font-size:.9rem}.link-button:hover:not(:disabled){background:none;text-decoration:underline}.account-documents-link{align-self:flex-start;font-size:.85rem}.movement-table{width:100%;border-collapse:collapse;margin-top:var(--space-4)}.movement-table th,.movement-table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.movement-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:2px solid var(--border-strong)}.movement-table tbody tr:hover{background:var(--surface-2)}.amount-col{text-align:right;white-space:nowrap}.negative{color:var(--danger)}.positive{color:var(--success)}.transfer-hint{font-size:.85rem;color:var(--text-muted)}.tag-row{margin-top:var(--space-2)}.tag-chip{display:inline-flex;align-items:center;gap:.2rem;background:color-mix(in srgb,var(--primary) 14%,transparent);color:color-mix(in srgb,var(--primary) 80%,var(--text));border-radius:var(--radius-pill);padding:.12rem .6rem;font-size:.85rem;margin-right:.3rem}.tag-chip.small{font-size:.75rem;padding:.05rem .5rem}.tag-remove{background:none!important;border:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0}.tag-input{position:relative}.tag-input-box{display:flex;flex-wrap:wrap;gap:.3rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.35rem;background:var(--surface)}.tag-input-box:focus-within{box-shadow:var(--focus-ring);border-color:var(--primary)}.tag-input-box input{flex:1;min-width:6rem;border:none;outline:none;background:transparent;color:inherit;font-size:1rem;padding:.1rem .2rem}.tag-suggestions{position:absolute;z-index:10;list-style:none;margin:.2rem 0 0;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-height:12rem;overflow-y:auto;box-shadow:var(--shadow-md)}.tag-suggestions button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:400}.tag-suggestions button:hover{background:var(--surface-2)}.split-editor{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--surface-2)}.split-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.4rem}.split-row input[type=number]{width:7rem}.split-row .tag-input{flex:1;min-width:10rem}.split-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.new-position{display:inline-flex;gap:.3rem}.allocation-list{list-style:none;padding:0;margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.positions-section,.securities-section{margin:var(--space-6) 0}.position-card{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.position-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.position-name{font-size:1rem}.position-figures{white-space:nowrap}.position-figures .link-button{margin-left:.4rem}.position-progress{height:.4rem;border-radius:var(--radius-pill);background:var(--surface-2);margin-top:.4rem;overflow:hidden}.position-progress-fill{height:100%;background:var(--success)}.position-progress-fill.negative-fill{background:var(--danger)}.position-history{margin-top:var(--space-2);font-size:.9rem}.error{color:var(--danger)}.currency-input{width:4.5rem;text-transform:uppercase}.grand-total{font-size:1.15rem}.settings-block{margin-bottom:var(--space-8)}.document-list{list-style:none;padding:0;margin:var(--space-2) 0}.document-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.document-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.target-picker{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);background:var(--surface-2)}.target-group{margin-bottom:var(--space-2)}.target-group label{display:block}.target-subaccount{margin-left:1.25rem;font-size:.9rem;color:var(--text-muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.dossier-table{width:100%;border-collapse:collapse}.dossier-table th,.dossier-table td{text-align:left;padding:.4rem .45rem;vertical-align:top;border-bottom:1px solid var(--border)}.dossier-table input{width:100%;box-sizing:border-box}.heir-list{list-style:none;padding:0;margin:0 0 var(--space-3)}.heir-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.veto-banner{background:#7f1d1d;color:#fff;border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.veto-banner button{margin-left:.5rem;background:#fff;color:#7f1d1d;border-color:#fff}.dev-login{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;max-width:28rem;margin-top:var(--space-4)}.dev-login input{flex:1 1 12rem;min-width:0}details>summary{cursor:pointer;color:var(--text-muted);padding:var(--space-1) 0}@media(max-width:40rem){.app{padding:var(--space-4) max(.75rem,env(safe-area-inset-right)) var(--space-4) max(.75rem,env(safe-area-inset-left))}.account-list{grid-template-columns:1fr}.movement-table th:first-child,.movement-table td:first-child{white-space:nowrap}.movement-table,.dossier-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
