:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:15px;color:#192638;background:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:not-allowed}input,select{min-width:0;border:1px solid #e0e5ee;background:#fff;color:#23334b;border-radius:11px;padding:12px 13px;outline:none;width:100%;transition:border .18s,box-shadow .18s}input:focus,select:focus{border-color:#55b8ad;box-shadow:0 0 0 3px #2fb29d1c}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.025em}h1{font-size:26px;margin:4px 0 0}h2{font-size:19px;margin:0}h3{font-size:16px;margin:0 0 8px}p{line-height:1.6;color:#68758a}.app-shell{display:flex;min-height:100vh}.sidebar{width:256px;flex-shrink:0;background:#101c2d;color:#b5c1d0;padding:27px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:#fff;padding:3px 11px 32px}.brand b{font-family:Manrope;white-space:nowrap;font-size:15px}.brand span{display:block;font-size:10px;color:#a6b8c8;margin-top:3px}.logo{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#42d5bd,#248c96);color:#092c33;font-weight:900;letter-spacing:-.08em;font-size:15px;flex-shrink:0}.logo.big{margin:0 auto;width:56px;height:56px;font-size:20px}.nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:14px;text-align:left;color:#aab9ca;padding:13px 15px;background:none;border:0;border-radius:10px;font-size:13px;font-weight:600}.nav-item:hover,.nav-item.active{background:#223549;color:#fff}.nav-item.active svg{color:#61dac8}.aside-footer{margin-top:auto;display:grid;gap:13px;padding:20px 11px;color:#91a3b4;font-size:11px}.connection{display:flex;gap:7px;align-items:center}.main-wrap{flex:1;min-width:0}.topbar{padding:33px 42px 25px;display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:10px;color:#8390a4;font-weight:800;letter-spacing:.13em}.top-actions{display:flex;align-items:center;gap:10px}.pill{font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e2e7ef;border-radius:40px;white-space:nowrap;color:#6d7889}.pill.cloud{background:#e9f8f3;color:#168671;border-color:#d5f2e7}.iconbutton{border:1px solid #e2e8ef;background:#fff;color:#748196;border-radius:10px;width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center}.iconbutton:hover{color:#182a3b}.iconbutton.tiny{width:30px;height:30px;border:none}.button{border:0;border-radius:11px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:12px;white-space:nowrap;line-height:1.15}.button.primary{color:#fff;background:#138b82;box-shadow:0 5px 15px #138b821e}.button.primary:hover{background:#11796f}.button.soft{background:#eef2f7;color:#31485f}.button.ghost{background:transparent;color:#5a6677}.button.linkish{background:transparent;color:#158e83}.button.wide{width:100%}.content{padding:0 42px 60px;max-width:1580px;margin:auto}.panel{background:#fff;border:1px solid #e7eaf0;border-radius:16px;box-shadow:0 4px 20px #1a2d4d06}.hero{background:#142338;border-radius:18px;padding:32px 36px;color:#fff;display:flex;justify-content:space-between;align-items:start;gap:20px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:330px;height:330px;right:-84px;top:-128px;background:radial-gradient(circle,#3c8b88 0,transparent 67%);opacity:.28}.hero-label{font-size:11px;color:#a8c0ca;font-weight:800;letter-spacing:.13em}.hero-value{font-family:Manrope,system-ui,sans-serif;font-size:clamp(32px,4vw,46px);font-weight:800;letter-spacing:-.05em;margin:14px 0 8px;font-variant-numeric:tabular-nums}.hero-foot{font-size:12px;color:#b0c5d2;line-height:1.5;max-width:460px}.hero-badge{position:relative;z-index:1;font-size:12px;display:flex;gap:9px;align-items:center;background:#ffffff16;padding:11px 14px;border:1px solid #ffffff24;border-radius:12px;color:#d2f2ed}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.metric{padding:21px}.metric-label{display:flex;gap:8px;align-items:center;font-weight:700;color:#68798a;font-size:12px}.metric-label svg{color:#58838f}.metric-value{font-size:clamp(18px,1.8vw,25px);font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.035em;margin:14px 0 4px;font-variant-numeric:tabular-nums}.metric p{font-size:11px;margin:0}.positive{color:#0e9b7f!important}.negative{color:#dc6570!important}.section-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:35px 0 17px}.section-header p{font-size:12px;margin:5px 0 0}.accounts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.account-card{padding:18px 18px 16px;min-height:161px}.account-top,.account-bottom{display:flex;justify-content:space-between;align-items:center;gap:4px}.account-icon{background:#e7f7f3;border-radius:10px;padding:9px;display:flex;color:#098f7d}.account-icon.invest{background:#edf0fb;color:#6070c5}.account-kind{font-size:10px;color:#8190a2;font-weight:700}.account-name{font-size:12px;color:#64758b;font-weight:600;margin:13px 0 4px;min-height:16px}.account-sum{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.account-bottom{font-size:10px;color:#9ba7b5;margin-top:14px}.valuation-link{border:0;background:transparent;color:#119084;font-weight:700;font-size:10px;display:flex;align-items:center;padding:0;white-space:nowrap}.movements-list{padding:5px 19px}.movement-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eef0f4}.movement-row:last-child{border:0}.movement-symbol{border-radius:12px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.movement-symbol.red{background:#fff0f2;color:#dc6570}.movement-symbol.green{background:#e7f8f2;color:#09987b}.movement-symbol.blue{background:#eaf0ff;color:#567ed8}.movement-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.movement-info b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-info span{font-size:11px;color:#97a1b1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-amount{font-weight:800;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.empty{min-height:172px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8997a8;text-align:center;gap:10px;padding:30px}.empty b{color:#34435a;font-size:13px}.empty p{font-size:12px;margin:0}.loading,.loading-screen{color:#63768a;display:flex;justify-content:center;align-items:center;gap:10px;padding:70px 0}.loading-screen{height:100vh}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:flex;align-items:start;gap:10px;padding:13px 16px;border-radius:12px;font-size:12px;line-height:1.65;margin-bottom:18px}.notice.warning{background:#fff8e8;color:#8f6c33;border:1px solid #f6e7c2}.notice.danger{background:#ffedf1;color:#9f3e56;border:1px solid #ffd2db;justify-content:space-between}.notice.success{background:#e9f8f2;color:#187a68;border:1px solid #d3eedf}.notice.soft-notice{background:#f1f5fa;color:#66758b;margin:12px 0}.plain{background:none;border:0;display:flex;padding:0}.welcome{max-width:580px;margin:35px auto;padding:40px;text-align:center}.welcome-icon{background:#dff8f0;color:#148f83;width:70px;height:70px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.welcome h2{font-size:23px}.welcome-total{font-size:36px;font-family:Manrope,sans-serif;font-weight:800;margin:22px 0}.welcome-total small{font-size:12px;color:#8391a1;display:block;font-weight:500;margin-top:5px}.fine{font-size:11px;color:#8a97a6;display:flex;justify-content:center;align-items:center;gap:7px;margin:18px 0 0}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:18px;margin-bottom:20px}.results-label{color:#8090a2;font-size:12px;margin:15px 0}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#0c1729a3;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.modal{width:min(100%,470px);max-height:95vh;overflow:auto;background:#fff;border-radius:20px;padding:26px;box-shadow:0 22px 60px #001a3150}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.stack{display:grid;gap:16px}.stack label,.import-panel label{display:grid;gap:7px;font-size:12px;color:#607085;font-weight:700}.tabs-small{display:grid;grid-template-columns:repeat(3,1fr);background:#f0f4f7;padding:4px;border-radius:11px;gap:4px}.tabs-small button{background:none;border:0;border-radius:8px;padding:10px 5px;color:#64758a;font-size:12px;font-weight:700}.tabs-small .selected{background:#fff;box-shadow:0 2px 6px #0919291a;color:#168c82}.modal p.subtle{margin:0;font-size:12px}.import-layout{display:grid;grid-template-columns:1fr;gap:18px;max-width:1040px}.import-panel,.preview,.tip{padding:26px}.import-panel>p,.tip p{font-size:13px}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.panel-heading svg{color:#168c82}.dropzone{display:flex!important;position:relative;border:2px dashed #bfcfd8;background:#f8fafc;border-radius:14px;padding:28px;align-items:center;justify-content:center;cursor:pointer;gap:9px!important;margin-top:18px;color:#168c82!important;text-align:center}.dropzone span{font-size:11px;color:#90a0b1;font-weight:400}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.preview{display:grid;gap:15px}.preview .section-header{margin:0}.preview-list{display:grid;max-height:620px;overflow-y:auto}.preview-item{padding:15px 0;border-bottom:1px solid #e9edf2;display:flex;justify-content:space-between;gap:12px}.preview-item.duplicate{opacity:.6}.preview-main{display:flex;flex-direction:column;gap:5px;min-width:0}.preview-main b{font-size:12px;white-space:normal}.preview-main span{font-size:11px;color:#7c8da1}.preview-main .alert-note{color:#b57c20}.preview-controls{display:flex;flex-direction:column;gap:5px;min-width:170px}.preview-controls select{font-size:11px;padding:8px}.subtle{color:#758599;font-size:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{padding:25px;display:flex;flex-direction:column;gap:13px;align-items:flex-start}.settings-card p{font-size:12px;margin:0}.detail-line{width:100%;display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e9edf2;font-size:12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#142437,#233c51)}.login-card{background:#fff;padding:42px;width:min(100%,440px);border-radius:23px;text-align:center}.login-card h1{margin:14px 0}.login-card p{font-size:13px}.login-card .stack{text-align:left;margin-top:25px}.error{color:#b83345;font-size:12px}.mobile-nav{display:none}@media(max-width:1100px){.sidebar{width:215px}.content{padding:0 25px 50px}.topbar{padding:25px 25px 20px}.accounts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{display:none}.topbar{padding:23px 18px 17px}.topbar h1{font-size:22px}.top-actions{gap:7px}.top-actions .pill{display:none}.top-actions .button{padding:11px}.top-actions .button span{display:none}.content{padding:0 14px 100px}.hero{padding:25px 22px}.hero-badge{display:none}.metrics{gap:10px;margin-top:10px}.metric{padding:17px 14px}.metric-value{font-size:21px}.accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-card{padding:15px;min-height:150px}.account-sum{font-size:18px;letter-spacing:-.04em}.section-header{margin:27px 0 13px}.section-header h2{font-size:17px}.section-header p{font-size:11px}.button.soft{padding:9px 11px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e7eaf0;z-index:50;padding:9px 10px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{background:none;border:0;display:flex;flex-direction:column;gap:4px;align-items:center;color:#9aa7b8;font-size:10px;padding:7px 9px}.mobile-nav button.active{color:#0e9688;font-weight:700}.filters{display:grid;grid-template-columns:1fr 1fr;padding:12px;gap:8px}.filters input{grid-column:span 2}.filters select{font-size:11px;padding:10px}.modal{padding:22px 18px}.preview-item{display:block}.preview-controls{flex-direction:row;margin-top:10px}.preview-controls>*{flex:1;min-width:0}.settings-grid{grid-template-columns:1fr}.movement-row{gap:8px}.movement-amount,.movement-info{font-size:11px}.movement-info span{font-size:10px}.welcome{padding:30px 18px;margin:20px auto}}@media(max-width:380px){.account-sum{font-size:16px}.metric-value{font-size:18px}.section-header .button{font-size:10px;padding:9px}.hero-value{font-size:31px}}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.value-history{margin-top:14px;font-size:12px;color:#56677b}.value-history summary{cursor:pointer;font-weight:600}.restore-preview{border:1px solid #d4e1e8;border-radius:12px;padding:16px;width:100%}.restore-preview p{margin:8px 0}.account-card h3{margin:12px 0}.modal{max-height:90vh;overflow:auto}.settings-card input[type=file]{max-width:100%}.mobile-nav button{min-width:0}.account-card p{font-size:12px}.account-card .button{margin-top:10px}@media(max-width:760px){.accounts-grid{grid-template-columns:1fr}.section-header{gap:12px;flex-wrap:wrap}.inline-actions{width:100%}.mobile-nav button{padding:7px 5px;font-size:9px}.hero-value{overflow-wrap:anywhere}}.data-path{display:block;overflow-wrap:anywhere;white-space:normal;font-size:12px;max-width:100%}.durable-gate{width:min(100%,780px);text-align:left}.durable-status{font-size:12px}.copy-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0}.durable-gate .settings-card{margin-top:20px}.durable-gate>.button{margin:8px 0}.new-book-confirm{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:15px 0}.new-book-confirm input{width:auto;margin-top:4px}
