*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.visible{visibility:visible}.absolute{position:absolute}.table{display:table}.grid{display:grid}.rounded{border-radius:.25rem}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;font-family:Inter,Noto Sans JP,system-ui,sans-serif;--ink:#14221d;--green:#176b4d;--green-dark:#0f4e38;--mint:#eaf5ef;--cream:#f7f5ef;--line:#dce5df;--danger:#a33a3a}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,input[type=file],select{min-height:44px}button{cursor:pointer}.brand{color:var(--green-dark);font-size:1.35rem;font-weight:800;letter-spacing:.04em}.button{align-items:center;border:1px solid transparent;border-radius:10px;display:inline-flex;font-weight:700;justify-content:center;min-height:44px;padding:.7rem 1.1rem}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:white;border-color:var(--line);color:var(--ink)}.button:disabled{cursor:not-allowed;opacity:.5}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.eyebrow{color:var(--green);display:block;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:.45rem}.landing-page{min-height:100vh;background:radial-gradient(circle at 75% 25%,#d9eddf 0,transparent 30%),var(--cream)}.landing-nav{justify-content:space-between;margin:auto;max-width:1120px;padding:1.4rem 2rem}.landing-nav,.landing-nav div{align-items:center;display:flex}.landing-nav div{gap:1.2rem}.hero{margin:auto;max-width:1120px;padding:8rem 2rem}.hero h1{font-family:Georgia,Yu Mincho,serif;font-size:clamp(2.8rem,7vw,5.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:0 0 1.5rem;max-width:900px}.hero>p{color:#50615a;font-size:1.1rem;line-height:1.8;max-width:650px}.hero .button-row{margin-top:2rem}.hero .api-status{font-size:.78rem;margin-top:4rem}.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.auth-card{display:flex;flex-direction:column;gap:1rem;max-width:430px;width:100%}.auth-card h1{margin:.5rem 0}.auth-links{display:flex;justify-content:space-between;font-size:.9rem}.auth-links a{color:var(--green)}.panel{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px rgba(34,54,45,.04);padding:1.5rem}.app-header{align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:1rem max(1.25rem,calc((100vw - 1180px) / 2));position:sticky;top:0;z-index:20}.desktop-navigation{align-items:center;display:flex;gap:1.4rem}.desktop-navigation a,.nav-button{background:none;border:0;color:#53615b;font-size:.9rem;padding:0}.nav-button{min-height:auto}.mobile-navigation{display:none;position:relative}.menu-toggle{align-items:center;background:white;border:1px solid var(--line);border-radius:9px;color:var(--ink);display:inline-flex;font-size:1.4rem;justify-content:center;padding:.4rem;width:44px}.menu-toggle:focus-visible,.mobile-navigation-menu .nav-button:focus-visible,.mobile-navigation-menu a:focus-visible{outline:3px solid #b9ddc8;outline-offset:2px}.mobile-navigation-menu{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 35px rgba(20,34,29,.16);display:flex;flex-direction:column;min-width:min(280px,calc(100vw - 2rem));padding:.5rem;position:absolute;right:0;top:calc(100% + .5rem)}.mobile-navigation-menu .nav-button,.mobile-navigation-menu a{border:0;border-radius:8px;color:#3f5048;display:flex;font-size:1rem;justify-content:flex-start;min-height:44px;padding:.65rem .8rem;width:100%}.mobile-navigation-menu .nav-button:hover,.mobile-navigation-menu a:hover{background:var(--mint)}.page-shell{margin:auto;max-width:1180px;padding:2.5rem 1.25rem 5rem}.page-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:1.5rem}.page-heading h1{font-family:Georgia,Yu Mincho,serif;font-size:2.4rem;font-weight:500;margin:0}.section-heading{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.panel h2,.section-heading h2{margin:0}.section-heading a{color:var(--green);font-weight:700}.summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.summary-card{background:var(--green-dark);border-radius:16px;color:white;padding:1.5rem}.summary-card span{display:block;font-size:.85rem;opacity:.75}.summary-card strong{font-family:Georgia,serif;font-size:2.6rem;font-weight:500;margin-right:.3rem}.summary-card small{opacity:.8}.dashboard-kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:2rem}.dashboard-kpi-card{display:flex;flex-direction:column;min-width:0}.dashboard-kpi-card>span{color:#607069;font-size:.85rem;font-weight:700}.dashboard-kpi-card>strong{color:var(--green-dark);font-family:Georgia,Yu Mincho,serif;font-size:clamp(1.55rem,3vw,2rem);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.25;margin:.45rem 0 .65rem;overflow-wrap:anywhere}.dashboard-kpi-card>small{color:#718078;line-height:1.5;margin-top:auto}.empty-state{padding:5rem 1.5rem;text-align:center}.empty-state h1{font-family:Georgia,Yu Mincho,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;margin:.5rem 0}.empty-state p{color:#607069}.empty-state .button-row{justify-content:center;margin-top:1.5rem}.security-row{border-top:1px solid var(--line)}.security-row summary{align-items:center;cursor:pointer;display:grid;gap:1rem;grid-template-columns:90px 1fr 130px 80px;list-style:none;min-height:68px}.security-row summary::-webkit-details-marker{display:none}.security-row summary>span:last-child{color:#69756f;font-size:.85rem}.stock-code{color:var(--green);font-family:ui-monospace,monospace;font-weight:800}.stock-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown{background:var(--mint);border-radius:10px;margin-bottom:1rem;padding:.5rem 1rem}.breakdown div{display:flex;justify-content:space-between;padding:.55rem 0}.two-column{display:grid;gap:1.5rem;grid-template-columns:1.35fr .85fr}.form-stack{gap:1rem}.form-stack,label{display:flex;flex-direction:column}label{color:#46554f;font-size:.87rem;font-weight:700;gap:.4rem}input,select,textarea{background:white;border:1px solid #cbd7d0;border-radius:9px;color:var(--ink);padding:.7rem .8rem;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:3px solid #d6ecdf}.form-message{color:var(--green-dark);margin:0}.rebalancing-stack{display:grid;gap:1.25rem}.rebalancing-section{min-width:0}.rebalancing-section h2{margin-bottom:.35rem}.compact-field{min-width:min(240px,100%)}.selection-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:1rem 0 .75rem}.selection-actions{display:flex;flex-wrap:wrap;gap:.5rem}.compact-button{min-height:40px;padding:.55rem .85rem}.rebalancing-target-list{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.rebalancing-target-card{align-items:flex-start;border:1px solid var(--line);border-radius:12px;cursor:pointer;flex-direction:row;gap:.75rem;min-width:0;padding:1rem}.rebalancing-target-card:has(input:checked){background:var(--mint);border-color:var(--green)}.rebalancing-target-card.is-disabled{background:#f2f3f1;cursor:not-allowed;opacity:.78}.rebalancing-target-card>input{flex:0 0 auto;height:20px;margin:.15rem 0 0;width:20px}.rebalancing-target-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.rebalancing-target-main small,.rebalancing-target-main span,.rebalancing-target-main strong{overflow-wrap:anywhere}.rebalancing-target-main small,.rebalancing-target-main span{color:#718078;font-weight:500}.rebalancing-target-main small{font-size:.78rem}.rebalancing-target-card.is-disabled small{color:var(--danger);font-weight:700}.selection-count{color:var(--green-dark);font-weight:700;margin:0}.rebalancing-condition-stack{display:grid;gap:1rem;margin-top:1rem}.condition-block{border:1px solid var(--line);border-radius:12px;min-width:0;padding:1rem}.condition-block h3{font-size:1rem;margin:0 0 .75rem}.budget-block{background:#f5f8f6}.budget-block>div:first-child{margin-bottom:.75rem}.rebalancing-settings-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.rebalancing-budget-grid{gap:1rem}.rebalancing-budget-grid,.temporary-sensitivity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.temporary-sensitivity-fields{border:1px solid var(--line);border-radius:12px;gap:.75rem;margin:1rem 0;padding:1rem}.temporary-sensitivity-fields legend{font-weight:800;padding:0 .35rem}.allocation-list{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.allocation-row{border:1px solid var(--line);border-radius:12px;gap:.75rem;padding:.9rem}.allocation-row,.allocation-row>div{display:flex;flex-direction:column;min-width:0}.allocation-row>label{margin-top:auto}.allocation-row small,.allocation-row strong{overflow-wrap:anywhere}.allocation-row small{color:#718078;margin-top:.2rem}.allocation-summary{align-items:center;background:#f5f8f6;border:1px solid var(--line);border-radius:10px;display:flex;gap:.65rem;padding:.65rem .8rem}.allocation-summary p{margin:0}.allocation-section-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.allocation-heading-controls{align-items:center;display:flex;flex:0 0 auto;gap:.75rem}.allocation-valid{color:var(--green-dark);font-weight:700}.allocation-error{color:var(--danger);font-weight:700}.rebalancing-complete-row{align-items:center;display:flex;gap:1rem;margin-top:1rem}.simulation-result-section{display:grid;gap:1rem}.simulation-kpi-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.simulation-kpi-card{background:#f8faf9;border:1px solid var(--line);border-radius:12px;min-width:0;padding:.9rem}.simulation-kpi-card h3{font-size:.9rem;margin:0 0 .75rem}.simulation-kpi-comparison{align-items:center;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.simulation-kpi-comparison>div{display:flex;flex-direction:column;min-width:0}.simulation-kpi-comparison span,.simulation-kpi-details dt{color:#718078;font-size:.75rem}.simulation-kpi-comparison strong,.simulation-kpi-details dd{font-size:.92rem;overflow-wrap:anywhere}.simulation-kpi-arrow{font-size:1rem}.simulation-kpi-details{display:grid;gap:.45rem;margin:0}.simulation-kpi-details>div{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.simulation-kpi-details dd{font-weight:700;margin:0;text-align:right}.simulation-budget-status{border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem}.simulation-budget-status.is-normal{background:var(--mint);color:var(--green-dark)}.simulation-budget-status.is-within-tolerance{background:#fff7dc;border-color:#e6c96a;color:#725c12}.simulation-budget-status.is-over-limit{background:#fff0ef;border-color:#e2a09a;color:var(--danger)}.simulation-coverage-note{color:#718078;font-size:.82rem;margin:0}.simulation-trades-heading h3{margin:0 0 .25rem}.simulation-trade-header,.simulation-trade-row{display:grid;gap:.75rem;grid-template-columns:minmax(150px,1.5fr) minmax(64px,.55fr) minmax(125px,.9fr) repeat(4,minmax(64px,.6fr))}.simulation-trade-header{color:#718078;font-size:.72rem;font-weight:700;padding:0 .75rem}.simulation-trade-list{display:grid;gap:.75rem}.simulation-trade-row{align-items:center;border:1px solid var(--line);border-radius:12px;min-width:0;padding:.75rem}.simulation-trade-title{display:flex;flex-direction:column;min-width:0}.simulation-trade-title small,.simulation-trade-title strong{overflow-wrap:anywhere}.simulation-trade-title small{color:#718078;margin-top:.2rem}.trade-change{border-radius:100px;flex:0 0 auto;font-size:.82rem;font-weight:800;padding:.3rem .55rem}.trade-change.is-buy{background:var(--mint);color:var(--green-dark)}.trade-change.is-sell{background:#fff0ef;color:var(--danger)}.trade-change.is-none{background:#f0f2f1;color:#617068}.trade-change-field>div{align-items:center;display:flex;gap:.4rem;min-width:0}.trade-change-field input{min-width:0;padding:.55rem .6rem}.trade-cell-label{display:none}.trade-input-errors{color:var(--danger);font-size:.82rem;font-weight:700;grid-column:1/-1}.trade-input-errors p{margin:0}.simulation-trade-metric{display:flex;flex-direction:column;min-width:0}.simulation-trade-metric strong{font-size:.88rem;font-weight:700;overflow-wrap:anywhere}.simulation-heatmap-section{border-top:1px solid var(--line);display:grid;gap:1rem;margin-top:.5rem;padding-top:1.25rem}.simulation-heatmap-panel h4,.simulation-heatmap-panel h5,.simulation-heatmap-section h3{margin:0}.simulation-heatmap-panel{background:#f8faf9;border:1px solid var(--line);border-radius:12px;min-width:0;padding:1rem}.simulation-heatmap-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.simulation-heatmap-heading h4{font-size:1rem}.simulation-heatmap-comparison{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-heatmap-comparison>section{min-width:0}.simulation-heatmap-comparison h5{color:#607069;font-size:.78rem;margin-bottom:.4rem}.simulation-treemap{aspect-ratio:16/9;min-height:220px;overflow:hidden;position:relative;width:100%}.simulation-treemap-tile{border:2px solid #f8faf9;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;padding:clamp(.25rem,1vw,.65rem);position:absolute}.simulation-treemap-tile span,.simulation-treemap-tile strong{overflow:hidden;text-overflow:ellipsis}.simulation-treemap-tile strong{display:-webkit-box;font-size:clamp(.65rem,1.3vw,.86rem);line-height:1.25;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.simulation-treemap-tile span{font-size:clamp(.62rem,1.15vw,.76rem);font-weight:800;white-space:nowrap}.simulation-heatmap-empty{align-items:center;display:flex;justify-content:center;margin:0;min-height:220px;text-align:center}.simulation-dividend-comparison{display:grid;gap:.25rem 1rem;grid-template-columns:repeat(3,minmax(0,auto));margin:0}.simulation-dividend-comparison>div{display:flex;flex-direction:column;min-width:0}.simulation-dividend-comparison dt{color:#718078;font-size:.7rem}.simulation-dividend-comparison dd{font-size:.85rem;font-weight:800;margin:.1rem 0 0;overflow-wrap:anywhere}@media (min-width:761px) and (max-width:1100px){.allocation-list,.simulation-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-trade-list{grid-template-columns:1fr}}.account-card{align-items:center;border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:1fr auto auto;padding:1rem 0}.account-card div{display:flex;flex-direction:column;gap:.25rem}.badge{background:var(--mint);border-radius:100px;color:var(--green-dark);display:inline-flex;font-size:.72rem;font-weight:800;padding:.25rem .55rem;width:-moz-fit-content;width:fit-content}.text-danger{background:none;border:0;color:var(--danger)}.help,.muted{color:#718078}.help{font-size:.85rem;margin:0}.notice{background:#fff7dc;border-radius:8px;color:#725a08;padding:.8rem}.notice-link{color:var(--green);display:inline-flex;font-weight:700;margin-left:.5rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}.notice-link:hover{color:var(--green-dark)}.notice-link:focus-visible{border-radius:3px;outline:3px solid #b9ddc8;outline-offset:3px}.holding-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.holding-account-filter{margin:0 0 1rem auto;max-width:360px;position:relative;width:100%;z-index:10}.holding-account-filter summary{align-items:center;background:white;border:1px solid var(--line);border-radius:9px;cursor:pointer;display:flex;font-weight:700;justify-content:space-between;min-height:44px;padding:.55rem .75rem}.holding-account-filter summary span{color:#718078;font-size:.82rem}.holding-account-filter fieldset{background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(21,54,39,.14);display:grid;gap:.25rem;left:0;margin:.4rem 0 0;max-height:280px;overflow-y:auto;padding:.5rem;position:absolute;right:0}.holding-account-filter label{align-items:center;border-radius:7px;cursor:pointer;display:flex;flex-direction:row;gap:.65rem;min-height:44px;padding:.45rem .55rem}.holding-account-filter label:hover{background:var(--mint)}.holding-account-filter input{flex:0 0 auto;height:20px;width:20px}.dashboard-account-filter-actions{border-top:1px solid var(--line);display:flex;justify-content:flex-end;margin-top:.25rem;padding:.75rem .25rem .25rem}.dashboard-account-filter-actions .button{min-height:44px}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.heatmap-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.heatmap-panel{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:16px;min-width:0;padding:1.25rem}.heatmap-panel h3,.heatmap-panel p{margin-top:0}.dividend-coverage-button{background:transparent;border:0;color:var(--green-dark);cursor:pointer;display:block;font:inherit;font-size:.85rem;font-weight:700;margin:-.5rem 0 .5rem auto;padding:0 .15rem;text-align:right;text-decoration:underline;text-underline-offset:.18em}.dividend-coverage-button:hover{text-decoration-thickness:2px}.dividend-coverage-button:focus-visible{border-radius:4px;outline:3px solid var(--green);outline-offset:3px}.treemap{aspect-ratio:4/3;min-height:280px;position:relative;width:100%}.treemap-list{inset:0;position:absolute}.treemap-tile{border:2px solid white;overflow:hidden;position:absolute}.treemap-tile-button{align-items:stretch;background:inherit;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.18rem;height:100%;justify-content:center;line-height:1.25;overflow:hidden;padding:clamp(.35rem,1.2vw,.75rem);text-align:left;width:100%}.treemap-tile-button:focus-visible{box-shadow:inset 0 0 0 3px #172a21;outline:2px solid white;outline-offset:-4px}.treemap-tile-button span,.treemap-tile-button strong{overflow:hidden;text-overflow:ellipsis}.treemap-tile-button strong{display:-webkit-box;font-size:.9rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.treemap-tile-button span{font-size:.72rem;white-space:nowrap}.treemap-tile[data-size=small] .treemap-tile-button{align-items:center;padding:.25rem;text-align:center}.treemap-tile[data-size=small] .treemap-tile-button strong{font-size:.67rem;-webkit-line-clamp:2}.treemap-tile[data-size=small] .treemap-tile-allocation{font-size:clamp(.56rem,1.5vw,.68rem)}.treemap-tile[data-tone=strong-positive]{background:#176b4d;color:white}.treemap-tile[data-tone=positive]{background:#bfe3ce;color:#123c2d}.treemap-tile[data-tone=neutral],.treemap-tile[data-tone=unavailable]{background:#e8ece9;color:var(--ink)}.treemap-tile[data-tone=negative]{background:#f4cdcd;color:#6f2020}.treemap-tile[data-tone=strong-negative]{background:#963838;color:white}.treemap-tile[data-tone=yield-low]{background:#edf3ef;color:#29483a}.treemap-tile[data-tone=yield-medium]{background:#a9d8bd;color:#123c2d}.treemap-tile[data-tone=yield-high]{background:#176b4d;color:white}.treemap-tooltip{background:#172a21;border-radius:10px;box-shadow:0 10px 30px rgba(12,35,25,.28);color:white;display:none;left:50%;max-width:calc(100% - 1rem);padding:.85rem;pointer-events:none;position:absolute;top:.5rem;transform:translateX(-50%);width:300px;z-index:20}.treemap-details-heading{display:flex;flex-direction:column;margin-bottom:.65rem;min-width:0}.treemap-details-heading span,.treemap-details-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treemap-details-heading span{font-size:.8rem;opacity:.8}.treemap-details dl{display:grid;gap:.28rem;margin:0}.treemap-details dl>div{display:flex;gap:1rem;justify-content:space-between}.treemap-details dt{opacity:.75}.treemap-details dd{font-weight:700;margin:0;text-align:right;white-space:nowrap}.treemap-dialog-backdrop{align-items:center;background:rgba(12,25,19,.58);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:1rem;position:fixed;z-index:1000}.treemap-dialog{background:white;border-radius:14px;box-shadow:0 18px 60px rgba(12,35,25,.3);color:var(--ink);max-height:calc(100dvh - 2rem);max-width:100%;overflow-x:hidden;overflow-y:auto;padding:1.25rem;position:relative;width:390px}.treemap-dialog-close{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink);cursor:pointer;display:flex;font-size:1.5rem;height:2.25rem;justify-content:center;margin-left:auto;padding:0;width:2.25rem}.treemap-dialog-close:hover{background:#edf3ef}.treemap-dialog-close:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.dividend-ineligible-dialog{width:520px}.dividend-ineligible-dialog h2{font-size:1.25rem;margin:0 0 .5rem}.dividend-ineligible-list{display:grid;gap:.65rem;list-style:none;margin:1rem 0 0;padding:0}.dividend-ineligible-list li{border:1px solid var(--line);border-radius:10px;min-width:0;padding:.75rem}.dividend-ineligible-list li>div{display:flex;gap:.65rem;justify-content:space-between;min-width:0}.dividend-ineligible-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dividend-ineligible-list p,.dividend-ineligible-list span{color:#718078;font-size:.85rem}.dividend-ineligible-list p{margin:.35rem 0 0}@media (hover:hover) and (pointer:fine){.treemap-tooltip{display:block}}.holding-card{border:1px solid var(--line);border-radius:12px;padding:1rem}.holding-title{align-items:center;display:flex;gap:.75rem}.holding-card dl{margin:.8rem 0}.holding-card dl div{display:flex;justify-content:space-between;padding:.3rem 0}.holding-card dt{color:#718078;font-size:.8rem}.holding-card dd{margin:0;text-align:right}.card-actions{display:flex;gap:.5rem;justify-content:flex-end}.bulk-actions button,.card-actions button{background:white;border:1px solid var(--line);border-radius:8px;min-height:40px;padding:.4rem .75rem}.wide-form{margin-top:1.5rem}.registration-panel{max-width:900px}.security-lookup-control{align-items:stretch;display:flex;gap:.5rem}.security-lookup-field{display:flex;flex-direction:column;gap:.35rem}.security-lookup-control input{min-width:0}.security-lookup-control button{flex:0 0 auto}.security-lookup-result{background:var(--mint);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:.7rem .8rem}.security-lookup-result span{color:#718078;font-size:.75rem}.security-lookup-result strong{overflow-wrap:anywhere}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.modal-backdrop{align-items:center;background:rgba(14,31,24,.5);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.modal{display:flex;flex-direction:column;gap:1rem;max-width:470px;width:100%}.holding-edit-modal{max-height:calc(100vh - 2rem);max-width:720px;overflow-y:auto}.holding-edit-list{display:grid;gap:1rem}.holding-account-edit{border-top:1px solid var(--line);display:grid;gap:1rem;padding-top:1rem}.holding-account-edit h3{font-size:1rem;margin:0}.holding-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.holding-edit-actions{flex-wrap:wrap}.import-form{max-width:680px}.preview-stack{display:flex;flex-direction:column;gap:1.5rem}.count-grid{display:grid;gap:.7rem;grid-template-columns:repeat(6,1fr)}.count-grid div{background:var(--mint);border-radius:10px;padding:.8rem;text-align:center}.count-grid span{display:block;font-size:.7rem}.count-grid strong{font-size:1.5rem}.mapping-row{align-items:end;background:var(--mint);border-radius:10px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;padding:1rem}.diff-list{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.diff-card{border:1px solid var(--line);border-left:4px solid #9ca9a2;border-radius:10px;padding:.9rem}.diff-new{border-left-color:#27875f}.diff-update{border-left-color:#d39322}.diff-error{border-left-color:var(--danger)}.diff-title{align-items:center;display:flex;gap:.6rem;margin-bottom:.4rem}.diff-values{color:#59675f;display:flex;flex-direction:column;font-size:.82rem;margin-top:.5rem}.decision-row{align-items:center;border:0;border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:1fr auto auto;margin:0;padding:1rem 0}.decision-row legend{float:left;font-weight:700}.decision-row label{align-items:center;flex-direction:row;min-height:44px}.decision-row input{height:20px;width:20px}.bulk-actions{display:flex;gap:.5rem}.confirm-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between}.floating-message{background:var(--green-dark);border-radius:10px;bottom:1rem;color:white;left:50%;margin:0;max-width:calc(100% - 2rem);padding:.8rem 1rem;position:fixed;transform:translateX(-50%);z-index:40}.history-panel{margin-top:1.5rem}.history-list>div{align-items:center;border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:1fr auto 220px;padding:.8rem 0}.history-list small{color:#718078;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-panel{color:var(--danger)}.loading-state{align-items:center;color:#607069;display:flex;gap:.7rem;justify-content:center;min-height:160px;padding:2rem;text-align:center}.loading-spinner{animation:loading-spin .8s linear infinite;border-radius:50%;border:3px solid #cfe2d6;border-top:3px solid var(--green);height:24px;width:24px}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (max-width:760px){.landing-nav{padding:1rem}.landing-nav>div>a:first-child{display:none}.hero{padding:5rem 1.25rem}.hero h1{font-size:3rem}.app-header{align-items:center;flex-direction:row;padding:.8rem 1rem}.desktop-navigation{display:none}.mobile-navigation{display:block}input,select,textarea{font-size:16px}.page-shell{padding:1.5rem 1rem 4rem}.page-heading h1{font-size:2rem}.dashboard-kpi-grid,.summary-grid{grid-template-columns:1fr}.summary-card{align-items:baseline;display:grid;grid-template-columns:1fr auto auto}.security-row summary{grid-template-columns:70px 1fr;padding:.8rem 0}.two-column{grid-template-columns:1fr}.account-card{align-items:start;grid-template-columns:1fr auto}.account-card>button{grid-column:2}.allocation-list,.diff-list,.heatmap-grid,.holding-grid,.rebalancing-budget-grid,.rebalancing-settings-grid,.rebalancing-target-list,.temporary-sensitivity-fields{grid-template-columns:1fr}.holding-account-filter{margin-left:0;max-width:none}.holding-account-filter fieldset{box-shadow:none;position:static}.allocation-heading-controls,.allocation-section-heading,.selection-toolbar{align-items:stretch;flex-direction:column}.selection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.selection-actions .button{width:100%}.simulation-kpi-grid,.simulation-trade-list{grid-template-columns:1fr}.simulation-kpi-comparison{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.simulation-trade-header{display:none}.simulation-trade-row{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem}.simulation-trade-title,.trade-change-field,.trade-input-errors{grid-column:1/-1}.trade-change-field input{max-width:none}.trade-cell-label{color:#718078;display:block;font-size:.72rem;font-weight:700}.simulation-heatmap-comparison{grid-template-columns:1fr}.simulation-heatmap-heading{flex-direction:column}.simulation-dividend-comparison{grid-template-columns:1fr;width:100%}.allocation-summary,.rebalancing-complete-row{align-items:stretch;flex-direction:column}.rebalancing-complete-row .button{width:100%}.form-grid,.holding-edit-fields{grid-template-columns:1fr}.count-grid{grid-template-columns:repeat(3,1fr)}.mapping-row{align-items:stretch;grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.decision-row{align-items:start;grid-template-columns:1fr 1fr}.decision-row legend{grid-column:1/-1;width:100%}.confirm-panel{align-items:stretch;flex-direction:column}.confirm-panel .button{width:100%}.history-list>div{grid-template-columns:1fr auto}.history-list small{grid-column:1/-1}}