*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1f2d3d;background:#f5f7fa}button{padding:6px 14px;font-size:14px;cursor:pointer}.centered{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.loginLogo{height:56px}.page{min-height:100vh;display:flex;flex-direction:column}.topBar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid #dde3ea}.topLogo{height:32px}.appName{font-weight:700;font-size:18px}.spacer{flex:1}.user{color:#555;font-size:14px}.content{padding:24px}.notice{padding:16px;background:#fff4e5;border:1px solid #f0c36d;border-radius:4px}.muted{color:#666}h1{margin:0 0 16px;font-size:22px}h2{margin:0;font-size:18px}h3{margin:0 0 10px;font-size:16px}.small{font-size:12px}.perf{display:flex;flex-direction:column;gap:16px}.perfForm{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;background:#fff;border:1px solid #dde3ea;border-radius:6px}.perfForm label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#555}.perfForm label.check{flex-direction:row;align-items:center;gap:6px;font-size:14px;color:#1f2d3d;padding-bottom:6px}.perfForm select,.perfForm input[type=date]{padding:5px 6px;font-size:14px;border:1px solid #c8d1dc;border-radius:4px;background:#fff}button.primary{background:#1f5fa8;color:#fff;border:1px solid #1f5fa8;border-radius:4px}button.primary:disabled{opacity:.6;cursor:default}button.link{background:none;border:none;color:#1f5fa8;padding:0;text-decoration:underline}.notice ul{margin:6px 0 0;padding-left:20px}.reportHead{display:flex;justify-content:space-between;align-items:flex-end}.resultBlock{background:#fff;border:1px solid #dde3ea;border-radius:6px;padding:16px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.tile{border:1px solid #e3e8ee;border-radius:6px;padding:10px 12px}.tile.strong{background:#eef4fb;border-color:#c9dbf0}.tileLabel{font-size:12px;color:#666}.tileValue{font-size:20px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.tableWrap{overflow-x:auto}.perfTable{width:100%;border-collapse:collapse;font-size:13px}.perfTable th{text-align:left;font-weight:700;color:#555;border-bottom:2px solid #dde3ea;padding:6px 8px;white-space:nowrap}.perfTable td{padding:5px 8px;border-bottom:1px solid #eef1f5;white-space:nowrap}.perfTable .num{text-align:right;font-variant-numeric:tabular-nums}.perfTable .totalRow td{font-weight:700;background:#f8fafc}.perfTable .classRow td:nth-child(2){padding-left:22px;color:#444}.perfTable .cumRow td{font-weight:700;border-top:2px solid #dde3ea}.approx{color:#b06b00;cursor:help}.holdings{background:#fff;border:1px solid #dde3ea;border-radius:6px;padding:12px 16px}.holdings .tableWrap{margin-top:10px}.mainNav{display:flex;gap:4px;margin-left:16px}.mainNav a{padding:6px 12px;border-radius:4px;color:#1f2d3d;text-decoration:none;font-size:14px}.mainNav a:hover{background:#f0f3f7}.mainNav a.active{background:#e6eef8;color:#1f5fa8;font-weight:700}a{color:#1f5fa8}code,.mono{font-family:Consolas,Menlo,monospace;font-size:13px}.panel{background:#fff;border:1px solid #dde3ea;border-radius:6px;padding:14px 16px;margin-bottom:16px}.panelBar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.panelBar .spacer{flex:1}.search{padding:6px 8px;border:1px solid #c8d1dc;border-radius:4px;font-size:14px;width:260px;max-width:100%}.crumbs{font-size:13px;color:#666;margin-bottom:6px}.portHead{margin-bottom:12px}.portHead h1{margin-bottom:4px}.codeTag{font-size:14px;font-weight:400}.tabs{display:flex;gap:2px;border-bottom:1px solid #dde3ea;margin-bottom:16px}.tab{background:none;border:none;border-bottom:3px solid transparent;padding:8px 16px;font-size:14px;color:#555}.tab.active{border-bottom-color:#1f5fa8;color:#1f5fa8;font-weight:700}button.small{padding:3px 10px;font-size:13px}.check{display:flex;align-items:center;gap:6px}.badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:8px;background:#fff4e5;color:#8a5300;font-size:11px}.warnText{color:#b3261e}.okNote{padding:8px 12px;background:#eaf6ec;border:1px solid #b7dfbf;border-radius:4px;margin-bottom:10px}.perfTable td.wrap{white-space:normal;min-width:240px}.perfTable td.actions{width:1%;padding-left:12px}.priceLayout{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start}.dateList ul{list-style:none;margin:0;padding:0;max-height:70vh;overflow-y:auto}.dateItem{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;border-radius:4px;padding:6px 8px;text-align:left}.dateItem:hover{background:#f0f3f7}.dateItem.active{background:#e6eef8;color:#1f5fa8}.newDate{display:flex;flex-direction:column;gap:8px;padding:10px;margin-bottom:10px;background:#f8fafc;border:1px solid #e3e8ee;border-radius:4px}.newDate label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#555}.newDate input,.newDate select{padding:5px 6px;border:1px solid #c8d1dc;border-radius:4px;font-size:14px}.priceMain{min-width:0}.priceInput{width:110px;padding:3px 6px;text-align:right;border:1px solid #c8d1dc;border-radius:3px;font-size:13px;font-variant-numeric:tabular-nums}.priceInput:focus{outline:2px solid #9cc0ea;border-color:#1f5fa8}.missingRow td{background:#fdf0ef}.missingRow .priceInput{border-color:#e0a29d}.dirtyRow td{background:#fffbe6}.rebuild{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.rebuild>div:first-child{flex:1 1 320px}.rebuild label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#555}.rebuild select,.rebuild input{padding:5px 6px;border:1px solid #c8d1dc;border-radius:4px;font-size:14px}.rebuild .notice,.rebuild .okNote{flex-basis:100%;margin:0}.seg{display:inline-flex;border:1px solid #c8d1dc;border-radius:4px;overflow:hidden}.seg button{border:none;background:#fff;padding:5px 12px;font-size:13px}.seg button+button{border-left:1px solid #c8d1dc}.seg button.active{background:#1f5fa8;color:#fff}@media (max-width: 760px){.priceLayout{grid-template-columns:1fr}.dateList ul{max-height:200px}.mainNav{margin-left:0}.topBar{flex-wrap:wrap}}.priceTable td.secName{white-space:normal;min-width:220px}label.inline{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}.panelBar input[type=date],.panelBar select{padding:5px 6px;border:1px solid #c8d1dc;border-radius:4px;font-size:14px;background:#fff}.perfTable td.secName{white-space:normal;min-width:220px}.perfTable .groupRow td{font-weight:700;color:#1f5fa8;padding-top:14px;border-bottom:1px solid #dde3ea}.perfTable .subtotalRow td{font-weight:700;border-top:1px solid #c8d1dc}.perfTable td.neg{color:#b3261e}.listMeta{margin-bottom:6px}.codeChip{display:inline-block;min-width:24px;text-align:center;padding:0 5px;border-radius:3px;font-family:Consolas,Menlo,monospace;font-size:12px;background:#eef1f5;color:#444}.codeChip.c-by,.codeChip.c-pa{background:#e6eef8;color:#1f5fa8}.codeChip.c-sl,.codeChip.c-sa{background:#f3e8fb;color:#6a2c91}.codeChip.c-dv,.codeChip.c-in{background:#eaf6ec;color:#1e6b31}.codeChip.c-dp,.codeChip.c-wd{background:#fff4e5;color:#8a5300}.codeChip.c-fee{background:#fdf0ef;color:#b3261e}.pctInput{width:70px;text-align:right}.confirmBox{margin-top:12px;padding:12px 14px;background:#fdf0ef;border:1px solid #e0a29d;border-radius:4px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.confirmButtons{display:flex;gap:8px;margin-top:10px}.confirmBox .confirmButtons{margin-top:0}.confirmButtons button{min-width:70px;border-radius:4px}.missingBox{margin-top:12px;padding:12px 14px;background:#fffaf0;border:1px solid #f0c36d;border-radius:4px}.missingTable{max-height:360px;overflow-y:auto;background:#fff;border:1px solid #eef1f5}.okNote ul{margin:6px 0 0;padding-left:20px}.badge.axys{background:#e6eef8;color:#1f5fa8}.priceLayout.wide{grid-template-columns:290px 1fr}.dateRow{display:flex;align-items:center;gap:4px}.dateRow .dateItem{flex:1}.selectAll{padding:2px 0 6px;border-bottom:1px solid #eef1f5;margin-bottom:4px}.priceLayout.wide .dateList ul{max-height:52vh}.exportBar{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #dde3ea}.exportBar select,select.small{padding:5px 6px;border:1px solid #c8d1dc;border-radius:4px;font-size:13px;background:#fff}.dropZone{border:2px dashed #b9c6d6;border-radius:6px;padding:26px 18px;text-align:center;cursor:pointer;background:#f8fafc;display:flex;flex-direction:column;gap:6px}.dropZone:hover,.dropZone.over{border-color:#1f5fa8;background:#eef4fb}.importTable{max-height:340px;overflow-y:auto;margin:10px 0}.addPrice{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.addPrice input{padding:4px 6px;border:1px solid #c8d1dc;border-radius:3px;font-size:13px;width:130px}.addPrice input:first-of-type{width:100px}@media (max-width: 760px){.priceLayout.wide{grid-template-columns:1fr}}.settingsPanel{display:flex;flex-direction:column;gap:6px}.settingRow{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid #eef1f5;cursor:pointer}.settingRow:last-child{border-bottom:none}.settingRow input[type=checkbox]{margin-top:3px;width:16px;height:16px}.settingRow>div{display:flex;flex-direction:column;gap:4px}.yearInput{width:80px;padding:4px 6px;border:1px solid #c8d1dc;border-radius:4px;font-size:14px;text-align:center}.holidayTable{max-width:760px}.addPrice input.wideInput{width:280px}.addPrice input[type=date]{width:150px}.badge.carried{background:#eef1f5;color:#555}.perfTable .unsupRow td{color:#666}.dropZone.tall{padding:44px 18px}.importPanel .check{display:block;margin:10px 0 2px}.okNote a.gap{margin-left:10px}.okText{color:#1f7a35}.compareTable th.grp{text-align:center;border-left:1px solid #dde3ea}.compareTable td.diffCell{background:#fdecea;color:#a11;font-weight:700}button.small.active{background:#e6eef8;border-color:#1f5fa8;color:#1f5fa8}.navMenu{position:relative}.navTop{background:none;border:none;padding:6px 12px;border-radius:4px;color:#1f2d3d;font-size:14px;cursor:pointer;font-family:inherit}.navTop:hover,.navMenu.open .navTop{background:#f0f3f7}.navTop.active{background:#e6eef8;color:#1f5fa8;font-weight:700}.navTop .caret{font-size:10px;opacity:.7}.navList{position:absolute;top:100%;left:0;z-index:20;min-width:160px;padding:4px;background:#fff;border:1px solid #dde3ea;border-radius:6px;box-shadow:0 6px 18px #1428461f;display:flex;flex-direction:column;gap:2px}.mainNav .navList a{display:block;white-space:nowrap}
