:root{--ink:#14202a;--ink-2:#31404b;--muted:#78838a;--soft:#f5f6f3;--paper:#fff;--line:#e8ebe7;--green:#7da37b;--green-dark:#385843;--green-pale:#eaf1e8;--gold:#d6ad64;--navy:#101b25;--red:#be685b;--shadow:0 18px 48px rgba(19,32,42,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f8f6;color:var(--ink);font-family:Inter, "Avenir Next", Avenir, sans-serif,sans-serif;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--navy);color:#ecf0eb;padding:28px 19px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:inherit;padding:0 10px 43px}.brand-mark{width:33px;height:33px;border:1px solid #92a98d;border-radius:50%;display:grid;place-items:center;color:#aec2a5}.brand-mark svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.brand strong{font:800 19px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.07em;display:block}.brand small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#a1adae;display:block;margin-top:1px}.side-label,.section-kicker{font-size:9px;letter-spacing:.17em;font-weight:700;color:#899591}.side-label{padding:0 11px 12px;color:#778584}.main-nav{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#a8b3b1;text-align:left;padding:12px 12px;border-radius:8px;display:flex;gap:12px;align-items:center;font:500 13px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer;transition:.16s}.nav-item:hover{background:rgba(255,255,255,.06);color:white}.nav-item.active{background:#24332f;color:#eef4e9}.nav-icon{width:18px;text-align:center;font-size:17px;line-height:1;color:#9fb29a}.nav-count{margin-left:auto;font-size:10px;background:rgba(255,255,255,.1);padding:2px 7px;border-radius:10px;color:#e2e8e0}.sidebar-bottom{margin-top:auto}.horizon-card{display:flex;gap:11px;padding:14px 11px;background:#182730;border-radius:9px;margin:0 0 14px}.horizon-orb{width:25px;height:25px;flex:0 0 25px;border:1px solid #778a70;color:#adc2a4;border-radius:50%;display:grid;place-items:center}.horizon-card b{font-size:11px;font-weight:600}.horizon-card p{font-size:10px;line-height:1.5;color:#9da9a6;margin:6px 0 0}.settings-link{font-size:12px}.profile{border-top:1px solid #2b3840;margin-top:12px;padding:16px 8px 0;display:flex;align-items:center;gap:10px;position:relative}.avatar{width:31px;height:31px;border-radius:50%;background:#44564c;display:grid;place-items:center;font:700 12px "Avenir Next", Avenir, Inter, sans-serif;color:#e5ecdd}.profile b,.profile small{display:block}.profile b{font-size:11px}.profile small{font-size:9px;color:#92a09c;margin-top:3px}.local-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#79ac79;box-shadow:0 0 0 3px rgba(121,172,121,.12)}.profile .local-dot{margin-left:auto}.main-area{margin-left:252px;max-width:1510px;padding:0 48px 40px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eae7}.breadcrumb{display:flex;gap:10px;align-items:center;color:#90999a;font-size:11px}.breadcrumb i{font-style:normal;color:#c0c6c2}.breadcrumb b{font-weight:600;color:#4e5b60}.top-actions{display:flex;align-items:center;gap:19px}.saved-status{font-size:10px;color:#6d7a78;display:flex;align-items:center;gap:8px}.saved-status .local-dot{width:6px;height:6px}.icon-button{border:1px solid #dfe4e0;background:#fff;width:28px;height:28px;border-radius:50%;color:#56635e;cursor:pointer;font-size:13px}.mobile-brand{display:none}.mobile-add{display:none}.view{display:none;padding-top:38px;animation:fade .24s ease}.view.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.page-heading .eyebrow{margin:0 0 13px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.17em;color:#77857e}.eyebrow-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:#bd9c64;margin:0 7px 2px}.page-heading h1{font:500 36px/1.2 "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.055em;margin:0;color:#172630}.page-heading h1 em{font-style:normal;color:#658165}.page-heading p{margin:10px 0 0;color:#77838a;font-size:13px}.primary-button{border:0;background:#385843;color:white;border-radius:6px;padding:12px 17px;font:600 11px Inter, "Avenir Next", Avenir, sans-serif;display:flex;align-items:center;gap:10px;box-shadow:0 5px 12px rgba(48,83,61,.12);cursor:pointer;transition:.16s}.primary-button:hover{background:#294a34;transform:translateY(-1px)}.primary-button span{font-size:16px;line-height:10px}.demo-banner{min-height:56px;background:#eff4ec;border:1px solid #dce7d8;border-radius:7px;margin:0 0 21px;display:flex;align-items:center;gap:12px;padding:10px 14px}.demo-icon{width:26px;height:26px;border-radius:50%;background:#dbe8d7;display:grid;place-items:center;color:#526b51}.demo-banner div{display:flex;flex-direction:column;gap:3px}.demo-banner b{font-size:11px;color:#395643}.demo-banner span:not(.demo-icon){font-size:10px;color:#718273}.demo-banner button{margin-left:auto;background:transparent;border:0;color:#6f806f;font-size:18px;cursor:pointer}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:19px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 17px 15px;min-height:102px;position:relative;overflow:hidden}.metric-label{font-size:9px;letter-spacing:.11em;color:#8b9694;font-weight:700;text-transform:uppercase}.metric-value{font:600 24px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.05em;margin-top:11px;color:#1d2d36}.metric-foot{font-size:10px;color:#8a9692;margin-top:4px}.metric-icon{position:absolute;right:14px;top:15px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#eff4ec;color:#628160;font-size:14px}.content-grid{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(260px,.92fr);gap:17px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px}.activity-panel,.intention-panel{min-height:286px;padding:21px 22px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.section-kicker{color:#909b95}.panel-heading h2,.import-step h2,.settings-panel h2{font:600 16px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.035em;color:#1e3038;margin:6px 0 0}.text-button{background:none;border:none;color:#648064;padding:5px 0;font:600 10px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer}.text-button span{font-size:14px;margin-left:4px}.activity-list{margin-top:15px}.activity-row{display:grid;grid-template-columns:38px minmax(130px,1fr) auto 24px;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #eef0ed;cursor:pointer}.activity-row:hover .asset-title{color:#557557}.asset-badge{width:34px;height:34px;border:1px solid #e7ebe5;border-radius:50%;background:#fafbf9;display:grid;place-items:center;font:700 10px "Avenir Next", Avenir, Inter, sans-serif;color:#566964}.asset-title{font-size:12px;font-weight:600;color:#293940;transition:.15s}.asset-subtitle{font-size:9px;color:#949e99;margin-top:4px}.side-badge{font-size:9px;border-radius:4px;padding:4px 7px;font-weight:600}.side-buy{background:#edf4eb;color:#54774f}.side-sell{background:#f8eeeb;color:#a86357}.row-amount{text-align:right;font-size:11px;font-weight:600;color:#33434a}.row-arrow{color:#a9b2ac}.empty-state{text-align:center;padding:31px 18px 15px}.empty-symbol{margin:auto;width:38px;height:38px;border:1px solid #dce7da;border-radius:50%;display:grid;place-items:center;color:#658165;font-size:20px}.empty-state h3{font:600 13px "Avenir Next", Avenir, Inter, sans-serif;margin:11px 0 5px}.empty-state p{font-size:10px;line-height:1.5;color:#77838a;max-width:290px;margin:0 auto 14px}.outline-button{border:1px solid #d7e0d5;color:#456246;background:#fff;padding:9px 12px;font:600 10px Inter, "Avenir Next", Avenir, sans-serif;border-radius:5px;cursor:pointer}.outline-button:hover{background:#f5f8f3}.intention-panel{background:#f2f4f0;position:relative;overflow:hidden}.intention-spark{color:#a2b39b;font-size:17px}.quote-mark{font:700 35px Georgia;color:#a2b59a;height:32px;margin-top:19px}.intention-panel blockquote{font:500 16px/1.52 "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.03em;color:#34443d;margin:1px 0 21px;max-width:360px}.intent-rule{border-top:1px solid #dfe5dc}.intention-foot{display:flex;align-items:center;gap:11px;padding-top:13px;font-size:10px;color:#607067;line-height:1.5}.mini-compass{width:23px;height:23px;border:1px solid #c6d2c2;border-radius:50%;display:grid;place-items:center;color:#688064;font-size:15px}.intention-foot small{font-size:9px;color:#8c9890}.portfolio-strip{margin-top:18px;padding:19px 22px 16px}.period-label{font-size:9px;color:#969f9a;padding-top:4px}.portfolio-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.portfolio-card{display:flex;align-items:center;gap:11px;background:#fafbf9;border:1px solid #edf0ec;padding:11px;border-radius:6px}.portfolio-icon{height:32px;width:32px;border-radius:7px;display:grid;place-items:center;font-size:13px}.portfolio-icon.stocks{background:#edf3ea;color:#587451}.portfolio-icon.crypto{background:#f4f0e6;color:#9b824b}.portfolio-card b{font-size:11px}.portfolio-card small{display:block;font-size:9px;color:#8b9691;margin-top:3px}.portfolio-card .portfolio-total{margin-left:auto;text-align:right;font-size:11px;font-weight:600}.portfolio-card .portfolio-total small{font-weight:400}.footer-note{display:flex;align-items:center;gap:9px;padding:17px 1px;font-size:9px;color:#89948e}.footer-note .local-dot{width:6px;height:6px}.footer-note button{border:0;background:transparent;color:#5b795c;font:600 9px Inter, "Avenir Next", Avenir, sans-serif;padding:0;cursor:pointer}.compact-heading{align-items:center;margin-bottom:26px}.compact-heading h1{font-size:33px}.order-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:18px}.filter-tabs{display:flex;gap:5px}.filter-tab{padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:5px;color:#79847f;font:500 10px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer}.filter-tab.active{background:white;border-color:#e2e7e1;color:#3f5e46;font-weight:600}.filter-tab span{background:#f1f3f1;padding:2px 5px;border-radius:10px;font-size:9px;margin-left:5px}.search-box{width:220px;height:34px;display:flex;align-items:center;gap:8px;border:1px solid #e2e7e1;background:#fff;border-radius:5px;padding:0 10px;color:#89938e}.search-box span{font-size:19px}.search-box input{border:0;outline:0;width:100%;font:10px Inter, "Avenir Next", Avenir, sans-serif;background:transparent;color:var(--ink)}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:660px}th{text-align:left;padding:12px 15px;background:#fafbf9;color:#89948e;font-size:8px;letter-spacing:.13em;font-weight:700}td{padding:13px 15px;border-top:1px solid #eef0ed;font-size:10px;color:#53605f}tbody tr{cursor:pointer;transition:.12s}tbody tr:hover{background:#fbfcfa}.table-asset{display:flex;align-items:center;gap:10px;min-width:145px}.table-asset .asset-badge{width:31px;height:31px}.table-asset b{display:block;color:#293a41;font-size:11px}.table-asset small{display:block;color:#909a95;font-size:9px;margin-top:3px}.portfolio-pill{padding:4px 7px;border-radius:4px;background:#f1f3ef;color:#68746b;font-size:9px}.reason-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-empty{text-align:center;padding:53px 15px}.table-empty>span{font-size:27px;color:#85a27f}.table-empty h3{font:600 14px "Avenir Next", Avenir, Inter, sans-serif;margin:10px 0 4px}.table-empty p{font-size:10px;color:#8d9892}.hidden{display:none!important}.import-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr);gap:17px}.import-main{padding:23px}.import-step{display:flex;gap:13px}.import-step>span{width:27px;height:27px;border-radius:50%;background:#edf3ea;display:grid;place-items:center;color:#607e5d;font:600 10px "Avenir Next", Avenir, Inter, sans-serif}.import-step h2{margin-top:6px}.import-step p{font-size:10px;color:#89948f;margin:6px 0 0}.source-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0 17px}.source-option{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #e7ebe7;border-radius:6px;background:#fff;text-align:left;padding:11px 9px;cursor:pointer;min-width:0}.source-option.selected{border-color:#91ab8b;background:#f8fbf6;box-shadow:0 0 0 1px #91ab8b}.source-logo{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 11px "Avenir Next", Avenir, Inter, sans-serif;flex:0 0 28px}.mexem-logo{background:#e7edf0;color:#284151}.bitvavo-logo{background:#e9f3ef;color:#33866a}.other-logo{background:#f1efe9;color:#857753}.source-option b{display:block;font-size:10px;color:#36454b}.source-option small{display:block;font-size:8px;color:#89938e;margin-top:4px;white-space:nowrap}.radio-mark{margin-left:auto;width:10px;height:10px;border:1px solid #cad3cd;border-radius:50%;flex:0 0 10px}.source-option.selected .radio-mark{border:3px solid #60805c}.file-drop{min-height:172px;border:1px dashed #bfcdbb;background:#fafcf9;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#66766c}.file-drop.dragover{background:#eff5ec;border-color:#62835e}.upload-cloud{width:30px;height:30px;border-radius:50%;background:#e8f0e4;color:#65815f;display:grid;place-items:center;font-size:18px;margin-bottom:3px}.file-drop>b{font-size:11px;color:#415247}.file-drop>span{font-size:9px;color:#87918b}.file-drop>small{font-size:8px;color:#9ca6a0;margin-top:5px}.inline-link{border:0;background:none;padding:0;color:#577955;text-decoration:underline;font:600 9px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer}.import-aside{padding:22px;background:#f6f7f4}.import-aside h2{font:600 17px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.04em;margin:7px 0 18px}.how-list{display:grid;gap:16px}.how-list>div{display:flex;gap:11px}.how-list>div>span{width:22px;height:22px;border-radius:50%;border:1px solid #d6dfd3;color:#658060;display:grid;place-items:center;font-size:9px;flex:0 0 22px}.how-list p{margin:0}.how-list b{display:block;font-size:10px;color:#43534a}.how-list small{display:block;font-size:9px;color:#87918b;line-height:1.45;margin-top:4px}.privacy-box{display:flex;gap:10px;margin-top:22px;border-top:1px solid #e0e5de;padding-top:15px}.privacy-box>span{font-size:15px;color:#688260}.privacy-box p{margin:0}.privacy-box b{display:block;font-size:9px;color:#52644f}.privacy-box small{display:block;font-size:8px;line-height:1.45;color:#8d9791;margin-top:4px}.import-footnote{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;margin-top:15px;background:#fbfcfa}.info-dot{border:1px solid #d7e1d4;color:#688260;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font:600 9px Georgia;flex:0 0 17px}.import-footnote p{margin:0;font-size:9px;line-height:1.55;color:#78847e}.import-footnote b{color:#48584d}.import-preview{margin-top:16px}.preview-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:11px}.preview-header h3{font:600 12px "Avenir Next", Avenir, Inter, sans-serif;margin:0}.preview-header span{font-size:9px;color:#87918b}.preview-table-wrap{border:1px solid #e7ebe7;border-radius:6px;overflow:auto;max-height:230px}.preview-table{width:100%;min-width:490px;border-collapse:collapse}.preview-table th{font-size:8px;padding:9px}.preview-table td{font-size:9px;padding:9px}.preview-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.preview-actions .primary-button{padding:10px 14px}.mapping-card{background:#fafbf9;border:1px solid #e9ede8;border-radius:6px;padding:11px;margin-bottom:11px}.mapping-card label{font-size:8px;color:#75817a;letter-spacing:.08em;display:block;margin-bottom:5px}.mapping-card select{width:100%;height:29px;border:1px solid #e0e6df;border-radius:4px;background:white;font:10px Inter, "Avenir Next", Avenir, sans-serif;padding:0 7px;color:#35433e}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mapping-warning{font-size:9px;line-height:1.5;color:#9b7650;margin:4px 0 12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-panel{padding:23px}.settings-panel h2{font-size:17px;margin-top:8px}.settings-panel>p{font-size:10px;line-height:1.65;color:#84908a;max-width:460px;margin:9px 0 17px}.storage-status{display:flex;gap:11px;align-items:center;background:#f7f9f6;border:1px solid #edf0ec;padding:12px;border-radius:6px}.storage-icon{width:28px;height:28px;border-radius:50%;background:#e8f0e5;color:#648060;display:grid;place-items:center}.storage-status b{display:block;font-size:10px}.storage-status small{display:block;font-size:8px;color:#909a94;margin-top:4px}.storage-status .local-dot{margin-left:auto}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.danger-zone{grid-column:1/-1}.danger-button{border:1px solid #ecd6d2;background:#fff;color:#a6554a;padding:9px 12px;border-radius:5px;font:600 10px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer}.danger-button:hover{background:#fff8f6}.modal{border:0;border-radius:11px;padding:0;width:min(600px,calc(100vw - 28px));max-height:min(90dvh,850px);box-shadow:var(--shadow);color:var(--ink);overflow:auto}.modal::backdrop{background:rgba(16,27,37,.44);backdrop-filter:blur(2px)}.modal form{padding:23px 25px 19px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0ed;padding-bottom:17px;margin-bottom:17px}.modal-head h2{font:600 20px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.04em;margin:5px 0 0}.modal-close{border:0;background:#f3f5f2;border-radius:50%;width:29px;height:29px;font-size:19px;color:#6c7771;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:9px;font-weight:600;color:#66726c;display:flex;flex-direction:column;gap:6px}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #e2e7e1;border-radius:5px;background:#fff;min-height:37px;padding:8px 10px;color:#2d3d44;font:11px Inter, "Avenir Next", Avenir, sans-serif;outline:none}.form-grid textarea{resize:vertical;min-height:58px;line-height:1.45}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#87a282;box-shadow:0 0 0 2px rgba(125,163,123,.12)}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#aab2ad}.full-field{grid-column:1/-1}.optional{font-weight:400;color:#9aa39e;margin-left:4px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:18px;border-top:1px solid #edf0ed;margin-top:18px;padding-top:14px}.modal-footer .text-button{color:#85908a}.detail-modal{width:min(510px,calc(100vw - 28px));padding:23px}.detail-head{display:flex;justify-content:space-between}.detail-asset{display:flex;gap:12px;align-items:center}.detail-asset .asset-badge{width:43px;height:43px;font-size:12px}.detail-asset h2{font:600 19px "Avenir Next", Avenir, Inter, sans-serif;margin:0;letter-spacing:-.04em}.detail-asset p{margin:4px 0 0;font-size:10px;color:#87918c}.detail-date{font-size:9px;color:#87918c}.detail-amount{font:600 24px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.05em;margin:22px 0 3px}.detail-sub{font-size:9px;color:#8b9690}.detail-section{border-top:1px solid #edf0ed;margin-top:19px;padding-top:13px}.detail-section label{font-size:8px;letter-spacing:.13em;color:#8e9a92;font-weight:700}.detail-section p{font-size:11px;line-height:1.55;color:#48564f;margin:7px 0 0}.detail-actions{display:flex;justify-content:space-between;margin-top:20px}.danger-inline{border:0;background:transparent;color:#ac6258;font:600 10px Inter, "Avenir Next", Avenir, sans-serif;cursor:pointer}.detail-close{background:#f3f5f2;border:0;border-radius:50%;width:27px;height:27px;font-size:17px;cursor:pointer;color:#748078}.toast{position:fixed;z-index:20;left:50%;bottom:25px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#17262e;color:white;border-radius:7px;padding:10px 15px;font-size:10px;box-shadow:0 8px 22px rgba(0,0,0,.16);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}
@media(max-width:1080px){.sidebar{width:220px;padding-left:14px;padding-right:14px}.main-area{margin-left:220px;padding:0 30px 35px}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(235px,.8fr)}.metrics-grid{grid-template-columns:repeat(2,1fr)}.source-options{grid-template-columns:1fr}.source-option{padding:9px 10px}.source-option small{font-size:9px}.source-options{gap:7px;margin:16px 0 12px}}
@media(max-width:760px){body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.sidebar{display:none}.main-area{margin:0;padding:0 19px 25px}.topbar{height:57px;margin:0 -19px;padding:0 19px;background:rgba(247,248,246,.94);position:sticky;top:0;z-index:4;backdrop-filter:blur(12px)}.mobile-brand{display:flex;align-items:center;gap:8px;font:800 16px "Avenir Next", Avenir, Inter, sans-serif;letter-spacing:-.06em}.mobile-brand .brand-mark{width:27px;height:27px}.mobile-brand .brand-mark svg{width:20px}.breadcrumb,.saved-status,.help-button{display:none}.mobile-add{display:grid;place-items:center;border:0;border-radius:50%;width:33px;height:33px;background:#385843;color:white;font-size:21px;line-height:1}.view{padding-top:27px}.page-heading{align-items:flex-start;gap:13px}.page-heading .eyebrow{font-size:8px;line-height:1.5;margin-bottom:9px}.page-heading h1{font-size:31px}.page-heading p{font-size:11px;max-width:300px;line-height:1.45}.page-heading>.primary-button{display:none}.demo-banner{padding:9px 11px;margin-bottom:15px;gap:9px}.demo-banner span:not(.demo-icon){font-size:9px}.metrics-grid{gap:9px;margin-bottom:13px}.metric-card{min-height:88px;padding:12px}.metric-label{font-size:8px}.metric-value{font-size:21px;margin-top:9px}.metric-foot{font-size:9px}.metric-icon{width:23px;height:23px;right:11px;top:11px}.content-grid{grid-template-columns:1fr;gap:12px}.activity-panel,.intention-panel{padding:17px;min-height:unset}.activity-panel{min-height:235px}.activity-row{grid-template-columns:35px minmax(110px,1fr) auto 15px;padding:10px 0;gap:8px}.asset-badge{width:31px;height:31px}.asset-title{font-size:11px}.asset-subtitle{font-size:8px}.row-amount{font-size:10px}.intention-panel blockquote{font-size:15px;max-width:420px}.portfolio-strip{padding:16px;margin-top:12px}.period-label{display:none}.portfolio-cards{gap:7px}.portfolio-card{padding:9px 7px;gap:7px}.portfolio-icon{height:27px;width:27px;font-size:11px}.portfolio-card b{font-size:9px}.portfolio-card small{font-size:8px}.portfolio-card .portfolio-total{font-size:9px}.footer-note{line-height:1.45;flex-wrap:wrap}.mobile-nav{display:grid;position:fixed;z-index:8;bottom:0;left:0;right:0;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e8ebe7;backdrop-filter:blur(14px)}.mobile-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:3px;color:#8a948e;font:500 8px Inter, "Avenir Next", Avenir, sans-serif;padding:2px;cursor:pointer}.mobile-nav button span{font-size:17px;line-height:1.1}.mobile-nav button.active{color:#436344;font-weight:700}.compact-heading{align-items:flex-start;margin-bottom:21px}.compact-heading h1{font-size:29px}.order-toolbar{align-items:stretch;flex-direction:column-reverse;gap:10px}.search-box{width:100%;height:36px}.filter-tabs{justify-content:space-between}.filter-tab{flex:1}.import-layout{grid-template-columns:1fr;gap:12px}.import-main{padding:16px}.import-aside{padding:17px}.source-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.source-option{flex-direction:column;align-items:flex-start;gap:5px;padding:8px 7px}.source-option small{white-space:normal;line-height:1.3;font-size:8px;min-height:20px}.source-option .source-logo{width:24px;height:24px;flex-basis:24px}.radio-mark{position:absolute;right:7px;top:8px}.file-drop{min-height:150px;text-align:center;padding:15px}.how-list{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.danger-zone{grid-column:auto}.settings-panel{padding:18px}.import-footnote{padding:12px}.modal form{padding:19px 17px 15px}.form-grid{gap:10px}.form-grid input,.form-grid select{min-height:35px}.modal-footer{margin-top:14px}.modal-footer .primary-button{padding:10px 13px}.detail-modal{padding:19px}}
@media(max-width:360px){.main-area{padding-left:13px;padding-right:13px}.topbar{margin:0 -13px;padding:0 13px}.portfolio-cards{grid-template-columns:1fr}.metric-value{font-size:18px}.page-heading h1{font-size:28px}.source-option b{font-size:9px}}


/* Mock-up 1: warm, vivid, spacious overview */
:root{--ink:#20313a;--ink-2:#344850;--muted:#74858a;--soft:#fff8eb;--paper:#fffefa;--line:#eee8dc;--green:#5bbcae;--green-dark:#147e76;--green-pale:#e4f5f0;--gold:#f4c84e;--navy:#21333b;--red:#e76f59;--shadow:0 16px 40px rgba(42,59,59,.1)}
body{background:#fff9ef;color:#20313a}
.topbar{border-color:#efe7d9}
.page-heading h1{color:#20313a}
.page-heading h1 em{color:#ed725b}
.eyebrow{color:#78877d}
.primary-button{background:#ef705b;border-radius:14px;box-shadow:0 7px 16px rgba(239,112,91,.2);font-size:13px;padding:14px 19px}
.primary-button:hover{background:#dc5d49}
.panel{border-color:#eee8dc;border-radius:18px;background:#fffefa}
.portfolio-cards{gap:15px;margin:0 0 17px}
.portfolio-card{min-height:135px;display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto 1fr;align-items:center;column-gap:13px;padding:19px 20px;border:0;border-radius:18px;position:relative;overflow:hidden}
.portfolio-card.stocks{background:#ffe4d9;color:#733e35}
.portfolio-card.crypto{background:#d9f2ed;color:#245e5b}
.portfolio-icon{grid-row:1/3;width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.7);font-size:19px}
.portfolio-card.stocks .portfolio-icon{color:#eb7059}
.portfolio-card.crypto .portfolio-icon{color:#17998f}
.portfolio-copy b{font-size:15px;color:inherit}
.portfolio-copy small{font-size:11px;color:inherit;opacity:.72;margin-top:5px}
.portfolio-count{grid-column:3;grid-row:1/3;font:700 40px/1 "Avenir Next",Avenir,Inter,sans-serif;letter-spacing:-.06em;color:inherit}
.portfolio-count-label{position:absolute;right:20px;bottom:20px;font-size:10px;font-weight:600;color:inherit;opacity:.68}
.activity-panel{min-height:unset;padding:23px 25px;border-radius:18px}
.panel-heading h2{font-size:20px}
.section-kicker{color:#84958b}
.text-button{font-size:12px;color:#e76f59}
.activity-list{margin-top:13px}
.activity-row{grid-template-columns:44px minmax(0,1fr) auto;gap:13px;padding:15px 0;border-color:#f1ede5;align-items:start}
.activity-row:hover .asset-title{color:#e76f59}
.activity-row>.asset-badge{width:42px;height:42px;border:0;border-radius:14px;background:#fff1e8;color:#d96953;font-size:11px}
.activity-copy{min-width:0}
.activity-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.asset-title{font-size:14px;color:#263b42}
.asset-subtitle{font-size:11px;color:#839096;margin-top:5px}
.side-badge{font-size:10px;border-radius:99px;padding:5px 9px}
.side-buy{background:#e3f4ed;color:#28856a}
.side-sell{background:#ffebe5;color:#c25245}
.activity-reason{font-size:12px;line-height:1.45;color:#627177;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.activity-trailing{display:flex;align-items:center;gap:10px;padding-top:3px}
.row-amount{font-size:12px;color:#35474d}
.row-arrow{font-size:17px;color:#9ba7a2}
.empty-state{padding:36px 18px 22px}
.empty-state h3{font-size:16px}
.empty-state p{font-size:12px;max-width:360px}
.outline-button{border-radius:10px;font-size:12px;padding:11px 15px}
.intention-panel{min-height:unset;margin-top:16px;padding:15px 18px;background:#fff0bd;border:0;border-radius:16px;display:flex;align-items:center;gap:12px;color:#67562e}
.intention-panel:before{content:"✳";display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:11px;background:rgba(255,255,255,.65);color:#d29d16;font-size:17px}
.intention-panel b{font-size:13px;color:#6f5720}
.intention-panel span{font-size:12px;color:#806b39}
.footer-note{font-size:10px}
@media(min-width:761px){.page-heading>.primary-button{display:flex}.view#view-overzicht{max-width:940px}.page-heading{margin-bottom:24px}.portfolio-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 body{background:#fff9ef;padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .main-area{padding:0 18px 20px}
 .topbar{margin:0 -18px;padding:0 18px;background:rgba(255,249,239,.94);border-color:#efe7d9;height:62px}
 .mobile-brand{font-size:18px}
 .mobile-brand .brand-mark{border-color:#f1a18d;color:#ed725b}
 .mobile-add{width:42px;height:42px;background:#ef705b;font-size:25px;box-shadow:0 5px 13px rgba(239,112,91,.22)}
 .view{padding-top:22px}
 .page-heading{display:block;margin-bottom:19px}
 .page-heading .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:8px}
 .page-heading h1{font-size:35px;line-height:1.08;letter-spacing:-.055em}
 .page-heading p{font-size:14px;line-height:1.45;max-width:unset;margin-top:8px;color:#728188}
 .page-heading>.primary-button{display:flex;width:100%;justify-content:center;min-height:52px;margin-top:16px;font-size:14px;border-radius:14px}
 .demo-banner{border-radius:14px;margin-bottom:17px;padding:12px;background:#e8f4ed;border-color:#d5eade}
 .demo-banner b{font-size:12px}.demo-banner span:not(.demo-icon){font-size:10px}
 .portfolio-cards{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}
 .portfolio-card{min-height:122px;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;padding:14px;border-radius:17px;column-gap:5px}
 .portfolio-icon{grid-column:1/-1;grid-row:1;width:31px;height:31px;border-radius:10px;font-size:15px;margin-bottom:8px}
 .portfolio-copy{grid-column:1;grid-row:2}
 .portfolio-copy b{font-size:13px}
 .portfolio-copy small{font-size:9px;line-height:1.3;max-width:90px}
 .portfolio-count{grid-column:2;grid-row:2/4;align-self:center;font-size:36px}
 .portfolio-count-label{right:auto;left:14px;bottom:13px;font-size:9px}
 .activity-panel{padding:18px 16px 10px;border-radius:18px}
 .panel-heading{align-items:center}
 .panel-heading h2{font-size:19px;margin-top:5px}
 .section-kicker{font-size:9px}
 .text-button{font-size:11px}
 .activity-list{margin-top:9px}
 .activity-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:14px 0}
 .activity-row>.asset-badge{width:39px;height:39px;border-radius:13px}
 .asset-title{font-size:13px}
 .asset-subtitle{font-size:10px;line-height:1.35}
 .activity-reason{font-size:11px;line-height:1.42;margin-top:6px;-webkit-line-clamp:2}
 .activity-trailing{gap:3px}.row-amount{font-size:10px}.row-arrow{display:none}
 .side-badge{font-size:9px;padding:4px 7px}
 .empty-state{padding:29px 9px 19px}
 .empty-state h3{font-size:15px}.empty-state p{font-size:11px}
 .intention-panel{margin-top:12px;padding:13px 14px;gap:10px;align-items:flex-start}
 .intention-panel:before{width:30px;height:30px;flex-basis:30px}
 .intention-panel b{font-size:12px;display:block;margin:1px 0 3px}
 .intention-panel span{font-size:11px;line-height:1.4}
 .footer-note{line-height:1.5;padding:15px 1px;font-size:9px}
 .mobile-nav{background:rgba(255,254,250,.97);border-color:#eee8dc;min-height:66px;padding-top:9px}
 .mobile-nav button{font-size:9px;gap:4px}.mobile-nav button span{font-size:19px}
 .mobile-nav button.active{color:#eb7059}
}
@media(max-width:380px){.main-area{padding-left:14px;padding-right:14px}.topbar{margin:0 -14px;padding:0 14px}.portfolio-card{padding:12px}.portfolio-count{font-size:32px}.activity-panel{padding-left:13px;padding-right:13px}.activity-row{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.activity-row>.asset-badge{width:35px;height:35px}.activity-title-line{gap:6px}.row-amount{font-size:9px}}

/* Portfolio positions and long-term thesis */
.portfolio-card{width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.portfolio-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(51,70,65,.1)}
.portfolio-count-label i{font-style:normal;font-size:14px;margin-left:3px}
.position-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.position-data-note{font-size:11px;color:#89938d}
.position-summary{display:flex;align-items:baseline;gap:12px;padding:16px 19px;margin-bottom:14px;background:#fff0bd;border-radius:15px;color:#695826}
.position-summary strong{font-size:17px}.position-summary span{font-size:12px;color:#806b39}.position-summary i{font-style:normal;padding:0 4px;color:#c39a2c}
.positions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.position-card{background:#fffefa;border:1px solid #eee8dc;border-radius:18px;padding:19px;min-width:0}
.position-card.position-crypto{background:#fbfffd}
.position-card-head{display:flex;align-items:center;gap:11px}
.position-symbol{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:#ffe4d9;color:#dd6551;font-weight:800;font-size:12px}
.position-crypto .position-symbol{background:#d9f2ed;color:#168b82}
.position-identity{min-width:0}.position-identity b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#273941}.position-identity small{display:block;margin-top:4px;font-size:10px;color:#82908f}.position-identity i{font-style:normal;padding:0 2px}
.position-date{margin-left:auto;align-self:flex-start;font-size:9px;color:#909b95;white-space:nowrap}
.position-quantity{display:flex;align-items:baseline;gap:8px;margin:19px 0 15px}.position-quantity strong{font:700 31px/1 "Avenir Next",Avenir,Inter,sans-serif;letter-spacing:-.055em;color:#20323a}.position-quantity span{font-size:12px;font-weight:600;color:#728188}
.position-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 0;border-top:1px solid #f0ece4;border-bottom:1px solid #f0ece4}
.position-metrics small{display:block;min-height:27px;font-size:9px;line-height:1.35;color:#8a9690}.position-metrics b{display:block;margin-top:3px;font-size:12px;color:#35484c}
.position-meta{padding:11px 0 1px;font-size:10px;color:#82908b}.position-meta i{font-style:normal;padding:0 4px;color:#c0c8c0}
.position-warning{font-size:11px;line-height:1.45;color:#b45d44;background:#fff0e9;border-radius:9px;padding:9px 11px;margin:10px 0 0}
.thesis-block{margin-top:12px;padding:12px 13px;background:#f6f4ee;border-radius:12px}
.thesis-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.thesis-heading>span{font-size:8px;font-weight:800;letter-spacing:.12em;color:#8b9185}.thesis-heading .text-button{font-size:10px;color:#e76f59;white-space:nowrap}
.thesis-block p{font-size:11px;line-height:1.5;color:#4e5f60;margin:7px 0 0}.thesis-placeholder{color:#8f9892}
.position-empty{margin-top:8px;background:#fffefa;border:1px solid #eee8dc;border-radius:18px}
.thesis-modal{width:min(540px,calc(100vw - 28px));padding:0}.thesis-modal form{padding:22px 24px}.thesis-modal .modal-head{margin-bottom:18px}.thesis-modal .modal-head p{font-size:11px;color:#8a9690;margin:5px 0 0}.thesis-label{display:block;font-size:11px;font-weight:700;color:#596762;margin:0 0 7px}.thesis-modal textarea{display:block;width:100%;min-height:135px;border:1px solid #e2e7df;border-radius:10px;padding:12px;font:13px/1.5 Inter,"Avenir Next",Avenir,sans-serif;color:#30434a;resize:vertical;outline:none}.thesis-modal textarea:focus{border-color:#63b8a9;box-shadow:0 0 0 3px rgba(99,184,169,.14)}
.side-start{background:#fff4cf;color:#9a7418}
@media(max-width:760px){
 .positions-grid{grid-template-columns:1fr;gap:11px}
 .position-toolbar{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:12px}
 .position-toolbar .filter-tabs{width:100%}.position-toolbar .filter-tab{font-size:11px}
 .position-data-note{font-size:10px}
 .position-summary{padding:13px 15px;gap:8px;flex-wrap:wrap;border-radius:13px}
 .position-summary strong{font-size:15px}.position-summary span{font-size:10px}
 .position-card{padding:16px;border-radius:17px}
 .position-symbol{width:39px;height:39px;flex-basis:39px}
 .position-identity b{font-size:13px}.position-date{font-size:8px}
 .position-quantity{margin:16px 0 13px}.position-quantity strong{font-size:29px}.position-quantity span{font-size:11px}
 .position-metrics{gap:8px;padding:11px 0}.position-metrics small{font-size:9px;min-height:25px}.position-metrics b{font-size:11px}
 .position-meta{font-size:10px}
 .thesis-block{padding:11px 12px}.thesis-block p{font-size:11px}
 .compact-heading:has(#add-start-position){display:flex;flex-direction:column;align-items:stretch;gap:13px}
 .compact-heading:has(#add-start-position)>.primary-button{display:flex;width:100%;justify-content:center;min-height:48px;margin:0;font-size:12px;border-radius:13px}
 .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:4px;padding-right:4px}
 .mobile-nav button{font-size:8px;gap:3px;white-space:nowrap}
 .mobile-nav button span{font-size:18px}
 .thesis-modal form{padding:18px 16px}
}
.position-baseline-note{margin:0 0 15px;padding:13px 16px;border:1px solid #f0e0b5;border-radius:13px;background:#fff9e8;color:#7c6a3e;font-size:11px;line-height:1.5}.position-baseline-note b{color:#66501e;margin-right:3px}
@media(max-width:760px){.position-baseline-note{font-size:10px;padding:11px 12px;margin-bottom:12px}.mobile-nav button{font-size:7.5px}}
.stock-allocation{padding:21px 23px 17px;margin:0 0 15px;border-radius:17px;background:linear-gradient(135deg,#fff 0%,#fffdfa 100%);border-color:#eee8dc}
.allocation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.allocation-heading h2{margin:5px 0 0;font:650 19px/1.2 "Avenir Next",Avenir,Inter,sans-serif;letter-spacing:-.04em;color:#20323a}.allocation-heading p{font-size:11px;color:#86918e;margin:6px 0 0}.allocation-currency{display:flex;align-items:center;gap:8px;color:#86918e;font-size:10px;white-space:nowrap}.allocation-currency select{border:1px solid #e5e9e3;background:#fff;border-radius:9px;padding:8px 10px;color:#35484c;font:600 11px Inter,"Avenir Next",Avenir,sans-serif}.allocation-body{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(240px,1.15fr);align-items:center;gap:28px;margin:18px 0 14px}.allocation-chart-wrap{display:grid;place-items:center}.allocation-chart{width:min(220px,55vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;filter:drop-shadow(0 8px 13px rgba(36,53,52,.08))}.allocation-chart:before{content:"";position:absolute;inset:15%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #f0f0e9}.allocation-chart-center{position:relative;display:flex;align-items:center;flex-direction:column;text-align:center;padding:0 12px}.allocation-chart-center small{font-size:8px;letter-spacing:.11em;font-weight:800;color:#99a09a}.allocation-chart-center strong{font-size:18px;letter-spacing:-.04em;color:#263a40;margin:5px 0}.allocation-chart-center span{font-size:10px;color:#8b9690}.allocation-legend{display:grid;gap:0}.allocation-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f1ed}.allocation-row:last-child{border-bottom:0}.allocation-dot{width:10px;height:10px;border-radius:3px;background:var(--slice)}.allocation-name{min-width:0}.allocation-name b,.allocation-amount b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#34464a}.allocation-name small,.allocation-amount small{display:block;margin-top:3px;font-size:9px;color:#929b95}.allocation-amount{text-align:right}.allocation-amount small{font-weight:700;color:#647b6b}.allocation-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #eff0eb;color:#85908c;font-size:9px}.allocation-signal{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border-radius:8px;background:#e9f6ef;color:#3e7957}.allocation-signal.signal-warm{background:#fff1d4;color:#936e22}.allocation-signal b{font-weight:800}.allocation-caveat,.allocation-empty{font-size:10px;line-height:1.5;color:#909a94;margin:10px 0 0}.allocation-empty{padding:18px 0 3px}
@media(max-width:760px){.stock-allocation{padding:17px 15px 14px;margin-bottom:12px;border-radius:16px}.allocation-heading h2{font-size:17px}.allocation-heading p{font-size:10px;max-width:210px}.allocation-currency{display:grid;gap:4px;font-size:9px}.allocation-currency select{padding:8px 9px}.allocation-body{grid-template-columns:1fr;gap:13px;margin:14px 0 10px}.allocation-chart{width:min(190px,53vw)}.allocation-chart-center strong{font-size:17px}.allocation-legend{gap:0}.allocation-row{padding:9px 0}.allocation-foot{align-items:flex-start;flex-direction:column;gap:7px}.allocation-caveat{font-size:9px}}
.investment-history{padding:21px 23px 17px;margin:0 0 15px;border-radius:17px;background:#fff;border-color:#e8ebe7;overflow:hidden}.history-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0 6px}.history-totals>div{display:grid;grid-template-columns:10px 1fr;column-gap:7px;align-items:center;padding:10px 11px;background:#f8f9f6;border:1px solid #edf0ea;border-radius:10px}.history-legend-dot{width:9px;height:9px;border-radius:50%;background:var(--slice);grid-row:span 2}.history-totals small{font-size:9px;color:#87928c}.history-totals b{font-size:12px;color:#30434a;margin-top:3px}.history-chart-wrap{width:100%;overflow:hidden}.history-chart{display:block;width:100%;height:auto;min-height:170px;overflow:visible}.history-gridline{stroke:#e9ede7;stroke-width:1;stroke-dasharray:3 4}.history-axis-label{fill:#8c9791;font:10px Inter,"Avenir Next",Avenir,sans-serif}.history-line{vector-effect:non-scaling-stroke}.history-line-total{stroke-dasharray:0}.history-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #eff1ec;padding-top:10px;color:#89948e;font-size:9px}.investment-history .allocation-caveat{margin-top:8px}
@media(max-width:760px){.investment-history{padding:17px 15px 14px;margin-bottom:12px;border-radius:16px}.history-totals{gap:6px;margin:13px 0 4px}.history-totals>div{grid-template-columns:8px 1fr;column-gap:5px;padding:8px 6px;border-radius:8px}.history-legend-dot{width:7px;height:7px}.history-totals small{font-size:8px}.history-totals b{font-size:10px;letter-spacing:-.02em}.history-chart{min-height:135px}.history-axis-label{font-size:9px}.history-foot{font-size:8px;line-height:1.4;flex-direction:column;gap:3px}}
.overview-positions{padding:20px 22px;margin:0 0 12px;min-height:0;border-radius:18px}
.overview-positions .panel-heading h2{font-size:17px}
.overview-position-list{margin-top:11px}
.overview-position-row{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:11px 0;background:transparent;border:0;border-top:1px solid #f0ece4;text-align:left;font:inherit;cursor:pointer}
.overview-position-row:hover .overview-position-name b{color:#e76f59}
.overview-position-symbol{width:35px;height:35px;border-radius:12px;background:#fff0e8;color:#df6b54;display:grid;place-items:center;font-size:10px;font-weight:800}
.overview-position-name{min-width:0}.overview-position-name b,.overview-position-quantity b{display:block;font-size:11px;color:#304248;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-position-name small,.overview-position-quantity small{display:block;margin-top:4px;font-size:9px;color:#87918b}.overview-position-quantity{text-align:right}.overview-position-quantity b{font-size:10px}.overview-position-row>.row-arrow{font-size:16px}
.overview-position-empty{padding:13px 0 4px;font-size:11px;color:#89938d;line-height:1.5}
.month-activity{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 4px;margin:0 0 15px;color:#778681;font-size:10px}.month-label{font-size:8px;font-weight:800;letter-spacing:.13em;color:#929d94;margin-right:3px}.month-activity strong{font-size:10px;color:#52655b}.month-activity i{font-style:normal;color:#c5c9bf}
@media(max-width:760px){.overview-positions{padding:17px 15px 10px;margin-bottom:9px}.overview-positions .panel-heading h2{font-size:16px}.overview-position-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:12px 0}.overview-position-symbol{width:32px;height:32px;border-radius:11px;font-size:9px}.overview-position-name b{font-size:11px}.overview-position-name small{font-size:9px}.overview-position-quantity b{font-size:9px}.overview-position-quantity small{font-size:8px}.overview-position-row>.row-arrow{display:none}.month-activity{min-height:38px;margin-bottom:10px;gap:6px;flex-wrap:wrap}.month-label{font-size:7.5px}.month-activity strong,.month-activity>span:last-child{font-size:9px}}
.form-grid .field-hint{font-size:9px;font-weight:400;line-height:1.4;color:#89948e;margin-top:-2px}

/* Daily market data cards and valuation details */
.market-overview{padding:22px 24px;margin:14px 0 18px;background:linear-gradient(140deg,#fff 0%,#fff9ef 100%);border-color:#f0e6d8}
.market-overview-head,.market-overview-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.market-overview-head h2{margin:5px 0 3px;font-size:21px}.market-overview-head p{margin:0;color:#8a9690;font-size:12px}
.market-refresh{border:1px solid #e7e9e4;border-radius:11px;background:#fff;padding:10px 12px;color:#3e5e49;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.market-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:17px 0 12px}
.market-kpi{min-width:0;padding:13px 14px;background:#fff;border:1px solid #edf0e9;border-radius:12px;display:flex;flex-direction:column;gap:5px}
.market-kpi small{font-size:9px;letter-spacing:.1em;color:#8c9991;font-weight:700}.market-kpi strong{font-size:19px;letter-spacing:-.04em;color:#24343c;overflow-wrap:anywhere}.market-kpi span{font-size:10px;color:#89958e}.market-kpi span i{font-style:normal;padding:0 3px;color:#c2c8c1}.market-kpi.market-primary{background:#274b3c;border-color:#274b3c}.market-kpi.market-primary small,.market-kpi.market-primary span{color:#d7e4d9}.market-kpi.market-primary strong{color:#fff}
.positive{color:#24835d!important}.negative{color:#d45b50!important}.market-overview-foot{padding-top:10px;border-top:1px solid #ecefe8;color:#89948d;font-size:10px;flex-wrap:wrap}.market-caveat{color:#ad7444}.market-method{display:block;margin-top:8px;color:#a2aaa4;font-size:9px;line-height:1.45}
.market-status-bar{margin:10px 0 14px;color:#839087;font-size:11px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.position-market-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-3px;padding:0 0 11px;border-bottom:1px solid #edf0ea;color:#89958e;font-size:10px}.position-market-meta .text-button{font-size:10px;white-space:nowrap}
.price-provider-link{margin:8px 0 14px}.price-provider-link a{color:#3d7150;font-weight:650;font-size:13px}.api-key-label{display:block;margin:0 0 6px;font-size:11px;color:#697970;font-weight:650}.api-key-row{display:flex;gap:8px}.api-key-row input{min-width:0;flex:1;border:1px solid #dce3db;border-radius:10px;padding:11px 12px;font:inherit;font-size:13px}.settings-help{display:block;margin-top:8px;color:#8c9790;font-size:10px;line-height:1.5}.price-setting-status{min-height:18px;margin-top:7px;color:#50745c;font-size:11px}
@media(max-width:760px){.market-overview{padding:16px 14px;margin:10px 0 13px;border-radius:15px}.market-overview-head h2{font-size:17px}.market-overview-head p{font-size:10px}.market-refresh{padding:8px 9px;font-size:10px}.market-refresh span{display:none}.market-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 9px}.market-kpi{padding:10px 9px;border-radius:10px;gap:4px}.market-kpi strong{font-size:17px}.market-kpi small{font-size:8px}.market-kpi span{font-size:9px;line-height:1.4}.market-overview-foot{font-size:9px;line-height:1.45;flex-direction:column;gap:5px}.market-method{font-size:8px}.market-status-bar{font-size:9px}.position-market-meta{font-size:9px}.position-market-meta .text-button{font-size:9px}.api-key-row{flex-direction:column}.api-key-row .outline-button{width:100%}}
.market-invested-note{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #edf0e9;color:#31443c}.market-invested-note b{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:#7b8980}
@media(max-width:760px){.market-invested-note{padding:6px 8px}}
