*{box-sizing:border-box}:root{--bg:#f3f7f4;--panel:#fff;--ink:#173126;--muted:#66766e;--line:#dbe6df;--green:#dff3e5;--green2:#bfe8ca;--yellow:#fff2a8;--accent:#1e6a47;--accent2:#194f38;--red:#a2382d}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}.appbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(12px,3vw,32px);background:#173a2d;color:#fff;box-shadow:0 2px 12px #0002}.brand{display:flex;gap:10px;align-items:center}.logo{width:42px;height:42px}.brand h1{font-size:20px;margin:0}.sub{font-size:12px;opacity:.75}.topActions{display:flex;gap:8px;align-items:center}.pill{font-size:11px;border-radius:999px;padding:6px 9px;background:#ffffff18}.pill.online{background:#c9efd7;color:#103d26}.pill.offline{background:#fee2df;color:#6d211b}
main{max-width:1400px;margin:auto;padding:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px #1935270c}
.tabs{display:flex;gap:6px;padding:7px;margin-bottom:10px}.tab{flex:1;background:transparent;color:var(--muted);border:1px solid transparent}.tab.active{background:#e4f0e8;color:var(--accent2);border-color:#cbded2}.badge{display:inline-block;min-width:20px;padding:2px 6px;border-radius:999px;background:#173a2d;color:#fff;font-size:10px;margin-left:5px}.tabPage{display:none}.tabPage.active{display:block}
.controls{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto auto auto;gap:10px;align-items:end;padding:12px}.field label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:5px}.field input,.field select,.search input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fbfdfb;color:var(--ink)}button{border:0;border-radius:9px;padding:10px 12px;cursor:pointer;font-weight:700}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}.secondary{background:#e5efe9;color:var(--accent2)}.ghost{background:transparent;color:inherit;border:1px solid var(--line)}.hidden{display:none!important}
.search{display:flex;gap:10px;padding:12px;margin-top:10px}.search input{flex:1}.legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 3px;font-size:12px;align-items:center}.dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.good{background:var(--green2)}.remarkable{background:var(--yellow)}.muted{color:var(--muted)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0 10px}.summary div{background:#eef4f0;padding:10px 13px;border-radius:10px}.summary strong{display:block;font-size:18px}.summary span{font-size:11px;color:var(--muted)}
.tableWrap{overflow:hidden}.row{display:grid;grid-template-columns:58px 38px minmax(155px,1.4fr) 100px minmax(125px,1fr) 100px 120px 160px;gap:8px;align-items:center;padding:9px 10px}.tableHead{background:#eaf1ed;font-size:11px;font-weight:800;color:#53675d;border-bottom:1px solid var(--line)}.stockRow{border-bottom:1px solid #edf2ef;min-height:68px}.stockRow:last-child{border-bottom:0}.stockRow.goodRow{background:var(--green)}.stockRow.remarkableRow{background:var(--yellow)}.asset{min-width:0}.asset strong{display:block;font-size:14px}.asset span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price,.potential,.projected{font-variant-numeric:tabular-nums}.signal{font-size:12px}.potential{font-weight:800}.actions{display:flex;gap:5px}.actions button{padding:7px 8px;background:#fff;border:1px solid #ccdcd2;color:var(--accent2)}.dragCol{display:flex;gap:2px;align-items:center}.dragHandle{padding:7px 5px;background:transparent;color:#7b8b83;cursor:grab;font-size:17px}.moveBtns{display:none;gap:1px}.moveBtns button{padding:3px 5px;background:#fff;border:1px solid #d7e3dc;font-size:9px}.reorderMode .moveBtns{display:flex;flex-direction:column}.reorderMode .dragHandle{color:var(--accent)}.stockRow.dragging{opacity:.45}.stockRow.dragover{outline:2px dashed var(--accent);outline-offset:-3px}
.testerIntro{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px}.testerIntro h2,.settingsCard h2{margin:0 0 5px;font-size:20px}.testerIntro p,.settingsCard p{margin:0;color:var(--muted);font-size:13px;max-width:850px}.introBtns{display:flex;gap:8px;flex-wrap:wrap}.testerForm{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;padding:14px;margin-top:10px}.formActions{display:flex;gap:8px;grid-column:1/-1}.portfolioSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.metric{padding:13px}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:20px;margin-top:3px}.positiveText{color:#14733d!important}.negativeText{color:var(--red)!important}.watchItems{display:grid;gap:12px}.watchCard{padding:15px}.watchTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.watchTitle h3{margin:0;font-size:18px}.watchTitle p{margin:2px 0 0;color:var(--muted);font-size:11px}.watchActions{display:flex;gap:6px;flex-wrap:wrap}.watchActions button{padding:7px 9px;background:#fff;border:1px solid var(--line);color:var(--accent2)}.watchMetrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.watchMetrics div{background:#f4f8f5;padding:9px;border-radius:9px;min-width:0}.watchMetrics span{display:block;font-size:10px;color:var(--muted)}.watchMetrics strong{display:block;margin-top:2px;font-size:14px;word-break:break-word}.chartBox{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.chartBox svg{width:100%;height:180px;display:block}.chartCaption{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.empty{text-align:center;padding:30px;color:var(--muted)}
.settingsCard{padding:18px;max-width:850px;margin:auto}.settingsCard .field{margin-top:16px}.settingActions{display:flex;gap:8px;margin-top:10px}.apiResult{margin-top:12px;padding:11px;border-radius:9px;background:#f4f8f5;color:var(--muted);font-size:12px}.settingsCard hr{border:0;border-top:1px solid var(--line);margin:20px 0}.settingsCard h3{margin:0 0 10px}.switchLine{display:flex;align-items:center;gap:10px;font-size:13px}.switchLine input{width:18px;height:18px}.small{font-size:11px!important;margin-top:10px!important}.status{text-align:center;padding:11px;color:var(--muted);font-size:12px}footer{max-width:1400px;margin:0 auto 30px;padding:0 16px;color:var(--muted);font-size:11px}
@media(max-width:900px){.controls{grid-template-columns:repeat(3,1fr)}.controls button{min-height:44px}.tableWrap{overflow-x:auto}.row{min-width:1000px}.testerForm{grid-template-columns:1fr 1fr}.portfolioSummary{grid-template-columns:1fr 1fr}.watchMetrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){main{padding:10px}.appbar{align-items:flex-start}.topActions{flex-direction:column;align-items:flex-end}.pill{font-size:9px}.controls{grid-template-columns:1fr 1fr}.field:nth-child(3){grid-column:1/-1}.search{flex-direction:column}.summary{grid-template-columns:1fr 1fr 1fr}.summary strong{font-size:14px}.legend{gap:8px}.sub{display:none}.tabs{overflow-x:auto}.tab{min-width:120px}.testerIntro{align-items:stretch;flex-direction:column}.introBtns button{flex:1}.testerForm{grid-template-columns:1fr}.portfolioSummary{grid-template-columns:1fr 1fr}.watchMetrics{grid-template-columns:1fr 1fr}.actions{min-width:160px}}
