:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18211f;background:#f6f7f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;overscroll-behavior:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4ed,#f8f7f1 48%,#eef2f7)}.login-panel{width:min(420px,100%);background:#fff;border:1px solid #dde4de;border-radius:8px;box-shadow:0 18px 60px #252d2b1f;padding:28px}.login-mark{width:58px;height:58px;display:grid;place-items:center;color:#fff;background:#2f6f5e;border-radius:8px;margin-bottom:16px}.login-panel h1,.screen-header h1{margin:0;font-size:24px;line-height:1.2}.login-panel p,.screen-header p{margin:8px 0 0;color:#65716d;font-size:14px}.login-panel input{width:100%;margin:22px 0 12px;height:44px;border:1px solid #cfd9d4;border-radius:6px;padding:0 12px}.login-panel button,.primary-button,.secondary-button,.danger-button{min-height:38px;border-radius:6px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.login-panel button,.primary-button{border:0;background:#2f6f5e;color:#fff}.secondary-button{border:1px solid #cfd9d4;background:#fff;color:#235b4c}.danger-button{border:0;background:#b93832;color:#fff}.secondary-button:disabled,.danger-button:disabled{cursor:progress;color:#71807b;background:#f4f6f4}.login-panel button{width:100%}.inline-error,.notice.error{color:#9f2d28;background:#fff1ef;border:1px solid #f0cbc8}.inline-error{padding:10px 12px;border-radius:6px;margin-bottom:12px;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid #dde4de;padding:18px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:8px 8px 18px;color:#2f6f5e}.brand div{display:grid;gap:2px}.brand strong{color:#18211f}.brand span{font-size:12px;color:#71807b}nav{display:grid;gap:4px}.nav-button,.ghost-button{border:0;background:transparent;color:#4d5a56;border-radius:6px;min-height:38px;padding:0 10px;display:inline-flex;align-items:center;gap:9px}.nav-button.active,.nav-button:hover,.ghost-button:hover{background:#edf4f1;color:#235b4c}.logout{margin-top:auto}.content{padding:28px;min-width:0}.screen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.notice{padding:12px 14px;background:#fff;border:1px solid #dde4de;border-radius:8px;margin-bottom:16px}.research-unavailable{display:grid;gap:4px;background:#f7f9f8;color:#4d5a56}.research-unavailable strong{color:#18211f}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.metric,.panel,.series-card,.settings-panel,.table-wrap{background:#fff;border:1px solid #dde4de;border-radius:8px}.metric{padding:16px;display:grid;gap:6px}.metric span{color:#65716d;font-size:13px}.metric strong{font-size:24px;line-height:1.15}.metric.accent{border-color:#a4c7ba;background:#f0f7f4}.dashboard-columns{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{padding:16px}.panel h2,.series-card h2,.modal h2{margin:0;font-size:16px}.list-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-bottom:1px solid #eef1ee}.list-row:last-child{border-bottom:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.search-box{width:min(420px,100%);height:38px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cfd9d4;border-radius:6px;padding:0 10px;color:#71807b}.search-box input{border:0;outline:0;width:100%}.segmented{display:inline-flex;background:#e9eeeb;padding:3px;border-radius:7px}.segmented button{border:0;background:transparent;border-radius:5px;min-height:30px;padding:0 12px;color:#4d5a56}.segmented .active{background:#fff;color:#1f5b4c;box-shadow:0 1px 3px #252d2b1f}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:860px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef1ee;white-space:nowrap}th{font-size:12px;color:#65716d;background:#f7f9f7}.name-cell{min-width:320px;white-space:normal}.name-cell small{display:block;margin-top:4px;color:#7c8984}td select,.field input,.field select,.field textarea{width:100%;border:1px solid #cfd9d4;border-radius:6px;background:#fff;min-height:36px;padding:0 10px}.field textarea{min-height:78px;padding:10px;resize:vertical}.profit{color:#1f6f51;font-weight:700}.loss{color:#a13c35;font-weight:700}.row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.row-actions button,.modal-head button{width:32px;height:32px;border:1px solid #d7dfda;border-radius:6px;background:#fff;color:#53625d;display:inline-grid;place-items:center}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.series-card{padding:14px}.series-card-head{display:grid;grid-template-columns:1fr auto;gap:8px}.series-card p{margin:6px 0 0;color:#65716d;font-size:13px}.progress{height:7px;background:#e9eeeb;border-radius:999px;overflow:hidden;margin:14px 0}.progress span{display:block;height:100%;background:#2f6f5e}.research-button{width:100%;margin-bottom:12px}.volume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px}.volume-grid button{aspect-ratio:1;border:1px solid #d4ddd8;border-radius:6px;background:#fff;color:#596863;display:grid;place-items:center;font-size:12px}.volume-grid .owned{background:#2f6f5e;border-color:#2f6f5e;color:#fff}.title-checklist{display:grid;gap:7px}.title-checklist label{min-height:34px;display:grid;grid-template-columns:22px 1fr;align-items:start;gap:8px;padding:7px 8px;border:1px solid #d7dfda;border-radius:6px;background:#fff;color:#4d5a56;font-size:13px;line-height:1.35}.title-checklist label.checked{border-color:#c4dbd2;background:#f2f8f5;color:#1f5b4c}.title-checklist input{width:18px;height:18px;margin:0;accent-color:#2f6f5e}.entry-lines{display:grid;gap:8px;color:#4d5a56;font-size:13px}.entry-lines p{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#151d1b6b;display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:8px;padding:18px;box-shadow:0 20px 70px #151d1b38}.research-modal{width:min(760px,100%)}.confirm-modal{width:min(440px,100%)}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head{margin-bottom:16px}.modal-actions{justify-content:flex-end;margin-top:16px}.confirm-message{margin:0;color:#4d5a56;line-height:1.6}.field{display:grid;gap:6px;margin-bottom:12px}.field span{font-size:12px;font-weight:700;color:#596863}.research-target,.setup-note,.candidate-card{border:1px solid #dde4de;border-radius:8px;background:#fbfcfb}.research-target{display:grid;gap:3px;padding:12px;margin-bottom:12px}.research-target span,.research-target small{color:#65716d;font-size:12px}.setup-note{padding:14px;color:#4d5a56}.setup-note strong{color:#18211f}.setup-note p,.research-summary,.candidate-card p{margin:7px 0 0;color:#596863;line-height:1.55}.candidate-list{display:grid;gap:10px}.candidate-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px}.candidate-card h3{margin:6px 0 0;font-size:17px}.confidence{display:inline-flex;align-items:center;height:22px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:800;text-transform:uppercase}.confidence.high{background:#e4f2ec;color:#1f6f51}.confidence.medium{background:#fff4d8;color:#78520a}.confidence.low{background:#f1f3f1;color:#53625d}.source-list{display:grid;gap:4px;margin-top:10px}.candidate-originals{margin-top:10px;padding:9px 10px;border:1px solid #dde4de;border-radius:6px;background:#fff}.candidate-originals strong{font-size:12px;color:#1f5b4c}.candidate-originals p{margin-top:5px;font-size:12px}.source-list a{color:#1f5b4c;font-size:12px;overflow-wrap:anywhere}.candidate-action{display:grid;justify-items:end;align-content:start;gap:10px;min-width:104px}.candidate-action strong{font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-panel{max-width:520px;padding:18px}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dde4de}nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:12px}.content{padding:18px}.dashboard-screen .screen-header{margin-bottom:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:86px;padding:12px;align-content:space-between}.metric span{font-size:12px}.metric strong{font-size:clamp(18px,5.2vw,22px);overflow-wrap:anywhere}.dashboard-columns{grid-template-columns:1fr;gap:10px;margin-top:12px}.dashboard-columns .panel{padding:12px}.dashboard-columns .list-row{grid-template-columns:minmax(0,1fr) auto;padding:9px 0;gap:8px;font-size:13px}.dashboard-columns .list-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar,.screen-header{align-items:stretch;flex-direction:column}.form-grid,.candidate-card{grid-template-columns:1fr}.candidate-action{grid-template-columns:1fr auto;justify-items:start;align-items:center}}@media(max-width:720px){.table-wrap{background:transparent;border:0;overflow:visible}table{min-width:0;border-collapse:separate;border-spacing:0 10px}thead{display:none}tbody,tr,td{display:block;width:100%}tr{background:#fff;border:1px solid #dde4de;border-radius:8px;padding:12px;box-shadow:0 1px 2px #252d2b0a}td{border-bottom:0;padding:7px 0;white-space:normal}td:not(.name-cell):not(.row-actions){display:grid;grid-template-columns:minmax(72px,.38fr) 1fr;align-items:center;gap:10px;font-size:14px}td:not(.name-cell):not(.row-actions):before{content:attr(data-label);color:#71807b;font-size:12px;font-weight:700}.name-cell{min-width:0;font-size:15px;font-weight:800;line-height:1.45;padding-bottom:10px;border-bottom:1px solid #eef1ee}.name-cell small{font-size:12px;font-weight:500;line-height:1.3}td select{min-height:40px}.row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;border-top:1px solid #eef1ee}.row-actions button{width:100%;height:38px}}
