:root{--bg:#05070d;--panel:rgba(13,18,30,.78);--panel2:rgba(255,255,255,.055);--line:rgba(255,255,255,.10);--text:#f6f8ff;--muted:#8b95aa;--cyan:#00f5d4;--violet:#9b5cff;--green:#22e58d;--red:#ff4d6d;--amber:#ffb020;--shadow:0 24px 70px rgba(0,0,0,.45)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -10%,rgba(155,92,255,.25),transparent 35%),radial-gradient(circle at 20% 10%,rgba(0,245,212,.14),transparent 28%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.02em}.aurora{position:fixed;filter:blur(70px);opacity:.45;pointer-events:none}.aurora-a{width:380px;height:380px;background:var(--cyan);right:10%;top:5%}.aurora-b{width:300px;height:300px;background:var(--violet);left:22%;bottom:8%}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:28px 20px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(6,9,18,.86),rgba(6,9,18,.56));backdrop-filter:blur(26px);z-index:3}.brand{display:flex;gap:13px;align-items:center;margin-bottom:34px}.brand span,.eyebrow,.metric span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.card-head span{display:block;color:rgba(246,248,255,.72);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;text-shadow:0 0 18px rgba(0,245,212,.16)}.logo{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#001b19;background:linear-gradient(135deg,var(--cyan),#7cffc8);box-shadow:0 0 35px rgba(0,245,212,.35)}nav{display:grid;gap:8px}button{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);border-radius:14px;padding:11px 14px;font-weight:700;cursor:pointer}nav button{text-align:left;color:#aab3c7;background:transparent;border-color:transparent}nav button.active,button:hover{background:rgba(0,245,212,.09);border-color:rgba(0,245,212,.26);color:#fff}.primary{background:linear-gradient(135deg,var(--cyan),var(--violet));color:#03100f;border:0}.ghost{font-size:12px;padding:8px 10px}.side-card{position:absolute;left:20px;right:20px;bottom:22px;padding:18px;border:1px solid rgba(0,245,212,.20);border-radius:24px;background:linear-gradient(145deg,rgba(0,245,212,.11),rgba(155,92,255,.08));box-shadow:var(--shadow)}.side-card span,.side-card small{display:block;color:var(--muted);font-size:12px}.side-card strong{display:block;font-size:31px;margin:8px 0;color:var(--green)}main{margin-left:260px;padding:28px;position:relative;z-index:2}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:42px;margin:3px 0 0}.actions{display:flex;gap:10px}.view{display:none}.view.active{display:block}.hero-grid,.subgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.subgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-height:132px;border:1px solid var(--line);border-radius:28px;padding:20px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--shadow);position:relative;overflow:hidden}.metric:after,.card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 22%,transparent 70%,rgba(255,255,255,.04));pointer-events:none}.metric.glow{border-color:rgba(0,245,212,.28);box-shadow:0 0 50px rgba(0,245,212,.10),var(--shadow)}.metric strong{display:block;font-size:clamp(26px,2.15vw,31px);margin:18px 0 6px;white-space:nowrap}.metric small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch}.card{grid-column:span 4;min-height:310px;border:1px solid var(--line);border-radius:28px;padding:18px;background:linear-gradient(145deg,var(--panel),rgba(9,13,24,.72));box-shadow:var(--shadow);position:relative;overflow:hidden}.card.wide{grid-column:span 8}.card.tall{grid-column:span 6;min-height:410px}.card.full{grid-column:1/-1;min-height:unset}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;position:relative;z-index:1}.card h2{font-size:19px;margin:5px 0 0;color:#fff;font-weight:850;letter-spacing:-.025em;text-shadow:0 1px 20px rgba(255,255,255,.12)}canvas{max-height:245px;position:relative;z-index:1}#trendChart{max-height:250px}.holdings,.transactions,.accounts,.report-list{display:grid;gap:10px;position:relative;z-index:1}.row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.055)}.row strong{display:block}.row small{color:var(--muted)}.pos{color:var(--green)}.neg{color:var(--red)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#dbe5f8;border:1px solid var(--line);padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.045)}.dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px currentColor}.import-box{position:relative;z-index:1;color:var(--muted);line-height:1.45}.import-box label{display:block;border:1px dashed rgba(0,245,212,.33);padding:18px;border-radius:20px;text-align:center;color:#dff;cursor:pointer;background:rgba(0,245,212,.055)}.import-box input{display:none}pre{white-space:pre-wrap;font-size:12px;color:#b8c7dd;max-height:160px;overflow:auto}.search,input,select{min-width:240px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;padding:11px 13px;outline:none}select option{background:#101522;color:#fff}.table{position:relative;z-index:1;display:grid;gap:8px}.table-row{display:grid;grid-template-columns:110px 1.4fr 1fr 1fr 120px;gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.04);border-radius:16px}.table-row span{color:#aab3c7}.progress{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;position:relative;z-index:1}.progress i{display:block;height:100%;border-radius:999px;box-shadow:0 0 24px currentColor}.budget-line{position:relative;z-index:1;display:flex;justify-content:space-between;margin-top:18px;color:var(--muted)}.muted{position:relative;z-index:1;color:var(--muted);line-height:1.55}@media(max-width:1100px){.sidebar{position:relative;width:auto;height:auto;inset:auto}.side-card{position:static;margin-top:18px}main{margin-left:0}.hero-grid,.subgrid{grid-template-columns:repeat(2,1fr)}.card,.card.wide,.card.tall{grid-column:span 12}.table-row{grid-template-columns:1fr 1fr}.table-row span:nth-child(3),.table-row span:nth-child(4){display:none}}@media(max-width:650px){main{padding:16px}.topbar{display:block}.actions{margin-top:14px;flex-wrap:wrap}.hero-grid,.subgrid{grid-template-columns:1fr}.metric,.card{border-radius:22px}.topbar h1{font-size:34px}.sidebar{padding:18px}nav{grid-template-columns:repeat(2,1fr)}.search{width:100%;min-width:0}.card-head{gap:12px;flex-wrap:wrap}}
.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(0,0,0,.62);backdrop-filter:blur(18px)}.modal{width:min(720px,calc(100vw - 28px));border:1px solid rgba(0,245,212,.24);border-radius:30px;padding:24px;background:linear-gradient(145deg,rgba(12,17,30,.96),rgba(5,8,16,.96));box-shadow:0 40px 110px rgba(0,0,0,.68),0 0 60px rgba(0,245,212,.10);position:relative}.modal h2{margin:0 0 18px;color:#fff;font-size:24px}.modal-x{position:absolute;right:16px;top:14px;min-width:0;width:38px;height:38px;padding:0;border-radius:50%;font-size:22px}.form-grid,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.mapping-grid label{display:grid;gap:7px;color:rgba(246,248,255,.78);font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.form-grid input,.form-grid select,.mapping-grid select{min-width:0;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);color:var(--text);padding:12px 13px;outline:none}.form-grid input:focus,.form-grid select:focus,.mapping-grid select:focus{border-color:rgba(0,245,212,.42);box-shadow:0 0 0 3px rgba(0,245,212,.10)}.form-grid select option,.mapping-grid select option{background:#101522;color:#f6f8ff}.full-field{grid-column:1/-1}.mapping-box{margin-top:16px;display:grid;gap:13px}.mapping-box small{color:var(--muted)}pre#importResultPage,pre#importResult{white-space:pre-wrap;max-height:360px;overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:14px;background:rgba(0,0,0,.22);color:#b8ffe9}.import-box{display:grid;gap:14px}.import-box label{border:1px dashed rgba(0,245,212,.28);border-radius:20px;padding:16px;background:rgba(0,245,212,.06);color:#d7fff7;font-weight:800}@media(max-width:650px){.form-grid,.mapping-grid{grid-template-columns:1fr}.modal{border-radius:24px;padding:18px}.full-field{grid-column:auto}}
/* V0.3 premium sure.am-like refinement + dashboard builder */
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 22%,transparent 78%,rgba(0,245,212,.025)),radial-gradient(circle at 50% -20%,rgba(255,255,255,.07),transparent 34%);mix-blend-mode:screen}.sidebar{box-shadow:inset -1px 0 0 rgba(255,255,255,.05),18px 0 70px rgba(0,0,0,.22)}main{position:relative}.topbar{position:sticky;top:0;z-index:4;margin:-18px -6px 24px;padding:18px 6px 16px;background:linear-gradient(180deg,rgba(5,7,13,.92),rgba(5,7,13,.58),transparent);backdrop-filter:blur(16px)}.metric,.card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.115);background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045) 42%,rgba(0,0,0,.13));box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12)}.metric:before,.card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}.metric:after,.card:after{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(0,245,212,.12),transparent 65%);pointer-events:none}.metric:hover,.card:hover{transform:translateY(-2px);border-color:rgba(0,245,212,.28);box-shadow:0 38px 110px rgba(0,0,0,.46),0 0 55px rgba(0,245,212,.07),inset 0 1px 0 rgba(255,255,255,.14)}.metric strong{font-size:clamp(28px,4vw,44px);letter-spacing:-.06em}.metric small,.row small,.muted{color:rgba(215,224,241,.68)}.glow{background:linear-gradient(145deg,rgba(0,245,212,.18),rgba(155,92,255,.11) 48%,rgba(255,255,255,.045));border-color:rgba(0,245,212,.34)}.card-head h2{font-size:20px;letter-spacing:-.045em}.primary{background:linear-gradient(135deg,#00f5d4,#7cffc8 48%,#9bffd9);border-color:rgba(0,245,212,.55);color:#03120f;box-shadow:0 14px 34px rgba(0,245,212,.18);font-weight:900}.ghost{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);color:#dbe7ff}.row{border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.035);border-radius:18px;padding:12px 13px;margin-bottom:8px}.pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:3px 8px}.widget-hidden{display:none!important}.builder-list{display:grid;gap:10px;margin-top:14px}.builder-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:12px;background:rgba(255,255,255,.045)}.builder-row label{display:flex;align-items:center;gap:10px;min-width:0}.builder-row input{width:18px;height:18px;accent-color:#00f5d4}.builder-row small{display:block;color:var(--muted);font-weight:700;letter-spacing:0;text-transform:none}.builder-row button{min-width:38px;padding:8px 10px;border-radius:12px}.modal-lead{color:rgba(215,224,241,.72);margin:-6px 0 14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.dashboard-grid,.hero-grid{transition:all .25s ease}@media(max-width:900px){.topbar{position:relative;margin:0 0 18px;padding:0}.metric:hover,.card:hover{transform:none}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}

/* V0.3.1 readability/layout polish */
.hero-grid{grid-template-columns:repeat(4,minmax(210px,1fr));align-items:stretch}.dashboard-grid{align-items:start}.metric{min-width:0;padding-right:20px}.metric strong{display:block;font-size:clamp(25px,2.65vw,38px);line-height:1.02;letter-spacing:-.055em;white-space:nowrap;overflow:visible}.metric small{line-height:1.38}.card:not(.tall){min-height:auto}.card canvas{max-height:285px}.card[data-widget="alloc"] canvas,.card[data-widget="spending"] canvas{max-height:235px}.card[data-widget="alloc"],.card[data-widget="spending"]{align-self:start}.card[data-widget="import"]{min-height:auto}.card[data-widget="accounts"]{align-self:start}@media(max-width:1180px){.hero-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.metric strong{font-size:clamp(25px,5vw,36px)}}@media(max-width:620px){.hero-grid{grid-template-columns:1fr}.metric strong{font-size:32px;white-space:normal}}

/* V0.3.2 hard layout corrections */
.hero-grid{grid-template-columns:repeat(2,minmax(280px,1fr))!important}.metric strong{font-size:clamp(24px,2.15vw,34px)!important;white-space:nowrap!important;letter-spacing:-.05em!important}.card[data-widget="spending"],.card[data-widget="alloc"]{min-height:340px!important;height:340px!important}.card[data-widget="spending"] canvas,.card[data-widget="alloc"] canvas{height:220px!important;max-height:220px!important}.card[data-widget="trend"] canvas{height:285px!important;max-height:285px!important}.card[data-widget="import"]{min-height:320px!important;height:auto!important}@media(max-width:900px){.hero-grid{grid-template-columns:1fr!important}.metric strong{font-size:32px!important;white-space:normal!important}.card[data-widget="spending"],.card[data-widget="alloc"]{height:auto!important}}


/* V0.4 inline dashboard editing + calmer hover glow */
.metric,.card{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease,filter .18s ease!important}.metric:hover,.card:hover{transform:none!important;border-color:rgba(0,245,212,.55)!important;box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(0,245,212,.22),0 0 34px rgba(0,245,212,.18),0 0 82px rgba(155,92,255,.10),inset 0 1px 0 rgba(255,255,255,.15)!important}.dashboard-edit-panel{grid-column:1/-1;margin:0 0 18px;padding:16px;border:1px solid rgba(0,245,212,.22);border-radius:24px;background:linear-gradient(145deg,rgba(0,245,212,.10),rgba(255,255,255,.055));box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 45px rgba(0,245,212,.08);display:grid;gap:14px}.dashboard-edit-panel strong{display:block;font-size:16px}.dashboard-edit-panel small{display:block;color:rgba(215,224,241,.68);margin-top:4px}.edit-actions{display:flex;gap:10px;flex-wrap:wrap}.widget-visibility{display:flex;gap:8px;flex-wrap:wrap}.visibility-chip{padding:8px 11px;border-radius:999px;font-size:12px;color:#9aa6bd;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}.visibility-chip.active{color:#03120f;background:linear-gradient(135deg,#00f5d4,#7cffc8);border-color:rgba(0,245,212,.55)}.dashboard-editing [data-widget]{cursor:grab;outline:1px dashed rgba(0,245,212,.20);outline-offset:4px}.dashboard-editing [data-widget].dragging{opacity:.58;cursor:grabbing;box-shadow:0 0 0 1px rgba(0,245,212,.60),0 0 70px rgba(0,245,212,.22)!important}.dashboard-editing .card,.dashboard-editing .metric{padding-top:50px}.widget-edit-control{position:absolute;z-index:6;top:10px;right:10px;left:10px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}.widget-edit-control button,.drag-handle{pointer-events:auto;border:1px solid rgba(0,245,212,.28);border-radius:999px;background:rgba(5,8,16,.78);backdrop-filter:blur(14px);color:#dff;box-shadow:0 8px 24px rgba(0,0,0,.24)}.widget-edit-control button{padding:7px 10px;font-size:12px}.drag-handle{padding:6px 10px;font-weight:900;letter-spacing:-.25em;cursor:grab;color:var(--cyan)}.widget-disabled{display:block!important;opacity:.34;filter:saturate(.45);border-style:dashed!important}.widget-disabled:after{content:"Ausgeblendet";position:absolute;inset:auto 16px 14px auto;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 10px;background:rgba(0,0,0,.34);color:rgba(246,248,255,.74);font-size:12px;font-weight:800}.dashboard-editing #grid,.dashboard-editing .hero-grid{min-height:120px}

/* V0.5 quieter background */
body{background:radial-gradient(circle at 82% -12%,rgba(155,92,255,.10),transparent 34%),radial-gradient(circle at 18% 8%,rgba(0,245,212,.06),transparent 28%),#05070d!important}.aurora{opacity:.14!important;filter:blur(96px)!important}.aurora-a{width:320px!important;height:320px!important;right:4%!important;top:-4%!important}.aurora-b{width:260px!important;height:260px!important;left:12%!important;bottom:2%!important}body:before{background:linear-gradient(120deg,rgba(255,255,255,.012),transparent 30%,transparent 75%,rgba(0,245,212,.010)),radial-gradient(circle at 50% -22%,rgba(255,255,255,.026),transparent 36%)!important;opacity:.75!important}.sidebar{background:linear-gradient(180deg,rgba(6,9,18,.92),rgba(6,9,18,.70))!important}.topbar{background:linear-gradient(180deg,rgba(5,7,13,.96),rgba(5,7,13,.72),transparent)!important}

/* V0.6 even, low-intensity ambient background */
body{background:linear-gradient(135deg,#05070d 0%,#070a13 42%,#05070d 100%)!important}body:before{background:linear-gradient(120deg,rgba(0,245,212,.018),transparent 24%,rgba(155,92,255,.020) 50%,transparent 76%,rgba(0,245,212,.014)),radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.018),transparent 52%)!important;opacity:1!important}.aurora{opacity:.055!important;filter:blur(130px)!important}.aurora-a{width:720px!important;height:520px!important;right:-18%!important;top:-24%!important;background:rgba(0,245,212,.70)!important}.aurora-b{width:780px!important;height:560px!important;left:-20%!important;bottom:-28%!important;background:rgba(155,92,255,.62)!important}.metric:after,.card:after{width:260px!important;height:260px!important;right:-150px!important;top:-150px!important;background:radial-gradient(circle,rgba(0,245,212,.045),transparent 70%)!important}.glow{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.045) 48%,rgba(0,0,0,.14))!important;border-color:rgba(255,255,255,.13)!important;box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12)!important}.glow:hover{border-color:rgba(0,245,212,.32)!important;box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(0,245,212,.12),0 0 28px rgba(0,245,212,.08),inset 0 1px 0 rgba(255,255,255,.14)!important}

/* V0.7 unified dashboard canvas: all widgets are freely sortable in one surface */
.dashboard-canvas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.dashboard-canvas .metric{grid-column:span 2;min-height:150px}.dashboard-canvas .card{grid-column:span 2}.dashboard-canvas .card.wide,.dashboard-canvas .card.full{grid-column:span 4}.dashboard-canvas .card.tall{min-height:420px}.dashboard-editing .dashboard-canvas{min-height:260px}.dashboard-editing .dashboard-canvas [data-widget]{scroll-margin-top:120px}.dashboard-editing .dashboard-canvas:after{content:"Hierher ziehen";display:grid;place-items:center;min-height:96px;border:1px dashed rgba(0,245,212,.18);border-radius:22px;color:rgba(215,224,241,.36);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12px;background:rgba(255,255,255,.018);grid-column:span 2}.dashboard-editing .dashboard-canvas:has(.dragging):after{border-color:rgba(0,245,212,.36);color:rgba(0,245,212,.62);background:rgba(0,245,212,.035)}@media(max-width:1180px){.dashboard-canvas{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-canvas .metric,.dashboard-canvas .card,.dashboard-canvas .card.wide,.dashboard-canvas .card.full{grid-column:span 1}.dashboard-editing .dashboard-canvas:after{grid-column:span 1}}@media(max-width:720px){.dashboard-canvas{grid-template-columns:1fr}.dashboard-canvas .metric,.dashboard-canvas .card,.dashboard-canvas .card.wide,.dashboard-canvas .card.full{grid-column:1/-1}}

/* V0.8 transactions ledger polish */
.transactions-ledger{padding:0!important;overflow:hidden}.tx-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 22px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.tx-toolbar span{display:block;color:rgba(246,248,255,.72);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.tx-toolbar h2{margin:4px 0 4px;font-size:24px}.tx-toolbar small{color:rgba(215,224,241,.62)}.tx-search-wrap{min-width:min(460px,45vw);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.055);padding:0 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.tx-search-wrap>span{font-size:18px;color:rgba(0,245,212,.82);letter-spacing:0;text-transform:none}.tx-search-wrap .search{width:100%;border:0;background:transparent;color:var(--text);padding:14px 0;outline:none}.tx-table-head,.tx-row{display:grid;grid-template-columns:92px minmax(190px,1.5fr) minmax(180px,1fr) minmax(210px,1.2fr) minmax(140px,.8fr) 130px;gap:14px;align-items:center}.tx-table-head{padding:12px 22px;color:rgba(139,149,170,.84);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.07)}.tx-table{display:block}.tx-month{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 9px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent)}.tx-month span{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:rgba(215,224,241,.70);font-weight:900}.tx-month strong{font-size:13px;color:rgba(215,224,241,.76)}.tx-row{padding:14px 22px;border-top:1px solid rgba(255,255,255,.055);transition:background .16s ease,border-color .16s ease}.tx-row:hover{background:rgba(0,245,212,.035);border-color:rgba(0,245,212,.10)}.tx-date{color:rgba(215,224,241,.64);font-weight:800}.tx-payee{color:#fff}.category-chip{display:inline-flex;align-items:center;gap:9px;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.045);color:rgba(246,248,255,.86);font-weight:800}.category-chip i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(0,245,212,.075)}.tx-tags{display:flex;gap:6px;flex-wrap:wrap}.hash-chip{border:1px solid rgba(155,92,255,.22);border-radius:999px;padding:5px 8px;background:rgba(155,92,255,.075);color:#d9ccff;font-size:12px;font-weight:800}.tx-amount{text-align:right}.tx-empty{padding:26px 22px;color:var(--muted)}@media(max-width:1100px){.tx-toolbar{display:grid}.tx-search-wrap{min-width:0;width:100%}.tx-table-head{display:none}.tx-row{grid-template-columns:74px 1fr auto;gap:10px}.tx-row .category-chip,.tx-row .tx-tags{grid-column:2/-1}.tx-row>span:nth-of-type(4){grid-column:2/3;color:var(--muted)}.tx-amount{grid-column:3;grid-row:1;text-align:right}}@media(max-width:620px){.tx-row{grid-template-columns:1fr}.tx-date,.tx-amount{grid-column:auto;grid-row:auto;text-align:left}.category-chip{width:100%;justify-content:flex-start}}

/* V0.8.1 transaction table overflow correction */
.tx-table-head,.tx-row{grid-template-columns:82px minmax(135px,1.25fr) minmax(130px,.9fr) minmax(145px,1.05fr) minmax(105px,.75fr) minmax(96px,.55fr)!important;gap:12px!important}.tx-row>*{min-width:0}.tx-payee,.category-chip,.hash-chip{overflow:hidden;text-overflow:ellipsis}.tx-amount{white-space:nowrap;overflow:visible}.tx-table-head span:last-child{text-align:right}.transactions-ledger{max-width:100%}

/* V0.9 colored tags, subcategories, collapsible year/month groups */
.tx-table-head,.tx-row{grid-template-columns:76px minmax(120px,1.1fr) minmax(124px,.86fr) minmax(112px,.72fr) minmax(160px,1.1fr) minmax(96px,.66fr) minmax(92px,.52fr)!important}.tx-year,.tx-month{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:0;text-align:left}.tx-year{padding:15px 22px;background:linear-gradient(90deg,rgba(0,245,212,.075),rgba(155,92,255,.045),transparent);border-top:1px solid rgba(0,245,212,.14);border-bottom:1px solid rgba(255,255,255,.055);color:#fff}.tx-year span{font-size:14px;letter-spacing:.10em;text-transform:uppercase;font-weight:950}.tx-year strong{color:rgba(215,224,241,.78);font-size:13px}.tx-year:hover,.tx-month:hover{background:rgba(0,245,212,.055);border-color:rgba(0,245,212,.14);color:#fff}.tx-month{padding:12px 22px 9px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);color:#fff}.tx-month.collapsed{border-bottom:1px solid rgba(255,255,255,.055)}.tx-hidden{display:none!important}.subcategory-chip{display:inline-flex;align-items:center;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.085);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.032);color:rgba(215,224,241,.72);font-size:12px;font-weight:850;overflow:hidden;text-overflow:ellipsis}.hash-chip{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.hash-chip.tag-c0{border-color:rgba(0,245,212,.28);background:rgba(0,245,212,.095);color:#b8fff3}.hash-chip.tag-c1{border-color:rgba(155,92,255,.30);background:rgba(155,92,255,.11);color:#decfff}.hash-chip.tag-c2{border-color:rgba(34,229,141,.28);background:rgba(34,229,141,.09);color:#c2ffdf}.hash-chip.tag-c3{border-color:rgba(255,176,32,.30);background:rgba(255,176,32,.10);color:#ffe2a6}.hash-chip.tag-c4{border-color:rgba(96,165,250,.30);background:rgba(96,165,250,.105);color:#cde3ff}.hash-chip.tag-c5{border-color:rgba(244,114,182,.30);background:rgba(244,114,182,.105);color:#ffd0e8}.hash-chip.tag-c6{border-color:rgba(248,113,113,.28);background:rgba(248,113,113,.095);color:#ffd0d0}.hash-chip.tag-c7{border-color:rgba(45,212,191,.28);background:rgba(45,212,191,.09);color:#bff7ef}@media(max-width:1100px){.tx-table-head,.tx-row{grid-template-columns:74px 1fr auto!important}.tx-row .subcategory-chip,.tx-row .category-chip,.tx-row .tx-tags{grid-column:2/-1}.tx-row>span:nth-of-type(5){grid-column:2/3;color:var(--muted)}}

/* V0.9.1 transaction header spacing */
.tx-table-head,.tx-row{grid-template-columns:76px minmax(118px,1.05fr) minmax(124px,.9fr) minmax(132px,.82fr) minmax(132px,1fr) minmax(82px,.58fr) minmax(88px,.50fr)!important}.tx-table-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-table-head{font-size:10px!important}.tx-toolbar{position:relative;z-index:1}.topbar{pointer-events:auto}

/* V0.9.2 premium category icons */
.category-chip,.category-pill{--cat-soft:color-mix(in srgb,var(--cat-color,#00f5d4) 16%,transparent);--cat-border:color-mix(in srgb,var(--cat-color,#00f5d4) 42%,rgba(255,255,255,.12));border-color:var(--cat-border)!important;background:linear-gradient(135deg,var(--cat-soft),rgba(255,255,255,.035))!important;color:rgba(246,248,255,.90)!important;font-weight:900}.cat-icon{width:25px;height:25px;min-width:25px;border-radius:9px;display:inline-grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--cat-color,#00f5d4) 32%,rgba(255,255,255,.08)),rgba(255,255,255,.045));border:1px solid color-mix(in srgb,var(--cat-color,#00f5d4) 48%,rgba(255,255,255,.10));box-shadow:0 0 22px color-mix(in srgb,var(--cat-color,#00f5d4) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}.cat-icon svg{width:15px;height:15px;display:block;fill:none;stroke:color-mix(in srgb,var(--cat-color,#00f5d4) 78%,#fff);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.category-chip{gap:9px;padding:5px 10px 5px 6px}.category-pill{gap:8px;padding:5px 10px 5px 6px}.category-pill .dot{display:none}

/* V0.10 clickable transaction edit rows */
.tx-row{cursor:pointer;position:relative;width:100%;text-align:left;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;background:transparent;color:inherit;font:inherit}.tx-row:after{content:"Bearbeiten";position:absolute;right:118px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:rgba(0,245,212,.78);transition:opacity .16s ease}.tx-row:hover:after,.tx-row:focus-visible:after{opacity:1}.tx-row:focus-visible{outline:1px solid rgba(0,245,212,.42);outline-offset:-2px;background:rgba(0,245,212,.05)}.modal-lead{margin:-8px 0 18px;color:rgba(215,224,241,.68);line-height:1.45}.modal-actions.full-field{display:flex;justify-content:flex-end;gap:10px;align-items:center}.modal-actions.full-field button{min-width:150px}@media(max-width:820px){.tx-row:after{display:none}.modal-actions.full-field{justify-content:stretch}.modal-actions.full-field button{flex:1;min-width:0}}
/* V0.11 smart transaction selectors, inline creation, tag editor */
.new-inline{display:grid;grid-template-columns:1fr 140px;gap:12px;padding:14px;border:1px solid rgba(0,245,212,.18);border-radius:18px;background:linear-gradient(145deg,rgba(0,245,212,.055),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.new-inline[hidden]{display:none!important}.new-inline label{margin:0}.icon-picker{display:flex;flex-wrap:wrap;gap:8px}.icon-choice{width:42px;height:42px;padding:0;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}.icon-choice .cat-icon{width:31px;height:31px;min-width:31px}.icon-choice.active{border-color:rgba(0,245,212,.56);background:rgba(0,245,212,.13);box-shadow:0 0 0 1px rgba(0,245,212,.20),0 0 30px rgba(0,245,212,.12)}.tag-editor{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:48px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055);padding:7px 10px}.tag-editor:focus-within{border-color:rgba(0,245,212,.42);box-shadow:0 0 0 3px rgba(0,245,212,.10)}.tag-chip-box{display:flex;gap:7px;flex-wrap:wrap}.edit-tag{--tag-color:#00f5d4;display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--tag-color) 45%,rgba(255,255,255,.12));border-radius:999px;background:color-mix(in srgb,var(--tag-color) 14%,rgba(255,255,255,.04));color:#fff;padding:6px 8px 6px 10px;font-size:12px;font-weight:900;text-transform:none;letter-spacing:0}.edit-tag button{min-width:0;width:20px;height:20px;padding:0;border-radius:50%;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.20);font-size:13px;line-height:1}.tag-editor input#tagSearch{flex:1;min-width:150px;border:0!important;background:transparent!important;padding:7px 2px!important}.tag-suggest{position:absolute;z-index:20;left:10px;right:10px;top:calc(100% + 8px);display:grid;gap:6px;padding:8px;border:1px solid rgba(0,245,212,.20);border-radius:16px;background:rgba(9,13,24,.98);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 42px rgba(0,245,212,.10)}.tag-suggest[hidden]{display:none!important}.tag-suggest button{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border-radius:12px;background:color-mix(in srgb,var(--tag-color,#00f5d4) 10%,rgba(255,255,255,.045));border-color:color-mix(in srgb,var(--tag-color,#00f5d4) 28%,rgba(255,255,255,.12));padding:9px 10px}.tag-suggest .add-row{--tag-color:#00f5d4;color:#dff}.tag-suggest input[type=color],.new-inline input[type=color]{height:38px;min-width:54px;padding:3px;border-radius:12px;background:rgba(255,255,255,.06)}@media(max-width:650px){.new-inline{grid-template-columns:1fr}.icon-choice{width:40px;height:40px}.tag-suggest{left:0;right:0}}

/* V0.12 canonical tag colors + create-after-click flow */
.hash-chip{border-color:color-mix(in srgb,var(--tag-color,#3B82F6) 46%,rgba(255,255,255,.14))!important;background:var(--tag-color,#3B82F6)!important;color:var(--tag-text,#fff)!important}.edit-tag{background:var(--tag-color,#3B82F6)!important;color:var(--tag-text,#fff)!important}.tag-suggest button[data-pick-tag]{background:var(--tag-color,#3B82F6)!important;color:var(--tag-text,#fff)!important}.color-hex{min-width:96px}.color-hex input{width:92px;text-transform:uppercase}.new-tag-panel{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:end;padding:10px;border:1px solid rgba(0,245,212,.18);border-radius:14px;background:rgba(0,245,212,.045)}.new-tag-panel[hidden]{display:none!important}.new-tag-panel label{display:grid;gap:5px;color:rgba(246,248,255,.72);font-size:10px;text-transform:uppercase;letter-spacing:.10em;font-weight:900}.new-tag-panel input{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);padding:9px 10px}.new-tag-panel input[type=color]{height:38px;padding:3px}.new-tag-panel .primary{height:38px;padding:8px 12px;border-radius:12px}@media(max-width:650px){.new-tag-panel{grid-template-columns:1fr}.new-tag-panel .primary{width:100%}}

/* V0.13 transaction modal polish: autocomplete, custom dropdowns, color swatches */
.transaction-form{align-items:start}.payee-field,.smart-select{position:relative}.payee-combo{position:relative}.payee-suggest,.smart-select-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);display:grid;gap:7px;padding:9px;border:1px solid rgba(0,245,212,.24);border-radius:18px;background:linear-gradient(145deg,rgba(10,15,27,.98),rgba(5,8,16,.98));box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 44px rgba(0,245,212,.10);backdrop-filter:blur(18px)}.payee-suggest[hidden],.smart-select-menu[hidden]{display:none!important}.payee-suggest button{display:grid;gap:3px;text-align:left;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.payee-suggest button:hover{background:rgba(0,245,212,.10);border-color:rgba(0,245,212,.30)}.payee-suggest strong{font-size:13px;color:#fff}.payee-suggest small{font-size:11px;color:rgba(215,224,241,.68);letter-spacing:0;text-transform:none}.smart-select-trigger{width:100%;min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.smart-select-trigger:hover,.smart-select-trigger[aria-expanded="true"]{border-color:rgba(0,245,212,.42);background:rgba(0,245,212,.075);box-shadow:0 0 0 3px rgba(0,245,212,.09),inset 0 1px 0 rgba(255,255,255,.08)}.smart-select-current{min-width:0;display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:-.01em;color:#fff}.smart-select-current i,.smart-option-mark{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--option-color,#00f5d4) 18%,rgba(255,255,255,.05));border:1px solid color-mix(in srgb,var(--option-color,#00f5d4) 35%,rgba(255,255,255,.10));color:color-mix(in srgb,var(--option-color,#00f5d4) 70%,#fff)}.smart-select-current svg,.smart-option svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.smart-select-current b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.smart-select-caret{color:rgba(215,224,241,.72);font-size:18px;line-height:1}.smart-select-search{width:100%;min-width:0;border-radius:12px;padding:10px 11px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);color:var(--text)}.smart-select-options{display:grid;gap:6px;max-height:245px;overflow:auto;padding-right:2px}.smart-option{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;text-align:left;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#eaf0ff}.smart-option:hover,.smart-option.active{background:color-mix(in srgb,var(--option-color,#00f5d4) 12%,rgba(255,255,255,.04));border-color:color-mix(in srgb,var(--option-color,#00f5d4) 36%,rgba(255,255,255,.12))}.smart-option-new{--option-color:#00f5d4;color:#dff;font-weight:900}.color-picker{display:grid;grid-template-columns:repeat(6,32px) minmax(92px,1fr);gap:8px;align-items:center;padding:8px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.color-choice{width:32px;height:32px;min-width:0;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.42),transparent 31%),var(--swatch);box-shadow:0 8px 22px color-mix(in srgb,var(--swatch) 28%,transparent)}.color-choice.active{outline:2px solid color-mix(in srgb,var(--swatch) 60%,#fff);outline-offset:2px;transform:scale(.94)}.color-custom{display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:11px!important;color:rgba(215,224,241,.74)!important}.color-custom input[type=color]{width:42px;min-width:42px;height:32px;padding:2px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);cursor:pointer}.new-inline .color-picker{margin-top:2px}.form-grid label:has(.smart-select),.form-grid label:has(.payee-combo){min-width:0}@media(max-width:650px){.payee-suggest,.smart-select-menu{position:fixed;left:18px;right:18px;top:auto;bottom:18px;max-height:70vh;overflow:auto}.color-picker{grid-template-columns:repeat(4,32px) 1fr}.smart-select-options{max-height:50vh}}

/* V0.4.1 settings page */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{min-height:auto}.settings-card .card-head small{display:block;color:rgba(215,224,241,.66);margin-top:5px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:650}.settings-table,.settings-list{position:relative;z-index:1;display:grid;gap:10px}.settings-row{display:grid;grid-template-columns:minmax(190px,1fr) 150px auto auto auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.04)}.tag-setting-row{grid-template-columns:minmax(170px,1fr) auto auto auto}.subcategory-setting-row{grid-template-columns:minmax(170px,1fr) auto auto}.settings-main{display:grid;gap:6px;min-width:0}.settings-main input,.settings-add-row input{width:100%;min-width:0;border-radius:14px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.11);color:var(--text);padding:11px 12px}.settings-main small{color:rgba(215,224,241,.62);font-size:12px}.settings-row select{min-width:0;width:100%;appearance:none;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border-color:rgba(0,245,212,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);cursor:pointer}.settings-add-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:14px;padding:12px;border:1px dashed rgba(0,245,212,.22);border-radius:20px;background:rgba(0,245,212,.045)}.settings-add-row:has(#newSubcategoryName){grid-template-columns:minmax(170px,1fr) auto}.settings-row .color-picker,.settings-add-row .color-picker{max-width:260px;gap:6px}.settings-row .color-choice,.settings-add-row .color-choice{width:24px;height:24px}.settings-row .color-custom{padding:4px 6px}.settings-row .color-custom span,.settings-add-row .color-custom span{display:none}.settings-row .icon-picker{max-width:260px;gap:6px}.settings-row .icon-choice{width:34px;height:34px;border-radius:12px}.icon-library{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.icon-library-item{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#dbe7ff}.icon-library-item .cat-icon{width:28px;height:28px;color:var(--cyan)}.icon-library-item strong{font-size:13px}.icon-library-item.copied{border-color:rgba(0,245,212,.65);box-shadow:0 0 0 1px rgba(0,245,212,.25),0 0 34px rgba(0,245,212,.16)}@media(max-width:1100px){.settings-grid{grid-template-columns:1fr}.settings-row,.tag-setting-row,.subcategory-setting-row{grid-template-columns:1fr}.settings-row .color-picker,.settings-row .icon-picker,.settings-add-row .color-picker{max-width:none}.settings-add-row{grid-template-columns:1fr}.settings-add-row:has(#newSubcategoryName){grid-template-columns:1fr}}

/* V0.14 portfolio ledger grouping + symbol charts */
.portfolio-ledger{padding:0!important;overflow:hidden}.portfolio-table-head,.portfolio-row{display:grid;grid-template-columns:minmax(210px,1.45fr) minmax(90px,.62fr) minmax(104px,.68fr) minmax(104px,.72fr) minmax(112px,.78fr) minmax(112px,.78fr) 92px;gap:12px;align-items:center}.portfolio-table-head{padding:12px 22px;color:rgba(139,149,170,.84);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;background:rgba(255,255,255,.025);border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.07)}.portfolio-symbol-group{border-top:1px solid rgba(255,255,255,.055)}.portfolio-row{width:100%;padding:15px 22px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;transition:background .16s ease}.portfolio-row:hover{background:rgba(0,245,212,.042)}.portfolio-row strong{display:block;color:#fff}.portfolio-row small{display:block;margin-top:3px;color:rgba(215,224,241,.62);font-size:11px}.portfolio-lots{display:grid;background:rgba(255,255,255,.018);border-top:1px solid rgba(255,255,255,.045)}.portfolio-lot-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.9fr) minmax(110px,.6fr) minmax(110px,.6fr);gap:12px;align-items:center;width:100%;padding:10px 22px 10px 42px;border:0;border-radius:0;background:transparent;color:rgba(215,224,241,.74);font-size:12px;text-align:left}.portfolio-lot-row:hover{background:rgba(0,245,212,.035);color:#fff}.portfolio-chart-btn{width:74px;height:34px;min-width:74px;padding:0;border-radius:12px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);display:grid;place-items:center}.portfolio-chart-btn svg{width:58px;height:22px;overflow:visible}.portfolio-chart-btn polyline{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.portfolio-chart-btn.pos{color:#22e58d}.portfolio-chart-btn.neg{color:#ff4d6d}.portfolio-chart-btn:hover{background:rgba(0,245,212,.09);border-color:rgba(0,245,212,.28)}.portfolio-chart-empty{color:rgba(139,149,170,.7)}.portfolio-chart-wrap{height:320px}.portfolio-chart-wrap canvas{height:300px!important;max-height:300px!important}@media(max-width:1050px){.portfolio-table-head{display:none}.portfolio-row{grid-template-columns:1fr 1fr;gap:8px}.portfolio-row>span:first-child{grid-column:1/-1}.portfolio-lot-row{grid-template-columns:1fr;padding-left:24px}.portfolio-chart-btn{width:100%}}

/* V0.15 portfolio data model: trades + chart stamps */
.portfolio-lot-row small{display:block;margin-top:3px;color:rgba(215,224,241,.54);font-size:10px}.portfolio-lot-row.trade-buy span:first-child{color:#22e58d}.portfolio-lot-row.trade-sell span:first-child{color:#ff4d6d}.portfolio-lot-row.trade-dividend span:first-child{color:#60a5fa}.portfolio-lot-row.trade-fee span:first-child{color:#f59e0b}.portfolio-chart-wrap{min-height:320px}.portfolio-ledger .tx-toolbar .ghost{align-self:center}

/* V0.16 readiness: accounts ledger, safety actions */
.accounts-ledger{padding:0!important;overflow:hidden}.account-table-head,.account-row{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(92px,.55fr) minmax(105px,.65fr) minmax(115px,.7fr) minmax(115px,.7fr) 74px;gap:12px;align-items:center}.account-table-head{padding:12px 22px;color:rgba(139,149,170,.84);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;background:rgba(255,255,255,.025);border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.07)}.account-row{width:100%;padding:15px 22px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;border-top:1px solid rgba(255,255,255,.055)}.account-row:hover{background:rgba(0,245,212,.042)}.account-row>span:first-child{display:flex;align-items:center;gap:10px;min-width:0}.account-row strong{color:#fff}.account-row .cat-icon{--cat-color:var(--account-color,#00f5d4)}.account-hero .metric{min-height:135px}.danger{border-color:rgba(255,77,109,.30)!important;color:#ffd0d9!important;background:rgba(255,77,109,.075)!important}.danger:hover{background:rgba(255,77,109,.14)!important;border-color:rgba(255,77,109,.48)!important}@media(max-width:980px){.account-table-head{display:none}.account-row{grid-template-columns:1fr 1fr;gap:8px}.account-row span:first-child{grid-column:1/-1}.account-row>*:before{display:block;color:rgba(139,149,170,.84);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}.account-row>*:nth-child(2):before{content:'Typ'}.account-row>*:nth-child(3):before{content:'Startdatum'}.account-row>*:nth-child(4):before{content:'Startsaldo'}.account-row>*:nth-child(5):before{content:'Aktuell'}.account-row>*:nth-child(6):before{content:'Währung'}}


/* V0.16 portfolio views, dividend semantics and interactive chart */
.portfolio-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.018)}
.portfolio-tabs button,.chart-range-tabs button,.chart-highlight-tabs button{border-radius:999px;padding:8px 12px;font-size:12px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);color:rgba(215,224,241,.78)}
.portfolio-tabs button b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:7px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:11px}
.portfolio-tabs button.active,.chart-range-tabs button.active{background:linear-gradient(135deg,rgba(0,245,212,.92),rgba(124,255,200,.88));border-color:rgba(0,245,212,.62);color:#03120f;box-shadow:0 0 28px rgba(0,245,212,.16)}
.portfolio-tabs button.active b{background:rgba(3,18,15,.18);color:#03120f}.portfolio-empty{padding:28px 22px;color:rgba(215,224,241,.7);display:grid;gap:6px}.portfolio-empty strong{color:#fff}.portfolio-dividend-line{margin-top:6px!important;color:rgba(34,229,141,.82)!important;font-weight:800}.portfolio-lot-row small{line-height:1.35}.portfolio-lot-row.trade-dividend span:first-child{color:#60a5fa!important}.portfolio-lot-row[data-chart-marker]:hover{box-shadow:inset 3px 0 0 currentColor;background:rgba(0,245,212,.052)}
.portfolio-chart-grid.expanded .portfolio-chart-card{grid-column:1/-1;min-height:620px}.portfolio-chart-grid.expanded .portfolio-model-card{display:none}.portfolio-chart-grid.expanded .portfolio-chart-wrap{height:520px}.portfolio-chart-grid.expanded .portfolio-chart-wrap canvas{height:500px!important;max-height:500px!important}.portfolio-chart-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 10px}.chart-range-tabs,.chart-highlight-tabs{display:flex;gap:7px;flex-wrap:wrap}.chart-highlight-tabs button:hover{border-color:rgba(0,245,212,.46);box-shadow:0 0 24px rgba(0,245,212,.13);color:#fff}.chart-highlight-tabs button[data-highlight-trade="buy"]:hover{border-color:rgba(34,229,141,.65);box-shadow:0 0 28px rgba(34,229,141,.18)}.chart-highlight-tabs button[data-highlight-trade="sell"]:hover{border-color:rgba(255,77,109,.65);box-shadow:0 0 28px rgba(255,77,109,.18)}.chart-expand-btn{white-space:nowrap}.portfolio-chart-wrap{height:360px}.portfolio-chart-wrap canvas{height:340px!important;max-height:340px!important}
@media(max-width:1050px){.portfolio-chart-controls{align-items:flex-start}.chart-expand-btn{width:100%}.portfolio-chart-grid.expanded .portfolio-chart-wrap{height:410px}.portfolio-chart-grid.expanded .portfolio-chart-wrap canvas{height:390px!important;max-height:390px!important}}


/* V0.17 portfolio table quality: aligned columns, collapse toggle, realized sale % */
.portfolio-table-head,.portfolio-row,.portfolio-lot-row{grid-template-columns:minmax(300px,1.7fr) minmax(110px,.7fr) minmax(125px,.82fr) minmax(125px,.82fr) minmax(125px,.82fr) minmax(175px,1.08fr) minmax(92px,.48fr)!important;}
.portfolio-row{display:grid!important;align-items:center!important;min-height:76px;padding:14px 22px!important;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.035)!important;}
.portfolio-row>span,.portfolio-row>strong,.portfolio-lot-row>span,.portfolio-lot-row>strong{min-width:0;}
.portfolio-position-cell{display:flex!important;align-items:flex-start;gap:10px;}
.portfolio-toggle{width:28px;height:28px;min-width:28px;padding:0!important;margin-top:1px;border-radius:10px;font-size:16px;line-height:1;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);color:rgba(215,224,241,.82);display:grid;place-items:center;}
.portfolio-toggle:hover{background:rgba(0,245,212,.12);border-color:rgba(0,245,212,.34);color:#fff;}
.portfolio-chart-cell{display:flex!important;justify-content:flex-end;align-items:center;}
.portfolio-chart-cell .portfolio-chart-btn{margin-left:auto;}
.portfolio-symbol-group.is-collapsed .portfolio-lots{display:none!important;}
.portfolio-lot-row{display:grid!important;padding:11px 22px 11px 60px!important;border-top:1px solid rgba(255,255,255,.026)!important;font-size:12px;}
.portfolio-lot-row strong small,.portfolio-lot-row span small{display:block;margin-top:3px;color:rgba(215,224,241,.54);font-size:10px;line-height:1.25;}
.portfolio-lot-row .muted-cell{color:rgba(139,149,170,.72);}
.portfolio-table-head span:nth-child(n+2),.portfolio-row>span:nth-child(n+2),.portfolio-row>strong,.portfolio-lot-row>span:nth-child(n+2),.portfolio-lot-row>strong{text-align:right;}
.portfolio-table-head span:first-child,.portfolio-row>span:first-child,.portfolio-lot-row>span:first-child{text-align:left;}
.portfolio-lot-row>span:last-child{color:rgba(215,224,241,.66);font-weight:800;}
.portfolio-ledger .tx-toolbar{padding:18px 22px!important;}
.portfolio-table-head{padding:12px 22px!important;}
.portfolio-chart-btn{justify-self:end;}
@media(max-width:1180px){.portfolio-table-head,.portfolio-row,.portfolio-lot-row{grid-template-columns:minmax(260px,1.6fr) minmax(90px,.6fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(145px,1fr) minmax(82px,.45fr)!important}.portfolio-lot-row{padding-left:40px!important}}
@media(max-width:1050px){.portfolio-table-head{display:none!important}.portfolio-row,.portfolio-lot-row{grid-template-columns:1fr 1fr!important}.portfolio-position-cell,.portfolio-lot-row>span:first-child{grid-column:1/-1}.portfolio-chart-cell{justify-content:flex-start}.portfolio-lot-row{padding-left:24px!important}.portfolio-lot-row>span:nth-child(n+2),.portfolio-lot-row>strong{text-align:left}.portfolio-row>span:nth-child(n+2),.portfolio-row>strong{text-align:left}}


/* V0.18 portfolio table width fix: keep chart column inside card */
.portfolio-table-head,.portfolio-row,.portfolio-lot-row{grid-template-columns:minmax(220px,1.9fr) minmax(68px,.48fr) minmax(86px,.62fr) minmax(90px,.64fr) minmax(92px,.66fr) minmax(128px,.92fr) minmax(64px,.38fr)!important;gap:8px!important;}
.portfolio-row{padding:13px 18px!important;}
.portfolio-table-head{padding:11px 18px!important;}
.portfolio-lot-row{padding:10px 18px 10px 46px!important;font-size:11px!important;}
.portfolio-row strong{font-size:14px!important;line-height:1.12!important;}
.portfolio-row small{font-size:10px!important;line-height:1.28!important;}
.portfolio-lot-row strong small,.portfolio-lot-row span small{font-size:9.5px!important;}
.portfolio-chart-btn{width:58px!important;min-width:58px!important;height:30px!important;border-radius:10px!important;}
.portfolio-chart-btn svg{width:46px!important;height:18px!important;}
.portfolio-table-head span{font-size:9.5px!important;}
.portfolio-ledger{overflow:hidden!important;}
.portfolio-lot-row>span:last-child{display:none!important;}
@media(max-width:1250px){.portfolio-table-head,.portfolio-row,.portfolio-lot-row{grid-template-columns:minmax(210px,1.8fr) minmax(60px,.44fr) minmax(78px,.56fr) minmax(84px,.58fr) minmax(84px,.58fr) minmax(112px,.86fr) minmax(56px,.34fr)!important}.portfolio-lot-row{padding-left:38px!important}.portfolio-chart-btn{width:52px!important;min-width:52px!important}}


/* V0.19 consistent page card rhythm + transaction shortcut filters */
.view.active{display:flex!important;flex-direction:column;gap:18px;}
.view.active>.hero-grid,.view.active>.subgrid{margin-bottom:0!important;}
.view.active>.card{margin-top:0!important;}
.dashboard-canvas{width:100%;}
.tx-quickfilters{position:relative;z-index:2;display:grid;gap:10px;padding:14px 22px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018);}
.tx-filter-group{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:1px;scrollbar-width:thin;}
.tx-filter-group>span{min-width:112px;color:rgba(139,149,170,.88);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;}
.tx-filter-chip{white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:12px;color:rgba(215,224,241,.78);background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);}
.tx-filter-chip:hover{border-color:rgba(0,245,212,.34);background:rgba(0,245,212,.08);color:#fff;}
.tx-filter-chip.active{background:linear-gradient(135deg,rgba(0,245,212,.92),rgba(124,255,200,.88));border-color:rgba(0,245,212,.62);color:#03120f;box-shadow:0 0 28px rgba(0,245,212,.14);}
.ledger-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018);}
@media(max-width:720px){.tx-filter-group{display:grid;grid-template-columns:1fr;align-items:start}.tx-filter-group>span{min-width:0}.ledger-actions{align-items:stretch;flex-direction:column}.ledger-actions button{width:100%;}}


/* V0.19.1 page header no overlay: keep card rhythm clean while switching/scrolling tabs */
.topbar{position:relative!important;top:auto!important;z-index:2!important;margin:0 0 24px!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;}
