:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif}body{margin:0}#root{min-height:100vh}:root{--bg:#0f1419;--card:#1a2029;--border:#2a3240;--text:#e6e9ef;--muted:#8a94a6;--accent:#4a9eff;--pos:#4ade80;--neg:#f87171}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif}.app{max-width:1200px;margin:0 auto;padding:24px}.app-header h1{margin:0 0 4px;font-size:1.6rem}.app-header p{color:var(--muted);margin:0 0 20px}.app-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.user-info{flex-shrink:0;align-items:center;gap:12px;padding-top:4px;display:flex}.user-info span{color:var(--muted);font-size:.85rem}.sign-out-btn{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px;font-size:.8rem;transition:color .15s,border-color .15s}.sign-out-btn:hover{color:var(--neg);border-color:var(--neg)}h2,h3,h4{margin-top:0}.tx-form{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:16px}.tx-form h2{margin-bottom:12px;font-size:1.1rem}.tx-form .grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.tx-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.tx-form input,.tx-form select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:6px 8px;font-size:.9rem}.tx-form input:disabled{opacity:.7}.auto-settle{align-items:center;gap:4px;margin-top:4px;font-size:.75rem;display:flex}.tx-form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;margin-top:12px;padding:8px 20px;font-weight:600}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.tabs button{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;margin-right:6px;padding:6px 14px}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.account-filter{color:var(--muted);font-size:.9rem}.account-filter select{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:4px;margin-left:6px;padding:4px 8px}.tx-table,.holdings{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:8px;width:100%;font-size:.9rem;overflow:hidden}.tx-table th,.tx-table td,.holdings th,.holdings td{text-align:right;border-bottom:1px solid var(--border);padding:8px 10px}.tx-table th,.holdings th{background:var(--bg);color:var(--muted);font-weight:600}.tx-table th:nth-child(-n+4),.tx-table td:nth-child(-n+4),.holdings th:first-child,.holdings td:first-child{text-align:left}.buy{color:var(--pos)}.sell{color:var(--neg)}.del{color:var(--neg);border:1px solid var(--neg);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:.8rem}.summaries{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;display:grid}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px}.summary-card h3{color:var(--accent);margin-bottom:12px;font-size:1.1rem}.summary-card h4{color:var(--muted);margin:16px 0 8px;font-size:.95rem}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.summary-grid>div{background:var(--bg);border-radius:4px;justify-content:space-between;padding:6px 10px;display:flex}.summary-grid span{color:var(--muted);font-size:.85rem}.summary-grid b{font-weight:600}.pos{color:var(--pos)}.neg{color:var(--neg)}.empty{text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--border);border-radius:8px;padding:24px}.empty.small{padding:10px}.auth-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:32px}.auth-card h1{text-align:center;margin:0 0 4px;font-size:1.4rem}.auth-subtitle{text-align:center;color:var(--muted);margin:0 0 24px;font-size:.9rem}.auth-tabs{gap:4px;margin-bottom:20px;display:flex}.auth-tabs button{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:8px;font-size:.9rem;transition:all .15s}.auth-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.google-btn{color:#333;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px;font-size:.95rem;font-weight:500;transition:background .15s;display:flex}.google-btn:hover{background:#f0f0f0}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.auth-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:8px 10px;font-size:.9rem}.auth-form input:focus{border-color:var(--accent);outline:none}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;padding:10px;font-size:.95rem;font-weight:600;transition:opacity .15s}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{border:1px solid var(--neg);color:var(--neg);background:#f871711a;border-radius:4px;padding:8px 12px;font-size:.85rem}.auth-message{border:1px solid var(--pos);color:var(--pos);background:#4ade801a;border-radius:4px;padding:8px 12px;font-size:.85rem}.auth-link{width:100%;color:var(--accent);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:14px;padding:0;font-size:.85rem;display:block}.auth-link:hover{text-decoration:underline}.mypage-section{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:20px}.mypage-section h2{margin:0 0 14px;font-size:1.1rem}.mypage-info-grid{flex-direction:column;gap:8px;display:flex}.mypage-info-row{background:var(--bg);border-radius:4px;justify-content:space-between;padding:8px 12px;font-size:.9rem;display:flex}.mypage-label{color:var(--muted)}.mypage-muted{color:var(--muted);margin:0;font-size:.85rem}.mypage-form{flex-direction:column;gap:12px;max-width:400px;display:flex}.mypage-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.mypage-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:8px 10px;font-size:.9rem}.mypage-form input:focus{border-color:var(--accent);outline:none}.mypage-btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;width:fit-content;padding:8px 20px;font-size:.9rem;font-weight:600}.mypage-btn:disabled{opacity:.6;cursor:not-allowed}.mypage-btn.danger{color:var(--neg);border:1px solid var(--neg);background:0 0}.mypage-btn.danger:hover:not(:disabled){background:var(--neg);color:#fff}.mypage-danger{border-color:#f871714d}.mypage-delete-confirm{margin-top:12px}.mypage-delete-confirm p{color:var(--neg);margin:0 0 12px;font-size:.9rem}.mypage-delete-actions{gap:8px;display:flex}.account-manager{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.account-manager h2{margin:0 0 14px;font-size:1.1rem}.account-add-form{gap:8px;margin-bottom:16px;display:flex}.account-add-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;flex:1;padding:8px 10px;font-size:.9rem}.account-add-form input:focus{border-color:var(--accent);outline:none}.account-add-form button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:4px;padding:8px 16px;font-size:.9rem;font-weight:600}.account-add-form button:disabled{opacity:.6;cursor:not-allowed}.account-empty{color:var(--muted);margin:0;font-size:.9rem}.account-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.account-list li{background:var(--bg);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.9rem;display:flex}.symbol-search{position:relative}.symbol-search input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;padding:6px 8px;font-size:.9rem}.symbol-search input:focus{border-color:var(--accent);outline:none}.symbol-dropdown{z-index:100;background:var(--card);border:1px solid var(--border);border-radius:4px;max-height:240px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0006}.symbol-dropdown li{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 10px;font-size:.85rem;display:flex}.symbol-dropdown li:last-child{border-bottom:none}.symbol-dropdown li:hover{background:var(--bg)}.symbol-name{color:var(--text)}.symbol-meta{align-items:center;gap:8px;display:flex}.symbol-code{color:var(--muted);font-size:.8rem}.symbol-market{color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:1px 6px;font-size:.75rem}
